@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,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The equipment-comparison grid's data model, ported from
|
|
3
|
+
* reference/src/ui-equip-cmp.c (initialize_summary, filter_items,
|
|
4
|
+
* sort_items, compute_player_and_equipment_values, set_short_name).
|
|
5
|
+
*
|
|
6
|
+
* Upstream builds one big screen: property columns (resistances / abilities
|
|
7
|
+
* / hindrances / modifiers / stat_modifiers, each scoped to category
|
|
8
|
+
* "EQUIPCMP_SCREEN") across every wearable item the player has seen - worn,
|
|
9
|
+
* carried, on the floor underfoot, at home, or in the (non-home) stores -
|
|
10
|
+
* plus a combined "@" row showing what the player + current equipment adds
|
|
11
|
+
* up to. This module reuses the same ui-entry compute/render backend the
|
|
12
|
+
* character screen uses (game/ui-entry.ts); it does not re-derive any
|
|
13
|
+
* combat/resist arithmetic.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately simplified vs. the C, per the port's shell-adaptation plan:
|
|
16
|
+
* - The intricate terminal-width-driven 2/3-"view" column repartition
|
|
17
|
+
* (reconfigure_for_term_if_necessary) is reduced to a fixed 2-view split
|
|
18
|
+
* (all categories, then stat_modifiers alone) plus an optional 3-view
|
|
19
|
+
* split that also breaks out "modifiers" - correct data, simpler paging,
|
|
20
|
+
* as the port's shell-adaptation notes explicitly allow.
|
|
21
|
+
* - The dump-to-file command (d) writes a text file and rides the port's
|
|
22
|
+
* host-io layer with the other dumps.
|
|
23
|
+
*
|
|
24
|
+
* The quick attribute filter (q / !, prompt_for_easy_filter) IS here:
|
|
25
|
+
* matchEquipCmpFilter does its label lookup and equipCmpFilterKeeps its six
|
|
26
|
+
* selector functions, applied through EquipCmpOptions.filter. It was called a
|
|
27
|
+
* "UI convenience" and skipped, which was wrong - it is a default part of the
|
|
28
|
+
* screen on every platform. The source-cycle (c), reverse (r), and reset (R)
|
|
29
|
+
* behaviours are faithful.
|
|
30
|
+
*
|
|
31
|
+
* No RNG: every value here is a deterministic function of already-computed
|
|
32
|
+
* object/player state (curses, runes, equipment) - this is a pure display
|
|
33
|
+
* model, like the rest of the ui-entry backend it is built on.
|
|
34
|
+
*/
|
|
35
|
+
import { gearGet } from "./gear.js";
|
|
36
|
+
import { floorPile } from "./floor.js";
|
|
37
|
+
import { wieldSlot } from "./gear.js";
|
|
38
|
+
import { ignoreLevelOf, IGNORE } from "../obj/ignore.js";
|
|
39
|
+
import { objectFullyKnown, objectKnownShadow } from "../obj/known-object.js";
|
|
40
|
+
import { tvalIsWearable } from "../obj/object.js";
|
|
41
|
+
import { describeObject, knownDescOf } from "./describe.js";
|
|
42
|
+
import { ODESC } from "../obj/desc.js";
|
|
43
|
+
import { colorCharToAttr } from "../color.js";
|
|
44
|
+
import { FEAT } from "../generated/index.js";
|
|
45
|
+
import { buildUiEntryConfig, equipCmpCategories, equipCmpColumnLabel, equipCmpFilterLabel3, combineEntryValues, computeObjectValues, computePlayerValues, applyRenderer, resolveUiDeps, isUiEntryForKnownRune, } from "./ui-entry.js";
|
|
46
|
+
import { playerFlags } from "../player/calcs.js";
|
|
47
|
+
const SOURCE_ORDER = ["worn", "pack", "floor", "home", "store"];
|
|
48
|
+
const QUALITY_ORDER = ["artifact", "ego", "good", "average", "bad"];
|
|
49
|
+
/** cycle_sources (ui-equip-cmp.c L687-758): NO_STORE -> ONLY_STORE -> YES_STORE -> ONLY_CARRIED -> NO_STORE. */
|
|
50
|
+
export function cycleStoreInclusion(cur) {
|
|
51
|
+
switch (cur) {
|
|
52
|
+
case "no-store":
|
|
53
|
+
return "only-store";
|
|
54
|
+
case "only-store":
|
|
55
|
+
return "yes-store";
|
|
56
|
+
case "yes-store":
|
|
57
|
+
return "only-carried";
|
|
58
|
+
default:
|
|
59
|
+
return "no-store";
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** get_string's prompt for the quick filter (ui-equip-cmp.c:1237). */
|
|
63
|
+
export const EQUIP_CMP_FILTER_PROMPT = "Enter 2 or 3 (for stat) character code and return or return to clear ";
|
|
64
|
+
/** The failure message, shown in the dialogue line (ui-equip-cmp.c:1231). */
|
|
65
|
+
export const EQUIP_CMP_FILTER_NO_MATCH = "Did not find attribute with that name; filter unchanged";
|
|
66
|
+
/**
|
|
67
|
+
* The four capitalisation attempts prompt_for_easy_filter makes before giving up
|
|
68
|
+
* (ui-equip-cmp.c:1273-1330), in order. A 3-character code only gets the first
|
|
69
|
+
* three: the fourth attempt writes a 2-character string, and the loop's
|
|
70
|
+
* `threec && itry >= 3` guard stops before it.
|
|
71
|
+
*/
|
|
72
|
+
function filterCodeAttempts(code) {
|
|
73
|
+
const up = (s) => s.toUpperCase();
|
|
74
|
+
const lo = (s) => s.toLowerCase();
|
|
75
|
+
const head = code.slice(0, 1);
|
|
76
|
+
const tail = code.slice(1);
|
|
77
|
+
const attempts = [
|
|
78
|
+
up(head) + lo(tail),
|
|
79
|
+
up(head) + up(tail),
|
|
80
|
+
lo(head) + lo(tail),
|
|
81
|
+
];
|
|
82
|
+
/* itry 3 only ever produces two characters (ctry[2] = '\0'). */
|
|
83
|
+
if (code.length <= 2)
|
|
84
|
+
attempts.push(lo(head) + up(tail));
|
|
85
|
+
return attempts;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* prompt_for_easy_filter's label lookup (ui-equip-cmp.c:1258-1360): find the
|
|
89
|
+
* property column whose label matches the typed code under any of upstream's
|
|
90
|
+
* capitalisation attempts. A 3-character code is matched against the 3-char
|
|
91
|
+
* label (all three characters, pad included); anything else against the first
|
|
92
|
+
* two characters of the 2-char column header, which is how a 1-character code
|
|
93
|
+
* fails to match anything.
|
|
94
|
+
*
|
|
95
|
+
* Returns null for upstream's "Did not find attribute with that name".
|
|
96
|
+
*/
|
|
97
|
+
export function matchEquipCmpFilter(columns, code, not) {
|
|
98
|
+
const threec = code.length >= 3;
|
|
99
|
+
const typed = code.slice(0, 3);
|
|
100
|
+
for (const attempt of filterCodeAttempts(typed)) {
|
|
101
|
+
for (let i = 0; i < columns.length; i++) {
|
|
102
|
+
const col = columns[i];
|
|
103
|
+
const label = threec ? col.label3 : col.label;
|
|
104
|
+
const hit = threec
|
|
105
|
+
? label.slice(0, 3) === attempt.slice(0, 3)
|
|
106
|
+
: label.slice(0, 2) === attempt.slice(0, 2);
|
|
107
|
+
if (hit)
|
|
108
|
+
return { column: i, not };
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* The selector prompt_for_easy_filter installs, chosen by the property's
|
|
115
|
+
* category (its `switch (j)`, ui-equip-cmp.c:1372-1425) and applied to the raw
|
|
116
|
+
* value (the six sel_* functions, L1643-1682):
|
|
117
|
+
*
|
|
118
|
+
* - resistances: val >= 1 (sel_at_least_resists)
|
|
119
|
+
* - abilities: val != 0 (sel_has_flag - a flag where on is wanted)
|
|
120
|
+
* - hindrances: val == 0 (sel_does_not_have_flag - INVERTED, because
|
|
121
|
+
* for a hindrance the desirable state is off)
|
|
122
|
+
* - modifiers,
|
|
123
|
+
* stat_modifiers: val > 0 (sel_has_pos_mod)
|
|
124
|
+
*
|
|
125
|
+
* `not` swaps each for its complement.
|
|
126
|
+
*/
|
|
127
|
+
export function equipCmpFilterKeeps(columns, filter, vals) {
|
|
128
|
+
const col = columns[filter.column];
|
|
129
|
+
if (!col)
|
|
130
|
+
return true;
|
|
131
|
+
const val = vals[filter.column] ?? 0;
|
|
132
|
+
let keep;
|
|
133
|
+
switch (col.category) {
|
|
134
|
+
case "resistances":
|
|
135
|
+
keep = val >= 1;
|
|
136
|
+
break;
|
|
137
|
+
case "abilities":
|
|
138
|
+
keep = val !== 0;
|
|
139
|
+
break;
|
|
140
|
+
case "hindrances":
|
|
141
|
+
keep = val === 0;
|
|
142
|
+
break;
|
|
143
|
+
default:
|
|
144
|
+
keep = val > 0;
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
return filter.not ? !keep : keep;
|
|
148
|
+
}
|
|
149
|
+
let cachedConfig = null;
|
|
150
|
+
let cachedConfigKey = null;
|
|
151
|
+
/** Memoise buildUiEntryConfig per pack (it is pure and pack-shaped, not per-call). */
|
|
152
|
+
function uiEntryConfigFor(packs) {
|
|
153
|
+
if (cachedConfig && cachedConfigKey === packs)
|
|
154
|
+
return cachedConfig;
|
|
155
|
+
cachedConfig = buildUiEntryConfig(packs);
|
|
156
|
+
cachedConfigKey = packs;
|
|
157
|
+
return cachedConfig;
|
|
158
|
+
}
|
|
159
|
+
/** set_short_name (ui-equip-cmp.c L1601), truncated to 20 chars (nshortnm cap). */
|
|
160
|
+
function shortName(state, obj) {
|
|
161
|
+
const cap = 20;
|
|
162
|
+
if (obj.artifact) {
|
|
163
|
+
const n = obj.artifact.name;
|
|
164
|
+
return n.length <= cap ? n : n.slice(n.length - cap);
|
|
165
|
+
}
|
|
166
|
+
if (obj.ego) {
|
|
167
|
+
const n = obj.ego.name;
|
|
168
|
+
return n.length <= cap ? n : n.slice(n.length - cap);
|
|
169
|
+
}
|
|
170
|
+
const n = describeObject(state, obj, ODESC.COMBAT | ODESC.SINGULAR | ODESC.TERSE);
|
|
171
|
+
return n.length <= cap ? n : n.slice(0, cap);
|
|
172
|
+
}
|
|
173
|
+
/** equippable_quality (add_obj_to_summary L2080-2104). */
|
|
174
|
+
function quality(obj) {
|
|
175
|
+
switch (ignoreLevelOf(obj)) {
|
|
176
|
+
case IGNORE.GOOD:
|
|
177
|
+
return "good";
|
|
178
|
+
case IGNORE.AVERAGE:
|
|
179
|
+
return "average";
|
|
180
|
+
case IGNORE.BAD:
|
|
181
|
+
return "bad";
|
|
182
|
+
default:
|
|
183
|
+
if (obj.artifact)
|
|
184
|
+
return "artifact";
|
|
185
|
+
if (obj.ego)
|
|
186
|
+
return "ego";
|
|
187
|
+
return "average";
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/** initialize_summary's five visitors (L2386 body): worn / pack / floor / home / store. */
|
|
191
|
+
function gatherItems(state) {
|
|
192
|
+
const out = [];
|
|
193
|
+
const player = state.actor.player;
|
|
194
|
+
// WORN: apply_visitor_to_equipped (select_any).
|
|
195
|
+
for (let i = 0; i < player.body.count; i++) {
|
|
196
|
+
const handle = player.equipment[i] ?? 0;
|
|
197
|
+
const obj = handle ? gearGet(state.gear, handle) : null;
|
|
198
|
+
if (obj)
|
|
199
|
+
out.push({ obj, src: "worn" });
|
|
200
|
+
}
|
|
201
|
+
// PACK: select_nonequipped_wearable over p->gear (the pack list already
|
|
202
|
+
// excludes equipped handles - see game/gear.ts Gear.pack).
|
|
203
|
+
for (const handle of state.gear.pack) {
|
|
204
|
+
const obj = gearGet(state.gear, handle);
|
|
205
|
+
if (obj && tvalIsWearable(obj.tval))
|
|
206
|
+
out.push({ obj, src: "pack" });
|
|
207
|
+
}
|
|
208
|
+
// FLOOR: select_seen_wearable over square_object(cave, player->grid).
|
|
209
|
+
for (const obj of floorPile(state, state.actor.grid)) {
|
|
210
|
+
if (tvalIsWearable(obj.tval))
|
|
211
|
+
out.push({ obj, src: "floor" });
|
|
212
|
+
}
|
|
213
|
+
// HOME / STORE: guarded - the web shell may have no live stores/home stock.
|
|
214
|
+
for (const store of state.stores ?? []) {
|
|
215
|
+
const src = store.feat === FEAT.HOME ? "home" : "store";
|
|
216
|
+
for (const obj of store.stock) {
|
|
217
|
+
if (tvalIsWearable(obj.tval))
|
|
218
|
+
out.push({ obj, src });
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return out;
|
|
222
|
+
}
|
|
223
|
+
/** sel_exclude_src / sel_only_src (L1701-1712) for the easy_filt source cycle. */
|
|
224
|
+
function passesSourceFilter(src, mode) {
|
|
225
|
+
switch (mode) {
|
|
226
|
+
case "no-store":
|
|
227
|
+
return src !== "store";
|
|
228
|
+
case "only-store":
|
|
229
|
+
return src === "store";
|
|
230
|
+
case "yes-store":
|
|
231
|
+
return true;
|
|
232
|
+
case "only-carried":
|
|
233
|
+
return src === "worn" || src === "pack";
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
const SRC_RANK = {
|
|
237
|
+
worn: 0,
|
|
238
|
+
pack: 1,
|
|
239
|
+
floor: 2,
|
|
240
|
+
home: 3,
|
|
241
|
+
store: 4,
|
|
242
|
+
};
|
|
243
|
+
const QUAL_RANK = {
|
|
244
|
+
artifact: 0,
|
|
245
|
+
ego: 1,
|
|
246
|
+
good: 2,
|
|
247
|
+
average: 3,
|
|
248
|
+
bad: 4,
|
|
249
|
+
};
|
|
250
|
+
/** cmp_by_slot -> cmp_by_location -> cmp_by_quality -> cmp_by_short_name (L1900-1919, default_sort). */
|
|
251
|
+
function compareItems(a, b) {
|
|
252
|
+
if (a.slot !== b.slot)
|
|
253
|
+
return a.slot - b.slot;
|
|
254
|
+
const sa = SRC_RANK[a.src];
|
|
255
|
+
const sb = SRC_RANK[b.src];
|
|
256
|
+
if (sa !== sb)
|
|
257
|
+
return sa - sb;
|
|
258
|
+
const qa = QUAL_RANK[a.quality];
|
|
259
|
+
const qb = QUAL_RANK[b.quality];
|
|
260
|
+
if (qa !== qb)
|
|
261
|
+
return qa - qb;
|
|
262
|
+
return a.shortName < b.shortName ? -1 : a.shortName > b.shortName ? 1 : 0;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* equipCmpSummary: the equip-cmp grid model - columns (with faithful 2-char
|
|
266
|
+
* labels), the "@" combined row, and the filtered/sorted item rows. Reuses
|
|
267
|
+
* computeObjectValues / computePlayerValues / combineEntryValues / applyRenderer
|
|
268
|
+
* (ui-entry.ts) so no combat/resist value is re-derived here.
|
|
269
|
+
*/
|
|
270
|
+
export function equipCmpSummary(state, packs, opts = {}) {
|
|
271
|
+
const config = uiEntryConfigFor(packs);
|
|
272
|
+
const player = state.actor.player;
|
|
273
|
+
const source = opts.source ?? "no-store";
|
|
274
|
+
const rd = resolveUiDeps(player, opts.entryDeps ?? {});
|
|
275
|
+
const untimedCache = { untimed: playerFlags(player) };
|
|
276
|
+
const cats = equipCmpCategories(config);
|
|
277
|
+
const columns = [];
|
|
278
|
+
for (const cat of cats) {
|
|
279
|
+
for (const entry of cat.entries) {
|
|
280
|
+
columns.push({
|
|
281
|
+
key: entry.name,
|
|
282
|
+
label: equipCmpColumnLabel(entry),
|
|
283
|
+
label3: equipCmpFilterLabel3(entry),
|
|
284
|
+
category: cat.key,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
const flatEntries = cats.flatMap((c) => c.entries);
|
|
289
|
+
// Equipped objects (for the "@" combined row): compute_player_and_equipment_values.
|
|
290
|
+
const equipped = [];
|
|
291
|
+
for (let i = 0; i < player.body.count; i++) {
|
|
292
|
+
const handle = player.equipment[i] ?? 0;
|
|
293
|
+
const obj = handle ? gearGet(state.gear, handle) : null;
|
|
294
|
+
if (obj)
|
|
295
|
+
equipped.push(obj);
|
|
296
|
+
}
|
|
297
|
+
/* obj->known, synthesised once per object: object_flag_is_known and
|
|
298
|
+
* object_element_is_known both take object_fully_known as their first route
|
|
299
|
+
* out (obj-knowledge.c:777, 799), and mundane gear carries no runes at all, so
|
|
300
|
+
* it IS fully known and must print '.' down every column. Reading p->obj_k
|
|
301
|
+
* alone printed '?' for a plain torch or soft leather armour - the same defect
|
|
302
|
+
* the character sheet's resist grid had (its fix is ui-entry.ts:1857), which
|
|
303
|
+
* this screen never got. */
|
|
304
|
+
const knownDesc = knownDescOf(state);
|
|
305
|
+
const fullyKnown = (obj) => objectFullyKnown(obj, objectKnownShadow(obj, player, state.runeEnv, knownDesc), player, state.runeEnv);
|
|
306
|
+
const combinedCells = flatEntries.map((entry) => {
|
|
307
|
+
const playerVal = computePlayerValues(entry, player, rd, untimedCache);
|
|
308
|
+
const vals = [playerVal.val];
|
|
309
|
+
const auxs = [playerVal.auxval];
|
|
310
|
+
for (const obj of equipped) {
|
|
311
|
+
const ov = computeObjectValues(entry, obj, player, fullyKnown(obj));
|
|
312
|
+
vals.push(ov.val);
|
|
313
|
+
auxs.push(ov.auxval);
|
|
314
|
+
}
|
|
315
|
+
const { accum, accumAux } = combineEntryValues(entry, vals, auxs);
|
|
316
|
+
const renderer = config.renderers[entry.rendererIndex - 1];
|
|
317
|
+
if (!renderer)
|
|
318
|
+
return { symbol: " ", color: 1 };
|
|
319
|
+
const rendered = applyRenderer(renderer, [accum], [accumAux], {
|
|
320
|
+
knownRune: isUiEntryForKnownRune(entry, player),
|
|
321
|
+
alternateColorFirst: false,
|
|
322
|
+
});
|
|
323
|
+
return rendered.cells[0] ?? { symbol: " ", color: 1 };
|
|
324
|
+
});
|
|
325
|
+
const gathered = gatherItems(state).filter((g) => passesSourceFilter(g.src, source));
|
|
326
|
+
let items = gathered.map(({ obj, src }) => {
|
|
327
|
+
const vals = [];
|
|
328
|
+
const known = fullyKnown(obj);
|
|
329
|
+
const cells = flatEntries.map((entry) => {
|
|
330
|
+
const ov = computeObjectValues(entry, obj, player, known);
|
|
331
|
+
vals.push(ov.val);
|
|
332
|
+
const renderer = config.renderers[entry.rendererIndex - 1];
|
|
333
|
+
if (!renderer)
|
|
334
|
+
return { symbol: " ", color: 1 };
|
|
335
|
+
const rendered = applyRenderer(renderer, [ov.val], [ov.auxval], {
|
|
336
|
+
knownRune: isUiEntryForKnownRune(entry, player),
|
|
337
|
+
alternateColorFirst: false,
|
|
338
|
+
});
|
|
339
|
+
return rendered.cells[0] ?? { symbol: " ", color: 1 };
|
|
340
|
+
});
|
|
341
|
+
return {
|
|
342
|
+
obj,
|
|
343
|
+
vals,
|
|
344
|
+
shortName: shortName(state, obj),
|
|
345
|
+
src,
|
|
346
|
+
quality: quality(obj),
|
|
347
|
+
slot: wieldSlot(player.body, obj.tval, player.equipment),
|
|
348
|
+
equippyCh: obj.kind.dChar,
|
|
349
|
+
equippyAttr: colorCharToAttr(obj.kind.dAttr),
|
|
350
|
+
cells,
|
|
351
|
+
};
|
|
352
|
+
});
|
|
353
|
+
/* filter_items then sort_items (prompt_for_easy_filter L1428-1429): the quick
|
|
354
|
+
* filter narrows the gathered set before the ordering is applied. */
|
|
355
|
+
const filter = opts.filter ?? null;
|
|
356
|
+
if (filter)
|
|
357
|
+
items = items.filter((it) => equipCmpFilterKeeps(columns, filter, it.vals));
|
|
358
|
+
items = items.sort(compareItems);
|
|
359
|
+
if (opts.reverse)
|
|
360
|
+
items = items.slice().reverse();
|
|
361
|
+
return { columns, combinedCells, items, stores: source };
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=equip-cmp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equip-cmp.js","sourceRoot":"","sources":["../../src/game/equip-cmp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,YAAY,GAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3F,MAAM,aAAa,GAA+B,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEhG,gHAAgH;AAChH,MAAM,UAAU,mBAAmB,CAAC,GAAmB;IACrD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,UAAU;YACb,OAAO,YAAY,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,WAAW,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,cAAc,CAAC;QACxB;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AA+DD,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAClC,uEAAuE,CAAC;AAE1E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GACpC,yDAAyD,CAAC;AAE5D;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,EAAE,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG;QACf,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACnB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QACnB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KACpB,CAAC;IACF,gEAAgE;IAChE,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAkC,EAClC,IAAY,EACZ,GAAY;IAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9C,MAAM,GAAG,GAAG,MAAM;gBAChB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3C,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,IAAI,GAAG;gBAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAkC,EAClC,MAA0B,EAC1B,IAAuB;IAEvB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,IAAa,CAAC;IAClB,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,aAAa;YAChB,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC;YAChB,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;YACjB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;YACjB,MAAM;QACR;YACE,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACf,MAAM;IACV,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,IAAI,YAAY,GAAyB,IAAI,CAAC;AAC9C,IAAI,eAAe,GAAY,IAAI,CAAC;AAEpC,sFAAsF;AACtF,SAAS,gBAAgB,CAAC,KAA+C;IACvE,IAAI,YAAY,IAAI,eAAe,KAAK,KAAK;QAAE,OAAO,YAAY,CAAC;IACnE,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACzC,eAAe,GAAG,KAAK,CAAC;IACxB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,mFAAmF;AACnF,SAAS,SAAS,CAAC,KAAgB,EAAE,GAAe;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC5B,OAAO,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACvB,OAAO,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,0DAA0D;AAC1D,SAAS,OAAO,CAAC,GAAe;IAC9B,QAAQ,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI;YACd,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM,CAAC,OAAO;YACjB,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM,CAAC,GAAG;YACb,OAAO,KAAK,CAAC;QACf;YACE,IAAI,GAAG,CAAC,QAAQ;gBAAE,OAAO,UAAU,CAAC;YACpC,IAAI,GAAG,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAC;YAC1B,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAOD,2FAA2F;AAC3F,SAAS,WAAW,CAAC,KAAgB;IACnC,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAElC,gDAAgD;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,wEAAwE;IACxE,2DAA2D;IAC3D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,sEAAsE;IACtE,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,GAAmB,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kFAAkF;AAClF,SAAS,kBAAkB,CAAC,GAAmB,EAAE,IAAoB;IACnE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,GAAG,KAAK,OAAO,CAAC;QACzB,KAAK,YAAY;YACf,OAAO,GAAG,KAAK,OAAO,CAAC;QACzB,KAAK,WAAW;YACd,OAAO,IAAI,CAAC;QACd,KAAK,cAAc;YACjB,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAmC;IAC/C,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AACF,MAAM,SAAS,GAAoC;IACjD,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,wGAAwG;AACxG,SAAS,YAAY,CAAC,CAAe,EAAE,CAAe;IACpD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC9B,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAgB,EAChB,KAA+C,EAC/C,OAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,MAAM,GAAW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IACzC,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAEtD,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,KAAK,CAAC,IAAI;gBACf,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;gBACjC,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC;gBACnC,QAAQ,EAAE,GAAG,CAAC,GAAG;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEnD,oFAAoF;IACpF,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,GAAG;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;gCAM4B;IAC5B,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,CAAC,GAAe,EAAW,EAAE,CAC9C,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAEzG,MAAM,aAAa,GAAkB,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7D,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC5D,SAAS,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC;YAC/C,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACrF,IAAI,KAAK,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;QACxD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAkB,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACrD,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC9D,SAAS,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC/C,mBAAmB,EAAE,KAAK;aAC3B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,OAAO;YACL,GAAG;YACH,IAAI;YACJ,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAChC,GAAG;YACH,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;YACrB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;YACxD,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;YACzB,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5C,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH;yEACqE;IACrE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IACnC,IAAI,MAAM;QAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAExF,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;IAElD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Floor object piles, ported from reference/src/obj-pile.c (Angband 4.2.6):
|
|
3
|
+
* the live-cave half that lets squares carry objects - floor_carry,
|
|
4
|
+
* drop_near (with drop_find_grid's scored placement scan and the artifact
|
|
5
|
+
* rescue walk), floor_object_for_use, and the pile primitives. Piles live on
|
|
6
|
+
* the GameState (state.floor, keyed by grid index) with the newest object at
|
|
7
|
+
* the head, exactly as upstream's square->obj linked list (pile_insert
|
|
8
|
+
* prepends).
|
|
9
|
+
*
|
|
10
|
+
* Unported-subsystem seams are grouped on FloorEnv with inert defaults:
|
|
11
|
+
* - isIgnored (ignore_item_ok, obj-ignore.c, task #24): nothing is ignored,
|
|
12
|
+
* so the oldest-ignored eviction never fires and *note stays truthful.
|
|
13
|
+
* - isTrap (square_istrap, task #21): no traps, so drops may land anywhere
|
|
14
|
+
* a floor grid allows.
|
|
15
|
+
* - birthStacking (OPT birth_stacking): defaults true as shipped.
|
|
16
|
+
* - onBreak / onDrop / onNote: message and redraw hooks (UI layer).
|
|
17
|
+
*
|
|
18
|
+
* DEFERRED with their subsystems (ledgered in parity/ledger/game-floor.yaml):
|
|
19
|
+
* push_object (needs doors/traps interplay), the known-object shadow cave
|
|
20
|
+
* (player->cave, knowledge #24), list_object/delist_object oidx bookkeeping
|
|
21
|
+
* (the pile map is the object list), and mimicked-object handling.
|
|
22
|
+
*/
|
|
23
|
+
import type { Loc } from "../loc.js";
|
|
24
|
+
import type { GameObject, StackLimits } from "../obj/object.js";
|
|
25
|
+
import type { GameState } from "./context.js";
|
|
26
|
+
/** Unported-subsystem hooks for the floor routines; every slot is optional. */
|
|
27
|
+
export interface FloorEnv {
|
|
28
|
+
/** ignore_item_ok (obj-ignore.c, #24). Default: nothing is ignored. */
|
|
29
|
+
isIgnored?: (obj: GameObject) => boolean;
|
|
30
|
+
/** square_istrap (trap.c, #21). Default: no traps. */
|
|
31
|
+
isTrap?: (grid: Loc) => boolean;
|
|
32
|
+
/** OPT(player, birth_stacking). Default true (shipped default). */
|
|
33
|
+
birthStacking?: boolean;
|
|
34
|
+
/** The dropped object broke / disappeared (message hook). */
|
|
35
|
+
onBreak?: (obj: GameObject, broke: boolean) => void;
|
|
36
|
+
/** An object landed on the floor (message / redraw hook). */
|
|
37
|
+
onDrop?: (obj: GameObject, grid: Loc) => void;
|
|
38
|
+
/** Quiver stacking limits; floor stacks never read them (shipped values). */
|
|
39
|
+
limits?: StackLimits;
|
|
40
|
+
}
|
|
41
|
+
/** square_object(c, grid): the pile at a grid, head (newest) first. */
|
|
42
|
+
export declare function floorPile(state: GameState, grid: Loc): readonly GameObject[];
|
|
43
|
+
/**
|
|
44
|
+
* pile_contains (obj-pile.c L268). The pile is an array here, so the walk down
|
|
45
|
+
* obj->next is indexOf; kept as a named function so the intent (and the C
|
|
46
|
+
* symbol) is visible where the pile identity check matters.
|
|
47
|
+
*/
|
|
48
|
+
export declare function pileContains(pile: readonly GameObject[], obj: GameObject): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* square_holds_object (cave-square.c L1015): whether this exact object is in
|
|
51
|
+
* the pile at `grid`. Identity, not equality - it answers "is this the object I
|
|
52
|
+
* am holding a reference to, still here".
|
|
53
|
+
*/
|
|
54
|
+
export declare function squareHoldsObject(state: GameState, grid: Loc, obj: GameObject): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* item_is_available (obj-pile.c L1427): the object is somewhere the player can
|
|
57
|
+
* act on it - carried, or in the pile underfoot. Upstream's do_cmd_fire uses it
|
|
58
|
+
* to reject a command whose ammo is no longer there (player-attack.c:1338), the
|
|
59
|
+
* case where two fire commands were queued for the same stack.
|
|
60
|
+
*/
|
|
61
|
+
export declare function itemIsAvailable(state: GameState, obj: GameObject): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* pile_last_item (obj-pile.c L248): the tail of a pile, or null when empty.
|
|
64
|
+
* Upstream's two consumers (gear_last_item -> combine_pack, obj-ignore.c
|
|
65
|
+
* ignore_drop) both use it to walk gear BACKWARDS; here that is a reversed
|
|
66
|
+
* array walk (game/gear.ts combinePack, game/ignore-cmd.ts).
|
|
67
|
+
*/
|
|
68
|
+
export declare function pileLastItem(pile: readonly GameObject[]): GameObject | null;
|
|
69
|
+
/** object_floor_t (obj-pile.h L43): scan_floor's mode bits. */
|
|
70
|
+
export declare const OFLOOR: {
|
|
71
|
+
readonly NONE: 0;
|
|
72
|
+
/** Verify the item tester. */
|
|
73
|
+
readonly TEST: 1;
|
|
74
|
+
/** Sensed or known items only. */
|
|
75
|
+
readonly SENSE: 2;
|
|
76
|
+
/** Only the top item. */
|
|
77
|
+
readonly TOP: 4;
|
|
78
|
+
/** Visible items only. */
|
|
79
|
+
readonly VISIBLE: 8;
|
|
80
|
+
};
|
|
81
|
+
/** get_item mode bits (game-input.h L28-40), the subset scan_items reads. */
|
|
82
|
+
export declare const USE_MODE: {
|
|
83
|
+
readonly EQUIP: 1;
|
|
84
|
+
readonly INVEN: 2;
|
|
85
|
+
readonly FLOOR: 4;
|
|
86
|
+
readonly QUIVER: 8;
|
|
87
|
+
};
|
|
88
|
+
/** item_tester: null accepts everything (object_test, obj-util.c). */
|
|
89
|
+
export type ItemTester = ((obj: GameObject) => boolean) | null;
|
|
90
|
+
/**
|
|
91
|
+
* scan_floor (obj-pile.c L1295): the objects at the player's grid that pass
|
|
92
|
+
* `mode`, newest first, capped at maxSize.
|
|
93
|
+
*
|
|
94
|
+
* OFLOOR_SENSE (`!obj->known`) has no counterpart: this port has no per-object
|
|
95
|
+
* known twin (see the module header), so nothing is dropped for being unsensed.
|
|
96
|
+
* OFLOOR_VISIBLE is `!is_unknown(obj) && ignore_item_ok(p, obj) -> skip`; with
|
|
97
|
+
* no unknown_item_kind marker, is_unknown is always false and the term reduces
|
|
98
|
+
* to the ignore check, which rides env.isIgnored.
|
|
99
|
+
*/
|
|
100
|
+
export declare function scanFloor(state: GameState, maxSize: number, mode: number, tester: ItemTester, env?: FloorEnv): GameObject[];
|
|
101
|
+
/**
|
|
102
|
+
* scan_items (obj-pile.c L1376): the "valid" objects a get_item picker over
|
|
103
|
+
* `mode` may offer, in upstream's source order - inventory, then equipment,
|
|
104
|
+
* then quiver, then the floor. ORDER IS BEHAVIOUR: it decides which letter each
|
|
105
|
+
* item gets. The floor pass is scan_floor with
|
|
106
|
+
* OFLOOR_TEST | OFLOOR_SENSE | OFLOOR_VISIBLE (L1411).
|
|
107
|
+
*
|
|
108
|
+
* Upstream stops at item_max across ALL passes; that cap is kept.
|
|
109
|
+
*
|
|
110
|
+
* The inventory pass walks p->upkeep->inven[], which calc_inventory fills
|
|
111
|
+
* DISJOINTLY from p->upkeep->quiver[] (player-calcs.c L1023: each non-equipped
|
|
112
|
+
* gear item is assigned to exactly one of the two). This port's gear.pack is
|
|
113
|
+
* the raw gear list and keeps quiver members, so the inven pass excludes them
|
|
114
|
+
* with objectIsInQuiver - otherwise USE_INVEN | USE_QUIVER would list a quivered
|
|
115
|
+
* stack twice and shift every later letter.
|
|
116
|
+
*/
|
|
117
|
+
export declare function scanItems(state: GameState, itemMax: number, mode: number, tester: ItemTester, env?: FloorEnv): GameObject[];
|
|
118
|
+
/**
|
|
119
|
+
* square_excise_object / pile_excise: remove an object from the pile at a
|
|
120
|
+
* grid. Returns whether it was found.
|
|
121
|
+
*
|
|
122
|
+
* square_set_obj (cave-square.c:1291) has no counterpart: upstream stores a
|
|
123
|
+
* `square->obj` linked-list HEAD, and its only two calls both set it to NULL
|
|
124
|
+
* (cave-square.c:1035 inside square_excise_pile, obj-pile.c:1201 inside
|
|
125
|
+
* push_object). Here the pile IS the Map entry, so emptying it is the delete
|
|
126
|
+
* below - and square_excise_pile (cave-square.c:1031) is the caller-side loop
|
|
127
|
+
* `for (obj of [...floorPile(...)]) floorExcise(...)`.
|
|
128
|
+
*/
|
|
129
|
+
export declare function floorExcise(state: GameState, grid: Loc, obj: GameObject): boolean;
|
|
130
|
+
/**
|
|
131
|
+
* floor_carry: let the floor at a grid carry an object - merge into a
|
|
132
|
+
* compatible stack, or add to the pile if it has room (evicting the oldest
|
|
133
|
+
* ignored object when full). Returns false when the square can't take it;
|
|
134
|
+
* the caller deals with the object.
|
|
135
|
+
*/
|
|
136
|
+
export declare function floorCarry(state: GameState, grid: Loc, drop: GameObject, env?: FloorEnv,
|
|
137
|
+
/**
|
|
138
|
+
* floor_carry's `bool *note` (obj-pile.c:906), an in/out box: cleared when the
|
|
139
|
+
* drop merged into a pile the player IGNORES, so drop_near knows the landing
|
|
140
|
+
* is not worth mentioning (:927-930). Omit it when the caller does not care.
|
|
141
|
+
*/
|
|
142
|
+
note?: {
|
|
143
|
+
value: boolean;
|
|
144
|
+
}): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* drop_find_grid: find a grid near the given one for an object to fall on -
|
|
147
|
+
* the scored 7x7 scan (close and uncluttered wins, ties break one_in_2),
|
|
148
|
+
* then the artifact rescue walk when nothing scores. Returns the grid to
|
|
149
|
+
* drop at (the input grid when no better one is found).
|
|
150
|
+
*/
|
|
151
|
+
export declare function dropFindGrid(state: GameState, drop: GameObject, preferPile: boolean, start: Loc, env?: FloorEnv): Loc;
|
|
152
|
+
/** square_canputitem: floor that holds objects, no trap, no pile yet. */
|
|
153
|
+
export declare function squareCanPutItem(state: GameState, grid: Loc, env?: FloorEnv): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* drop_near: let an object fall to the ground at or near a location.
|
|
156
|
+
* `chance` is the percentage chance the item disappears instead (breakage
|
|
157
|
+
* on a thrown object); artifacts never break. Returns the grid the object
|
|
158
|
+
* landed on, or null when it broke or the floor failed to carry it.
|
|
159
|
+
*/
|
|
160
|
+
export declare function dropNear(state: GameState, drop: GameObject, chance: number, grid: Loc,
|
|
161
|
+
/**
|
|
162
|
+
* drop_near's `verbose` (obj-pile.c:1129), in its upstream position. When set
|
|
163
|
+
* and the object is not ignored, a landing on the PLAYER'S OWN grid announces
|
|
164
|
+
* "You feel something roll beneath your feet." (:1152-1154).
|
|
165
|
+
*
|
|
166
|
+
* The port used to have no such parameter, and `preferPile` sat in this slot -
|
|
167
|
+
* so several call sites were passing the C's verbose argument as preferPile.
|
|
168
|
+
* That is not cosmetic: prefer_pile drops drop_find_grid's penalty for mixing
|
|
169
|
+
* item types in one square, so the wrong value lands objects on different
|
|
170
|
+
* grids from upstream.
|
|
171
|
+
*/
|
|
172
|
+
verbose: boolean, preferPile: boolean, env?: FloorEnv): Loc | null;
|
|
173
|
+
/**
|
|
174
|
+
* floor_object_for_use: detach `num` items from a floor stack for use -
|
|
175
|
+
* split off a part, or excise the whole object when it is all taken.
|
|
176
|
+
* Returns the detached object and whether none is left on the floor.
|
|
177
|
+
*/
|
|
178
|
+
export declare function floorObjectForUse(state: GameState, obj: GameObject, num: number): {
|
|
179
|
+
usable: GameObject;
|
|
180
|
+
noneLeft: boolean;
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=floor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floor.d.ts","sourceRoot":"","sources":["../../src/game/floor.ts"],"names":[],"mappings":"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"}
|