From da2ec32981fce3d20b646737641a4c4ab1a16927 Mon Sep 17 00:00:00 2001 From: Linus Probert Date: Thu, 1 Mar 2018 06:13:43 +0100 Subject: [PATCH] Removes some duplicate code in player.c --- src/player.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/player.c b/src/player.c index 8177006..ad74633 100644 --- a/src/player.c +++ b/src/player.c @@ -242,6 +242,16 @@ handle_movement_input(Player *player, RoomMatrix *matrix, SDL_Event *event) } } +static void +use_skill(Skill *skill, SkillData *skillData) +{ + skill->active = false; + skill->use(skill, skillData); + if (skill->actionRequired) + player_step(skillData->player); + skill->resetCountdown = skill->resetTime; +} + static void check_skill_activation(Player *player, RoomMatrix *matrix, SDL_Event *event) { @@ -274,11 +284,7 @@ check_skill_activation(Player *player, RoomMatrix *matrix, SDL_Event *event) skill->active = (selected - 1) == i && !skill->active && skill->resetCountdown == 0; if (skill->active && skill->instantUse) { SkillData skillData = { player, matrix, VECTOR2D_NODIR }; - skill->active = false; - skill->use(skill, &skillData); - if (skill->actionRequired) - player_step(player); - skill->resetCountdown = skill->resetTime; + use_skill(skill, &skillData); } } } @@ -310,11 +316,7 @@ check_skill_trigger(Player *player, RoomMatrix *matrix, SDL_Event *event) return false; SkillData skillData = { player, matrix, dir }; - player->skills[activeSkill]->use(player->skills[activeSkill], &skillData); - player->skills[activeSkill]->active = false; - if (player->skills[activeSkill]->actionRequired) - player_step(player); - player->skills[activeSkill]->resetCountdown = player->skills[activeSkill]->resetTime; + use_skill(player->skills[activeSkill], &skillData); return true; }