@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,357 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color-cycle + legacy flicker animation engine, ported from
|
|
3
|
+
* reference/src/ui-visuals.c (Angband 4.2.6).
|
|
4
|
+
*
|
|
5
|
+
* This is the front-end-agnostic half of the visuals subsystem: given a
|
|
6
|
+
* color cycle group/name (or a monster race, or a base selection attr) and a
|
|
7
|
+
* frame counter, it returns the COLOUR_* attr to draw for that frame. It has
|
|
8
|
+
* no DOM/canvas dependency; a front end owns the frame timer and the actual
|
|
9
|
+
* glyph/tile draw. The stateful interpretation that ui-visuals.c performs at
|
|
10
|
+
* parse time is reproduced here in the builders (buildVisualsFlicker /
|
|
11
|
+
* buildVisualsCycler) that consume the compiled visuals.txt pack record.
|
|
12
|
+
*
|
|
13
|
+
* Faithful details preserved from the C:
|
|
14
|
+
* - visuals_color_cycle_attr_for_frame (L169): step = frame % max_steps.
|
|
15
|
+
* - visuals_color_cycle_copy (L126): a cycle is compressed to only its valid
|
|
16
|
+
* colors (preserving order) when moved into a group, so attrForFrame wraps
|
|
17
|
+
* over the real color count, not the padded VISUALS_STEPS_MAX capacity.
|
|
18
|
+
* - visuals_flicker_get_attr_for_frame (L633): the flicker table is indexed
|
|
19
|
+
* by the selection attr (the color code on the `flicker:` line), then by
|
|
20
|
+
* frame % colors_per_cycle. Out-of-range selection attr -> BASIC_COLORS.
|
|
21
|
+
* - visuals_flicker_set_color (L574): flicker cycles are filled by the
|
|
22
|
+
* selection attr, so "the last one listed wins" for a duplicate selection.
|
|
23
|
+
* - visuals_cycler_set_cycle_for_race (L420) / _get_attr_for_race (L468):
|
|
24
|
+
* a race->cycle lookup table, growable by ridx, returns BASIC_COLORS when
|
|
25
|
+
* a race has no cycle.
|
|
26
|
+
* - do_animation (ui-display.c L1435): animateMonsterAttr replicates the
|
|
27
|
+
* per-monster branch (RF_ATTR_MULTI random, RF_ATTR_FLICKER cycle ->
|
|
28
|
+
* flicker -> base fallback, otherwise static).
|
|
29
|
+
*/
|
|
30
|
+
import { BASIC_COLORS, colorCharToAttr, MAX_COLORS } from "../color.js";
|
|
31
|
+
/**
|
|
32
|
+
* z-color.h BASIC_COLORS: the count of the basic color attrs (0..28). It
|
|
33
|
+
* doubles as the "no color / invalid" sentinel the cycler/flicker return on a
|
|
34
|
+
* miss, since it is one past the last valid attr.
|
|
35
|
+
*/
|
|
36
|
+
export { BASIC_COLORS } from "../color.js";
|
|
37
|
+
/**
|
|
38
|
+
* z-color.h MAX_COLORS (32). The flicker table is sized with this by
|
|
39
|
+
* ui_visuals_module_init: visuals_flicker_new(MAX_COLORS, 3).
|
|
40
|
+
*/
|
|
41
|
+
export const VISUALS_MAX_COLORS = MAX_COLORS;
|
|
42
|
+
/** ui-visuals.c VISUALS_STEPS_MAX (L35): max colors per color cycle. */
|
|
43
|
+
export const VISUALS_STEPS_MAX = 32;
|
|
44
|
+
/** ui-visuals.c VISUALS_INVALID_COLOR (L38): unused-step marker. */
|
|
45
|
+
export const VISUALS_INVALID_COLOR = 0xff;
|
|
46
|
+
/** ui_visuals_module_init: colors_per_cycle for the legacy flicker table. */
|
|
47
|
+
const FLICKER_COLORS_PER_CYCLE = 3;
|
|
48
|
+
/* ----- Fancy Color Cycling ----- */
|
|
49
|
+
/**
|
|
50
|
+
* struct visuals_color_cycle (ui-visuals.c L45): an ordered set of color
|
|
51
|
+
* attrs to rotate through, plus the padding capacity and invalid marker.
|
|
52
|
+
*/
|
|
53
|
+
export class VisualsColorCycle {
|
|
54
|
+
cycleName;
|
|
55
|
+
invalidColor;
|
|
56
|
+
/** The steps array (length maxSteps), invalidColor for unused slots. */
|
|
57
|
+
stepValues;
|
|
58
|
+
constructor(name, stepCount, invalidColor) {
|
|
59
|
+
this.cycleName = name;
|
|
60
|
+
this.invalidColor = invalidColor;
|
|
61
|
+
this.stepValues = new Array(stepCount).fill(invalidColor);
|
|
62
|
+
}
|
|
63
|
+
/** visuals_color_cycle_new (L62): NULL (here null) when stepCount is 0. */
|
|
64
|
+
static create(name, stepCount, invalidColor) {
|
|
65
|
+
if (stepCount === 0)
|
|
66
|
+
return null;
|
|
67
|
+
return new VisualsColorCycle(name, stepCount, invalidColor);
|
|
68
|
+
}
|
|
69
|
+
get maxSteps() {
|
|
70
|
+
return this.stepValues.length;
|
|
71
|
+
}
|
|
72
|
+
/** The step attrs, including any invalid padding. */
|
|
73
|
+
get steps() {
|
|
74
|
+
return this.stepValues;
|
|
75
|
+
}
|
|
76
|
+
/** Set the attr at a step (no-op if out of range, like the raw array). */
|
|
77
|
+
setStep(index, attr) {
|
|
78
|
+
if (index >= 0 && index < this.stepValues.length) {
|
|
79
|
+
this.stepValues[index] = attr;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* visuals_color_cycle_copy (L126): a new cycle holding only the valid
|
|
84
|
+
* colors of this one, in order. Returns null if there are no valid colors
|
|
85
|
+
* (matching visuals_color_cycle_new(0) -> NULL).
|
|
86
|
+
*/
|
|
87
|
+
copy() {
|
|
88
|
+
const valid = this.stepValues.filter((s) => s !== this.invalidColor);
|
|
89
|
+
const copy = VisualsColorCycle.create(this.cycleName, valid.length, this.invalidColor);
|
|
90
|
+
if (copy === null)
|
|
91
|
+
return null;
|
|
92
|
+
for (let i = 0; i < valid.length; i++)
|
|
93
|
+
copy.setStep(i, valid[i]);
|
|
94
|
+
return copy;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* visuals_color_cycle_attr_for_frame (L169): the color for a frame, i.e.
|
|
98
|
+
* steps[frame % max_steps]. On a compressed (copied) cycle this wraps over
|
|
99
|
+
* the true color count.
|
|
100
|
+
*/
|
|
101
|
+
attrForFrame(frame) {
|
|
102
|
+
const step = frame % this.stepValues.length;
|
|
103
|
+
return this.stepValues[step];
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* struct visuals_cycle_group (L186): named group of color cycles. Modeled as
|
|
108
|
+
* an insertion-ordered map of cycle-name -> cycle (the C uses parallel arrays
|
|
109
|
+
* but only ever looks cycles up by name).
|
|
110
|
+
*/
|
|
111
|
+
class VisualsCycleGroup {
|
|
112
|
+
groupName;
|
|
113
|
+
cycles;
|
|
114
|
+
constructor(name) {
|
|
115
|
+
this.groupName = name;
|
|
116
|
+
this.cycles = new Map();
|
|
117
|
+
}
|
|
118
|
+
/** visuals_cycler_cycle_by_name inner loop (L363): find a cycle by name. */
|
|
119
|
+
cycleByName(name) {
|
|
120
|
+
return this.cycles.get(name) ?? null;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* struct visuals_cycler (L261): the whole color-cycling table, groups of
|
|
125
|
+
* color cycles. Built from the compiled visuals.txt `cycle` records.
|
|
126
|
+
*/
|
|
127
|
+
export class VisualsCycler {
|
|
128
|
+
groups;
|
|
129
|
+
constructor() {
|
|
130
|
+
this.groups = new Map();
|
|
131
|
+
}
|
|
132
|
+
/** Internal: fetch-or-create a group, preserving first-seen order. */
|
|
133
|
+
group(name) {
|
|
134
|
+
let g = this.groups.get(name);
|
|
135
|
+
if (g === undefined) {
|
|
136
|
+
g = new VisualsCycleGroup(name);
|
|
137
|
+
this.groups.set(name, g);
|
|
138
|
+
}
|
|
139
|
+
return g;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Add (or replace) a cycle in a group. Replicates visuals_parse_cycle's
|
|
143
|
+
* "if a cycle with a matching name is found, the parsed cycle replaces it"
|
|
144
|
+
* (L968-987) via Map.set. The stored cycle is the compressed copy, matching
|
|
145
|
+
* visuals_parse_context_convert (L807-813).
|
|
146
|
+
*/
|
|
147
|
+
addCycle(groupName, cycle) {
|
|
148
|
+
const compressed = cycle.copy();
|
|
149
|
+
if (compressed === null)
|
|
150
|
+
return;
|
|
151
|
+
this.group(groupName).cycles.set(cycle.cycleName, compressed);
|
|
152
|
+
}
|
|
153
|
+
/** visuals_cycler_cycle_by_name (L336): find a cycle by group + name. */
|
|
154
|
+
cycleByName(groupName, cycleName) {
|
|
155
|
+
if (!groupName || !cycleName)
|
|
156
|
+
return null;
|
|
157
|
+
return this.groups.get(groupName)?.cycleByName(cycleName) ?? null;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* visuals_cycler_get_attr_for_frame (L384): attr for a group/cycle at a
|
|
161
|
+
* frame, or BASIC_COLORS when the cycle is not found.
|
|
162
|
+
*/
|
|
163
|
+
getAttrForFrame(groupName, cycleName, frame) {
|
|
164
|
+
const cycle = this.cycleByName(groupName, cycleName);
|
|
165
|
+
if (cycle === null)
|
|
166
|
+
return BASIC_COLORS;
|
|
167
|
+
return cycle.attrForFrame(frame);
|
|
168
|
+
}
|
|
169
|
+
/** Number of groups (introspection for wiring/tests). */
|
|
170
|
+
get groupCount() {
|
|
171
|
+
return this.groups.size;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* struct visuals_flicker (L496): the legacy flicker table, a fixed grid of
|
|
176
|
+
* maxCycles * colorsPerCycle attrs indexed by [selection attr][step].
|
|
177
|
+
*/
|
|
178
|
+
export class VisualsFlicker {
|
|
179
|
+
maxCycles;
|
|
180
|
+
colorsPerCycle;
|
|
181
|
+
cells;
|
|
182
|
+
constructor(maxCycles, colorsPerCycle) {
|
|
183
|
+
this.maxCycles = maxCycles;
|
|
184
|
+
this.colorsPerCycle = colorsPerCycle;
|
|
185
|
+
this.cells = new Array(maxCycles * colorsPerCycle).fill(0);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* visuals_flicker_new (L515): null unless maxCycles >= BASIC_COLORS and
|
|
189
|
+
* colorsPerCycle > 0, so the table can at least hold the basic colors.
|
|
190
|
+
*/
|
|
191
|
+
static create(maxCycles, colorsPerCycle) {
|
|
192
|
+
if (maxCycles < BASIC_COLORS || colorsPerCycle === 0)
|
|
193
|
+
return null;
|
|
194
|
+
return new VisualsFlicker(maxCycles, colorsPerCycle);
|
|
195
|
+
}
|
|
196
|
+
/** visuals_flicker_set_color (L574): set [cycle][color], ignore if OOB. */
|
|
197
|
+
setColor(cycleIndex, colorIndex, attr) {
|
|
198
|
+
if (cycleIndex >= this.maxCycles)
|
|
199
|
+
return;
|
|
200
|
+
if (colorIndex >= this.colorsPerCycle)
|
|
201
|
+
return;
|
|
202
|
+
this.cells[cycleIndex * this.colorsPerCycle + colorIndex] = attr;
|
|
203
|
+
}
|
|
204
|
+
/** visuals_flicker_get_color (L603): [cycle][color], 0 if out of range. */
|
|
205
|
+
getColor(cycleIndex, colorIndex) {
|
|
206
|
+
if (cycleIndex >= this.maxCycles)
|
|
207
|
+
return 0;
|
|
208
|
+
if (colorIndex >= this.colorsPerCycle)
|
|
209
|
+
return 0;
|
|
210
|
+
return this.cells[cycleIndex * this.colorsPerCycle + colorIndex];
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* visuals_flicker_get_attr_for_frame (L633): the flicker color for a base
|
|
214
|
+
* selection attr at a frame, or BASIC_COLORS if the attr is out of range.
|
|
215
|
+
*/
|
|
216
|
+
getAttrForFrame(selectionAttr, frame) {
|
|
217
|
+
if (selectionAttr >= this.maxCycles)
|
|
218
|
+
return BASIC_COLORS;
|
|
219
|
+
const colorIndex = frame % this.colorsPerCycle;
|
|
220
|
+
return this.getColor(selectionAttr, colorIndex);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Build the legacy flicker table from the compiled `flicker` records.
|
|
225
|
+
* Faithful to visuals_parse_flicker (L828) + visuals_parse_flicker_color
|
|
226
|
+
* (L863): each flicker entry selects a table row by its color's attr and
|
|
227
|
+
* resets the step index; each following flicker-color fills the next step.
|
|
228
|
+
* Duplicate selection attrs overwrite the same row (last wins). Invalid
|
|
229
|
+
* color codes are skipped defensively (the C aborts parsing; the shipped
|
|
230
|
+
* data is valid, so this is unreachable for pack zero).
|
|
231
|
+
*/
|
|
232
|
+
export function buildVisualsFlicker(records) {
|
|
233
|
+
const table = VisualsFlicker.create(VISUALS_MAX_COLORS, FLICKER_COLORS_PER_CYCLE);
|
|
234
|
+
/* create() only returns null for an impossible (too-small) config. */
|
|
235
|
+
if (table === null)
|
|
236
|
+
throw new Error("visuals: could not allocate flicker table");
|
|
237
|
+
for (const rec of records) {
|
|
238
|
+
const selection = colorCharToAttr(rec.color?.[0] ?? "");
|
|
239
|
+
const steps = rec["flicker-color"] ?? [];
|
|
240
|
+
let colorIndex = 0;
|
|
241
|
+
for (const code of steps) {
|
|
242
|
+
const attr = colorCharToAttr(code[0] ?? "");
|
|
243
|
+
table.setColor(selection, colorIndex, attr);
|
|
244
|
+
colorIndex++;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return table;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Build the color-cycle table from the compiled `cycle` records. Faithful to
|
|
251
|
+
* visuals_parse_cycle (L900) + visuals_parse_cycle_color (L1001) followed by
|
|
252
|
+
* visuals_parse_context_convert (L768): each cycle is created with
|
|
253
|
+
* VISUALS_STEPS_MAX capacity, filled with its color attrs (capped at
|
|
254
|
+
* capacity, matching PARSE_ERROR_TOO_MANY_ENTRIES), then compressed into its
|
|
255
|
+
* group. Later group+name duplicates replace earlier ones.
|
|
256
|
+
*/
|
|
257
|
+
export function buildVisualsCycler(records) {
|
|
258
|
+
const cycler = new VisualsCycler();
|
|
259
|
+
for (const rec of records) {
|
|
260
|
+
if (!rec.group || !rec.name)
|
|
261
|
+
continue;
|
|
262
|
+
const cycle = VisualsColorCycle.create(rec.name, VISUALS_STEPS_MAX, VISUALS_INVALID_COLOR);
|
|
263
|
+
/* VISUALS_STEPS_MAX is nonzero, so create never returns null here. */
|
|
264
|
+
if (cycle === null)
|
|
265
|
+
continue;
|
|
266
|
+
const steps = rec["cycle-color"] ?? [];
|
|
267
|
+
let stepIndex = 0;
|
|
268
|
+
for (const code of steps) {
|
|
269
|
+
if (stepIndex >= cycle.maxSteps)
|
|
270
|
+
break; // PARSE_ERROR_TOO_MANY_ENTRIES
|
|
271
|
+
const attr = colorCharToAttr(code[0] ?? "");
|
|
272
|
+
cycle.setStep(stepIndex, attr);
|
|
273
|
+
stepIndex++;
|
|
274
|
+
}
|
|
275
|
+
cycler.addCycle(rec.group, cycle);
|
|
276
|
+
}
|
|
277
|
+
return cycler;
|
|
278
|
+
}
|
|
279
|
+
/* ----- Race binding + the animator ----- */
|
|
280
|
+
/**
|
|
281
|
+
* The instantiable visuals animator: owns the flicker table, the color
|
|
282
|
+
* cycler, and the race->cycle lookup (the three ui-visuals.c module globals),
|
|
283
|
+
* and exposes the per-frame attr selection do_animation uses. Build one with
|
|
284
|
+
* createVisualsAnimator from the compiled visuals.txt record.
|
|
285
|
+
*/
|
|
286
|
+
export class VisualsAnimator {
|
|
287
|
+
flicker;
|
|
288
|
+
cycler;
|
|
289
|
+
/** visuals_color_cycles_by_race: ridx -> cycle (sparse). */
|
|
290
|
+
raceCycles;
|
|
291
|
+
constructor(flicker, cycler) {
|
|
292
|
+
this.flicker = flicker;
|
|
293
|
+
this.cycler = cycler;
|
|
294
|
+
this.raceCycles = [];
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* visuals_cycler_set_cycle_for_race (L420): map a race (by ridx) to a
|
|
298
|
+
* cycle. A missing group/cycle leaves the race un-cycled (no entry).
|
|
299
|
+
*/
|
|
300
|
+
setCycleForRace(ridx, groupName, cycleName) {
|
|
301
|
+
if (ridx < 0 || !groupName || !cycleName)
|
|
302
|
+
return;
|
|
303
|
+
const cycle = this.cycler.cycleByName(groupName, cycleName);
|
|
304
|
+
if (cycle === null)
|
|
305
|
+
return;
|
|
306
|
+
this.raceCycles[ridx] = cycle;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* visuals_cycler_get_attr_for_race (L468): the cycled attr for a race at a
|
|
310
|
+
* frame, or BASIC_COLORS when the race has no cycle.
|
|
311
|
+
*/
|
|
312
|
+
getAttrForRace(ridx, frame) {
|
|
313
|
+
if (ridx < 0 || ridx >= this.raceCycles.length)
|
|
314
|
+
return BASIC_COLORS;
|
|
315
|
+
const cycle = this.raceCycles[ridx];
|
|
316
|
+
if (!cycle)
|
|
317
|
+
return BASIC_COLORS;
|
|
318
|
+
return cycle.attrForFrame(frame);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Assemble a VisualsAnimator from the compiled visuals.txt record
|
|
323
|
+
* (records[0] of pack visuals.json). Mirrors ui_visuals_module_init: create
|
|
324
|
+
* the flicker table and parse the cycler.
|
|
325
|
+
*/
|
|
326
|
+
export function createVisualsAnimator(record) {
|
|
327
|
+
const flicker = buildVisualsFlicker(record.flicker ?? []);
|
|
328
|
+
const cycler = buildVisualsCycler(record.cycle ?? []);
|
|
329
|
+
return new VisualsAnimator(flicker, cycler);
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* do_animation's per-monster attr selection (ui-display.c L1445-1464). Returns
|
|
333
|
+
* the animated attr, or null when the monster is not animated (upstream
|
|
334
|
+
* `continue`, leaving mon->attr untouched at its static value).
|
|
335
|
+
*
|
|
336
|
+
* - RF_ATTR_MULTI: randint1(BASIC_COLORS - 1), a shimmering random color.
|
|
337
|
+
* - RF_ATTR_FLICKER: the race's color cycle, else the legacy flicker cycle
|
|
338
|
+
* for the base attr, else the static base attr.
|
|
339
|
+
* - neither flag: null (static).
|
|
340
|
+
*/
|
|
341
|
+
export function animateMonsterAttr(animator, opts) {
|
|
342
|
+
if (opts.attrMulti) {
|
|
343
|
+
return opts.randint1(BASIC_COLORS - 1);
|
|
344
|
+
}
|
|
345
|
+
if (opts.attrFlicker) {
|
|
346
|
+
let attr = animator.getAttrForRace(opts.ridx, opts.frame);
|
|
347
|
+
if (attr === BASIC_COLORS) {
|
|
348
|
+
attr = animator.flicker.getAttrForFrame(opts.baseAttr, opts.frame);
|
|
349
|
+
}
|
|
350
|
+
if (attr === BASIC_COLORS) {
|
|
351
|
+
attr = opts.baseAttr;
|
|
352
|
+
}
|
|
353
|
+
return attr;
|
|
354
|
+
}
|
|
355
|
+
return null;
|
|
356
|
+
}
|
|
357
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/visuals/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The runtime attr/char override tables, ported from reference/src/ui-prefs.c
|
|
3
|
+
* (Angband 4.2.6): the `monster_x_attr` / `monster_x_char` /
|
|
4
|
+
* `kind_x_attr` / `kind_x_char` / `feat_x_attr[LIGHTING_MAX]` /
|
|
5
|
+
* `feat_x_char[LIGHTING_MAX]` / `trap_x_attr[LIGHTING_MAX]` /
|
|
6
|
+
* `trap_x_char[LIGHTING_MAX]` / `flavor_x_attr` / `flavor_x_char` globals
|
|
7
|
+
* (ui-prefs.c L46-56), their allocation (textui_prefs_init, L1427-1452) and
|
|
8
|
+
* their (re)initialisation from gamedata (reset_visuals, L1352-1421).
|
|
9
|
+
*
|
|
10
|
+
* WHY THIS IS A SEPARATE LAYER FROM THE GAMEDATA. Upstream never draws a
|
|
11
|
+
* monster with `race->d_attr`: every draw goes through the x_attr/x_char
|
|
12
|
+
* table, which merely STARTS at the gamedata default. Three things write to it
|
|
13
|
+
* after that - a pref file (`process_pref_file`'s parse_prefs_monster and
|
|
14
|
+
* friends, L602-928), the knowledge browser's glyph picker (`glyph_command`,
|
|
15
|
+
* ui-knowledge.c L597-752), and the graphics pref of the active tile mode -
|
|
16
|
+
* and four things read it back out (the map, the knowledge screens, the
|
|
17
|
+
* monster-list sidebar, and the `dump_*` pref writers). A port that reads
|
|
18
|
+
* `race.dAttr` at the draw site cannot express any of that, which is why the
|
|
19
|
+
* glyph picker and the four "Save ... attr/chars" rows were both absent.
|
|
20
|
+
*
|
|
21
|
+
* RELATIONSHIP TO TileMap (tile-prefs.ts). Upstream keeps ONE set of arrays
|
|
22
|
+
* and lets a graf-*.prf write high-bit values into them, so in graphics mode
|
|
23
|
+
* the very same slot holds an atlas (row, col) instead of an (attr, glyph).
|
|
24
|
+
* This port splits the two: TileMap holds the graphics mapping, this table
|
|
25
|
+
* holds the ASCII one. That is behaviourally equivalent because upstream only
|
|
26
|
+
* ever has one of the two interpretations live at a time (`use_graphics`
|
|
27
|
+
* gates it, and display_knowledge picks the tile picker or the glyph picker on
|
|
28
|
+
* the same flag, ui-knowledge.c L1052-1070) - but it means the glyph picker
|
|
29
|
+
* edits this table and the tile picker edits the TileMap, rather than both
|
|
30
|
+
* editing one array.
|
|
31
|
+
*
|
|
32
|
+
* ATTR NORMALISATION. Upstream's `d_attr` is already a uint8_t COLOUR_* code
|
|
33
|
+
* for every entity type. The port's compiled gamedata keeps the source text's
|
|
34
|
+
* spelling instead: a colour CHAR for features / kinds / traps (`"w"`), a
|
|
35
|
+
* colour NAME for flavours (`"Light Green"`), and an already-numeric attr for
|
|
36
|
+
* monster races. resetVisuals normalises all four to the numeric attr, so from
|
|
37
|
+
* here on the table is uniform exactly as the C's arrays are.
|
|
38
|
+
*
|
|
39
|
+
* Determinism: no RNG anywhere in this module.
|
|
40
|
+
*/
|
|
41
|
+
import type { Flavor, ObjectKind } from "../obj/types.js";
|
|
42
|
+
import type { MonsterRace } from "../mon/types.js";
|
|
43
|
+
import type { Feature } from "../world/feature.js";
|
|
44
|
+
import type { TrapKind } from "../world/trap.js";
|
|
45
|
+
/** One (attr, char) pair - upstream's parallel uint8_t/wchar_t slot pair. */
|
|
46
|
+
export interface GlyphPair {
|
|
47
|
+
attr: number;
|
|
48
|
+
char: string;
|
|
49
|
+
}
|
|
50
|
+
/** The gamedata reset_visuals reads its defaults out of. */
|
|
51
|
+
export interface GlyphTableDeps {
|
|
52
|
+
/** f_info, indexed by fidx (FEAT_MAX slots upstream). */
|
|
53
|
+
features: readonly Feature[];
|
|
54
|
+
/** k_info in kidx order. */
|
|
55
|
+
kinds: readonly ObjectKind[];
|
|
56
|
+
/** r_info in ridx order. */
|
|
57
|
+
races: readonly MonsterRace[];
|
|
58
|
+
/** trap_info in tidx order; null when the pack binds no traps. */
|
|
59
|
+
traps: readonly TrapKind[] | null;
|
|
60
|
+
/** The flavor list (upstream walks the `flavors` linked list by fidx). */
|
|
61
|
+
flavors: readonly Flavor[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The x_attr/x_char arrays as one object. Sparse-safe: a read for an index the
|
|
65
|
+
* gamedata never bound falls back to the caller's default rather than
|
|
66
|
+
* throwing, because upstream's arrays are FEAT_MAX / r_max / k_max long and
|
|
67
|
+
* simply hold the zeroed slot for an unbound entry.
|
|
68
|
+
*/
|
|
69
|
+
export declare class GlyphTable {
|
|
70
|
+
private readonly deps;
|
|
71
|
+
/** monster_x_attr / monster_x_char[ridx]. */
|
|
72
|
+
private readonly monster;
|
|
73
|
+
/** kind_x_attr / kind_x_char[kidx]. */
|
|
74
|
+
private readonly kind;
|
|
75
|
+
/** feat_x_attr / feat_x_char[lighting][fidx]. */
|
|
76
|
+
private readonly feat;
|
|
77
|
+
/** trap_x_attr / trap_x_char[lighting][tidx]. */
|
|
78
|
+
private readonly trap;
|
|
79
|
+
/** flavor_x_attr / flavor_x_char[fidx]. */
|
|
80
|
+
private readonly flavor;
|
|
81
|
+
constructor(deps: GlyphTableDeps);
|
|
82
|
+
/**
|
|
83
|
+
* reset_visuals(false) (ui-prefs.c L1352): re-extract every default
|
|
84
|
+
* attr/char from the gamedata, discarding any pref-file or picker override.
|
|
85
|
+
* The `load_prefs` half of the C's signature is the caller's job here (the
|
|
86
|
+
* front end re-runs its own pref load, exactly as reset_visuals(true) then
|
|
87
|
+
* calls process_pref_file("font.prf") or the tile mode's graphics pref).
|
|
88
|
+
*
|
|
89
|
+
* WART KEPT: upstream resets flavours from the CURRENT flavor list, which is
|
|
90
|
+
* the shuffled per-game one, not a canonical order - so a reset restores the
|
|
91
|
+
* glyphs this savefile was born with, not the file order.
|
|
92
|
+
*/
|
|
93
|
+
reset(): void;
|
|
94
|
+
monsterGlyph(ridx: number): GlyphPair | undefined;
|
|
95
|
+
kindGlyph(kidx: number): GlyphPair | undefined;
|
|
96
|
+
featGlyph(lighting: number, fidx: number): GlyphPair | undefined;
|
|
97
|
+
trapGlyph(lighting: number, tidx: number): GlyphPair | undefined;
|
|
98
|
+
flavorGlyph(fidx: number): GlyphPair | undefined;
|
|
99
|
+
setMonsterGlyph(ridx: number, pair: GlyphPair): void;
|
|
100
|
+
setKindGlyph(kidx: number, pair: GlyphPair): void;
|
|
101
|
+
/**
|
|
102
|
+
* parse_prefs_feat (ui-prefs.c L798-849): a `*` lighting field writes every
|
|
103
|
+
* variant, which is why this takes LIGHTING.MAX as "all".
|
|
104
|
+
*/
|
|
105
|
+
setFeatGlyph(lighting: number, fidx: number, pair: GlyphPair): void;
|
|
106
|
+
/** set_trap_graphic (ui-prefs.c L733-743), with the same `*` convention. */
|
|
107
|
+
setTrapGlyph(lighting: number, tidx: number, pair: GlyphPair): void;
|
|
108
|
+
setFlavorGlyph(fidx: number, pair: GlyphPair): void;
|
|
109
|
+
/** The gamedata this table was built from, for the dump writers' names. */
|
|
110
|
+
get gamedata(): GlyphTableDeps;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=glyph-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glyph-table.d.ts","sourceRoot":"","sources":["../../src/visuals/glyph-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,4BAA4B;IAC5B,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,4BAA4B;IAC5B,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,kEAAkE;IAClE,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IAClC,0EAA0E;IAC1E,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IAYT,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXjC,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmC;IACxD,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmC;IACxD,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAEb,IAAI,EAAE,cAAc;IAIjD;;;;;;;;;;OAUG;IACH,KAAK,IAAI,IAAI;IA0Bb,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIjD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI9C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIhE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIhE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAMhD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAIpD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAIjD;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IASnE,4EAA4E;IAC5E,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IASnE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAMnD,2EAA2E;IAC3E,IAAI,QAAQ,IAAI,cAAc,CAE7B;CACF"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The runtime attr/char override tables, ported from reference/src/ui-prefs.c
|
|
3
|
+
* (Angband 4.2.6): the `monster_x_attr` / `monster_x_char` /
|
|
4
|
+
* `kind_x_attr` / `kind_x_char` / `feat_x_attr[LIGHTING_MAX]` /
|
|
5
|
+
* `feat_x_char[LIGHTING_MAX]` / `trap_x_attr[LIGHTING_MAX]` /
|
|
6
|
+
* `trap_x_char[LIGHTING_MAX]` / `flavor_x_attr` / `flavor_x_char` globals
|
|
7
|
+
* (ui-prefs.c L46-56), their allocation (textui_prefs_init, L1427-1452) and
|
|
8
|
+
* their (re)initialisation from gamedata (reset_visuals, L1352-1421).
|
|
9
|
+
*
|
|
10
|
+
* WHY THIS IS A SEPARATE LAYER FROM THE GAMEDATA. Upstream never draws a
|
|
11
|
+
* monster with `race->d_attr`: every draw goes through the x_attr/x_char
|
|
12
|
+
* table, which merely STARTS at the gamedata default. Three things write to it
|
|
13
|
+
* after that - a pref file (`process_pref_file`'s parse_prefs_monster and
|
|
14
|
+
* friends, L602-928), the knowledge browser's glyph picker (`glyph_command`,
|
|
15
|
+
* ui-knowledge.c L597-752), and the graphics pref of the active tile mode -
|
|
16
|
+
* and four things read it back out (the map, the knowledge screens, the
|
|
17
|
+
* monster-list sidebar, and the `dump_*` pref writers). A port that reads
|
|
18
|
+
* `race.dAttr` at the draw site cannot express any of that, which is why the
|
|
19
|
+
* glyph picker and the four "Save ... attr/chars" rows were both absent.
|
|
20
|
+
*
|
|
21
|
+
* RELATIONSHIP TO TileMap (tile-prefs.ts). Upstream keeps ONE set of arrays
|
|
22
|
+
* and lets a graf-*.prf write high-bit values into them, so in graphics mode
|
|
23
|
+
* the very same slot holds an atlas (row, col) instead of an (attr, glyph).
|
|
24
|
+
* This port splits the two: TileMap holds the graphics mapping, this table
|
|
25
|
+
* holds the ASCII one. That is behaviourally equivalent because upstream only
|
|
26
|
+
* ever has one of the two interpretations live at a time (`use_graphics`
|
|
27
|
+
* gates it, and display_knowledge picks the tile picker or the glyph picker on
|
|
28
|
+
* the same flag, ui-knowledge.c L1052-1070) - but it means the glyph picker
|
|
29
|
+
* edits this table and the tile picker edits the TileMap, rather than both
|
|
30
|
+
* editing one array.
|
|
31
|
+
*
|
|
32
|
+
* ATTR NORMALISATION. Upstream's `d_attr` is already a uint8_t COLOUR_* code
|
|
33
|
+
* for every entity type. The port's compiled gamedata keeps the source text's
|
|
34
|
+
* spelling instead: a colour CHAR for features / kinds / traps (`"w"`), a
|
|
35
|
+
* colour NAME for flavours (`"Light Green"`), and an already-numeric attr for
|
|
36
|
+
* monster races. resetVisuals normalises all four to the numeric attr, so from
|
|
37
|
+
* here on the table is uniform exactly as the C's arrays are.
|
|
38
|
+
*
|
|
39
|
+
* Determinism: no RNG anywhere in this module.
|
|
40
|
+
*/
|
|
41
|
+
import { colorCharToAttr, colorTextToAttr } from "../color.js";
|
|
42
|
+
import { LIGHTING } from "./tile-prefs.js";
|
|
43
|
+
/**
|
|
44
|
+
* The x_attr/x_char arrays as one object. Sparse-safe: a read for an index the
|
|
45
|
+
* gamedata never bound falls back to the caller's default rather than
|
|
46
|
+
* throwing, because upstream's arrays are FEAT_MAX / r_max / k_max long and
|
|
47
|
+
* simply hold the zeroed slot for an unbound entry.
|
|
48
|
+
*/
|
|
49
|
+
export class GlyphTable {
|
|
50
|
+
deps;
|
|
51
|
+
/** monster_x_attr / monster_x_char[ridx]. */
|
|
52
|
+
monster = [];
|
|
53
|
+
/** kind_x_attr / kind_x_char[kidx]. */
|
|
54
|
+
kind = [];
|
|
55
|
+
/** feat_x_attr / feat_x_char[lighting][fidx]. */
|
|
56
|
+
feat = [[], [], [], []];
|
|
57
|
+
/** trap_x_attr / trap_x_char[lighting][tidx]. */
|
|
58
|
+
trap = [[], [], [], []];
|
|
59
|
+
/** flavor_x_attr / flavor_x_char[fidx]. */
|
|
60
|
+
flavor = [];
|
|
61
|
+
constructor(deps) {
|
|
62
|
+
this.deps = deps;
|
|
63
|
+
this.reset();
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* reset_visuals(false) (ui-prefs.c L1352): re-extract every default
|
|
67
|
+
* attr/char from the gamedata, discarding any pref-file or picker override.
|
|
68
|
+
* The `load_prefs` half of the C's signature is the caller's job here (the
|
|
69
|
+
* front end re-runs its own pref load, exactly as reset_visuals(true) then
|
|
70
|
+
* calls process_pref_file("font.prf") or the tile mode's graphics pref).
|
|
71
|
+
*
|
|
72
|
+
* WART KEPT: upstream resets flavours from the CURRENT flavor list, which is
|
|
73
|
+
* the shuffled per-game one, not a canonical order - so a reset restores the
|
|
74
|
+
* glyphs this savefile was born with, not the file order.
|
|
75
|
+
*/
|
|
76
|
+
reset() {
|
|
77
|
+
for (const f of this.deps.features) {
|
|
78
|
+
const pair = { attr: colorCharToAttr(f.dAttr), char: f.dChar };
|
|
79
|
+
for (let j = 0; j < LIGHTING.MAX; j++) {
|
|
80
|
+
this.feat[j][f.fidx] = { ...pair };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
for (const k of this.deps.kinds) {
|
|
84
|
+
this.kind[k.kidx] = { attr: colorCharToAttr(k.dAttr), char: k.dChar };
|
|
85
|
+
}
|
|
86
|
+
for (const r of this.deps.races) {
|
|
87
|
+
this.monster[r.ridx] = { attr: r.dAttr, char: r.dChar };
|
|
88
|
+
}
|
|
89
|
+
for (const t of this.deps.traps ?? []) {
|
|
90
|
+
const pair = { attr: colorCharToAttr(t.color), char: t.glyph };
|
|
91
|
+
for (let j = 0; j < LIGHTING.MAX; j++) {
|
|
92
|
+
this.trap[j][t.tidx] = { ...pair };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
for (const f of this.deps.flavors) {
|
|
96
|
+
this.flavor[f.fidx] = { attr: colorTextToAttr(f.dAttr), char: f.dChar };
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/* ----- reads (the draw sites and the dump writers) ----- */
|
|
100
|
+
monsterGlyph(ridx) {
|
|
101
|
+
return this.monster[ridx];
|
|
102
|
+
}
|
|
103
|
+
kindGlyph(kidx) {
|
|
104
|
+
return this.kind[kidx];
|
|
105
|
+
}
|
|
106
|
+
featGlyph(lighting, fidx) {
|
|
107
|
+
return this.feat[lighting]?.[fidx];
|
|
108
|
+
}
|
|
109
|
+
trapGlyph(lighting, tidx) {
|
|
110
|
+
return this.trap[lighting]?.[tidx];
|
|
111
|
+
}
|
|
112
|
+
flavorGlyph(fidx) {
|
|
113
|
+
return this.flavor[fidx];
|
|
114
|
+
}
|
|
115
|
+
/* ----- writes (the pref parser and the glyph picker) ----- */
|
|
116
|
+
setMonsterGlyph(ridx, pair) {
|
|
117
|
+
this.monster[ridx] = { ...pair };
|
|
118
|
+
}
|
|
119
|
+
setKindGlyph(kidx, pair) {
|
|
120
|
+
this.kind[kidx] = { ...pair };
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* parse_prefs_feat (ui-prefs.c L798-849): a `*` lighting field writes every
|
|
124
|
+
* variant, which is why this takes LIGHTING.MAX as "all".
|
|
125
|
+
*/
|
|
126
|
+
setFeatGlyph(lighting, fidx, pair) {
|
|
127
|
+
if (lighting === LIGHTING.MAX) {
|
|
128
|
+
for (let j = 0; j < LIGHTING.MAX; j++)
|
|
129
|
+
this.feat[j][fidx] = { ...pair };
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const row = this.feat[lighting];
|
|
133
|
+
if (row)
|
|
134
|
+
row[fidx] = { ...pair };
|
|
135
|
+
}
|
|
136
|
+
/** set_trap_graphic (ui-prefs.c L733-743), with the same `*` convention. */
|
|
137
|
+
setTrapGlyph(lighting, tidx, pair) {
|
|
138
|
+
if (lighting === LIGHTING.MAX) {
|
|
139
|
+
for (let j = 0; j < LIGHTING.MAX; j++)
|
|
140
|
+
this.trap[j][tidx] = { ...pair };
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const row = this.trap[lighting];
|
|
144
|
+
if (row)
|
|
145
|
+
row[tidx] = { ...pair };
|
|
146
|
+
}
|
|
147
|
+
setFlavorGlyph(fidx, pair) {
|
|
148
|
+
this.flavor[fidx] = { ...pair };
|
|
149
|
+
}
|
|
150
|
+
/* ----- enumeration (the dump_* writers walk the whole table) ----- */
|
|
151
|
+
/** The gamedata this table was built from, for the dump writers' names. */
|
|
152
|
+
get gamedata() {
|
|
153
|
+
return this.deps;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=glyph-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glyph-table.js","sourceRoot":"","sources":["../../src/visuals/glyph-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grafmode-data.d.ts","sourceRoot":"","sources":["../../src/visuals/grafmode-data.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,EAAE,SAAS,YAAY,EAyExD,CAAC"}
|