@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,483 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pickup commands, ported from reference/src/cmd-pickup.c (Angband 4.2.6):
|
|
3
|
+
* gold pickup, the inscription-driven auto-pickup rules (!g / =g / =g<n>),
|
|
4
|
+
* partial pickup into the pack, do_autopickup on stepping, and the 'g'et
|
|
5
|
+
* command, wired into the action registry.
|
|
6
|
+
*
|
|
7
|
+
* Energy accounting: upstream queues CMD_AUTOPICKUP as a separate command
|
|
8
|
+
* after a step, charging picked * move_energy / 10 (capped at move_energy)
|
|
9
|
+
* on that later command. The port's command provider is injected (the
|
|
10
|
+
* engine cannot push commands), so walkAction adds the same capped cost to
|
|
11
|
+
* the step's energy via the state.autoPickup hook - the total energy spent
|
|
12
|
+
* is identical, only the single-command split differs (ledgered).
|
|
13
|
+
*
|
|
14
|
+
* Unported-subsystem seams (inert defaults): isIgnored (obj-ignore #24),
|
|
15
|
+
* chooseItem (the multi-object pickup menu, ui #25 - defaults to the pile
|
|
16
|
+
* head when unwired, so 'g' picks one item per press; packages/web/src's
|
|
17
|
+
* pickupCmd wires a real lettered picker, reusing the same selectFromMenu
|
|
18
|
+
* as the other item menus), messages/disturb hooks, and square_know_pile /
|
|
19
|
+
* OFLOOR_VISIBLE marking (knowledge #24 - everything on the grid is visible).
|
|
20
|
+
*
|
|
21
|
+
* playerPickupAux calls object_touch (obj-knowledge.c L960-972) when an object
|
|
22
|
+
* enters the pack: it marks the object ASSESSED (revealing its combat bracket
|
|
23
|
+
* and artifact name) and fires state.onArtifactFound (history_find_artifact).
|
|
24
|
+
* Find-on-sight is also wired now: square_know_pile's reduced port
|
|
25
|
+
* (game/known.ts) touches the pile on the player's own grid, so an artifact is
|
|
26
|
+
* found the instant its grid becomes known, not only on pickup.
|
|
27
|
+
* historyFindArtifact's per-aidx de-dupe keeps both paths safe.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
import type { Constants } from "../constants.js";
|
|
31
|
+
import { PF } from "../generated/index.js";
|
|
32
|
+
import type { GameObject, StackLimits } from "../obj/object.js";
|
|
33
|
+
import {
|
|
34
|
+
OSTACK_PACK,
|
|
35
|
+
objectPackTotal,
|
|
36
|
+
objectStackable,
|
|
37
|
+
tvalIsMoney,
|
|
38
|
+
tvalIsMushroom,
|
|
39
|
+
tvalIsZapper,
|
|
40
|
+
} from "../obj/object.js";
|
|
41
|
+
import { objectTouch } from "../obj/known-object.js";
|
|
42
|
+
import { ODESC } from "../obj/desc.js";
|
|
43
|
+
import { NOOP_FLAVOR_AWARE_DEPS } from "../obj/knowledge.js";
|
|
44
|
+
import type { GameState } from "./context.js";
|
|
45
|
+
import { describeObject } from "./describe.js";
|
|
46
|
+
import { floorExcise, floorObjectForUse, floorPile } from "./floor.js";
|
|
47
|
+
import {
|
|
48
|
+
gearGet,
|
|
49
|
+
invenCarryNum,
|
|
50
|
+
invenCarryResult,
|
|
51
|
+
packTotalSuppressed,
|
|
52
|
+
packTotalView,
|
|
53
|
+
} from "./gear.js";
|
|
54
|
+
import { gearToLabel } from "./project-obj.js";
|
|
55
|
+
import type { ActionRegistry } from "./player-turn.js";
|
|
56
|
+
|
|
57
|
+
/** Hooks and options for the pickup routines; every slot is optional. */
|
|
58
|
+
export interface PickupEnv {
|
|
59
|
+
/** ignore_item_ok (obj-ignore.c, #24). Default: nothing is ignored. */
|
|
60
|
+
isIgnored?: (obj: GameObject) => boolean;
|
|
61
|
+
/** OPT(player, pickup_always). Shipped default false. */
|
|
62
|
+
pickupAlways?: boolean;
|
|
63
|
+
/** OPT(player, pickup_inven). Shipped default true. */
|
|
64
|
+
pickupInven?: boolean;
|
|
65
|
+
/** get_item over the floor list (the pickup menu, ui #25). */
|
|
66
|
+
chooseItem?: (list: readonly GameObject[]) => GameObject | null;
|
|
67
|
+
/**
|
|
68
|
+
* get_quantity(NULL, max) on a PARTIAL pickup (cmd-pickup.c L270): only some
|
|
69
|
+
* of the stack fits, so upstream asks how much of it to take. Answering 0
|
|
70
|
+
* (which ESCAPE gives) abandons the pickup - but not the turn, since
|
|
71
|
+
* player_pickup_item has already counted the object (L389).
|
|
72
|
+
*
|
|
73
|
+
* With no hook the whole carryable amount is taken, which is what a headless
|
|
74
|
+
* caller (the borg, the agent seam, a test) wants: upstream's default answer
|
|
75
|
+
* is 1, but a caller with no way to answer would then never make progress.
|
|
76
|
+
*/
|
|
77
|
+
getQuantity?: (max: number) => number;
|
|
78
|
+
/** Gold was picked up (message/sound hook). */
|
|
79
|
+
onGold?: (total: number, name: string, singleKind: boolean) => void;
|
|
80
|
+
/**
|
|
81
|
+
* An object entered the pack: the message hook receives the finished
|
|
82
|
+
* inven_carry line ("You have 5 Potions of Cure Light Wounds (a)."), built
|
|
83
|
+
* from the MERGED pack stack so it reports the combined count and slot letter
|
|
84
|
+
* (obj-gear.c:893-921), not the bare floor object.
|
|
85
|
+
*/
|
|
86
|
+
onPickup?: (msg: string) => void;
|
|
87
|
+
/** disturb(player). */
|
|
88
|
+
disturb?: () => void;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** What the pickup routines need from the binder. */
|
|
92
|
+
export interface PickupDeps {
|
|
93
|
+
/** Bound constants (pack_size for inven_carry_num, quiver limits). */
|
|
94
|
+
constants: Constants;
|
|
95
|
+
env?: PickupEnv;
|
|
96
|
+
/**
|
|
97
|
+
* update_stuff's PU_INVEN after inven_carry (obj-gear.c:889-891 sets PU_INVEN
|
|
98
|
+
* and then calls update_stuff itself): rebuild the computed quiver so picked-up
|
|
99
|
+
* ammo is routed out of the pack and into the quiver, exactly as the
|
|
100
|
+
* wield/takeoff/drop/store paths do. Without it, shots/arrows/bolts sit in the
|
|
101
|
+
* pack until some later gear change forces a calc_inventory.
|
|
102
|
+
*
|
|
103
|
+
* Called once per CARRIED OBJECT, before that object's "You have %s (%c)."
|
|
104
|
+
* message - not once per command. That is where upstream calls it (L891, four
|
|
105
|
+
* lines above the message at L893-921) and the ordering is the whole point: the
|
|
106
|
+
* %c is gear_to_label of the sorted upkeep->inven[] listing, so a label read
|
|
107
|
+
* before the rebuild names the pre-pickup listing. It was previously invoked
|
|
108
|
+
* once per command, after every message, which is what let a picked-up scroll be
|
|
109
|
+
* announced at one letter and be found at another.
|
|
110
|
+
*/
|
|
111
|
+
refreshInventory?: () => void;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function stackLimits(constants: Constants): StackLimits {
|
|
115
|
+
return {
|
|
116
|
+
quiverSlotSize: constants.quiverSlotSize,
|
|
117
|
+
thrownQuiverMult: constants.thrownQuiverMult,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/** check_for_inscrip (obj-util.c): occurrences of `inscrip` in the note. */
|
|
122
|
+
export function checkForInscrip(obj: GameObject, inscrip: string): number {
|
|
123
|
+
if (!obj.note) return 0;
|
|
124
|
+
let n = 0;
|
|
125
|
+
let at = obj.note.indexOf(inscrip);
|
|
126
|
+
while (at >= 0) {
|
|
127
|
+
n++;
|
|
128
|
+
at = obj.note.indexOf(inscrip, at + 1);
|
|
129
|
+
}
|
|
130
|
+
return n;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* check_for_inscrip_with_int: occurrences of `inscrip` immediately followed
|
|
135
|
+
* by a digit; `value` is the integer after the first such occurrence.
|
|
136
|
+
*/
|
|
137
|
+
export function checkForInscripWithInt(
|
|
138
|
+
obj: GameObject,
|
|
139
|
+
inscrip: string,
|
|
140
|
+
): { count: number; value: number } {
|
|
141
|
+
if (!obj.note) return { count: 0, value: 0 };
|
|
142
|
+
let n = 0;
|
|
143
|
+
let value = 0;
|
|
144
|
+
let at = obj.note.indexOf(inscrip);
|
|
145
|
+
while (at >= 0) {
|
|
146
|
+
const rest = obj.note.slice(at + inscrip.length);
|
|
147
|
+
if (/^\d/.test(rest)) {
|
|
148
|
+
if (n === 0) value = parseInt(rest, 10);
|
|
149
|
+
n++;
|
|
150
|
+
}
|
|
151
|
+
at = obj.note.indexOf(inscrip, at + 1);
|
|
152
|
+
}
|
|
153
|
+
return { count: n, value };
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/** find_stack_object_in_inventory: pack stacks similar to obj, in order. */
|
|
157
|
+
function packStacksSimilarTo(
|
|
158
|
+
state: GameState,
|
|
159
|
+
obj: GameObject,
|
|
160
|
+
): GameObject[] {
|
|
161
|
+
const out: GameObject[] = [];
|
|
162
|
+
for (const handle of state.gear.pack) {
|
|
163
|
+
const stack = state.gear.store.get(handle);
|
|
164
|
+
if (stack && objectStackable(stack, obj, OSTACK_PACK)) out.push(stack);
|
|
165
|
+
}
|
|
166
|
+
return out;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* player_pickup_gold: pick up all gold at the player's grid, effortlessly.
|
|
171
|
+
* Returns the total picked up (already added to p.au).
|
|
172
|
+
*/
|
|
173
|
+
export function playerPickupGold(state: GameState, env: PickupEnv = {}): number {
|
|
174
|
+
const grid = state.actor.grid;
|
|
175
|
+
let totalGold = 0;
|
|
176
|
+
let name = "";
|
|
177
|
+
let verbal = false;
|
|
178
|
+
let atMostOne = true;
|
|
179
|
+
|
|
180
|
+
for (const obj of [...floorPile(state, grid)]) {
|
|
181
|
+
if (!tvalIsMoney(obj.tval)) continue;
|
|
182
|
+
|
|
183
|
+
/* Multiple types if we have a second name, otherwise record the name. */
|
|
184
|
+
if (totalGold && obj.kind.name !== name) atMostOne = false;
|
|
185
|
+
else name = obj.kind.name;
|
|
186
|
+
|
|
187
|
+
/* Remember whether feedback message is in order. */
|
|
188
|
+
if (!env.isIgnored?.(obj)) verbal = true;
|
|
189
|
+
|
|
190
|
+
totalGold += obj.pval;
|
|
191
|
+
floorExcise(state, grid, obj);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (totalGold) {
|
|
195
|
+
state.actor.player.au += totalGold;
|
|
196
|
+
if (verbal) env.onGold?.(totalGold, name, atMostOne);
|
|
197
|
+
}
|
|
198
|
+
return totalGold;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* auto_pickup_okay: how many of a floor object to pick up automatically -
|
|
203
|
+
* pack capacity gated by the !g / =g / =g<n> inscriptions and the
|
|
204
|
+
* pickup_always / pickup_inven options.
|
|
205
|
+
*/
|
|
206
|
+
export function autoPickupOkay(
|
|
207
|
+
state: GameState,
|
|
208
|
+
obj: GameObject,
|
|
209
|
+
deps: PickupDeps,
|
|
210
|
+
): number {
|
|
211
|
+
const env = deps.env ?? {};
|
|
212
|
+
const num = invenCarryNum(state.gear, obj, deps.constants);
|
|
213
|
+
if (!num) return 0;
|
|
214
|
+
|
|
215
|
+
if (env.pickupAlways ?? state.options?.get("pickup_always") ?? false)
|
|
216
|
+
return num;
|
|
217
|
+
if (checkForInscrip(obj, "!g")) return 0;
|
|
218
|
+
|
|
219
|
+
const objHasAuto = checkForInscrip(obj, "=g");
|
|
220
|
+
const objMax = checkForInscripWithInt(obj, "=g");
|
|
221
|
+
const objMaxauto = objMax.count ? objMax.value : Number.MAX_SAFE_INTEGER;
|
|
222
|
+
if (objHasAuto > objMax.count) return num;
|
|
223
|
+
|
|
224
|
+
if (
|
|
225
|
+
(env.pickupInven ?? state.options?.get("pickup_inven") ?? true) ||
|
|
226
|
+
objMax.count
|
|
227
|
+
) {
|
|
228
|
+
const matches = packStacksSimilarTo(state, obj);
|
|
229
|
+
const gearObj = matches[0];
|
|
230
|
+
if (!gearObj) {
|
|
231
|
+
if (objMax.count) return Math.min(num, objMaxauto);
|
|
232
|
+
return 0;
|
|
233
|
+
}
|
|
234
|
+
if (!checkForInscrip(gearObj, "!g")) {
|
|
235
|
+
const gearHasAuto = checkForInscrip(gearObj, "=g");
|
|
236
|
+
const gearMax = checkForInscripWithInt(gearObj, "=g");
|
|
237
|
+
if (gearHasAuto > gearMax.count) return num;
|
|
238
|
+
if (objMax.count || gearMax.count) {
|
|
239
|
+
/* Use the pack inscription if have both. */
|
|
240
|
+
const maxNum = gearMax.count ? gearMax.value : objMaxauto;
|
|
241
|
+
let packNum = 0;
|
|
242
|
+
for (const stack of matches) packNum += stack.number;
|
|
243
|
+
if (packNum >= maxNum) return 0;
|
|
244
|
+
return Math.min(num, maxNum - packNum);
|
|
245
|
+
}
|
|
246
|
+
return num;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return 0;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* player_pickup_aux: move a floor object (or part of it) into the pack.
|
|
255
|
+
* The caller has confirmed inven_carry_num > 0.
|
|
256
|
+
*/
|
|
257
|
+
function playerPickupAux(
|
|
258
|
+
state: GameState,
|
|
259
|
+
obj: GameObject,
|
|
260
|
+
autoMax: number,
|
|
261
|
+
deps: PickupDeps,
|
|
262
|
+
): void {
|
|
263
|
+
const env = deps.env ?? {};
|
|
264
|
+
let max = invenCarryNum(state.gear, obj, deps.constants);
|
|
265
|
+
if (max === 0) throw new Error(`Failed pickup of ${obj.kind.name}`);
|
|
266
|
+
|
|
267
|
+
/* Allow auto-pickup to limit the number if it wants to. */
|
|
268
|
+
if (autoMax && max > autoMax) max = autoMax;
|
|
269
|
+
|
|
270
|
+
const limits = stackLimits(deps.constants);
|
|
271
|
+
let handle: number;
|
|
272
|
+
let combining = false;
|
|
273
|
+
if (max === obj.number) {
|
|
274
|
+
if (obj.grid) floorExcise(state, obj.grid, obj);
|
|
275
|
+
obj.grid = null;
|
|
276
|
+
({ handle, combining } = invenCarryResult(state.gear, obj, limits));
|
|
277
|
+
} else {
|
|
278
|
+
/* Partial pickup (cmd-pickup.c L262-274): an auto-pickup limit answers for
|
|
279
|
+
* itself, otherwise upstream asks - get_quantity(NULL, max) - and a 0
|
|
280
|
+
* answer abandons the pickup. */
|
|
281
|
+
const num = autoMax || (env.getQuantity?.(max) ?? max);
|
|
282
|
+
if (num <= 0) return;
|
|
283
|
+
const { usable } = floorObjectForUse(state, obj, num);
|
|
284
|
+
({ handle, combining } = invenCarryResult(state.gear, usable, limits));
|
|
285
|
+
}
|
|
286
|
+
/* object_touch (obj-knowledge.c L960-972; cmd-pickup.c L322 also touches the
|
|
287
|
+
* grid pile on pickup): mark the object ASSESSED so it reveals its combat
|
|
288
|
+
* bracket and, if an artifact, its name on entry to the pack; auto-notice the
|
|
289
|
+
* artifact and log the find (history_find_artifact). onArtifactFound is read
|
|
290
|
+
* through the state-level hook (not PickupEnv) so it survives a later
|
|
291
|
+
* installPickup call that only supplies message hooks (main.ts's "reinstall").
|
|
292
|
+
* (ASSESSED is idempotent, so re-touching an item already seen on the grid via
|
|
293
|
+
* squareKnowPile is harmless.) */
|
|
294
|
+
objectTouch(obj, { onArtifactFound: () => state.onArtifactFound?.(obj.artifact!) });
|
|
295
|
+
|
|
296
|
+
/*
|
|
297
|
+
* Hobbits ID mushrooms on pickup, gnomes ID wands and staffs on pickup
|
|
298
|
+
* (obj-gear.c:879-886). Uses tvalIsMushroom / tvalIsZapper so those
|
|
299
|
+
* predicates sit on the live path (W2-012 / W2-013). No RNG.
|
|
300
|
+
*/
|
|
301
|
+
const stack = gearGet(state.gear, handle);
|
|
302
|
+
|
|
303
|
+
/* apply_autoinscription (obj-gear.c:868): inven_carry autoinscribes in its
|
|
304
|
+
* NON-combining branch only - an object absorbed into an existing stack keeps
|
|
305
|
+
* that stack's inscription. This is the pickup half of the autoinscription
|
|
306
|
+
* story; without it a registered note only landed on the explicit `{`
|
|
307
|
+
* autoinscribe command. */
|
|
308
|
+
if (!combining && stack) state.autoinscribeObject?.(stack);
|
|
309
|
+
|
|
310
|
+
if (!combining && stack && state.flavorKnown && !state.flavorKnown.isAware(stack.kind)) {
|
|
311
|
+
const p = state.actor.player;
|
|
312
|
+
const pflags = state.playerState?.pflags ?? p.race.pflags;
|
|
313
|
+
const hasMushroom =
|
|
314
|
+
pflags.has(PF.KNOW_MUSHROOM) || p.cls.pflags.has(PF.KNOW_MUSHROOM);
|
|
315
|
+
const hasZapper =
|
|
316
|
+
pflags.has(PF.KNOW_ZAPPER) || p.cls.pflags.has(PF.KNOW_ZAPPER);
|
|
317
|
+
const flavorDeps = state.flavorAwareDeps ?? NOOP_FLAVOR_AWARE_DEPS;
|
|
318
|
+
if (hasMushroom && tvalIsMushroom(stack.tval)) {
|
|
319
|
+
state.flavorKnown.objectFlavorAware(stack.kind, flavorDeps);
|
|
320
|
+
env.onPickup?.("Mushrooms for breakfast!");
|
|
321
|
+
} else if (hasZapper && tvalIsZapper(stack.tval)) {
|
|
322
|
+
state.flavorKnown.objectFlavorAware(stack.kind, flavorDeps);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/* inven_carry's own "You have %s (%c)." message (obj-gear.c:893-921): describe
|
|
327
|
+
* the MERGED pack stack so the count and slot letter reflect the combined
|
|
328
|
+
* total (e.g. "You have 5 Potions of Cure Light Wounds (a).") rather than the
|
|
329
|
+
* bare floor object ("You have a Potion...").
|
|
330
|
+
*
|
|
331
|
+
* The count is the AGGREGATE across every like stack in the pack
|
|
332
|
+
* (object_pack_total, L908), not this stack's own number, and the letter is
|
|
333
|
+
* the FIRST such stack's - so five flasks split over slots c and f read
|
|
334
|
+
* "You have 5 Flasks of oil (1st c)." Suppressed for charge/recharge items,
|
|
335
|
+
* whose notice belongs to one stack (L899-905); note inven_carry alone omits
|
|
336
|
+
* the object_is_equipped arm of that test, because a just-carried object
|
|
337
|
+
* cannot be equipped. */
|
|
338
|
+
if (stack) {
|
|
339
|
+
/* update_stuff after PU_INVEN (obj-gear.c:889-891), and it happens HERE -
|
|
340
|
+
* before the message, not after the command - because the (%c) below is
|
|
341
|
+
* gear_to_label of the sorted upkeep->inven[] listing. Refresh it late and the
|
|
342
|
+
* letter names the listing as it was before this object joined it. */
|
|
343
|
+
deps.refreshInventory?.();
|
|
344
|
+
|
|
345
|
+
let total: number;
|
|
346
|
+
let first: GameObject | null;
|
|
347
|
+
if (packTotalSuppressed(stack)) {
|
|
348
|
+
total = stack.number;
|
|
349
|
+
first = stack;
|
|
350
|
+
} else {
|
|
351
|
+
const view = packTotalView(state.gear);
|
|
352
|
+
({ total, first } = objectPackTotal(view, stack, false));
|
|
353
|
+
}
|
|
354
|
+
const name = describeObject(
|
|
355
|
+
state,
|
|
356
|
+
stack,
|
|
357
|
+
ODESC.PREFIX | ODESC.FULL | ODESC.ALTNUM,
|
|
358
|
+
total,
|
|
359
|
+
);
|
|
360
|
+
/* gear_to_label(p, first) in BOTH arms (L913): the letter names the first
|
|
361
|
+
* like stack even when the total is not an aggregate. */
|
|
362
|
+
const label = first
|
|
363
|
+
? packLabelOf(state, first)
|
|
364
|
+
: gearToLabel(state.gear, handle);
|
|
365
|
+
const suffix = label ? ` (${total > (first?.number ?? total) ? "1st " : ""}${label})` : "";
|
|
366
|
+
env.onPickup?.(`You have ${name}${suffix}.`);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/** gear_to_label for an object we hold by reference rather than by handle. */
|
|
371
|
+
function packLabelOf(state: GameState, obj: GameObject): string {
|
|
372
|
+
for (const handle of state.gear.pack) {
|
|
373
|
+
if (state.gear.store.get(handle) === obj) {
|
|
374
|
+
return gearToLabel(state.gear, handle);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
return "";
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* player_pickup_item: pick up gold, then a specific object (when given) or
|
|
382
|
+
* one chosen from the floor list. Returns the number of objects picked up
|
|
383
|
+
* (the command's energy multiplier).
|
|
384
|
+
*/
|
|
385
|
+
export function playerPickupItem(
|
|
386
|
+
state: GameState,
|
|
387
|
+
obj: GameObject | null,
|
|
388
|
+
deps: PickupDeps,
|
|
389
|
+
): number {
|
|
390
|
+
const env = deps.env ?? {};
|
|
391
|
+
const grid = state.actor.grid;
|
|
392
|
+
|
|
393
|
+
/* square_know_pile is knowledge (#24); everything here is visible. */
|
|
394
|
+
|
|
395
|
+
/* Always pickup gold, effortlessly. */
|
|
396
|
+
playerPickupGold(state, env);
|
|
397
|
+
|
|
398
|
+
/* Nothing else to pick up -- return. */
|
|
399
|
+
if (floorPile(state, grid).length === 0) return 0;
|
|
400
|
+
|
|
401
|
+
/* We're given an object - pick it up. */
|
|
402
|
+
if (obj) {
|
|
403
|
+
if (invenCarryNum(state.gear, obj, deps.constants) > 0) {
|
|
404
|
+
playerPickupAux(state, obj, 0, deps);
|
|
405
|
+
return 1;
|
|
406
|
+
}
|
|
407
|
+
return 0;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
/* Tally objects that can be at least partially picked up. */
|
|
411
|
+
const floorList = floorPile(state, grid).filter(
|
|
412
|
+
(o) => !env.isIgnored?.(o),
|
|
413
|
+
);
|
|
414
|
+
const canPickup = floorList.filter(
|
|
415
|
+
(o) => invenCarryNum(state.gear, o, deps.constants) > 0,
|
|
416
|
+
);
|
|
417
|
+
if (canPickup.length === 0) return 0;
|
|
418
|
+
|
|
419
|
+
/* One object picks up directly; several go through the menu seam
|
|
420
|
+
* (defaulting to the pile head - one item per 'g' press). */
|
|
421
|
+
let current: GameObject | null;
|
|
422
|
+
if (canPickup.length === 1) current = canPickup[0]!;
|
|
423
|
+
else current = env.chooseItem?.(canPickup) ?? canPickup[0]!;
|
|
424
|
+
|
|
425
|
+
if (current) {
|
|
426
|
+
playerPickupAux(state, current, 0, deps);
|
|
427
|
+
return 1;
|
|
428
|
+
}
|
|
429
|
+
return 0;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
/**
|
|
433
|
+
* do_autopickup: pick up everything on the player's grid that requires no
|
|
434
|
+
* action - gold always, objects per auto_pickup_okay. Returns the number
|
|
435
|
+
* of objects picked up.
|
|
436
|
+
*/
|
|
437
|
+
export function doAutopickup(state: GameState, deps: PickupDeps): number {
|
|
438
|
+
const env = deps.env ?? {};
|
|
439
|
+
const grid = state.actor.grid;
|
|
440
|
+
if (floorPile(state, grid).length === 0) return 0;
|
|
441
|
+
|
|
442
|
+
/* Always pickup gold, effortlessly. */
|
|
443
|
+
playerPickupGold(state, env);
|
|
444
|
+
|
|
445
|
+
let picked = 0;
|
|
446
|
+
for (const obj of [...floorPile(state, grid)]) {
|
|
447
|
+
/* Ignore all hidden objects and non-objects. */
|
|
448
|
+
if (env.isIgnored?.(obj)) continue;
|
|
449
|
+
env.disturb?.();
|
|
450
|
+
const autoNum = autoPickupOkay(state, obj, deps);
|
|
451
|
+
if (autoNum) {
|
|
452
|
+
playerPickupAux(state, obj, autoNum, deps);
|
|
453
|
+
picked++;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
return picked;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
/** do_cmd_pickup / do_cmd_autopickup energy: picked * move_energy / 10. */
|
|
460
|
+
function pickupEnergy(state: GameState, picked: number): number {
|
|
461
|
+
const cost = Math.trunc((picked * state.z.moveEnergy) / 10);
|
|
462
|
+
return Math.min(cost, state.z.moveEnergy);
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* Register the pickup commands on the action registry and install the
|
|
467
|
+
* state.autoPickup hook that walkAction runs after a step.
|
|
468
|
+
*/
|
|
469
|
+
export function installPickup(
|
|
470
|
+
state: GameState,
|
|
471
|
+
registry: ActionRegistry,
|
|
472
|
+
deps: PickupDeps,
|
|
473
|
+
): void {
|
|
474
|
+
/* Rebuild the computed quiver after any pickup that carried something, so
|
|
475
|
+
* ammo lands in the quiver rather than the pack (PU_INVEN; see PickupDeps). */
|
|
476
|
+
const pickedThen = (s: GameState, picked: number): number => {
|
|
477
|
+
if (picked > 0) deps.refreshInventory?.();
|
|
478
|
+
return pickupEnergy(s, picked);
|
|
479
|
+
};
|
|
480
|
+
registry.register("pickup", (s) => pickedThen(s, playerPickupItem(s, null, deps)));
|
|
481
|
+
registry.register("autopickup", (s) => pickedThen(s, doAutopickup(s, deps)));
|
|
482
|
+
state.autoPickup = (s): number => pickedThen(s, doAutopickup(s, deps));
|
|
483
|
+
}
|