OSDN Git Service

[Refactor] #37353 コメント整理。 / Refactor comments.
[hengband/hengband.git] / src / rooms-vault.c
index e314482..94a4299 100644 (file)
@@ -4,6 +4,7 @@
 #include "rooms.h"\r
 #include "store.h"\r
 #include "trap.h"\r
+#include "monster.h"\r
 \r
 /*\r
 * This function creates a random vault that looks like a collection of bubbles.\r
@@ -24,7 +25,7 @@ static void build_bubble_vault(POSITION x0, POSITION y0, POSITION xsize, POSITIO
        coord center[BUBBLENUM];\r
 \r
        int i, j;\r
-       POSITION x, y;\r
+       POSITION x = 0, y = 0;\r
        u16b min1, min2, temp;\r
        bool done;\r
 \r
@@ -57,8 +58,8 @@ static void build_bubble_vault(POSITION x0, POSITION y0, POSITION xsize, POSITIO
                        }\r
                }\r
 \r
-               center[i].x = (byte_hack)x;\r
-               center[i].y = (byte_hack)y;\r
+               center[i].x = x;\r
+               center[i].y = y;\r
        }\r
 \r
 \r
@@ -303,11 +304,11 @@ static void coord_trans(POSITION *x, POSITION *y, POSITION xoffset, POSITION yof
 * @param transno 変換ID\r
 * @return なし\r
 */\r
-static void build_vault(POSITION yval, POSITION xval, POSITION ymax, POSITION xmax, cptr data,\r
+static void build_vault(POSITION yval, POSITION xval, POSITION ymax, POSITION xmax, concptr data,\r
        POSITION xoffset, POSITION yoffset, int transno)\r
 {\r
        POSITION dx, dy, x, y, i, j;\r
-       cptr t;\r
+       concptr t;\r
        cave_type *c_ptr;\r
 \r
        /* Place dungeon features and objects */\r
@@ -391,6 +392,16 @@ static void build_vault(POSITION yval, POSITION xval, POSITION ymax, POSITION xm
                                }\r
                                break;\r
 \r
+                               /* Treasure */\r
+                       case '[':\r
+                               place_object(y, x, 0L);\r
+                               break;\r
+\r
+                               /* Tree */\r
+                       case ':':\r
+                               c_ptr->feat = feat_tree;\r
+                               break;\r
+\r
                                /* Secret doors */\r
                        case '+':\r
                                place_secret_door(y, x, DOOR_DEFAULT);\r
@@ -470,6 +481,38 @@ static void build_vault(POSITION yval, POSITION xval, POSITION ymax, POSITION xm
                                set_cave_feat(y, x, feat_deep_lava);\r
                                break;\r
 \r
+                       case 'f':\r
+                               set_cave_feat(y, x, feat_shallow_acid_puddle);\r
+                               break;\r
+\r
+                       case 'F':\r
+                               set_cave_feat(y, x, feat_deep_acid_puddle);\r
+                               break;\r
+\r
+                       case 'g':\r
+                               set_cave_feat(y, x, feat_shallow_poisonous_puddle);\r
+                               break;\r
+\r
+                       case 'G':\r
+                               set_cave_feat(y, x, feat_deep_poisonous_puddle);\r
+                               break;\r
+\r
+                       case 'h':\r
+                               set_cave_feat(y, x, feat_cold_zone);\r
+                               break;\r
+\r
+                       case 'H':\r
+                               set_cave_feat(y, x, feat_heavy_cold_zone);\r
+                               break;\r
+\r
+                       case 'i':\r
+                               set_cave_feat(y, x, feat_electrical_zone);\r
+                               break;\r
+\r
+                       case 'I':\r
+                               set_cave_feat(y, x, feat_heavy_electrical_zone);\r
+                               break;\r
+\r
                        }\r
                }\r
        }\r
@@ -1177,7 +1220,7 @@ bool build_type10(void)
 \r
 \r
 /*!\r
-* @brief タイプ16の部屋…v_info.txtより固定特殊部屋を生成する / Type 16 -- fixed special room (see "v_info.txt")\r
+* @brief タイプ17の部屋…v_info.txtより固定特殊部屋を生成する / Type 17 -- fixed special room (see "v_info.txt")\r
 * @return なし\r
 */\r
 bool build_type17(void)\r
@@ -1195,8 +1238,8 @@ bool build_type17(void)
                /* Access a random vault record */\r
                v_ptr = &v_info[randint0(max_v_idx)];\r
 \r
-               /* Accept the first lesser vault */\r
-               if (v_ptr->typ == 16) break;\r
+               /* Accept the special fix room. */\r
+               if (v_ptr->typ == 17) break;\r
        }\r
 \r
        /* No lesser vault found */\r