変愚蛮怒のメインリポジトリです
Revision | bdaee32c2ddcddca216d140c8292e6cb819e7dfe (tree) |
---|---|
Time | 2003-11-27 12:47:26 |
Author | nothere <nothere@0568...> |
Commiter | nothere |
地形変化などに使える特殊タグを追加. これらのタグを追加することで,
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()でも初期化されないので修正.
@@ -66,7 +66,7 @@ E:invisible trap | ||
66 | 66 | G:.:w:LIT |
67 | 67 | M:FLOOR |
68 | 68 | W:2 |
69 | -K:DESTROYED:FLOOR | |
69 | +K:DESTROYED:*FLOOR* | |
70 | 70 | K:SECRET:INVIS |
71 | 71 | F:LOS | PROJECT | MOVE | PLACE | SECRET | TRAP | HIT_TRAP | CAN_FLY | HURT_DISI |
72 | 72 |
@@ -77,7 +77,7 @@ J: | ||
77 | 77 | E:glyph of warding |
78 | 78 | G:;:y:LIT |
79 | 79 | W:16 |
80 | -K:DESTROYED:FLOOR | |
80 | +K:DESTROYED:*FLOOR* | |
81 | 81 | F:LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | GLYPH | CAN_FLY | |
82 | 82 | F:HURT_DISI |
83 | 83 |
@@ -88,7 +88,7 @@ J: | ||
88 | 88 | E:open door |
89 | 89 | G:':U |
90 | 90 | W:10 |
91 | -K:DESTROYED:FLOOR | |
91 | +K:DESTROYED:*FLOOR* | |
92 | 92 | K:CLOSE:CLOSED_DOOR |
93 | 93 | F:LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | CLOSE | DOOR | CAN_FLY | |
94 | 94 | F:HURT_DISI | TELEPORTABLE |
@@ -100,7 +100,7 @@ J: | ||
100 | 100 | E:broken door |
101 | 101 | G:':u |
102 | 102 | W:10 |
103 | -K:DESTROYED:FLOOR | |
103 | +K:DESTROYED:*FLOOR* | |
104 | 104 | K:CLOSE:BROKEN_DOOR |
105 | 105 | F:LOS | PROJECT | MOVE | PLACE | DROP | NOTICE | REMEMBER | CLOSE | DOOR | |
106 | 106 | F:CAN_FLY | HURT_DISI | TELEPORTABLE |
@@ -194,7 +194,7 @@ J: | ||
194 | 194 | E:trap door |
195 | 195 | G:^:w:LIT |
196 | 196 | W:2 |
197 | -K:DESTROYED:FLOOR | |
197 | +K:DESTROYED:*FLOOR* | |
198 | 198 | K:HIT_TRAP:TRAP_TRAPDOOR |
199 | 199 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
200 | 200 | F:MORE | HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -206,7 +206,7 @@ J: | ||
206 | 206 | E:pit |
207 | 207 | G:^:s:LIT |
208 | 208 | W:2 |
209 | -K:DESTROYED:FLOOR | |
209 | +K:DESTROYED:*FLOOR* | |
210 | 210 | K:HIT_TRAP:TRAP_PIT |
211 | 211 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
212 | 212 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -219,7 +219,7 @@ E:pit | ||
219 | 219 | G:^:s:LIT |
220 | 220 | M:TRAP_PIT |
221 | 221 | W:2 |
222 | -K:DESTROYED:FLOOR | |
222 | +K:DESTROYED:*FLOOR* | |
223 | 223 | K:HIT_TRAP:TRAP_SPIKED_PIT |
224 | 224 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
225 | 225 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -232,7 +232,7 @@ E:pit | ||
232 | 232 | G:^:s:LIT |
233 | 233 | M:TRAP_PIT |
234 | 234 | W:2 |
235 | -K:DESTROYED:FLOOR | |
235 | +K:DESTROYED:*FLOOR* | |
236 | 236 | K:HIT_TRAP:TRAP_POISON_PIT |
237 | 237 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
238 | 238 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -244,8 +244,8 @@ J: | ||
244 | 244 | E:evil rune |
245 | 245 | G:^:G:LIT |
246 | 246 | W:2 |
247 | -K:DESTROYED:FLOOR | |
248 | -K:HIT_TRAP:FLOOR | |
247 | +K:DESTROYED:*FLOOR* | |
248 | +K:HIT_TRAP:*FLOOR* | |
249 | 249 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
250 | 250 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
251 | 251 |
@@ -256,7 +256,7 @@ J: | ||
256 | 256 | E:strange rune |
257 | 257 | G:^:o:LIT |
258 | 258 | W:2 |
259 | -K:DESTROYED:FLOOR | |
259 | +K:DESTROYED:*FLOOR* | |
260 | 260 | K:HIT_TRAP:TRAP_TELEPORT |
261 | 261 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
262 | 262 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -268,7 +268,7 @@ J: | ||
268 | 268 | E:discolored spot |
269 | 269 | G:^:u:LIT |
270 | 270 | W:2 |
271 | -K:DESTROYED:FLOOR | |
271 | +K:DESTROYED:*FLOOR* | |
272 | 272 | K:HIT_TRAP:TRAP_FIRE |
273 | 273 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
274 | 274 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -281,7 +281,7 @@ E:discolored spot | ||
281 | 281 | G:^:u:LIT |
282 | 282 | M:TRAP_FIRE |
283 | 283 | W:2 |
284 | -K:DESTROYED:FLOOR | |
284 | +K:DESTROYED:*FLOOR* | |
285 | 285 | K:HIT_TRAP:TRAP_ACID |
286 | 286 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
287 | 287 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -293,7 +293,7 @@ J: | ||
293 | 293 | E:dart trap |
294 | 294 | G:^:r:LIT |
295 | 295 | W:2 |
296 | -K:DESTROYED:FLOOR | |
296 | +K:DESTROYED:*FLOOR* | |
297 | 297 | K:HIT_TRAP:TRAP_SLOW |
298 | 298 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
299 | 299 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -306,7 +306,7 @@ E:dart trap | ||
306 | 306 | G:^:r:LIT |
307 | 307 | M:TRAP_SLOW |
308 | 308 | W:2 |
309 | -K:DESTROYED:FLOOR | |
309 | +K:DESTROYED:*FLOOR* | |
310 | 310 | K:HIT_TRAP:TRAP_LOSE_STR |
311 | 311 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
312 | 312 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -319,7 +319,7 @@ E:dart trap | ||
319 | 319 | G:^:r:LIT |
320 | 320 | M:TRAP_SLOW |
321 | 321 | W:2 |
322 | -K:DESTROYED:FLOOR | |
322 | +K:DESTROYED:*FLOOR* | |
323 | 323 | K:HIT_TRAP:TRAP_LOSE_DEX |
324 | 324 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
325 | 325 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -332,7 +332,7 @@ E:dart trap | ||
332 | 332 | G:^:r:LIT |
333 | 333 | M:TRAP_SLOW |
334 | 334 | W:2 |
335 | -K:DESTROYED:FLOOR | |
335 | +K:DESTROYED:*FLOOR* | |
336 | 336 | K:HIT_TRAP:TRAP_LOSE_CON |
337 | 337 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
338 | 338 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -344,7 +344,7 @@ J: | ||
344 | 344 | E:gas trap |
345 | 345 | G:^:g:LIT |
346 | 346 | W:2 |
347 | -K:DESTROYED:FLOOR | |
347 | +K:DESTROYED:*FLOOR* | |
348 | 348 | K:HIT_TRAP:TRAP_BLIND |
349 | 349 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
350 | 350 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -357,7 +357,7 @@ E:gas trap | ||
357 | 357 | G:^:g:LIT |
358 | 358 | M:TRAP_BLIND |
359 | 359 | W:2 |
360 | -K:DESTROYED:FLOOR | |
360 | +K:DESTROYED:*FLOOR* | |
361 | 361 | K:HIT_TRAP:TRAP_CONFUSE |
362 | 362 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
363 | 363 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -370,7 +370,7 @@ E:gas trap | ||
370 | 370 | G:^:g:LIT |
371 | 371 | M:TRAP_BLIND |
372 | 372 | W:2 |
373 | -K:DESTROYED:FLOOR | |
373 | +K:DESTROYED:*FLOOR* | |
374 | 374 | K:HIT_TRAP:TRAP_POISON |
375 | 375 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
376 | 376 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -383,7 +383,7 @@ E:gas trap | ||
383 | 383 | G:^:g:LIT |
384 | 384 | M:TRAP_BLIND |
385 | 385 | W:2 |
386 | -K:DESTROYED:FLOOR | |
386 | +K:DESTROYED:*FLOOR* | |
387 | 387 | K:HIT_TRAP:TRAP_SLEEP |
388 | 388 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
389 | 389 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -395,7 +395,7 @@ J: | ||
395 | 395 | E:door |
396 | 396 | G:+:U |
397 | 397 | W:10 |
398 | -K:DESTROYED:FLOOR | |
398 | +K:DESTROYED:*FLOOR* | |
399 | 399 | K:OPEN:OPEN_DOOR |
400 | 400 | K:BASH:BROKEN_DOOR |
401 | 401 | K:SPIKE:JAMMED_DOOR_1 |
@@ -410,7 +410,7 @@ E:locked door | ||
410 | 410 | G:+:U |
411 | 411 | M:CLOSED_DOOR |
412 | 412 | W:10 |
413 | -K:DESTROYED:FLOOR | |
413 | +K:DESTROYED:*FLOOR* | |
414 | 414 | K:OPEN:OPEN_DOOR |
415 | 415 | K:BASH:BROKEN_DOOR |
416 | 416 | K:SPIKE:JAMMED_DOOR_2 |
@@ -426,7 +426,7 @@ E:locked door | ||
426 | 426 | G:+:U |
427 | 427 | M:CLOSED_DOOR |
428 | 428 | W:10 |
429 | -K:DESTROYED:FLOOR | |
429 | +K:DESTROYED:*FLOOR* | |
430 | 430 | K:OPEN:OPEN_DOOR |
431 | 431 | K:BASH:BROKEN_DOOR |
432 | 432 | K:SPIKE:JAMMED_DOOR_3 |
@@ -442,7 +442,7 @@ E:locked door | ||
442 | 442 | G:+:U |
443 | 443 | M:CLOSED_DOOR |
444 | 444 | W:10 |
445 | -K:DESTROYED:FLOOR | |
445 | +K:DESTROYED:*FLOOR* | |
446 | 446 | K:OPEN:OPEN_DOOR |
447 | 447 | K:BASH:BROKEN_DOOR |
448 | 448 | K:SPIKE:JAMMED_DOOR_4 |
@@ -458,7 +458,7 @@ E:locked door | ||
458 | 458 | G:+:U |
459 | 459 | M:CLOSED_DOOR |
460 | 460 | W:10 |
461 | -K:DESTROYED:FLOOR | |
461 | +K:DESTROYED:*FLOOR* | |
462 | 462 | K:OPEN:OPEN_DOOR |
463 | 463 | K:BASH:BROKEN_DOOR |
464 | 464 | K:SPIKE:JAMMED_DOOR_5 |
@@ -474,7 +474,7 @@ E:locked door | ||
474 | 474 | G:+:U |
475 | 475 | M:CLOSED_DOOR |
476 | 476 | W:10 |
477 | -K:DESTROYED:FLOOR | |
477 | +K:DESTROYED:*FLOOR* | |
478 | 478 | K:OPEN:OPEN_DOOR |
479 | 479 | K:BASH:BROKEN_DOOR |
480 | 480 | K:SPIKE:JAMMED_DOOR_6 |
@@ -490,7 +490,7 @@ E:locked door | ||
490 | 490 | G:+:U |
491 | 491 | M:CLOSED_DOOR |
492 | 492 | W:10 |
493 | -K:DESTROYED:FLOOR | |
493 | +K:DESTROYED:*FLOOR* | |
494 | 494 | K:OPEN:OPEN_DOOR |
495 | 495 | K:BASH:BROKEN_DOOR |
496 | 496 | K:SPIKE:JAMMED_DOOR_7 |
@@ -506,7 +506,7 @@ E:locked door | ||
506 | 506 | G:+:U |
507 | 507 | M:CLOSED_DOOR |
508 | 508 | W:10 |
509 | -K:DESTROYED:FLOOR | |
509 | +K:DESTROYED:*FLOOR* | |
510 | 510 | K:OPEN:OPEN_DOOR |
511 | 511 | K:BASH:BROKEN_DOOR |
512 | 512 | K:SPIKE:JAMMED_DOOR_7 |
@@ -522,7 +522,7 @@ E:jammed door | ||
522 | 522 | G:+:U |
523 | 523 | M:CLOSED_DOOR |
524 | 524 | W:10 |
525 | -K:DESTROYED:FLOOR | |
525 | +K:DESTROYED:*FLOOR* | |
526 | 526 | K:OPEN:OPEN_DOOR |
527 | 527 | K:BASH:BROKEN_DOOR |
528 | 528 | K:SPIKE:JAMMED_DOOR_1 |
@@ -537,7 +537,7 @@ E:jammed door | ||
537 | 537 | G:+:U |
538 | 538 | M:CLOSED_DOOR |
539 | 539 | W:10 |
540 | -K:DESTROYED:FLOOR | |
540 | +K:DESTROYED:*FLOOR* | |
541 | 541 | K:OPEN:OPEN_DOOR |
542 | 542 | K:BASH:BROKEN_DOOR |
543 | 543 | K:SPIKE:JAMMED_DOOR_2 |
@@ -552,7 +552,7 @@ E:jammed door | ||
552 | 552 | G:+:U |
553 | 553 | M:CLOSED_DOOR |
554 | 554 | W:10 |
555 | -K:DESTROYED:FLOOR | |
555 | +K:DESTROYED:*FLOOR* | |
556 | 556 | K:OPEN:OPEN_DOOR |
557 | 557 | K:BASH:BROKEN_DOOR |
558 | 558 | K:SPIKE:JAMMED_DOOR_3 |
@@ -567,7 +567,7 @@ E:jammed door | ||
567 | 567 | G:+:U |
568 | 568 | M:CLOSED_DOOR |
569 | 569 | W:10 |
570 | -K:DESTROYED:FLOOR | |
570 | +K:DESTROYED:*FLOOR* | |
571 | 571 | K:OPEN:OPEN_DOOR |
572 | 572 | K:BASH:BROKEN_DOOR |
573 | 573 | K:SPIKE:JAMMED_DOOR_4 |
@@ -582,7 +582,7 @@ E:jammed door | ||
582 | 582 | G:+:U |
583 | 583 | M:CLOSED_DOOR |
584 | 584 | W:10 |
585 | -K:DESTROYED:FLOOR | |
585 | +K:DESTROYED:*FLOOR* | |
586 | 586 | K:OPEN:OPEN_DOOR |
587 | 587 | K:BASH:BROKEN_DOOR |
588 | 588 | K:SPIKE:JAMMED_DOOR_5 |
@@ -597,7 +597,7 @@ E:jammed door | ||
597 | 597 | G:+:U |
598 | 598 | M:CLOSED_DOOR |
599 | 599 | W:10 |
600 | -K:DESTROYED:FLOOR | |
600 | +K:DESTROYED:*FLOOR* | |
601 | 601 | K:OPEN:OPEN_DOOR |
602 | 602 | K:BASH:BROKEN_DOOR |
603 | 603 | K:SPIKE:JAMMED_DOOR_6 |
@@ -612,7 +612,7 @@ E:jammed door | ||
612 | 612 | G:+:U |
613 | 613 | M:CLOSED_DOOR |
614 | 614 | W:10 |
615 | -K:DESTROYED:FLOOR | |
615 | +K:DESTROYED:*FLOOR* | |
616 | 616 | K:OPEN:OPEN_DOOR |
617 | 617 | K:BASH:BROKEN_DOOR |
618 | 618 | K:SPIKE:JAMMED_DOOR_7 |
@@ -627,7 +627,7 @@ E:jammed door | ||
627 | 627 | G:+:U |
628 | 628 | M:CLOSED_DOOR |
629 | 629 | W:10 |
630 | -K:DESTROYED:FLOOR | |
630 | +K:DESTROYED:*FLOOR* | |
631 | 631 | K:OPEN:OPEN_DOOR |
632 | 632 | K:BASH:BROKEN_DOOR |
633 | 633 | K:SPIKE:JAMMED_DOOR_7 |
@@ -642,7 +642,7 @@ E:secret door | ||
642 | 642 | G:#:w |
643 | 643 | M:GRANITE |
644 | 644 | W:10 |
645 | -K:DESTROYED:FLOOR | |
645 | +K:DESTROYED:*FLOOR* | |
646 | 646 | K:SECRET:CLOSED_DOOR |
647 | 647 | K:OPEN:OPEN_DOOR |
648 | 648 | K:BASH:BROKEN_DOOR |
@@ -656,7 +656,7 @@ J: | ||
656 | 656 | E:pile of rubble |
657 | 657 | G:::w:LIT |
658 | 658 | W:2 |
659 | -K:DESTROYED:FLOOR | |
659 | +K:DESTROYED:*FLOOR* | |
660 | 660 | F:POWER_10 | REMEMBER | TUNNEL | HAS_ITEM | HURT_ROCK | CAN_PASS | CAN_DIG | |
661 | 661 | F:HURT_DISI |
662 | 662 |
@@ -667,7 +667,7 @@ J: | ||
667 | 667 | E:magma vein |
668 | 668 | G:%:s:LIT |
669 | 669 | W:2 |
670 | -K:DESTROYED:FLOOR | |
670 | +K:DESTROYED:*FLOOR* | |
671 | 671 | K:MAY_HAVE_GOLD:MAGMA_TREASURE |
672 | 672 | F:POWER_10 | REMEMBER | TUNNEL | MAY_HAVE_GOLD | WALL | HURT_ROCK | CAN_PASS | |
673 | 673 | F:HURT_DISI |
@@ -679,7 +679,7 @@ J: | ||
679 | 679 | E:quartz vein |
680 | 680 | G:%:w:LIT |
681 | 681 | W:2 |
682 | -K:DESTROYED:FLOOR | |
682 | +K:DESTROYED:*FLOOR* | |
683 | 683 | K:MAY_HAVE_GOLD:QUARTZ_TREASURE |
684 | 684 | F:POWER_20 | REMEMBER | TUNNEL | MAY_HAVE_GOLD | WALL | HURT_ROCK | CAN_PASS | |
685 | 685 | F:HURT_DISI |
@@ -692,7 +692,7 @@ E:magma vein with hidden treasure | ||
692 | 692 | G:%:s:LIT |
693 | 693 | M:MAGMA_VEIN |
694 | 694 | W:2 |
695 | -K:DESTROYED:FLOOR | |
695 | +K:DESTROYED:*FLOOR* | |
696 | 696 | K:SECRET:MAGMA_TREASURE |
697 | 697 | F:POWER_10 | SECRET | REMEMBER | TUNNEL | HAS_GOLD | WALL | HURT_ROCK | |
698 | 698 | F:CAN_PASS | HURT_DISI |
@@ -705,7 +705,7 @@ E:quartz vein hidden treasure | ||
705 | 705 | G:%:w:LIT |
706 | 706 | M:QUARTZ_VEIN |
707 | 707 | W:2 |
708 | -K:DESTROYED:FLOOR | |
708 | +K:DESTROYED:*FLOOR* | |
709 | 709 | K:SECRET:QUARTZ_TREASURE |
710 | 710 | F:POWER_20 | SECRET | REMEMBER | TUNNEL | HAS_GOLD | WALL | HURT_ROCK | |
711 | 711 | F:CAN_PASS | HURT_DISI |
@@ -717,7 +717,7 @@ J: | ||
717 | 717 | E:magma vein with treasure |
718 | 718 | G:*:o:LIT |
719 | 719 | W:2 |
720 | -K:DESTROYED:FLOOR | |
720 | +K:DESTROYED:*FLOOR* | |
721 | 721 | K:ENSECRET:MAGMA_HIDDEN |
722 | 722 | F:POWER_20 | REMEMBER | TUNNEL | HAS_GOLD | WALL | HURT_ROCK | CAN_PASS | |
723 | 723 | F:HURT_DISI |
@@ -729,7 +729,7 @@ J: | ||
729 | 729 | E:quartz vein with treasure |
730 | 730 | G:*:o:LIT |
731 | 731 | W:2 |
732 | -K:DESTROYED:FLOOR | |
732 | +K:DESTROYED:*FLOOR* | |
733 | 733 | K:ENSECRET:QUARTZ_HIDDEN |
734 | 734 | F:POWER_20 | REMEMBER | TUNNEL | HAS_GOLD | WALL | HURT_ROCK | CAN_PASS | |
735 | 735 | F:HURT_DISI |
@@ -741,7 +741,7 @@ J: | ||
741 | 741 | E:granite wall |
742 | 742 | G:#:w:LIT |
743 | 743 | W:2 |
744 | -K:DESTROYED:FLOOR | |
744 | +K:DESTROYED:*FLOOR* | |
745 | 745 | F:POWER_40 | REMEMBER | TUNNEL | WALL | HURT_ROCK | CAN_PASS | HURT_DISI |
746 | 746 | |
747 | 747 | # 0x39 --> granite wall -- inner |
@@ -752,7 +752,7 @@ E:granite wall | ||
752 | 752 | G:#:w:LIT |
753 | 753 | M:GRANITE |
754 | 754 | W:2 |
755 | -K:DESTROYED:FLOOR | |
755 | +K:DESTROYED:*FLOOR* | |
756 | 756 | F:POWER_40 | REMEMBER | TUNNEL | WALL | HURT_ROCK | CAN_PASS | |
757 | 757 | F:HURT_DISI |
758 | 758 |
@@ -764,7 +764,7 @@ E:granite wall | ||
764 | 764 | G:#:w:LIT |
765 | 765 | M:GRANITE |
766 | 766 | W:2 |
767 | -K:DESTROYED:FLOOR | |
767 | +K:DESTROYED:*FLOOR* | |
768 | 768 | F:POWER_40 | REMEMBER | TUNNEL | WALL | HURT_ROCK | CAN_PASS | |
769 | 769 | F:HURT_DISI |
770 | 770 |
@@ -776,7 +776,7 @@ E:granite wall | ||
776 | 776 | G:#:w:LIT |
777 | 777 | M:GRANITE |
778 | 778 | W:2 |
779 | -K:DESTROYED:FLOOR | |
779 | +K:DESTROYED:*FLOOR* | |
780 | 780 | F:POWER_40 | REMEMBER | TUNNEL | WALL | HURT_ROCK | CAN_PASS | |
781 | 781 | F:HURT_DISI |
782 | 782 |
@@ -828,7 +828,7 @@ J: | ||
828 | 828 | E:explosive rune |
829 | 829 | G:;:R:LIT |
830 | 830 | W:16 |
831 | -K:DESTROYED:FLOOR | |
831 | +K:DESTROYED:*FLOOR* | |
832 | 832 | F:LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | CAN_FLY | MINOR_GLYPH | |
833 | 833 | F:HURT_DISI |
834 | 834 |
@@ -1054,8 +1054,8 @@ J: | ||
1054 | 1054 | E:compact rune |
1055 | 1055 | G:^:D:LIT |
1056 | 1056 | W:2 |
1057 | -K:DESTROYED:FLOOR | |
1058 | -K:HIT_TRAP:FLOOR | |
1057 | +K:DESTROYED:*FLOOR* | |
1058 | +K:HIT_TRAP:*FLOOR* | |
1059 | 1059 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
1060 | 1060 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
1061 | 1061 |
@@ -1064,7 +1064,7 @@ J: | ||
1064 | 1064 | E:alarm |
1065 | 1065 | G:^:R:LIT |
1066 | 1066 | W:2 |
1067 | -K:DESTROYED:FLOOR | |
1067 | +K:DESTROYED:*FLOOR* | |
1068 | 1068 | K:HIT_TRAP:TRAP_ALARM |
1069 | 1069 | F:POWER_5 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | TRAP | |
1070 | 1070 | F:HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -1074,7 +1074,7 @@ J: | ||
1074 | 1074 | E:wall opeing trap |
1075 | 1075 | G:^:w:LIT |
1076 | 1076 | W:10 |
1077 | -K:DESTROYED:FLOOR | |
1077 | +K:DESTROYED:*FLOOR* | |
1078 | 1078 | K:HIT_TRAP:TRAP_OPEN |
1079 | 1079 | F:POWER_100 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | |
1080 | 1080 | F:TRAP | HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -1119,7 +1119,7 @@ J: | ||
1119 | 1119 | E:mountain chain |
1120 | 1120 | G:^:o:LIT |
1121 | 1121 | W:5 |
1122 | -K:UNPERM:GRANITE | |
1122 | +K:UNPERM:*INNER* | |
1123 | 1123 | F:REMEMBER | TUNNEL | WALL | PERMANENT | MOUNTAIN | TELEPORTABLE | |
1124 | 1124 | F:PLACE | CAN_FLY | AVOID_RUN |
1125 | 1125 |
@@ -1129,7 +1129,7 @@ E:mountain chain | ||
1129 | 1129 | G:^:o:LIT |
1130 | 1130 | M:MOUNTAIN |
1131 | 1131 | W:5 |
1132 | -K:UNPERM:GRANITE | |
1132 | +K:UNPERM:*INNER* | |
1133 | 1133 | F:REMEMBER | TUNNEL | WALL | PERMANENT |
1134 | 1134 | |
1135 | 1135 | N:128:BUILDING_0 |
@@ -1432,8 +1432,8 @@ J: | ||
1432 | 1432 | E:Armageddon trap |
1433 | 1433 | G:^:v:LIT |
1434 | 1434 | W:10 |
1435 | -K:DESTROYED:FLOOR | |
1436 | -K:HIT_TRAP:FLOOR | |
1435 | +K:DESTROYED:*FLOOR* | |
1436 | +K:HIT_TRAP:*FLOOR* | |
1437 | 1437 | F:POWER_100 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | |
1438 | 1438 | F:TRAP | HIT_TRAP | CAN_FLY | HURT_DISI |
1439 | 1439 |
@@ -1442,7 +1442,7 @@ J: | ||
1442 | 1442 | E:Piranha trap |
1443 | 1443 | G:^:b:LIT |
1444 | 1444 | W:10 |
1445 | -K:DESTROYED:FLOOR | |
1446 | -K:HIT_TRAP:FLOOR | |
1445 | +K:DESTROYED:*FLOOR* | |
1446 | +K:HIT_TRAP:*FLOOR* | |
1447 | 1447 | F:POWER_100 | LOS | PROJECT | MOVE | PLACE | NOTICE | REMEMBER | DISARM | |
1448 | 1448 | F:TRAP | HIT_TRAP | CAN_FLY | HURT_DISI |
@@ -4464,6 +4464,30 @@ void cave_set_feat(int y, int x, int feat) | ||
4464 | 4464 | } |
4465 | 4465 | |
4466 | 4466 | |
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 | + | |
4467 | 4491 | /* |
4468 | 4492 | * Take a feature, determine what that feature becomes |
4469 | 4493 | * through applying the given action. |
@@ -4471,26 +4495,17 @@ void cave_set_feat(int y, int x, int feat) | ||
4471 | 4495 | int feat_state(int feat, int action) |
4472 | 4496 | { |
4473 | 4497 | feature_type *f_ptr = &f_info[feat]; |
4474 | - int newfeat, i; | |
4498 | + int i; | |
4475 | 4499 | |
4476 | 4500 | /* Get the new feature */ |
4477 | 4501 | for (i = 0; i < MAX_FEAT_STATES; i++) |
4478 | 4502 | { |
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); | |
4484 | 4504 | } |
4485 | 4505 | |
4486 | 4506 | if (have_flag(f_ptr->flags, FF_PERMANENT)) return feat; |
4487 | 4507 | |
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; | |
4494 | 4509 | } |
4495 | 4510 | |
4496 | 4511 | /* |
@@ -1129,6 +1129,15 @@ | ||
1129 | 1129 | #define FEAT_TRAP_ARMAGEDDON 0xc5 |
1130 | 1130 | #define FEAT_TRAP_PIRANHA 0xc6 |
1131 | 1131 | |
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 | + | |
1132 | 1141 | /* |
1133 | 1142 | * Wilderness terrains |
1134 | 1143 | */ |
@@ -630,6 +630,7 @@ extern void map_area(int range); | ||
630 | 630 | extern void wiz_lite(bool ninja); |
631 | 631 | extern void wiz_dark(void); |
632 | 632 | extern void cave_set_feat(int y, int x, int feat); |
633 | +extern int conv_dungeon_feat(int newfeat); | |
633 | 634 | extern int feat_state(int feat, int action); |
634 | 635 | extern void cave_alter_feat(int y, int x, int action); |
635 | 636 | extern void remove_mirror(int y, int x); |
@@ -619,14 +619,9 @@ static bool cave_gen(void) | ||
619 | 619 | /* Fill the arrays of floors and walls in the good proportions */ |
620 | 620 | set_floor_and_wall(dungeon_type); |
621 | 621 | |
622 | - | |
623 | 622 | /* Prepare allocation table */ |
624 | 623 | get_mon_num_prep(get_monster_hook(), NULL); |
625 | 624 | |
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 | - | |
630 | 625 | /* Randomize the dungeon creation values */ |
631 | 626 | dun_tun_rnd = rand_range(DUN_TUN_RND_MIN, DUN_TUN_RND_MAX); |
632 | 627 | dun_tun_chg = rand_range(DUN_TUN_CHG_MIN, DUN_TUN_CHG_MAX); |
@@ -250,6 +250,22 @@ static cptr f_info_flags[] = | ||
250 | 250 | |
251 | 251 | |
252 | 252 | /* |
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 | +/* | |
253 | 269 | * Monster race flags |
254 | 270 | */ |
255 | 271 | static cptr r_info_flags1[] = |
@@ -1718,6 +1734,16 @@ s16b f_tag_to_index(cptr str) | ||
1718 | 1734 | } |
1719 | 1735 | } |
1720 | 1736 | |
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 | + | |
1721 | 1747 | /* Not found */ |
1722 | 1748 | return 0; |
1723 | 1749 | } |
@@ -1744,6 +1770,17 @@ static void search_real_feat(s16b *feat) | ||
1744 | 1770 | } |
1745 | 1771 | } |
1746 | 1772 | |
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 | + | |
1747 | 1784 | /* Undefined tag */ |
1748 | 1785 | #ifdef JP |
1749 | 1786 | msg_format("未定義のタグ '%s'。", f_tag + (-(*feat))); |
@@ -47,6 +47,10 @@ void set_floor_and_wall(byte type) | ||
47 | 47 | |
48 | 48 | set_floor_and_wall_aux(floor_type, d_ptr->floor); |
49 | 49 | 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; | |
50 | 54 | } |
51 | 55 | |
52 | 56 |