From d2837633da48e3cc0530d718de5e0bbfcd4fcc34 Mon Sep 17 00:00:00 2001 From: quou Date: Mon, 30 Sep 2024 22:28:50 +1000 Subject: enemy invulnerable frames --- enemy.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'enemy.c') diff --git a/enemy.c b/enemy.c index bc0bbba..1c82e47 100644 --- a/enemy.c +++ b/enemy.c @@ -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; } } } -- cgit v1.2.3-54-g00ecf