/[enigma]/enigma/src/items.cc
ViewVC logotype

Diff of /enigma/src/items.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.81 by mhawlisch, Wed Aug 20 15:05:14 2003 UTC revision 1.82 by mhawlisch, Fri Sep 5 14:28:39 2003 UTC
# Line 2312  namespace Line 2312  namespace
2312  }  }
2313    
2314  //----------------------------------------  //----------------------------------------
2315    // Invisible Abyss
2316    //----------------------------------------
2317    namespace
2318    {
2319        class InvisibleAbyss : public Item {
2320            CLONEOBJ(InvisibleAbyss);
2321        public:
2322            InvisibleAbyss() : Item("it-abyss") {}
2323    
2324        private:
2325            bool actor_hit(Actor *a) {
2326                SendMessage(a, "fall");
2327                return false;
2328            }
2329    
2330            void init_model() { set_model("invisible"); }
2331    
2332        };
2333    }
2334    
2335    //----------------------------------------
2336    // Landmine
2337    //----------------------------------------
2338    namespace
2339    {
2340        class Landmine : public Item {
2341            CLONEOBJ(Landmine);
2342        public:
2343            Landmine() : Item("it-landmine") {}
2344    
2345        private:
2346    
2347            bool actor_hit(Actor *a) {
2348                const double ITEM_RADIUS = 0.3;
2349                px::V2 item_center(get_pos().x + 0.5, get_pos().y + 0.5);
2350                double dist = length(a->get_pos()-item_center);
2351                if (dist < ITEM_RADIUS) {
2352                    SetItem(get_pos(), MakeItem("it-explosion2"));
2353                }
2354                return false;
2355            }
2356    
2357            void on_stonehit(Stone */*st*/) {
2358                SetItem(get_pos(), MakeItem("it-explosion2"));
2359            }
2360    
2361        };
2362    }
2363    
2364    //----------------------------------------
2365  // Remaining items (still need to be implemented)  // Remaining items (still need to be implemented)
2366  //----------------------------------------  //----------------------------------------
2367  namespace  namespace
# Line 2370  void items::Init() Line 2420  void items::Init()
2420      Register(new Hill);      Register(new Hill);
2421      Register(new Hollow);      Register(new Hollow);
2422      Register(new InverseSensor);      Register(new InverseSensor);
2423        Register(new InvisibleAbyss);
2424      Register(new Key);      Register(new Key);
2425      Register(new Key_a);      Register(new Key_a);
2426      Register(new Key_b);      Register(new Key_b);
2427      Register(new Key_c);      Register(new Key_c);
2428        Register(new Landmine);
2429      Register(new MagicWand);      Register(new MagicWand);
2430      Register(new Magnet);      Register(new Magnet);
2431      Register(new Odometer);      Register(new Odometer);

Legend:
Removed from v.1.81  
changed lines
  Added in v.1.82

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26