diff options
Diffstat (limited to 'src/q_shroom.cc')
-rw-r--r-- | src/q_shroom.cc | 52 |
1 files changed, 25 insertions, 27 deletions
diff --git a/src/q_shroom.cc b/src/q_shroom.cc index 627f2b39..10347512 100644 --- a/src/q_shroom.cc +++ b/src/q_shroom.cc @@ -18,8 +18,10 @@ #include "util.hpp" #include "variable.hpp" #include "z-rand.hpp" +#include "z-term.hpp" #include <cassert> +#include <fmt/format.h> #define cquest (quest[QUEST_SHROOM]) @@ -33,12 +35,11 @@ GENERATE_MONSTER_LOOKUP_FN(get_farmer_maggot, "Farmer Maggot") static bool quest_shroom_town_gen_hook(void *, void *in_, void *) { - struct hook_wild_gen_in *in = static_cast<struct hook_wild_gen_in *>(in_); + auto in = static_cast<struct hook_wild_gen_in const *>(in_); int m_idx, x = 1, y = 1, tries = 10000; - bool_ small = in->small; /* Generate the shrooms field */ - if ((!small) && (p_ptr->wilderness_y == 21) && (p_ptr->wilderness_x == 33)) + if ((!in->small) && (p_ptr->wilderness_y == 21) && (p_ptr->wilderness_x == 33)) { /* Create the field */ for (x = (cur_wid / 2) - 7; x <= (cur_wid / 2) + 7; x++) @@ -64,30 +65,30 @@ static bool quest_shroom_town_gen_hook(void *, void *in_, void *) /* Throw in some dogs ;) */ y = rand_range((cur_hgt / 2) - 5, (cur_hgt / 2) + 5); x = rand_range((cur_wid / 2) - 7, (cur_wid / 2) + 7); - m_allow_special[get_grip()] = TRUE; - m_idx = place_monster_one(y, x, get_grip(), 0, FALSE, MSTATUS_ENEMY); + m_allow_special[get_grip()] = true; + m_idx = place_monster_one(y, x, get_grip(), 0, false, MSTATUS_ENEMY); if (m_idx) m_list[m_idx].mflag |= MFLAG_QUEST; - m_allow_special[get_grip()] = FALSE; + m_allow_special[get_grip()] = false; y = rand_range((cur_hgt / 2) - 5, (cur_hgt / 2) + 5); x = rand_range((cur_wid / 2) - 7, (cur_wid / 2) + 7); - m_allow_special[get_wolf()] = TRUE; - m_idx = place_monster_one(y, x, get_wolf(), 0, FALSE, MSTATUS_ENEMY); + m_allow_special[get_wolf()] = true; + m_idx = place_monster_one(y, x, get_wolf(), 0, false, MSTATUS_ENEMY); if (m_idx) m_list[m_idx].mflag |= MFLAG_QUEST; - m_allow_special[get_wolf()] = FALSE; + m_allow_special[get_wolf()] = false; y = rand_range((cur_hgt / 2) - 5, (cur_hgt / 2) + 5); x = rand_range((cur_wid / 2) - 7, (cur_wid / 2) + 7); - m_allow_special[get_fang()] = TRUE; - m_idx = place_monster_one(y, x, get_fang(), 0, FALSE, MSTATUS_ENEMY); + m_allow_special[get_fang()] = true; + m_idx = place_monster_one(y, x, get_fang(), 0, false, MSTATUS_ENEMY); if (m_idx) m_list[m_idx].mflag |= MFLAG_QUEST; - m_allow_special[get_fang()] = FALSE; + m_allow_special[get_fang()] = false; msg_print("You hear frenzied barking."); } /* Generate maggot in town, in daylight */ - if ((bst(HOUR, turn) < 6) || (bst(HOUR, turn) >= 18) || (cquest.status > QUEST_STATUS_COMPLETED) || (small) || (p_ptr->town_num != 1)) + if ((bst(HOUR, turn) < 6) || (bst(HOUR, turn) >= 18) || (cquest.status > QUEST_STATUS_COMPLETED) || in->small || (p_ptr->town_num != 1)) { return false; } @@ -112,9 +113,9 @@ static bool quest_shroom_town_gen_hook(void *, void *in_, void *) } /* Place Farmer Maggot */ - m_allow_special[get_farmer_maggot()] = TRUE; - place_monster_one(y, x, get_farmer_maggot(), 0, FALSE, MSTATUS_ENEMY); - m_allow_special[get_farmer_maggot()] = FALSE; + m_allow_special[get_farmer_maggot()] = true; + place_monster_one(y, x, get_farmer_maggot(), 0, false, MSTATUS_ENEMY); + m_allow_special[get_farmer_maggot()] = false; return false; } @@ -172,7 +173,7 @@ static bool quest_shroom_give_hook(void *, void *in_, void *) del_hook_new(HOOK_GIVE, quest_shroom_give_hook); del_hook_new(HOOK_CHAT, quest_shroom_speak_hook); del_hook_new(HOOK_WILD_GEN, quest_shroom_town_gen_hook); - process_hooks_restart = TRUE; + process_hooks_restart = true; return true; } @@ -201,10 +202,10 @@ static bool quest_shroom_give_hook(void *, void *in_, void *) object_aware(q_ptr); object_known(q_ptr); q_ptr->discount = 100; - q_ptr->ident |= IDENT_STOREB; + if (inven_carry_okay(q_ptr)) { - inven_carry(q_ptr, FALSE); + inven_carry(q_ptr, false); } else { @@ -217,19 +218,16 @@ static bool quest_shroom_give_hook(void *, void *in_, void *) q_ptr->found = OBJ_FOUND_REWARD; q_ptr->number = 1; q_ptr->name1 = 149; - apply_magic(q_ptr, -1, TRUE, TRUE, TRUE); - object_aware(q_ptr); - object_known(q_ptr); + apply_magic(q_ptr, -1, true, true, true); q_ptr->discount = 100; - q_ptr->ident |= IDENT_STOREB; - inven_carry(q_ptr, FALSE); + inven_carry(q_ptr, false); delete_monster_idx(m_idx); cquest.status = QUEST_STATUS_FINISHED; del_hook_new(HOOK_GIVE, quest_shroom_give_hook); - process_hooks_restart = TRUE; + process_hooks_restart = true; } else { @@ -256,7 +254,7 @@ static void check_dogs_alive(s32b m_idx) del_hook_new(HOOK_MON_SPEAK, quest_shroom_speak_hook); del_hook_new(HOOK_CHAT, quest_shroom_chat_hook); del_hook_new(HOOK_WILD_GEN, quest_shroom_town_gen_hook); - process_hooks_restart = TRUE; + process_hooks_restart = true; } else { @@ -328,7 +326,7 @@ void quest_shroom_init_hook() cquest.data[1] = rand_range(7, 14); if (wizard) { - messages.add(format("Shrooms number %d", cquest.data[1]), TERM_BLUE); + messages.add(fmt::format("Shrooms number {}", cquest.data[1]), TERM_BLUE); } } |