• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

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


Commit MetaInfo

Revisionbdaee32c2ddcddca216d140c8292e6cb819e7dfe (tree)
Time2003-11-27 12:47:26
Authornothere <nothere@0568...>
Commiternothere

Log Message

地形変化などに使える特殊タグを追加. これらのタグを追加することで,
FEAT_FLOORを内部でfloor_type[randint0(100)]に変換するhackを破棄.
普通にFEAT_FLOORを使えるようになる. 以下の特殊タグが使える.
*FLOOR*: floor_type[randint0(100)]
*WALL*: fill_type[randint0(100)]
*INNER*: feat_wall_inner
*OUTER*: feat_wall_outer
*SOLID*: feat_wall_solid (現在はfeat_wall_outerと同じ)
*STREAM1*: d_info[dungeon_type].stream1
*STREAM2*: d_info[dungeon_type].stream2

なお, feat_wall_*がset_floor_and_wall()でも初期化されないので修正.

Change Summary

Incremental Difference

--- a/lib/edit/f_info.txt
+++ b/lib/edit/f_info.txt
@@ -66,7 +66,7 @@ E:invisible trap
6666 G:.:w:LIT
6767 M:FLOOR
6868 W:2
69-K:DESTROYED:FLOOR
69+K:DESTROYED:*FLOOR*
7070 K:SECRET:INVIS
7171 F:LOS | PROJECT | MOVE | PLACE | SECRET | TRAP | HIT_TRAP | CAN_FLY | HURT_DISI
7272
@@ -77,7 +77,7 @@ J:
7777 E:glyph of warding
7878 G:;:y:LIT
7979 W:16
80-K:DESTROYED:FLOOR
80+K:DESTROYED:*FLOOR*
8181 F:LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | GLYPH | CAN_FLY |
8282 F:HURT_DISI
8383
@@ -88,7 +88,7 @@ J:
8888 E:open door
8989 G:':U
9090 W:10
91-K:DESTROYED:FLOOR
91+K:DESTROYED:*FLOOR*
9292 K:CLOSE:CLOSED_DOOR
9393 F:LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | CLOSE | DOOR | CAN_FLY |
9494 F:HURT_DISI | TELEPORTABLE
@@ -100,7 +100,7 @@ J:
100100 E:broken door
101101 G:':u
102102 W:10
103-K:DESTROYED:FLOOR
103+K:DESTROYED:*FLOOR*
104104 K:CLOSE:BROKEN_DOOR
105105 F:LOS | PROJECT | MOVE | PLACE | DROP | NOTICE | REMEMBER | CLOSE | DOOR |
106106 F:CAN_FLY | HURT_DISI | TELEPORTABLE
@@ -194,7 +194,7 @@ J:
194194 E:trap door
195195 G:^:w:LIT
196196 W:2
197-K:DESTROYED:FLOOR
197+K:DESTROYED:*FLOOR*
198198 K:HIT_TRAP:TRAP_TRAPDOOR
199199 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
200200 F:MORE | HIT_TRAP | CAN_FLY | HURT_DISI
@@ -206,7 +206,7 @@ J:
206206 E:pit
207207 G:^:s:LIT
208208 W:2
209-K:DESTROYED:FLOOR
209+K:DESTROYED:*FLOOR*
210210 K:HIT_TRAP:TRAP_PIT
211211 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
212212 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -219,7 +219,7 @@ E:pit
219219 G:^:s:LIT
220220 M:TRAP_PIT
221221 W:2
222-K:DESTROYED:FLOOR
222+K:DESTROYED:*FLOOR*
223223 K:HIT_TRAP:TRAP_SPIKED_PIT
224224 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
225225 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -232,7 +232,7 @@ E:pit
232232 G:^:s:LIT
233233 M:TRAP_PIT
234234 W:2
235-K:DESTROYED:FLOOR
235+K:DESTROYED:*FLOOR*
236236 K:HIT_TRAP:TRAP_POISON_PIT
237237 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
238238 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -244,8 +244,8 @@ J:
244244 E:evil rune
245245 G:^:G:LIT
246246 W:2
247-K:DESTROYED:FLOOR
248-K:HIT_TRAP:FLOOR
247+K:DESTROYED:*FLOOR*
248+K:HIT_TRAP:*FLOOR*
249249 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
250250 F:HIT_TRAP | CAN_FLY | HURT_DISI
251251
@@ -256,7 +256,7 @@ J:
256256 E:strange rune
257257 G:^:o:LIT
258258 W:2
259-K:DESTROYED:FLOOR
259+K:DESTROYED:*FLOOR*
260260 K:HIT_TRAP:TRAP_TELEPORT
261261 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
262262 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -268,7 +268,7 @@ J:
268268 E:discolored spot
269269 G:^:u:LIT
270270 W:2
271-K:DESTROYED:FLOOR
271+K:DESTROYED:*FLOOR*
272272 K:HIT_TRAP:TRAP_FIRE
273273 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
274274 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -281,7 +281,7 @@ E:discolored spot
281281 G:^:u:LIT
282282 M:TRAP_FIRE
283283 W:2
284-K:DESTROYED:FLOOR
284+K:DESTROYED:*FLOOR*
285285 K:HIT_TRAP:TRAP_ACID
286286 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
287287 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -293,7 +293,7 @@ J:
293293 E:dart trap
294294 G:^:r:LIT
295295 W:2
296-K:DESTROYED:FLOOR
296+K:DESTROYED:*FLOOR*
297297 K:HIT_TRAP:TRAP_SLOW
298298 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
299299 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -306,7 +306,7 @@ E:dart trap
306306 G:^:r:LIT
307307 M:TRAP_SLOW
308308 W:2
309-K:DESTROYED:FLOOR
309+K:DESTROYED:*FLOOR*
310310 K:HIT_TRAP:TRAP_LOSE_STR
311311 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
312312 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -319,7 +319,7 @@ E:dart trap
319319 G:^:r:LIT
320320 M:TRAP_SLOW
321321 W:2
322-K:DESTROYED:FLOOR
322+K:DESTROYED:*FLOOR*
323323 K:HIT_TRAP:TRAP_LOSE_DEX
324324 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
325325 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -332,7 +332,7 @@ E:dart trap
332332 G:^:r:LIT
333333 M:TRAP_SLOW
334334 W:2
335-K:DESTROYED:FLOOR
335+K:DESTROYED:*FLOOR*
336336 K:HIT_TRAP:TRAP_LOSE_CON
337337 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
338338 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -344,7 +344,7 @@ J:
344344 E:gas trap
345345 G:^:g:LIT
346346 W:2
347-K:DESTROYED:FLOOR
347+K:DESTROYED:*FLOOR*
348348 K:HIT_TRAP:TRAP_BLIND
349349 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
350350 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -357,7 +357,7 @@ E:gas trap
357357 G:^:g:LIT
358358 M:TRAP_BLIND
359359 W:2
360-K:DESTROYED:FLOOR
360+K:DESTROYED:*FLOOR*
361361 K:HIT_TRAP:TRAP_CONFUSE
362362 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
363363 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -370,7 +370,7 @@ E:gas trap
370370 G:^:g:LIT
371371 M:TRAP_BLIND
372372 W:2
373-K:DESTROYED:FLOOR
373+K:DESTROYED:*FLOOR*
374374 K:HIT_TRAP:TRAP_POISON
375375 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
376376 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -383,7 +383,7 @@ E:gas trap
383383 G:^:g:LIT
384384 M:TRAP_BLIND
385385 W:2
386-K:DESTROYED:FLOOR
386+K:DESTROYED:*FLOOR*
387387 K:HIT_TRAP:TRAP_SLEEP
388388 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
389389 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -395,7 +395,7 @@ J:
395395 E:door
396396 G:+:U
397397 W:10
398-K:DESTROYED:FLOOR
398+K:DESTROYED:*FLOOR*
399399 K:OPEN:OPEN_DOOR
400400 K:BASH:BROKEN_DOOR
401401 K:SPIKE:JAMMED_DOOR_1
@@ -410,7 +410,7 @@ E:locked door
410410 G:+:U
411411 M:CLOSED_DOOR
412412 W:10
413-K:DESTROYED:FLOOR
413+K:DESTROYED:*FLOOR*
414414 K:OPEN:OPEN_DOOR
415415 K:BASH:BROKEN_DOOR
416416 K:SPIKE:JAMMED_DOOR_2
@@ -426,7 +426,7 @@ E:locked door
426426 G:+:U
427427 M:CLOSED_DOOR
428428 W:10
429-K:DESTROYED:FLOOR
429+K:DESTROYED:*FLOOR*
430430 K:OPEN:OPEN_DOOR
431431 K:BASH:BROKEN_DOOR
432432 K:SPIKE:JAMMED_DOOR_3
@@ -442,7 +442,7 @@ E:locked door
442442 G:+:U
443443 M:CLOSED_DOOR
444444 W:10
445-K:DESTROYED:FLOOR
445+K:DESTROYED:*FLOOR*
446446 K:OPEN:OPEN_DOOR
447447 K:BASH:BROKEN_DOOR
448448 K:SPIKE:JAMMED_DOOR_4
@@ -458,7 +458,7 @@ E:locked door
458458 G:+:U
459459 M:CLOSED_DOOR
460460 W:10
461-K:DESTROYED:FLOOR
461+K:DESTROYED:*FLOOR*
462462 K:OPEN:OPEN_DOOR
463463 K:BASH:BROKEN_DOOR
464464 K:SPIKE:JAMMED_DOOR_5
@@ -474,7 +474,7 @@ E:locked door
474474 G:+:U
475475 M:CLOSED_DOOR
476476 W:10
477-K:DESTROYED:FLOOR
477+K:DESTROYED:*FLOOR*
478478 K:OPEN:OPEN_DOOR
479479 K:BASH:BROKEN_DOOR
480480 K:SPIKE:JAMMED_DOOR_6
@@ -490,7 +490,7 @@ E:locked door
490490 G:+:U
491491 M:CLOSED_DOOR
492492 W:10
493-K:DESTROYED:FLOOR
493+K:DESTROYED:*FLOOR*
494494 K:OPEN:OPEN_DOOR
495495 K:BASH:BROKEN_DOOR
496496 K:SPIKE:JAMMED_DOOR_7
@@ -506,7 +506,7 @@ E:locked door
506506 G:+:U
507507 M:CLOSED_DOOR
508508 W:10
509-K:DESTROYED:FLOOR
509+K:DESTROYED:*FLOOR*
510510 K:OPEN:OPEN_DOOR
511511 K:BASH:BROKEN_DOOR
512512 K:SPIKE:JAMMED_DOOR_7
@@ -522,7 +522,7 @@ E:jammed door
522522 G:+:U
523523 M:CLOSED_DOOR
524524 W:10
525-K:DESTROYED:FLOOR
525+K:DESTROYED:*FLOOR*
526526 K:OPEN:OPEN_DOOR
527527 K:BASH:BROKEN_DOOR
528528 K:SPIKE:JAMMED_DOOR_1
@@ -537,7 +537,7 @@ E:jammed door
537537 G:+:U
538538 M:CLOSED_DOOR
539539 W:10
540-K:DESTROYED:FLOOR
540+K:DESTROYED:*FLOOR*
541541 K:OPEN:OPEN_DOOR
542542 K:BASH:BROKEN_DOOR
543543 K:SPIKE:JAMMED_DOOR_2
@@ -552,7 +552,7 @@ E:jammed door
552552 G:+:U
553553 M:CLOSED_DOOR
554554 W:10
555-K:DESTROYED:FLOOR
555+K:DESTROYED:*FLOOR*
556556 K:OPEN:OPEN_DOOR
557557 K:BASH:BROKEN_DOOR
558558 K:SPIKE:JAMMED_DOOR_3
@@ -567,7 +567,7 @@ E:jammed door
567567 G:+:U
568568 M:CLOSED_DOOR
569569 W:10
570-K:DESTROYED:FLOOR
570+K:DESTROYED:*FLOOR*
571571 K:OPEN:OPEN_DOOR
572572 K:BASH:BROKEN_DOOR
573573 K:SPIKE:JAMMED_DOOR_4
@@ -582,7 +582,7 @@ E:jammed door
582582 G:+:U
583583 M:CLOSED_DOOR
584584 W:10
585-K:DESTROYED:FLOOR
585+K:DESTROYED:*FLOOR*
586586 K:OPEN:OPEN_DOOR
587587 K:BASH:BROKEN_DOOR
588588 K:SPIKE:JAMMED_DOOR_5
@@ -597,7 +597,7 @@ E:jammed door
597597 G:+:U
598598 M:CLOSED_DOOR
599599 W:10
600-K:DESTROYED:FLOOR
600+K:DESTROYED:*FLOOR*
601601 K:OPEN:OPEN_DOOR
602602 K:BASH:BROKEN_DOOR
603603 K:SPIKE:JAMMED_DOOR_6
@@ -612,7 +612,7 @@ E:jammed door
612612 G:+:U
613613 M:CLOSED_DOOR
614614 W:10
615-K:DESTROYED:FLOOR
615+K:DESTROYED:*FLOOR*
616616 K:OPEN:OPEN_DOOR
617617 K:BASH:BROKEN_DOOR
618618 K:SPIKE:JAMMED_DOOR_7
@@ -627,7 +627,7 @@ E:jammed door
627627 G:+:U
628628 M:CLOSED_DOOR
629629 W:10
630-K:DESTROYED:FLOOR
630+K:DESTROYED:*FLOOR*
631631 K:OPEN:OPEN_DOOR
632632 K:BASH:BROKEN_DOOR
633633 K:SPIKE:JAMMED_DOOR_7
@@ -642,7 +642,7 @@ E:secret door
642642 G:#:w
643643 M:GRANITE
644644 W:10
645-K:DESTROYED:FLOOR
645+K:DESTROYED:*FLOOR*
646646 K:SECRET:CLOSED_DOOR
647647 K:OPEN:OPEN_DOOR
648648 K:BASH:BROKEN_DOOR
@@ -656,7 +656,7 @@ J:
656656 E:pile of rubble
657657 G:::w:LIT
658658 W:2
659-K:DESTROYED:FLOOR
659+K:DESTROYED:*FLOOR*
660660 F:POWER_10 | REMEMBER | TUNNEL | HAS_ITEM | HURT_ROCK | CAN_PASS | CAN_DIG |
661661 F:HURT_DISI
662662
@@ -667,7 +667,7 @@ J:
667667 E:magma vein
668668 G:%:s:LIT
669669 W:2
670-K:DESTROYED:FLOOR
670+K:DESTROYED:*FLOOR*
671671 K:MAY_HAVE_GOLD:MAGMA_TREASURE
672672 F:POWER_10 | REMEMBER | TUNNEL | MAY_HAVE_GOLD | WALL | HURT_ROCK | CAN_PASS |
673673 F:HURT_DISI
@@ -679,7 +679,7 @@ J:
679679 E:quartz vein
680680 G:%:w:LIT
681681 W:2
682-K:DESTROYED:FLOOR
682+K:DESTROYED:*FLOOR*
683683 K:MAY_HAVE_GOLD:QUARTZ_TREASURE
684684 F:POWER_20 | REMEMBER | TUNNEL | MAY_HAVE_GOLD | WALL | HURT_ROCK | CAN_PASS |
685685 F:HURT_DISI
@@ -692,7 +692,7 @@ E:magma vein with hidden treasure
692692 G:%:s:LIT
693693 M:MAGMA_VEIN
694694 W:2
695-K:DESTROYED:FLOOR
695+K:DESTROYED:*FLOOR*
696696 K:SECRET:MAGMA_TREASURE
697697 F:POWER_10 | SECRET | REMEMBER | TUNNEL | HAS_GOLD | WALL | HURT_ROCK |
698698 F:CAN_PASS | HURT_DISI
@@ -705,7 +705,7 @@ E:quartz vein hidden treasure
705705 G:%:w:LIT
706706 M:QUARTZ_VEIN
707707 W:2
708-K:DESTROYED:FLOOR
708+K:DESTROYED:*FLOOR*
709709 K:SECRET:QUARTZ_TREASURE
710710 F:POWER_20 | SECRET | REMEMBER | TUNNEL | HAS_GOLD | WALL | HURT_ROCK |
711711 F:CAN_PASS | HURT_DISI
@@ -717,7 +717,7 @@ J:
717717 E:magma vein with treasure
718718 G:*:o:LIT
719719 W:2
720-K:DESTROYED:FLOOR
720+K:DESTROYED:*FLOOR*
721721 K:ENSECRET:MAGMA_HIDDEN
722722 F:POWER_20 | REMEMBER | TUNNEL | HAS_GOLD | WALL | HURT_ROCK | CAN_PASS |
723723 F:HURT_DISI
@@ -729,7 +729,7 @@ J:
729729 E:quartz vein with treasure
730730 G:*:o:LIT
731731 W:2
732-K:DESTROYED:FLOOR
732+K:DESTROYED:*FLOOR*
733733 K:ENSECRET:QUARTZ_HIDDEN
734734 F:POWER_20 | REMEMBER | TUNNEL | HAS_GOLD | WALL | HURT_ROCK | CAN_PASS |
735735 F:HURT_DISI
@@ -741,7 +741,7 @@ J:
741741 E:granite wall
742742 G:#:w:LIT
743743 W:2
744-K:DESTROYED:FLOOR
744+K:DESTROYED:*FLOOR*
745745 F:POWER_40 | REMEMBER | TUNNEL | WALL | HURT_ROCK | CAN_PASS | HURT_DISI
746746
747747 # 0x39 --> granite wall -- inner
@@ -752,7 +752,7 @@ E:granite wall
752752 G:#:w:LIT
753753 M:GRANITE
754754 W:2
755-K:DESTROYED:FLOOR
755+K:DESTROYED:*FLOOR*
756756 F:POWER_40 | REMEMBER | TUNNEL | WALL | HURT_ROCK | CAN_PASS |
757757 F:HURT_DISI
758758
@@ -764,7 +764,7 @@ E:granite wall
764764 G:#:w:LIT
765765 M:GRANITE
766766 W:2
767-K:DESTROYED:FLOOR
767+K:DESTROYED:*FLOOR*
768768 F:POWER_40 | REMEMBER | TUNNEL | WALL | HURT_ROCK | CAN_PASS |
769769 F:HURT_DISI
770770
@@ -776,7 +776,7 @@ E:granite wall
776776 G:#:w:LIT
777777 M:GRANITE
778778 W:2
779-K:DESTROYED:FLOOR
779+K:DESTROYED:*FLOOR*
780780 F:POWER_40 | REMEMBER | TUNNEL | WALL | HURT_ROCK | CAN_PASS |
781781 F:HURT_DISI
782782
@@ -828,7 +828,7 @@ J:
828828 E:explosive rune
829829 G:;:R:LIT
830830 W:16
831-K:DESTROYED:FLOOR
831+K:DESTROYED:*FLOOR*
832832 F:LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | CAN_FLY | MINOR_GLYPH |
833833 F:HURT_DISI
834834
@@ -1054,8 +1054,8 @@ J:
10541054 E:compact rune
10551055 G:^:D:LIT
10561056 W:2
1057-K:DESTROYED:FLOOR
1058-K:HIT_TRAP:FLOOR
1057+K:DESTROYED:*FLOOR*
1058+K:HIT_TRAP:*FLOOR*
10591059 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
10601060 F:HIT_TRAP | CAN_FLY | HURT_DISI
10611061
@@ -1064,7 +1064,7 @@ J:
10641064 E:alarm
10651065 G:^:R:LIT
10661066 W:2
1067-K:DESTROYED:FLOOR
1067+K:DESTROYED:*FLOOR*
10681068 K:HIT_TRAP:TRAP_ALARM
10691069 F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP |
10701070 F:HIT_TRAP | CAN_FLY | HURT_DISI
@@ -1074,7 +1074,7 @@ J:
10741074 E:wall opeing trap
10751075 G:^:w:LIT
10761076 W:10
1077-K:DESTROYED:FLOOR
1077+K:DESTROYED:*FLOOR*
10781078 K:HIT_TRAP:TRAP_OPEN
10791079 F:POWER_100 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM |
10801080 F:TRAP | HIT_TRAP | CAN_FLY | HURT_DISI
@@ -1119,7 +1119,7 @@ J:
11191119 E:mountain chain
11201120 G:^:o:LIT
11211121 W:5
1122-K:UNPERM:GRANITE
1122+K:UNPERM:*INNER*
11231123 F:REMEMBER | TUNNEL | WALL | PERMANENT | MOUNTAIN | TELEPORTABLE |
11241124 F:PLACE | CAN_FLY | AVOID_RUN
11251125
@@ -1129,7 +1129,7 @@ E:mountain chain
11291129 G:^:o:LIT
11301130 M:MOUNTAIN
11311131 W:5
1132-K:UNPERM:GRANITE
1132+K:UNPERM:*INNER*
11331133 F:REMEMBER | TUNNEL | WALL | PERMANENT
11341134
11351135 N:128:BUILDING_0
@@ -1432,8 +1432,8 @@ J:
14321432 E:Armageddon trap
14331433 G:^:v:LIT
14341434 W:10
1435-K:DESTROYED:FLOOR
1436-K:HIT_TRAP:FLOOR
1435+K:DESTROYED:*FLOOR*
1436+K:HIT_TRAP:*FLOOR*
14371437 F:POWER_100 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM |
14381438 F:TRAP | HIT_TRAP | CAN_FLY | HURT_DISI
14391439
@@ -1442,7 +1442,7 @@ J:
14421442 E:Piranha trap
14431443 G:^:b:LIT
14441444 W:10
1445-K:DESTROYED:FLOOR
1446-K:HIT_TRAP:FLOOR
1445+K:DESTROYED:*FLOOR*
1446+K:HIT_TRAP:*FLOOR*
14471447 F:POWER_100 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM |
14481448 F:TRAP | HIT_TRAP | CAN_FLY | HURT_DISI
--- a/src/cave.c
+++ b/src/cave.c
@@ -4464,6 +4464,30 @@ void cave_set_feat(int y, int x, int feat)
44644464 }
44654465
44664466
4467+int conv_dungeon_feat(int newfeat)
4468+{
4469+ switch (newfeat)
4470+ {
4471+ case FEAT_DUNGEON_FLOOR:
4472+ return floor_type[randint0(100)];
4473+ case FEAT_DUNGEON_WALL:
4474+ return fill_type[randint0(100)];
4475+ case FEAT_DUNGEON_INNER:
4476+ return feat_wall_inner;
4477+ case FEAT_DUNGEON_OUTER:
4478+ return feat_wall_outer;
4479+ case FEAT_DUNGEON_SOLID:
4480+ return feat_wall_solid;
4481+ case FEAT_DUNGEON_STREAM1:
4482+ return d_info[dungeon_type].stream1;
4483+ case FEAT_DUNGEON_STREAM2:
4484+ return d_info[dungeon_type].stream2;
4485+ default:
4486+ return newfeat;
4487+ }
4488+}
4489+
4490+
44674491 /*
44684492 * Take a feature, determine what that feature becomes
44694493 * through applying the given action.
@@ -4471,26 +4495,17 @@ void cave_set_feat(int y, int x, int feat)
44714495 int feat_state(int feat, int action)
44724496 {
44734497 feature_type *f_ptr = &f_info[feat];
4474- int newfeat, i;
4498+ int i;
44754499
44764500 /* Get the new feature */
44774501 for (i = 0; i < MAX_FEAT_STATES; i++)
44784502 {
4479- if (f_ptr->state[i].action == action)
4480- {
4481- newfeat = f_ptr->state[i].result;
4482- return (newfeat == FEAT_FLOOR) ? floor_type[randint0(100)] : newfeat;
4483- }
4503+ if (f_ptr->state[i].action == action) return conv_dungeon_feat(f_ptr->state[i].result);
44844504 }
44854505
44864506 if (have_flag(f_ptr->flags, FF_PERMANENT)) return feat;
44874507
4488- if (feature_action_flags[action] & FAF_DESTROY)
4489- {
4490- newfeat = f_ptr->destroyed;
4491- return (newfeat == FEAT_FLOOR) ? floor_type[randint0(100)] : newfeat;
4492- }
4493- else return feat;
4508+ return (feature_action_flags[action] & FAF_DESTROY) ? conv_dungeon_feat(f_ptr->destroyed) : feat;
44944509 }
44954510
44964511 /*
--- a/src/defines.h
+++ b/src/defines.h
@@ -1129,6 +1129,15 @@
11291129 #define FEAT_TRAP_ARMAGEDDON 0xc5
11301130 #define FEAT_TRAP_PIRANHA 0xc6
11311131
1132+/* Hack -- Special fake terrain for f_info */
1133+#define FEAT_DUNGEON_FLOOR -1
1134+#define FEAT_DUNGEON_WALL -2
1135+#define FEAT_DUNGEON_INNER -3
1136+#define FEAT_DUNGEON_OUTER -4
1137+#define FEAT_DUNGEON_SOLID -5
1138+#define FEAT_DUNGEON_STREAM1 -6
1139+#define FEAT_DUNGEON_STREAM2 -7
1140+
11321141 /*
11331142 * Wilderness terrains
11341143 */
--- a/src/externs.h
+++ b/src/externs.h
@@ -630,6 +630,7 @@ extern void map_area(int range);
630630 extern void wiz_lite(bool ninja);
631631 extern void wiz_dark(void);
632632 extern void cave_set_feat(int y, int x, int feat);
633+extern int conv_dungeon_feat(int newfeat);
633634 extern int feat_state(int feat, int action);
634635 extern void cave_alter_feat(int y, int x, int action);
635636 extern void remove_mirror(int y, int x);
--- a/src/generate.c
+++ b/src/generate.c
@@ -619,14 +619,9 @@ static bool cave_gen(void)
619619 /* Fill the arrays of floors and walls in the good proportions */
620620 set_floor_and_wall(dungeon_type);
621621
622-
623622 /* Prepare allocation table */
624623 get_mon_num_prep(get_monster_hook(), NULL);
625624
626- feat_wall_outer = d_info[dungeon_type].outer_wall;
627- feat_wall_inner = d_info[dungeon_type].inner_wall;
628- feat_wall_solid = d_info[dungeon_type].outer_wall;
629-
630625 /* Randomize the dungeon creation values */
631626 dun_tun_rnd = rand_range(DUN_TUN_RND_MIN, DUN_TUN_RND_MAX);
632627 dun_tun_chg = rand_range(DUN_TUN_CHG_MIN, DUN_TUN_CHG_MAX);
--- a/src/init1.c
+++ b/src/init1.c
@@ -250,6 +250,22 @@ static cptr f_info_flags[] =
250250
251251
252252 /*
253+ * Special feature info tags
254+ */
255+static cptr f_info_special_tags[] =
256+{
257+ "*FLOOR*",
258+ "*WALL*",
259+ "*INNER*",
260+ "*OUTER*",
261+ "*SOLID*",
262+ "*STREAM1*",
263+ "*STREAM2*",
264+ NULL,
265+};
266+
267+
268+/*
253269 * Monster race flags
254270 */
255271 static cptr r_info_flags1[] =
@@ -1718,6 +1734,16 @@ s16b f_tag_to_index(cptr str)
17181734 }
17191735 }
17201736
1737+ /* Search for special index corresponding to this fake tag */
1738+ for (i = 0; f_info_special_tags[i]; i++)
1739+ {
1740+ if (streq(f_info_special_tags[i], str))
1741+ {
1742+ /* Return the special index */
1743+ return (s16b)(FEAT_DUNGEON_FLOOR - i);
1744+ }
1745+ }
1746+
17211747 /* Not found */
17221748 return 0;
17231749 }
@@ -1744,6 +1770,17 @@ static void search_real_feat(s16b *feat)
17441770 }
17451771 }
17461772
1773+ /* Search for special index corresponding to this fake tag */
1774+ for (i = 0; f_info_special_tags[i]; i++)
1775+ {
1776+ if (streq(f_info_special_tags[i], f_tag + (-(*feat))))
1777+ {
1778+ /* Record special index */
1779+ *feat = (s16b)(FEAT_DUNGEON_FLOOR - i);
1780+ return;
1781+ }
1782+ }
1783+
17471784 /* Undefined tag */
17481785 #ifdef JP
17491786 msg_format("未定義のタグ '%s'。", f_tag + (-(*feat)));
--- a/src/wild.c
+++ b/src/wild.c
@@ -47,6 +47,10 @@ void set_floor_and_wall(byte type)
4747
4848 set_floor_and_wall_aux(floor_type, d_ptr->floor);
4949 set_floor_and_wall_aux(fill_type, d_ptr->fill);
50+
51+ feat_wall_outer = d_ptr->outer_wall;
52+ feat_wall_inner = d_ptr->inner_wall;
53+ feat_wall_solid = d_ptr->outer_wall;
5054 }
5155
5256
Show on old repository browser