変愚蛮怒のメインリポジトリです
Revision | cbbeeaddd9525b007dfdfa346e1af8fec3237f05 (tree) |
---|---|
Time | 2003-11-23 16:26:26 |
Author | nothere <nothere@0568...> |
Commiter | nothere |
隠しドアが透明な材質になることも考えて, 隠せる地形の判定を変更. 視線
の通る地形には視線を遮るドアを隠せないようにした. この判定が成り立つ
場合に, mimic地形にMOVEがない, つまりmimic地形が視線の通る壁である場
合は隠しドアをmimicで潰さないようにした.
@@ -148,9 +148,9 @@ void place_random_door(int y, int x, bool room) | ||
148 | 148 | c_ptr->mimic = room ? feat_wall_outer : fill_type[randint0(100)]; |
149 | 149 | |
150 | 150 | /* Floor type terrain cannot hide a door */ |
151 | - if (feat_supports_los(c_ptr->mimic)) | |
151 | + if (feat_supports_los(c_ptr->mimic) && !feat_supports_los(c_ptr->feat)) | |
152 | 152 | { |
153 | - c_ptr->feat = c_ptr->mimic; | |
153 | + if (have_flag(f_info[c_ptr->mimic].flags, FF_MOVE)) c_ptr->feat = c_ptr->mimic; | |
154 | 154 | c_ptr->mimic = 0; |
155 | 155 | } |
156 | 156 | } |
@@ -103,9 +103,9 @@ static void place_secret_door(int y, int x) | ||
103 | 103 | c_ptr->mimic = feat_wall_inner; |
104 | 104 | |
105 | 105 | /* Floor type terrain cannot hide a door */ |
106 | - if (feat_supports_los(c_ptr->mimic)) | |
106 | + if (feat_supports_los(c_ptr->mimic) && !feat_supports_los(c_ptr->feat)) | |
107 | 107 | { |
108 | - c_ptr->feat = c_ptr->mimic; | |
108 | + if (have_flag(f_info[c_ptr->mimic].flags, FF_MOVE)) c_ptr->feat = c_ptr->mimic; | |
109 | 109 | c_ptr->mimic = 0; |
110 | 110 | } |
111 | 111 |