From 334616a609c4b0b1cb684630b9fd6221133add77 Mon Sep 17 00:00:00 2001 From: Hourier <66951241+Hourier@users.noreply.github.com> Date: Sat, 2 Oct 2021 22:48:33 +0900 Subject: [PATCH] [Refactor] #1717 Separated make_reward() from complete() --- src/dungeon/quest-completion-checker.cpp | 19 +++++++++++-------- src/dungeon/quest-completion-checker.h | 1 + 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/dungeon/quest-completion-checker.cpp b/src/dungeon/quest-completion-checker.cpp index 312b29f24..708258965 100644 --- a/src/dungeon/quest-completion-checker.cpp +++ b/src/dungeon/quest-completion-checker.cpp @@ -32,7 +32,6 @@ QuestCompletionChecker::QuestCompletionChecker(player_type *player_ptr, monster_ */ void QuestCompletionChecker::complete() { - auto *floor_ptr = this->player_ptr->current_floor_ptr; this->set_quest_idx(); auto create_stairs = false; auto reward = false; @@ -48,13 +47,7 @@ void QuestCompletionChecker::complete() return; } - object_type forge; - auto *o_ptr = &forge; - for (auto i = 0; i < (floor_ptr->dun_level / 15) + 1; i++) { - o_ptr->wipe(); - make_object(this->player_ptr, o_ptr, AM_GOOD | AM_GREAT); - (void)drop_near(this->player_ptr, o_ptr, -1, pos.y, pos.x); - } + this->make_reward(pos); } void QuestCompletionChecker::set_quest_idx() @@ -223,3 +216,13 @@ Pos2D QuestCompletionChecker::make_stairs(const bool create_stairs) set_bits(this->player_ptr->update, PU_FLOW); return Pos2D(y, x); } + +void QuestCompletionChecker::make_reward(const Pos2D pos) +{ + auto dun_level = this->player_ptr->current_floor_ptr->dun_level; + for (auto i = 0; i < (dun_level / 15) + 1; i++) { + object_type item; + make_object(this->player_ptr, &item, AM_GOOD | AM_GREAT); + (void)drop_near(this->player_ptr, &item, -1, pos.y, pos.x); + } +} diff --git a/src/dungeon/quest-completion-checker.h b/src/dungeon/quest-completion-checker.h index 169b178f1..35b642b36 100644 --- a/src/dungeon/quest-completion-checker.h +++ b/src/dungeon/quest-completion-checker.h @@ -24,4 +24,5 @@ private: void set_quest_idx(); std::tuple switch_completion(); Pos2D make_stairs(const bool create_stairs); + void make_reward(const Pos2D pos); }; -- 2.11.0