94 |
, sunglas(false) |
, sunglas(false) |
95 |
{} |
{} |
96 |
private: |
private: |
|
bool sunglas; // seen through glasses |
|
|
|
|
97 |
SimpleStone(const SimpleStone& other) |
SimpleStone(const SimpleStone& other) |
98 |
: Stone(other.get_kind()) |
: Stone(other.get_kind()) |
99 |
, traits(other.traits) |
, traits(other.traits) |
134 |
} |
} |
135 |
|
|
136 |
const SimpleStoneTraits *traits; // owned by simple_stone_traits |
const SimpleStoneTraits *traits; // owned by simple_stone_traits |
137 |
|
bool sunglas; // seen through glasses |
138 |
}; |
}; |
139 |
} |
} |
140 |
|
|
376 |
void on_impulse(const Impulse& impulse); |
void on_impulse(const Impulse& impulse); |
377 |
bool is_removable() { return state == IDLE; } |
bool is_removable() { return state == IDLE; } |
378 |
void actor_hit(const StoneContact &sc); |
void actor_hit(const StoneContact &sc); |
379 |
|
void actor_inside(Actor *a) { SendMessage(a, "shatter"); } |
380 |
|
|
381 |
// TimeHandler interface |
// TimeHandler interface |
382 |
void alarm(); |
void alarm(); |
509 |
void floor_change() { |
void floor_change() { |
510 |
if (Floor *fl=GetFloor(get_pos())) { |
if (Floor *fl=GetFloor(get_pos())) { |
511 |
const string &k = fl->get_kind(); |
const string &k = fl->get_kind(); |
512 |
if (k=="fl-water" || k=="fl-abyss") { |
if (k=="fl-water" || k=="fl-abyss" || k == "fl-swamp") { |
513 |
display::AddEffect (get_center(), "ring-anim"); |
display::AddEffect (get_center(), "ring-anim"); |
514 |
KillStone(get_pos()); |
KillStone(get_pos()); |
515 |
} |
} |