|
123 | 123 | (not (and tile.passwallable (player-status 'Pass))))))))))))
|
124 | 124 |
|
125 | 125 |
|
126 |
| -(deftile "██" "a wall" Scenery |
| 126 | +(defclass Wallish [Scenery] |
| 127 | + (setv |
| 128 | + blocks-move T blocks-diag T |
| 129 | + passwallable T |
| 130 | + wand-destructible T)) |
| 131 | +
|
| 132 | +
|
| 133 | +(deftile "██" "a wall" Wallish |
127 | 134 | :iq-ix #(
|
128 | 135 | 2 ; wall
|
129 | 136 | 131) ; invisible wall
|
130 | 137 | ; Replacing invisible walls with walls is not entirely cosmetic:
|
131 | 138 | ; IQ's invisible walls are specifically immune to passwall
|
132 | 139 | ; amulets, albeit not wall-destroying wands.
|
133 |
| - :blocks-move T :blocks-diag T |
134 |
| - :passwallable T |
135 |
| - :wand-destructible T |
136 | 140 | :flavor "Among the most numerous and persistent of the obstacles that stand in the way of your inevitable victory.\n\n This man, with lime and rough-cast, doth present\n Wall, that vile Wall which did these lovers sunder;\n And through Wall's chink, poor souls, they are content\n To whisper, at the which let no man wonder.")
|
137 | 141 |
|
138 | 142 | (deftile "██" "the Void" Scenery
|
|
317 | 321 | :flavor "Get me outta here.")
|
318 | 322 |
|
319 | 323 |
|
320 |
| -(deftile "##" "a cracked wall" [Scenery Damageable] |
| 324 | +(deftile "##" "a cracked wall" [Wallish Damageable] |
321 | 325 | :field-defaults (dict
|
322 | 326 | :hp 2)
|
323 | 327 | :iq-ix-mapper ["hp"
|
324 | 328 | {3 4 4 2 15 6}]
|
325 | 329 |
|
326 |
| - :blocks-move T :blocks-diag T :blocks-player-shots F |
327 |
| - :passwallable T |
328 |
| - :wand-destructible T |
| 330 | + :blocks-player-shots F |
329 | 331 | :immune #(DamageType.Poison DamageType.Fire DamageType.DeathMagic)
|
330 | 332 |
|
331 | 333 | :flavor "I think this dungeon might not be up to code.")
|
332 | 334 |
|
333 | 335 |
|
334 |
| -(defclass BreakableWall [Scenery] |
| 336 | +(defclass BreakableWall [Wallish] |
335 | 337 |
|
336 | 338 | (setv
|
337 |
| - blocks-monster T |
338 |
| - blocks-diag T |
339 |
| - passwallable T |
340 |
| - wand-destructible T |
341 | 339 | color 'white
|
342 | 340 | color-bg 'black)
|
343 | 341 |
|
|
391 | 389 |
|
392 | 390 | (setv poshooked-callback phase-shift))
|
393 | 391 |
|
394 |
| -(deftile "☯█" "a phasing wall (in phase)" PhasingWall |
| 392 | +(deftile "☯█" "a phasing wall (in phase)" [PhasingWall Wallish] |
395 | 393 | :color #('white None)
|
396 | 394 | :color-bg #('black None)
|
397 | 395 | :iq-ix 139
|
398 |
| - :blocks-move T :blocks-diag T |
399 |
| - :passwallable T |
400 |
| - :wand-destructible T |
401 | 396 |
|
402 | 397 | :phase-replace "phasing wall (out of phase)"
|
403 | 398 |
|
|
657 | 652 |
|
658 | 653 | :flavor #[[Easy there, Admiral Ackbar. This kind of trap isn't necessarily dangerous. Well, admittedly, the key word here is "necessarily".]])
|
659 | 654 |
|
660 |
| -(deftile :name "a trapped wall" :superc Scenery |
| 655 | +(deftile :name "a trapped wall" :superc Wallish |
661 | 656 | :color #('black 'pale-yellow)
|
662 | 657 | :color-bg #(None 'black)
|
663 | 658 | :field-defaults (dict
|
|
670 | 665 | (+ "█" (if (< @wallnum 10) (str @wallnum) "^")))
|
671 | 666 | :suffix-dict (meth []
|
672 | 667 | (dict :type @wallnum))
|
673 |
| - :blocks-move T :blocks-diag T |
674 |
| - :passwallable T |
675 |
| - :wand-destructible T |
676 | 668 | :info-bullets (meth [#* extra]
|
677 | 669 | (.info-bullets (super)
|
678 | 670 | #("Wallfall type" @wallnum)))
|
|
0 commit comments