diff options
Diffstat (limited to 'src/char')
-rw-r--r-- | src/char/enemy.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/char/enemy.c b/src/char/enemy.c index eeda38d..3f9f994 100644 --- a/src/char/enemy.c +++ b/src/char/enemy.c @@ -133,12 +133,12 @@ _mf_enemy_turn(struct mf_char *c) if (e->allies[i]->cur_x == c->cur_x + dx && e->allies[i]->cur_y == c->cur_y + dy) { /* Another enemy currently in this direction */ - return 0; + return _mf_enemy_step(c); } if (e->allies[i]->new_x == c->cur_x + dx && e->allies[i]->new_y == c->cur_y + dy) { /* Another enemy moving in this direction */ - return 0; + return _mf_enemy_step(c); } } @@ -240,3 +240,13 @@ mf_enemy_random_jump(struct mf_char *c, int maze_size) c->cur_x = rand() / (RAND_MAX / maze_size); c->cur_y = rand() / (RAND_MAX / maze_size); } + +int +mf_enemy_postupdate(struct mf_char *c) +{ + if (c->travel == 0 && c->turning == 0) { + return _mf_enemy_turn(c); + } else { + return 0; + } +} |