|
37 | 37 | (setv
|
38 | 38 | damage-melee None
|
39 | 39 | ; How much damage the monster does with its basic melee attack.
|
40 |
| - ; This can be `None`, one number, or a tuple of numbers, with |
41 |
| - ; element 0 giving damage when the monster is at 1 HP, element 1 |
42 |
| - ; at 2 HP, etc. (the last element being implicitly repeated as |
43 |
| - ; required). |
| 40 | + ; This can be `None` (for no melee attack), one number, or a |
| 41 | + ; tuple of numbers, with element 0 giving damage when the |
| 42 | + ; monster is at 1 HP, element 1 at 2 HP, etc. (the last element |
| 43 | + ; being implicitly repeated as required). |
44 | 44 | damage-shot None
|
45 | 45 | ; Likewise for shots.
|
46 | 46 | shot-range None
|
|
72 | 72 | (and
|
73 | 73 | (.player-has? StatusEffect.Ivis)
|
74 | 74 | (not (adjacent? (or mon-pos @pos) G.player.pos))
|
| 75 | + ; Invisibility has no effect on adjacent monsters. They can |
| 76 | + ; smell your fear. |
75 | 77 | (not @sees-invisible)))
|
76 | 78 |
|
77 | 79 | (defmeth try-to-attack-player [[dry-run F] [shots-ignore-obstacles F] [pos None]]
|
|
376 | 378 | :score-for-damaging (property-meth []
|
377 | 379 | (self-sc score-for-damaging))
|
378 | 380 | :immune (property-meth []
|
| 381 | + ; Generators inherit all the immunities of the monsters they |
| 382 | + ; generate, and they're always immune to poison. |
379 | 383 | (setv x (self-sc immune))
|
380 | 384 | (+ x (if (in Poison x) #() #(Poison))))
|
381 | 385 |
|
382 | 386 | :full-name (property-meth []
|
383 |
| - (setv sc (self-sc)) |
384 | 387 | (.format "{}{} {}"
|
385 |
| - (if sc.article (+ sc.article " ") "") |
386 |
| - (.replace sc.stem " " "-") |
| 388 | + (if (self-sc article) (+ (self-sc article) " ") "") |
| 389 | + (.replace (self-sc stem) " " "-") |
387 | 390 | (Tile.full-name.fget @)))
|
388 | 391 |
|
389 | 392 | :act (meth []
|
|
579 | 582 | :iq-ix 49
|
580 | 583 | :destruction-points 200
|
581 | 584 |
|
582 |
| - :immune #(MundaneArrow Fire #* undead-immunities) |
| 585 | + :immune #(MundaneArrow Fire #* undead-immunities) |
583 | 586 | :resists #(MagicArrow)
|
584 | 587 | :damage-melee 20
|
585 | 588 |
|
|
590 | 593 | :destruction-points 50
|
591 | 594 |
|
592 | 595 | :immune #(PlayerMelee MundaneArrow Fire Poison DeathMagic)
|
593 |
| - ; The immunity to death magic is an addition to IQ. |
| 596 | + ; The immunity to death magic is an addition compared to IQ. I |
| 597 | + ; added it because they're clearly not living things. "Killing" |
| 598 | + ; them with a wand of death makes no sense. |
594 | 599 | :damage-melee 25
|
595 | 600 | :kamikaze T
|
596 | 601 |
|
|
614 | 619 | (@wander :implicit-attack F))
|
615 | 620 |
|
616 | 621 | :hook-normal-destruction (meth []
|
617 |
| - "The monster can attempt a free attack, unless it killed itself by kamikaze." |
| 622 | + "The monster can immediately attempt to attack, unless it killed itself by kamikaze." |
618 | 623 | (@try-to-attack-player))
|
619 | 624 |
|
620 | 625 | :flavor "A giant aerial jellyfish, kept aloft by a foul-smelling and highly reactive gas. It doesn't fly so much as float about in the dungeon drafts. If disturbed, it readily explodes, and its explosions have the remarkable property of harming you and nobody else.")
|
|
0 commit comments