OSDN Git Service

[Refactor] #37353 コメント整理。 / Refactor comments.
[hengband/hengband.git] / src / rooms-vault.c
index bd915d9..94a4299 100644 (file)
@@ -1,8 +1,10 @@
 #include "angband.h"\r
+#include "generate.h"\r
 #include "grid.h"\r
 #include "rooms.h"\r
-#include "generate.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
@@ -23,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
@@ -56,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
@@ -90,7 +92,6 @@ static void build_bubble_vault(POSITION x0, POSITION y0, POSITION xsize, POSITIO
                {\r
                        /* Get distances to two closest centers */\r
 \r
-                       /* initialize */\r
                        min1 = (u16b)distance(x, y, center[0].x, center[0].y);\r
                        min2 = (u16b)distance(x, y, center[1].x, center[1].y);\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
@@ -338,8 +339,6 @@ static void build_vault(POSITION yval, POSITION xval, POSITION ymax, POSITION xm
 \r
                        /* Hack -- skip "non-grids" */\r
                        if (*t == ' ') continue;\r
-\r
-                       /* Access the grid */\r
                        c_ptr = &cave[y][x];\r
 \r
                        /* Lay down a floor */\r
@@ -393,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
@@ -472,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
@@ -1088,11 +1129,11 @@ static void build_mini_c_vault(POSITION x0, POSITION y0, POSITION xsize, POSITIO
 *\r
 *This makes a vault that looks like a castle/ city in the dungeon.\r
 */\r
-static void build_castle_vault(int x0, int y0, int xsize, int ysize)\r
+static void build_castle_vault(POSITION x0, POSITION y0, POSITION xsize, POSITION ysize)\r
 {\r
-       int dy, dx;\r
-       int y1, x1, y2, x2;\r
-       int y, x;\r
+       POSITION dy, dx;\r
+       POSITION y1, x1, y2, x2;\r
+       POSITION y, x;\r
 \r
        /* Pick a random room size */\r
        dy = ysize / 2 - 1;\r
@@ -1133,7 +1174,6 @@ bool build_type10(void)
 {\r
        POSITION y0, x0, xsize, ysize, vtype;\r
 \r
-       /* Get size */\r
        /* big enough to look good, small enough to be fairly common. */\r
        xsize = randint1(22) + 22;\r
        ysize = randint1(11) + 11;\r
@@ -1180,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
@@ -1198,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