OSDN Git Service

ヨルムンガンドが生きている時にダンジョンの主の召喚で水が吹き出して
authormogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Wed, 6 Feb 2002 14:57:14 +0000 (14:57 +0000)
committermogami <mogami@0568b783-4c39-0410-ac80-bf13821ea2a2>
Wed, 6 Feb 2002 14:57:14 +0000 (14:57 +0000)
あたりが浅い水になるようにした。ヨルムンガンド以外が出にくくなるように、
プレイヤーに隣接する床は深い水にしているが、問題が出るようなら全て
浅い水にすればいいと思う。吹き出す確率は1/6にしてある。要調整。

src/defines.h
src/mspells1.c
src/spells1.c

index 78f51cc..e71d500 100644 (file)
 #define GF_SEEKER 110
 #define GF_SUPER_RAY 111
 #define GF_STAR_HEAL 112
+#define GF_WATER_FLOW   113
 
 #define MAX_GF                         113
 
@@ -4484,6 +4485,7 @@ extern int PlayerUID;
 #define MON_CYBER_KING    843
 #define MON_WYRM_POWER    847
 #define MON_NODENS        849
+#define MON_JORMUNGAND    854
 #define MON_DESTROYER     855
 #define MON_GOTHMOG       856
 #define MON_G_CTHULHU     857
index 68ad5f6..2fb5df8 100644 (file)
@@ -4012,6 +4012,17 @@ else msg_format("%^s
                        else if (m_ptr->r_idx == MON_SERPENT)
                        {
                                int num = 2 + randint(3);
+
+                               if (r_info[MON_JORMUNGAND].cur_num < r_info[MON_JORMUNGAND].max_num && one_in_(6))
+                               {
+#ifdef JP
+                                       msg_print("ÃÏÌ̤«¤é¿å¤¬¿á¤­½Ð¤·¤¿¡ª");
+#else
+                                       msg_print("Water blew off from the ground!");
+#endif
+                                       fire_ball_hide(GF_WATER_FLOW, 0, 3, 8);
+                               }
+
                                for (k = 0; k < num; k++)
                                {
                                        count += summon_specific(m_idx, y, x, rlev, SUMMON_GUARDIANS, TRUE, FALSE, FALSE, TRUE, FALSE);
index c308341..8cb40e2 100644 (file)
@@ -1115,6 +1115,32 @@ msg_print("
                        break;
                }
 
+                case GF_WATER_FLOW:
+               {
+                        /* Shallow Water */
+                        if(dam == 1)
+                        {
+                                /* Require a "naked" floor grid */
+                                if (!cave_naked_bold(y, x)) break;
+
+                                /* Place a shallow lava */
+                                cave_set_feat(y, x, FEAT_SHAL_WATER);
+                        }
+                        /* Deep Water */
+                        else
+                        {
+                                /* Require a "naked" floor grid */
+                                if (cave_perma_bold(y, x) || !dam) break;
+
+                                /* Place a deep lava */
+                                cave_set_feat(y, x, FEAT_DEEP_WATER);
+
+                                /* Dam is used as a counter for the number of grid to convert */
+                                dam--;
+                        }
+                       break;
+               }
+
                /* Lite up the grid */
                case GF_LITE_WEAK:
                case GF_LITE: