/[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.15 by reallysoft, Fri Mar 28 14:52:15 2003 UTC revision 1.16 by mhawlisch, Wed Apr 2 09:16:46 2003 UTC
# Line 1125  namespace Line 1125  namespace
1125    
1126          void init_model() {          void init_model() {
1127              if (int t=get_type()) {              if (int t=get_type()) {
1128                  char modelname[20];                  if( t > 3)
1129                  sprintf(modelname, "it-crack%d", t);                      SetItem(get_pos(), MakeItem("it-debris"));
1130                  set_model(modelname);                  else {
1131                        char modelname[20];
1132                        sprintf(modelname, "it-crack%d", t);
1133                        set_model(modelname);
1134                    }
1135              }              }
1136              else              else
1137                  set_model("invisible");                  set_model("invisible");
1138          }          }
1139            void actor_enter(Actor *a) {
1140                SendMessage(this, "crack");
1141                Item *it;
1142                GridPos p;
1143        
1144                p = move(get_pos(),enigma::NORTH);
1145                it = GetItem(p);
1146                
1147                if( it)
1148                    SendMessage( it, "crack");
1149                else
1150                    SetItem(p, MakeItem("it-crack"));
1151        
1152                p = move(get_pos(),enigma::EAST);
1153                it = GetItem(p);
1154                if( it)
1155                    SendMessage( it, "crack");
1156                else
1157                    SetItem(p, MakeItem("it-crack"));
1158        
1159                p = move(get_pos(),enigma::SOUTH);
1160                it = GetItem(p);
1161                if( it)
1162                    SendMessage( it, "crack");
1163                else
1164                    SetItem(p, MakeItem("it-crack"));
1165        
1166                p = move(get_pos(),enigma::WEST);
1167                it = GetItem(p);
1168                if( it)
1169                    SendMessage( it, "crack");
1170                else
1171                    SetItem(p, MakeItem("it-crack"));
1172            }
1173          bool actor_hit(Actor *a) {          bool actor_hit(Actor *a) {
1174              return false;              return false;
1175          }          }
1176            void message(const string &msg, const Value &val) {
1177                if (msg == "crack") {
1178                    set_attrib("type", Value(int_attrib("type") + 1));
1179                    init_model();
1180                }
1181            }
1182      };      };
1183    
1184      class Debris : public Item {      class Debris : public Item {

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

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