@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,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live player instance, ported from struct player in reference/src/player.h
|
|
3
|
+
* (Angband 4.2.6).
|
|
4
|
+
*
|
|
5
|
+
* This is the savefile-relevant core: stats (birth/cur/max plus the swap map),
|
|
6
|
+
* skills, hitpoints/mana, level/experience, gold, the equipment body with
|
|
7
|
+
* per-slot object handles, the timed-effect array, race/class/shape references,
|
|
8
|
+
* and a minimal upkeep block. UI-only and world-only members of struct player
|
|
9
|
+
* (grid, cave, gear lists, known_state, redraw/update masks, quests) are NOT
|
|
10
|
+
* modelled here; they belong to the world and UI layers.
|
|
11
|
+
*
|
|
12
|
+
* Field names for hitpoints (chp / mhp / chpFrac) and the timed array match
|
|
13
|
+
* what the effects domain's EffectPlayer / HpHolder interfaces expect, so a
|
|
14
|
+
* Player can back those narrow interfaces without adaptation.
|
|
15
|
+
*/
|
|
16
|
+
import type { PlayerBody, PlayerClass, PlayerRace, Shape } from "./types.js";
|
|
17
|
+
import type { ElementInfo } from "../obj/types.js";
|
|
18
|
+
import type { FlagSet } from "../bitflag.js";
|
|
19
|
+
import type { HistoryInfo } from "./history.js";
|
|
20
|
+
import type { NameProbs } from "../obj/randname.js";
|
|
21
|
+
import type { Rng } from "../rng.js";
|
|
22
|
+
/**
|
|
23
|
+
* Minimal struct player_upkeep: only the derived counters the headless core
|
|
24
|
+
* needs. The full upkeep (trackees, redraw/update/notice masks, inventory and
|
|
25
|
+
* quiver arrays) is DEFERRED to the world/UI integration.
|
|
26
|
+
*/
|
|
27
|
+
export interface PlayerUpkeep {
|
|
28
|
+
playing: boolean;
|
|
29
|
+
/** Number of spells available to learn. */
|
|
30
|
+
newSpells: number;
|
|
31
|
+
/** Total weight of carried gear (tenths of a pound). */
|
|
32
|
+
totalWeight: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* obj_k: the player's cumulative object-knowledge, i.e. the learned "rune"
|
|
36
|
+
* mask (ported from struct player's obj_k, a struct object used as a knowledge
|
|
37
|
+
* template). Every rune variety is modelled: the modifier runes gate real play
|
|
38
|
+
* (calc_bonuses multiplies equipped modifiers by them), while the element, flag,
|
|
39
|
+
* brand, slay and curse runes are learned by use exactly as upstream
|
|
40
|
+
* (obj-knowledge.c) and will additionally feed the DISPLAYED known_state when
|
|
41
|
+
* the display system lands. Most runes are UNKNOWN at birth; the exceptions,
|
|
42
|
+
* all set at birth exactly as upstream, are the racial innates
|
|
43
|
+
* (player_learn_innate), the dice/ac runes (obvious knowledge from
|
|
44
|
+
* player_outfit) and the three combat runes to_a/to_h/to_d, which
|
|
45
|
+
* do_cmd_accept_character marks known unconditionally ("Hack - player knows all
|
|
46
|
+
* combat runes", player-birth.c L1264-1267), so their learn-by-use paths are
|
|
47
|
+
* vestigial in real play.
|
|
48
|
+
*/
|
|
49
|
+
export interface PlayerObjectKnowledge {
|
|
50
|
+
/**
|
|
51
|
+
* modifiers[OBJ_MOD_MAX]: 1 if the player has learned this modifier's rune,
|
|
52
|
+
* else 0. calc_bonuses multiplies each equipped item's modifier by this, so
|
|
53
|
+
* a pval bonus is inert until its rune is known. UNKNOWN (all 0) at birth,
|
|
54
|
+
* exactly as upstream (PORT_PLAN.md decision 25).
|
|
55
|
+
*/
|
|
56
|
+
modifiers: number[];
|
|
57
|
+
/**
|
|
58
|
+
* obj_k->to_a / to_h / to_d: the three combat runes (0 or 1). Like dd/ds/ac
|
|
59
|
+
* these are NOT learned by use in real play: do_cmd_accept_character sets all
|
|
60
|
+
* three to 1 at birth ("Hack - player knows all combat runes", player-birth.c
|
|
61
|
+
* L1264-1267), so an item's +to-hit/+to-dam/+AC show even when unidentified.
|
|
62
|
+
*/
|
|
63
|
+
toA: number;
|
|
64
|
+
toH: number;
|
|
65
|
+
toD: number;
|
|
66
|
+
/**
|
|
67
|
+
* obj_k->dd / ds / ac: the "know dice" / "know ac" runes (0 or 1). Unlike the
|
|
68
|
+
* combat runes these are NOT learned by use - player_outfit (player-birth.c
|
|
69
|
+
* L584-596) gives them as obvious object knowledge at birth, so they are
|
|
70
|
+
* ALWAYS 1. object_set_base_known / player_know_object multiply the object's
|
|
71
|
+
* base dd/ds/ac by them (obj-knowledge.c L830-838, L1039-1041), so base
|
|
72
|
+
* damage dice and armour of even an unidentified item are known from the start.
|
|
73
|
+
*/
|
|
74
|
+
dd: number;
|
|
75
|
+
ds: number;
|
|
76
|
+
ac: number;
|
|
77
|
+
/** obj_k->el_info[ELEM_MAX]: resLevel 1 = element rune known. */
|
|
78
|
+
elInfo: ElementInfo[];
|
|
79
|
+
/** obj_k->flags: OF_* rune knowledge. */
|
|
80
|
+
flags: FlagSet;
|
|
81
|
+
/** obj_k->brands[]: known brands by brand index (0 unused). */
|
|
82
|
+
brands: boolean[];
|
|
83
|
+
/** obj_k->slays[]: known slays by slay index (0 unused). */
|
|
84
|
+
slays: boolean[];
|
|
85
|
+
/** obj_k->curses[]: power 1 = curse rune known, by curse index (0 unused). */
|
|
86
|
+
curses: number[];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* One entry in the player's quest history (struct quest, player-quest.h),
|
|
90
|
+
* copied from the standard quest table at birth (player_quests_reset). The
|
|
91
|
+
* quest race is held as its ridx (a stable index into the monster registry,
|
|
92
|
+
* re-resolved on load) rather than a live MonsterRace reference, so the Player
|
|
93
|
+
* stays independent of the monster domain and serializes cleanly.
|
|
94
|
+
*/
|
|
95
|
+
export interface PlayerQuest {
|
|
96
|
+
/** quest->name: the guardian's display name ("Sauron", "Morgoth"). */
|
|
97
|
+
name: string;
|
|
98
|
+
/** quest->level: the dungeon depth this quest is fought on; 0 once done. */
|
|
99
|
+
level: number;
|
|
100
|
+
/** quest->race->ridx: the guardian monster race index. */
|
|
101
|
+
race: number;
|
|
102
|
+
/** quest->max_num: how many of the race must die to complete the quest. */
|
|
103
|
+
maxNum: number;
|
|
104
|
+
/** quest->cur_num: how many have died so far. */
|
|
105
|
+
curNum: number;
|
|
106
|
+
}
|
|
107
|
+
/** A blank, nothing-learned object-knowledge block (birth state). */
|
|
108
|
+
export declare function blankObjKnowledge(): PlayerObjectKnowledge;
|
|
109
|
+
/** struct player core (player.h), world/UI-only members omitted. */
|
|
110
|
+
export interface Player {
|
|
111
|
+
race: PlayerRace;
|
|
112
|
+
cls: PlayerClass;
|
|
113
|
+
/** hitdie sides = r_mhp + c_mhp. */
|
|
114
|
+
hitdie: number;
|
|
115
|
+
/** expfact = r_exp + c_exp. */
|
|
116
|
+
expFactor: number;
|
|
117
|
+
age: number;
|
|
118
|
+
ht: number;
|
|
119
|
+
wt: number;
|
|
120
|
+
au: number;
|
|
121
|
+
maxLev: number;
|
|
122
|
+
lev: number;
|
|
123
|
+
maxExp: number;
|
|
124
|
+
exp: number;
|
|
125
|
+
/** exp_frac (times 2^16). */
|
|
126
|
+
expFrac: number;
|
|
127
|
+
/** max_depth: the deepest dungeon level reached. */
|
|
128
|
+
maxDepth: number;
|
|
129
|
+
/** recall_depth: where Word of Recall returns to. */
|
|
130
|
+
recallDepth: number;
|
|
131
|
+
/** word_recall: turns until a pending recall fires (0 = inactive). */
|
|
132
|
+
wordRecall: number;
|
|
133
|
+
/** deep_descent: turns until a pending deep descent fires (0 = inactive). */
|
|
134
|
+
deepDescent: number;
|
|
135
|
+
mhp: number;
|
|
136
|
+
chp: number;
|
|
137
|
+
chpFrac: number;
|
|
138
|
+
msp: number;
|
|
139
|
+
csp: number;
|
|
140
|
+
cspFrac: number;
|
|
141
|
+
/** stat_max[STAT_MAX]: current maximal ("natural" ceiling) stats. */
|
|
142
|
+
statMax: number[];
|
|
143
|
+
/** stat_cur[STAT_MAX]: current natural stats. */
|
|
144
|
+
statCur: number[];
|
|
145
|
+
/** stat_map[STAT_MAX]: remap from temporary stat swaps (identity at birth). */
|
|
146
|
+
statMap: number[];
|
|
147
|
+
/** stat_birth[STAT_MAX]: birth natural stats. */
|
|
148
|
+
statBirth: number[];
|
|
149
|
+
/** timed[TMD_MAX]: timed effect durations. */
|
|
150
|
+
timed: Int16Array;
|
|
151
|
+
/** spell_flags[total_spells]: PY_SPELL_ bits (player_spells_init sizes). */
|
|
152
|
+
spellFlags: number[];
|
|
153
|
+
/** spell_order[total_spells]: sidx in learn order (99 = unused slot). */
|
|
154
|
+
spellOrder: number[];
|
|
155
|
+
/** player_hp[PY_MAX_LEVEL]: cumulative hitpoint rolls per level. */
|
|
156
|
+
playerHp: number[];
|
|
157
|
+
/** au_birth, ht_birth, wt_birth: quickstart saved values. */
|
|
158
|
+
auBirth: number;
|
|
159
|
+
htBirth: number;
|
|
160
|
+
wtBirth: number;
|
|
161
|
+
/**
|
|
162
|
+
* player->full_name (save.c:422): the character's name. Persisted and fed to
|
|
163
|
+
* the high-score table (buildScore's `who`). Empty until birth naming.
|
|
164
|
+
*/
|
|
165
|
+
fullName: string;
|
|
166
|
+
/**
|
|
167
|
+
* player->died_from (save.c:424): the cause-of-death string ("Interrupting"
|
|
168
|
+
* while alive, then the killer's name / "Retiring" / etc.). Persisted and fed
|
|
169
|
+
* to the high-score table (buildScore's `how`) and enter_score's gating.
|
|
170
|
+
*/
|
|
171
|
+
diedFrom: string;
|
|
172
|
+
/**
|
|
173
|
+
* player->noscore (player.h:92-100): the "ways a player can be marked a
|
|
174
|
+
* cheater" bit mask (NOSCORE_WIZARD | NOSCORE_DEBUG | ...). Persisted as u16
|
|
175
|
+
* (save.c:623). Any of the score-invalidating bits keeps the character off
|
|
176
|
+
* the high-score table (noscoreInvalidatesScore, game/wizard.ts). 0 = clean.
|
|
177
|
+
*/
|
|
178
|
+
noscore: number;
|
|
179
|
+
/** Player history text (the birth background/bio paragraph). */
|
|
180
|
+
history: string;
|
|
181
|
+
/**
|
|
182
|
+
* hist (player-history.h struct player_history): the runtime auto-history
|
|
183
|
+
* event log (artifact finds/losses, level-ups, unique kills, birth) -
|
|
184
|
+
* distinct from the `history` bio string above. Oldest-first; see
|
|
185
|
+
* player/history.ts for the append/query API.
|
|
186
|
+
*/
|
|
187
|
+
hist: HistoryInfo[];
|
|
188
|
+
/** Equipment slots available (copied from the race's body). */
|
|
189
|
+
body: PlayerBody;
|
|
190
|
+
/**
|
|
191
|
+
* Object handle per body slot (0 = empty), length body.count. Real objects
|
|
192
|
+
* live in the object domain; this holds only handles, filled at wield time.
|
|
193
|
+
*/
|
|
194
|
+
equipment: number[];
|
|
195
|
+
/**
|
|
196
|
+
* obj_k: learned object-knowledge ("rune") mask. Gates equipment modifiers
|
|
197
|
+
* in calcBonuses; all runes UNKNOWN at birth (PORT_PLAN.md decision 25).
|
|
198
|
+
*/
|
|
199
|
+
objKnown: PlayerObjectKnowledge;
|
|
200
|
+
/**
|
|
201
|
+
* quests (player->quests, player-quest.h): the per-character quest history,
|
|
202
|
+
* seeded from the standard quest table at birth (player_quests_reset). A
|
|
203
|
+
* quest whose level is 0 is complete; when none remain, the game is won.
|
|
204
|
+
*/
|
|
205
|
+
quests: PlayerQuest[];
|
|
206
|
+
/**
|
|
207
|
+
* total_winner (player->total_winner): set once every quest is complete
|
|
208
|
+
* (i.e. Morgoth is slain). The victory flag, persisted across saves.
|
|
209
|
+
*/
|
|
210
|
+
totalWinner: boolean;
|
|
211
|
+
/** Current shape (defaults to "normal"). */
|
|
212
|
+
shape: Shape | null;
|
|
213
|
+
/**
|
|
214
|
+
* Derived level-based skills (calc_bonuses non-equipment part). Computed by
|
|
215
|
+
* calcs.calcSkills; length SKILL_MAX.
|
|
216
|
+
*/
|
|
217
|
+
skills: number[];
|
|
218
|
+
upkeep: PlayerUpkeep;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* A zeroed player of the given race/class/body (player_init + player_embody).
|
|
222
|
+
* Stats/HP/level are left at zero for the birth pipeline (birth.ts) to fill;
|
|
223
|
+
* shape defaults to null (the "normal" shape) and every equipment slot empty.
|
|
224
|
+
*/
|
|
225
|
+
export declare function blankPlayer(race: PlayerRace, cls: PlayerClass, body: PlayerBody): Player;
|
|
226
|
+
/**
|
|
227
|
+
* player_random_name (player.c L375): a Markov-chain name drawn from the
|
|
228
|
+
* RANDNAME_TOLKIEN corpus with length in [4, 8], my_strcap'd. Note the bounds
|
|
229
|
+
* differ from artifact_gen_name's MIN_NAME_LEN/MAX_NAME_LEN (5, 9).
|
|
230
|
+
*
|
|
231
|
+
* Upstream call sites are all name entry: ui-birth.c:725 (finish with random
|
|
232
|
+
* choices fills the name too), ui-input.c:1038 ('*' in the name field) and
|
|
233
|
+
* ui-input.c:1124 (the name field's context-menu "random" action). The
|
|
234
|
+
* savefile-name-collision retry loop at ui-birth.c:721-733 is filesystem
|
|
235
|
+
* plumbing this port has no counterpart for (browser save slots).
|
|
236
|
+
*
|
|
237
|
+
* `probs` is build_prob over the corpus (CoreRegistries.nameSections, section
|
|
238
|
+
* RANDNAME_TOLKIEN = 1). Returns "" when no corpus is available, letting the
|
|
239
|
+
* caller keep whatever name it had rather than invent an unfaithful one.
|
|
240
|
+
*/
|
|
241
|
+
export declare function playerRandomName(rng: Rng, probs: NameProbs | null): string;
|
|
242
|
+
//# sourceMappingURL=player.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../../src/player/player.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live player instance, ported from struct player in reference/src/player.h
|
|
3
|
+
* (Angband 4.2.6).
|
|
4
|
+
*
|
|
5
|
+
* This is the savefile-relevant core: stats (birth/cur/max plus the swap map),
|
|
6
|
+
* skills, hitpoints/mana, level/experience, gold, the equipment body with
|
|
7
|
+
* per-slot object handles, the timed-effect array, race/class/shape references,
|
|
8
|
+
* and a minimal upkeep block. UI-only and world-only members of struct player
|
|
9
|
+
* (grid, cave, gear lists, known_state, redraw/update masks, quests) are NOT
|
|
10
|
+
* modelled here; they belong to the world and UI layers.
|
|
11
|
+
*
|
|
12
|
+
* Field names for hitpoints (chp / mhp / chpFrac) and the timed array match
|
|
13
|
+
* what the effects domain's EffectPlayer / HpHolder interfaces expect, so a
|
|
14
|
+
* Player can back those narrow interfaces without adaptation.
|
|
15
|
+
*/
|
|
16
|
+
import { PY_MAX_LEVEL, SKILL_MAX, STAT_MAX, TMD_MAX } from "./types.js";
|
|
17
|
+
import { newElemInfo, newOfFlags, OBJ_MOD_MAX } from "../obj/types.js";
|
|
18
|
+
import { randnameMake } from "../obj/randname.js";
|
|
19
|
+
/** A blank, nothing-learned object-knowledge block (birth state). */
|
|
20
|
+
export function blankObjKnowledge() {
|
|
21
|
+
return {
|
|
22
|
+
modifiers: new Array(OBJ_MOD_MAX).fill(0),
|
|
23
|
+
/* Combat runes: do_cmd_accept_character sets all three to 1 at birth
|
|
24
|
+
* ("Hack - player knows all combat runes", player-birth.c L1264-1267), so
|
|
25
|
+
* they are known from the start and their learn-by-use paths never fire. */
|
|
26
|
+
toA: 1,
|
|
27
|
+
toH: 1,
|
|
28
|
+
toD: 1,
|
|
29
|
+
/* Obvious knowledge from player_outfit (player-birth.c L584-596): the dice
|
|
30
|
+
* and ac runes are set at birth, never learned by use, so always 1. */
|
|
31
|
+
dd: 1,
|
|
32
|
+
ds: 1,
|
|
33
|
+
ac: 1,
|
|
34
|
+
elInfo: newElemInfo(),
|
|
35
|
+
flags: newOfFlags(),
|
|
36
|
+
brands: [],
|
|
37
|
+
slays: [],
|
|
38
|
+
curses: [],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A zeroed player of the given race/class/body (player_init + player_embody).
|
|
43
|
+
* Stats/HP/level are left at zero for the birth pipeline (birth.ts) to fill;
|
|
44
|
+
* shape defaults to null (the "normal" shape) and every equipment slot empty.
|
|
45
|
+
*/
|
|
46
|
+
export function blankPlayer(race, cls, body) {
|
|
47
|
+
return {
|
|
48
|
+
race,
|
|
49
|
+
cls,
|
|
50
|
+
hitdie: 0,
|
|
51
|
+
expFactor: 0,
|
|
52
|
+
age: 0,
|
|
53
|
+
ht: 0,
|
|
54
|
+
wt: 0,
|
|
55
|
+
au: 0,
|
|
56
|
+
maxLev: 1,
|
|
57
|
+
lev: 1,
|
|
58
|
+
maxExp: 0,
|
|
59
|
+
exp: 0,
|
|
60
|
+
expFrac: 0,
|
|
61
|
+
maxDepth: 0,
|
|
62
|
+
recallDepth: 0,
|
|
63
|
+
wordRecall: 0,
|
|
64
|
+
deepDescent: 0,
|
|
65
|
+
mhp: 0,
|
|
66
|
+
chp: 0,
|
|
67
|
+
chpFrac: 0,
|
|
68
|
+
msp: 0,
|
|
69
|
+
csp: 0,
|
|
70
|
+
cspFrac: 0,
|
|
71
|
+
statMax: new Array(STAT_MAX).fill(0),
|
|
72
|
+
statCur: new Array(STAT_MAX).fill(0),
|
|
73
|
+
statMap: new Array(STAT_MAX).fill(0),
|
|
74
|
+
statBirth: new Array(STAT_MAX).fill(0),
|
|
75
|
+
timed: new Int16Array(TMD_MAX),
|
|
76
|
+
spellFlags: [],
|
|
77
|
+
spellOrder: [],
|
|
78
|
+
playerHp: new Array(PY_MAX_LEVEL).fill(0),
|
|
79
|
+
auBirth: 0,
|
|
80
|
+
htBirth: 0,
|
|
81
|
+
wtBirth: 0,
|
|
82
|
+
fullName: "",
|
|
83
|
+
diedFrom: "",
|
|
84
|
+
noscore: 0,
|
|
85
|
+
history: "",
|
|
86
|
+
hist: [],
|
|
87
|
+
body: { name: body.name, count: body.count, slots: body.slots.map((s) => ({ ...s })) },
|
|
88
|
+
equipment: new Array(body.count).fill(0),
|
|
89
|
+
objKnown: blankObjKnowledge(),
|
|
90
|
+
quests: [],
|
|
91
|
+
totalWinner: false,
|
|
92
|
+
shape: null,
|
|
93
|
+
skills: new Array(SKILL_MAX).fill(0),
|
|
94
|
+
upkeep: { playing: false, newSpells: 0, totalWeight: 0 },
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* player_random_name (player.c L375): a Markov-chain name drawn from the
|
|
99
|
+
* RANDNAME_TOLKIEN corpus with length in [4, 8], my_strcap'd. Note the bounds
|
|
100
|
+
* differ from artifact_gen_name's MIN_NAME_LEN/MAX_NAME_LEN (5, 9).
|
|
101
|
+
*
|
|
102
|
+
* Upstream call sites are all name entry: ui-birth.c:725 (finish with random
|
|
103
|
+
* choices fills the name too), ui-input.c:1038 ('*' in the name field) and
|
|
104
|
+
* ui-input.c:1124 (the name field's context-menu "random" action). The
|
|
105
|
+
* savefile-name-collision retry loop at ui-birth.c:721-733 is filesystem
|
|
106
|
+
* plumbing this port has no counterpart for (browser save slots).
|
|
107
|
+
*
|
|
108
|
+
* `probs` is build_prob over the corpus (CoreRegistries.nameSections, section
|
|
109
|
+
* RANDNAME_TOLKIEN = 1). Returns "" when no corpus is available, letting the
|
|
110
|
+
* caller keep whatever name it had rather than invent an unfaithful one.
|
|
111
|
+
*/
|
|
112
|
+
export function playerRandomName(rng, probs) {
|
|
113
|
+
if (probs === null)
|
|
114
|
+
return "";
|
|
115
|
+
const word = randnameMake(rng, 4, 8, probs);
|
|
116
|
+
/* my_strcap (z-util.c L529): first character only. */
|
|
117
|
+
return word.length === 0 ? word : word.charAt(0).toUpperCase() + word.slice(1);
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=player.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"player.js","sourceRoot":"","sources":["../../src/player/player.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shape-change lore renderer, ported from the shape_lore_append_* chain in
|
|
3
|
+
* reference/src/ui-knowledge.c (Angband 4.2.6, L2704-3140). Upstream builds a
|
|
4
|
+
* textblock describing what taking a player shape does - combat bonuses,
|
|
5
|
+
* skills, modifiers, resistances, protection, sustains, misc flags, the change
|
|
6
|
+
* effect and the spells that trigger it. The Shape registry (player/bind.ts)
|
|
7
|
+
* carries all the raw fields but had no renderer; this is that renderer,
|
|
8
|
+
* producing an array of display lines (one per textblock paragraph).
|
|
9
|
+
*
|
|
10
|
+
* The pure parts (everything through misc flags) depend only on the Shape plus
|
|
11
|
+
* a small env of property/element/ability tables. The two dynamic tails -
|
|
12
|
+
* shape_lore_append_change_effects (effect_describe) and
|
|
13
|
+
* shape_lore_append_triggering_spells (the class-spellbook scan) - are supplied
|
|
14
|
+
* pre-rendered by the caller through the env, since they reach outside the shape
|
|
15
|
+
* data into the effect-description subsystem and the class registry.
|
|
16
|
+
*
|
|
17
|
+
* Attribution: neostryder / RPGM Tools.
|
|
18
|
+
*/
|
|
19
|
+
import type { Shape } from "./types.js";
|
|
20
|
+
import type { ObjectProperty } from "../obj/types.js";
|
|
21
|
+
/** One entry of the player_abilities list, filtered to type "player". */
|
|
22
|
+
export interface ShapeLorePlayerAbility {
|
|
23
|
+
/** The PF_ flag index (ability->index). */
|
|
24
|
+
index: number;
|
|
25
|
+
/** ability->desc. */
|
|
26
|
+
desc: string;
|
|
27
|
+
}
|
|
28
|
+
/** The tables + pre-rendered tails shape_lore needs beyond the Shape itself. */
|
|
29
|
+
export interface ShapeLoreEnv {
|
|
30
|
+
/** obj_properties table (1-based, index 0 null), for name/desc/subtype. */
|
|
31
|
+
properties: readonly (ObjectProperty | null)[];
|
|
32
|
+
/** projections[i].name for i in [0, ELEM_MAX): "acid", "fire", ... */
|
|
33
|
+
elementNames: readonly string[];
|
|
34
|
+
/** player_abilities filtered to streq(type, "player") (misc flags tail). */
|
|
35
|
+
playerAbilities: readonly ShapeLorePlayerAbility[];
|
|
36
|
+
/**
|
|
37
|
+
* effect_describe(s->effect, "Changing into the shape ", 0, false) rendered to
|
|
38
|
+
* text, or null/absent when the shape has no change effect. Optional: absent
|
|
39
|
+
* omits shape_lore_append_change_effects (L3044-3056).
|
|
40
|
+
*/
|
|
41
|
+
changeEffectText?: string | null;
|
|
42
|
+
/**
|
|
43
|
+
* shape_lore_append_triggering_spells (L3059-3113) output, one string per
|
|
44
|
+
* "The <class> spell, <spell>, from <book> triggers the shapechange." line.
|
|
45
|
+
* Optional: absent omits that tail.
|
|
46
|
+
*/
|
|
47
|
+
triggeringSpells?: readonly string[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* shape_lore (ui-knowledge.c L3116-3140): the full description of one shape,
|
|
51
|
+
* returned as display lines (one per emitted textblock paragraph). Line 0 is
|
|
52
|
+
* the shape name, line 1 the fixed intro, then each field summary that has
|
|
53
|
+
* content, then the change-effect and triggering-spell tails from the env.
|
|
54
|
+
*/
|
|
55
|
+
export declare function shapeLoreLines(shape: Shape, env: ShapeLoreEnv): string[];
|
|
56
|
+
//# sourceMappingURL=shape-lore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shape-lore.d.ts","sourceRoot":"","sources":["../../src/player/shape-lore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,yEAAyE;AACzE,MAAM,WAAW,sBAAsB;IACrC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,UAAU,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;IAC/C,sEAAsE;IACtE,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,4EAA4E;IAC5E,eAAe,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACnD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AA6KD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,MAAM,EAAE,CAgBxE"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shape-change lore renderer, ported from the shape_lore_append_* chain in
|
|
3
|
+
* reference/src/ui-knowledge.c (Angband 4.2.6, L2704-3140). Upstream builds a
|
|
4
|
+
* textblock describing what taking a player shape does - combat bonuses,
|
|
5
|
+
* skills, modifiers, resistances, protection, sustains, misc flags, the change
|
|
6
|
+
* effect and the spells that trigger it. The Shape registry (player/bind.ts)
|
|
7
|
+
* carries all the raw fields but had no renderer; this is that renderer,
|
|
8
|
+
* producing an array of display lines (one per textblock paragraph).
|
|
9
|
+
*
|
|
10
|
+
* The pure parts (everything through misc flags) depend only on the Shape plus
|
|
11
|
+
* a small env of property/element/ability tables. The two dynamic tails -
|
|
12
|
+
* shape_lore_append_change_effects (effect_describe) and
|
|
13
|
+
* shape_lore_append_triggering_spells (the class-spellbook scan) - are supplied
|
|
14
|
+
* pre-rendered by the caller through the env, since they reach outside the shape
|
|
15
|
+
* data into the effect-description subsystem and the class registry.
|
|
16
|
+
*
|
|
17
|
+
* Attribution: neostryder / RPGM Tools.
|
|
18
|
+
*/
|
|
19
|
+
import { STAT_MAX, SKILL_MAX } from "./types.js";
|
|
20
|
+
import { OBJ_PROPERTY, OBJ_MOD_MAX, ELEM_MAX, OFT } from "../obj/types.js";
|
|
21
|
+
import { OF } from "../generated/index.js";
|
|
22
|
+
import { sustainFlag } from "../obj/knowledge.js";
|
|
23
|
+
/** lookup_obj_property(type, propIndex): match on (type, the OF_/OBJ_MOD value). */
|
|
24
|
+
function lookupProp(env, type, propIndex) {
|
|
25
|
+
for (const p of env.properties) {
|
|
26
|
+
if (p && p.type === type && p.propIndex === propIndex)
|
|
27
|
+
return p;
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
/** skill_index_to_name (ui-knowledge.c L2721-2767); STEALTH has no case. */
|
|
32
|
+
function skillIndexToName(i) {
|
|
33
|
+
switch (i) {
|
|
34
|
+
case 0:
|
|
35
|
+
return "physical disarming";
|
|
36
|
+
case 1:
|
|
37
|
+
return "magical disarming";
|
|
38
|
+
case 2:
|
|
39
|
+
return "magic devices";
|
|
40
|
+
case 3:
|
|
41
|
+
return "saving throws";
|
|
42
|
+
case 4:
|
|
43
|
+
return "searching";
|
|
44
|
+
case 6:
|
|
45
|
+
return "melee to hit";
|
|
46
|
+
case 7:
|
|
47
|
+
return "shooting to hit";
|
|
48
|
+
case 8:
|
|
49
|
+
return "throwing to hit";
|
|
50
|
+
case 9:
|
|
51
|
+
return "digging";
|
|
52
|
+
default:
|
|
53
|
+
return "unknown skill";
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** C's %+d ("+0", "+3", "-2"). */
|
|
57
|
+
function plus(n) {
|
|
58
|
+
return n < 0 ? String(n) : `+${n}`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* shape_lore_append_list (ui-knowledge.c L2770-2782): " a", " a and b",
|
|
62
|
+
* " a, b and c". Returns the fragment (leading space included) or "".
|
|
63
|
+
*/
|
|
64
|
+
function appendList(list) {
|
|
65
|
+
const n = list.length;
|
|
66
|
+
if (n === 0)
|
|
67
|
+
return "";
|
|
68
|
+
let out = ` ${list[0]}`;
|
|
69
|
+
for (let i = 1; i < n; i++) {
|
|
70
|
+
out += `${i < n - 1 ? "," : " and"} ${list[i]}`;
|
|
71
|
+
}
|
|
72
|
+
return out;
|
|
73
|
+
}
|
|
74
|
+
/** shape_lore_append_basic_combat (L2785-2814). */
|
|
75
|
+
function basicCombat(shape) {
|
|
76
|
+
const msgs = [];
|
|
77
|
+
if (shape.toA !== 0)
|
|
78
|
+
msgs.push(`${plus(shape.toA)} to AC`);
|
|
79
|
+
if (shape.toH !== 0)
|
|
80
|
+
msgs.push(`${plus(shape.toH)} to hit`);
|
|
81
|
+
if (shape.toD !== 0)
|
|
82
|
+
msgs.push(`${plus(shape.toD)} to damage`);
|
|
83
|
+
if (msgs.length === 0)
|
|
84
|
+
return null;
|
|
85
|
+
return `Adds${appendList(msgs)}.`;
|
|
86
|
+
}
|
|
87
|
+
/** shape_lore_append_skills (L2817-2843). */
|
|
88
|
+
function skills(shape) {
|
|
89
|
+
const msgs = [];
|
|
90
|
+
for (let i = 0; i < SKILL_MAX; i++) {
|
|
91
|
+
const v = shape.skills[i] ?? 0;
|
|
92
|
+
if (v !== 0)
|
|
93
|
+
msgs.push(`${plus(v)} to ${skillIndexToName(i)}`);
|
|
94
|
+
}
|
|
95
|
+
if (msgs.length === 0)
|
|
96
|
+
return null;
|
|
97
|
+
return `Adds${appendList(msgs)}.`;
|
|
98
|
+
}
|
|
99
|
+
/** shape_lore_append_non_stat_modifiers (L2846-2871) + stat (L2874-2902). */
|
|
100
|
+
function modifiers(shape, env, from, to) {
|
|
101
|
+
const msgs = [];
|
|
102
|
+
for (let i = from; i < to; i++) {
|
|
103
|
+
const v = shape.modifiers[i] ?? 0;
|
|
104
|
+
if (v !== 0) {
|
|
105
|
+
const name = lookupProp(env, OBJ_PROPERTY.MOD, i)?.name ?? "";
|
|
106
|
+
msgs.push(`${plus(v)} to ${name}`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (msgs.length === 0)
|
|
110
|
+
return null;
|
|
111
|
+
return `Adds${appendList(msgs)}.`;
|
|
112
|
+
}
|
|
113
|
+
/** shape_lore_append_resistances (L2905-2945): up to three lines. */
|
|
114
|
+
function resistances(shape, env) {
|
|
115
|
+
const vul = [];
|
|
116
|
+
const res = [];
|
|
117
|
+
const imm = [];
|
|
118
|
+
for (let i = 0; i < ELEM_MAX; i++) {
|
|
119
|
+
const lvl = shape.elInfo[i]?.resLevel ?? 0;
|
|
120
|
+
const name = env.elementNames[i] ?? "";
|
|
121
|
+
if (lvl < 0)
|
|
122
|
+
vul.push(name);
|
|
123
|
+
else if (lvl >= 3)
|
|
124
|
+
imm.push(name);
|
|
125
|
+
else if (lvl !== 0)
|
|
126
|
+
res.push(name);
|
|
127
|
+
}
|
|
128
|
+
const lines = [];
|
|
129
|
+
if (vul.length)
|
|
130
|
+
lines.push(`Makes you vulnerable to${appendList(vul)}.`);
|
|
131
|
+
if (res.length)
|
|
132
|
+
lines.push(`Makes you resistant to${appendList(res)}.`);
|
|
133
|
+
if (imm.length)
|
|
134
|
+
lines.push(`Makes you immune to${appendList(imm)}.`);
|
|
135
|
+
return lines;
|
|
136
|
+
}
|
|
137
|
+
/** shape_lore_append_protection_flags (L2948-2977). */
|
|
138
|
+
function protection(shape, env) {
|
|
139
|
+
const msgs = [];
|
|
140
|
+
for (let i = 1; i < OF.MAX; i++) {
|
|
141
|
+
const prop = lookupProp(env, OBJ_PROPERTY.FLAG, i);
|
|
142
|
+
if (prop && prop.subtype === OFT.PROT && shape.flags.has(prop.propIndex)) {
|
|
143
|
+
msgs.push(prop.desc);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (msgs.length === 0)
|
|
147
|
+
return null;
|
|
148
|
+
return `Provides protection from${appendList(msgs)}.`;
|
|
149
|
+
}
|
|
150
|
+
/** shape_lore_append_sustains (L2980-3005). */
|
|
151
|
+
function sustains(shape, env) {
|
|
152
|
+
const msgs = [];
|
|
153
|
+
for (let i = 0; i < STAT_MAX; i++) {
|
|
154
|
+
const prop = lookupProp(env, OBJ_PROPERTY.STAT, i);
|
|
155
|
+
if (prop && shape.flags.has(sustainFlag(prop.propIndex)))
|
|
156
|
+
msgs.push(prop.name);
|
|
157
|
+
}
|
|
158
|
+
if (msgs.length === 0)
|
|
159
|
+
return null;
|
|
160
|
+
return `Sustains${appendList(msgs)}.`;
|
|
161
|
+
}
|
|
162
|
+
/** shape_lore_append_misc_flags (L3008-3040): sentences joined by " ". */
|
|
163
|
+
function miscFlags(shape, env) {
|
|
164
|
+
let out = "";
|
|
165
|
+
let n = 0;
|
|
166
|
+
for (let i = 1; i < OF.MAX; i++) {
|
|
167
|
+
const prop = lookupProp(env, OBJ_PROPERTY.FLAG, i);
|
|
168
|
+
if (prop &&
|
|
169
|
+
(prop.subtype === OFT.MISC || prop.subtype === OFT.MELEE || prop.subtype === OFT.BAD) &&
|
|
170
|
+
shape.flags.has(prop.propIndex)) {
|
|
171
|
+
out += `${n > 0 ? " " : ""}${prop.desc}.`;
|
|
172
|
+
n++;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
for (const ability of env.playerAbilities) {
|
|
176
|
+
if (shape.pflags.has(ability.index)) {
|
|
177
|
+
out += `${n > 0 ? " " : ""}${ability.desc}`;
|
|
178
|
+
n++;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return n > 0 ? out : null;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The fixed intro paragraph shape_lore prints before the field summaries
|
|
185
|
+
* (ui-knowledge.c L3121-3128).
|
|
186
|
+
*/
|
|
187
|
+
const SHAPE_LORE_INTRO = "Like all shapes, the equipment at the time of the shapechange sets the " +
|
|
188
|
+
"base attributes, including damage per blow, number of blows and " +
|
|
189
|
+
"resistances. While changed, items in your pack or on the floor (except " +
|
|
190
|
+
"for pickup or eating) are inaccessible. To switch back to your normal " +
|
|
191
|
+
"shape, cast a spell or use an item command other than eat (drop, for " +
|
|
192
|
+
"instance).";
|
|
193
|
+
/**
|
|
194
|
+
* shape_lore (ui-knowledge.c L3116-3140): the full description of one shape,
|
|
195
|
+
* returned as display lines (one per emitted textblock paragraph). Line 0 is
|
|
196
|
+
* the shape name, line 1 the fixed intro, then each field summary that has
|
|
197
|
+
* content, then the change-effect and triggering-spell tails from the env.
|
|
198
|
+
*/
|
|
199
|
+
export function shapeLoreLines(shape, env) {
|
|
200
|
+
const lines = [shape.name, SHAPE_LORE_INTRO];
|
|
201
|
+
const push = (s) => {
|
|
202
|
+
if (s)
|
|
203
|
+
lines.push(s);
|
|
204
|
+
};
|
|
205
|
+
push(basicCombat(shape));
|
|
206
|
+
push(skills(shape));
|
|
207
|
+
push(modifiers(shape, env, STAT_MAX, OBJ_MOD_MAX)); // non-stat modifiers
|
|
208
|
+
push(modifiers(shape, env, 0, STAT_MAX)); // stat modifiers
|
|
209
|
+
for (const l of resistances(shape, env))
|
|
210
|
+
lines.push(l);
|
|
211
|
+
push(protection(shape, env));
|
|
212
|
+
push(sustains(shape, env));
|
|
213
|
+
push(miscFlags(shape, env));
|
|
214
|
+
if (env.changeEffectText)
|
|
215
|
+
lines.push(`${env.changeEffectText}.`);
|
|
216
|
+
if (env.triggeringSpells)
|
|
217
|
+
for (const l of env.triggeringSpells)
|
|
218
|
+
lines.push(l);
|
|
219
|
+
return lines;
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=shape-lore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shape-lore.js","sourceRoot":"","sources":["../../src/player/shape-lore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAgClD,oFAAoF;AACpF,SAAS,UAAU,CACjB,GAAiB,EACjB,IAAY,EACZ,SAAiB;IAEjB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,SAAS,gBAAgB,CAAC,CAAS;IACjC,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,CAAC;YACJ,OAAO,oBAAoB,CAAC;QAC9B,KAAK,CAAC;YACJ,OAAO,mBAAmB,CAAC;QAC7B,KAAK,CAAC;YACJ,OAAO,eAAe,CAAC;QACzB,KAAK,CAAC;YACJ,OAAO,eAAe,CAAC;QACzB,KAAK,CAAC;YACJ,OAAO,WAAW,CAAC;QACrB,KAAK,CAAC;YACJ,OAAO,cAAc,CAAC;QACxB,KAAK,CAAC;YACJ,OAAO,iBAAiB,CAAC;QAC3B,KAAK,CAAC;YACJ,OAAO,iBAAiB,CAAC;QAC3B,KAAK,CAAC;YACJ,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,kCAAkC;AAClC,SAAS,IAAI,CAAC,CAAS;IACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAuB;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mDAAmD;AACnD,SAAS,WAAW,CAAC,KAAY;IAC/B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,6CAA6C;AAC7C,SAAS,MAAM,CAAC,KAAY;IAC1B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,6EAA6E;AAC7E,SAAS,SAAS,CAAC,KAAY,EAAE,GAAiB,EAAE,IAAY,EAAE,EAAU;IAC1E,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,qEAAqE;AACrE,SAAS,WAAW,CAAC,KAAY,EAAE,GAAiB;IAClD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,GAAG,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB,IAAI,GAAG,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7B,IAAI,GAAG,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,GAAG,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzE,IAAI,GAAG,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxE,IAAI,GAAG,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uDAAuD;AACvD,SAAS,UAAU,CAAC,KAAY,EAAE,GAAiB;IACjD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,2BAA2B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AACxD,CAAC;AAED,+CAA+C;AAC/C,SAAS,QAAQ,CAAC,KAAY,EAAE,GAAiB;IAC/C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,WAAW,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,CAAC;AAED,2EAA2E;AAC3E,SAAS,SAAS,CAAC,KAAY,EAAE,GAAiB;IAChD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,IACE,IAAI;YACJ,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC;YACrF,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAC/B,CAAC;YACD,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;YAC3C,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7C,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GACpB,yEAAyE;IACzE,kEAAkE;IAClE,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,YAAY,CAAC;AAEf;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY,EAAE,GAAiB;IAC5D,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,CAAC,CAAgB,EAAQ,EAAE;QACtC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB;IACzE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB;IAC3D,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,gBAAgB;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,gBAAgB;QAAE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,gBAAgB;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC"}
|