@rpgm-tools/neo-angband-core 0.18.0 → 0.19.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/README.md +1 -1
- package/dist/agent/perceive.d.ts.map +1 -1
- package/dist/agent/perceive.js +2 -2
- package/dist/agent/perceive.js.map +1 -1
- package/dist/combat/blow-vectors.d.ts +78 -0
- package/dist/combat/blow-vectors.d.ts.map +1 -0
- package/dist/combat/blow-vectors.fixtures.d.ts +19 -0
- package/dist/combat/blow-vectors.fixtures.d.ts.map +1 -0
- package/dist/combat/blow-vectors.fixtures.js +81 -0
- package/dist/combat/blow-vectors.fixtures.js.map +1 -0
- package/dist/combat/blow-vectors.js +195 -0
- package/dist/combat/blow-vectors.js.map +1 -0
- package/dist/combat/brand-slay.d.ts +22 -9
- package/dist/combat/brand-slay.d.ts.map +1 -1
- package/dist/combat/brand-slay.js +37 -10
- package/dist/combat/brand-slay.js.map +1 -1
- package/dist/combat/index.d.ts +1 -1
- package/dist/combat/index.js +1 -1
- package/dist/combat/melee.d.ts +25 -13
- package/dist/combat/melee.d.ts.map +1 -1
- package/dist/combat/melee.js +23 -19
- package/dist/combat/melee.js.map +1 -1
- package/dist/combat/mon-melee.d.ts +166 -7
- package/dist/combat/mon-melee.d.ts.map +1 -1
- package/dist/combat/mon-melee.js +469 -338
- package/dist/combat/mon-melee.js.map +1 -1
- package/dist/combat/ranged.d.ts +15 -13
- package/dist/combat/ranged.d.ts.map +1 -1
- package/dist/combat/ranged.js +31 -29
- package/dist/combat/ranged.js.map +1 -1
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +14 -0
- package/dist/constants.js.map +1 -1
- package/dist/datafile.d.ts +48 -0
- package/dist/datafile.d.ts.map +1 -0
- package/dist/datafile.js +102 -0
- package/dist/datafile.js.map +1 -0
- package/dist/effects/effect-info-registry.d.ts +237 -0
- package/dist/effects/effect-info-registry.d.ts.map +1 -0
- package/dist/effects/effect-info-registry.js +138 -0
- package/dist/effects/effect-info-registry.js.map +1 -0
- package/dist/effects/effect-info-vectors.d.ts +92 -0
- package/dist/effects/effect-info-vectors.d.ts.map +1 -0
- package/dist/effects/effect-info-vectors.fixtures.d.ts +18 -0
- package/dist/effects/effect-info-vectors.fixtures.d.ts.map +1 -0
- package/dist/effects/effect-info-vectors.fixtures.js +51 -0
- package/dist/effects/effect-info-vectors.fixtures.js.map +1 -0
- package/dist/effects/effect-info-vectors.js +315 -0
- package/dist/effects/effect-info-vectors.js.map +1 -0
- package/dist/effects/effect-info.d.ts +5 -1
- package/dist/effects/effect-info.d.ts.map +1 -1
- package/dist/effects/effect-info.js +245 -143
- package/dist/effects/effect-info.js.map +1 -1
- package/dist/effects/effect.d.ts +4 -3
- package/dist/effects/effect.d.ts.map +1 -1
- package/dist/effects/effect.js +88 -70
- package/dist/effects/effect.js.map +1 -1
- package/dist/effects/handlers.d.ts +1 -1
- package/dist/effects/handlers.d.ts.map +1 -1
- package/dist/effects/handlers.js +5 -2
- package/dist/effects/handlers.js.map +1 -1
- package/dist/effects/interpreter.d.ts +11 -0
- package/dist/effects/interpreter.d.ts.map +1 -1
- package/dist/effects/interpreter.js +13 -0
- package/dist/effects/interpreter.js.map +1 -1
- package/dist/game/cave-cmd.d.ts +9 -5
- package/dist/game/cave-cmd.d.ts.map +1 -1
- package/dist/game/cave-cmd.js +56 -11
- package/dist/game/cave-cmd.js.map +1 -1
- package/dist/game/cave-square.d.ts +42 -0
- package/dist/game/cave-square.d.ts.map +1 -0
- package/dist/game/cave-square.js +73 -0
- package/dist/game/cave-square.js.map +1 -0
- package/dist/game/char-sheet.d.ts +12 -8
- package/dist/game/char-sheet.d.ts.map +1 -1
- package/dist/game/char-sheet.js +41 -8
- package/dist/game/char-sheet.js.map +1 -1
- package/dist/game/chest.d.ts +2 -3
- package/dist/game/chest.d.ts.map +1 -1
- package/dist/game/chest.js +17 -6
- package/dist/game/chest.js.map +1 -1
- package/dist/game/context.d.ts +213 -22
- package/dist/game/context.d.ts.map +1 -1
- package/dist/game/context.js +109 -17
- package/dist/game/context.js.map +1 -1
- package/dist/game/describe.d.ts +13 -0
- package/dist/game/describe.d.ts.map +1 -1
- package/dist/game/describe.js +32 -4
- package/dist/game/describe.js.map +1 -1
- package/dist/game/display.d.ts +97 -8
- package/dist/game/display.d.ts.map +1 -1
- package/dist/game/display.js +157 -13
- package/dist/game/display.js.map +1 -1
- package/dist/game/dump-level.d.ts.map +1 -1
- package/dist/game/dump-level.js +3 -2
- package/dist/game/dump-level.js.map +1 -1
- package/dist/game/effect-attack.d.ts.map +1 -1
- package/dist/game/effect-attack.js +36 -27
- package/dist/game/effect-attack.js.map +1 -1
- package/dist/game/effect-detect.d.ts +4 -4
- package/dist/game/effect-detect.d.ts.map +1 -1
- package/dist/game/effect-detect.js +42 -9
- package/dist/game/effect-detect.js.map +1 -1
- package/dist/game/effect-env.d.ts +7 -1
- package/dist/game/effect-env.d.ts.map +1 -1
- package/dist/game/effect-env.js +1 -0
- package/dist/game/effect-env.js.map +1 -1
- package/dist/game/effect-general.d.ts +5 -3
- package/dist/game/effect-general.d.ts.map +1 -1
- package/dist/game/effect-general.js +94 -43
- package/dist/game/effect-general.js.map +1 -1
- package/dist/game/effect-item.d.ts +2 -1
- package/dist/game/effect-item.d.ts.map +1 -1
- package/dist/game/effect-item.js +136 -82
- package/dist/game/effect-item.js.map +1 -1
- package/dist/game/effect-melee.d.ts +10 -4
- package/dist/game/effect-melee.d.ts.map +1 -1
- package/dist/game/effect-melee.js +44 -19
- package/dist/game/effect-melee.js.map +1 -1
- package/dist/game/effect-monster.d.ts +26 -4
- package/dist/game/effect-monster.d.ts.map +1 -1
- package/dist/game/effect-monster.js +52 -9
- package/dist/game/effect-monster.js.map +1 -1
- package/dist/game/effect-teleport.d.ts +58 -19
- package/dist/game/effect-teleport.d.ts.map +1 -1
- package/dist/game/effect-teleport.js +143 -27
- package/dist/game/effect-teleport.js.map +1 -1
- package/dist/game/effect-terrain.d.ts +1 -3
- package/dist/game/effect-terrain.d.ts.map +1 -1
- package/dist/game/effect-terrain.js +38 -22
- package/dist/game/effect-terrain.js.map +1 -1
- package/dist/game/equip-cmp.d.ts.map +1 -1
- package/dist/game/equip-cmp.js +10 -7
- package/dist/game/equip-cmp.js.map +1 -1
- package/dist/game/floor.d.ts +16 -4
- package/dist/game/floor.d.ts.map +1 -1
- package/dist/game/floor.js +22 -4
- package/dist/game/floor.js.map +1 -1
- package/dist/game/gear.d.ts +101 -13
- package/dist/game/gear.d.ts.map +1 -1
- package/dist/game/gear.js +183 -24
- package/dist/game/gear.js.map +1 -1
- package/dist/game/harness.d.ts +2 -1
- package/dist/game/harness.d.ts.map +1 -1
- package/dist/game/harness.js +12 -1
- package/dist/game/harness.js.map +1 -1
- package/dist/game/ignore-cmd.d.ts +47 -8
- package/dist/game/ignore-cmd.d.ts.map +1 -1
- package/dist/game/ignore-cmd.js +76 -8
- package/dist/game/ignore-cmd.js.map +1 -1
- package/dist/game/known.d.ts +223 -34
- package/dist/game/known.d.ts.map +1 -1
- package/dist/game/known.js +301 -67
- package/dist/game/known.js.map +1 -1
- package/dist/game/loop.d.ts +4 -3
- package/dist/game/loop.d.ts.map +1 -1
- package/dist/game/loop.js +49 -29
- package/dist/game/loop.js.map +1 -1
- package/dist/game/lore-color.d.ts.map +1 -1
- package/dist/game/lore-color.js +13 -1
- package/dist/game/lore-color.js.map +1 -1
- package/dist/game/mon-cast.d.ts +3 -4
- package/dist/game/mon-cast.d.ts.map +1 -1
- package/dist/game/mon-cast.js +30 -2
- package/dist/game/mon-cast.js.map +1 -1
- package/dist/game/mon-cmd.d.ts +4 -5
- package/dist/game/mon-cmd.d.ts.map +1 -1
- package/dist/game/mon-cmd.js +80 -27
- package/dist/game/mon-cmd.js.map +1 -1
- package/dist/game/mon-death.d.ts +8 -4
- package/dist/game/mon-death.d.ts.map +1 -1
- package/dist/game/mon-death.js +6 -9
- package/dist/game/mon-death.js.map +1 -1
- package/dist/game/mon-group.d.ts +9 -5
- package/dist/game/mon-group.d.ts.map +1 -1
- package/dist/game/mon-group.js +9 -5
- package/dist/game/mon-group.js.map +1 -1
- package/dist/game/mon-message.d.ts +90 -40
- package/dist/game/mon-message.d.ts.map +1 -1
- package/dist/game/mon-message.js +267 -59
- package/dist/game/mon-message.js.map +1 -1
- package/dist/game/mon-place.d.ts +11 -1
- package/dist/game/mon-place.d.ts.map +1 -1
- package/dist/game/mon-place.js +15 -3
- package/dist/game/mon-place.js.map +1 -1
- package/dist/game/mon-ranged.d.ts +2 -1
- package/dist/game/mon-ranged.d.ts.map +1 -1
- package/dist/game/mon-ranged.js +11 -5
- package/dist/game/mon-ranged.js.map +1 -1
- package/dist/game/mon-side.d.ts +3 -2
- package/dist/game/mon-side.d.ts.map +1 -1
- package/dist/game/mon-side.js +15 -14
- package/dist/game/mon-side.js.map +1 -1
- package/dist/game/monster-turn.d.ts +20 -10
- package/dist/game/monster-turn.d.ts.map +1 -1
- package/dist/game/monster-turn.js +110 -83
- package/dist/game/monster-turn.js.map +1 -1
- package/dist/game/notice.d.ts +36 -0
- package/dist/game/notice.d.ts.map +1 -0
- package/dist/game/notice.js +79 -0
- package/dist/game/notice.js.map +1 -0
- package/dist/game/obj-cmd.d.ts +14 -3
- package/dist/game/obj-cmd.d.ts.map +1 -1
- package/dist/game/obj-cmd.js +109 -35
- package/dist/game/obj-cmd.js.map +1 -1
- package/dist/game/obj-list.d.ts +13 -2
- package/dist/game/obj-list.d.ts.map +1 -1
- package/dist/game/obj-list.js +42 -27
- package/dist/game/obj-list.js.map +1 -1
- package/dist/game/object-inspect.d.ts +9 -0
- package/dist/game/object-inspect.d.ts.map +1 -1
- package/dist/game/object-inspect.js +4 -0
- package/dist/game/object-inspect.js.map +1 -1
- package/dist/game/pickup.d.ts +0 -2
- package/dist/game/pickup.d.ts.map +1 -1
- package/dist/game/pickup.js +18 -3
- package/dist/game/pickup.js.map +1 -1
- package/dist/game/player-side-vectors.d.ts +174 -0
- package/dist/game/player-side-vectors.d.ts.map +1 -0
- package/dist/game/player-side-vectors.fixtures.d.ts +33 -0
- package/dist/game/player-side-vectors.fixtures.d.ts.map +1 -0
- package/dist/game/player-side-vectors.fixtures.js +191 -0
- package/dist/game/player-side-vectors.fixtures.js.map +1 -0
- package/dist/game/player-side-vectors.js +292 -0
- package/dist/game/player-side-vectors.js.map +1 -0
- package/dist/game/player-side.d.ts +129 -1
- package/dist/game/player-side.d.ts.map +1 -1
- package/dist/game/player-side.js +520 -338
- package/dist/game/player-side.js.map +1 -1
- package/dist/game/player-turn.d.ts +26 -7
- package/dist/game/player-turn.d.ts.map +1 -1
- package/dist/game/player-turn.js +180 -33
- package/dist/game/player-turn.js.map +1 -1
- package/dist/game/poly.d.ts +38 -0
- package/dist/game/poly.d.ts.map +1 -0
- package/dist/game/poly.js +82 -0
- package/dist/game/poly.js.map +1 -0
- package/dist/game/project-cast.d.ts +20 -3
- package/dist/game/project-cast.d.ts.map +1 -1
- package/dist/game/project-cast.js +49 -6
- package/dist/game/project-cast.js.map +1 -1
- package/dist/game/project-feat-vectors.d.ts +124 -0
- package/dist/game/project-feat-vectors.d.ts.map +1 -0
- package/dist/game/project-feat-vectors.fixtures.d.ts +13 -0
- package/dist/game/project-feat-vectors.fixtures.d.ts.map +1 -0
- package/dist/game/project-feat-vectors.fixtures.js +94 -0
- package/dist/game/project-feat-vectors.fixtures.js.map +1 -0
- package/dist/game/project-feat-vectors.js +229 -0
- package/dist/game/project-feat-vectors.js.map +1 -0
- package/dist/game/project-feat.d.ts +53 -1
- package/dist/game/project-feat.d.ts.map +1 -1
- package/dist/game/project-feat.js +374 -247
- package/dist/game/project-feat.js.map +1 -1
- package/dist/game/project-monster.d.ts +21 -8
- package/dist/game/project-monster.d.ts.map +1 -1
- package/dist/game/project-monster.js +45 -21
- package/dist/game/project-monster.js.map +1 -1
- package/dist/game/project-obj.d.ts +62 -0
- package/dist/game/project-obj.d.ts.map +1 -1
- package/dist/game/project-obj.js +72 -41
- package/dist/game/project-obj.js.map +1 -1
- package/dist/game/project-player.d.ts +8 -0
- package/dist/game/project-player.d.ts.map +1 -1
- package/dist/game/project-player.js.map +1 -1
- package/dist/game/projection-handlers.d.ts +81 -0
- package/dist/game/projection-handlers.d.ts.map +1 -0
- package/dist/game/projection-handlers.js +93 -0
- package/dist/game/projection-handlers.js.map +1 -0
- package/dist/game/quest.d.ts +23 -0
- package/dist/game/quest.d.ts.map +1 -1
- package/dist/game/quest.js +42 -0
- package/dist/game/quest.js.map +1 -1
- package/dist/game/ranged-cmd.d.ts +13 -2
- package/dist/game/ranged-cmd.d.ts.map +1 -1
- package/dist/game/ranged-cmd.js +32 -15
- package/dist/game/ranged-cmd.js.map +1 -1
- package/dist/game/repeat.d.ts +78 -0
- package/dist/game/repeat.d.ts.map +1 -0
- package/dist/game/repeat.js +88 -0
- package/dist/game/repeat.js.map +1 -0
- package/dist/game/shape-inspect.d.ts +74 -0
- package/dist/game/shape-inspect.d.ts.map +1 -0
- package/dist/game/shape-inspect.js +114 -0
- package/dist/game/shape-inspect.js.map +1 -0
- package/dist/game/spell-cmd.d.ts +15 -4
- package/dist/game/spell-cmd.d.ts.map +1 -1
- package/dist/game/spell-cmd.js +35 -6
- package/dist/game/spell-cmd.js.map +1 -1
- package/dist/game/spoil.d.ts.map +1 -1
- package/dist/game/spoil.js +89 -40
- package/dist/game/spoil.js.map +1 -1
- package/dist/game/steal.d.ts +3 -3
- package/dist/game/steal.d.ts.map +1 -1
- package/dist/game/steal.js +9 -4
- package/dist/game/steal.js.map +1 -1
- package/dist/game/target-loop.d.ts +10 -4
- package/dist/game/target-loop.d.ts.map +1 -1
- package/dist/game/target-loop.js +14 -8
- package/dist/game/target-loop.js.map +1 -1
- package/dist/game/target.d.ts +4 -4
- package/dist/game/target.d.ts.map +1 -1
- package/dist/game/target.js +19 -8
- package/dist/game/target.js.map +1 -1
- package/dist/game/ui-entry.d.ts +63 -4
- package/dist/game/ui-entry.d.ts.map +1 -1
- package/dist/game/ui-entry.js +151 -23
- package/dist/game/ui-entry.js.map +1 -1
- package/dist/game/wizard.d.ts +23 -5
- package/dist/game/wizard.d.ts.map +1 -1
- package/dist/game/wizard.js +93 -11
- package/dist/game/wizard.js.map +1 -1
- package/dist/game/world.d.ts.map +1 -1
- package/dist/game/world.js +6 -0
- package/dist/game/world.js.map +1 -1
- package/dist/gen/cave.d.ts +49 -8
- package/dist/gen/cave.d.ts.map +1 -1
- package/dist/gen/cave.js +200 -28
- package/dist/gen/cave.js.map +1 -1
- package/dist/gen/generate.d.ts +54 -9
- package/dist/gen/generate.d.ts.map +1 -1
- package/dist/gen/generate.js +55 -8
- package/dist/gen/generate.js.map +1 -1
- package/dist/gen/glyph-vectors.d.ts +109 -0
- package/dist/gen/glyph-vectors.d.ts.map +1 -0
- package/dist/gen/glyph-vectors.fixtures.d.ts +18 -0
- package/dist/gen/glyph-vectors.fixtures.d.ts.map +1 -0
- package/dist/gen/glyph-vectors.fixtures.js +94 -0
- package/dist/gen/glyph-vectors.fixtures.js.map +1 -0
- package/dist/gen/glyph-vectors.js +218 -0
- package/dist/gen/glyph-vectors.js.map +1 -0
- package/dist/gen/glyph.d.ts +104 -0
- package/dist/gen/glyph.d.ts.map +1 -0
- package/dist/gen/glyph.js +72 -0
- package/dist/gen/glyph.js.map +1 -0
- package/dist/gen/room.d.ts +26 -2
- package/dist/gen/room.d.ts.map +1 -1
- package/dist/gen/room.js +414 -264
- package/dist/gen/room.js.map +1 -1
- package/dist/gen/util.d.ts +11 -2
- package/dist/gen/util.d.ts.map +1 -1
- package/dist/gen/util.js +31 -9
- package/dist/gen/util.js.map +1 -1
- package/dist/i18n/i18n.d.ts +207 -0
- package/dist/i18n/i18n.d.ts.map +1 -0
- package/dist/i18n/i18n.js +405 -0
- package/dist/i18n/i18n.js.map +1 -0
- package/dist/i18n/text.d.ts +62 -0
- package/dist/i18n/text.d.ts.map +1 -0
- package/dist/i18n/text.js +120 -0
- package/dist/i18n/text.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -1
- package/dist/mod/extension.d.ts +115 -0
- package/dist/mod/extension.d.ts.map +1 -0
- package/dist/mod/extension.js +85 -0
- package/dist/mod/extension.js.map +1 -0
- package/dist/mod/ids.d.ts +10 -0
- package/dist/mod/ids.d.ts.map +1 -1
- package/dist/mod/ids.js +90 -21
- package/dist/mod/ids.js.map +1 -1
- package/dist/mod/record-keys.d.ts +43 -0
- package/dist/mod/record-keys.d.ts.map +1 -0
- package/dist/mod/record-keys.js +100 -0
- package/dist/mod/record-keys.js.map +1 -0
- package/dist/mod/registry-host.d.ts +472 -0
- package/dist/mod/registry-host.d.ts.map +1 -1
- package/dist/mod/registry-host.js +313 -0
- package/dist/mod/registry-host.js.map +1 -1
- package/dist/mod/save-blocks.d.ts +1 -1
- package/dist/mon/bind.d.ts.map +1 -1
- package/dist/mon/bind.js +6 -3
- package/dist/mon/bind.js.map +1 -1
- package/dist/mon/knowledge-groups.d.ts +0 -6
- package/dist/mon/knowledge-groups.d.ts.map +1 -1
- package/dist/mon/knowledge-groups.js +12 -8
- package/dist/mon/knowledge-groups.js.map +1 -1
- package/dist/mon/lore-describe.d.ts +46 -10
- package/dist/mon/lore-describe.d.ts.map +1 -1
- package/dist/mon/lore-describe.js +74 -22
- package/dist/mon/lore-describe.js.map +1 -1
- package/dist/mon/lore-file.d.ts +126 -0
- package/dist/mon/lore-file.d.ts.map +1 -0
- package/dist/mon/lore-file.js +291 -0
- package/dist/mon/lore-file.js.map +1 -0
- package/dist/mon/lore.d.ts +9 -3
- package/dist/mon/lore.d.ts.map +1 -1
- package/dist/mon/lore.js +9 -3
- package/dist/mon/lore.js.map +1 -1
- package/dist/mon/make.d.ts +4 -2
- package/dist/mon/make.d.ts.map +1 -1
- package/dist/mon/make.js +4 -2
- package/dist/mon/make.js.map +1 -1
- package/dist/mon/monster.d.ts +1 -1
- package/dist/mon/monster.js +1 -1
- package/dist/mon/predicate.d.ts +14 -9
- package/dist/mon/predicate.d.ts.map +1 -1
- package/dist/mon/predicate.js +14 -9
- package/dist/mon/predicate.js.map +1 -1
- package/dist/mon/project-mon.d.ts +16 -3
- package/dist/mon/project-mon.d.ts.map +1 -1
- package/dist/mon/project-mon.js +14 -5
- package/dist/mon/project-mon.js.map +1 -1
- package/dist/mon/steal.d.ts +31 -4
- package/dist/mon/steal.d.ts.map +1 -1
- package/dist/mon/steal.js +20 -7
- package/dist/mon/steal.js.map +1 -1
- package/dist/mon/take-hit.d.ts +8 -3
- package/dist/mon/take-hit.d.ts.map +1 -1
- package/dist/mon/take-hit.js +8 -3
- package/dist/mon/take-hit.js.map +1 -1
- package/dist/mon/timed.d.ts +15 -9
- package/dist/mon/timed.d.ts.map +1 -1
- package/dist/mon/timed.js +13 -8
- package/dist/mon/timed.js.map +1 -1
- package/dist/mon/types.d.ts +11 -4
- package/dist/mon/types.d.ts.map +1 -1
- package/dist/mon/types.js.map +1 -1
- package/dist/msg.d.ts +40 -1
- package/dist/msg.d.ts.map +1 -1
- package/dist/msg.js +42 -1
- package/dist/msg.js.map +1 -1
- package/dist/obj/artifact-fake.d.ts +46 -14
- package/dist/obj/artifact-fake.d.ts.map +1 -1
- package/dist/obj/artifact-fake.js +46 -17
- package/dist/obj/artifact-fake.js.map +1 -1
- package/dist/obj/bind.d.ts +23 -0
- package/dist/obj/bind.d.ts.map +1 -1
- package/dist/obj/bind.js +49 -9
- package/dist/obj/bind.js.map +1 -1
- package/dist/obj/desc-vectors.d.ts +68 -0
- package/dist/obj/desc-vectors.d.ts.map +1 -0
- package/dist/obj/desc-vectors.fixtures.d.ts +12 -0
- package/dist/obj/desc-vectors.fixtures.d.ts.map +1 -0
- package/dist/obj/desc-vectors.fixtures.js +95 -0
- package/dist/obj/desc-vectors.fixtures.js.map +1 -0
- package/dist/obj/desc-vectors.js +86 -0
- package/dist/obj/desc-vectors.js.map +1 -0
- package/dist/obj/desc.d.ts +17 -2
- package/dist/obj/desc.d.ts.map +1 -1
- package/dist/obj/desc.js +129 -54
- package/dist/obj/desc.js.map +1 -1
- package/dist/obj/effects-info.d.ts.map +1 -1
- package/dist/obj/effects-info.js +87 -58
- package/dist/obj/effects-info.js.map +1 -1
- package/dist/obj/fake-object.d.ts +70 -0
- package/dist/obj/fake-object.d.ts.map +1 -0
- package/dist/obj/fake-object.js +104 -0
- package/dist/obj/fake-object.js.map +1 -0
- package/dist/obj/ignore.d.ts +55 -12
- package/dist/obj/ignore.d.ts.map +1 -1
- package/dist/obj/ignore.js +68 -31
- package/dist/obj/ignore.js.map +1 -1
- package/dist/obj/knowledge.d.ts +46 -3
- package/dist/obj/knowledge.d.ts.map +1 -1
- package/dist/obj/knowledge.js +169 -151
- package/dist/obj/knowledge.js.map +1 -1
- package/dist/obj/known-object.d.ts +68 -8
- package/dist/obj/known-object.d.ts.map +1 -1
- package/dist/obj/known-object.js +90 -10
- package/dist/obj/known-object.js.map +1 -1
- package/dist/obj/make.d.ts +15 -4
- package/dist/obj/make.d.ts.map +1 -1
- package/dist/obj/make.js +49 -27
- package/dist/obj/make.js.map +1 -1
- package/dist/obj/object-info.d.ts +10 -0
- package/dist/obj/object-info.d.ts.map +1 -1
- package/dist/obj/object-info.js +93 -7
- package/dist/obj/object-info.js.map +1 -1
- package/dist/obj/object.d.ts +42 -4
- package/dist/obj/object.d.ts.map +1 -1
- package/dist/obj/object.js +362 -147
- package/dist/obj/object.js.map +1 -1
- package/dist/obj/power.d.ts +23 -4
- package/dist/obj/power.d.ts.map +1 -1
- package/dist/obj/power.js +231 -65
- package/dist/obj/power.js.map +1 -1
- package/dist/obj/randart-build.d.ts +27 -22
- package/dist/obj/randart-build.d.ts.map +1 -1
- package/dist/obj/randart-build.js +435 -357
- package/dist/obj/randart-build.js.map +1 -1
- package/dist/obj/randart-data.d.ts +62 -24
- package/dist/obj/randart-data.d.ts.map +1 -1
- package/dist/obj/randart-data.js +333 -189
- package/dist/obj/randart-data.js.map +1 -1
- package/dist/obj/randart-file.d.ts +21 -0
- package/dist/obj/randart-file.d.ts.map +1 -0
- package/dist/obj/randart-file.js +119 -0
- package/dist/obj/randart-file.js.map +1 -0
- package/dist/obj/randart-log.d.ts +63 -0
- package/dist/obj/randart-log.d.ts.map +1 -0
- package/dist/obj/randart-log.js +72 -0
- package/dist/obj/randart-log.js.map +1 -0
- package/dist/obj/randart-registry.d.ts +178 -0
- package/dist/obj/randart-registry.d.ts.map +1 -0
- package/dist/obj/randart-registry.js +140 -0
- package/dist/obj/randart-registry.js.map +1 -0
- package/dist/obj/randart-vectors.d.ts +97 -0
- package/dist/obj/randart-vectors.d.ts.map +1 -0
- package/dist/obj/randart-vectors.fixtures.d.ts +18 -0
- package/dist/obj/randart-vectors.fixtures.d.ts.map +1 -0
- package/dist/obj/randart-vectors.fixtures.js +50 -0
- package/dist/obj/randart-vectors.fixtures.js.map +1 -0
- package/dist/obj/randart-vectors.js +311 -0
- package/dist/obj/randart-vectors.js.map +1 -0
- package/dist/obj/randart.d.ts +53 -15
- package/dist/obj/randart.d.ts.map +1 -1
- package/dist/obj/randart.js +166 -44
- package/dist/obj/randart.js.map +1 -1
- package/dist/obj/rune-registry.d.ts +180 -0
- package/dist/obj/rune-registry.d.ts.map +1 -0
- package/dist/obj/rune-registry.js +161 -0
- package/dist/obj/rune-registry.js.map +1 -0
- package/dist/obj/rune-vectors.d.ts +99 -0
- package/dist/obj/rune-vectors.d.ts.map +1 -0
- package/dist/obj/rune-vectors.fixtures.d.ts +44 -0
- package/dist/obj/rune-vectors.fixtures.d.ts.map +1 -0
- package/dist/obj/rune-vectors.fixtures.js +125 -0
- package/dist/obj/rune-vectors.fixtures.js.map +1 -0
- package/dist/obj/rune-vectors.js +159 -0
- package/dist/obj/rune-vectors.js.map +1 -0
- package/dist/obj/tval-registry.d.ts +174 -0
- package/dist/obj/tval-registry.d.ts.map +1 -0
- package/dist/obj/tval-registry.js +151 -0
- package/dist/obj/tval-registry.js.map +1 -0
- package/dist/obj/tval-vectors.d.ts +85 -0
- package/dist/obj/tval-vectors.d.ts.map +1 -0
- package/dist/obj/tval-vectors.fixtures.d.ts +24 -0
- package/dist/obj/tval-vectors.fixtures.d.ts.map +1 -0
- package/dist/obj/tval-vectors.fixtures.js +41 -0
- package/dist/obj/tval-vectors.fixtures.js.map +1 -0
- package/dist/obj/tval-vectors.js +76 -0
- package/dist/obj/tval-vectors.js.map +1 -0
- package/dist/obj/types.d.ts +18 -7
- package/dist/obj/types.d.ts.map +1 -1
- package/dist/obj/types.js.map +1 -1
- package/dist/obj/value.d.ts.map +1 -1
- package/dist/obj/value.js +23 -20
- package/dist/obj/value.js.map +1 -1
- package/dist/parser.d.ts +116 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +205 -0
- package/dist/parser.js.map +1 -0
- package/dist/player/bind.d.ts.map +1 -1
- package/dist/player/bind.js +3 -2
- package/dist/player/bind.js.map +1 -1
- package/dist/player/birth.d.ts +2 -1
- package/dist/player/birth.d.ts.map +1 -1
- package/dist/player/birth.js +2 -1
- package/dist/player/birth.js.map +1 -1
- package/dist/player/calcs.d.ts +58 -23
- package/dist/player/calcs.d.ts.map +1 -1
- package/dist/player/calcs.js +93 -36
- package/dist/player/calcs.js.map +1 -1
- package/dist/player/death.d.ts +50 -0
- package/dist/player/death.d.ts.map +1 -0
- package/dist/player/death.js +46 -0
- package/dist/player/death.js.map +1 -0
- package/dist/player/options-file.d.ts +129 -0
- package/dist/player/options-file.d.ts.map +1 -0
- package/dist/player/options-file.js +309 -0
- package/dist/player/options-file.js.map +1 -0
- package/dist/player/options.d.ts +2 -1
- package/dist/player/options.d.ts.map +1 -1
- package/dist/player/options.js +2 -1
- package/dist/player/options.js.map +1 -1
- package/dist/player/player.d.ts +50 -3
- package/dist/player/player.d.ts.map +1 -1
- package/dist/player/player.js +10 -1
- package/dist/player/player.js.map +1 -1
- package/dist/player/shape-lore.d.ts +11 -7
- package/dist/player/shape-lore.d.ts.map +1 -1
- package/dist/player/shape-lore.js +24 -11
- package/dist/player/shape-lore.js.map +1 -1
- package/dist/player/timed.d.ts +5 -3
- package/dist/player/timed.d.ts.map +1 -1
- package/dist/player/timed.js +11 -2
- package/dist/player/timed.js.map +1 -1
- package/dist/player/types.d.ts +29 -4
- package/dist/player/types.d.ts.map +1 -1
- package/dist/player/types.js +24 -1
- package/dist/player/types.js.map +1 -1
- package/dist/session/boot.d.ts +26 -2
- package/dist/session/boot.d.ts.map +1 -1
- package/dist/session/boot.js +21 -2
- package/dist/session/boot.js.map +1 -1
- package/dist/session/game.d.ts +15 -0
- package/dist/session/game.d.ts.map +1 -1
- package/dist/session/game.js +616 -140
- package/dist/session/game.js.map +1 -1
- package/dist/session/save-migrate.d.ts.map +1 -1
- package/dist/session/save-migrate.js +76 -1
- package/dist/session/save-migrate.js.map +1 -1
- package/dist/session/save.d.ts +75 -12
- package/dist/session/save.d.ts.map +1 -1
- package/dist/session/save.js +177 -18
- package/dist/session/save.js.map +1 -1
- package/dist/store/bind.d.ts +1 -1
- package/dist/store/bind.d.ts.map +1 -1
- package/dist/store/bind.js +4 -3
- package/dist/store/bind.js.map +1 -1
- package/dist/store/mass-produce-vectors.d.ts +40 -0
- package/dist/store/mass-produce-vectors.d.ts.map +1 -0
- package/dist/store/mass-produce-vectors.fixtures.d.ts +13 -0
- package/dist/store/mass-produce-vectors.fixtures.d.ts.map +1 -0
- package/dist/store/mass-produce-vectors.fixtures.js +52 -0
- package/dist/store/mass-produce-vectors.fixtures.js.map +1 -0
- package/dist/store/mass-produce-vectors.js +44 -0
- package/dist/store/mass-produce-vectors.js.map +1 -0
- package/dist/store/store.d.ts +104 -7
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +199 -77
- package/dist/store/store.js.map +1 -1
- package/dist/store/transact.d.ts +14 -5
- package/dist/store/transact.d.ts.map +1 -1
- package/dist/store/transact.js +17 -16
- package/dist/store/transact.js.map +1 -1
- package/dist/store/types.d.ts +3 -2
- package/dist/store/types.d.ts.map +1 -1
- package/dist/store/types.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/visuals/index.d.ts +1 -0
- package/dist/visuals/index.d.ts.map +1 -1
- package/dist/visuals/index.js +1 -0
- package/dist/visuals/index.js.map +1 -1
- package/dist/visuals/map-text.d.ts +8 -0
- package/dist/visuals/map-text.d.ts.map +1 -1
- package/dist/visuals/map-text.js +1 -1
- package/dist/visuals/map-text.js.map +1 -1
- package/dist/visuals/object-glyph.d.ts +56 -0
- package/dist/visuals/object-glyph.d.ts.map +1 -0
- package/dist/visuals/object-glyph.js +52 -0
- package/dist/visuals/object-glyph.js.map +1 -0
- package/dist/visuals/prefs.d.ts +14 -22
- package/dist/visuals/prefs.d.ts.map +1 -1
- package/dist/visuals/prefs.js +4 -23
- package/dist/visuals/prefs.js.map +1 -1
- package/dist/visuals/tile-prefs.d.ts +26 -0
- package/dist/visuals/tile-prefs.d.ts.map +1 -1
- package/dist/visuals/tile-prefs.js +28 -0
- package/dist/visuals/tile-prefs.js.map +1 -1
- package/dist/world/feature.d.ts +2 -1
- package/dist/world/feature.d.ts.map +1 -1
- package/dist/world/feature.js +2 -0
- package/dist/world/feature.js.map +1 -1
- package/dist/world/project.d.ts +10 -2
- package/dist/world/project.d.ts.map +1 -1
- package/dist/world/project.js +18 -6
- package/dist/world/project.js.map +1 -1
- package/dist/world/projection.d.ts +37 -3
- package/dist/world/projection.d.ts.map +1 -1
- package/dist/world/projection.js +69 -7
- package/dist/world/projection.js.map +1 -1
- package/dist/world/trap.d.ts +2 -1
- package/dist/world/trap.d.ts.map +1 -1
- package/dist/world/trap.js +2 -1
- package/dist/world/trap.js.map +1 -1
- package/dist/world/view.d.ts +1 -1
- package/dist/world/view.d.ts.map +1 -1
- package/dist/world/view.js +11 -3
- package/dist/world/view.js.map +1 -1
- package/package.json +1 -1
- package/src/agent/perceive.ts +2 -3
- package/src/combat/blow-vectors.fixtures.ts +99 -0
- package/src/combat/blow-vectors.json +482 -0
- package/src/combat/blow-vectors.ts +280 -0
- package/src/combat/brand-slay.ts +42 -11
- package/src/combat/index.ts +1 -1
- package/src/combat/melee.ts +37 -19
- package/src/combat/mon-melee.ts +611 -364
- package/src/combat/ranged.ts +43 -26
- package/src/constants.ts +15 -0
- package/src/datafile.ts +148 -0
- package/src/effects/effect-info-registry.ts +313 -0
- package/src/effects/effect-info-vectors.fixtures.ts +61 -0
- package/src/effects/effect-info-vectors.json +11532 -0
- package/src/effects/effect-info-vectors.ts +376 -0
- package/src/effects/effect-info.ts +1005 -859
- package/src/effects/effect.ts +96 -62
- package/src/effects/handlers.ts +5 -2
- package/src/effects/interpreter.ts +14 -0
- package/src/game/cave-cmd.ts +54 -11
- package/src/game/cave-square.ts +80 -0
- package/src/game/char-sheet.ts +59 -16
- package/src/game/chest.ts +25 -8
- package/src/game/context.ts +293 -27
- package/src/game/describe.ts +34 -4
- package/src/game/display.ts +215 -19
- package/src/game/dump-level.ts +3 -2
- package/src/game/effect-attack.ts +41 -28
- package/src/game/effect-detect.ts +45 -8
- package/src/game/effect-env.ts +8 -0
- package/src/game/effect-general.ts +110 -47
- package/src/game/effect-item.ts +1075 -999
- package/src/game/effect-melee.ts +51 -18
- package/src/game/effect-monster.ts +55 -9
- package/src/game/effect-teleport.ts +173 -38
- package/src/game/effect-terrain.ts +38 -22
- package/src/game/equip-cmp.ts +483 -480
- package/src/game/floor.ts +22 -4
- package/src/game/gear.ts +210 -21
- package/src/game/harness.ts +12 -1
- package/src/game/ignore-cmd.ts +96 -8
- package/src/game/known.ts +392 -73
- package/src/game/loop.ts +52 -27
- package/src/game/lore-color.ts +13 -1
- package/src/game/mon-cast.ts +31 -6
- package/src/game/mon-cmd.ts +95 -30
- package/src/game/mon-death.ts +14 -12
- package/src/game/mon-group.ts +9 -5
- package/src/game/mon-message.ts +363 -65
- package/src/game/mon-place.ts +15 -3
- package/src/game/mon-ranged.ts +14 -5
- package/src/game/mon-side.ts +16 -12
- package/src/game/monster-turn.ts +120 -87
- package/src/game/notice.ts +85 -0
- package/src/game/obj-cmd.ts +126 -37
- package/src/game/obj-list.ts +44 -26
- package/src/game/object-inspect.ts +13 -0
- package/src/game/pickup.ts +29 -5
- package/src/game/player-side-vectors.fixtures.ts +215 -0
- package/src/game/player-side-vectors.json +6914 -0
- package/src/game/player-side-vectors.ts +420 -0
- package/src/game/player-side.ts +622 -340
- package/src/game/player-turn.ts +228 -31
- package/src/game/poly.ts +107 -0
- package/src/game/project-cast.ts +63 -6
- package/src/game/project-feat-vectors.fixtures.ts +106 -0
- package/src/game/project-feat-vectors.json +6554 -0
- package/src/game/project-feat-vectors.ts +323 -0
- package/src/game/project-feat.ts +417 -248
- package/src/game/project-monster.ts +69 -30
- package/src/game/project-obj-vectors.json +1 -0
- package/src/game/project-obj.ts +115 -47
- package/src/game/project-player.ts +8 -0
- package/src/game/projection-handlers.ts +110 -0
- package/src/game/quest.ts +48 -0
- package/src/game/ranged-cmd.ts +45 -11
- package/src/game/repeat.ts +92 -0
- package/src/game/shape-inspect.ts +166 -0
- package/src/game/spell-cmd.ts +39 -6
- package/src/game/spoil.ts +92 -39
- package/src/game/steal.ts +9 -4
- package/src/game/target-loop.ts +14 -7
- package/src/game/target.ts +18 -7
- package/src/game/ui-entry.ts +172 -22
- package/src/game/wizard.ts +97 -10
- package/src/game/world.ts +6 -0
- package/src/gen/cave.ts +225 -26
- package/src/gen/generate.ts +62 -9
- package/src/gen/glyph-vectors.fixtures.ts +122 -0
- package/src/gen/glyph-vectors.json +5996 -0
- package/src/gen/glyph-vectors.ts +280 -0
- package/src/gen/glyph.ts +132 -0
- package/src/gen/room.ts +446 -265
- package/src/gen/util.ts +32 -9
- package/src/i18n/i18n.ts +492 -0
- package/src/i18n/text.ts +117 -0
- package/src/index.ts +307 -254
- package/src/mod/extension.ts +136 -0
- package/src/mod/ids.ts +92 -21
- package/src/mod/record-keys.ts +102 -0
- package/src/mod/registry-host.ts +1063 -234
- package/src/mon/bind.ts +14 -8
- package/src/mon/knowledge-groups.ts +12 -12
- package/src/mon/lore-describe.ts +93 -26
- package/src/mon/lore-file.ts +365 -0
- package/src/mon/lore.ts +9 -3
- package/src/mon/make.ts +4 -2
- package/src/mon/monster.ts +1 -1
- package/src/mon/predicate.ts +14 -9
- package/src/mon/project-mon.ts +23 -5
- package/src/mon/steal.ts +39 -7
- package/src/mon/take-hit.ts +8 -3
- package/src/mon/timed.ts +15 -9
- package/src/mon/types.ts +11 -4
- package/src/msg.ts +55 -1
- package/src/obj/artifact-fake.ts +47 -17
- package/src/obj/bind.ts +52 -9
- package/src/obj/desc-vectors.fixtures.ts +119 -0
- package/src/obj/desc-vectors.json +2360 -0
- package/src/obj/desc-vectors.ts +128 -0
- package/src/obj/desc.ts +159 -55
- package/src/obj/effects-info.ts +90 -59
- package/src/obj/fake-object.ts +135 -0
- package/src/obj/ignore.ts +95 -28
- package/src/obj/knowledge.ts +291 -139
- package/src/obj/known-object.ts +126 -11
- package/src/obj/make.ts +53 -29
- package/src/obj/object-info.ts +103 -6
- package/src/obj/object.ts +392 -151
- package/src/obj/power.ts +297 -59
- package/src/obj/randart-build.ts +1875 -1705
- package/src/obj/randart-data.ts +1547 -1344
- package/src/obj/randart-file.ts +130 -0
- package/src/obj/randart-log.ts +78 -0
- package/src/obj/randart-registry.ts +247 -0
- package/src/obj/randart-vectors.fixtures.ts +61 -0
- package/src/obj/randart-vectors.json +836 -0
- package/src/obj/randart-vectors.ts +369 -0
- package/src/obj/randart.ts +722 -552
- package/src/obj/rune-registry.ts +270 -0
- package/src/obj/rune-vectors.fixtures.ts +164 -0
- package/src/obj/rune-vectors.json +121 -0
- package/src/obj/rune-vectors.ts +229 -0
- package/src/obj/tval-kind-vectors.json +391 -0
- package/src/obj/tval-registry.ts +243 -0
- package/src/obj/tval-vectors.fixtures.ts +50 -0
- package/src/obj/tval-vectors.json +38 -0
- package/src/obj/tval-vectors.ts +126 -0
- package/src/obj/types.ts +18 -7
- package/src/obj/value.ts +26 -20
- package/src/parser.ts +214 -0
- package/src/player/bind.ts +5 -2
- package/src/player/birth.ts +2 -1
- package/src/player/calcs.ts +123 -42
- package/src/player/death.ts +78 -0
- package/src/player/options-file.ts +387 -0
- package/src/player/options.ts +2 -1
- package/src/player/player.ts +60 -4
- package/src/player/shape-lore.ts +33 -14
- package/src/player/timed.ts +14 -4
- package/src/player/types.ts +30 -4
- package/src/session/boot.ts +51 -1
- package/src/session/game.ts +720 -163
- package/src/session/save-migrate.ts +81 -1
- package/src/session/save.ts +264 -22
- package/src/store/bind.ts +4 -3
- package/src/store/mass-produce-vectors.fixtures.ts +64 -0
- package/src/store/mass-produce-vectors.json +1169 -0
- package/src/store/mass-produce-vectors.ts +67 -0
- package/src/store/store.ts +266 -63
- package/src/store/transact.ts +39 -16
- package/src/store/types.ts +3 -2
- package/src/version.ts +1 -1
- package/src/visuals/index.ts +1 -0
- package/src/visuals/map-text.ts +1 -1
- package/src/visuals/object-glyph.ts +76 -0
- package/src/visuals/prefs.ts +22 -32
- package/src/visuals/tile-prefs.ts +32 -0
- package/src/world/feature.ts +4 -1
- package/src/world/project.ts +19 -4
- package/src/world/projection.ts +79 -8
- package/src/world/trap.ts +25 -21
- package/src/world/view.ts +11 -1
package/dist/obj/randart.js
CHANGED
|
@@ -35,14 +35,20 @@
|
|
|
35
35
|
* (game.ts:2511-2514) - so the in-game randart names draw faithfully too.
|
|
36
36
|
* randNameFallback (a local syllable table) is retained only as a defensive
|
|
37
37
|
* guard for callers that pass no corpus (it never runs on the wired paths).
|
|
38
|
-
* -
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
38
|
+
* - randart.log (PORT_TODO 5.5): PORTED bar one line. do_randart opens and
|
|
39
|
+
* closes it through the host; the maintainer's disposition on 2026-08-04 was
|
|
40
|
+
* pursue parity, so the "it never affects an artifact field" argument the old
|
|
41
|
+
* note made here was never a reason to omit it. What is and is not written is
|
|
42
|
+
* MEASURED by obj/randart-log.census.test.ts rather than claimed in prose,
|
|
43
|
+
* including the one site the census's span filter cannot see. See
|
|
44
|
+
* randart-log.ts for the sink and the reason it is a module-level static.
|
|
45
|
+
* - randart.txt: PORTED. obj/randart-file.ts, gated by do_randart's create_file
|
|
46
|
+
* (obj-randart.c L3195-L3215), which is a required parameter here.
|
|
47
|
+
* - The second measurement pass upstream runs after generation
|
|
48
|
+
* (store_base_power/parse_frequencies on the finished set, L3181-L3186):
|
|
49
|
+
* PORTED. It exists only to populate the log's closing statistics, and the
|
|
50
|
+
* set it measures is a parameter here because this port does not overwrite
|
|
51
|
+
* the a_info global the way upstream does.
|
|
46
52
|
* - copy_artifact activation/alt_msg quirk (FAITHFUL): upstream copy_artifact
|
|
47
53
|
* memcpy's the whole struct and then explicitly nulls a_dst->activation and
|
|
48
54
|
* a_dst->alt_msg (obj-randart.c L2689-L2690). copyArtifact reproduces this:
|
|
@@ -56,6 +62,9 @@
|
|
|
56
62
|
* artifact. In the standard set the quest artifacts are last and contiguous,
|
|
57
63
|
* so this is unobservable, but it is reproduced exactly. Noted.
|
|
58
64
|
*/
|
|
65
|
+
import { FileMode, FileType, HostDir, host } from "../host/io.js";
|
|
66
|
+
import { RANDART_TXT, writeRandartFile } from "./randart-file.js";
|
|
67
|
+
import { randartLog, randartLogf, setRandartLog } from "./randart-log.js";
|
|
59
68
|
import { KF, TV } from "../generated/index.js";
|
|
60
69
|
import { Rng } from "../rng.js";
|
|
61
70
|
import { tvalFindName } from "./bind.js";
|
|
@@ -124,8 +133,12 @@ export function copyArtifact(src, dst) {
|
|
|
124
133
|
* do_randart never mutates ObjRegistry.artifacts. This is NOT copy_artifact
|
|
125
134
|
* (which deliberately drops activation/alt_msg); it is the honest clone the
|
|
126
135
|
* working array needs.
|
|
136
|
+
*
|
|
137
|
+
* EXPORTED so a test harness can start from the same object shape production
|
|
138
|
+
* mutates - a hand-built Artifact would be the harness asserting what the
|
|
139
|
+
* struct looks like rather than measuring it.
|
|
127
140
|
*/
|
|
128
|
-
function cloneArtifact(src) {
|
|
141
|
+
export function cloneArtifact(src) {
|
|
129
142
|
return {
|
|
130
143
|
name: src.name,
|
|
131
144
|
text: src.text,
|
|
@@ -239,7 +252,7 @@ function describeArtifact(art, power) {
|
|
|
239
252
|
* (or, for a cursed artifact, curses) added until its power lands between 19/20
|
|
240
253
|
* and 23/20 of the target.
|
|
241
254
|
*/
|
|
242
|
-
export function designArtifact(reg, arts, data, tv, aidx, rng, nameProbs) {
|
|
255
|
+
export function designArtifact(reg, constants, arts, data, tv, aidx, rng, nameProbs) {
|
|
243
256
|
/* Defensive guard (upstream relies on aidx staying in range). */
|
|
244
257
|
if (aidx < 1 || aidx >= arts.length)
|
|
245
258
|
return aidx;
|
|
@@ -265,6 +278,8 @@ export function designArtifact(reg, arts, data, tv, aidx, rng, nameProbs) {
|
|
|
265
278
|
}
|
|
266
279
|
/* Apply the new name. */
|
|
267
280
|
art.name = newName;
|
|
281
|
+
randartLog(">>>>>>>>>>>>>>>>>>>>>>>>>> CREATING NEW ARTIFACT\n");
|
|
282
|
+
randartLogf(() => `Artifact ${String(aidx)}: power = ${String(power)}\n`);
|
|
268
283
|
/* Flip the sign on power if it's negative (unlikely) and damage. */
|
|
269
284
|
let hurtMe = false;
|
|
270
285
|
if (power < 0) {
|
|
@@ -283,24 +298,31 @@ export function designArtifact(reg, arts, data, tv, aidx, rng, nameProbs) {
|
|
|
283
298
|
artifactPrep(reg, art, kind, data, rng);
|
|
284
299
|
/* Get the kind again in case it's changed. */
|
|
285
300
|
kind = reg.lookupKind(art.tval, art.sval);
|
|
286
|
-
const basePower = artifactPower(reg, art);
|
|
301
|
+
const basePower = artifactPower(reg, constants, art, "for base item power", rng);
|
|
302
|
+
randartLogf(() => `Base item power ${String(basePower)}\n`);
|
|
287
303
|
/* New base item power too close to target artifact power. */
|
|
288
304
|
if (basePower > Math.trunc((power * 6) / 10) + 1 && power - basePower < 20) {
|
|
305
|
+
randartLog("Power too high!\n");
|
|
289
306
|
continue;
|
|
290
307
|
}
|
|
291
308
|
/* Acceptable. */
|
|
292
309
|
break;
|
|
293
310
|
}
|
|
311
|
+
/* Failed to get a good base item. */
|
|
312
|
+
if (tries >= MAX_TRIES) {
|
|
313
|
+
randartLog("Warning! Couldn't get appropriate power level on base item.\n");
|
|
314
|
+
}
|
|
294
315
|
/* Generate the cumulative frequency table for this base item type. */
|
|
295
316
|
const artFreq = buildFreqTable(art, data);
|
|
296
317
|
/* Copy artifact info temporarily. */
|
|
297
318
|
copyArtifact(art, aOld);
|
|
298
319
|
/* Give this artifact a shot at being supercharged. */
|
|
299
320
|
trySupercharge(reg, art, power, data, rng);
|
|
300
|
-
ap = artifactPower(reg, art);
|
|
321
|
+
ap = artifactPower(reg, constants, art, "result of supercharge", rng);
|
|
301
322
|
if (ap > Math.trunc((power * 23) / 20) + 1) {
|
|
302
323
|
/* Too powerful -- put it back. */
|
|
303
324
|
copyArtifact(aOld, art);
|
|
325
|
+
randartLog("--- Supercharge is too powerful! Rolling back.\n");
|
|
304
326
|
}
|
|
305
327
|
/* Give this artifact a chance to be cursed - note it retains its power. */
|
|
306
328
|
if (rng.oneIn(Math.trunc(arts.length / Math.max(2, data.negPowerTotal)))) {
|
|
@@ -314,7 +336,7 @@ export function designArtifact(reg, arts, data, tv, aidx, rng, nameProbs) {
|
|
|
314
336
|
addAbility(reg, art, power, artFreq, data, rng);
|
|
315
337
|
removeContradictory(reg, art, data.timedFoil, data.activationSummarize);
|
|
316
338
|
/* Check the power, handle negative power. */
|
|
317
|
-
ap = artifactPower(reg, art);
|
|
339
|
+
ap = artifactPower(reg, constants, art, "artifact attempt", rng);
|
|
318
340
|
if (ap < 0) {
|
|
319
341
|
ap = -ap;
|
|
320
342
|
break;
|
|
@@ -330,6 +352,7 @@ export function designArtifact(reg, arts, data, tv, aidx, rng, nameProbs) {
|
|
|
330
352
|
if (ap > Math.trunc((power * 23) / 20) + 1) {
|
|
331
353
|
/* Too powerful -- put it back. */
|
|
332
354
|
copyArtifact(aOld, art);
|
|
355
|
+
randartLog("--- Too powerful! Rolling back.\n");
|
|
333
356
|
continue;
|
|
334
357
|
}
|
|
335
358
|
else if (ap >= Math.trunc((power * 19) / 20)) {
|
|
@@ -337,6 +360,10 @@ export function designArtifact(reg, arts, data, tv, aidx, rng, nameProbs) {
|
|
|
337
360
|
break;
|
|
338
361
|
}
|
|
339
362
|
}
|
|
363
|
+
/* Couldn't generate an artifact with the number of permitted iterations. */
|
|
364
|
+
if (tries >= MAX_TRIES) {
|
|
365
|
+
randartLog("Warning! Couldn't get appropriate power level on artifact.\n");
|
|
366
|
+
}
|
|
340
367
|
/* Set rarity based on power. kind is the final base item kind. */
|
|
341
368
|
const baseKind = kind;
|
|
342
369
|
let allocNew = Math.trunc(4000000 / (ap * ap));
|
|
@@ -369,6 +396,11 @@ export function designArtifact(reg, arts, data, tv, aidx, rng, nameProbs) {
|
|
|
369
396
|
if (!art.activation && !baseKind.activation && !baseKind.effect) {
|
|
370
397
|
art.level = art.allocMin;
|
|
371
398
|
}
|
|
399
|
+
randartLogf(() => `New depths are min ${String(art.allocMin)}, max ${String(art.allocMax)}\n`);
|
|
400
|
+
randartLogf(() => `Power-based alloc_prob is ${String(art.allocProb)}\n`);
|
|
401
|
+
/* Success. */
|
|
402
|
+
randartLog("<<<<<<<<<<<<<<<<<<<<<<<<<< ARTIFACT COMPLETED\n");
|
|
403
|
+
randartLogf(() => `Number of tries for artifact ${String(aidx)} was: ${String(tries)}\n`);
|
|
372
404
|
/* Describe it. */
|
|
373
405
|
describeArtifact(art, ap);
|
|
374
406
|
return aidx;
|
|
@@ -384,7 +416,7 @@ export function designArtifact(reg, arts, data, tv, aidx, rng, nameProbs) {
|
|
|
384
416
|
* artifacts. The final slot (index arts.length - 1) is left as the original,
|
|
385
417
|
* matching the upstream `aidx < z_info->a_max - 1` bound.
|
|
386
418
|
*/
|
|
387
|
-
export function createArtifactSet(reg, arts, data, rng, nameProbs) {
|
|
419
|
+
export function createArtifactSet(reg, constants, arts, data, rng, nameProbs) {
|
|
388
420
|
let aidx = 1;
|
|
389
421
|
const tvalTotal = new Array(TV_MAX).fill(0);
|
|
390
422
|
let notDone = true;
|
|
@@ -398,7 +430,7 @@ export function createArtifactSet(reg, arts, data, rng, nameProbs) {
|
|
|
398
430
|
/* Multiple passes through tvals until all have enough artifacts. */
|
|
399
431
|
for (let i = 0; i < TV_MAX; i++) {
|
|
400
432
|
if (tvalTotal[i] > 0) {
|
|
401
|
-
aidx = designArtifact(reg, arts, data, i, aidx, rng, nameProbs);
|
|
433
|
+
aidx = designArtifact(reg, constants, arts, data, i, aidx, rng, nameProbs);
|
|
402
434
|
tvalTotal[i]--;
|
|
403
435
|
aidx++;
|
|
404
436
|
notDone = true;
|
|
@@ -407,7 +439,7 @@ export function createArtifactSet(reg, arts, data, rng, nameProbs) {
|
|
|
407
439
|
}
|
|
408
440
|
/* Allocate remaining artifacts at random. */
|
|
409
441
|
while (aidx < arts.length - 1) {
|
|
410
|
-
aidx = designArtifact(reg, arts, data, TV.NULL, aidx, rng, nameProbs);
|
|
442
|
+
aidx = designArtifact(reg, constants, arts, data, TV.NULL, aidx, rng, nameProbs);
|
|
411
443
|
aidx++;
|
|
412
444
|
}
|
|
413
445
|
}
|
|
@@ -422,37 +454,127 @@ export function createArtifactSet(reg, arts, data, rng, nameProbs) {
|
|
|
422
454
|
* Upstream seeds the "quick" LCRNG (Rand_value = seed, Rand_quick = true), so
|
|
423
455
|
* this port creates its Rng in quick mode and draws in upstream order:
|
|
424
456
|
* measure the standard set (store_base_power + parse_frequencies via
|
|
425
|
-
* collectArtifactData),
|
|
426
|
-
*
|
|
427
|
-
*
|
|
428
|
-
*
|
|
457
|
+
* collectArtifactData), design every artifact (create_artifact_set), then
|
|
458
|
+
* measure the finished set the same way. The log file (randart.log), the
|
|
459
|
+
* post-generation measurement pass and the optional spoiler file (create_file /
|
|
460
|
+
* write_randart_entry) are all ported (PORT_TODO 5.5); none of them affects an
|
|
461
|
+
* artifact field or an RNG draw.
|
|
429
462
|
*/
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
463
|
+
/** path_build(ANGBAND_DIR_USER, "randart.log") (obj-randart.c L3165). */
|
|
464
|
+
export const RANDART_LOG = "randart.log";
|
|
465
|
+
export function doRandart(reg,
|
|
466
|
+
/**
|
|
467
|
+
* z_info / the player constants object_prep reads. Upstream reaches them as
|
|
468
|
+
* globals; the port passes them, and they arrive here because artifact_power
|
|
469
|
+
* builds a real fake object through make_fake_artifact.
|
|
470
|
+
*/
|
|
471
|
+
constants, randartSeed,
|
|
472
|
+
/**
|
|
473
|
+
* do_randart's `create_file` (obj-randart.c:3154). True writes randart.txt
|
|
474
|
+
* beside randart.log; upstream passes true from birth, from loading a save
|
|
475
|
+
* and from the spoiler generator, and false from the statistics harnesses.
|
|
476
|
+
*
|
|
477
|
+
* REQUIRED, with no default: the two callers that want it differ from the
|
|
478
|
+
* many that do not, and a default would silently pick one of them.
|
|
479
|
+
*/
|
|
480
|
+
createFile, tolkienWords, extras, io = host(), onLogError) {
|
|
433
481
|
/*
|
|
434
|
-
*
|
|
435
|
-
*
|
|
436
|
-
*
|
|
437
|
-
*
|
|
438
|
-
*
|
|
439
|
-
*
|
|
482
|
+
* OPEN randart.log (obj-randart.c L3164-L3171).
|
|
483
|
+
*
|
|
484
|
+
* Upstream file_opens ANGBAND_DIR_USER/randart.log for writing before it
|
|
485
|
+
* touches an artifact, and `exit(1)`s if it cannot. That exit is the one
|
|
486
|
+
* thing the port cannot copy: a browser tab has no process to kill, and a
|
|
487
|
+
* desktop player did not ask to lose a character over a log file. So the
|
|
488
|
+
* failure goes through the host instead - the open is probed by truncating
|
|
489
|
+
* the file to empty (which is what MODE_WRITE does), and if that fails the
|
|
490
|
+
* sink stays closed, `onLogError` gets upstream's own message, and every
|
|
491
|
+
* emitter downstream is the no-op it already is with no log running.
|
|
492
|
+
* Generation continues, which is the deliberate divergence.
|
|
493
|
+
*
|
|
494
|
+
* BUFFERED, not appended line by line: HostIo.write is one whole-file call
|
|
495
|
+
* (that is what a localStorage-backed adapter can express), and a run of the
|
|
496
|
+
* standard set emits tens of thousands of lines.
|
|
440
497
|
*/
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
498
|
+
/* Prepare to use the Angband "simple" (quick LCRNG) RNG. */
|
|
499
|
+
const rng = new Rng(randartSeed, { quick: true });
|
|
500
|
+
const lines = [];
|
|
501
|
+
let generated = [];
|
|
502
|
+
let logging = false;
|
|
503
|
+
if (io.write(HostDir.USER, RANDART_LOG, "", FileMode.WRITE, FileType.TEXT) === "ok") {
|
|
504
|
+
logging = true;
|
|
505
|
+
setRandartLog((text) => lines.push(text));
|
|
506
|
+
}
|
|
507
|
+
else {
|
|
508
|
+
onLogError?.("Error - can't open randart.log for writing.");
|
|
509
|
+
}
|
|
510
|
+
try {
|
|
511
|
+
/*
|
|
512
|
+
* Build the RANDNAME_TOLKIEN transition table once (build_prob is cached
|
|
513
|
+
* per-type upstream, randname.c L94-L103; here we build it once per run).
|
|
514
|
+
* When no corpus is supplied (the current game-path seam), fall back to the
|
|
515
|
+
* non-faithful syllable generator (see module SEAM note). An empty word list
|
|
516
|
+
* is treated as "no corpus" because build_prob/randname_make would otherwise
|
|
517
|
+
* loop forever on an empty table.
|
|
518
|
+
*/
|
|
519
|
+
const nameProbs = tolkienWords && tolkienWords.length > 0 ? buildProb(tolkienWords) : null;
|
|
520
|
+
/* Store the original power ratings and determine generation probabilities
|
|
521
|
+
* for the STANDARD set (L3175-L3178). `extras` threads the curse TIMED_INC
|
|
522
|
+
* foil tables (gap 3.3) and the activation redundancy summarizer (gap 3.8);
|
|
523
|
+
* absent, both checks are skipped as before. */
|
|
524
|
+
const data = collectArtifactData(reg, constants, reg.artifacts, rng);
|
|
525
|
+
if (extras?.timedFoil)
|
|
526
|
+
data.timedFoil = extras.timedFoil;
|
|
527
|
+
if (extras?.activationSummarize) {
|
|
528
|
+
data.activationSummarize = extras.activationSummarize;
|
|
529
|
+
}
|
|
530
|
+
/* Work on a fresh copy so the registry's standard artifacts are preserved. */
|
|
531
|
+
const arts = reg.artifacts.map((a) => a ? cloneArtifact(a) : null);
|
|
532
|
+
/* Generate the random artifacts. */
|
|
533
|
+
createArtifactSet(reg, constants, arts, data, rng, nameProbs);
|
|
534
|
+
generated = arts;
|
|
535
|
+
/*
|
|
536
|
+
* LOOK AT THE FREQUENCIES ON THE FINISHED ITEMS (L3181-L3186).
|
|
537
|
+
*
|
|
538
|
+
* A whole second measurement pass over the set just generated, into a
|
|
539
|
+
* throwaway ArtifactSetData that upstream frees on the next line. Nothing
|
|
540
|
+
* reads it: its ONLY product is the text both passes write to the log, so
|
|
541
|
+
* a reader can compare the set the game just made against the standard one
|
|
542
|
+
* it was derived from. That is why it was invisible while the log was full
|
|
543
|
+
* of holes, and why it can be added now without changing an artifact - it
|
|
544
|
+
* runs after generation and draws no RNG (see collectArtifactData).
|
|
545
|
+
*
|
|
546
|
+
* `extras` is deliberately NOT applied here: upstream measures the finished
|
|
547
|
+
* set with a plain artifact_set_data_new, and both extras are generation-
|
|
548
|
+
* time checks that this pass never reaches.
|
|
549
|
+
*/
|
|
550
|
+
collectArtifactData(reg, constants, arts, rng);
|
|
551
|
+
return arts;
|
|
552
|
+
}
|
|
553
|
+
finally {
|
|
554
|
+
/* CLOSE (L3189-L3193). In a `finally` so a throw mid-generation cannot
|
|
555
|
+
* leave the sink installed for the next caller - upstream's log_file is a
|
|
556
|
+
* static, and a stale one would narrate the following run into this one. */
|
|
557
|
+
setRandartLog(null);
|
|
558
|
+
if (logging) {
|
|
559
|
+
const outcome = io.write(HostDir.USER, RANDART_LOG, lines.join(""), FileMode.WRITE, FileType.TEXT);
|
|
560
|
+
if (outcome !== "ok")
|
|
561
|
+
onLogError?.("Error - can't close randart.log file.");
|
|
562
|
+
}
|
|
563
|
+
/*
|
|
564
|
+
* WRITE A DATA FILE IF REQUIRED (L3195-L3215), after the log is closed,
|
|
565
|
+
* which is upstream's order - it reuses the same handle variable for both.
|
|
566
|
+
*
|
|
567
|
+
* Upstream `quit_fmt`s if this file cannot be closed. The port cannot: the
|
|
568
|
+
* same reasoning as the randart.log open above applies, so the failure goes
|
|
569
|
+
* to onLogError and the artifact set is returned regardless. Writing the
|
|
570
|
+
* file is a courtesy; losing the character over it is not.
|
|
571
|
+
*/
|
|
572
|
+
if (createFile) {
|
|
573
|
+
const outcome = io.write(HostDir.USER, RANDART_TXT, writeRandartFile(reg, generated, randartSeed), FileMode.WRITE, FileType.TEXT);
|
|
574
|
+
if (outcome !== "ok") {
|
|
575
|
+
onLogError?.(`Error - can't close ${RANDART_TXT}.`);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
451
578
|
}
|
|
452
|
-
/* Work on a fresh copy so the registry's standard artifacts are preserved. */
|
|
453
|
-
const arts = reg.artifacts.map((a) => a ? cloneArtifact(a) : null);
|
|
454
|
-
/* Generate the random artifacts. */
|
|
455
|
-
createArtifactSet(reg, arts, data, rng, nameProbs);
|
|
456
|
-
return arts;
|
|
457
579
|
}
|
|
458
580
|
//# sourceMappingURL=randart.js.map
|
package/dist/obj/randart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"randart.js","sourceRoot":"","sources":["../../src/obj/randart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"randart.js","sourceRoot":"","sources":["../../src/obj/randart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The RUNE registry: every question core asks about a rune, plus the "You feel
|
|
3
|
+
* stronger!" line a modifier prints on wield.
|
|
4
|
+
*
|
|
5
|
+
* WHY THIS IS A REGISTRY, and why it is a harder closure than the four before
|
|
6
|
+
* it. A rune is the unit of object knowledge - what the player learns, what an
|
|
7
|
+
* item is found to carry, what the recall screen names and describes. Six
|
|
8
|
+
* places in `knowledge.ts` decided all of it, and five of them dispatched on
|
|
9
|
+
* `rune.variety`, which was a CLOSED TYPESCRIPT UNION of seven string literals.
|
|
10
|
+
*
|
|
11
|
+
* A union is closed in a way a switch is not. A switch has a `default` arm that
|
|
12
|
+
* a mod's key reaches and fails at, which is at least a place to stand; a union
|
|
13
|
+
* refuses the key at the type level, so a mod could not coin a variety at all
|
|
14
|
+
* and no arm was ever reached to fail. `tools/switch-census.json` saw none of
|
|
15
|
+
* this - it counts `switch` statements, all five of these are under its 8-case
|
|
16
|
+
* threshold, and it counts neither a union type's existence nor its size. The
|
|
17
|
+
* census recorded ONE row for this file, `modMessage`. That is the same lesson
|
|
18
|
+
* gap 28 charged for in a new shape: the census measures SYNTAX, a gap is about
|
|
19
|
+
* REACH.
|
|
20
|
+
*
|
|
21
|
+
* The six closed decisions, and what each cost a mod-coined rune:
|
|
22
|
+
*
|
|
23
|
+
* - `runeDesc` - the recall line. No arm meant no description at all.
|
|
24
|
+
* - `runeName` - the display decoration ("<x> brand", "slay <x>"). Upstream's
|
|
25
|
+
* own `default` returns the bare name, so this one had a real fallback and
|
|
26
|
+
* still does; it is the only one of the six that did.
|
|
27
|
+
* - `playerKnowsRune` / `playerLearnRune` - the knowledge pair. A mod's rune
|
|
28
|
+
* was unknowable AND unlearnable, which is worse than either alone: it
|
|
29
|
+
* could never appear as learned, and `objectRunesKnown` therefore treated
|
|
30
|
+
* any object carrying one as permanently un-assessed.
|
|
31
|
+
* - `objectHasRune` - whether an item carries it. Always no.
|
|
32
|
+
* - `modMessage` - the flavour line on noticing a modifier. The only OBJ_MOD
|
|
33
|
+
* switch in the tree, out of 114 `OBJ_MOD.*` references. A mod-coined
|
|
34
|
+
* modifier was learned in silence.
|
|
35
|
+
*
|
|
36
|
+
* WHERE A MOD'S RUNE KNOWLEDGE LIVES, which is the question that made this
|
|
37
|
+
* conversion different from the four before it. `playerKnowsRune` reads typed
|
|
38
|
+
* stores on `p.objKnown` - `modifiers[]`, `elInfo[]`, `flags` - all sized from
|
|
39
|
+
* core's fixed-arity enums, so there is no slot for a mod's rune and growing
|
|
40
|
+
* that arity is exactly what `mod/vocabulary.ts` was built to avoid (see its
|
|
41
|
+
* header for the W2.3 architecture decision). The answer is that this registry
|
|
42
|
+
* needs NO new store: `knows` and `learn` are handed the player, and a mod
|
|
43
|
+
* keeps its own per-entity values in its own `VocabularyRegistry`, which
|
|
44
|
+
* already persists into that mod's opaque save bag. So the seam stays a pure
|
|
45
|
+
* dispatch table and there is one mechanism for mod-owned per-entity state, not
|
|
46
|
+
* two.
|
|
47
|
+
*
|
|
48
|
+
* THE PRODUCER IS PART OF THE SEAM, not an extra. `buildRuneList` is what every
|
|
49
|
+
* consumer enumerates - the knowledge screens, `objectRunesKnown`, and
|
|
50
|
+
* EF_IDENTIFY's random unknown rune - so six handler tables with no way to get
|
|
51
|
+
* a rune INTO that list would be a seam its own callers walk past, which is the
|
|
52
|
+
* failure three of the five previous conversions each turned up in a different
|
|
53
|
+
* place. `contribute` is the door: core builds its list, then every contributor
|
|
54
|
+
* appends.
|
|
55
|
+
*
|
|
56
|
+
* RNG: `objectFindUnknownRune` draws `randint0(poss.length)` over the list, so
|
|
57
|
+
* a contributor that adds runes DOES move that draw - by design, since the mod
|
|
58
|
+
* is adding content and its rune is now genuinely a candidate. With no mod
|
|
59
|
+
* loaded the list is byte-identical to before, which is what the parity claim
|
|
60
|
+
* needs; `rune-vectors.json` holds all 99 rows.
|
|
61
|
+
*
|
|
62
|
+
* WHY MODULE-LEVEL. The same 2026-08-09 ruling behind `EffectInfoRegistry`,
|
|
63
|
+
* `RandartRegistry` and `TvalRegistry`: disabling a mod always takes effect on
|
|
64
|
+
* the next RELOAD, so a module-level table cannot violate the mod default
|
|
65
|
+
* policy. `resetRuneRegistry()` restores core's arms without a fresh realm and
|
|
66
|
+
* has no production caller by design.
|
|
67
|
+
*/
|
|
68
|
+
import type { GameObject } from "./object.js";
|
|
69
|
+
import type { Player } from "../player/player.js";
|
|
70
|
+
import type { Rune, RuneEnv } from "./knowledge.js";
|
|
71
|
+
/**
|
|
72
|
+
* The seven varieties core defines (`enum rune_variety`, obj-knowledge.h).
|
|
73
|
+
* Named separately so core's own code keeps exhaustive checking against the
|
|
74
|
+
* real set, and so this file can say which seven it seeds.
|
|
75
|
+
*/
|
|
76
|
+
export type CoreRuneVariety = "combat" | "mod" | "resist" | "brand" | "slay" | "curse" | "flag";
|
|
77
|
+
/**
|
|
78
|
+
* A rune variety. Core's seven, or any string a mod coins.
|
|
79
|
+
*
|
|
80
|
+
* `(string & {})` rather than a bare `string`: it keeps the seven core names as
|
|
81
|
+
* editor completions and as the thing a typo is checked against in core's own
|
|
82
|
+
* code, while admitting a mod's `"demo:attunement"`. A bare `string` would have
|
|
83
|
+
* silently accepted `"resiste"` everywhere in this package.
|
|
84
|
+
*/
|
|
85
|
+
export type RuneVariety = CoreRuneVariety | (string & {});
|
|
86
|
+
/**
|
|
87
|
+
* `rune_desc` (obj-knowledge.c L344-403): the recall description. Unregistered
|
|
88
|
+
* returns `""`, which is upstream's own fall-through for a rune it cannot
|
|
89
|
+
* describe (the C default reaches NULL).
|
|
90
|
+
*/
|
|
91
|
+
export type RuneDescHandler = (env: RuneEnv, rune: Rune) => string;
|
|
92
|
+
/**
|
|
93
|
+
* `player_knows_rune`. Unregistered returns false - honest, and the reason a
|
|
94
|
+
* mod that adds a variety must register this one: without it the rune can never
|
|
95
|
+
* read as learned, and `objectRunesKnown` will hold every object carrying it
|
|
96
|
+
* permanently un-assessed.
|
|
97
|
+
*/
|
|
98
|
+
export type RuneKnowsHandler = (p: Player, rune: Rune) => boolean;
|
|
99
|
+
/** `object_has_rune`: whether this item carries it. Unregistered returns false. */
|
|
100
|
+
export type RuneObjectHasHandler = (env: RuneEnv, obj: GameObject, rune: Rune) => boolean;
|
|
101
|
+
/**
|
|
102
|
+
* `player_learn_rune`: learn it, optionally printing. Returns whether anything
|
|
103
|
+
* was newly learned - a second learn of the same rune must return false, which
|
|
104
|
+
* is what the vectors' `learnedAgain` column holds core to. Unregistered
|
|
105
|
+
* returns false.
|
|
106
|
+
*/
|
|
107
|
+
export type RuneLearnHandler = (p: Player, env: RuneEnv, rune: Rune, message: boolean) => boolean;
|
|
108
|
+
/**
|
|
109
|
+
* `rune_name` (obj-knowledge.c:325): the variety's display decoration.
|
|
110
|
+
* Unregistered returns the bare `rune.name`, which is upstream's own `default`
|
|
111
|
+
* arm rather than a hole - only four of the seven varieties decorate at all.
|
|
112
|
+
*/
|
|
113
|
+
export type RuneNameHandler = (rune: Rune) => string;
|
|
114
|
+
/**
|
|
115
|
+
* `mod_message` (obj-knowledge.c L1492): the line printed on noticing a
|
|
116
|
+
* modifier, given its signed value. Returns null for "say nothing", which is
|
|
117
|
+
* both upstream's `default` and what a zero value produces on an arm that has
|
|
118
|
+
* one. Keyed on the OBJ_MOD index.
|
|
119
|
+
*/
|
|
120
|
+
export type ModMessageHandler = (value: number) => string | null;
|
|
121
|
+
/**
|
|
122
|
+
* A source of extra runes for `buildRuneList` (`init_rune`). Runs after core
|
|
123
|
+
* has built its own list, in registration order, and appends.
|
|
124
|
+
*
|
|
125
|
+
* Contributing is what makes the six tables above reachable: nothing in core
|
|
126
|
+
* ever asks about a rune that is not in this list.
|
|
127
|
+
*/
|
|
128
|
+
export type RuneContributor = (env: RuneEnv) => readonly Rune[];
|
|
129
|
+
/**
|
|
130
|
+
* One keyed table. The same shape as `TvalTable` and for the same reason: six
|
|
131
|
+
* hand-copied blocks would be six places for a capability check to go missing.
|
|
132
|
+
*/
|
|
133
|
+
export declare class RuneTable<K, H> {
|
|
134
|
+
private readonly table;
|
|
135
|
+
/** Install (or replace) the handler for one key. */
|
|
136
|
+
set(key: K, handler: H): void;
|
|
137
|
+
/**
|
|
138
|
+
* The handler installed right now, or null. This is what a mod calls to WRAP
|
|
139
|
+
* core rather than shadow it - keep what is returned, install its own, call
|
|
140
|
+
* through.
|
|
141
|
+
*/
|
|
142
|
+
handlerFor(key: K): H | null;
|
|
143
|
+
/** Whether anything handles this key. */
|
|
144
|
+
has(key: K): boolean;
|
|
145
|
+
/** Every key handled, in registration order (core's first). */
|
|
146
|
+
keys(): readonly K[];
|
|
147
|
+
}
|
|
148
|
+
/** Everything core asks about a rune, in six tables plus one producer. */
|
|
149
|
+
export declare class RuneRegistry {
|
|
150
|
+
/** `rune_desc`, keyed on variety. */
|
|
151
|
+
readonly desc: RuneTable<RuneVariety, RuneDescHandler>;
|
|
152
|
+
/** `player_knows_rune`, keyed on variety. */
|
|
153
|
+
readonly knows: RuneTable<RuneVariety, RuneKnowsHandler>;
|
|
154
|
+
/** `object_has_rune`, keyed on variety. */
|
|
155
|
+
readonly objectHas: RuneTable<RuneVariety, RuneObjectHasHandler>;
|
|
156
|
+
/** `player_learn_rune`, keyed on variety. */
|
|
157
|
+
readonly learn: RuneTable<RuneVariety, RuneLearnHandler>;
|
|
158
|
+
/** `rune_name`'s decoration, keyed on variety. Absent means the bare name. */
|
|
159
|
+
readonly name: RuneTable<RuneVariety, RuneNameHandler>;
|
|
160
|
+
/** `mod_message`, keyed on the OBJ_MOD index. */
|
|
161
|
+
readonly modMessage: RuneTable<number, ModMessageHandler>;
|
|
162
|
+
/** Extra runes for `buildRuneList`, in registration order. */
|
|
163
|
+
private readonly contributors;
|
|
164
|
+
/** Add a source of runes to the list every consumer enumerates. */
|
|
165
|
+
contribute(source: RuneContributor): void;
|
|
166
|
+
/** Every contributed rune, in registration order. Core's list comes first. */
|
|
167
|
+
contributed(env: RuneEnv): Rune[];
|
|
168
|
+
/** How many contributors are installed (for tests and the conflict report). */
|
|
169
|
+
contributorCount(): number;
|
|
170
|
+
}
|
|
171
|
+
/** Install a set of core arms, now and on every reset. A MOD never calls this. */
|
|
172
|
+
export declare function seedRune(seed: (reg: RuneRegistry) => void): void;
|
|
173
|
+
/** The live registry. Module-level; see this file's header for why that is safe. */
|
|
174
|
+
export declare function runeRegistry(): RuneRegistry;
|
|
175
|
+
/**
|
|
176
|
+
* Back to core's arms alone, dropping every mod registration - the same state a
|
|
177
|
+
* reload produces, without a fresh realm. No production caller by design.
|
|
178
|
+
*/
|
|
179
|
+
export declare function resetRuneRegistry(): void;
|
|
180
|
+
//# sourceMappingURL=rune-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rune-registry.d.ts","sourceRoot":"","sources":["../../src/obj/rune-registry.ts"],"names":[],"mappings":"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"}
|