if (distance(ty, tx, y, x) > rand_spread(width, 1)) continue;
/* Do not convert permanent features */
- if (cave_perma_grid(c_ptr) && !have_flag(f_flags_grid(c_ptr), FF_MOUNTAIN)) continue;
+ if (cave_perma_grid(c_ptr)) continue;
/*
* Clear previous contents, add feature
if (have_flag(f_ptr->flags, FF_MOVE) && (have_flag(f_ptr->flags, FF_WATER) || have_flag(f_ptr->flags, FF_LAVA)))
continue;
- if (cave_perma_grid(c_ptr) && !have_flag(f_ptr->flags, FF_MOUNTAIN)) continue;
+
+ /* Do not convert permanent features */
+ if (have_flag(f_ptr->flags, FF_PERMANENT)) continue;
/* Only convert "granite" walls */
if (streamer_is_wall)
if (is_closed_door(c_ptr->feat)) continue;
}
+ if (c_ptr->m_idx && !(have_flag(streamer_ptr->flags, FF_PLACE) && monster_can_cross_terrain(feat, &r_info[m_list[c_ptr->m_idx].r_idx], 0)))
+ {
+ /* Delete the monster (if any) */
+ delete_monster(ty, tx);
+ }
+
+ if (c_ptr->o_idx && !have_flag(streamer_ptr->flags, FF_DROP))
+ {
+ s16b this_o_idx, next_o_idx = 0;
+
+ /* Scan all objects in the grid */
+ for (this_o_idx = c_ptr->o_idx; this_o_idx; this_o_idx = next_o_idx)
+ {
+ /* Acquire object */
+ object_type *o_ptr = &o_list[this_o_idx];
+
+ /* Acquire next object */
+ next_o_idx = o_ptr->next_o_idx;
+
+ /* Hack -- Preserve unknown artifacts */
+ if (object_is_fixed_artifact(o_ptr))
+ {
+ /* Mega-Hack -- Preserve the artifact */
+ a_info[o_ptr->name1].cur_num = 0;
+
+ if (cheat_peek)
+ {
+ char o_name[MAX_NLEN];
+ object_desc(o_name, o_ptr, (OD_NAME_ONLY | OD_STORE));
+#ifdef JP
+ msg_format("ÅÁÀâ¤Î¥¢¥¤¥Æ¥à (%s) ¤Ï¥¹¥È¥ê¡¼¥Þ¡¼¤Ë¤è¤êºï½ü¤µ¤ì¤¿¡£", o_name);
+#else
+ msg_format("Artifact (%s) was deleted by streamer.", o_name);
+#endif
+ }
+ }
+ else if (cheat_peek && o_ptr->art_name)
+ {
+#ifdef JP
+ msg_print("¥é¥ó¥À¥à¡¦¥¢¡¼¥Æ¥£¥Õ¥¡¥¯¥È¤Î1¤Ä¤Ï¥¹¥È¥ê¡¼¥Þ¡¼¤Ë¤è¤êºï½ü¤µ¤ì¤¿¡£");
+#else
+ msg_print("One of the random artifacts was deleted by streamer.");
+#endif
+ }
+ }
+
+ /* Delete objects */
+ delete_object(ty, tx);
+ }
+
/* Clear previous contents, add proper vein type */
c_ptr->feat = feat;
if ((distance(j, i, y, x) > 1) || (randint1(100) < 25))
{
if (randint1(100) < 75)
- cave[j][i].feat = FEAT_TREES;
+ cave[j][i].feat = feat_tree;
}
else
{
- cave[j][i].feat = FEAT_RUBBLE;
+ cave[j][i].feat = feat_rubble;
}
/* Clear garbage of hidden trap or door */
if (!ironman_downward && one_in_(3))
{
/* up stair */
- cave[y][x].feat = FEAT_LESS;
+ cave[y][x].feat = feat_up_stair;
}
}