• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

変愚蛮怒のメインリポジトリです


Commit MetaInfo

Revision70a074055d86965d5929d20ddf9506652cdb2a60 (tree)
Time2003-12-22 19:00:21
Authornothere <nothere@0568...>
Commiternothere

Log Message

CAVE_OBJECTに関する修正.
* cave.c 1.145のエンバグにより, cave_set_feat()で正しくCAVE_OBJECTを

落とせていなかったバグを修正.

* プレイヤーがOBJECT地形にいる時に*破壊*を使っても足元の地形は*破壊*

されないのにCAVE_OBJECTだけが飛んで, 無意味なmimicだけが残るバグを
修正.

* 地震と*破壊*ではOBJECT地形であってもcave_set_feat()を通し, そこで

CAVE_OBJECTを落とすので, 地震と*破壊*からCAVE_OBJECT処理削除.

Change Summary

Incremental Difference

--- a/src/cave.c
+++ b/src/cave.c
@@ -4520,17 +4520,6 @@ void cave_set_feat(int y, int x, int feat)
45204520 cave_type *c_ptr = &cave[y][x];
45214521 feature_type *f_ptr = &f_info[feat];
45224522
4523- if (character_dungeon && is_mirror_grid(c_ptr) && (d_info[dungeon_type].flags1 & DF1_DARKNESS))
4524- {
4525- c_ptr->info &= ~(CAVE_GLOW);
4526- if (!view_torch_grids) c_ptr->info &= ~(CAVE_MARK);
4527-
4528- /* Remove flag for mirror/glyph */
4529- c_ptr->info &= ~(CAVE_OBJECT);
4530-
4531- update_local_illumination(y, x);
4532- }
4533-
45344523 /* Clear mimic type */
45354524 c_ptr->mimic = 0;
45364525
@@ -4539,6 +4528,17 @@ void cave_set_feat(int y, int x, int feat)
45394528
45404529 if (character_dungeon)
45414530 {
4531+ if (is_mirror_grid(c_ptr) && (d_info[dungeon_type].flags1 & DF1_DARKNESS))
4532+ {
4533+ c_ptr->info &= ~(CAVE_GLOW);
4534+ if (!view_torch_grids) c_ptr->info &= ~(CAVE_MARK);
4535+
4536+ update_local_illumination(y, x);
4537+ }
4538+
4539+ /* Remove flag for mirror/glyph */
4540+ c_ptr->info &= ~(CAVE_OBJECT);
4541+
45424542 /* Check for change to boring grid */
45434543 if (!have_flag(f_ptr->flags, FF_REMEMBER)) c_ptr->info &= ~(CAVE_MARK);
45444544
--- a/src/spells2.c
+++ b/src/spells2.c
@@ -5262,8 +5262,8 @@ bool destroy_area(int y1, int x1, int r, bool in_generate)
52625262
52635263 if (!in_generate) /* Normal */
52645264 {
5265- /* Lose unsafety and runes/mirrors */
5266- c_ptr->info &= ~(CAVE_UNSAFE | CAVE_OBJECT);
5265+ /* Lose unsafety */
5266+ c_ptr->info &= ~(CAVE_UNSAFE);
52675267
52685268 /* Hack -- Notice player affect */
52695269 if (player_bold(y, x))
@@ -5871,9 +5871,6 @@ msg_format("%^s
58715871 /* Delete objects */
58725872 delete_object(yy, xx);
58735873
5874- /* Clear mirror, runes flag */
5875- c_ptr->info &= ~CAVE_OBJECT;
5876-
58775874 /* Wall (or floor) type */
58785875 t = cave_have_flag_bold(yy, xx, FF_PROJECT) ? randint0(100) : 200;
58795876
Show on old repository browser