From 0b98cad7268ae666d333a63b2e7f01ef3081a412 Mon Sep 17 00:00:00 2001 From: Linus Probert Date: Sat, 3 Mar 2018 00:54:50 +0100 Subject: [PATCH] Fix bug with player hit text and prevent fight pickups --- src/player.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/player.c b/src/player.c index c795ac7..cd3c2f5 100644 --- a/src/player.c +++ b/src/player.c @@ -78,12 +78,10 @@ player_gain_xp(Player *player, unsigned int xp_gain) } static void -player_step(Player *p) +action_spent(Player *p) { - p->total_steps++; p->steps++; - p->missText->pos = p->sprite->pos; - p->hitText->pos = p->sprite->pos; + p->total_steps++; for (size_t i = 0; i < PLAYER_SKILL_COUNT; ++i) { if (p->skills[i] != NULL && p->skills[i]->resetCountdown > 0) @@ -91,6 +89,14 @@ player_step(Player *p) } } +static void +player_step(Player *p) +{ + action_spent(p); + p->missText->pos = p->sprite->pos; + p->hitText->pos = p->sprite->pos; +} + static bool has_collided(Player *player, RoomMatrix *matrix) { @@ -129,14 +135,14 @@ has_collided(Player *player, RoomMatrix *matrix) player_monster_kill_check(player, space->monster); - player_step(player); + action_spent(player); } else if (collided) { mixer_play_effect(BONK); gui_log("Ouch! There is something in the way"); } - if (space->items != NULL) { + if (space->items != NULL && !collided) { LinkedList *items = space->items; while (items != NULL) { Item *item = items->data;