agent::move_dir(): Disallow movement of dead agent

This commit is contained in:
Petr Baudis 2011-11-27 03:00:38 +01:00
parent 77e555706b
commit e27a9fe2aa

View file

@ -19,6 +19,9 @@ agent::put_at(class tile &t)
bool bool
agent::move_dir(int dir_x, int dir_y) agent::move_dir(int dir_x, int dir_y)
{ {
if (dead)
return false;
energy -= world::move_cost; energy -= world::move_cost;
class tile *t2 = &tile->tile_in_dir(dir_x, dir_y); class tile *t2 = &tile->tile_in_dir(dir_x, dir_y);
@ -33,6 +36,7 @@ agent::move_dir(int dir_x, int dir_y)
void void
agent::die(void) agent::die(void)
{ {
assert(!dead);
dead = true; dead = true;
energy = world::dead_body_energy; energy = world::dead_body_energy;
} }