@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,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monster timed effects, ported from reference/src/mon-timed.c (Angband
|
|
3
|
+
* 4.2.6): the resist roll, mon_set_timed, and the inc/dec/clear wrappers that
|
|
4
|
+
* drive a monster's m_timed[] array (sleep, stun, confusion, fear, slow,
|
|
5
|
+
* haste, hold, disenchant, command, shapechange).
|
|
6
|
+
*
|
|
7
|
+
* The effect table (gets_save / stacking / resist flag / max timer / begin-
|
|
8
|
+
* end-increase messages) is the generated MON_TIMED_ENTRIES (from
|
|
9
|
+
* list-mon-timed.h). Two upstream couplings are handled as follows, both
|
|
10
|
+
* faithful in reachable states:
|
|
11
|
+
* - Messages: the monster-message queue (mon-msg.c add_monster_message) is not
|
|
12
|
+
* ported, so mon_set_timed emits through an optional MonTimedMessageSink
|
|
13
|
+
* instead. The decision of WHICH message fires (and its NOTIFY/NOMESSAGE/
|
|
14
|
+
* visibility gate) is preserved exactly; callers that have a sink pass one.
|
|
15
|
+
* - MON_TMD_CHANGED shapechange (monster_change_shape / _revert_shape,
|
|
16
|
+
* mon-util.c) is DEFERRED: the timer is still set, but the form is not
|
|
17
|
+
* swapped. CHANGED is only set by an effect that is not ported yet, so this
|
|
18
|
+
* path is currently unreachable.
|
|
19
|
+
*
|
|
20
|
+
* The lore learn on a flag-resist (lore_learn_flag_if_visible) and the
|
|
21
|
+
* health-bar / monster-list redraw (upkeep masks) are UI/lore concerns and are
|
|
22
|
+
* DEFERRED.
|
|
23
|
+
*/
|
|
24
|
+
import { MON_TIMED_ENTRIES, RF } from "../generated/index.js";
|
|
25
|
+
import { MON_TMD } from "../generated/index.js";
|
|
26
|
+
import { monsterIsObvious, monsterIsUnique } from "./predicate.js";
|
|
27
|
+
import { getLore, loreLearnFlagIfVisible } from "./lore.js";
|
|
28
|
+
/** mon-timed.h flags. */
|
|
29
|
+
export const MON_TMD_FLG_NOTIFY = 0x01;
|
|
30
|
+
export const MON_TMD_FLG_NOMESSAGE = 0x04;
|
|
31
|
+
export const MON_TMD_FLG_NOFAIL = 0x08;
|
|
32
|
+
/** Minimum number of turns a new timed effect can last (MON_INC_MIN_TURNS). */
|
|
33
|
+
const MON_INC_MIN_TURNS = 2;
|
|
34
|
+
/** Resolve an effect entry's resistFlag ("RF_NO_SLEEP" | 0) to an RF index. */
|
|
35
|
+
function resistFlagIndex(resistFlag) {
|
|
36
|
+
if (typeof resistFlag !== "string")
|
|
37
|
+
return -1;
|
|
38
|
+
const key = resistFlag.replace(/^RF_/, "");
|
|
39
|
+
const idx = RF[key];
|
|
40
|
+
return typeof idx === "number" ? idx : -1;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* mon_timed_name_to_idx: the MON_TMD_ index for an effect name, or -1.
|
|
44
|
+
*/
|
|
45
|
+
export function monTimedNameToIdx(name) {
|
|
46
|
+
for (let i = 0; i < MON_TMD.MAX; i++) {
|
|
47
|
+
if (MON_TIMED_ENTRIES[i]?.name === name)
|
|
48
|
+
return i;
|
|
49
|
+
}
|
|
50
|
+
return -1;
|
|
51
|
+
}
|
|
52
|
+
/** saving_throw: level- and timer-scaled resist, doubled for uniques. */
|
|
53
|
+
function savingThrow(rng, mon, timer) {
|
|
54
|
+
const resistChance = Math.min(90, mon.race.level + Math.max(0, 25 - Math.trunc(timer / 2)));
|
|
55
|
+
/* Give unique monsters a double check. */
|
|
56
|
+
if (monsterIsUnique(mon) && rng.randint0(100) < resistChance)
|
|
57
|
+
return true;
|
|
58
|
+
return rng.randint0(100) < resistChance;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The lore store the resist branch learns into (lore_learn_flag_if_visible,
|
|
62
|
+
* mon-timed.c L108). does_resist has no deps parameter upstream (get_lore is a
|
|
63
|
+
* global), so the port registers the session's store against its Rng - the one
|
|
64
|
+
* shared object every timed call threads - via installMonTimedLore. Worldless
|
|
65
|
+
* harnesses that never install one simply skip the lore learn (the pre-port
|
|
66
|
+
* behaviour); the resist outcome is identical either way.
|
|
67
|
+
*/
|
|
68
|
+
const TIMED_LORE_STORES = new WeakMap();
|
|
69
|
+
/** Register the lore store learning timed-resist flags for this rng/session. */
|
|
70
|
+
export function installMonTimedLore(rng, lore) {
|
|
71
|
+
TIMED_LORE_STORES.set(rng, lore);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* does_resist (mon-timed.c L89): NOFAIL override, then flag immunity (learning
|
|
75
|
+
* the resist flag into visible lore, mon-timed.c L107-110), then the save.
|
|
76
|
+
*/
|
|
77
|
+
function doesResist(rng, mon, effectType, timer, flag) {
|
|
78
|
+
const effect = MON_TIMED_ENTRIES[effectType];
|
|
79
|
+
/* The game can override the monster's innate resistance. */
|
|
80
|
+
if (flag & MON_TMD_FLG_NOFAIL)
|
|
81
|
+
return false;
|
|
82
|
+
/* Check resistances from monster flags: a visible monster shrugging the
|
|
83
|
+
* effect off via its race flag teaches that flag. */
|
|
84
|
+
const rflag = resistFlagIndex(effect.resistFlag);
|
|
85
|
+
if (rflag >= 0 && mon.race.flags.has(rflag)) {
|
|
86
|
+
const store = TIMED_LORE_STORES.get(rng);
|
|
87
|
+
if (store)
|
|
88
|
+
loreLearnFlagIfVisible(getLore(store, mon.race), mon, rflag);
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
/* Some effects get a saving throw; others do not. */
|
|
92
|
+
return effect.save ? savingThrow(rng, mon, timer) : false;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* mon_set_timed: set effect `effectType`'s timer to `timer`, honouring
|
|
96
|
+
* resistance, the begin/end/increase message selection, and the COMMAND-expiry
|
|
97
|
+
* and CHANGED special cases. Returns true if the monster was affected.
|
|
98
|
+
*/
|
|
99
|
+
export function monSetTimed(rng, mon, effectType, timer, flag = 0, onMessage, shape) {
|
|
100
|
+
const effect = MON_TIMED_ENTRIES[effectType];
|
|
101
|
+
const oldTimer = mon.mTimed[effectType];
|
|
102
|
+
let resisted = false;
|
|
103
|
+
let update = false;
|
|
104
|
+
let checkResist;
|
|
105
|
+
let note = 0;
|
|
106
|
+
/* Limit the time of the effect. */
|
|
107
|
+
if (timer > effect.time)
|
|
108
|
+
timer = effect.time;
|
|
109
|
+
/* No change. */
|
|
110
|
+
if (oldTimer === timer) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
else if (timer === 0) {
|
|
114
|
+
/* Turning off, usually mention. */
|
|
115
|
+
note = effect.messageEnd;
|
|
116
|
+
flag |= MON_TMD_FLG_NOTIFY;
|
|
117
|
+
checkResist = false;
|
|
118
|
+
/* Necromancer COMMAND expiring: drop the stale monster -> monster target. */
|
|
119
|
+
if (effectType === MON_TMD.COMMAND)
|
|
120
|
+
mon.target.midx = 0;
|
|
121
|
+
}
|
|
122
|
+
else if (oldTimer === 0) {
|
|
123
|
+
/* Turning on, usually mention. */
|
|
124
|
+
note = effect.messageBegin;
|
|
125
|
+
flag |= MON_TMD_FLG_NOTIFY;
|
|
126
|
+
checkResist = true;
|
|
127
|
+
}
|
|
128
|
+
else if (timer > oldTimer) {
|
|
129
|
+
/* Increase: a different message, but do not auto-mention. */
|
|
130
|
+
note = effect.messageIncrease;
|
|
131
|
+
checkResist = true;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
/* Decreases get no message and never resist. */
|
|
135
|
+
checkResist = false;
|
|
136
|
+
}
|
|
137
|
+
/* Resolve resistance, when appropriate. */
|
|
138
|
+
if (checkResist && doesResist(rng, mon, effectType, timer, flag)) {
|
|
139
|
+
resisted = true;
|
|
140
|
+
note = "MON_MSG_UNAFFECTED";
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
mon.mTimed[effectType] = timer;
|
|
144
|
+
update = true;
|
|
145
|
+
}
|
|
146
|
+
/* Special case - deal with monster shapechanges (mon-timed.c L195).
|
|
147
|
+
* The swap functions live in game/mon-shape.ts; the game-layer timed
|
|
148
|
+
* calls pass them as hooks (the layering keeps this module below
|
|
149
|
+
* game/). Without hooks, the timer stands and the form is unchanged. */
|
|
150
|
+
if (effectType === MON_TMD.CHANGED && shape) {
|
|
151
|
+
if (timer > oldTimer) {
|
|
152
|
+
if (!shape.change(mon)) {
|
|
153
|
+
note = "MON_MSG_SHAPE_FAIL";
|
|
154
|
+
mon.mTimed[effectType] = oldTimer;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else if (timer === 0) {
|
|
158
|
+
shape.revert(mon);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/* Queue a message if there is one, it is allowed, and the monster is seen. */
|
|
162
|
+
if (note &&
|
|
163
|
+
!(flag & MON_TMD_FLG_NOMESSAGE) &&
|
|
164
|
+
flag & MON_TMD_FLG_NOTIFY &&
|
|
165
|
+
monsterIsObvious(mon)) {
|
|
166
|
+
onMessage?.(mon, String(note), true);
|
|
167
|
+
}
|
|
168
|
+
/* update -> health-bar / monster-list redraw is UI upkeep (DEFERRED). */
|
|
169
|
+
void update;
|
|
170
|
+
return !resisted;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* mon_inc_timed: raise effect `effectType` by `timer` (min 2 turns for a new
|
|
174
|
+
* effect), stacking per the effect's rule, then mon_set_timed.
|
|
175
|
+
*/
|
|
176
|
+
export function monIncTimed(rng, mon, effectType, timer, flag = 0, onMessage, shape) {
|
|
177
|
+
const effect = MON_TIMED_ENTRIES[effectType];
|
|
178
|
+
/* Make a new effect last a minimum number of turns. */
|
|
179
|
+
if (mon.mTimed[effectType] === 0 && timer < MON_INC_MIN_TURNS) {
|
|
180
|
+
timer = MON_INC_MIN_TURNS;
|
|
181
|
+
}
|
|
182
|
+
let newValue = timer;
|
|
183
|
+
switch (effect.stack) {
|
|
184
|
+
case "NO":
|
|
185
|
+
newValue = mon.mTimed[effectType] === 0 ? timer : mon.mTimed[effectType];
|
|
186
|
+
break;
|
|
187
|
+
case "MAX":
|
|
188
|
+
newValue = Math.max(mon.mTimed[effectType], timer);
|
|
189
|
+
break;
|
|
190
|
+
case "INCR":
|
|
191
|
+
newValue = mon.mTimed[effectType] + timer;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
return monSetTimed(rng, mon, effectType, newValue, flag, onMessage, shape);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* mon_dec_timed: lower effect `effectType` by `timer` (never below 0). A
|
|
198
|
+
* decrease never fails.
|
|
199
|
+
*/
|
|
200
|
+
export function monDecTimed(rng, mon, effectType, timer, flag = 0, onMessage, shape) {
|
|
201
|
+
const newLevel = Math.max(0, mon.mTimed[effectType] - timer);
|
|
202
|
+
return monSetTimed(rng, mon, effectType, newLevel, flag, onMessage, shape);
|
|
203
|
+
}
|
|
204
|
+
/** mon_clear_timed: clear effect `effectType` (no-op if already 0). */
|
|
205
|
+
export function monClearTimed(rng, mon, effectType, flag = 0, onMessage, shape) {
|
|
206
|
+
if (mon.mTimed[effectType] === 0)
|
|
207
|
+
return false;
|
|
208
|
+
return monSetTimed(rng, mon, effectType, 0, flag, onMessage, shape);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* monster_effect_level: the 0 (unaffected) .. 5 (max) intensity band an effect
|
|
212
|
+
* is currently at for the monster.
|
|
213
|
+
*/
|
|
214
|
+
export function monsterEffectLevel(mon, effectType) {
|
|
215
|
+
const effect = MON_TIMED_ENTRIES[effectType];
|
|
216
|
+
const divisor = Math.max(Math.trunc(effect.time / 5), 1);
|
|
217
|
+
return Math.min(Math.trunc((mon.mTimed[effectType] + divisor - 1) / divisor), 5);
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=timed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timed.js","sourceRoot":"","sources":["../../src/mon/timed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monster domain types, ported from reference/src/monster.h and
|
|
3
|
+
* reference/src/mon-blows.h (Angband 4.2.6).
|
|
4
|
+
*
|
|
5
|
+
* These are the bound, typed shapes produced by bind.ts from the compiled
|
|
6
|
+
* pack JSON (monster.json, monster_base.json, monster_spell.json,
|
|
7
|
+
* blow_methods.json, blow_effects.json, pain.json, summon.json, pit.json).
|
|
8
|
+
* World coupling stays out of this module: races reference each other and
|
|
9
|
+
* their bases directly, but objects (mimic kinds, drops) are kept as tval
|
|
10
|
+
* and sval names, to be resolved by the object domain later.
|
|
11
|
+
*/
|
|
12
|
+
import type { FlagSet } from "../bitflag.js";
|
|
13
|
+
import type { Dice } from "../dice.js";
|
|
14
|
+
/** Byte size of a race FlagSet (upstream RF_SIZE = FLAG_SIZE(RF_MAX)). */
|
|
15
|
+
export declare const RF_SIZE: number;
|
|
16
|
+
/** Byte size of a spell FlagSet (upstream RSF_SIZE = FLAG_SIZE(RSF_MAX)). */
|
|
17
|
+
export declare const RSF_SIZE: number;
|
|
18
|
+
/** Byte size of a temp-flag FlagSet (upstream MFLAG_SIZE). */
|
|
19
|
+
export declare const MFLAG_SIZE: number;
|
|
20
|
+
/**
|
|
21
|
+
* struct monster_pain: one pain-message family; pain.txt `type` values are
|
|
22
|
+
* the pain_idx keys monster_base pain: refers to.
|
|
23
|
+
*/
|
|
24
|
+
export interface Pain {
|
|
25
|
+
painIdx: number;
|
|
26
|
+
/** Up to seven messages, ordered from least to most hurt. */
|
|
27
|
+
messages: string[];
|
|
28
|
+
}
|
|
29
|
+
/** struct blow_method (mon-blows.h), bound from blow_methods.json. */
|
|
30
|
+
export interface BlowMethod {
|
|
31
|
+
name: string;
|
|
32
|
+
cut: boolean;
|
|
33
|
+
stun: boolean;
|
|
34
|
+
miss: boolean;
|
|
35
|
+
phys: boolean;
|
|
36
|
+
/** MSG_ type name (upstream stores the resolved msgt int). */
|
|
37
|
+
msgt: string;
|
|
38
|
+
/** Action messages ({target} substitution done by combat code later). */
|
|
39
|
+
messages: string[];
|
|
40
|
+
desc: string;
|
|
41
|
+
}
|
|
42
|
+
/** struct blow_effect (mon-blows.h), bound from blow_effects.json. */
|
|
43
|
+
export interface BlowEffect {
|
|
44
|
+
name: string;
|
|
45
|
+
power: number;
|
|
46
|
+
eval: number;
|
|
47
|
+
desc: string;
|
|
48
|
+
/** Lore colors kept as color names (upstream resolves to attrs). */
|
|
49
|
+
loreColorBase: string;
|
|
50
|
+
loreColorResist: string;
|
|
51
|
+
loreColorImmune: string;
|
|
52
|
+
effectType: string;
|
|
53
|
+
/** Element name for resist checks (upstream resolves to an index). */
|
|
54
|
+
resist: string | null;
|
|
55
|
+
/** Projection type name used by LASH. */
|
|
56
|
+
lashType: string | null;
|
|
57
|
+
}
|
|
58
|
+
/** struct monster_blow: one melee blow of a race. */
|
|
59
|
+
export interface MonsterBlow {
|
|
60
|
+
method: BlowMethod;
|
|
61
|
+
effect: BlowEffect;
|
|
62
|
+
/** Damage dice, or null when the blow has no damage (upstream zero rand). */
|
|
63
|
+
dice: Dice | null;
|
|
64
|
+
/** The raw damage string from monster.txt, e.g. "20d10", or null. */
|
|
65
|
+
diceRaw: string | null;
|
|
66
|
+
}
|
|
67
|
+
/** One effect line of a monster spell (kept close to the pack record). */
|
|
68
|
+
export interface MonsterSpellEffect {
|
|
69
|
+
eff: string;
|
|
70
|
+
type: string | null;
|
|
71
|
+
radius: number;
|
|
72
|
+
other: number;
|
|
73
|
+
/** Parsed dice (expressions bound where present), or null. */
|
|
74
|
+
dice: Dice | null;
|
|
75
|
+
diceRaw: string | null;
|
|
76
|
+
/** expr bindings as written: name, base value name, operations string. */
|
|
77
|
+
exprs: Array<{
|
|
78
|
+
name: string;
|
|
79
|
+
base: string;
|
|
80
|
+
expr: string;
|
|
81
|
+
}>;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* struct monster_spell_level: power-cutoff dependent lore and messages.
|
|
85
|
+
* The first level always has power 0; power-cutoff directives append more.
|
|
86
|
+
*/
|
|
87
|
+
export interface MonsterSpellLevel {
|
|
88
|
+
power: number;
|
|
89
|
+
loreDesc: string;
|
|
90
|
+
loreColorBase: string;
|
|
91
|
+
loreColorResist: string;
|
|
92
|
+
loreColorImmune: string;
|
|
93
|
+
message: string;
|
|
94
|
+
blindMessage: string;
|
|
95
|
+
missMessage: string;
|
|
96
|
+
saveMessage: string;
|
|
97
|
+
}
|
|
98
|
+
/** struct monster_spell: one RSF_ spell bound from monster_spell.json. */
|
|
99
|
+
export interface MonsterSpell {
|
|
100
|
+
/** RSF_ index. */
|
|
101
|
+
index: number;
|
|
102
|
+
name: string;
|
|
103
|
+
/** MSG_ type name for message coloring. */
|
|
104
|
+
msgt: string;
|
|
105
|
+
/** To-hit level of the attack. */
|
|
106
|
+
hit: number;
|
|
107
|
+
effects: MonsterSpellEffect[];
|
|
108
|
+
levels: MonsterSpellLevel[];
|
|
109
|
+
}
|
|
110
|
+
/** struct monster_base: race template bound from monster_base.json. */
|
|
111
|
+
export interface MonsterBase {
|
|
112
|
+
name: string;
|
|
113
|
+
/** In-game name (desc line). */
|
|
114
|
+
text: string;
|
|
115
|
+
flags: FlagSet;
|
|
116
|
+
/** Default display glyph. */
|
|
117
|
+
glyph: string;
|
|
118
|
+
pain: Pain;
|
|
119
|
+
}
|
|
120
|
+
/** enum monster_group_role. */
|
|
121
|
+
export declare const MON_GROUP: {
|
|
122
|
+
readonly LEADER: 0;
|
|
123
|
+
readonly SERVANT: 1;
|
|
124
|
+
readonly BODYGUARD: 2;
|
|
125
|
+
readonly MEMBER: 3;
|
|
126
|
+
readonly SUMMON: 4;
|
|
127
|
+
};
|
|
128
|
+
export type MonsterGroupRole = (typeof MON_GROUP)[keyof typeof MON_GROUP];
|
|
129
|
+
/** struct monster_friends: specific-race companion line. */
|
|
130
|
+
export interface MonsterFriends {
|
|
131
|
+
/** Raw name; "same" binds to the owning race. */
|
|
132
|
+
name: string;
|
|
133
|
+
/** Resolved after all races bind. */
|
|
134
|
+
race: MonsterRace | null;
|
|
135
|
+
role: MonsterGroupRole;
|
|
136
|
+
percentChance: number;
|
|
137
|
+
numberDice: number;
|
|
138
|
+
numberSide: number;
|
|
139
|
+
}
|
|
140
|
+
/** struct monster_friends_base: base-template companion line. */
|
|
141
|
+
export interface MonsterFriendsBase {
|
|
142
|
+
base: MonsterBase;
|
|
143
|
+
role: MonsterGroupRole;
|
|
144
|
+
percentChance: number;
|
|
145
|
+
numberDice: number;
|
|
146
|
+
numberSide: number;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* struct monster_drop, minimal model: object kinds stay unresolved names
|
|
150
|
+
* until the object domain binds them (drop-base lines have sval null).
|
|
151
|
+
*/
|
|
152
|
+
export interface MonsterDrop {
|
|
153
|
+
tval: string;
|
|
154
|
+
sval: string | null;
|
|
155
|
+
percentChance: number;
|
|
156
|
+
min: number;
|
|
157
|
+
max: number;
|
|
158
|
+
}
|
|
159
|
+
/** struct monster_mimic, minimal: kind kept as tval/sval names. */
|
|
160
|
+
export interface MonsterMimic {
|
|
161
|
+
tval: string;
|
|
162
|
+
sval: string;
|
|
163
|
+
}
|
|
164
|
+
/** struct monster_shape: race resolved second-pass; base wins if it names one. */
|
|
165
|
+
export interface MonsterShape {
|
|
166
|
+
name: string;
|
|
167
|
+
race: MonsterRace | null;
|
|
168
|
+
base: MonsterBase | null;
|
|
169
|
+
}
|
|
170
|
+
/** struct monster_altmsg: per-race override of a spell message. */
|
|
171
|
+
export type MonsterAltMsgType = "seen" | "unseen" | "miss";
|
|
172
|
+
export interface MonsterAltMsg {
|
|
173
|
+
/** RSF_ index of the spell. */
|
|
174
|
+
index: number;
|
|
175
|
+
msgType: MonsterAltMsgType;
|
|
176
|
+
message: string;
|
|
177
|
+
}
|
|
178
|
+
/** struct monster_race (monster.h), bound from monster.json. */
|
|
179
|
+
export interface MonsterRace {
|
|
180
|
+
/** Index in the race array; record order mirrors monster.txt. */
|
|
181
|
+
ridx: number;
|
|
182
|
+
name: string;
|
|
183
|
+
text: string;
|
|
184
|
+
plural: string | null;
|
|
185
|
+
base: MonsterBase;
|
|
186
|
+
/** Average hit points (4.2 stores avg_hp, not hdice). */
|
|
187
|
+
avgHp: number;
|
|
188
|
+
ac: number;
|
|
189
|
+
sleep: number;
|
|
190
|
+
/** Scaled by max_sight / 20 at bind time, as parse_monster_hearing. */
|
|
191
|
+
hearing: number;
|
|
192
|
+
smell: number;
|
|
193
|
+
speed: number;
|
|
194
|
+
light: number;
|
|
195
|
+
mexp: number;
|
|
196
|
+
/** Stored as 100 / pct like upstream freq_innate / freq_spell. */
|
|
197
|
+
freqInnate: number;
|
|
198
|
+
freqSpell: number;
|
|
199
|
+
/** Defaults to level; overridden by spell-power. */
|
|
200
|
+
spellPower: number;
|
|
201
|
+
flags: FlagSet;
|
|
202
|
+
spellFlags: FlagSet;
|
|
203
|
+
blows: MonsterBlow[];
|
|
204
|
+
level: number;
|
|
205
|
+
rarity: number;
|
|
206
|
+
/** Display attr (COLOUR_ index) and glyph. */
|
|
207
|
+
dAttr: number;
|
|
208
|
+
dChar: string;
|
|
209
|
+
/** Population cap: 100, or 1 for uniques (player-birth.c). */
|
|
210
|
+
maxNum: number;
|
|
211
|
+
/** Mutable per-level population count. */
|
|
212
|
+
curNum: number;
|
|
213
|
+
spellMsgs: MonsterAltMsg[];
|
|
214
|
+
drops: MonsterDrop[];
|
|
215
|
+
friends: MonsterFriends[];
|
|
216
|
+
friendsBase: MonsterFriendsBase[];
|
|
217
|
+
mimicKinds: MonsterMimic[];
|
|
218
|
+
shapes: MonsterShape[];
|
|
219
|
+
}
|
|
220
|
+
/** summon.txt record, loaded with minimal binding (details deferred). */
|
|
221
|
+
export interface SummonType {
|
|
222
|
+
name: string;
|
|
223
|
+
msgt: string;
|
|
224
|
+
uniquesAllowed: boolean;
|
|
225
|
+
baseNames: string[];
|
|
226
|
+
raceFlag: string | null;
|
|
227
|
+
fallbackName: string | null;
|
|
228
|
+
desc: string;
|
|
229
|
+
}
|
|
230
|
+
/** pit.txt record, loaded with minimal binding (details deferred). */
|
|
231
|
+
export interface PitProfile {
|
|
232
|
+
name: string;
|
|
233
|
+
room: number;
|
|
234
|
+
allocRarity: number;
|
|
235
|
+
allocLevel: number;
|
|
236
|
+
objRarity: number;
|
|
237
|
+
baseNames: string[];
|
|
238
|
+
colors: string[];
|
|
239
|
+
flagsReq: string[];
|
|
240
|
+
flagsBan: string[];
|
|
241
|
+
spellReq: string[];
|
|
242
|
+
spellBan: string[];
|
|
243
|
+
monBan: string[];
|
|
244
|
+
freqInnate: number;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* The RSF_ index whose list-mon-spells.h type expression contains any of
|
|
248
|
+
* the given RST_ names (create_mon_spell_mask). Entry i of
|
|
249
|
+
* MON_SPELL_ENTRIES is RSF value i.
|
|
250
|
+
*/
|
|
251
|
+
export declare function monSpellsOfTypes(...types: string[]): number[];
|
|
252
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mon/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monster domain types, ported from reference/src/monster.h and
|
|
3
|
+
* reference/src/mon-blows.h (Angband 4.2.6).
|
|
4
|
+
*
|
|
5
|
+
* These are the bound, typed shapes produced by bind.ts from the compiled
|
|
6
|
+
* pack JSON (monster.json, monster_base.json, monster_spell.json,
|
|
7
|
+
* blow_methods.json, blow_effects.json, pain.json, summon.json, pit.json).
|
|
8
|
+
* World coupling stays out of this module: races reference each other and
|
|
9
|
+
* their bases directly, but objects (mimic kinds, drops) are kept as tval
|
|
10
|
+
* and sval names, to be resolved by the object domain later.
|
|
11
|
+
*/
|
|
12
|
+
import { MON_RACE_FLAG_ENTRIES, MON_SPELL_ENTRIES, MON_TEMP_FLAG_ENTRIES, } from "../generated/index.js";
|
|
13
|
+
import { flagSize } from "../bitflag.js";
|
|
14
|
+
import { RSF } from "../generated/index.js";
|
|
15
|
+
/** Byte size of a race FlagSet (upstream RF_SIZE = FLAG_SIZE(RF_MAX)). */
|
|
16
|
+
export const RF_SIZE = flagSize(MON_RACE_FLAG_ENTRIES.length);
|
|
17
|
+
/** Byte size of a spell FlagSet (upstream RSF_SIZE = FLAG_SIZE(RSF_MAX)). */
|
|
18
|
+
export const RSF_SIZE = flagSize(RSF.MAX);
|
|
19
|
+
/** Byte size of a temp-flag FlagSet (upstream MFLAG_SIZE). */
|
|
20
|
+
export const MFLAG_SIZE = flagSize(MON_TEMP_FLAG_ENTRIES.length);
|
|
21
|
+
/** enum monster_group_role. */
|
|
22
|
+
export const MON_GROUP = {
|
|
23
|
+
LEADER: 0,
|
|
24
|
+
SERVANT: 1,
|
|
25
|
+
BODYGUARD: 2,
|
|
26
|
+
MEMBER: 3,
|
|
27
|
+
SUMMON: 4,
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* The RSF_ index whose list-mon-spells.h type expression contains any of
|
|
31
|
+
* the given RST_ names (create_mon_spell_mask). Entry i of
|
|
32
|
+
* MON_SPELL_ENTRIES is RSF value i.
|
|
33
|
+
*/
|
|
34
|
+
export function monSpellsOfTypes(...types) {
|
|
35
|
+
const out = [];
|
|
36
|
+
for (let i = 0; i < MON_SPELL_ENTRIES.length; i++) {
|
|
37
|
+
const entry = MON_SPELL_ENTRIES[i];
|
|
38
|
+
if (!entry || typeof entry.type !== "string")
|
|
39
|
+
continue;
|
|
40
|
+
const parts = entry.type.split("|").map((s) => s.trim());
|
|
41
|
+
if (types.some((t) => parts.includes(t)))
|
|
42
|
+
out.push(i);
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mon/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAE9D,6EAA6E;AAC7E,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,8DAA8D;AAC9D,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AA0GjE,+BAA+B;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;CACD,CAAC;AAiIX;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAG,KAAe;IACjD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/msg.d.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Message handling, ported from reference/src/message.c and message.h
|
|
3
|
+
* (Angband 4.2.6).
|
|
4
|
+
*
|
|
5
|
+
* MessageLog stores the rolling log (most recent first, duplicate
|
|
6
|
+
* squashing with counts, capacity 2048). Messages is the engine-facing
|
|
7
|
+
* facade: msg()/msgt() add to the log and signal the event bus; sound()
|
|
8
|
+
* and bell() are event-only. Message types are numeric MSG_* indices
|
|
9
|
+
* (the generated list-message module supplies names); colors are numeric
|
|
10
|
+
* COLOUR_* indices as upstream.
|
|
11
|
+
*
|
|
12
|
+
* Not ported here: message_lookup_by_name / by_sound_name (they need the
|
|
13
|
+
* generated list-message table; they land with the pref-file loader).
|
|
14
|
+
* C's printf-style formatting is dropped; callers use template strings.
|
|
15
|
+
*/
|
|
16
|
+
import type { GameEvents } from "./events.js";
|
|
17
|
+
/** A message type as it appears at engine call sites or after codegen. */
|
|
18
|
+
export type MessageType = number | string;
|
|
19
|
+
/** MSG_GENERIC: the default message type (index 0 of list-message.h). */
|
|
20
|
+
export declare const MSG_GENERIC = 0;
|
|
21
|
+
/** The rolling message memory (msgqueue_t). */
|
|
22
|
+
export declare class MessageLog {
|
|
23
|
+
private max;
|
|
24
|
+
/** Newest first, index 0 = age 0 (upstream walks head -> older). */
|
|
25
|
+
private entries;
|
|
26
|
+
private colors;
|
|
27
|
+
constructor(max?: number);
|
|
28
|
+
/** messages_num. */
|
|
29
|
+
num(): number;
|
|
30
|
+
/**
|
|
31
|
+
* message_add: append, or bump the count when identical to the newest
|
|
32
|
+
* entry (count saturates at 0xFFFF exactly like the uint16_t check).
|
|
33
|
+
*/
|
|
34
|
+
add(str: string, type: number): void;
|
|
35
|
+
/** message_str: text of the message of the given age ("" if absent). */
|
|
36
|
+
str(age: number): string;
|
|
37
|
+
/** message_count: repeat count of the message of the given age. */
|
|
38
|
+
count(age: number): number;
|
|
39
|
+
/** message_type. */
|
|
40
|
+
type(age: number): number;
|
|
41
|
+
/** message_color. */
|
|
42
|
+
color(age: number): number;
|
|
43
|
+
/** message_color_define. */
|
|
44
|
+
colorDefine(type: number, color: number): void;
|
|
45
|
+
/** message_type_color: COLOUR_DARK means "unset" and yields white. */
|
|
46
|
+
typeColor(type: number): number;
|
|
47
|
+
}
|
|
48
|
+
/** MSG_BELL index in list-message.h; bell() signals with this type. */
|
|
49
|
+
export declare const MSG_BELL: 26;
|
|
50
|
+
/**
|
|
51
|
+
* The msg()/msgt()/sound()/bell() facade: adds to the log and signals the
|
|
52
|
+
* event bus, honoring the use_sound option via an injected getter.
|
|
53
|
+
*/
|
|
54
|
+
export declare class Messages {
|
|
55
|
+
readonly log: MessageLog;
|
|
56
|
+
private events;
|
|
57
|
+
private soundEnabled;
|
|
58
|
+
constructor(log: MessageLog, events: GameEvents, soundEnabled?: () => boolean);
|
|
59
|
+
/** msg: log with MSG_GENERIC and signal EVENT_MESSAGE. */
|
|
60
|
+
msg(text: string): void;
|
|
61
|
+
/** msgt: log with a type, make the type's sound, signal EVENT_MESSAGE. */
|
|
62
|
+
msgt(type: number, text: string): void;
|
|
63
|
+
/**
|
|
64
|
+
* sound: EVENT_SOUND only, gated by the use_sound option. The payload's
|
|
65
|
+
* message is null, not "" -- message.c:374 passes NULL.
|
|
66
|
+
*/
|
|
67
|
+
sound(type: number): void;
|
|
68
|
+
/** bell: EVENT_BELL, likewise with a NULL message (message.c:381). */
|
|
69
|
+
bell(): void;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=msg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"msg.d.ts","sourceRoot":"","sources":["../src/msg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,WAAW,IAAI,CAAC;AAmB7B,+CAA+C;AAC/C,qBAAa,UAAU;IAOT,OAAO,CAAC,GAAG;IANvB,oEAAoE;IACpE,OAAO,CAAC,OAAO,CAAkB;IAGjC,OAAO,CAAC,MAAM,CAAmC;gBAE7B,GAAG,SAAO;IAE9B,oBAAoB;IACpB,GAAG,IAAI,MAAM;IAIb;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAUpC,wEAAwE;IACxE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxB,mEAAmE;IACnE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI1B,oBAAoB;IACpB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzB,qBAAqB;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAK1B,4BAA4B;IAC5B,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9C,sEAAsE;IACtE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAIhC;AAED,uEAAuE;AACvE,eAAO,MAAM,QAAQ,IAAW,CAAC;AAEjC;;;GAGG;AACH,qBAAa,QAAQ;IAEjB,QAAQ,CAAC,GAAG,EAAE,UAAU;IACxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;gBAFX,GAAG,EAAE,UAAU,EAChB,MAAM,EAAE,UAAU,EAClB,YAAY,GAAE,MAAM,OAAqB;IAGnD,0DAA0D;IAC1D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKvB,0EAA0E;IAC1E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAMtC;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKzB,sEAAsE;IACtE,IAAI,IAAI,IAAI;CAGb"}
|