OSDN Git Service

[fix] モンスター召喚数の決定方法を修正
authorHabu <habu@users.sourceforge.jp>
Thu, 26 Nov 2020 15:15:02 +0000 (00:15 +0900)
committerHabu <habu@users.sourceforge.jp>
Thu, 26 Nov 2020 15:15:02 +0000 (00:15 +0900)
カオスパトロンの報酬でモンスターの召喚が発生した時、
ループの毎に召喚されるモンスターの数を乱数で決定していた。
意図した処理ではないと思われるので、最初に1度だけ乱数で
召喚されるモンスターの数を決定する。

src/player/patron.c

index 13d2b15..5329862 100644 (file)
@@ -291,7 +291,7 @@ void gain_level_reward(player_type *creature_ptr, int chosen_reward)
             msg_format(_("%sの声が響き渡った:", "The voice of %s booms out:"), chaos_patrons[creature_ptr->chaos_patron]);
             msg_print(_("「我が下僕たちよ、かの傲慢なる者を倒すべし!」", "'My pets, destroy the arrogant mortal!'"));
 
-            for (dummy = 0; dummy < randint1(5) + 1; dummy++) {
+            for (int i = 0, summon_num = randint1(5) + 1; i < summon_num; i++) {
                 (void)summon_specific(creature_ptr, 0, creature_ptr->y, creature_ptr->x, creature_ptr->current_floor_ptr->dun_level, 0,
                     (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE | PM_NO_PET));
             }