@rpgm-tools/neo-angband-core 0.10.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/LICENSE.md +43 -0
- package/README.md +80 -0
- package/dist/agent/act.d.ts +22 -0
- package/dist/agent/act.d.ts.map +1 -0
- package/dist/agent/act.js +88 -0
- package/dist/agent/act.js.map +1 -0
- package/dist/agent/controller.d.ts +34 -0
- package/dist/agent/controller.d.ts.map +1 -0
- package/dist/agent/controller.js +90 -0
- package/dist/agent/controller.js.map +1 -0
- package/dist/agent/events.d.ts +27 -0
- package/dist/agent/events.d.ts.map +1 -0
- package/dist/agent/events.js +31 -0
- package/dist/agent/events.js.map +1 -0
- package/dist/agent/index.d.ts +17 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +15 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/perceive.d.ts +21 -0
- package/dist/agent/perceive.d.ts.map +1 -0
- package/dist/agent/perceive.js +386 -0
- package/dist/agent/perceive.js.map +1 -0
- package/dist/agent/types.d.ts +436 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +63 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/bitflag.d.ts +199 -0
- package/dist/bitflag.d.ts.map +1 -0
- package/dist/bitflag.js +478 -0
- package/dist/bitflag.js.map +1 -0
- package/dist/cmd.d.ts +164 -0
- package/dist/cmd.d.ts.map +1 -0
- package/dist/cmd.js +350 -0
- package/dist/cmd.js.map +1 -0
- package/dist/color.d.ts +104 -0
- package/dist/color.d.ts.map +1 -0
- package/dist/color.js +240 -0
- package/dist/color.js.map +1 -0
- package/dist/combat/brand-slay.d.ts +119 -0
- package/dist/combat/brand-slay.d.ts.map +1 -0
- package/dist/combat/brand-slay.js +264 -0
- package/dist/combat/brand-slay.js.map +1 -0
- package/dist/combat/hit.d.ts +198 -0
- package/dist/combat/hit.d.ts.map +1 -0
- package/dist/combat/hit.js +310 -0
- package/dist/combat/hit.js.map +1 -0
- package/dist/combat/index.d.ts +15 -0
- package/dist/combat/index.d.ts.map +1 -0
- package/dist/combat/index.js +15 -0
- package/dist/combat/index.js.map +1 -0
- package/dist/combat/melee.d.ts +261 -0
- package/dist/combat/melee.d.ts.map +1 -0
- package/dist/combat/melee.js +402 -0
- package/dist/combat/melee.js.map +1 -0
- package/dist/combat/mon-melee.d.ts +233 -0
- package/dist/combat/mon-melee.d.ts.map +1 -0
- package/dist/combat/mon-melee.js +883 -0
- package/dist/combat/mon-melee.js.map +1 -0
- package/dist/combat/ranged.d.ts +89 -0
- package/dist/combat/ranged.d.ts.map +1 -0
- package/dist/combat/ranged.js +253 -0
- package/dist/combat/ranged.js.map +1 -0
- package/dist/constants.d.ts +134 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +171 -0
- package/dist/constants.js.map +1 -0
- package/dist/dice.d.ts +91 -0
- package/dist/dice.d.ts.map +1 -0
- package/dist/dice.js +424 -0
- package/dist/dice.js.map +1 -0
- package/dist/effects/effect-choice.d.ts +15 -0
- package/dist/effects/effect-choice.d.ts.map +1 -0
- package/dist/effects/effect-choice.js +18 -0
- package/dist/effects/effect-choice.js.map +1 -0
- package/dist/effects/effect-info.d.ts +124 -0
- package/dist/effects/effect-info.d.ts.map +1 -0
- package/dist/effects/effect-info.js +706 -0
- package/dist/effects/effect-info.js.map +1 -0
- package/dist/effects/effect.d.ts +165 -0
- package/dist/effects/effect.d.ts.map +1 -0
- package/dist/effects/effect.js +452 -0
- package/dist/effects/effect.js.map +1 -0
- package/dist/effects/handlers.d.ts +70 -0
- package/dist/effects/handlers.d.ts.map +1 -0
- package/dist/effects/handlers.js +394 -0
- package/dist/effects/handlers.js.map +1 -0
- package/dist/effects/interpreter.d.ts +291 -0
- package/dist/effects/interpreter.d.ts.map +1 -0
- package/dist/effects/interpreter.js +325 -0
- package/dist/effects/interpreter.js.map +1 -0
- package/dist/events.d.ts +188 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +138 -0
- package/dist/events.js.map +1 -0
- package/dist/expression.d.ts +83 -0
- package/dist/expression.d.ts.map +1 -0
- package/dist/expression.js +333 -0
- package/dist/expression.js.map +1 -0
- package/dist/game/cave-cmd.d.ts +195 -0
- package/dist/game/cave-cmd.d.ts.map +1 -0
- package/dist/game/cave-cmd.js +968 -0
- package/dist/game/cave-cmd.js.map +1 -0
- package/dist/game/char-sheet.d.ts +189 -0
- package/dist/game/char-sheet.d.ts.map +1 -0
- package/dist/game/char-sheet.js +381 -0
- package/dist/game/char-sheet.js.map +1 -0
- package/dist/game/chest.d.ts +94 -0
- package/dist/game/chest.d.ts.map +1 -0
- package/dist/game/chest.js +267 -0
- package/dist/game/chest.js.map +1 -0
- package/dist/game/context.d.ts +970 -0
- package/dist/game/context.d.ts.map +1 -0
- package/dist/game/context.js +353 -0
- package/dist/game/context.js.map +1 -0
- package/dist/game/curse-tick.d.ts +35 -0
- package/dist/game/curse-tick.d.ts.map +1 -0
- package/dist/game/curse-tick.js +100 -0
- package/dist/game/curse-tick.js.map +1 -0
- package/dist/game/describe.d.ts +20 -0
- package/dist/game/describe.d.ts.map +1 -0
- package/dist/game/describe.js +45 -0
- package/dist/game/describe.js.map +1 -0
- package/dist/game/display.d.ts +196 -0
- package/dist/game/display.d.ts.map +1 -0
- package/dist/game/display.js +684 -0
- package/dist/game/display.js.map +1 -0
- package/dist/game/dump-level.d.ts +37 -0
- package/dist/game/dump-level.d.ts.map +1 -0
- package/dist/game/dump-level.js +110 -0
- package/dist/game/dump-level.js.map +1 -0
- package/dist/game/effect-attack.d.ts +36 -0
- package/dist/game/effect-attack.d.ts.map +1 -0
- package/dist/game/effect-attack.js +694 -0
- package/dist/game/effect-attack.js.map +1 -0
- package/dist/game/effect-detect.d.ts +34 -0
- package/dist/game/effect-detect.d.ts.map +1 -0
- package/dist/game/effect-detect.js +456 -0
- package/dist/game/effect-detect.js.map +1 -0
- package/dist/game/effect-env.d.ts +77 -0
- package/dist/game/effect-env.d.ts.map +1 -0
- package/dist/game/effect-env.js +166 -0
- package/dist/game/effect-env.js.map +1 -0
- package/dist/game/effect-game-env.d.ts +76 -0
- package/dist/game/effect-game-env.d.ts.map +1 -0
- package/dist/game/effect-game-env.js +23 -0
- package/dist/game/effect-game-env.js.map +1 -0
- package/dist/game/effect-general.d.ts +98 -0
- package/dist/game/effect-general.d.ts.map +1 -0
- package/dist/game/effect-general.js +914 -0
- package/dist/game/effect-general.js.map +1 -0
- package/dist/game/effect-item.d.ts +124 -0
- package/dist/game/effect-item.d.ts.map +1 -0
- package/dist/game/effect-item.js +789 -0
- package/dist/game/effect-item.js.map +1 -0
- package/dist/game/effect-melee.d.ts +43 -0
- package/dist/game/effect-melee.d.ts.map +1 -0
- package/dist/game/effect-melee.js +477 -0
- package/dist/game/effect-melee.js.map +1 -0
- package/dist/game/effect-mon-origin.d.ts +67 -0
- package/dist/game/effect-mon-origin.d.ts.map +1 -0
- package/dist/game/effect-mon-origin.js +164 -0
- package/dist/game/effect-mon-origin.js.map +1 -0
- package/dist/game/effect-monster.d.ts +29 -0
- package/dist/game/effect-monster.d.ts.map +1 -0
- package/dist/game/effect-monster.js +281 -0
- package/dist/game/effect-monster.js.map +1 -0
- package/dist/game/effect-summon.d.ts +37 -0
- package/dist/game/effect-summon.d.ts.map +1 -0
- package/dist/game/effect-summon.js +113 -0
- package/dist/game/effect-summon.js.map +1 -0
- package/dist/game/effect-teleport.d.ts +130 -0
- package/dist/game/effect-teleport.d.ts.map +1 -0
- package/dist/game/effect-teleport.js +529 -0
- package/dist/game/effect-teleport.js.map +1 -0
- package/dist/game/effect-terrain.d.ts +91 -0
- package/dist/game/effect-terrain.d.ts.map +1 -0
- package/dist/game/effect-terrain.js +812 -0
- package/dist/game/effect-terrain.js.map +1 -0
- package/dist/game/energy.d.ts +45 -0
- package/dist/game/energy.d.ts.map +1 -0
- package/dist/game/energy.js +51 -0
- package/dist/game/energy.js.map +1 -0
- package/dist/game/equip-cmp.d.ts +138 -0
- package/dist/game/equip-cmp.d.ts.map +1 -0
- package/dist/game/equip-cmp.js +363 -0
- package/dist/game/equip-cmp.js.map +1 -0
- package/dist/game/floor.d.ts +182 -0
- package/dist/game/floor.d.ts.map +1 -0
- package/dist/game/floor.js +435 -0
- package/dist/game/floor.js.map +1 -0
- package/dist/game/gear.d.ts +408 -0
- package/dist/game/gear.d.ts.map +1 -0
- package/dist/game/gear.js +1037 -0
- package/dist/game/gear.js.map +1 -0
- package/dist/game/harness.d.ts +61 -0
- package/dist/game/harness.d.ts.map +1 -0
- package/dist/game/harness.js +198 -0
- package/dist/game/harness.js.map +1 -0
- package/dist/game/history.d.ts +49 -0
- package/dist/game/history.d.ts.map +1 -0
- package/dist/game/history.js +55 -0
- package/dist/game/history.js.map +1 -0
- package/dist/game/ignore-cmd.d.ts +42 -0
- package/dist/game/ignore-cmd.d.ts.map +1 -0
- package/dist/game/ignore-cmd.js +59 -0
- package/dist/game/ignore-cmd.js.map +1 -0
- package/dist/game/inscription-confirm.d.ts +80 -0
- package/dist/game/inscription-confirm.d.ts.map +1 -0
- package/dist/game/inscription-confirm.js +95 -0
- package/dist/game/inscription-confirm.js.map +1 -0
- package/dist/game/known.d.ts +297 -0
- package/dist/game/known.d.ts.map +1 -0
- package/dist/game/known.js +849 -0
- package/dist/game/known.js.map +1 -0
- package/dist/game/loop.d.ts +139 -0
- package/dist/game/loop.d.ts.map +1 -0
- package/dist/game/loop.js +631 -0
- package/dist/game/loop.js.map +1 -0
- package/dist/game/lore-color.d.ts +25 -0
- package/dist/game/lore-color.d.ts.map +1 -0
- package/dist/game/lore-color.js +95 -0
- package/dist/game/lore-color.js.map +1 -0
- package/dist/game/mon-cast.d.ts +150 -0
- package/dist/game/mon-cast.d.ts.map +1 -0
- package/dist/game/mon-cast.js +301 -0
- package/dist/game/mon-cast.js.map +1 -0
- package/dist/game/mon-cmd.d.ts +51 -0
- package/dist/game/mon-cmd.d.ts.map +1 -0
- package/dist/game/mon-cmd.js +670 -0
- package/dist/game/mon-cmd.js.map +1 -0
- package/dist/game/mon-death.d.ts +143 -0
- package/dist/game/mon-death.d.ts.map +1 -0
- package/dist/game/mon-death.js +328 -0
- package/dist/game/mon-death.js.map +1 -0
- package/dist/game/mon-group.d.ts +81 -0
- package/dist/game/mon-group.d.ts.map +1 -0
- package/dist/game/mon-group.js +323 -0
- package/dist/game/mon-group.js.map +1 -0
- package/dist/game/mon-list.d.ts +85 -0
- package/dist/game/mon-list.d.ts.map +1 -0
- package/dist/game/mon-list.js +154 -0
- package/dist/game/mon-list.js.map +1 -0
- package/dist/game/mon-message.d.ts +100 -0
- package/dist/game/mon-message.d.ts.map +1 -0
- package/dist/game/mon-message.js +336 -0
- package/dist/game/mon-message.js.map +1 -0
- package/dist/game/mon-place.d.ts +226 -0
- package/dist/game/mon-place.d.ts.map +1 -0
- package/dist/game/mon-place.js +642 -0
- package/dist/game/mon-place.js.map +1 -0
- package/dist/game/mon-ranged.d.ts +87 -0
- package/dist/game/mon-ranged.d.ts.map +1 -0
- package/dist/game/mon-ranged.js +353 -0
- package/dist/game/mon-ranged.js.map +1 -0
- package/dist/game/mon-shape.d.ts +43 -0
- package/dist/game/mon-shape.d.ts.map +1 -0
- package/dist/game/mon-shape.js +115 -0
- package/dist/game/mon-shape.js.map +1 -0
- package/dist/game/mon-side.d.ts +63 -0
- package/dist/game/mon-side.d.ts.map +1 -0
- package/dist/game/mon-side.js +403 -0
- package/dist/game/mon-side.js.map +1 -0
- package/dist/game/monster-turn.d.ts +195 -0
- package/dist/game/monster-turn.d.ts.map +1 -0
- package/dist/game/monster-turn.js +1560 -0
- package/dist/game/monster-turn.js.map +1 -0
- package/dist/game/obj-cmd.d.ts +453 -0
- package/dist/game/obj-cmd.d.ts.map +1 -0
- package/dist/game/obj-cmd.js +1530 -0
- package/dist/game/obj-cmd.js.map +1 -0
- package/dist/game/obj-list.d.ts +92 -0
- package/dist/game/obj-list.d.ts.map +1 -0
- package/dist/game/obj-list.js +251 -0
- package/dist/game/obj-list.js.map +1 -0
- package/dist/game/object-inspect.d.ts +37 -0
- package/dist/game/object-inspect.d.ts.map +1 -0
- package/dist/game/object-inspect.js +106 -0
- package/dist/game/object-inspect.js.map +1 -0
- package/dist/game/pickup.d.ts +126 -0
- package/dist/game/pickup.d.ts.map +1 -0
- package/dist/game/pickup.js +367 -0
- package/dist/game/pickup.js.map +1 -0
- package/dist/game/player-path.d.ts +133 -0
- package/dist/game/player-path.d.ts.map +1 -0
- package/dist/game/player-path.js +1268 -0
- package/dist/game/player-path.js.map +1 -0
- package/dist/game/player-side.d.ts +59 -0
- package/dist/game/player-side.d.ts.map +1 -0
- package/dist/game/player-side.js +506 -0
- package/dist/game/player-side.js.map +1 -0
- package/dist/game/player-turn.d.ts +161 -0
- package/dist/game/player-turn.d.ts.map +1 -0
- package/dist/game/player-turn.js +739 -0
- package/dist/game/player-turn.js.map +1 -0
- package/dist/game/project-cast.d.ts +268 -0
- package/dist/game/project-cast.d.ts.map +1 -0
- package/dist/game/project-cast.js +496 -0
- package/dist/game/project-cast.js.map +1 -0
- package/dist/game/project-feat.d.ts +47 -0
- package/dist/game/project-feat.d.ts.map +1 -0
- package/dist/game/project-feat.js +350 -0
- package/dist/game/project-feat.js.map +1 -0
- package/dist/game/project-monster.d.ts +106 -0
- package/dist/game/project-monster.d.ts.map +1 -0
- package/dist/game/project-monster.js +272 -0
- package/dist/game/project-monster.js.map +1 -0
- package/dist/game/project-obj.d.ts +60 -0
- package/dist/game/project-obj.d.ts.map +1 -0
- package/dist/game/project-obj.js +245 -0
- package/dist/game/project-obj.js.map +1 -0
- package/dist/game/project-player.d.ts +120 -0
- package/dist/game/project-player.d.ts.map +1 -0
- package/dist/game/project-player.js +108 -0
- package/dist/game/project-player.js.map +1 -0
- package/dist/game/quest.d.ts +101 -0
- package/dist/game/quest.d.ts.map +1 -0
- package/dist/game/quest.js +192 -0
- package/dist/game/quest.js.map +1 -0
- package/dist/game/ranged-cmd.d.ts +32 -0
- package/dist/game/ranged-cmd.d.ts.map +1 -0
- package/dist/game/ranged-cmd.js +372 -0
- package/dist/game/ranged-cmd.js.map +1 -0
- package/dist/game/scheduler.d.ts +47 -0
- package/dist/game/scheduler.d.ts.map +1 -0
- package/dist/game/scheduler.js +141 -0
- package/dist/game/scheduler.js.map +1 -0
- package/dist/game/spell-cmd.d.ts +104 -0
- package/dist/game/spell-cmd.d.ts.map +1 -0
- package/dist/game/spell-cmd.js +320 -0
- package/dist/game/spell-cmd.js.map +1 -0
- package/dist/game/spoil.d.ts +28 -0
- package/dist/game/spoil.d.ts.map +1 -0
- package/dist/game/spoil.js +435 -0
- package/dist/game/spoil.js.map +1 -0
- package/dist/game/steal.d.ts +35 -0
- package/dist/game/steal.d.ts.map +1 -0
- package/dist/game/steal.js +145 -0
- package/dist/game/steal.js.map +1 -0
- package/dist/game/take-hit-hooks.d.ts +52 -0
- package/dist/game/take-hit-hooks.d.ts.map +1 -0
- package/dist/game/take-hit-hooks.js +127 -0
- package/dist/game/take-hit-hooks.js.map +1 -0
- package/dist/game/target-loop.d.ts +119 -0
- package/dist/game/target-loop.d.ts.map +1 -0
- package/dist/game/target-loop.js +408 -0
- package/dist/game/target-loop.js.map +1 -0
- package/dist/game/target.d.ts +133 -0
- package/dist/game/target.d.ts.map +1 -0
- package/dist/game/target.js +353 -0
- package/dist/game/target.js.map +1 -0
- package/dist/game/thrust.d.ts +37 -0
- package/dist/game/thrust.d.ts.map +1 -0
- package/dist/game/thrust.js +155 -0
- package/dist/game/thrust.js.map +1 -0
- package/dist/game/trap.d.ts +218 -0
- package/dist/game/trap.d.ts.map +1 -0
- package/dist/game/trap.js +618 -0
- package/dist/game/trap.js.map +1 -0
- package/dist/game/ui-entry.d.ts +282 -0
- package/dist/game/ui-entry.d.ts.map +1 -0
- package/dist/game/ui-entry.js +1838 -0
- package/dist/game/ui-entry.js.map +1 -0
- package/dist/game/wizard.d.ts +654 -0
- package/dist/game/wizard.d.ts.map +1 -0
- package/dist/game/wizard.js +1323 -0
- package/dist/game/wizard.js.map +1 -0
- package/dist/game/world.d.ts +183 -0
- package/dist/game/world.d.ts.map +1 -0
- package/dist/game/world.js +685 -0
- package/dist/game/world.js.map +1 -0
- package/dist/gen/cave.d.ts +247 -0
- package/dist/gen/cave.d.ts.map +1 -0
- package/dist/gen/cave.js +2406 -0
- package/dist/gen/cave.js.map +1 -0
- package/dist/gen/gen-monster.d.ts +151 -0
- package/dist/gen/gen-monster.d.ts.map +1 -0
- package/dist/gen/gen-monster.js +473 -0
- package/dist/gen/gen-monster.js.map +1 -0
- package/dist/gen/generate.d.ts +240 -0
- package/dist/gen/generate.d.ts.map +1 -0
- package/dist/gen/generate.js +358 -0
- package/dist/gen/generate.js.map +1 -0
- package/dist/gen/room.d.ts +160 -0
- package/dist/gen/room.d.ts.map +1 -0
- package/dist/gen/room.js +1910 -0
- package/dist/gen/room.js.map +1 -0
- package/dist/gen/util.d.ts +466 -0
- package/dist/gen/util.d.ts.map +1 -0
- package/dist/gen/util.js +1553 -0
- package/dist/gen/util.js.map +1 -0
- package/dist/generated/dun-profiles.d.ts +44 -0
- package/dist/generated/dun-profiles.d.ts.map +1 -0
- package/dist/generated/dun-profiles.js +28 -0
- package/dist/generated/dun-profiles.js.map +1 -0
- package/dist/generated/effects.d.ts +1021 -0
- package/dist/generated/effects.d.ts.map +1 -0
- package/dist/generated/effects.js +239 -0
- package/dist/generated/effects.js.map +1 -0
- package/dist/generated/elements.d.ts +83 -0
- package/dist/generated/elements.d.ts.map +1 -0
- package/dist/generated/elements.js +60 -0
- package/dist/generated/elements.js.map +1 -0
- package/dist/generated/equip-slots.d.ts +104 -0
- package/dist/generated/equip-slots.d.ts.map +1 -0
- package/dist/generated/equip-slots.js +34 -0
- package/dist/generated/equip-slots.js.map +1 -0
- package/dist/generated/history-types.d.ts +52 -0
- package/dist/generated/history-types.d.ts.map +1 -0
- package/dist/generated/history-types.js +32 -0
- package/dist/generated/history-types.js.map +1 -0
- package/dist/generated/ignore-types.d.ts +116 -0
- package/dist/generated/ignore-types.d.ts.map +1 -0
- package/dist/generated/ignore-types.js +64 -0
- package/dist/generated/ignore-types.js.map +1 -0
- package/dist/generated/index.d.ts +32 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +33 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/kind-flags.d.ts +72 -0
- package/dist/generated/kind-flags.d.ts.map +1 -0
- package/dist/generated/kind-flags.js +42 -0
- package/dist/generated/kind-flags.js.map +1 -0
- package/dist/generated/message.d.ts +624 -0
- package/dist/generated/message.d.ts.map +1 -0
- package/dist/generated/message.js +318 -0
- package/dist/generated/message.js.map +1 -0
- package/dist/generated/mon-message.d.ts +386 -0
- package/dist/generated/mon-message.d.ts.map +1 -0
- package/dist/generated/mon-message.js +136 -0
- package/dist/generated/mon-message.js.map +1 -0
- package/dist/generated/mon-race-flags.d.ts +433 -0
- package/dist/generated/mon-race-flags.d.ts.map +1 -0
- package/dist/generated/mon-race-flags.js +180 -0
- package/dist/generated/mon-race-flags.js.map +1 -0
- package/dist/generated/mon-spells.d.ts +380 -0
- package/dist/generated/mon-spells.d.ts.map +1 -0
- package/dist/generated/mon-spells.js +196 -0
- package/dist/generated/mon-spells.js.map +1 -0
- package/dist/generated/mon-temp-flags.d.ts +52 -0
- package/dist/generated/mon-temp-flags.d.ts.map +1 -0
- package/dist/generated/mon-temp-flags.js +32 -0
- package/dist/generated/mon-temp-flags.js.map +1 -0
- package/dist/generated/mon-timed.d.ts +118 -0
- package/dist/generated/mon-timed.d.ts.map +1 -0
- package/dist/generated/mon-timed.js +32 -0
- package/dist/generated/mon-timed.js.map +1 -0
- package/dist/generated/object-flags.d.ts +169 -0
- package/dist/generated/object-flags.d.ts.map +1 -0
- package/dist/generated/object-flags.js +93 -0
- package/dist/generated/object-flags.js.map +1 -0
- package/dist/generated/object-modifiers.d.ts +50 -0
- package/dist/generated/object-modifiers.d.ts.map +1 -0
- package/dist/generated/object-modifiers.js +41 -0
- package/dist/generated/object-modifiers.js.map +1 -0
- package/dist/generated/options.d.ts +284 -0
- package/dist/generated/options.d.ts.map +1 -0
- package/dist/generated/options.js +102 -0
- package/dist/generated/options.js.map +1 -0
- package/dist/generated/origins.d.ts +138 -0
- package/dist/generated/origins.d.ts.map +1 -0
- package/dist/generated/origins.js +62 -0
- package/dist/generated/origins.js.map +1 -0
- package/dist/generated/parser-errors.d.ts +264 -0
- package/dist/generated/parser-errors.d.ts.map +1 -0
- package/dist/generated/parser-errors.js +138 -0
- package/dist/generated/parser-errors.js.map +1 -0
- package/dist/generated/player-flags.d.ts +62 -0
- package/dist/generated/player-flags.d.ts.map +1 -0
- package/dist/generated/player-flags.js +46 -0
- package/dist/generated/player-flags.js.map +1 -0
- package/dist/generated/player-timed.d.ts +273 -0
- package/dist/generated/player-timed.d.ts.map +1 -0
- package/dist/generated/player-timed.js +116 -0
- package/dist/generated/player-timed.js.map +1 -0
- package/dist/generated/projections.d.ts +130 -0
- package/dist/generated/projections.d.ts.map +1 -0
- package/dist/generated/projections.js +101 -0
- package/dist/generated/projections.js.map +1 -0
- package/dist/generated/randart-properties.d.ts +388 -0
- package/dist/generated/randart-properties.d.ts.map +1 -0
- package/dist/generated/randart-properties.js +200 -0
- package/dist/generated/randart-properties.js.map +1 -0
- package/dist/generated/room-flags.d.ts +21 -0
- package/dist/generated/room-flags.d.ts.map +1 -0
- package/dist/generated/room-flags.js +19 -0
- package/dist/generated/room-flags.js.map +1 -0
- package/dist/generated/rooms.d.ts +122 -0
- package/dist/generated/rooms.d.ts.map +1 -0
- package/dist/generated/rooms.js +48 -0
- package/dist/generated/rooms.js.map +1 -0
- package/dist/generated/square-flags.d.ts +96 -0
- package/dist/generated/square-flags.d.ts.map +1 -0
- package/dist/generated/square-flags.js +54 -0
- package/dist/generated/square-flags.js.map +1 -0
- package/dist/generated/stats.d.ts +23 -0
- package/dist/generated/stats.d.ts.map +1 -0
- package/dist/generated/stats.js +20 -0
- package/dist/generated/stats.js.map +1 -0
- package/dist/generated/terrain-flags.d.ts +136 -0
- package/dist/generated/terrain-flags.d.ts.map +1 -0
- package/dist/generated/terrain-flags.js +74 -0
- package/dist/generated/terrain-flags.js.map +1 -0
- package/dist/generated/terrain.d.ts +83 -0
- package/dist/generated/terrain.d.ts.map +1 -0
- package/dist/generated/terrain.js +60 -0
- package/dist/generated/terrain.js.map +1 -0
- package/dist/generated/trap-flags.d.ts +68 -0
- package/dist/generated/trap-flags.d.ts.map +1 -0
- package/dist/generated/trap-flags.js +40 -0
- package/dist/generated/trap-flags.js.map +1 -0
- package/dist/generated/tvals.d.ts +152 -0
- package/dist/generated/tvals.d.ts.map +1 -0
- package/dist/generated/tvals.js +82 -0
- package/dist/generated/tvals.js.map +1 -0
- package/dist/generated/ui-entry-renderers.d.ts +62 -0
- package/dist/generated/ui-entry-renderers.d.ts.map +1 -0
- package/dist/generated/ui-entry-renderers.js +22 -0
- package/dist/generated/ui-entry-renderers.js.map +1 -0
- package/dist/guard.d.ts +43 -0
- package/dist/guard.d.ts.map +1 -0
- package/dist/guard.js +65 -0
- package/dist/guard.js.map +1 -0
- package/dist/host/args.d.ts +129 -0
- package/dist/host/args.d.ts.map +1 -0
- package/dist/host/args.js +251 -0
- package/dist/host/args.js.map +1 -0
- package/dist/host/bridge.d.ts +61 -0
- package/dist/host/bridge.d.ts.map +1 -0
- package/dist/host/bridge.js +176 -0
- package/dist/host/bridge.js.map +1 -0
- package/dist/host/index.d.ts +18 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.js +18 -0
- package/dist/host/index.js.map +1 -0
- package/dist/host/io.d.ts +169 -0
- package/dist/host/io.d.ts.map +1 -0
- package/dist/host/io.js +137 -0
- package/dist/host/io.js.map +1 -0
- package/dist/host/memory.d.ts +56 -0
- package/dist/host/memory.d.ts.map +1 -0
- package/dist/host/memory.js +105 -0
- package/dist/host/memory.js.map +1 -0
- package/dist/host/raw.d.ts +114 -0
- package/dist/host/raw.d.ts.map +1 -0
- package/dist/host/raw.js +107 -0
- package/dist/host/raw.js.map +1 -0
- package/dist/index.d.ts +180 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +222 -0
- package/dist/index.js.map +1 -0
- package/dist/loc.d.ts +63 -0
- package/dist/loc.d.ts.map +1 -0
- package/dist/loc.js +128 -0
- package/dist/loc.js.map +1 -0
- package/dist/mod/hooks.d.ts +204 -0
- package/dist/mod/hooks.d.ts.map +1 -0
- package/dist/mod/hooks.js +161 -0
- package/dist/mod/hooks.js.map +1 -0
- package/dist/mod/ids.d.ts +160 -0
- package/dist/mod/ids.d.ts.map +1 -0
- package/dist/mod/ids.js +343 -0
- package/dist/mod/ids.js.map +1 -0
- package/dist/mod/registry-host.d.ts +156 -0
- package/dist/mod/registry-host.d.ts.map +1 -0
- package/dist/mod/registry-host.js +142 -0
- package/dist/mod/registry-host.js.map +1 -0
- package/dist/mod/save-blocks.d.ts +201 -0
- package/dist/mod/save-blocks.d.ts.map +1 -0
- package/dist/mod/save-blocks.js +640 -0
- package/dist/mod/save-blocks.js.map +1 -0
- package/dist/mod/vocabulary.d.ts +104 -0
- package/dist/mod/vocabulary.d.ts.map +1 -0
- package/dist/mod/vocabulary.js +0 -0
- package/dist/mod/vocabulary.js.map +1 -0
- package/dist/mon/bind.d.ts +266 -0
- package/dist/mon/bind.d.ts.map +1 -0
- package/dist/mon/bind.js +610 -0
- package/dist/mon/bind.js.map +1 -0
- package/dist/mon/desc.d.ts +72 -0
- package/dist/mon/desc.d.ts.map +1 -0
- package/dist/mon/desc.js +237 -0
- package/dist/mon/desc.js.map +1 -0
- package/dist/mon/knowledge-groups.d.ts +61 -0
- package/dist/mon/knowledge-groups.d.ts.map +1 -0
- package/dist/mon/knowledge-groups.js +121 -0
- package/dist/mon/knowledge-groups.js.map +1 -0
- package/dist/mon/lore-describe.d.ts +216 -0
- package/dist/mon/lore-describe.d.ts.map +1 -0
- package/dist/mon/lore-describe.js +1105 -0
- package/dist/mon/lore-describe.js.map +1 -0
- package/dist/mon/lore.d.ts +117 -0
- package/dist/mon/lore.d.ts.map +1 -0
- package/dist/mon/lore.js +221 -0
- package/dist/mon/lore.js.map +1 -0
- package/dist/mon/make.d.ts +147 -0
- package/dist/mon/make.d.ts.map +1 -0
- package/dist/mon/make.js +353 -0
- package/dist/mon/make.js.map +1 -0
- package/dist/mon/monster.d.ts +94 -0
- package/dist/mon/monster.d.ts.map +1 -0
- package/dist/mon/monster.js +90 -0
- package/dist/mon/monster.js.map +1 -0
- package/dist/mon/predicate.d.ts +87 -0
- package/dist/mon/predicate.d.ts.map +1 -0
- package/dist/mon/predicate.js +190 -0
- package/dist/mon/predicate.js.map +1 -0
- package/dist/mon/project-mon.d.ts +129 -0
- package/dist/mon/project-mon.d.ts.map +1 -0
- package/dist/mon/project-mon.js +652 -0
- package/dist/mon/project-mon.js.map +1 -0
- package/dist/mon/spell.d.ts +155 -0
- package/dist/mon/spell.d.ts.map +1 -0
- package/dist/mon/spell.js +355 -0
- package/dist/mon/spell.js.map +1 -0
- package/dist/mon/steal.d.ts +112 -0
- package/dist/mon/steal.d.ts.map +1 -0
- package/dist/mon/steal.js +163 -0
- package/dist/mon/steal.js.map +1 -0
- package/dist/mon/summon.d.ts +62 -0
- package/dist/mon/summon.d.ts.map +1 -0
- package/dist/mon/summon.js +111 -0
- package/dist/mon/summon.js.map +1 -0
- package/dist/mon/take-hit.d.ts +75 -0
- package/dist/mon/take-hit.d.ts.map +1 -0
- package/dist/mon/take-hit.js +122 -0
- package/dist/mon/take-hit.js.map +1 -0
- package/dist/mon/timed.d.ts +74 -0
- package/dist/mon/timed.d.ts.map +1 -0
- package/dist/mon/timed.js +219 -0
- package/dist/mon/timed.js.map +1 -0
- package/dist/mon/types.d.ts +252 -0
- package/dist/mon/types.d.ts.map +1 -0
- package/dist/mon/types.js +46 -0
- package/dist/mon/types.js.map +1 -0
- package/dist/msg.d.ts +71 -0
- package/dist/msg.d.ts.map +1 -0
- package/dist/msg.js +126 -0
- package/dist/msg.js.map +1 -0
- package/dist/obj/artifact-fake.d.ts +39 -0
- package/dist/obj/artifact-fake.d.ts.map +1 -0
- package/dist/obj/artifact-fake.js +52 -0
- package/dist/obj/artifact-fake.js.map +1 -0
- package/dist/obj/artifact-known.d.ts +50 -0
- package/dist/obj/artifact-known.d.ts.map +1 -0
- package/dist/obj/artifact-known.js +55 -0
- package/dist/obj/artifact-known.js.map +1 -0
- package/dist/obj/bind.d.ts +219 -0
- package/dist/obj/bind.d.ts.map +1 -0
- package/dist/obj/bind.js +1239 -0
- package/dist/obj/bind.js.map +1 -0
- package/dist/obj/chest.d.ts +91 -0
- package/dist/obj/chest.d.ts.map +1 -0
- package/dist/obj/chest.js +220 -0
- package/dist/obj/chest.js.map +1 -0
- package/dist/obj/desc.d.ts +79 -0
- package/dist/obj/desc.d.ts.map +1 -0
- package/dist/obj/desc.js +602 -0
- package/dist/obj/desc.js.map +1 -0
- package/dist/obj/effects-info.d.ts +78 -0
- package/dist/obj/effects-info.d.ts.map +1 -0
- package/dist/obj/effects-info.js +240 -0
- package/dist/obj/effects-info.js.map +1 -0
- package/dist/obj/flavor.d.ts +68 -0
- package/dist/obj/flavor.d.ts.map +1 -0
- package/dist/obj/flavor.js +201 -0
- package/dist/obj/flavor.js.map +1 -0
- package/dist/obj/ignore.d.ts +143 -0
- package/dist/obj/ignore.d.ts.map +1 -0
- package/dist/obj/ignore.js +345 -0
- package/dist/obj/ignore.js.map +1 -0
- package/dist/obj/knowledge.d.ts +520 -0
- package/dist/obj/knowledge.d.ts.map +1 -0
- package/dist/obj/knowledge.js +1364 -0
- package/dist/obj/knowledge.js.map +1 -0
- package/dist/obj/known-object.d.ts +293 -0
- package/dist/obj/known-object.d.ts.map +1 -0
- package/dist/obj/known-object.js +532 -0
- package/dist/obj/known-object.js.map +1 -0
- package/dist/obj/make.d.ts +292 -0
- package/dist/obj/make.d.ts.map +1 -0
- package/dist/obj/make.js +1055 -0
- package/dist/obj/make.js.map +1 -0
- package/dist/obj/object-info.d.ts +188 -0
- package/dist/obj/object-info.d.ts.map +1 -0
- package/dist/obj/object-info.js +1407 -0
- package/dist/obj/object-info.js.map +1 -0
- package/dist/obj/object.d.ts +335 -0
- package/dist/obj/object.d.ts.map +1 -0
- package/dist/obj/object.js +1051 -0
- package/dist/obj/object.js.map +1 -0
- package/dist/obj/power.d.ts +65 -0
- package/dist/obj/power.d.ts.map +1 -0
- package/dist/obj/power.js +580 -0
- package/dist/obj/power.js.map +1 -0
- package/dist/obj/randart-build.d.ts +223 -0
- package/dist/obj/randart-build.d.ts.map +1 -0
- package/dist/obj/randart-build.js +1444 -0
- package/dist/obj/randart-build.js.map +1 -0
- package/dist/obj/randart-data.d.ts +179 -0
- package/dist/obj/randart-data.d.ts.map +1 -0
- package/dist/obj/randart-data.js +1153 -0
- package/dist/obj/randart-data.js.map +1 -0
- package/dist/obj/randart.d.ts +128 -0
- package/dist/obj/randart.d.ts.map +1 -0
- package/dist/obj/randart.js +458 -0
- package/dist/obj/randart.js.map +1 -0
- package/dist/obj/randname.d.ts +33 -0
- package/dist/obj/randname.d.ts.map +1 -0
- package/dist/obj/randname.js +116 -0
- package/dist/obj/randname.js.map +1 -0
- package/dist/obj/recharge.d.ts +28 -0
- package/dist/obj/recharge.d.ts.map +1 -0
- package/dist/obj/recharge.js +52 -0
- package/dist/obj/recharge.js.map +1 -0
- package/dist/obj/types.d.ts +584 -0
- package/dist/obj/types.d.ts.map +1 -0
- package/dist/obj/types.js +104 -0
- package/dist/obj/types.js.map +1 -0
- package/dist/obj/value.d.ts +64 -0
- package/dist/obj/value.d.ts.map +1 -0
- package/dist/obj/value.js +176 -0
- package/dist/obj/value.js.map +1 -0
- package/dist/player/abilities.d.ts +57 -0
- package/dist/player/abilities.d.ts.map +1 -0
- package/dist/player/abilities.js +118 -0
- package/dist/player/abilities.js.map +1 -0
- package/dist/player/best-digger.d.ts +42 -0
- package/dist/player/best-digger.d.ts.map +1 -0
- package/dist/player/best-digger.js +89 -0
- package/dist/player/best-digger.js.map +1 -0
- package/dist/player/bind.d.ts +270 -0
- package/dist/player/bind.d.ts.map +1 -0
- package/dist/player/bind.js +698 -0
- package/dist/player/bind.js.map +1 -0
- package/dist/player/birth.d.ts +258 -0
- package/dist/player/birth.d.ts.map +1 -0
- package/dist/player/birth.js +639 -0
- package/dist/player/birth.js.map +1 -0
- package/dist/player/calcs.d.ts +403 -0
- package/dist/player/calcs.d.ts.map +1 -0
- package/dist/player/calcs.js +1189 -0
- package/dist/player/calcs.js.map +1 -0
- package/dist/player/combat-regen.d.ts +14 -0
- package/dist/player/combat-regen.d.ts.map +1 -0
- package/dist/player/combat-regen.js +29 -0
- package/dist/player/combat-regen.js.map +1 -0
- package/dist/player/exp.d.ts +96 -0
- package/dist/player/exp.d.ts.map +1 -0
- package/dist/player/exp.js +229 -0
- package/dist/player/exp.js.map +1 -0
- package/dist/player/history.d.ts +91 -0
- package/dist/player/history.d.ts.map +1 -0
- package/dist/player/history.js +145 -0
- package/dist/player/history.js.map +1 -0
- package/dist/player/options.d.ts +123 -0
- package/dist/player/options.d.ts.map +1 -0
- package/dist/player/options.js +199 -0
- package/dist/player/options.js.map +1 -0
- package/dist/player/player.d.ts +242 -0
- package/dist/player/player.d.ts.map +1 -0
- package/dist/player/player.js +119 -0
- package/dist/player/player.js.map +1 -0
- package/dist/player/shape-lore.d.ts +56 -0
- package/dist/player/shape-lore.d.ts.map +1 -0
- package/dist/player/shape-lore.js +221 -0
- package/dist/player/shape-lore.js.map +1 -0
- package/dist/player/spell.d.ts +146 -0
- package/dist/player/spell.d.ts.map +1 -0
- package/dist/player/spell.js +519 -0
- package/dist/player/spell.js.map +1 -0
- package/dist/player/take-hit.d.ts +87 -0
- package/dist/player/take-hit.d.ts.map +1 -0
- package/dist/player/take-hit.js +99 -0
- package/dist/player/take-hit.js.map +1 -0
- package/dist/player/timed.d.ts +205 -0
- package/dist/player/timed.d.ts.map +1 -0
- package/dist/player/timed.js +310 -0
- package/dist/player/timed.js.map +1 -0
- package/dist/player/types.d.ts +390 -0
- package/dist/player/types.d.ts.map +1 -0
- package/dist/player/types.js +51 -0
- package/dist/player/types.js.map +1 -0
- package/dist/rational.d.ts +99 -0
- package/dist/rational.d.ts.map +1 -0
- package/dist/rational.js +345 -0
- package/dist/rational.js.map +1 -0
- package/dist/rng.d.ts +168 -0
- package/dist/rng.d.ts.map +1 -0
- package/dist/rng.js +404 -0
- package/dist/rng.js.map +1 -0
- package/dist/save/buffer.d.ts +120 -0
- package/dist/save/buffer.d.ts.map +1 -0
- package/dist/save/buffer.js +238 -0
- package/dist/save/buffer.js.map +1 -0
- package/dist/save/compress.d.ts +79 -0
- package/dist/save/compress.d.ts.map +1 -0
- package/dist/save/compress.js +97 -0
- package/dist/save/compress.js.map +1 -0
- package/dist/save/description.d.ts +61 -0
- package/dist/save/description.d.ts.map +1 -0
- package/dist/save/description.js +51 -0
- package/dist/save/description.js.map +1 -0
- package/dist/save/integrity.d.ts +59 -0
- package/dist/save/integrity.d.ts.map +1 -0
- package/dist/save/integrity.js +103 -0
- package/dist/save/integrity.js.map +1 -0
- package/dist/score/display.d.ts +40 -0
- package/dist/score/display.d.ts.map +1 -0
- package/dist/score/display.js +86 -0
- package/dist/score/display.js.map +1 -0
- package/dist/score/score.d.ts +166 -0
- package/dist/score/score.d.ts.map +1 -0
- package/dist/score/score.js +244 -0
- package/dist/score/score.js.map +1 -0
- package/dist/score/types.d.ts +98 -0
- package/dist/score/types.d.ts.map +1 -0
- package/dist/score/types.js +27 -0
- package/dist/score/types.js.map +1 -0
- package/dist/session/boot.d.ts +207 -0
- package/dist/session/boot.d.ts.map +1 -0
- package/dist/session/boot.js +151 -0
- package/dist/session/boot.js.map +1 -0
- package/dist/session/game.d.ts +257 -0
- package/dist/session/game.d.ts.map +1 -0
- package/dist/session/game.js +2880 -0
- package/dist/session/game.js.map +1 -0
- package/dist/session/save.d.ts +847 -0
- package/dist/session/save.d.ts.map +1 -0
- package/dist/session/save.js +1306 -0
- package/dist/session/save.js.map +1 -0
- package/dist/sound/engine.d.ts +146 -0
- package/dist/sound/engine.d.ts.map +1 -0
- package/dist/sound/engine.js +332 -0
- package/dist/sound/engine.js.map +1 -0
- package/dist/sound/index.d.ts +13 -0
- package/dist/sound/index.d.ts.map +1 -0
- package/dist/sound/index.js +13 -0
- package/dist/sound/index.js.map +1 -0
- package/dist/sound/sound-prefs-data.d.ts +10 -0
- package/dist/sound/sound-prefs-data.d.ts.map +1 -0
- package/dist/sound/sound-prefs-data.js +165 -0
- package/dist/sound/sound-prefs-data.js.map +1 -0
- package/dist/sound/types.d.ts +64 -0
- package/dist/sound/types.d.ts.map +1 -0
- package/dist/sound/types.js +23 -0
- package/dist/sound/types.js.map +1 -0
- package/dist/store/bind.d.ts +43 -0
- package/dist/store/bind.d.ts.map +1 -0
- package/dist/store/bind.js +130 -0
- package/dist/store/bind.js.map +1 -0
- package/dist/store/price.d.ts +27 -0
- package/dist/store/price.d.ts.map +1 -0
- package/dist/store/price.js +81 -0
- package/dist/store/price.js.map +1 -0
- package/dist/store/store-cmd.d.ts +51 -0
- package/dist/store/store-cmd.d.ts.map +1 -0
- package/dist/store/store-cmd.js +73 -0
- package/dist/store/store-cmd.js.map +1 -0
- package/dist/store/store.d.ts +156 -0
- package/dist/store/store.d.ts.map +1 -0
- package/dist/store/store.js +616 -0
- package/dist/store/store.js.map +1 -0
- package/dist/store/transact.d.ts +198 -0
- package/dist/store/transact.d.ts.map +1 -0
- package/dist/store/transact.js +383 -0
- package/dist/store/transact.js.map +1 -0
- package/dist/store/types.d.ts +101 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js +14 -0
- package/dist/store/types.js.map +1 -0
- package/dist/version.d.ts +25 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +25 -0
- package/dist/version.js.map +1 -0
- package/dist/visuals/engine.d.ts +223 -0
- package/dist/visuals/engine.d.ts.map +1 -0
- package/dist/visuals/engine.js +357 -0
- package/dist/visuals/engine.js.map +1 -0
- package/dist/visuals/glyph-table.d.ts +112 -0
- package/dist/visuals/glyph-table.d.ts.map +1 -0
- package/dist/visuals/glyph-table.js +156 -0
- package/dist/visuals/glyph-table.js.map +1 -0
- package/dist/visuals/grafmode-data.d.ts +4 -0
- package/dist/visuals/grafmode-data.d.ts.map +1 -0
- package/dist/visuals/grafmode-data.js +88 -0
- package/dist/visuals/grafmode-data.js.map +1 -0
- package/dist/visuals/grafmode.d.ts +83 -0
- package/dist/visuals/grafmode.d.ts.map +1 -0
- package/dist/visuals/grafmode.js +82 -0
- package/dist/visuals/grafmode.js.map +1 -0
- package/dist/visuals/index.d.ts +19 -0
- package/dist/visuals/index.d.ts.map +1 -0
- package/dist/visuals/index.js +19 -0
- package/dist/visuals/index.js.map +1 -0
- package/dist/visuals/map-text.d.ts +79 -0
- package/dist/visuals/map-text.d.ts.map +1 -0
- package/dist/visuals/map-text.js +122 -0
- package/dist/visuals/map-text.js.map +1 -0
- package/dist/visuals/pref-expr.d.ts +56 -0
- package/dist/visuals/pref-expr.d.ts.map +1 -0
- package/dist/visuals/pref-expr.js +173 -0
- package/dist/visuals/pref-expr.js.map +1 -0
- package/dist/visuals/prefs.d.ts +280 -0
- package/dist/visuals/prefs.d.ts.map +1 -0
- package/dist/visuals/prefs.js +835 -0
- package/dist/visuals/prefs.js.map +1 -0
- package/dist/visuals/tile-prefs.d.ts +132 -0
- package/dist/visuals/tile-prefs.d.ts.map +1 -0
- package/dist/visuals/tile-prefs.js +105 -0
- package/dist/visuals/tile-prefs.js.map +1 -0
- package/dist/world/chunk.d.ts +195 -0
- package/dist/world/chunk.d.ts.map +1 -0
- package/dist/world/chunk.js +422 -0
- package/dist/world/chunk.js.map +1 -0
- package/dist/world/feature.d.ts +86 -0
- package/dist/world/feature.d.ts.map +1 -0
- package/dist/world/feature.js +153 -0
- package/dist/world/feature.js.map +1 -0
- package/dist/world/flow.d.ts +33 -0
- package/dist/world/flow.d.ts.map +1 -0
- package/dist/world/flow.js +115 -0
- package/dist/world/flow.js.map +1 -0
- package/dist/world/project.d.ts +176 -0
- package/dist/world/project.d.ts.map +1 -0
- package/dist/world/project.js +543 -0
- package/dist/world/project.js.map +1 -0
- package/dist/world/projection.d.ts +100 -0
- package/dist/world/projection.d.ts.map +1 -0
- package/dist/world/projection.js +152 -0
- package/dist/world/projection.js.map +1 -0
- package/dist/world/scatter.d.ts +25 -0
- package/dist/world/scatter.d.ts.map +1 -0
- package/dist/world/scatter.js +54 -0
- package/dist/world/scatter.js.map +1 -0
- package/dist/world/trap.d.ts +84 -0
- package/dist/world/trap.d.ts.map +1 -0
- package/dist/world/trap.js +106 -0
- package/dist/world/trap.js.map +1 -0
- package/dist/world/view.d.ts +60 -0
- package/dist/world/view.d.ts.map +1 -0
- package/dist/world/view.js +436 -0
- package/dist/world/view.js.map +1 -0
- package/dist/z-queue.d.ts +133 -0
- package/dist/z-queue.d.ts.map +1 -0
- package/dist/z-queue.js +283 -0
- package/dist/z-queue.js.map +1 -0
- package/package.json +75 -0
- package/src/agent/act.ts +114 -0
- package/src/agent/controller.ts +109 -0
- package/src/agent/events.ts +47 -0
- package/src/agent/index.ts +36 -0
- package/src/agent/perceive.ts +440 -0
- package/src/agent/types.ts +464 -0
- package/src/bitflag.ts +536 -0
- package/src/cmd.ts +547 -0
- package/src/color.ts +267 -0
- package/src/combat/brand-slay.ts +360 -0
- package/src/combat/hit.ts +471 -0
- package/src/combat/index.ts +15 -0
- package/src/combat/melee.ts +728 -0
- package/src/combat/mon-melee.ts +1153 -0
- package/src/combat/ranged.ts +397 -0
- package/src/constants.ts +324 -0
- package/src/dice.ts +467 -0
- package/src/effects/effect-choice.ts +32 -0
- package/src/effects/effect-info.ts +859 -0
- package/src/effects/effect.ts +560 -0
- package/src/effects/handlers.ts +452 -0
- package/src/effects/interpreter.ts +603 -0
- package/src/events.ts +317 -0
- package/src/expression.ts +360 -0
- package/src/game/cave-cmd.ts +1147 -0
- package/src/game/char-sheet.ts +557 -0
- package/src/game/chest.ts +348 -0
- package/src/game/context.ts +1218 -0
- package/src/game/curse-tick.ts +130 -0
- package/src/game/describe.ts +62 -0
- package/src/game/display.ts +838 -0
- package/src/game/dump-level.ts +114 -0
- package/src/game/effect-attack.ts +746 -0
- package/src/game/effect-detect.ts +542 -0
- package/src/game/effect-env.ts +252 -0
- package/src/game/effect-game-env.ts +86 -0
- package/src/game/effect-general.ts +1122 -0
- package/src/game/effect-item.ts +999 -0
- package/src/game/effect-melee.ts +557 -0
- package/src/game/effect-mon-origin.ts +196 -0
- package/src/game/effect-monster.ts +310 -0
- package/src/game/effect-summon.ts +161 -0
- package/src/game/effect-teleport.ts +645 -0
- package/src/game/effect-terrain.ts +881 -0
- package/src/game/energy.ts +61 -0
- package/src/game/equip-cmp.ts +476 -0
- package/src/game/floor.ts +524 -0
- package/src/game/gear.ts +1352 -0
- package/src/game/harness.ts +270 -0
- package/src/game/history.ts +78 -0
- package/src/game/ignore-cmd.ts +68 -0
- package/src/game/inscription-confirm.ts +115 -0
- package/src/game/known.ts +960 -0
- package/src/game/loop.ts +671 -0
- package/src/game/lore-color.ts +108 -0
- package/src/game/mon-cast.ts +409 -0
- package/src/game/mon-cmd.ts +767 -0
- package/src/game/mon-death.ts +459 -0
- package/src/game/mon-group.ts +368 -0
- package/src/game/mon-list.ts +213 -0
- package/src/game/mon-message.ts +359 -0
- package/src/game/mon-place.ts +1012 -0
- package/src/game/mon-ranged.ts +405 -0
- package/src/game/mon-shape.ts +161 -0
- package/src/game/mon-side.ts +511 -0
- package/src/game/monster-turn.ts +1750 -0
- package/src/game/obj-cmd.ts +1970 -0
- package/src/game/obj-list.ts +302 -0
- package/src/game/object-inspect.ts +162 -0
- package/src/game/pickup.ts +483 -0
- package/src/game/player-path.ts +1434 -0
- package/src/game/player-side.ts +555 -0
- package/src/game/player-turn.ts +852 -0
- package/src/game/project-cast.ts +766 -0
- package/src/game/project-feat.ts +386 -0
- package/src/game/project-monster.ts +407 -0
- package/src/game/project-obj.ts +298 -0
- package/src/game/project-player.ts +236 -0
- package/src/game/quest.ts +248 -0
- package/src/game/ranged-cmd.ts +417 -0
- package/src/game/scheduler.ts +150 -0
- package/src/game/spell-cmd.ts +404 -0
- package/src/game/spoil.ts +562 -0
- package/src/game/steal.ts +169 -0
- package/src/game/take-hit-hooks.ts +152 -0
- package/src/game/target-loop.ts +501 -0
- package/src/game/target.ts +424 -0
- package/src/game/thrust.ts +174 -0
- package/src/game/trap.ts +791 -0
- package/src/game/ui-entry.ts +2075 -0
- package/src/game/wizard.ts +1760 -0
- package/src/game/world.ts +786 -0
- package/src/gen/cave.ts +2858 -0
- package/src/gen/gen-monster.ts +592 -0
- package/src/gen/generate.ts +523 -0
- package/src/gen/room.ts +2213 -0
- package/src/gen/util.ts +1958 -0
- package/src/generated/dun-profiles.ts +30 -0
- package/src/generated/effects.ts +241 -0
- package/src/generated/elements.ts +62 -0
- package/src/generated/equip-slots.ts +36 -0
- package/src/generated/history-types.ts +34 -0
- package/src/generated/ignore-types.ts +66 -0
- package/src/generated/index.ts +33 -0
- package/src/generated/kind-flags.ts +44 -0
- package/src/generated/message.ts +320 -0
- package/src/generated/mon-message.ts +138 -0
- package/src/generated/mon-race-flags.ts +182 -0
- package/src/generated/mon-spells.ts +198 -0
- package/src/generated/mon-temp-flags.ts +34 -0
- package/src/generated/mon-timed.ts +34 -0
- package/src/generated/object-flags.ts +95 -0
- package/src/generated/object-modifiers.ts +43 -0
- package/src/generated/options.ts +104 -0
- package/src/generated/origins.ts +64 -0
- package/src/generated/parser-errors.ts +140 -0
- package/src/generated/player-flags.ts +48 -0
- package/src/generated/player-timed.ts +118 -0
- package/src/generated/projections.ts +103 -0
- package/src/generated/randart-properties.ts +202 -0
- package/src/generated/room-flags.ts +21 -0
- package/src/generated/rooms.ts +50 -0
- package/src/generated/square-flags.ts +56 -0
- package/src/generated/stats.ts +22 -0
- package/src/generated/terrain-flags.ts +76 -0
- package/src/generated/terrain.ts +62 -0
- package/src/generated/trap-flags.ts +42 -0
- package/src/generated/tvals.ts +84 -0
- package/src/generated/ui-entry-renderers.ts +24 -0
- package/src/guard.ts +70 -0
- package/src/host/args.ts +334 -0
- package/src/host/bridge.ts +193 -0
- package/src/host/index.ts +18 -0
- package/src/host/io.ts +239 -0
- package/src/host/memory.ts +134 -0
- package/src/host/raw.ts +190 -0
- package/src/index.ts +250 -0
- package/src/loc.ts +157 -0
- package/src/mod/hooks.ts +278 -0
- package/src/mod/ids.ts +390 -0
- package/src/mod/registry-host.ts +258 -0
- package/src/mod/save-blocks.ts +787 -0
- package/src/mod/vocabulary.ts +0 -0
- package/src/mon/bind.ts +899 -0
- package/src/mon/desc.ts +212 -0
- package/src/mon/knowledge-groups.ts +164 -0
- package/src/mon/lore-describe.ts +1414 -0
- package/src/mon/lore.ts +306 -0
- package/src/mon/make.ts +422 -0
- package/src/mon/monster.ts +161 -0
- package/src/mon/predicate.ts +220 -0
- package/src/mon/project-mon.ts +855 -0
- package/src/mon/spell.ts +418 -0
- package/src/mon/steal.ts +246 -0
- package/src/mon/summon.ts +145 -0
- package/src/mon/take-hit.ts +195 -0
- package/src/mon/timed.ts +300 -0
- package/src/mon/types.ts +286 -0
- package/src/msg.ts +146 -0
- package/src/obj/artifact-fake.ts +63 -0
- package/src/obj/artifact-known.ts +69 -0
- package/src/obj/bind.ts +1345 -0
- package/src/obj/chest.ts +249 -0
- package/src/obj/desc.ts +699 -0
- package/src/obj/effects-info.ts +349 -0
- package/src/obj/flavor.ts +256 -0
- package/src/obj/ignore.ts +387 -0
- package/src/obj/knowledge.ts +1577 -0
- package/src/obj/known-object.ts +718 -0
- package/src/obj/make.ts +1367 -0
- package/src/obj/object-info.ts +1737 -0
- package/src/obj/object.ts +1296 -0
- package/src/obj/power.ts +674 -0
- package/src/obj/randart-build.ts +1705 -0
- package/src/obj/randart-data.ts +1344 -0
- package/src/obj/randart.ts +552 -0
- package/src/obj/randname.ts +128 -0
- package/src/obj/recharge.ts +62 -0
- package/src/obj/types.ts +559 -0
- package/src/obj/value.ts +215 -0
- package/src/player/abilities.ts +142 -0
- package/src/player/best-digger.ts +118 -0
- package/src/player/bind.ts +1021 -0
- package/src/player/birth.ts +794 -0
- package/src/player/calcs.ts +1522 -0
- package/src/player/combat-regen.ts +33 -0
- package/src/player/exp.ts +275 -0
- package/src/player/history.ts +211 -0
- package/src/player/options.ts +244 -0
- package/src/player/player.ts +356 -0
- package/src/player/shape-lore.ts +250 -0
- package/src/player/spell.ts +627 -0
- package/src/player/take-hit.ts +173 -0
- package/src/player/timed.ts +482 -0
- package/src/player/types.ts +415 -0
- package/src/rational.ts +388 -0
- package/src/rng.ts +476 -0
- package/src/save/buffer.ts +287 -0
- package/src/save/compress.ts +132 -0
- package/src/save/description.ts +70 -0
- package/src/save/integrity.ts +133 -0
- package/src/score/display.ts +125 -0
- package/src/score/score.ts +341 -0
- package/src/score/types.ts +104 -0
- package/src/session/boot.ts +338 -0
- package/src/session/game.ts +3712 -0
- package/src/session/save.ts +2074 -0
- package/src/sound/engine.ts +375 -0
- package/src/sound/index.ts +13 -0
- package/src/sound/sound-prefs-data.ts +173 -0
- package/src/sound/types.ts +68 -0
- package/src/store/bind.ts +145 -0
- package/src/store/price.ts +97 -0
- package/src/store/store-cmd.ts +73 -0
- package/src/store/store.ts +723 -0
- package/src/store/transact.ts +644 -0
- package/src/store/types.ts +110 -0
- package/src/version.ts +26 -0
- package/src/visuals/engine.ts +444 -0
- package/src/visuals/glyph-table.ts +191 -0
- package/src/visuals/grafmode-data.ts +90 -0
- package/src/visuals/grafmode.ts +123 -0
- package/src/visuals/index.ts +19 -0
- package/src/visuals/map-text.ts +152 -0
- package/src/visuals/pref-expr.ts +182 -0
- package/src/visuals/prefs.ts +981 -0
- package/src/visuals/tile-prefs.ts +183 -0
- package/src/world/chunk.ts +531 -0
- package/src/world/feature.ts +215 -0
- package/src/world/flow.ts +128 -0
- package/src/world/project.ts +687 -0
- package/src/world/projection.ts +228 -0
- package/src/world/scatter.ts +72 -0
- package/src/world/trap.ts +155 -0
- package/src/world/view.ts +513 -0
- package/src/z-queue.ts +300 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Player spellcasting commands, ported from the casting half of
|
|
3
|
+
* reference/src/player-spell.c (spell_cast, beam_chance) and the cast /
|
|
4
|
+
* study commands of cmd-obj.c (Angband 4.2.6). The spell's effect chain
|
|
5
|
+
* runs through the same effect interpreter as items, monster spells and
|
|
6
|
+
* traps, with a player source.
|
|
7
|
+
*
|
|
8
|
+
* Commands address the spell by its class-wide index (args.spell) and the
|
|
9
|
+
* book by gear handle (args.handle); the book/spell selection MENUS are the
|
|
10
|
+
* UI layer's (#25) - a front end lists spellCollectFromBook and passes the
|
|
11
|
+
* choice down, exactly as upstream's cmd_get_spell resolves before the
|
|
12
|
+
* command runs.
|
|
13
|
+
*
|
|
14
|
+
* DEFERRED (ledgered in game-spell-cmd.yaml): the low-mana confirmation
|
|
15
|
+
* prompt (get_check, UI) and TMD_FASTCAST's 3/4-turn cast. no_light in
|
|
16
|
+
* player_can_cast is now wired (obj-cmd.ts noLight, cave-view.c L913).
|
|
17
|
+
* convert_mana_to_hp (PF_COMBAT_REGEN) and player_over_exert's faint/CON
|
|
18
|
+
* drain on overcasting are now wired (the latter through env.overExert,
|
|
19
|
+
* supplied by session/game.ts).
|
|
20
|
+
*/
|
|
21
|
+
import type { Player } from "../player/player.js";
|
|
22
|
+
import type { SpellChanceEnv } from "../player/spell.js";
|
|
23
|
+
import type { GameState } from "./context.js";
|
|
24
|
+
import type { ObjCmdDeps } from "./obj-cmd.js";
|
|
25
|
+
import type { ActionRegistry } from "./player-turn.js";
|
|
26
|
+
/** Hooks for messages and unported systems; all optional. */
|
|
27
|
+
export interface SpellCmdEnv extends SpellChanceEnv {
|
|
28
|
+
msg?: (text: string) => void;
|
|
29
|
+
/** player_exp_gain (experience system). */
|
|
30
|
+
expGain?: (amount: number) => void;
|
|
31
|
+
/** player_over_exert on overcasting (faint / CON drain). */
|
|
32
|
+
overExert?: (oops: number) => void;
|
|
33
|
+
/**
|
|
34
|
+
* get_aim_dir: keypad 1-9, or DIR_TARGET (5) to use the player's
|
|
35
|
+
* current target (game/target.ts). The prompt itself is UI (#25).
|
|
36
|
+
*/
|
|
37
|
+
chooseDir?: () => number;
|
|
38
|
+
}
|
|
39
|
+
/** Everything the cast/study commands need beyond the state. */
|
|
40
|
+
export interface SpellCmdDeps {
|
|
41
|
+
/** The effect stack bundle (same as obj-cmd / traps). */
|
|
42
|
+
effects: Pick<ObjCmdDeps, "registry" | "cast" | "envDeps" | "inject" | "teleport" | "general" | "item" | "summon">;
|
|
43
|
+
/** state->stat_ind from calc_bonuses, for the fail / mana math. */
|
|
44
|
+
statInd: readonly number[];
|
|
45
|
+
env?: SpellCmdEnv;
|
|
46
|
+
}
|
|
47
|
+
/** beam_chance (player-spell.c L486): plev for PF_BEAM classes, else half. */
|
|
48
|
+
export declare function playerBeamChance(player: Player): number;
|
|
49
|
+
/** spell_needs_aim over the spell's raw effect records. */
|
|
50
|
+
export declare function spellNeedsAim(player: Player, spellIndex: number): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* player_book_has_unlearned_spells (player-util.c L1315): does the player have
|
|
53
|
+
* access to a book holding a spell they could study right now? Scans
|
|
54
|
+
* USE_INVEN | USE_FLOOR with the obj_can_study tester (L1329), then re-checks
|
|
55
|
+
* each book's spells with spell_okay_to_study - upstream's own double check,
|
|
56
|
+
* kept as written.
|
|
57
|
+
*
|
|
58
|
+
* Drives prt_study's colour (ui-display.c L1235 / game/display.ts
|
|
59
|
+
* DisplayDeps.bookHasUnlearnedSpells): the "Study" indicator shows L_DARK when
|
|
60
|
+
* the player has spell slots but nothing to spend them on.
|
|
61
|
+
*/
|
|
62
|
+
export declare function playerBookHasUnlearnedSpells(state: GameState): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* player_can_cast (player-util.c L1087). Three checks in upstream's order: no
|
|
65
|
+
* spells at all, then `p->timed[TMD_BLIND] || no_light(p)` under ONE shared
|
|
66
|
+
* "You cannot see!", then confusion. Note the contrast with player_can_read
|
|
67
|
+
* (L1166), which splits blind and no_light into two distinct messages, orders
|
|
68
|
+
* confusion after them, and adds a fourth TMD_AMNESIA check that casting has
|
|
69
|
+
* no equivalent of.
|
|
70
|
+
*
|
|
71
|
+
* Upstream also exports player_can_cast_prereq (L1246) and
|
|
72
|
+
* player_can_study_prereq (L1255), which are just `player_can_cast(player,
|
|
73
|
+
* true)` / `player_can_study(player, true)` wired as the 'm'/'G' key prereqs
|
|
74
|
+
* (ui-game.c:174,176); the show_msg=false calls are the context-menu row
|
|
75
|
+
* validity checks (ui-context.c:270,457,683,686). This port always messages,
|
|
76
|
+
* matching the show_msg=true command paths - the row-greying uses of the
|
|
77
|
+
* silent form are UI (#25).
|
|
78
|
+
*/
|
|
79
|
+
export declare function playerCanCast(state: GameState, env?: SpellCmdEnv): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* makeSpellChanceEnv: the SpellChanceEnv (fear + lit-square inputs) shared by
|
|
82
|
+
* the cast path (spell_cast) and the fail-chance DISPLAY path (get_spell_info,
|
|
83
|
+
* ui-spell.c), so a shown fail rate always equals the cast fail rate. C uses
|
|
84
|
+
* the SAME spell_chance for both; when the display path omits these the shown
|
|
85
|
+
* rate drops the OF_AFRAID (+20) and Necromancer PF_UNLIGHT (+25) penalties.
|
|
86
|
+
* player_of_has(OF_AFRAID) folds the timed TMD_AFRAID synonym plus any
|
|
87
|
+
* equipment/intrinsic fear; square_islit(cave, p->grid) drives PF_UNLIGHT
|
|
88
|
+
* (player-spell.c:417,424).
|
|
89
|
+
*/
|
|
90
|
+
export declare function makeSpellChanceEnv(state: GameState): SpellChanceEnv;
|
|
91
|
+
/**
|
|
92
|
+
* spell_cast (player-spell.c L495): roll the failure chance, run the effect
|
|
93
|
+
* chain on success (learning WORKED + exp the first time), and spend the
|
|
94
|
+
* mana either way, overcasting to zero. Returns whether the turn is spent
|
|
95
|
+
* (false only when the effect aborted, e.g. no target).
|
|
96
|
+
*/
|
|
97
|
+
export declare function spellCast(state: GameState, spellIndex: number, dir: number, deps: SpellCmdDeps): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Register the cast and study commands. Cast takes args.spell (the
|
|
100
|
+
* class-wide index); study takes args.handle (a book in the pack) and, for
|
|
101
|
+
* PF_CHOOSE_SPELLS classes, args.spell.
|
|
102
|
+
*/
|
|
103
|
+
export declare function installSpellCommands(registry: ActionRegistry, deps: SpellCmdDeps): void;
|
|
104
|
+
//# sourceMappingURL=spell-cmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spell-cmd.d.ts","sourceRoot":"","sources":["../../src/game/spell-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAclD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAQ7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,6DAA6D;AAC7D,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;CAC1B;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,OAAO,EAAE,IAAI,CACX,UAAU,EACR,UAAU,GACV,MAAM,GACN,SAAS,GACT,QAAQ,GACR,UAAU,GACV,SAAS,GACT,MAAM,GACN,QAAQ,CACX,CAAC;IACF,mEAAmE;IACnE,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAIzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAuBtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,GAAE,WAAgB,GAAG,OAAO,CAe9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc,CAOnE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,YAAY,GACjB,OAAO,CA4ET;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,YAAY,GACjB,IAAI,CAoHN"}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Player spellcasting commands, ported from the casting half of
|
|
3
|
+
* reference/src/player-spell.c (spell_cast, beam_chance) and the cast /
|
|
4
|
+
* study commands of cmd-obj.c (Angband 4.2.6). The spell's effect chain
|
|
5
|
+
* runs through the same effect interpreter as items, monster spells and
|
|
6
|
+
* traps, with a player source.
|
|
7
|
+
*
|
|
8
|
+
* Commands address the spell by its class-wide index (args.spell) and the
|
|
9
|
+
* book by gear handle (args.handle); the book/spell selection MENUS are the
|
|
10
|
+
* UI layer's (#25) - a front end lists spellCollectFromBook and passes the
|
|
11
|
+
* choice down, exactly as upstream's cmd_get_spell resolves before the
|
|
12
|
+
* command runs.
|
|
13
|
+
*
|
|
14
|
+
* DEFERRED (ledgered in game-spell-cmd.yaml): the low-mana confirmation
|
|
15
|
+
* prompt (get_check, UI) and TMD_FASTCAST's 3/4-turn cast. no_light in
|
|
16
|
+
* player_can_cast is now wired (obj-cmd.ts noLight, cave-view.c L913).
|
|
17
|
+
* convert_mana_to_hp (PF_COMBAT_REGEN) and player_over_exert's faint/CON
|
|
18
|
+
* drain on overcasting are now wired (the latter through env.overExert,
|
|
19
|
+
* supplied by session/game.ts).
|
|
20
|
+
*/
|
|
21
|
+
import { OF, PF, TMD } from "../generated/index.js";
|
|
22
|
+
import { sourcePlayer } from "../effects/interpreter.js";
|
|
23
|
+
import { playerOfHasWorld } from "./world.js";
|
|
24
|
+
import { squareIsLit } from "../world/view.js";
|
|
25
|
+
import { calcSpells, classMagicRealms, spellByIndex, spellChance, spellLearn, spellOkayToCast, spellOkayToStudy, objCanStudy, playerObjectToBook, PY_SPELL, } from "../player/spell.js";
|
|
26
|
+
import { scanItems, USE_MODE } from "./floor.js";
|
|
27
|
+
import { convertManaToHp } from "../player/combat-regen.js";
|
|
28
|
+
import { buildObjectEffectChain, effectRecordsNeedAim, noLight, playerConfuseDir, playerGetResumeNormalShape, } from "./obj-cmd.js";
|
|
29
|
+
import { gearGet } from "./gear.js";
|
|
30
|
+
import { buildEffectContext } from "./effect-env.js";
|
|
31
|
+
import { attachGameEnv } from "./effect-game-env.js";
|
|
32
|
+
import { targetFix, targetGet, targetOkay, targetRelease } from "./target.js";
|
|
33
|
+
/** beam_chance (player-spell.c L486): plev for PF_BEAM classes, else half. */
|
|
34
|
+
export function playerBeamChance(player) {
|
|
35
|
+
return player.cls.pflags.has(PF.BEAM) ? player.lev : Math.trunc(player.lev / 2);
|
|
36
|
+
}
|
|
37
|
+
/** spell_needs_aim over the spell's raw effect records. */
|
|
38
|
+
export function spellNeedsAim(player, spellIndex) {
|
|
39
|
+
const spell = spellByIndex(player.cls, spellIndex);
|
|
40
|
+
if (!spell)
|
|
41
|
+
return false;
|
|
42
|
+
return effectRecordsNeedAim(spell.effectsRaw);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* player_book_has_unlearned_spells (player-util.c L1315): does the player have
|
|
46
|
+
* access to a book holding a spell they could study right now? Scans
|
|
47
|
+
* USE_INVEN | USE_FLOOR with the obj_can_study tester (L1329), then re-checks
|
|
48
|
+
* each book's spells with spell_okay_to_study - upstream's own double check,
|
|
49
|
+
* kept as written.
|
|
50
|
+
*
|
|
51
|
+
* Drives prt_study's colour (ui-display.c L1235 / game/display.ts
|
|
52
|
+
* DisplayDeps.bookHasUnlearnedSpells): the "Study" indicator shows L_DARK when
|
|
53
|
+
* the player has spell slots but nothing to spend them on.
|
|
54
|
+
*/
|
|
55
|
+
export function playerBookHasUnlearnedSpells(state) {
|
|
56
|
+
const p = state.actor.player;
|
|
57
|
+
/* Check if the player can learn new spells (L1323). */
|
|
58
|
+
if (!p.upkeep.newSpells)
|
|
59
|
+
return false;
|
|
60
|
+
/* item_max = z_info->pack_size + z_info->floor_size (L1318). packSize is not
|
|
61
|
+
* on GameConstants; the pack list length is its live upper bound and the cap
|
|
62
|
+
* never clips in practice (a class has at most a few books). */
|
|
63
|
+
const itemMax = state.gear.pack.length + state.z.floorSize;
|
|
64
|
+
const books = scanItems(state, itemMax, USE_MODE.INVEN | USE_MODE.FLOOR, (obj) => objCanStudy(p, obj), state.isIgnored ? { isIgnored: (obj) => state.isIgnored(obj) } : {});
|
|
65
|
+
for (const obj of books) {
|
|
66
|
+
const book = playerObjectToBook(p, obj);
|
|
67
|
+
if (!book)
|
|
68
|
+
continue;
|
|
69
|
+
for (const spell of book.spells) {
|
|
70
|
+
if (spellOkayToStudy(p, spell.sidx))
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* player_can_cast (player-util.c L1087). Three checks in upstream's order: no
|
|
78
|
+
* spells at all, then `p->timed[TMD_BLIND] || no_light(p)` under ONE shared
|
|
79
|
+
* "You cannot see!", then confusion. Note the contrast with player_can_read
|
|
80
|
+
* (L1166), which splits blind and no_light into two distinct messages, orders
|
|
81
|
+
* confusion after them, and adds a fourth TMD_AMNESIA check that casting has
|
|
82
|
+
* no equivalent of.
|
|
83
|
+
*
|
|
84
|
+
* Upstream also exports player_can_cast_prereq (L1246) and
|
|
85
|
+
* player_can_study_prereq (L1255), which are just `player_can_cast(player,
|
|
86
|
+
* true)` / `player_can_study(player, true)` wired as the 'm'/'G' key prereqs
|
|
87
|
+
* (ui-game.c:174,176); the show_msg=false calls are the context-menu row
|
|
88
|
+
* validity checks (ui-context.c:270,457,683,686). This port always messages,
|
|
89
|
+
* matching the show_msg=true command paths - the row-greying uses of the
|
|
90
|
+
* silent form are UI (#25).
|
|
91
|
+
*/
|
|
92
|
+
export function playerCanCast(state, env = {}) {
|
|
93
|
+
const p = state.actor.player;
|
|
94
|
+
if (!p.cls.magic.totalSpells) {
|
|
95
|
+
env.msg?.("You cannot pray or produce magics.");
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if ((p.timed[TMD.BLIND] ?? 0) > 0 || noLight(state)) {
|
|
99
|
+
env.msg?.("You cannot see!");
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
if ((p.timed[TMD.CONFUSED] ?? 0) > 0) {
|
|
103
|
+
env.msg?.("You are too confused!");
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* makeSpellChanceEnv: the SpellChanceEnv (fear + lit-square inputs) shared by
|
|
110
|
+
* the cast path (spell_cast) and the fail-chance DISPLAY path (get_spell_info,
|
|
111
|
+
* ui-spell.c), so a shown fail rate always equals the cast fail rate. C uses
|
|
112
|
+
* the SAME spell_chance for both; when the display path omits these the shown
|
|
113
|
+
* rate drops the OF_AFRAID (+20) and Necromancer PF_UNLIGHT (+25) penalties.
|
|
114
|
+
* player_of_has(OF_AFRAID) folds the timed TMD_AFRAID synonym plus any
|
|
115
|
+
* equipment/intrinsic fear; square_islit(cave, p->grid) drives PF_UNLIGHT
|
|
116
|
+
* (player-spell.c:417,424).
|
|
117
|
+
*/
|
|
118
|
+
export function makeSpellChanceEnv(state) {
|
|
119
|
+
return {
|
|
120
|
+
afraid: () => playerOfHasWorld(state, OF.AFRAID) ||
|
|
121
|
+
(state.actor.player.timed[TMD.AFRAID] ?? 0) > 0,
|
|
122
|
+
gridIsLit: () => squareIsLit(state.chunk, state.actor.grid),
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* spell_cast (player-spell.c L495): roll the failure chance, run the effect
|
|
127
|
+
* chain on success (learning WORKED + exp the first time), and spend the
|
|
128
|
+
* mana either way, overcasting to zero. Returns whether the turn is spent
|
|
129
|
+
* (false only when the effect aborted, e.g. no target).
|
|
130
|
+
*/
|
|
131
|
+
export function spellCast(state, spellIndex, dir, deps) {
|
|
132
|
+
const env = deps.env ?? {};
|
|
133
|
+
const player = state.actor.player;
|
|
134
|
+
const spell = spellByIndex(player.cls, spellIndex);
|
|
135
|
+
if (!spell)
|
|
136
|
+
return false;
|
|
137
|
+
const beam = playerBeamChance(player);
|
|
138
|
+
const chance = spellChance(player, deps.statInd, spellIndex, env);
|
|
139
|
+
if (state.rng.randint0(100) < chance) {
|
|
140
|
+
env.msg?.("You failed to concentrate hard enough!");
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
/* Cast the spell. */
|
|
144
|
+
const chain = buildObjectEffectChain(spell.effectsRaw, state, deps.effects.inject);
|
|
145
|
+
const ctx = attachGameEnv(buildEffectContext(state, deps.effects.envDeps), {
|
|
146
|
+
state,
|
|
147
|
+
cast: deps.effects.cast,
|
|
148
|
+
/* take_hit consequences for effects that rebound damage onto the player
|
|
149
|
+
* (EF_BANISH), so such a death records died_from too. */
|
|
150
|
+
...(deps.effects.envDeps.takeHitHooks
|
|
151
|
+
? { takeHitHooks: deps.effects.envDeps.takeHitHooks }
|
|
152
|
+
: {}),
|
|
153
|
+
/* target_get inside the handlers: a DIR_TARGET cast re-reads the
|
|
154
|
+
* live target per handler, as upstream. */
|
|
155
|
+
get aimed() {
|
|
156
|
+
return targetOkay(state) ? targetGet(state) : undefined;
|
|
157
|
+
},
|
|
158
|
+
...(deps.effects.teleport ? { teleport: deps.effects.teleport } : {}),
|
|
159
|
+
...(deps.effects.general ? { general: deps.effects.general } : {}),
|
|
160
|
+
...(deps.effects.item ? { item: deps.effects.item } : {}),
|
|
161
|
+
...(deps.effects.summon ? { summon: deps.effects.summon } : {}),
|
|
162
|
+
});
|
|
163
|
+
const ident = { value: false };
|
|
164
|
+
if (!deps.effects.registry.effectDo(chain, ctx, {
|
|
165
|
+
origin: sourcePlayer(),
|
|
166
|
+
ident,
|
|
167
|
+
aware: true,
|
|
168
|
+
dir,
|
|
169
|
+
beam,
|
|
170
|
+
})) {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
/* Reward PF_COMBAT_REGEN characters with a small HP recovery from the
|
|
174
|
+
* mana just spent (player-spell.c L519-521). Deterministic - no RNG. */
|
|
175
|
+
const hasPf = env.hasPf ?? ((pf) => player.cls.pflags.has(pf));
|
|
176
|
+
if (hasPf(PF.COMBAT_REGEN)) {
|
|
177
|
+
convertManaToHp(player, spell.mana << 16);
|
|
178
|
+
}
|
|
179
|
+
if (((player.spellFlags[spellIndex] ?? 0) & PY_SPELL.WORKED) === 0) {
|
|
180
|
+
/* The spell worked. */
|
|
181
|
+
player.spellFlags[spellIndex] =
|
|
182
|
+
(player.spellFlags[spellIndex] ?? 0) | PY_SPELL.WORKED;
|
|
183
|
+
env.expGain?.(spell.exp * spell.level);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/* Sufficient mana? */
|
|
187
|
+
if (spell.mana <= player.csp) {
|
|
188
|
+
player.csp -= spell.mana;
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
const oops = spell.mana - player.csp;
|
|
192
|
+
player.csp = 0;
|
|
193
|
+
player.cspFrac = 0;
|
|
194
|
+
/* Over-exert the player (faint / CON drain hook). */
|
|
195
|
+
env.overExert?.(oops);
|
|
196
|
+
}
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Register the cast and study commands. Cast takes args.spell (the
|
|
201
|
+
* class-wide index); study takes args.handle (a book in the pack) and, for
|
|
202
|
+
* PF_CHOOSE_SPELLS classes, args.spell.
|
|
203
|
+
*/
|
|
204
|
+
export function installSpellCommands(registry, deps) {
|
|
205
|
+
const env = deps.env ?? {};
|
|
206
|
+
registry.register("cast", (state, cmd) => {
|
|
207
|
+
/* A shapechanged caster returns to normal form first (cmd-obj.c
|
|
208
|
+
* L1118 player_get_resume_normal_shape; headless default yes). */
|
|
209
|
+
if (!playerGetResumeNormalShape(state, env))
|
|
210
|
+
return 0;
|
|
211
|
+
if (!playerCanCast(state, env))
|
|
212
|
+
return 0;
|
|
213
|
+
const player = state.actor.player;
|
|
214
|
+
const args = cmd.args ?? {};
|
|
215
|
+
const spellIndex = typeof args["spell"] === "number" ? args["spell"] : -1;
|
|
216
|
+
if (spellIndex < 0 || !spellOkayToCast(player, spellIndex)) {
|
|
217
|
+
env.msg?.("You cannot cast that spell.");
|
|
218
|
+
return 0;
|
|
219
|
+
}
|
|
220
|
+
/* Low-mana warning is a UI prompt; the headless port casts anyway
|
|
221
|
+
* (the over-exert consequences still apply). */
|
|
222
|
+
let dir = 5;
|
|
223
|
+
if (spellNeedsAim(player, spellIndex)) {
|
|
224
|
+
const chosen = typeof args["dir"] === "number"
|
|
225
|
+
? args["dir"]
|
|
226
|
+
: (cmd.dir ?? env.chooseDir?.() ?? 5);
|
|
227
|
+
dir = playerConfuseDir(state, chosen);
|
|
228
|
+
}
|
|
229
|
+
/* target_fix / target_release bracket the whole cast (cmd-obj.c
|
|
230
|
+
* L1162): a target dying mid-spell keeps its grid for the rest of
|
|
231
|
+
* the effect chain. */
|
|
232
|
+
targetFix(state);
|
|
233
|
+
/* cmd_get_item "tgtitem" / "tgtcurse" presets for enchant/identify-family
|
|
234
|
+
* spells: the shell pre-resolves the target and rides it on the cast
|
|
235
|
+
* command; the getItem seam reads state.itemTarget. */
|
|
236
|
+
state.itemRequest = null;
|
|
237
|
+
const rawTgt = args["tgtitem"];
|
|
238
|
+
state.itemTarget =
|
|
239
|
+
rawTgt && typeof rawTgt === "object"
|
|
240
|
+
? typeof rawTgt.handle === "number"
|
|
241
|
+
? { handle: rawTgt.handle }
|
|
242
|
+
: typeof rawTgt.floor === "number"
|
|
243
|
+
? { floor: rawTgt.floor }
|
|
244
|
+
: null
|
|
245
|
+
: null;
|
|
246
|
+
state.curseTarget =
|
|
247
|
+
typeof args["tgtcurse"] === "number" ? args["tgtcurse"] : null;
|
|
248
|
+
const cast = spellCast(state, spellIndex, dir, deps);
|
|
249
|
+
state.itemTarget = null;
|
|
250
|
+
state.curseTarget = null;
|
|
251
|
+
targetRelease(state);
|
|
252
|
+
if (!cast)
|
|
253
|
+
return 0;
|
|
254
|
+
/* cmd-obj.c:1164-1168: FASTCAST consumes exactly three quarters of a
|
|
255
|
+
* turn, while an ordinary cast consumes a full move energy. */
|
|
256
|
+
return (player.timed[TMD.FASTCAST] ?? 0) > 0
|
|
257
|
+
? Math.trunc((state.z.moveEnergy * 3) / 4)
|
|
258
|
+
: state.z.moveEnergy;
|
|
259
|
+
});
|
|
260
|
+
/* do_cmd_study (cmd-obj.c:1245) with its two arms folded in: the
|
|
261
|
+
* PF_CHOOSE_SPELLS branch below is do_cmd_study_spell, the else branch is
|
|
262
|
+
* do_cmd_study_book. */
|
|
263
|
+
registry.register("study", (state, cmd) => {
|
|
264
|
+
if (!playerGetResumeNormalShape(state, env))
|
|
265
|
+
return 0;
|
|
266
|
+
if (!playerCanCast(state, env))
|
|
267
|
+
return 0;
|
|
268
|
+
const player = state.actor.player;
|
|
269
|
+
if (player.upkeep.newSpells <= 0) {
|
|
270
|
+
/* player_can_study (player-util.c:1125-1151): "You cannot learn any new
|
|
271
|
+
%s!" where %s lists the class realms' spell_noun, pluralised, joined
|
|
272
|
+
by ", " and a final " or ". */
|
|
273
|
+
const realms = classMagicRealms(player.cls);
|
|
274
|
+
let noun = realms.length > 0 ? `${realms[0].spellNoun}s` : "spells";
|
|
275
|
+
for (let i = 1; i < realms.length; i++) {
|
|
276
|
+
noun += i < realms.length - 1 ? ", " : " or ";
|
|
277
|
+
noun += `${realms[i].spellNoun}s`;
|
|
278
|
+
}
|
|
279
|
+
env.msg?.(`You cannot learn any new ${noun}!`);
|
|
280
|
+
return 0;
|
|
281
|
+
}
|
|
282
|
+
const args = cmd.args ?? {};
|
|
283
|
+
const handle = typeof args["handle"] === "number" ? args["handle"] : -1;
|
|
284
|
+
const bookObj = handle >= 0 ? gearGet(state.gear, handle) : null;
|
|
285
|
+
const book = bookObj ? playerObjectToBook(player, bookObj) : null;
|
|
286
|
+
if (!book) {
|
|
287
|
+
env.msg?.("You cannot learn any new spells from the books you have.");
|
|
288
|
+
return 0;
|
|
289
|
+
}
|
|
290
|
+
let spellIndex = -1;
|
|
291
|
+
if (player.cls.pflags.has(PF.CHOOSE_SPELLS)) {
|
|
292
|
+
/* do_cmd_study_spell: the player picks. */
|
|
293
|
+
const want = typeof args["spell"] === "number" ? args["spell"] : -1;
|
|
294
|
+
if (want >= 0 && spellOkayToStudy(player, want))
|
|
295
|
+
spellIndex = want;
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
/* do_cmd_study_book: pick at random (reservoir sample). */
|
|
299
|
+
let k = 0;
|
|
300
|
+
for (const s of book.spells) {
|
|
301
|
+
if (!spellOkayToStudy(player, s.sidx))
|
|
302
|
+
continue;
|
|
303
|
+
k++;
|
|
304
|
+
if (k > 1 && state.rng.randint0(k) !== 0)
|
|
305
|
+
continue;
|
|
306
|
+
spellIndex = s.sidx;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
if (spellIndex < 0) {
|
|
310
|
+
/* do_cmd_study_book (cmd-obj.c:1233): "You cannot learn any %ss in that
|
|
311
|
+
book." with the book realm's spell_noun. */
|
|
312
|
+
env.msg?.(`You cannot learn any ${book.realm.spellNoun}s in that book.`);
|
|
313
|
+
return 0;
|
|
314
|
+
}
|
|
315
|
+
spellLearn(player, spellIndex, env.msg);
|
|
316
|
+
calcSpells(player, deps.statInd, env.msg);
|
|
317
|
+
return state.z.moveEnergy;
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=spell-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spell-cmd.js","sourceRoot":"","sources":["../../src/game/spell-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmC9E,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,UAAkB;IAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,oBAAoB,CAAC,KAAK,CAAC,UAAgC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAgB;IAC3D,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,uDAAuD;IACvD,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC;;oEAEgE;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,MAAM,KAAK,GAAG,SAAS,CACrB,KAAK,EACL,OAAO,EACP,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAC/B,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,EAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,SAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CACrE,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,MAAmB,EAAE;IACnE,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7B,GAAG,CAAC,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgB;IACjD,OAAO;QACL,MAAM,EAAE,GAAY,EAAE,CACpB,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC;YAClC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QACjD,SAAS,EAAE,GAAY,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;KACrE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,KAAgB,EAChB,UAAkB,EAClB,GAAW,EACX,IAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAClC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAElE,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;QACrC,GAAG,CAAC,GAAG,EAAE,CAAC,wCAAwC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,MAAM,KAAK,GAAG,sBAAsB,CAClC,KAAK,CAAC,UAAgC,EACtC,KAAK,EACL,IAAI,CAAC,OAAO,CAAC,MAAM,CACpB,CAAC;QACF,MAAM,GAAG,GAAG,aAAa,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzE,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB;qEACyD;YACzD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY;gBACnC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE;gBACrD,CAAC,CAAC,EAAE,CAAC;YACP;uDAC2C;YAC3C,IAAI,KAAK;gBACP,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC/B,IACE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;YAC1C,MAAM,EAAE,YAAY,EAAE;YACtB,KAAK;YACL,KAAK,EAAE,IAAI;YACX,GAAG;YACH,IAAI;SACL,CAAC,EACF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED;gFACwE;QACxE,MAAM,KAAK,GACT,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,EAAU,EAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3B,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,uBAAuB;YACvB,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC3B,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YACzD,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;QACrC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,qDAAqD;QACrD,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAwB,EACxB,IAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;IAE3B,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAkB,EAAE,EAAE;QACtD;0EACkE;QAClE,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAElC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,UAAU,GACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAC;YACzC,OAAO,CAAC,CAAC;QACX,CAAC;QAED;wDACgD;QAChD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ;gBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACb,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1C,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED;;+BAEuB;QACvB,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB;;+DAEuD;QACvD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,KAAK,CAAC,UAAU;YACd,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAClC,CAAC,CAAC,OAAQ,MAA+B,CAAC,MAAM,KAAK,QAAQ;oBAC3D,CAAC,CAAC,EAAE,MAAM,EAAG,MAA6B,CAAC,MAAM,EAAE;oBACnD,CAAC,CAAC,OAAQ,MAA8B,CAAC,KAAK,KAAK,QAAQ;wBACzD,CAAC,CAAC,EAAE,KAAK,EAAG,MAA4B,CAAC,KAAK,EAAE;wBAChD,CAAC,CAAC,IAAI;gBACV,CAAC,CAAC,IAAI,CAAC;QACX,KAAK,CAAC,WAAW;YACf,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACrD,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QACpB;uEAC+D;QAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH;;4BAEwB;IACxB,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAkB,EAAE,EAAE;QACvD,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YACjC;;6CAEiC;YACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9C,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,SAAS,GAAG,CAAC;YACrC,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAC,4BAA4B,IAAI,GAAG,CAAC,CAAC;YAC/C,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,GAAG,CAAC,GAAG,EAAE,CAAC,0DAA0D,CAAC,CAAC;YACtE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5C,2CAA2C;YAC3C,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,IAAI,IAAI,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;gBAAE,UAAU,GAAG,IAAI,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAChD,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACnD,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB;0DAC8C;YAC9C,GAAG,CAAC,GAAG,EAAE,CAAC,wBAAwB,IAAI,CAAC,KAAK,CAAC,SAAS,iBAAiB,CAAC,CAAC;YACzE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spoiler generators - the port's answer to upstream's wiz-spoil.c (the
|
|
3
|
+
* `main-spoil` / wizard-mode "generate spoilers" surface). Four pure functions
|
|
4
|
+
* that dump the game's static content as text: the basic-item table, the
|
|
5
|
+
* artifact descriptions, the brief monster table and the full monster lore.
|
|
6
|
+
*
|
|
7
|
+
* DEV TOOLING, not gameplay: this mirrors wiz-spoil.c's OUTPUT so a human (or a
|
|
8
|
+
* cross-check against upstream's spoiler files) can eyeball parity. It reuses
|
|
9
|
+
* the port's real naming / valuing / object-info / lore code; it never
|
|
10
|
+
* re-derives formatting the engine already owns.
|
|
11
|
+
*
|
|
12
|
+
* Determinism: spoilers are a static-data dump. Each generator boots one game
|
|
13
|
+
* at a FIXED seed (startGame - the sanctioned headless context, same call
|
|
14
|
+
* obj/object-info.test.ts uses) purely to obtain the bound registries and a
|
|
15
|
+
* fully-known player shadow; the generated level is never read. Object
|
|
16
|
+
* construction draws from a dedicated throwaway Rng at a fixed seed and the
|
|
17
|
+
* "maximise" aspect (which consumes no entropy - see obj/make.ts / history.ts),
|
|
18
|
+
* so the shared game RNG is never touched and the text is byte-stable. NO
|
|
19
|
+
* wall-clock, NO Math.random.
|
|
20
|
+
*
|
|
21
|
+
* wiz-spoil.c line citations are given inline as `// wiz-spoil.c L###`.
|
|
22
|
+
*/
|
|
23
|
+
import type { GamePack } from "../session/game.js";
|
|
24
|
+
export declare function spoilObjDesc(pack: GamePack): string;
|
|
25
|
+
export declare function spoilArtifact(pack: GamePack): string;
|
|
26
|
+
export declare function spoilMonDesc(pack: GamePack): string;
|
|
27
|
+
export declare function spoilMonInfo(pack: GamePack): string;
|
|
28
|
+
//# sourceMappingURL=spoil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spoil.d.ts","sourceRoot":"","sources":["../../src/game/spoil.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAwBH,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,oBAAoB,CAAC;AAiNhE,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAuDnD;AAkCD,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CA2DpD;AAkDD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CA8CnD;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAyDnD"}
|