diff options
Diffstat (limited to 'player.c')
-rw-r--r-- | player.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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; |