@rpgm-tools/neo-angband-core 0.17.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/agent/perceive.d.ts.map +1 -1
- package/dist/agent/perceive.js +2 -2
- package/dist/agent/perceive.js.map +1 -1
- package/dist/combat/blow-vectors.d.ts +78 -0
- package/dist/combat/blow-vectors.d.ts.map +1 -0
- package/dist/combat/blow-vectors.fixtures.d.ts +19 -0
- package/dist/combat/blow-vectors.fixtures.d.ts.map +1 -0
- package/dist/combat/blow-vectors.fixtures.js +81 -0
- package/dist/combat/blow-vectors.fixtures.js.map +1 -0
- package/dist/combat/blow-vectors.js +195 -0
- package/dist/combat/blow-vectors.js.map +1 -0
- package/dist/combat/brand-slay.d.ts +22 -9
- package/dist/combat/brand-slay.d.ts.map +1 -1
- package/dist/combat/brand-slay.js +37 -10
- package/dist/combat/brand-slay.js.map +1 -1
- package/dist/combat/index.d.ts +1 -1
- package/dist/combat/index.js +1 -1
- package/dist/combat/melee.d.ts +25 -13
- package/dist/combat/melee.d.ts.map +1 -1
- package/dist/combat/melee.js +23 -19
- package/dist/combat/melee.js.map +1 -1
- package/dist/combat/mon-melee.d.ts +166 -7
- package/dist/combat/mon-melee.d.ts.map +1 -1
- package/dist/combat/mon-melee.js +469 -338
- package/dist/combat/mon-melee.js.map +1 -1
- package/dist/combat/ranged.d.ts +15 -13
- package/dist/combat/ranged.d.ts.map +1 -1
- package/dist/combat/ranged.js +31 -29
- package/dist/combat/ranged.js.map +1 -1
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +14 -0
- package/dist/constants.js.map +1 -1
- package/dist/datafile.d.ts +48 -0
- package/dist/datafile.d.ts.map +1 -0
- package/dist/datafile.js +102 -0
- package/dist/datafile.js.map +1 -0
- package/dist/effects/effect-info-registry.d.ts +237 -0
- package/dist/effects/effect-info-registry.d.ts.map +1 -0
- package/dist/effects/effect-info-registry.js +138 -0
- package/dist/effects/effect-info-registry.js.map +1 -0
- package/dist/effects/effect-info-vectors.d.ts +92 -0
- package/dist/effects/effect-info-vectors.d.ts.map +1 -0
- package/dist/effects/effect-info-vectors.fixtures.d.ts +18 -0
- package/dist/effects/effect-info-vectors.fixtures.d.ts.map +1 -0
- package/dist/effects/effect-info-vectors.fixtures.js +51 -0
- package/dist/effects/effect-info-vectors.fixtures.js.map +1 -0
- package/dist/effects/effect-info-vectors.js +315 -0
- package/dist/effects/effect-info-vectors.js.map +1 -0
- package/dist/effects/effect-info.d.ts +5 -1
- package/dist/effects/effect-info.d.ts.map +1 -1
- package/dist/effects/effect-info.js +245 -143
- package/dist/effects/effect-info.js.map +1 -1
- package/dist/effects/effect.d.ts +4 -3
- package/dist/effects/effect.d.ts.map +1 -1
- package/dist/effects/effect.js +88 -70
- package/dist/effects/effect.js.map +1 -1
- package/dist/effects/handlers.d.ts +1 -1
- package/dist/effects/handlers.d.ts.map +1 -1
- package/dist/effects/handlers.js +5 -2
- package/dist/effects/handlers.js.map +1 -1
- package/dist/effects/interpreter.d.ts +11 -0
- package/dist/effects/interpreter.d.ts.map +1 -1
- package/dist/effects/interpreter.js +13 -0
- package/dist/effects/interpreter.js.map +1 -1
- package/dist/game/cave-cmd.d.ts +9 -5
- package/dist/game/cave-cmd.d.ts.map +1 -1
- package/dist/game/cave-cmd.js +56 -11
- package/dist/game/cave-cmd.js.map +1 -1
- package/dist/game/cave-square.d.ts +42 -0
- package/dist/game/cave-square.d.ts.map +1 -0
- package/dist/game/cave-square.js +73 -0
- package/dist/game/cave-square.js.map +1 -0
- package/dist/game/char-sheet.d.ts +12 -8
- package/dist/game/char-sheet.d.ts.map +1 -1
- package/dist/game/char-sheet.js +41 -8
- package/dist/game/char-sheet.js.map +1 -1
- package/dist/game/chest.d.ts +2 -3
- package/dist/game/chest.d.ts.map +1 -1
- package/dist/game/chest.js +17 -6
- package/dist/game/chest.js.map +1 -1
- package/dist/game/context.d.ts +213 -22
- package/dist/game/context.d.ts.map +1 -1
- package/dist/game/context.js +109 -17
- package/dist/game/context.js.map +1 -1
- package/dist/game/describe.d.ts +13 -0
- package/dist/game/describe.d.ts.map +1 -1
- package/dist/game/describe.js +32 -4
- package/dist/game/describe.js.map +1 -1
- package/dist/game/display.d.ts +97 -8
- package/dist/game/display.d.ts.map +1 -1
- package/dist/game/display.js +157 -13
- package/dist/game/display.js.map +1 -1
- package/dist/game/dump-level.d.ts.map +1 -1
- package/dist/game/dump-level.js +3 -2
- package/dist/game/dump-level.js.map +1 -1
- package/dist/game/effect-attack.d.ts.map +1 -1
- package/dist/game/effect-attack.js +36 -27
- package/dist/game/effect-attack.js.map +1 -1
- package/dist/game/effect-detect.d.ts +4 -4
- package/dist/game/effect-detect.d.ts.map +1 -1
- package/dist/game/effect-detect.js +42 -9
- package/dist/game/effect-detect.js.map +1 -1
- package/dist/game/effect-env.d.ts +7 -1
- package/dist/game/effect-env.d.ts.map +1 -1
- package/dist/game/effect-env.js +1 -0
- package/dist/game/effect-env.js.map +1 -1
- package/dist/game/effect-general.d.ts +5 -3
- package/dist/game/effect-general.d.ts.map +1 -1
- package/dist/game/effect-general.js +94 -43
- package/dist/game/effect-general.js.map +1 -1
- package/dist/game/effect-item.d.ts +2 -1
- package/dist/game/effect-item.d.ts.map +1 -1
- package/dist/game/effect-item.js +136 -82
- package/dist/game/effect-item.js.map +1 -1
- package/dist/game/effect-melee.d.ts +10 -4
- package/dist/game/effect-melee.d.ts.map +1 -1
- package/dist/game/effect-melee.js +44 -19
- package/dist/game/effect-melee.js.map +1 -1
- package/dist/game/effect-monster.d.ts +26 -4
- package/dist/game/effect-monster.d.ts.map +1 -1
- package/dist/game/effect-monster.js +52 -9
- package/dist/game/effect-monster.js.map +1 -1
- package/dist/game/effect-teleport.d.ts +58 -19
- package/dist/game/effect-teleport.d.ts.map +1 -1
- package/dist/game/effect-teleport.js +143 -27
- package/dist/game/effect-teleport.js.map +1 -1
- package/dist/game/effect-terrain.d.ts +1 -3
- package/dist/game/effect-terrain.d.ts.map +1 -1
- package/dist/game/effect-terrain.js +38 -22
- package/dist/game/effect-terrain.js.map +1 -1
- package/dist/game/equip-cmp.d.ts.map +1 -1
- package/dist/game/equip-cmp.js +10 -7
- package/dist/game/equip-cmp.js.map +1 -1
- package/dist/game/floor.d.ts +16 -4
- package/dist/game/floor.d.ts.map +1 -1
- package/dist/game/floor.js +22 -4
- package/dist/game/floor.js.map +1 -1
- package/dist/game/gear.d.ts +101 -13
- package/dist/game/gear.d.ts.map +1 -1
- package/dist/game/gear.js +183 -24
- package/dist/game/gear.js.map +1 -1
- package/dist/game/harness.d.ts +2 -1
- package/dist/game/harness.d.ts.map +1 -1
- package/dist/game/harness.js +12 -1
- package/dist/game/harness.js.map +1 -1
- package/dist/game/ignore-cmd.d.ts +47 -8
- package/dist/game/ignore-cmd.d.ts.map +1 -1
- package/dist/game/ignore-cmd.js +76 -8
- package/dist/game/ignore-cmd.js.map +1 -1
- package/dist/game/known.d.ts +223 -34
- package/dist/game/known.d.ts.map +1 -1
- package/dist/game/known.js +301 -67
- package/dist/game/known.js.map +1 -1
- package/dist/game/loop.d.ts +4 -3
- package/dist/game/loop.d.ts.map +1 -1
- package/dist/game/loop.js +49 -29
- package/dist/game/loop.js.map +1 -1
- package/dist/game/lore-color.d.ts.map +1 -1
- package/dist/game/lore-color.js +13 -1
- package/dist/game/lore-color.js.map +1 -1
- package/dist/game/mon-cast.d.ts +3 -4
- package/dist/game/mon-cast.d.ts.map +1 -1
- package/dist/game/mon-cast.js +30 -2
- package/dist/game/mon-cast.js.map +1 -1
- package/dist/game/mon-cmd.d.ts +4 -5
- package/dist/game/mon-cmd.d.ts.map +1 -1
- package/dist/game/mon-cmd.js +80 -27
- package/dist/game/mon-cmd.js.map +1 -1
- package/dist/game/mon-death.d.ts +8 -4
- package/dist/game/mon-death.d.ts.map +1 -1
- package/dist/game/mon-death.js +6 -9
- package/dist/game/mon-death.js.map +1 -1
- package/dist/game/mon-group.d.ts +9 -5
- package/dist/game/mon-group.d.ts.map +1 -1
- package/dist/game/mon-group.js +9 -5
- package/dist/game/mon-group.js.map +1 -1
- package/dist/game/mon-message.d.ts +90 -40
- package/dist/game/mon-message.d.ts.map +1 -1
- package/dist/game/mon-message.js +267 -59
- package/dist/game/mon-message.js.map +1 -1
- package/dist/game/mon-place.d.ts +11 -1
- package/dist/game/mon-place.d.ts.map +1 -1
- package/dist/game/mon-place.js +15 -3
- package/dist/game/mon-place.js.map +1 -1
- package/dist/game/mon-ranged.d.ts +2 -1
- package/dist/game/mon-ranged.d.ts.map +1 -1
- package/dist/game/mon-ranged.js +11 -5
- package/dist/game/mon-ranged.js.map +1 -1
- package/dist/game/mon-side.d.ts +3 -2
- package/dist/game/mon-side.d.ts.map +1 -1
- package/dist/game/mon-side.js +15 -14
- package/dist/game/mon-side.js.map +1 -1
- package/dist/game/monster-turn.d.ts +20 -10
- package/dist/game/monster-turn.d.ts.map +1 -1
- package/dist/game/monster-turn.js +110 -83
- package/dist/game/monster-turn.js.map +1 -1
- package/dist/game/notice.d.ts +36 -0
- package/dist/game/notice.d.ts.map +1 -0
- package/dist/game/notice.js +79 -0
- package/dist/game/notice.js.map +1 -0
- package/dist/game/obj-cmd.d.ts +14 -3
- package/dist/game/obj-cmd.d.ts.map +1 -1
- package/dist/game/obj-cmd.js +109 -35
- package/dist/game/obj-cmd.js.map +1 -1
- package/dist/game/obj-list.d.ts +13 -2
- package/dist/game/obj-list.d.ts.map +1 -1
- package/dist/game/obj-list.js +42 -27
- package/dist/game/obj-list.js.map +1 -1
- package/dist/game/object-inspect.d.ts +9 -0
- package/dist/game/object-inspect.d.ts.map +1 -1
- package/dist/game/object-inspect.js +4 -0
- package/dist/game/object-inspect.js.map +1 -1
- package/dist/game/pickup.d.ts +0 -2
- package/dist/game/pickup.d.ts.map +1 -1
- package/dist/game/pickup.js +18 -3
- package/dist/game/pickup.js.map +1 -1
- package/dist/game/player-side-vectors.d.ts +174 -0
- package/dist/game/player-side-vectors.d.ts.map +1 -0
- package/dist/game/player-side-vectors.fixtures.d.ts +33 -0
- package/dist/game/player-side-vectors.fixtures.d.ts.map +1 -0
- package/dist/game/player-side-vectors.fixtures.js +191 -0
- package/dist/game/player-side-vectors.fixtures.js.map +1 -0
- package/dist/game/player-side-vectors.js +292 -0
- package/dist/game/player-side-vectors.js.map +1 -0
- package/dist/game/player-side.d.ts +129 -1
- package/dist/game/player-side.d.ts.map +1 -1
- package/dist/game/player-side.js +520 -338
- package/dist/game/player-side.js.map +1 -1
- package/dist/game/player-turn.d.ts +26 -7
- package/dist/game/player-turn.d.ts.map +1 -1
- package/dist/game/player-turn.js +180 -33
- package/dist/game/player-turn.js.map +1 -1
- package/dist/game/poly.d.ts +38 -0
- package/dist/game/poly.d.ts.map +1 -0
- package/dist/game/poly.js +82 -0
- package/dist/game/poly.js.map +1 -0
- package/dist/game/project-cast.d.ts +20 -3
- package/dist/game/project-cast.d.ts.map +1 -1
- package/dist/game/project-cast.js +49 -6
- package/dist/game/project-cast.js.map +1 -1
- package/dist/game/project-feat-vectors.d.ts +124 -0
- package/dist/game/project-feat-vectors.d.ts.map +1 -0
- package/dist/game/project-feat-vectors.fixtures.d.ts +13 -0
- package/dist/game/project-feat-vectors.fixtures.d.ts.map +1 -0
- package/dist/game/project-feat-vectors.fixtures.js +94 -0
- package/dist/game/project-feat-vectors.fixtures.js.map +1 -0
- package/dist/game/project-feat-vectors.js +229 -0
- package/dist/game/project-feat-vectors.js.map +1 -0
- package/dist/game/project-feat.d.ts +53 -1
- package/dist/game/project-feat.d.ts.map +1 -1
- package/dist/game/project-feat.js +374 -247
- package/dist/game/project-feat.js.map +1 -1
- package/dist/game/project-monster.d.ts +21 -8
- package/dist/game/project-monster.d.ts.map +1 -1
- package/dist/game/project-monster.js +45 -21
- package/dist/game/project-monster.js.map +1 -1
- package/dist/game/project-obj.d.ts +62 -0
- package/dist/game/project-obj.d.ts.map +1 -1
- package/dist/game/project-obj.js +72 -41
- package/dist/game/project-obj.js.map +1 -1
- package/dist/game/project-player.d.ts +8 -0
- package/dist/game/project-player.d.ts.map +1 -1
- package/dist/game/project-player.js.map +1 -1
- package/dist/game/projection-handlers.d.ts +81 -0
- package/dist/game/projection-handlers.d.ts.map +1 -0
- package/dist/game/projection-handlers.js +93 -0
- package/dist/game/projection-handlers.js.map +1 -0
- package/dist/game/quest.d.ts +23 -0
- package/dist/game/quest.d.ts.map +1 -1
- package/dist/game/quest.js +42 -0
- package/dist/game/quest.js.map +1 -1
- package/dist/game/ranged-cmd.d.ts +13 -2
- package/dist/game/ranged-cmd.d.ts.map +1 -1
- package/dist/game/ranged-cmd.js +32 -15
- package/dist/game/ranged-cmd.js.map +1 -1
- package/dist/game/repeat.d.ts +78 -0
- package/dist/game/repeat.d.ts.map +1 -0
- package/dist/game/repeat.js +88 -0
- package/dist/game/repeat.js.map +1 -0
- package/dist/game/shape-inspect.d.ts +74 -0
- package/dist/game/shape-inspect.d.ts.map +1 -0
- package/dist/game/shape-inspect.js +114 -0
- package/dist/game/shape-inspect.js.map +1 -0
- package/dist/game/spell-cmd.d.ts +15 -4
- package/dist/game/spell-cmd.d.ts.map +1 -1
- package/dist/game/spell-cmd.js +35 -6
- package/dist/game/spell-cmd.js.map +1 -1
- package/dist/game/spoil.d.ts.map +1 -1
- package/dist/game/spoil.js +89 -40
- package/dist/game/spoil.js.map +1 -1
- package/dist/game/steal.d.ts +3 -3
- package/dist/game/steal.d.ts.map +1 -1
- package/dist/game/steal.js +9 -4
- package/dist/game/steal.js.map +1 -1
- package/dist/game/target-loop.d.ts +10 -4
- package/dist/game/target-loop.d.ts.map +1 -1
- package/dist/game/target-loop.js +14 -8
- package/dist/game/target-loop.js.map +1 -1
- package/dist/game/target.d.ts +4 -4
- package/dist/game/target.d.ts.map +1 -1
- package/dist/game/target.js +19 -8
- package/dist/game/target.js.map +1 -1
- package/dist/game/ui-entry.d.ts +63 -4
- package/dist/game/ui-entry.d.ts.map +1 -1
- package/dist/game/ui-entry.js +151 -23
- package/dist/game/ui-entry.js.map +1 -1
- package/dist/game/wizard.d.ts +23 -5
- package/dist/game/wizard.d.ts.map +1 -1
- package/dist/game/wizard.js +93 -11
- package/dist/game/wizard.js.map +1 -1
- package/dist/game/world.d.ts.map +1 -1
- package/dist/game/world.js +6 -0
- package/dist/game/world.js.map +1 -1
- package/dist/gen/cave.d.ts +49 -8
- package/dist/gen/cave.d.ts.map +1 -1
- package/dist/gen/cave.js +200 -28
- package/dist/gen/cave.js.map +1 -1
- package/dist/gen/generate.d.ts +54 -9
- package/dist/gen/generate.d.ts.map +1 -1
- package/dist/gen/generate.js +55 -8
- package/dist/gen/generate.js.map +1 -1
- package/dist/gen/glyph-vectors.d.ts +109 -0
- package/dist/gen/glyph-vectors.d.ts.map +1 -0
- package/dist/gen/glyph-vectors.fixtures.d.ts +18 -0
- package/dist/gen/glyph-vectors.fixtures.d.ts.map +1 -0
- package/dist/gen/glyph-vectors.fixtures.js +94 -0
- package/dist/gen/glyph-vectors.fixtures.js.map +1 -0
- package/dist/gen/glyph-vectors.js +218 -0
- package/dist/gen/glyph-vectors.js.map +1 -0
- package/dist/gen/glyph.d.ts +104 -0
- package/dist/gen/glyph.d.ts.map +1 -0
- package/dist/gen/glyph.js +72 -0
- package/dist/gen/glyph.js.map +1 -0
- package/dist/gen/room.d.ts +26 -2
- package/dist/gen/room.d.ts.map +1 -1
- package/dist/gen/room.js +414 -264
- package/dist/gen/room.js.map +1 -1
- package/dist/gen/util.d.ts +11 -2
- package/dist/gen/util.d.ts.map +1 -1
- package/dist/gen/util.js +31 -9
- package/dist/gen/util.js.map +1 -1
- package/dist/i18n/i18n.d.ts +207 -0
- package/dist/i18n/i18n.d.ts.map +1 -0
- package/dist/i18n/i18n.js +405 -0
- package/dist/i18n/i18n.js.map +1 -0
- package/dist/i18n/text.d.ts +62 -0
- package/dist/i18n/text.d.ts.map +1 -0
- package/dist/i18n/text.js +120 -0
- package/dist/i18n/text.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -1
- package/dist/mod/extension.d.ts +115 -0
- package/dist/mod/extension.d.ts.map +1 -0
- package/dist/mod/extension.js +85 -0
- package/dist/mod/extension.js.map +1 -0
- package/dist/mod/hooks.d.ts +27 -1
- package/dist/mod/hooks.d.ts.map +1 -1
- package/dist/mod/hooks.js +23 -0
- package/dist/mod/hooks.js.map +1 -1
- package/dist/mod/ids.d.ts +10 -0
- package/dist/mod/ids.d.ts.map +1 -1
- package/dist/mod/ids.js +90 -21
- package/dist/mod/ids.js.map +1 -1
- package/dist/mod/record-keys.d.ts +43 -0
- package/dist/mod/record-keys.d.ts.map +1 -0
- package/dist/mod/record-keys.js +100 -0
- package/dist/mod/record-keys.js.map +1 -0
- package/dist/mod/registry-host.d.ts +472 -0
- package/dist/mod/registry-host.d.ts.map +1 -1
- package/dist/mod/registry-host.js +313 -0
- package/dist/mod/registry-host.js.map +1 -1
- package/dist/mod/save-blocks.d.ts +1 -1
- package/dist/mon/bind.d.ts.map +1 -1
- package/dist/mon/bind.js +6 -3
- package/dist/mon/bind.js.map +1 -1
- package/dist/mon/knowledge-groups.d.ts +0 -6
- package/dist/mon/knowledge-groups.d.ts.map +1 -1
- package/dist/mon/knowledge-groups.js +12 -8
- package/dist/mon/knowledge-groups.js.map +1 -1
- package/dist/mon/lore-describe.d.ts +46 -10
- package/dist/mon/lore-describe.d.ts.map +1 -1
- package/dist/mon/lore-describe.js +74 -22
- package/dist/mon/lore-describe.js.map +1 -1
- package/dist/mon/lore-file.d.ts +126 -0
- package/dist/mon/lore-file.d.ts.map +1 -0
- package/dist/mon/lore-file.js +291 -0
- package/dist/mon/lore-file.js.map +1 -0
- package/dist/mon/lore.d.ts +9 -3
- package/dist/mon/lore.d.ts.map +1 -1
- package/dist/mon/lore.js +9 -3
- package/dist/mon/lore.js.map +1 -1
- package/dist/mon/make.d.ts +4 -2
- package/dist/mon/make.d.ts.map +1 -1
- package/dist/mon/make.js +4 -2
- package/dist/mon/make.js.map +1 -1
- package/dist/mon/monster.d.ts +1 -1
- package/dist/mon/monster.js +1 -1
- package/dist/mon/predicate.d.ts +14 -9
- package/dist/mon/predicate.d.ts.map +1 -1
- package/dist/mon/predicate.js +14 -9
- package/dist/mon/predicate.js.map +1 -1
- package/dist/mon/project-mon.d.ts +16 -3
- package/dist/mon/project-mon.d.ts.map +1 -1
- package/dist/mon/project-mon.js +14 -5
- package/dist/mon/project-mon.js.map +1 -1
- package/dist/mon/steal.d.ts +31 -4
- package/dist/mon/steal.d.ts.map +1 -1
- package/dist/mon/steal.js +20 -7
- package/dist/mon/steal.js.map +1 -1
- package/dist/mon/take-hit.d.ts +8 -3
- package/dist/mon/take-hit.d.ts.map +1 -1
- package/dist/mon/take-hit.js +8 -3
- package/dist/mon/take-hit.js.map +1 -1
- package/dist/mon/timed.d.ts +15 -9
- package/dist/mon/timed.d.ts.map +1 -1
- package/dist/mon/timed.js +13 -8
- package/dist/mon/timed.js.map +1 -1
- package/dist/mon/types.d.ts +11 -4
- package/dist/mon/types.d.ts.map +1 -1
- package/dist/mon/types.js.map +1 -1
- package/dist/msg.d.ts +40 -1
- package/dist/msg.d.ts.map +1 -1
- package/dist/msg.js +42 -1
- package/dist/msg.js.map +1 -1
- package/dist/obj/artifact-fake.d.ts +46 -14
- package/dist/obj/artifact-fake.d.ts.map +1 -1
- package/dist/obj/artifact-fake.js +46 -17
- package/dist/obj/artifact-fake.js.map +1 -1
- package/dist/obj/bind.d.ts +23 -0
- package/dist/obj/bind.d.ts.map +1 -1
- package/dist/obj/bind.js +49 -9
- package/dist/obj/bind.js.map +1 -1
- package/dist/obj/desc-vectors.d.ts +68 -0
- package/dist/obj/desc-vectors.d.ts.map +1 -0
- package/dist/obj/desc-vectors.fixtures.d.ts +12 -0
- package/dist/obj/desc-vectors.fixtures.d.ts.map +1 -0
- package/dist/obj/desc-vectors.fixtures.js +95 -0
- package/dist/obj/desc-vectors.fixtures.js.map +1 -0
- package/dist/obj/desc-vectors.js +86 -0
- package/dist/obj/desc-vectors.js.map +1 -0
- package/dist/obj/desc.d.ts +17 -2
- package/dist/obj/desc.d.ts.map +1 -1
- package/dist/obj/desc.js +129 -54
- package/dist/obj/desc.js.map +1 -1
- package/dist/obj/effects-info.d.ts.map +1 -1
- package/dist/obj/effects-info.js +87 -58
- package/dist/obj/effects-info.js.map +1 -1
- package/dist/obj/fake-object.d.ts +70 -0
- package/dist/obj/fake-object.d.ts.map +1 -0
- package/dist/obj/fake-object.js +104 -0
- package/dist/obj/fake-object.js.map +1 -0
- package/dist/obj/ignore.d.ts +55 -12
- package/dist/obj/ignore.d.ts.map +1 -1
- package/dist/obj/ignore.js +68 -31
- package/dist/obj/ignore.js.map +1 -1
- package/dist/obj/knowledge.d.ts +46 -3
- package/dist/obj/knowledge.d.ts.map +1 -1
- package/dist/obj/knowledge.js +169 -151
- package/dist/obj/knowledge.js.map +1 -1
- package/dist/obj/known-object.d.ts +68 -8
- package/dist/obj/known-object.d.ts.map +1 -1
- package/dist/obj/known-object.js +90 -10
- package/dist/obj/known-object.js.map +1 -1
- package/dist/obj/make.d.ts +15 -4
- package/dist/obj/make.d.ts.map +1 -1
- package/dist/obj/make.js +49 -27
- package/dist/obj/make.js.map +1 -1
- package/dist/obj/object-info.d.ts +10 -0
- package/dist/obj/object-info.d.ts.map +1 -1
- package/dist/obj/object-info.js +93 -7
- package/dist/obj/object-info.js.map +1 -1
- package/dist/obj/object.d.ts +42 -4
- package/dist/obj/object.d.ts.map +1 -1
- package/dist/obj/object.js +362 -147
- package/dist/obj/object.js.map +1 -1
- package/dist/obj/power.d.ts +23 -4
- package/dist/obj/power.d.ts.map +1 -1
- package/dist/obj/power.js +231 -65
- package/dist/obj/power.js.map +1 -1
- package/dist/obj/randart-build.d.ts +27 -22
- package/dist/obj/randart-build.d.ts.map +1 -1
- package/dist/obj/randart-build.js +435 -357
- package/dist/obj/randart-build.js.map +1 -1
- package/dist/obj/randart-data.d.ts +62 -24
- package/dist/obj/randart-data.d.ts.map +1 -1
- package/dist/obj/randart-data.js +333 -189
- package/dist/obj/randart-data.js.map +1 -1
- package/dist/obj/randart-file.d.ts +21 -0
- package/dist/obj/randart-file.d.ts.map +1 -0
- package/dist/obj/randart-file.js +119 -0
- package/dist/obj/randart-file.js.map +1 -0
- package/dist/obj/randart-log.d.ts +63 -0
- package/dist/obj/randart-log.d.ts.map +1 -0
- package/dist/obj/randart-log.js +72 -0
- package/dist/obj/randart-log.js.map +1 -0
- package/dist/obj/randart-registry.d.ts +178 -0
- package/dist/obj/randart-registry.d.ts.map +1 -0
- package/dist/obj/randart-registry.js +140 -0
- package/dist/obj/randart-registry.js.map +1 -0
- package/dist/obj/randart-vectors.d.ts +97 -0
- package/dist/obj/randart-vectors.d.ts.map +1 -0
- package/dist/obj/randart-vectors.fixtures.d.ts +18 -0
- package/dist/obj/randart-vectors.fixtures.d.ts.map +1 -0
- package/dist/obj/randart-vectors.fixtures.js +50 -0
- package/dist/obj/randart-vectors.fixtures.js.map +1 -0
- package/dist/obj/randart-vectors.js +311 -0
- package/dist/obj/randart-vectors.js.map +1 -0
- package/dist/obj/randart.d.ts +53 -15
- package/dist/obj/randart.d.ts.map +1 -1
- package/dist/obj/randart.js +166 -44
- package/dist/obj/randart.js.map +1 -1
- package/dist/obj/rune-registry.d.ts +180 -0
- package/dist/obj/rune-registry.d.ts.map +1 -0
- package/dist/obj/rune-registry.js +161 -0
- package/dist/obj/rune-registry.js.map +1 -0
- package/dist/obj/rune-vectors.d.ts +99 -0
- package/dist/obj/rune-vectors.d.ts.map +1 -0
- package/dist/obj/rune-vectors.fixtures.d.ts +44 -0
- package/dist/obj/rune-vectors.fixtures.d.ts.map +1 -0
- package/dist/obj/rune-vectors.fixtures.js +125 -0
- package/dist/obj/rune-vectors.fixtures.js.map +1 -0
- package/dist/obj/rune-vectors.js +159 -0
- package/dist/obj/rune-vectors.js.map +1 -0
- package/dist/obj/tval-registry.d.ts +174 -0
- package/dist/obj/tval-registry.d.ts.map +1 -0
- package/dist/obj/tval-registry.js +151 -0
- package/dist/obj/tval-registry.js.map +1 -0
- package/dist/obj/tval-vectors.d.ts +85 -0
- package/dist/obj/tval-vectors.d.ts.map +1 -0
- package/dist/obj/tval-vectors.fixtures.d.ts +24 -0
- package/dist/obj/tval-vectors.fixtures.d.ts.map +1 -0
- package/dist/obj/tval-vectors.fixtures.js +41 -0
- package/dist/obj/tval-vectors.fixtures.js.map +1 -0
- package/dist/obj/tval-vectors.js +76 -0
- package/dist/obj/tval-vectors.js.map +1 -0
- package/dist/obj/types.d.ts +18 -7
- package/dist/obj/types.d.ts.map +1 -1
- package/dist/obj/types.js.map +1 -1
- package/dist/obj/value.d.ts.map +1 -1
- package/dist/obj/value.js +23 -20
- package/dist/obj/value.js.map +1 -1
- package/dist/parser.d.ts +116 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +205 -0
- package/dist/parser.js.map +1 -0
- package/dist/player/bind.d.ts.map +1 -1
- package/dist/player/bind.js +3 -2
- package/dist/player/bind.js.map +1 -1
- package/dist/player/birth.d.ts +2 -1
- package/dist/player/birth.d.ts.map +1 -1
- package/dist/player/birth.js +2 -1
- package/dist/player/birth.js.map +1 -1
- package/dist/player/calcs.d.ts +58 -23
- package/dist/player/calcs.d.ts.map +1 -1
- package/dist/player/calcs.js +93 -36
- package/dist/player/calcs.js.map +1 -1
- package/dist/player/death.d.ts +50 -0
- package/dist/player/death.d.ts.map +1 -0
- package/dist/player/death.js +46 -0
- package/dist/player/death.js.map +1 -0
- package/dist/player/options-file.d.ts +129 -0
- package/dist/player/options-file.d.ts.map +1 -0
- package/dist/player/options-file.js +309 -0
- package/dist/player/options-file.js.map +1 -0
- package/dist/player/options.d.ts +2 -1
- package/dist/player/options.d.ts.map +1 -1
- package/dist/player/options.js +2 -1
- package/dist/player/options.js.map +1 -1
- package/dist/player/player.d.ts +50 -3
- package/dist/player/player.d.ts.map +1 -1
- package/dist/player/player.js +10 -1
- package/dist/player/player.js.map +1 -1
- package/dist/player/shape-lore.d.ts +11 -7
- package/dist/player/shape-lore.d.ts.map +1 -1
- package/dist/player/shape-lore.js +24 -11
- package/dist/player/shape-lore.js.map +1 -1
- package/dist/player/timed.d.ts +5 -3
- package/dist/player/timed.d.ts.map +1 -1
- package/dist/player/timed.js +11 -2
- package/dist/player/timed.js.map +1 -1
- package/dist/player/types.d.ts +29 -4
- package/dist/player/types.d.ts.map +1 -1
- package/dist/player/types.js +24 -1
- package/dist/player/types.js.map +1 -1
- package/dist/session/boot.d.ts +26 -2
- package/dist/session/boot.d.ts.map +1 -1
- package/dist/session/boot.js +21 -2
- package/dist/session/boot.js.map +1 -1
- package/dist/session/game.d.ts +15 -0
- package/dist/session/game.d.ts.map +1 -1
- package/dist/session/game.js +616 -140
- package/dist/session/game.js.map +1 -1
- package/dist/session/save-migrate.d.ts.map +1 -1
- package/dist/session/save-migrate.js +76 -1
- package/dist/session/save-migrate.js.map +1 -1
- package/dist/session/save.d.ts +75 -12
- package/dist/session/save.d.ts.map +1 -1
- package/dist/session/save.js +177 -18
- package/dist/session/save.js.map +1 -1
- package/dist/store/bind.d.ts +1 -1
- package/dist/store/bind.d.ts.map +1 -1
- package/dist/store/bind.js +4 -3
- package/dist/store/bind.js.map +1 -1
- package/dist/store/mass-produce-vectors.d.ts +40 -0
- package/dist/store/mass-produce-vectors.d.ts.map +1 -0
- package/dist/store/mass-produce-vectors.fixtures.d.ts +13 -0
- package/dist/store/mass-produce-vectors.fixtures.d.ts.map +1 -0
- package/dist/store/mass-produce-vectors.fixtures.js +52 -0
- package/dist/store/mass-produce-vectors.fixtures.js.map +1 -0
- package/dist/store/mass-produce-vectors.js +44 -0
- package/dist/store/mass-produce-vectors.js.map +1 -0
- package/dist/store/store.d.ts +104 -7
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +199 -77
- package/dist/store/store.js.map +1 -1
- package/dist/store/transact.d.ts +14 -5
- package/dist/store/transact.d.ts.map +1 -1
- package/dist/store/transact.js +17 -16
- package/dist/store/transact.js.map +1 -1
- package/dist/store/types.d.ts +3 -2
- package/dist/store/types.d.ts.map +1 -1
- package/dist/store/types.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/visuals/index.d.ts +1 -0
- package/dist/visuals/index.d.ts.map +1 -1
- package/dist/visuals/index.js +1 -0
- package/dist/visuals/index.js.map +1 -1
- package/dist/visuals/map-text.d.ts +8 -0
- package/dist/visuals/map-text.d.ts.map +1 -1
- package/dist/visuals/map-text.js +1 -1
- package/dist/visuals/map-text.js.map +1 -1
- package/dist/visuals/object-glyph.d.ts +56 -0
- package/dist/visuals/object-glyph.d.ts.map +1 -0
- package/dist/visuals/object-glyph.js +52 -0
- package/dist/visuals/object-glyph.js.map +1 -0
- package/dist/visuals/prefs.d.ts +14 -22
- package/dist/visuals/prefs.d.ts.map +1 -1
- package/dist/visuals/prefs.js +4 -23
- package/dist/visuals/prefs.js.map +1 -1
- package/dist/visuals/tile-prefs.d.ts +26 -0
- package/dist/visuals/tile-prefs.d.ts.map +1 -1
- package/dist/visuals/tile-prefs.js +28 -0
- package/dist/visuals/tile-prefs.js.map +1 -1
- package/dist/world/feature.d.ts +2 -1
- package/dist/world/feature.d.ts.map +1 -1
- package/dist/world/feature.js +2 -0
- package/dist/world/feature.js.map +1 -1
- package/dist/world/project.d.ts +10 -2
- package/dist/world/project.d.ts.map +1 -1
- package/dist/world/project.js +18 -6
- package/dist/world/project.js.map +1 -1
- package/dist/world/projection.d.ts +37 -3
- package/dist/world/projection.d.ts.map +1 -1
- package/dist/world/projection.js +69 -7
- package/dist/world/projection.js.map +1 -1
- package/dist/world/trap.d.ts +2 -1
- package/dist/world/trap.d.ts.map +1 -1
- package/dist/world/trap.js +2 -1
- package/dist/world/trap.js.map +1 -1
- package/dist/world/view.d.ts +1 -1
- package/dist/world/view.d.ts.map +1 -1
- package/dist/world/view.js +11 -3
- package/dist/world/view.js.map +1 -1
- package/package.json +1 -1
- package/src/agent/perceive.ts +2 -3
- package/src/combat/blow-vectors.fixtures.ts +99 -0
- package/src/combat/blow-vectors.json +482 -0
- package/src/combat/blow-vectors.ts +280 -0
- package/src/combat/brand-slay.ts +42 -11
- package/src/combat/index.ts +1 -1
- package/src/combat/melee.ts +37 -19
- package/src/combat/mon-melee.ts +611 -364
- package/src/combat/ranged.ts +43 -26
- package/src/constants.ts +15 -0
- package/src/datafile.ts +148 -0
- package/src/effects/effect-info-registry.ts +313 -0
- package/src/effects/effect-info-vectors.fixtures.ts +61 -0
- package/src/effects/effect-info-vectors.json +11532 -0
- package/src/effects/effect-info-vectors.ts +376 -0
- package/src/effects/effect-info.ts +1005 -859
- package/src/effects/effect.ts +96 -62
- package/src/effects/handlers.ts +5 -2
- package/src/effects/interpreter.ts +14 -0
- package/src/game/cave-cmd.ts +54 -11
- package/src/game/cave-square.ts +80 -0
- package/src/game/char-sheet.ts +59 -16
- package/src/game/chest.ts +25 -8
- package/src/game/context.ts +293 -27
- package/src/game/describe.ts +34 -4
- package/src/game/display.ts +215 -19
- package/src/game/dump-level.ts +3 -2
- package/src/game/effect-attack.ts +41 -28
- package/src/game/effect-detect.ts +45 -8
- package/src/game/effect-env.ts +8 -0
- package/src/game/effect-general.ts +110 -47
- package/src/game/effect-item.ts +1075 -999
- package/src/game/effect-melee.ts +51 -18
- package/src/game/effect-monster.ts +55 -9
- package/src/game/effect-teleport.ts +173 -38
- package/src/game/effect-terrain.ts +38 -22
- package/src/game/equip-cmp.ts +483 -480
- package/src/game/floor.ts +22 -4
- package/src/game/gear.ts +210 -21
- package/src/game/harness.ts +12 -1
- package/src/game/ignore-cmd.ts +96 -8
- package/src/game/known.ts +392 -73
- package/src/game/loop.ts +52 -27
- package/src/game/lore-color.ts +13 -1
- package/src/game/mon-cast.ts +31 -6
- package/src/game/mon-cmd.ts +95 -30
- package/src/game/mon-death.ts +14 -12
- package/src/game/mon-group.ts +9 -5
- package/src/game/mon-message.ts +363 -65
- package/src/game/mon-place.ts +15 -3
- package/src/game/mon-ranged.ts +14 -5
- package/src/game/mon-side.ts +16 -12
- package/src/game/monster-turn.ts +120 -87
- package/src/game/notice.ts +85 -0
- package/src/game/obj-cmd.ts +126 -37
- package/src/game/obj-list.ts +44 -26
- package/src/game/object-inspect.ts +13 -0
- package/src/game/pickup.ts +29 -5
- package/src/game/player-side-vectors.fixtures.ts +215 -0
- package/src/game/player-side-vectors.json +6914 -0
- package/src/game/player-side-vectors.ts +420 -0
- package/src/game/player-side.ts +622 -340
- package/src/game/player-turn.ts +228 -31
- package/src/game/poly.ts +107 -0
- package/src/game/project-cast.ts +63 -6
- package/src/game/project-feat-vectors.fixtures.ts +106 -0
- package/src/game/project-feat-vectors.json +6554 -0
- package/src/game/project-feat-vectors.ts +323 -0
- package/src/game/project-feat.ts +417 -248
- package/src/game/project-monster.ts +69 -30
- package/src/game/project-obj-vectors.json +1 -0
- package/src/game/project-obj.ts +115 -47
- package/src/game/project-player.ts +8 -0
- package/src/game/projection-handlers.ts +110 -0
- package/src/game/quest.ts +48 -0
- package/src/game/ranged-cmd.ts +45 -11
- package/src/game/repeat.ts +92 -0
- package/src/game/shape-inspect.ts +166 -0
- package/src/game/spell-cmd.ts +39 -6
- package/src/game/spoil.ts +92 -39
- package/src/game/steal.ts +9 -4
- package/src/game/target-loop.ts +14 -7
- package/src/game/target.ts +18 -7
- package/src/game/ui-entry.ts +172 -22
- package/src/game/wizard.ts +97 -10
- package/src/game/world.ts +6 -0
- package/src/gen/cave.ts +225 -26
- package/src/gen/generate.ts +62 -9
- package/src/gen/glyph-vectors.fixtures.ts +122 -0
- package/src/gen/glyph-vectors.json +5996 -0
- package/src/gen/glyph-vectors.ts +280 -0
- package/src/gen/glyph.ts +132 -0
- package/src/gen/room.ts +446 -265
- package/src/gen/util.ts +32 -9
- package/src/i18n/i18n.ts +492 -0
- package/src/i18n/text.ts +117 -0
- package/src/index.ts +307 -254
- package/src/mod/extension.ts +136 -0
- package/src/mod/hooks.ts +54 -1
- package/src/mod/ids.ts +92 -21
- package/src/mod/record-keys.ts +102 -0
- package/src/mod/registry-host.ts +1063 -234
- package/src/mon/bind.ts +14 -8
- package/src/mon/knowledge-groups.ts +12 -12
- package/src/mon/lore-describe.ts +93 -26
- package/src/mon/lore-file.ts +365 -0
- package/src/mon/lore.ts +9 -3
- package/src/mon/make.ts +4 -2
- package/src/mon/monster.ts +1 -1
- package/src/mon/predicate.ts +14 -9
- package/src/mon/project-mon.ts +23 -5
- package/src/mon/steal.ts +39 -7
- package/src/mon/take-hit.ts +8 -3
- package/src/mon/timed.ts +15 -9
- package/src/mon/types.ts +11 -4
- package/src/msg.ts +55 -1
- package/src/obj/artifact-fake.ts +47 -17
- package/src/obj/bind.ts +52 -9
- package/src/obj/desc-vectors.fixtures.ts +119 -0
- package/src/obj/desc-vectors.json +2360 -0
- package/src/obj/desc-vectors.ts +128 -0
- package/src/obj/desc.ts +159 -55
- package/src/obj/effects-info.ts +90 -59
- package/src/obj/fake-object.ts +135 -0
- package/src/obj/ignore.ts +95 -28
- package/src/obj/knowledge.ts +291 -139
- package/src/obj/known-object.ts +126 -11
- package/src/obj/make.ts +53 -29
- package/src/obj/object-info.ts +103 -6
- package/src/obj/object.ts +392 -151
- package/src/obj/power.ts +297 -59
- package/src/obj/randart-build.ts +1875 -1705
- package/src/obj/randart-data.ts +1547 -1344
- package/src/obj/randart-file.ts +130 -0
- package/src/obj/randart-log.ts +78 -0
- package/src/obj/randart-registry.ts +247 -0
- package/src/obj/randart-vectors.fixtures.ts +61 -0
- package/src/obj/randart-vectors.json +836 -0
- package/src/obj/randart-vectors.ts +369 -0
- package/src/obj/randart.ts +722 -552
- package/src/obj/rune-registry.ts +270 -0
- package/src/obj/rune-vectors.fixtures.ts +164 -0
- package/src/obj/rune-vectors.json +121 -0
- package/src/obj/rune-vectors.ts +229 -0
- package/src/obj/tval-kind-vectors.json +391 -0
- package/src/obj/tval-registry.ts +243 -0
- package/src/obj/tval-vectors.fixtures.ts +50 -0
- package/src/obj/tval-vectors.json +38 -0
- package/src/obj/tval-vectors.ts +126 -0
- package/src/obj/types.ts +18 -7
- package/src/obj/value.ts +26 -20
- package/src/parser.ts +214 -0
- package/src/player/bind.ts +5 -2
- package/src/player/birth.ts +2 -1
- package/src/player/calcs.ts +123 -42
- package/src/player/death.ts +78 -0
- package/src/player/options-file.ts +387 -0
- package/src/player/options.ts +2 -1
- package/src/player/player.ts +60 -4
- package/src/player/shape-lore.ts +33 -14
- package/src/player/timed.ts +14 -4
- package/src/player/types.ts +30 -4
- package/src/session/boot.ts +51 -1
- package/src/session/game.ts +720 -163
- package/src/session/save-migrate.ts +81 -1
- package/src/session/save.ts +264 -22
- package/src/store/bind.ts +4 -3
- package/src/store/mass-produce-vectors.fixtures.ts +64 -0
- package/src/store/mass-produce-vectors.json +1169 -0
- package/src/store/mass-produce-vectors.ts +67 -0
- package/src/store/store.ts +266 -63
- package/src/store/transact.ts +39 -16
- package/src/store/types.ts +3 -2
- package/src/version.ts +1 -1
- package/src/visuals/index.ts +1 -0
- package/src/visuals/map-text.ts +1 -1
- package/src/visuals/object-glyph.ts +76 -0
- package/src/visuals/prefs.ts +22 -32
- package/src/visuals/tile-prefs.ts +32 -0
- package/src/world/feature.ts +4 -1
- package/src/world/project.ts +19 -4
- package/src/world/projection.ts +79 -8
- package/src/world/trap.ts +25 -21
- package/src/world/view.ts +11 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player-side.js","sourceRoot":"","sources":["../../src/game/player-side.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"player-side.js","sourceRoot":"","sources":["../../src/game/player-side.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,11 @@
|
|
|
10
10
|
* (0 = a free, non-turn-consuming command). Mods add or replace codes without
|
|
11
11
|
* touching the core. The built-in actions cover walk (move / melee an
|
|
12
12
|
* adjacent monster), hold/rest (spend a turn in place) and the stair commands
|
|
13
|
-
* (signal a level change). Every other command code
|
|
14
|
-
* that spends no energy and
|
|
13
|
+
* (signal a level change). Every other command code gets a base-registry stub
|
|
14
|
+
* that spends no energy, and the installers replace all of them before play
|
|
15
|
+
* (obj-cmd, cave-cmd, ranged-cmd, spell-cmd, pickup, player-path). Only "look"
|
|
16
|
+
* and "search" stay stubs, correctly: upstream's look is a UI function with
|
|
17
|
+
* CMD_NULL (ui-knowledge.c:4169) and 4.2.6 has no search command at all.
|
|
15
18
|
*
|
|
16
19
|
* process_player() reads queued commands through the injected provider
|
|
17
20
|
* (state.nextCommand) so the loop never blocks on real input, and drains free
|
|
@@ -121,7 +124,21 @@ export declare function jumpAction(state: GameState, cmd: PlayerCommand): number
|
|
|
121
124
|
* randint1(7) on success, once per discovered door in y/x scan order.
|
|
122
125
|
*/
|
|
123
126
|
export declare function search(state: GameState): void;
|
|
124
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* hold / rest: stay put and spend a full turn.
|
|
129
|
+
*
|
|
130
|
+
* do_cmd_hold (cmd-cave.c:1580) is energy, search, do_autopickup, then "enter a
|
|
131
|
+
* store if we are on one". do_cmd_rest (cmd-cave.c:1615) is a DIFFERENT upstream
|
|
132
|
+
* function that does NEITHER; the two share this implementation only because both
|
|
133
|
+
* spend a turn standing still.
|
|
134
|
+
*
|
|
135
|
+
* The discriminator is `state.resting`, NOT `cmd.code`. The obvious gate -
|
|
136
|
+
* `cmd.code === "hold"` - is wrong here, because the host's rest loop drives every
|
|
137
|
+
* one of its turns by pushing `{ code: "hold" }` (web/src/main.ts): a rest would
|
|
138
|
+
* have picked items up off the floor and cancelled itself on a shop tile. A code
|
|
139
|
+
* the caller chooses is not evidence about which upstream function this is
|
|
140
|
+
* standing in for; a rest in progress is.
|
|
141
|
+
*/
|
|
125
142
|
export declare function holdAction(state: GameState, _cmd: PlayerCommand): number;
|
|
126
143
|
/**
|
|
127
144
|
* sleep (do_cmd_sleep, cmd-cave.c:1675): spend a full turn doing nothing.
|
|
@@ -131,18 +148,20 @@ export declare function holdAction(state: GameState, _cmd: PlayerCommand): numbe
|
|
|
131
148
|
export declare function sleepAction(state: GameState, _cmd: PlayerCommand): number;
|
|
132
149
|
/**
|
|
133
150
|
* descend / ascend: signal a level change (player->upkeep->generate_level).
|
|
134
|
-
* The
|
|
135
|
-
*
|
|
151
|
+
* The generation and depth change belong to the world integration, which does
|
|
152
|
+
* them (session/game.ts changeLevel); the loop observes the signal and clears it.
|
|
136
153
|
*/
|
|
137
154
|
export declare function descendAction(state: GameState, _cmd: PlayerCommand): number;
|
|
138
155
|
export declare function ascendAction(state: GameState, _cmd: PlayerCommand): number;
|
|
139
|
-
/**
|
|
156
|
+
/** The base-registry placeholder: consumes no turn. Every code that uses it is
|
|
157
|
+
* re-registered by an installer before play; see STUBBED_COMMANDS. */
|
|
140
158
|
export declare function stubAction(_state: GameState, _cmd: PlayerCommand): number;
|
|
141
159
|
/** Command codes registered as stubs (deferred; see game-loop.yaml).
|
|
142
160
|
* "pickup"/"autopickup" stubs are replaced by installPickup (game/pickup.ts);
|
|
143
161
|
* "run" is replaced by installRunning (game/player-path.ts). */
|
|
144
162
|
export declare const STUBBED_COMMANDS: readonly string[];
|
|
145
|
-
/** Build the default registry: the
|
|
163
|
+
/** Build the default registry: the actions defined here plus the placeholders
|
|
164
|
+
* the installers replace. */
|
|
146
165
|
export declare function createDefaultRegistry(): ActionRegistry;
|
|
147
166
|
/** The result of pumping the player's command queue. */
|
|
148
167
|
export interface PlayerTurnResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player-turn.d.ts","sourceRoot":"","sources":["../../src/game/player-turn.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"player-turn.d.ts","sourceRoot":"","sources":["../../src/game/player-turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAkBH,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAWjD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA2C7D;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,KAAK,MAAM,CAAC;AAE5E;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAmC;IAElD,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAIlD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,iEAAiE;IACjE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI3C,KAAK,IAAI,MAAM,EAAE;CAGlB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,gEAAgE;IAChE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mEAAmE;IACnE,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAKD,gFAAgF;AAChF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,aAAa,GAClB,IAAI,CAEN;AAeD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAwGhF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CA0EvE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAItD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAoBlE;AAED;;;;GAIG;AACH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CA0Bf;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CA8OvE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CA6C7C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAmBxE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAG3E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAG1E;AAED;sEACsE;AACtE,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAEzE;AAED;;gEAEgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAqB7C,CAAC;AAEF;6BAC6B;AAC7B,wBAAgB,qBAAqB,IAAI,cAAc,CAWtD;AAoBD,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,UAAU,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;CACpB;AAwCD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,cAAc,GACvB,gBAAgB,CA8GlB"}
|
package/dist/game/player-turn.js
CHANGED
|
@@ -10,15 +10,18 @@
|
|
|
10
10
|
* (0 = a free, non-turn-consuming command). Mods add or replace codes without
|
|
11
11
|
* touching the core. The built-in actions cover walk (move / melee an
|
|
12
12
|
* adjacent monster), hold/rest (spend a turn in place) and the stair commands
|
|
13
|
-
* (signal a level change). Every other command code
|
|
14
|
-
* that spends no energy and
|
|
13
|
+
* (signal a level change). Every other command code gets a base-registry stub
|
|
14
|
+
* that spends no energy, and the installers replace all of them before play
|
|
15
|
+
* (obj-cmd, cave-cmd, ranged-cmd, spell-cmd, pickup, player-path). Only "look"
|
|
16
|
+
* and "search" stay stubs, correctly: upstream's look is a UI function with
|
|
17
|
+
* CMD_NULL (ui-knowledge.c:4169) and 4.2.6 has no search command at all.
|
|
15
18
|
*
|
|
16
19
|
* process_player() reads queued commands through the injected provider
|
|
17
20
|
* (state.nextCommand) so the loop never blocks on real input, and drains free
|
|
18
21
|
* commands until one uses energy or the queue empties, exactly as the
|
|
19
22
|
* upstream do-while around cmdq_pop.
|
|
20
23
|
*/
|
|
21
|
-
import { FEAT, MON_MSG, MON_TMD, MSG, OF, PF, STAT, TF, TMD, TRF } from "../generated/index.js";
|
|
24
|
+
import { FEAT, MON_MSG, MON_TMD, MSG, OF, PF, SQUARE, STAT, TF, TMD, TRF, } from "../generated/index.js";
|
|
22
25
|
import { DDGRID, DDGRID_DDD, locSum } from "../loc.js";
|
|
23
26
|
import { pyAttack } from "../combat/melee.js";
|
|
24
27
|
import { learnBrandSlayFromMelee } from "../combat/brand-slay.js";
|
|
@@ -29,18 +32,20 @@ import { monsterWake } from "../mon/take-hit.js";
|
|
|
29
32
|
import { MON_TMD_FLG_NOTIFY, monIncTimed } from "../mon/timed.js";
|
|
30
33
|
import { equipLearnFlag, equipLearnOnMeleeAttack } from "../obj/knowledge.js";
|
|
31
34
|
import { playerClearTimed, playerTimedGradeEq } from "../player/timed.js";
|
|
32
|
-
import { arenaInterceptDeath, deleteMonster, movePlayer, squareMonster } from "./context.js";
|
|
35
|
+
import { arenaInterceptDeath, deleteMonster, gameTakeHitHooks, movePlayer, squareMonster, } from "./context.js";
|
|
33
36
|
import { gearGet } from "./gear.js";
|
|
37
|
+
import { noticeStuff } from "./notice.js";
|
|
38
|
+
import { repeatBeginCommand } from "./repeat.js";
|
|
34
39
|
import { floorPile } from "./floor.js";
|
|
35
40
|
import { isTrappedChest } from "../obj/chest.js";
|
|
36
|
-
import { knownIsClosedDoor, knownIsEnterable, knownIsRubble,
|
|
41
|
+
import { clearMonsterShow, knownIsClosedDoor, knownIsEnterable, knownIsRubble, knownFloorObject, squareForget, squareIsKnown, squareMemorize, tickMonsterNiceAndMark, } from "./known.js";
|
|
37
42
|
import { squareIsSeen } from "../world/view.js";
|
|
38
43
|
import { playerConfuseDir } from "./obj-cmd.js";
|
|
39
44
|
import { disturb } from "./player-path.js";
|
|
40
45
|
import { playerAdjustManaPrecise } from "./loop.js";
|
|
41
|
-
import {
|
|
42
|
-
import { squareIsWebbed, squareRemoveAllTraps, squareTrap } from "./trap.js";
|
|
43
|
-
import { PY_EXERT, playerCheckTerrainDamage, playerOverExert } from "./world.js";
|
|
46
|
+
import { addMonsterMessage } from "./mon-message.js";
|
|
47
|
+
import { playerIsTrapsafe, squareIsDisarmableTrap, squareIsWebbed, squareRemoveAllTraps, squareTrap, } from "./trap.js";
|
|
48
|
+
import { PY_EXERT, playerCheckTerrainDamage, playerOverExert, playerTakeTerrainDamage, } from "./world.js";
|
|
44
49
|
/**
|
|
45
50
|
* The action registry (moddable command table). Built-ins can be replaced and
|
|
46
51
|
* new codes added; unknown codes fall back to a no-energy stub.
|
|
@@ -92,6 +97,7 @@ export function buildMeleeHooks(state, mon) {
|
|
|
92
97
|
const grid = mon.grid;
|
|
93
98
|
const hooks = {
|
|
94
99
|
takeHit: {
|
|
100
|
+
...gameTakeHitHooks(state, mon),
|
|
95
101
|
...(state.becomeAware ? { becomeAware: state.becomeAware } : {}),
|
|
96
102
|
},
|
|
97
103
|
/* Confusion attack (blow_side_effects, player-attack.c:672-677). */
|
|
@@ -200,6 +206,11 @@ export function attackMonster(state, target) {
|
|
|
200
206
|
/* Learning from the attack (player-attack.c L822 equip_learn_on_melee_
|
|
201
207
|
* attack; obj-slays.c learn_brand_slay_from_melee). */
|
|
202
208
|
const deps = state.meleeSideDeps ?? {};
|
|
209
|
+
/* py_attack's first statement (player-attack.c:995-996). Attacking is a
|
|
210
|
+
* deliberate act, so the run/rest it cancels is a queued one - and it also
|
|
211
|
+
* flushes the command queue, which is what stops an auto-repeated command from
|
|
212
|
+
* carrying on after a monster steps into reach. */
|
|
213
|
+
disturb(state);
|
|
203
214
|
const monVisible = monsterIsVisible(target);
|
|
204
215
|
/* health_track (player-attack.c:745-749): hitting something visible makes it
|
|
205
216
|
* the tracked monster, which is what puts it on the sidebar's health bar. This
|
|
@@ -229,6 +240,9 @@ export function attackMonster(state, target) {
|
|
|
229
240
|
* with energy >= move_energy, so the full-turn default is upstream's
|
|
230
241
|
* value at every real call site. */
|
|
231
242
|
moveEnergy: state.z.moveEnergy,
|
|
243
|
+
/* object_to_hit / object_to_dam / object_weight_one read the curse
|
|
244
|
+
* templates of the weapon active curses (obj-util.c:296-330). */
|
|
245
|
+
curses: state.curses,
|
|
232
246
|
hooks: buildMeleeHooks(state, target),
|
|
233
247
|
});
|
|
234
248
|
equipLearnOnMeleeAttack(state.actor.player, state.runeEnv);
|
|
@@ -236,11 +250,10 @@ export function attackMonster(state, target) {
|
|
|
236
250
|
* faithful "You hit/miss/slay the X" text (combat returns HitType keys
|
|
237
251
|
* only). Before deletion so the monster name is still resolvable. */
|
|
238
252
|
state.onMelee?.(target, result);
|
|
239
|
-
/* Hack - delay fear messages (player-attack.c:1023)
|
|
253
|
+
/* "Hack - delay fear messages" (player-attack.c:1023): add_monster_message
|
|
254
|
+
* with delay = true, so the flee line comes out in the second pass. */
|
|
240
255
|
if (result.monsterFled) {
|
|
241
|
-
|
|
242
|
-
if (flee)
|
|
243
|
-
state.msg?.(flee);
|
|
256
|
+
addMonsterMessage(state, target, MON_MSG.FLEE_IN_TERROR, true);
|
|
244
257
|
}
|
|
245
258
|
if (result.monsterDied && !arenaInterceptDeath(state, target)) {
|
|
246
259
|
state.onPlayerKill?.(target);
|
|
@@ -405,6 +418,23 @@ export function walkAction(state, cmd) {
|
|
|
405
418
|
* be less than a full turn, exactly as upstream. */
|
|
406
419
|
return attackMonster(state, target);
|
|
407
420
|
}
|
|
421
|
+
/*
|
|
422
|
+
* move_player (cmd-cave.c:1084-1088): a RUN stops in front of a known
|
|
423
|
+
* disarmable trap instead of walking into it, and the step is refunded.
|
|
424
|
+
*
|
|
425
|
+
* Ordered after the monster branch and before the impassable one, exactly as
|
|
426
|
+
* upstream, and it does not need to exclude the auto-disarm branch above it:
|
|
427
|
+
* run_step passes `dir && disarm` (player-path.c:2042), which is false on every
|
|
428
|
+
* continuing step, so a run never takes the alter/disarm path for a trap.
|
|
429
|
+
*
|
|
430
|
+
* Absent, a run walked the player onto their own detected traps.
|
|
431
|
+
*/
|
|
432
|
+
if ((state.run?.running ?? 0) > 0 &&
|
|
433
|
+
squareIsDisarmableTrap(state, next) &&
|
|
434
|
+
!playerIsTrapsafe(state)) {
|
|
435
|
+
disturb(state);
|
|
436
|
+
return 0;
|
|
437
|
+
}
|
|
408
438
|
/* Bump into a wall: no step, no energy.
|
|
409
439
|
* A mod may take the walk over through the walkBlockedByDiggable hook
|
|
410
440
|
* (mod/hooks.ts) - the QoL mod digs here. autoDigStep returns null having drawn
|
|
@@ -501,10 +531,36 @@ export function walkAction(state, cmd) {
|
|
|
501
531
|
* L1300-1302); a deliberate bump refunds all energy. */
|
|
502
532
|
return confused ? state.z.moveEnergy : 0;
|
|
503
533
|
}
|
|
534
|
+
/*
|
|
535
|
+
* move_player (cmd-cave.c:1141-1152): a run stops at the edge of the detected
|
|
536
|
+
* -traps zone rather than carrying the player out of it, and refunds the step.
|
|
537
|
+
* running_firststep is excluded so a run STARTED on the edge can leave.
|
|
538
|
+
*
|
|
539
|
+
* This is the DTrap indicator's whole point on the move side, and it was
|
|
540
|
+
* missing: a run out of a detected area kept going into undetected ground.
|
|
541
|
+
*/
|
|
542
|
+
const leavingDtrap = (state.run?.running ?? 0) > 0 &&
|
|
543
|
+
!state.run?.firstStep &&
|
|
544
|
+
state.chunk.sqinfoHas(state.actor.grid, SQUARE.DTRAP) &&
|
|
545
|
+
!state.chunk.sqinfoHas(next, SQUARE.DTRAP);
|
|
546
|
+
if (leavingDtrap) {
|
|
547
|
+
disturb(state);
|
|
548
|
+
return 0;
|
|
549
|
+
}
|
|
504
550
|
movePlayer(state, next);
|
|
505
551
|
if (state.updateFov)
|
|
506
552
|
state.updateFov(state);
|
|
507
553
|
search(state); /* player_handle_post_move (player-util.c:1633-1634). */
|
|
554
|
+
/*
|
|
555
|
+
* player_handle_post_move's store-door branch (player-util.c:1601-1609): the
|
|
556
|
+
* disturb half. Stepping onto a shop cancels a run or a rest whether or not the
|
|
557
|
+
* host has a store screen to open, so it belongs here rather than beside the
|
|
558
|
+
* host's enterStoreModal - and the shapechanged refusal above it returns before
|
|
559
|
+
* the disturb, so a shapechanged player is not disturbed by a door that will
|
|
560
|
+
* not open for them.
|
|
561
|
+
*/
|
|
562
|
+
if (state.chunk.isShop(next) && !state.actor.player.shape)
|
|
563
|
+
disturb(state);
|
|
508
564
|
/* Autopickup on the new grid (upstream queues CMD_AUTOPICKUP; its energy
|
|
509
565
|
* cost is folded into this step, see game/pickup.ts). */
|
|
510
566
|
const pickupCost = state.autoPickup ? state.autoPickup(state) : 0;
|
|
@@ -551,22 +607,18 @@ export function search(state) {
|
|
|
551
607
|
disturb(state);
|
|
552
608
|
}
|
|
553
609
|
/*
|
|
554
|
-
*
|
|
555
|
-
*
|
|
556
|
-
*
|
|
557
|
-
*
|
|
558
|
-
*
|
|
559
|
-
*
|
|
560
|
-
*
|
|
561
|
-
*
|
|
562
|
-
* already-remembered grid since the last know_pile, e.g. a chest dropped
|
|
563
|
-
* onto a mapped floor: upstream will not discover its trap until the pile
|
|
564
|
-
* is known again, this will. Narrow, and recorded as a finding rather than
|
|
565
|
-
* faked, since a per-object shadow is a larger design change.
|
|
610
|
+
* `if (!obj->known || ignore_item_ok(p, obj) || !is_trapped_chest(obj))`
|
|
611
|
+
* (player-util.c:1701-1705) - a PER-OBJECT knowledge test. This used to be
|
|
612
|
+
* approximated with "is this grid's pile remembered", because the port's
|
|
613
|
+
* object memory was one entry per grid; PORT_TODO 2.9 replaced that with a
|
|
614
|
+
* remembered pile holding the object references themselves, so the exact
|
|
615
|
+
* test is available and the recorded divergence (a chest dropped onto an
|
|
616
|
+
* already-mapped floor had its trap discovered here but not upstream) is
|
|
617
|
+
* gone.
|
|
566
618
|
*/
|
|
567
|
-
if (!knownObject(state, grid))
|
|
568
|
-
continue;
|
|
569
619
|
for (const obj of floorPile(state, grid)) {
|
|
620
|
+
if (!knownFloorObject(state, grid, obj))
|
|
621
|
+
continue;
|
|
570
622
|
if ((state.isIgnored?.(obj) ?? false) || !isTrappedChest(obj))
|
|
571
623
|
continue;
|
|
572
624
|
if (obj.knownPval !== obj.pval) {
|
|
@@ -578,9 +630,37 @@ export function search(state) {
|
|
|
578
630
|
}
|
|
579
631
|
}
|
|
580
632
|
}
|
|
581
|
-
/**
|
|
633
|
+
/**
|
|
634
|
+
* hold / rest: stay put and spend a full turn.
|
|
635
|
+
*
|
|
636
|
+
* do_cmd_hold (cmd-cave.c:1580) is energy, search, do_autopickup, then "enter a
|
|
637
|
+
* store if we are on one". do_cmd_rest (cmd-cave.c:1615) is a DIFFERENT upstream
|
|
638
|
+
* function that does NEITHER; the two share this implementation only because both
|
|
639
|
+
* spend a turn standing still.
|
|
640
|
+
*
|
|
641
|
+
* The discriminator is `state.resting`, NOT `cmd.code`. The obvious gate -
|
|
642
|
+
* `cmd.code === "hold"` - is wrong here, because the host's rest loop drives every
|
|
643
|
+
* one of its turns by pushing `{ code: "hold" }` (web/src/main.ts): a rest would
|
|
644
|
+
* have picked items up off the floor and cancelled itself on a shop tile. A code
|
|
645
|
+
* the caller chooses is not evidence about which upstream function this is
|
|
646
|
+
* standing in for; a rest in progress is.
|
|
647
|
+
*/
|
|
582
648
|
export function holdAction(state, _cmd) {
|
|
583
649
|
search(state);
|
|
650
|
+
if (!state.resting) {
|
|
651
|
+
/* do_autopickup(player), cmd-cave.c:1590. Upstream's comment says "not using
|
|
652
|
+
* extra energy", so the energy the pickup reports is deliberately discarded -
|
|
653
|
+
* standing still costs one move, whatever is underfoot. Without this call the
|
|
654
|
+
* pickup_always option did nothing at all for a player who stood still on a
|
|
655
|
+
* pile: only walkAction (:597) ran the hook. */
|
|
656
|
+
state.autoPickup?.(state);
|
|
657
|
+
/* disturb(player) on entering a store (cmd-cave.c:1599). Opening the shop
|
|
658
|
+
* screen is the host's (enterStoreModal, web/src/main.ts), but cancelling a
|
|
659
|
+
* run or a rest is the engine's, and it has to happen whether or not a host
|
|
660
|
+
* has a store UI at all. */
|
|
661
|
+
if (state.chunk.isShop(state.actor.grid))
|
|
662
|
+
disturb(state);
|
|
663
|
+
}
|
|
584
664
|
return state.z.moveEnergy;
|
|
585
665
|
}
|
|
586
666
|
/**
|
|
@@ -593,8 +673,8 @@ export function sleepAction(state, _cmd) {
|
|
|
593
673
|
}
|
|
594
674
|
/**
|
|
595
675
|
* descend / ascend: signal a level change (player->upkeep->generate_level).
|
|
596
|
-
* The
|
|
597
|
-
*
|
|
676
|
+
* The generation and depth change belong to the world integration, which does
|
|
677
|
+
* them (session/game.ts changeLevel); the loop observes the signal and clears it.
|
|
598
678
|
*/
|
|
599
679
|
export function descendAction(state, _cmd) {
|
|
600
680
|
state.generateLevel = true;
|
|
@@ -604,7 +684,8 @@ export function ascendAction(state, _cmd) {
|
|
|
604
684
|
state.generateLevel = true;
|
|
605
685
|
return state.z.moveEnergy;
|
|
606
686
|
}
|
|
607
|
-
/**
|
|
687
|
+
/** The base-registry placeholder: consumes no turn. Every code that uses it is
|
|
688
|
+
* re-registered by an installer before play; see STUBBED_COMMANDS. */
|
|
608
689
|
export function stubAction(_state, _cmd) {
|
|
609
690
|
return 0;
|
|
610
691
|
}
|
|
@@ -633,7 +714,8 @@ export const STUBBED_COMMANDS = [
|
|
|
633
714
|
"open",
|
|
634
715
|
"close",
|
|
635
716
|
];
|
|
636
|
-
/** Build the default registry: the
|
|
717
|
+
/** Build the default registry: the actions defined here plus the placeholders
|
|
718
|
+
* the installers replace. */
|
|
637
719
|
export function createDefaultRegistry() {
|
|
638
720
|
const reg = new ActionRegistry();
|
|
639
721
|
reg.register("walk", walkAction);
|
|
@@ -664,6 +746,41 @@ const NON_COERCION_COMMANDS = new Set([
|
|
|
664
746
|
"help",
|
|
665
747
|
"repeat",
|
|
666
748
|
]);
|
|
749
|
+
/**
|
|
750
|
+
* process_player_cleanup (game-world.c:839), everything but the energy
|
|
751
|
+
* accounting - which the port applies at the call site below, because `use` is
|
|
752
|
+
* only in scope there.
|
|
753
|
+
*
|
|
754
|
+
* Called at the END of every do-loop iteration in processPlayer, including the
|
|
755
|
+
* bloodlust-coercion path, exactly as the C calls it at L989. Two guards matter
|
|
756
|
+
* and neither is decoration:
|
|
757
|
+
*
|
|
758
|
+
* - The terrain damage and the NICE/MARK loop are inside `if (energy_use)`
|
|
759
|
+
* (L844): a free command costs no lava burn and fades no detection.
|
|
760
|
+
* - The NICE/MARK loop is additionally skipped while `upkeep->dropping` (L867),
|
|
761
|
+
* so an ignore_drop auto-drop does not spend the player's one turn of
|
|
762
|
+
* detection on itself. The SHOW clear and the `dropping` reset are OUTSIDE
|
|
763
|
+
* both guards (L903-909).
|
|
764
|
+
*
|
|
765
|
+
* `skip_cmd_coercion` (L859-861, L897-903) is not modelled - save gap 12.6.
|
|
766
|
+
*/
|
|
767
|
+
function processPlayerCleanup(state, energyUsed) {
|
|
768
|
+
const up = state.actor.player.upkeep;
|
|
769
|
+
if (energyUsed) {
|
|
770
|
+
/* Player can be damaged by terrain (L864): fiery terrain burns after each
|
|
771
|
+
* acted turn. This used to live in game/loop.ts, one level out, which was
|
|
772
|
+
* equivalent only because the do-loop exits immediately after the
|
|
773
|
+
* energy-spending command - but it left no correct home for the block
|
|
774
|
+
* below. */
|
|
775
|
+
playerTakeTerrainDamage(state);
|
|
776
|
+
/* L867-892, minus the hallucination redraw and the multi-hued shimmer,
|
|
777
|
+
* which are PR_MAP / square_light_spot - the ratified redraw divergence. */
|
|
778
|
+
if (!up.dropping)
|
|
779
|
+
tickMonsterNiceAndMark(state);
|
|
780
|
+
}
|
|
781
|
+
clearMonsterShow(state);
|
|
782
|
+
up.dropping = false;
|
|
783
|
+
}
|
|
667
784
|
/**
|
|
668
785
|
* process_player: drain queued commands until one spends energy, the queue
|
|
669
786
|
* empties (needsInput), or the player dies / a level change is requested.
|
|
@@ -675,6 +792,10 @@ export function processPlayer(state, registry) {
|
|
|
675
792
|
do {
|
|
676
793
|
if (state.isDead || state.generateLevel)
|
|
677
794
|
break;
|
|
795
|
+
/* notice_stuff(player) (game-world.c:942), the first line of the refresh
|
|
796
|
+
* block: the ignore and combine passes owed by whatever ran last, drained
|
|
797
|
+
* BEFORE pack_overflow so the overflow sees a combined pack. */
|
|
798
|
+
noticeStuff(state);
|
|
678
799
|
/* game-world.c:941-947: after the refresh equivalent and before command
|
|
679
800
|
* preparation, recover an overfull/corrupt pack using calc_inventory's
|
|
680
801
|
* sorted inven[] view. */
|
|
@@ -712,8 +833,21 @@ export function processPlayer(state, registry) {
|
|
|
712
833
|
* coercion roll is drawn (unconditionally, even at zero bloodlust,
|
|
713
834
|
* matching upstream's randint0(200) < timed[TMD_BLOODLUST]); on success
|
|
714
835
|
* the command is dropped and a random adjacent monster is attacked.
|
|
715
|
-
* skip_cmd_coercion is not modelled (save gap 12.6, WP-10).
|
|
716
|
-
|
|
836
|
+
* skip_cmd_coercion is not modelled (save gap 12.6, WP-10).
|
|
837
|
+
*
|
|
838
|
+
* background_command > 1 is exempt (cmd-core.c:360): ignore_drop
|
|
839
|
+
* queues its auto-drops that way, and drawing the roll for them would move
|
|
840
|
+
* every later draw in the turn. */
|
|
841
|
+
/* process_command's repeat reset (cmd-core.c:353): every command starts
|
|
842
|
+
* repeatable and the handler clears it if it must not be repeated. BEFORE the
|
|
843
|
+
* coercion block, because the C sets it at L353 and the coercion test is at
|
|
844
|
+
* L360 inside the same function - so a coerced attack replaces the command
|
|
845
|
+
* but not this. Also records whether this command addressed a floor object,
|
|
846
|
+
* which is what cmd_disable_repeat_floor_item reads. */
|
|
847
|
+
repeatBeginCommand(state.actor.player, cmd);
|
|
848
|
+
if (!commanding &&
|
|
849
|
+
!NON_COERCION_COMMANDS.has(cmd.code) &&
|
|
850
|
+
(cmd.background ?? 0) <= 1) {
|
|
717
851
|
if (state.rng.randint0(200) <
|
|
718
852
|
(state.actor.player.timed[TMD.BLOODLUST] ?? 0)) {
|
|
719
853
|
const spent = playerAttackRandomMonster(state);
|
|
@@ -723,6 +857,10 @@ export function processPlayer(state, registry) {
|
|
|
723
857
|
state.actor.totalEnergy += spent;
|
|
724
858
|
energyUsed = spent;
|
|
725
859
|
}
|
|
860
|
+
/* The coerced attack IS the command for this iteration, so the C
|
|
861
|
+
* reaches process_player_cleanup through it too (process_command
|
|
862
|
+
* returns and L989 runs). */
|
|
863
|
+
processPlayerCleanup(state, spent > 0 ? spent : 0);
|
|
726
864
|
continue;
|
|
727
865
|
}
|
|
728
866
|
}
|
|
@@ -733,7 +871,16 @@ export function processPlayer(state, registry) {
|
|
|
733
871
|
state.actor.totalEnergy += use;
|
|
734
872
|
energyUsed = use;
|
|
735
873
|
}
|
|
874
|
+
/* process_player_cleanup (game-world.c:989), the last statement of the loop
|
|
875
|
+
* body. Runs after a FREE command too - that is where the SHOW clear lives,
|
|
876
|
+
* and without it a detected monster's MARK would never reach the
|
|
877
|
+
* MARK && !SHOW state its fade needs. */
|
|
878
|
+
processPlayerCleanup(state, use > 0 ? use : 0);
|
|
736
879
|
} while (energyUsed === 0 && !state.isDead && !state.generateLevel);
|
|
880
|
+
/* "Notice stuff (if needed)" (game-world.c:995-996), after the do-loop: the
|
|
881
|
+
* command that just spent energy may have raised a bit, and this is where
|
|
882
|
+
* upstream drains it rather than leaving it for the next turn. */
|
|
883
|
+
noticeStuff(state);
|
|
737
884
|
return { needsInput: false, energyUsed };
|
|
738
885
|
}
|
|
739
886
|
//# sourceMappingURL=player-turn.js.map
|