149 |
class Coin : public Item { |
class Coin : public Item { |
150 |
CLONEOBJ(Coin); |
CLONEOBJ(Coin); |
151 |
public: |
public: |
152 |
Coin() : Item("it-coin") { set_attrib("value", 1.0); } |
Coin(int value=1) : Item("it-coin") { set_attrib("value", value); } |
153 |
private: |
private: |
154 |
void init_model() { set_model(get_inventory_model()); } |
void init_model() { set_model(get_inventory_model()); } |
155 |
|
|
186 |
return value; |
return value; |
187 |
} |
} |
188 |
}; |
}; |
|
|
|
|
// class Coin1 : public Coin { |
|
|
// public: |
|
|
// }; |
|
|
|
|
|
// class Coin2 : public Coin { |
|
|
// public: |
|
|
|
|
|
// }; |
|
|
// class Coin4 : public Coin { |
|
|
// public: |
|
|
|
|
|
// }; |
|
189 |
} |
} |
190 |
|
|
191 |
//---------------------------------------- |
//---------------------------------------- |
1202 |
{ |
{ |
1203 |
class Puller : public Item { |
class Puller : public Item { |
1204 |
public: |
public: |
1205 |
Puller() : Item ("it-puller"),active(false) { set_orientation(SOUTH); } |
Puller(Direction dir=SOUTH) : Item ("it-puller"),active(false) |
1206 |
|
{ set_orientation(dir); } |
1207 |
private: |
private: |
1208 |
bool active; |
bool active; |
1209 |
CLONEOBJ (Puller); |
CLONEOBJ (Puller); |
1253 |
class Crack : public Item { |
class Crack : public Item { |
1254 |
CLONEOBJ(Crack); |
CLONEOBJ(Crack); |
1255 |
public: |
public: |
1256 |
Crack() : Item("it-crack"),anim_end(false) {set_attrib("type", 0.0);} |
Crack() : Item("it-crack"),anim_end(false) |
1257 |
|
{ set_attrib("type", 0.0); |
1258 |
|
} |
1259 |
private: |
private: |
1260 |
bool anim_end; |
bool anim_end; |
1261 |
|
|
1265 |
if (int t=get_type()) { |
if (int t=get_type()) { |
1266 |
if( t > 3) |
if( t > 3) |
1267 |
set_anim("it-crack_anim1"); |
set_anim("it-crack_anim1"); |
1268 |
//SetItem(get_pos(), MakeItem("it-debris")); |
//SetItem(get_pos(), MakeItem("it-debris")); |
1269 |
else { |
else { |
1270 |
char modelname[20]; |
char modelname[20]; |
1271 |
sprintf(modelname, "it-crack%d", t); |
sprintf(modelname, "it-crack%d", t); |
1335 |
} |
} |
1336 |
} |
} |
1337 |
bool actor_hit(Actor *a) { |
bool actor_hit(Actor *a) { |
1338 |
if( anim_end) |
if (anim_end) |
1339 |
SendMessage(a, "fall"); |
SendMessage(a, "fall"); |
1340 |
return false; |
return false; |
1341 |
} |
} |
1342 |
void message(const string &msg, const Value &val) { |
void message(const string &msg, const Value &val) { |
1353 |
bool actor_hit(Actor *a) { SendMessage(a, "fall"); return false; } |
bool actor_hit(Actor *a) { SendMessage(a, "fall"); return false; } |
1354 |
void init_model() {set_anim("it-debris");} |
void init_model() {set_anim("it-debris");} |
1355 |
void animcb() { |
void animcb() { |
1356 |
GridPos p= get_pos(); |
GridPos p = get_pos(); |
1357 |
SetFloor(p, MakeFloor("fl-abyss")); |
SetFloor(p, MakeFloor("fl-abyss")); |
1358 |
KillItem(p); |
KillItem(p); |
1359 |
} |
} |
1388 |
}; |
}; |
1389 |
} |
} |
1390 |
|
|
1391 |
|
//---------------------------------------- |
1392 |
|
// Remaining items (still need to be implemented) |
1393 |
|
//---------------------------------------- |
1394 |
|
namespace |
1395 |
|
{ |
1396 |
|
class Rubberband : public Item { |
1397 |
|
SINGLETONOBJ(Rubberband); |
1398 |
|
public: |
1399 |
|
Rubberband() : Item ("it-rubberband") {} |
1400 |
|
}; |
1401 |
|
|
1402 |
|
} |
1403 |
|
|
1404 |
|
|
1405 |
void items::Init() |
void items::Init() |
1406 |
{ |
{ |
1410 |
Register(new WhiteBomb); |
Register(new WhiteBomb); |
1411 |
Register(new Brush); |
Register(new Brush); |
1412 |
Register(new Coin); |
Register(new Coin); |
1413 |
|
Register("it-coin1", new Coin); |
1414 |
|
Register("it-coin2", new Coin(2)); |
1415 |
|
Register("it-coin4", new Coin(4)); |
1416 |
Register(new Crack); |
Register(new Crack); |
1417 |
Register(new Debris); |
Register(new Debris); |
1418 |
Register(new Document); |
Register(new Document); |
1432 |
Register(new Magnet); |
Register(new Magnet); |
1433 |
Register(new Pipe); |
Register(new Pipe); |
1434 |
Register(new Puller); |
Register(new Puller); |
1435 |
|
Register("it-puller-n", new Puller(NORTH)); |
1436 |
|
Register("it-puller-e", new Puller(EAST)); |
1437 |
|
Register("it-puller-s", new Puller(SOUTH)); |
1438 |
|
Register("it-puller-w", new Puller(WEST)); |
1439 |
Register(new Seed); |
Register(new Seed); |
|
|
|
1440 |
Register(new ShogunDot); |
Register(new ShogunDot); |
1441 |
Register ("it-shogun-s", new ShogunDot(1)); |
Register ("it-shogun-s", new ShogunDot(1)); |
1442 |
Register ("it-shogun-m", new ShogunDot(2)); |
Register ("it-shogun-m", new ShogunDot(2)); |
1443 |
Register ("it-shogun-l", new ShogunDot(3)); |
Register ("it-shogun-l", new ShogunDot(3)); |
|
|
|
1444 |
Register(new Spade); |
Register(new Spade); |
1445 |
Register(new Spring1); |
Register(new Spring1); |
1446 |
Register(new Spring2); |
Register(new Spring2); |