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

Diff of /enigma/src/objects.cc

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

revision 1.116 by dheck, Mon Sep 8 08:44:04 2003 UTC revision 1.117 by dheck, Tue Sep 9 19:20:23 2003 UTC
# Line 338  namespace Line 338  namespace
338      public:      public:
339          Abyss() : Floor("fl-abyss", 2.0, 1) {}          Abyss() : Floor("fl-abyss", 2.0, 1) {}
340      private:      private:
341          void actor_enter(Actor* a) {SendMessage(a, "fall");}  //         void actor_enter(Actor* a) {SendMessage(a, "fall");}
342          void actor_contact (Actor* a) {SendMessage(a, "fall");}          void actor_contact (Actor* a) {SendMessage(a, "fall");}
343      };      };
344  }  }
# Line 353  namespace Line 353  namespace
353      public:      public:
354          Water() : Floor("fl-water", 5, 1) {}          Water() : Floor("fl-water", 5, 1) {}
355      private:      private:
356          void actor_enter(Actor *a) {SendMessage(a, "drown");}  //         void actor_enter(Actor *a) {SendMessage(a, "drown");}
357          void actor_contact(Actor *a) {SendMessage(a, "drown");}          void actor_contact(Actor *a) {SendMessage(a, "drown");}
358      };      };
359  }  }
# Line 368  namespace Line 368  namespace
368      public:      public:
369          Swamp() : Floor("fl-swamp", 13, 1.0) {}          Swamp() : Floor("fl-swamp", 13, 1.0) {}
370      private:      private:
371          void actor_enter(Actor *a) { SendMessage(a, "sink"); }  //         void actor_enter(Actor *a) { SendMessage(a, "sink"); }
372          void actor_contact(Actor *a) { SendMessage(a, "sink"); }          void actor_contact(Actor *a) { SendMessage(a, "sink"); }
373          void actor_leave(Actor *a) {          void actor_leave(Actor *a) {
374              Floor *new_floor = GetFloor(GridPos(a->get_pos()));              Floor *new_floor = GetFloor(GridPos(a->get_pos()));
# Line 555  namespace Line 555  namespace
555              return type[0];              return type[0];
556          }          }
557    
558          void actor_enter(Actor *);  //         void actor_enter(Actor *);
559          void actor_contact (Actor* a) {if (state!=CLOSED) SendMessage(a, "fall");}          void actor_contact (Actor* a) {if (state!=CLOSED) SendMessage(a, "fall");}
560          void message(const string &m, const Value &);          void message(const string &m, const Value &);
561          void init_model();          void init_model();
# Line 591  void Bridge::message(const string &m, co Line 591  void Bridge::message(const string &m, co
591          change_state(OPENING);          change_state(OPENING);
592      else if (m=="close")      else if (m=="close")
593          switch (state) {          switch (state) {
594              case OPEN:          case OPEN:
595              case OPENING:          case OPENING:
596              case CLOSING_BYSTONE:          case CLOSING_BYSTONE:
597                  change_state(CLOSING);              change_state(CLOSING);
598                  break;              break;
599              case CLOSED_BYSTONE:          case CLOSED_BYSTONE:
600                  change_state(CLOSED);              change_state(CLOSED);
601                  break;              break;
602              case CLOSED:          case CLOSED:
603              case CLOSING:          case CLOSING:
604                  break; // already closed              break; // already closed
605    
606          }          }
607      else if (m=="openclose" || m=="signal")      else if (m=="openclose" || m=="signal")
608          switch (state) {          switch (state) {
609              case OPEN:          case OPEN:
610              case OPENING:          case OPENING:
611              case CLOSING_BYSTONE:          case CLOSING_BYSTONE:
612                  change_state(CLOSING);              change_state(CLOSING);
613                  break;              break;
614              case CLOSED_BYSTONE:          case CLOSED_BYSTONE:
615                  change_state(CLOSED);              change_state(CLOSED);
616                  break;              break;
617              case CLOSED:          case CLOSED:
618              case CLOSING:          case CLOSING:
619                  change_state(OPENING);              change_state(OPENING);
620                  break;              break;
621          }          }
622  }  }
623    
624  void Bridge::actor_enter(Actor *a)  // void Bridge::actor_enter(Actor *a)
625  {  // {
626      if (state != CLOSED)  //     if (state != CLOSED)
627          SendMessage(a, "fall");  //         SendMessage(a, "fall");
628  }  // }
629    
630    
631  void Bridge::init_model()  void Bridge::init_model()

Legend:
Removed from v.1.116  
changed lines
  Added in v.1.117

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