OSDN Git Service

[Implement] #914 イェンダーの魔法使いにおける特殊な救援召喚を実装した / Implemented special S_KIN for Wizard...
authorHourier <grapefox.whitelucifer.0408@gmail.com>
Sun, 25 Apr 2021 02:33:34 +0000 (11:33 +0900)
committerHourier <grapefox.whitelucifer.0408@gmail.com>
Sun, 25 Apr 2021 02:33:34 +0000 (11:33 +0900)
lib/edit/r_info.txt
src/monster-floor/special-death-switcher.cpp
src/monster-race/race-indice-types.h
src/mspell/mspell-summon.cpp
src/mspell/specified-summon.cpp
src/mspell/specified-summon.h

index 253871e..e3b587c 100644 (file)
@@ -25446,7 +25446,7 @@ D:ある偉大な人物があなたを抹殺するために遣わした。
 D:死 ぬ が よ い 。
 D:(怒首領蜂 ケイブ/アトラス)
 
-N:1284:ã\82¤ã\82§ã\83³ã\83\80ã\83¼ã\81®é­\94æ³\95使ã\81\84
+N:1284:ã\80\8eã\82¤ã\82§ã\83³ã\83\80ã\83¼ã\81®é­\94æ³\95使ã\81\84ã\80\8f
 E:Wizard of Yendor
 G:p:v
 I:130:70d100:60:100:10
@@ -25483,7 +25483,7 @@ D:多くの者が彼の魔法使いとその宝物を見つけようとしたが
 D:誰も彼を見つけて生きてその顛末を語ることはなかった。
 D:この強大な魔法使いを煩わせる不用意な冒険者に災いあれ。
 
-N:1285:ã\82¤ã\82§ã\83³ã\83\80ã\83¼ã\81®é­\94æ³\95使ã\81\84
+N:1285:ã\80\8eã\82¤ã\82§ã\83³ã\83\80ã\83¼ã\81®é­\94æ³\95使ã\81\84ã\80\8f
 E:Wizard of Yendor
 G:p:v
 I:125:30d100:60:100:10
index cc3aa52..d157102 100644 (file)
@@ -328,7 +328,7 @@ static void on_dead_manimani(player_type *player_ptr, monster_death_type *md_ptr
     if (!is_seen(player_ptr, md_ptr->m_ptr))
         return;
 
-    msg_print(_("どこから声が聞こえる…「ハロー! そして…グッドバイ!」", "Heard a voice from somewhere... 'Hello! And... good bye!'"));
+    msg_print(_("どこから声が聞こえる…「ハロー! そして…グッドバイ!」", "Heard a voice from somewhere... 'Hello! And... good bye!'"));
 }
 
 static void drop_specific_item_on_dead(player_type *player_ptr, monster_death_type *md_ptr, bool (*object_hook_pf)(KIND_OBJECT_IDX k_idx))
index 182b707..55f04a2 100644 (file)
@@ -174,6 +174,8 @@ enum monster_race_type {
     MON_CAIT_SITH = 1262,
     MON_SHIVA_BOOTS = 1264,
     MON_BIG_RAVEN = 1268,
+    MON_YENDER_WIZARD_1 = 1284,
+    MON_YENDER_WIZARD_2 = 1285,
     MON_DOPPIO = 1290,
     MON_DIAVOLO = 1291,
     MON_MANIMANI = 1293,
index c164670..47d1b99 100644 (file)
@@ -164,6 +164,9 @@ MonsterSpellResult spell_RF6_S_KIN(player_type *target_ptr, POSITION y, POSITION
     case MON_QUEEN_VESPOID:
         count += summon_VESPOID(target_ptr, y, x, rlev, m_idx);
         break;
+    case MON_YENDER_WIZARD_1:
+        count += summon_YENDER_WIZARD(target_ptr, y, x, m_idx);
+        break;
     default:
         count += summon_Kin(target_ptr, y, x, rlev, m_idx);
         break;
index 77adf90..ee86a99 100644 (file)
@@ -265,3 +265,29 @@ MONSTER_NUMBER summon_VESPOID(player_type *target_ptr, POSITION y, POSITION x, i
 
     return count;
 }
+
+/*!
+ * @brief イェンダーの魔法使いの召喚の処理。 /
+ * @param target_ptr プレーヤーへの参照ポインタ
+ * @param y 対象の地点のy座標
+ * @param x 対象の地点のx座標
+ * @param m_idx 呪文を唱えるモンスターID
+ * @return 召喚したモンスターの数を返す。
+ */
+MONSTER_NUMBER summon_YENDER_WIZARD(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx)
+{
+    auto *r_ptr = &r_info[MON_YENDER_WIZARD_2];
+    if (r_ptr->max_num == 0) {
+        msg_print(_("しかし、誰も来なかった…。", "However, no kin was appeared..."));
+        return 0;
+    }
+
+    auto count = (MONSTER_NUMBER)summon_named_creature(target_ptr, m_idx, y, x, MON_YENDER_WIZARD_2, PM_NONE);
+    if (count == 0) {
+        msg_print(_("どこからか声が聞こえる…「三重苦は負わぬ。。。」", "Heard a voice from somewhere... 'I will deny the triple suffering...'"));
+        return 0;
+    }
+
+    msg_print(_("二重苦だ。。。", "THIS is double suffering..."));
+    return count;
+}
index 46ffc9e..f283830 100644 (file)
@@ -15,3 +15,4 @@ MONSTER_NUMBER summon_HIGHEST_DRAGON(player_type *target_ptr, POSITION y, POSITI
 MONSTER_NUMBER summon_PYRAMID(player_type *target_ptr, POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx);
 MONSTER_NUMBER summon_EYE_PHORN(player_type *target_ptr, POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx);
 MONSTER_NUMBER summon_VESPOID(player_type *target_ptr, POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx);
+MONSTER_NUMBER summon_YENDER_WIZARD(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx);