diff options
Diffstat (limited to 'enemy.c')
-rw-r--r-- | enemy.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -44,6 +44,7 @@ void init_enemy(Enemy* e, Enemy_Type t, int x, int y) { e->anim = asset_id_demon_idle_left_anm; e->face = face_left; e->state = enemy_state_patrol; + e->inv = 0; } void update_enemy_anim(Enemy* e) { @@ -82,6 +83,10 @@ void update_enemy_phys(Enemy* e, const Map* map) { void update_enemy_hurt(Enemy* e, const World* w) { Rect a; int i; + if (e->inv) { + e->inv--; + return; + } get_enemy_rect(e->t, &a); a.x += e->x >> fbits; a.y += e->y >> fbits; @@ -91,6 +96,7 @@ void update_enemy_hurt(Enemy* e, const World* w) { e->hp -= dz->hp; e->vx -= dz->vx; e->vy -= dz->vy; + e->inv = enemy_inv_frames; } } } |