#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
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
}\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
{\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
* @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
\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
}\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
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
*\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
{\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
\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
/* 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