aboutsummaryrefslogtreecommitdiff
path: root/player.c
diff options
context:
space:
mode:
authorquou <quou@disroot.org>2024-10-08 19:56:08 +1100
committerquou <quou@disroot.org>2024-10-08 19:56:08 +1100
commit9add408984464bd6b3cc018bb14c3d69ad0a2898 (patch)
treedde2af5525fd076d03c5c8e14067a4502aa1051e /player.c
parentb5c69695c9c97c09f7ffa4d5a600d88cc06ee6da (diff)
New flying enemy that drops arrows
Diffstat (limited to 'player.c')
-rw-r--r--player.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/player.c b/player.c
index 4a83a91..40ab92b 100644
--- a/player.c
+++ b/player.c
@@ -201,6 +201,19 @@ void update_player_hurt(Player* p, World* w) {
goto took_damage;
}
}
+ for (i = 0; i < w->projectile_count; i++) {
+ const Projectile* pr = &w->projectiles[i];
+ Rect r2;
+ r2.x = pr->x >> fbits;
+ r2.y = pr->y >> fbits;
+ r2.w = pr->r.w;
+ r2.h = pr->r.h;
+ if (rects_overlap(&r, &r2)) {
+ p->hp -= enemy_arrow_damage;
+ inst_effect(w, cx, cy, 0, 0, 32);
+ goto took_damage;
+ }
+ }
return;
took_damage:
p->inv = player_inv_frames;