idlerpg.sh 0.1.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 +171 -0
- package/dist/affix/AffixRegistry.d.ts +68 -0
- package/dist/affix/AffixRegistry.d.ts.map +1 -0
- package/dist/affix/AffixRegistry.js +245 -0
- package/dist/affix/AffixRegistry.js.map +1 -0
- package/dist/affix/PluginLoader.d.ts +66 -0
- package/dist/affix/PluginLoader.d.ts.map +1 -0
- package/dist/affix/PluginLoader.js +321 -0
- package/dist/affix/PluginLoader.js.map +1 -0
- package/dist/affix/builtin.d.ts +6 -0
- package/dist/affix/builtin.d.ts.map +1 -0
- package/dist/affix/builtin.js +311 -0
- package/dist/affix/builtin.js.map +1 -0
- package/dist/affix/index.d.ts +8 -0
- package/dist/affix/index.d.ts.map +1 -0
- package/dist/affix/index.js +11 -0
- package/dist/affix/index.js.map +1 -0
- package/dist/affix/types.d.ts +152 -0
- package/dist/affix/types.d.ts.map +1 -0
- package/dist/affix/types.js +8 -0
- package/dist/affix/types.js.map +1 -0
- package/dist/ai/PlayKitClient.d.ts +208 -0
- package/dist/ai/PlayKitClient.d.ts.map +1 -0
- package/dist/ai/PlayKitClient.js +721 -0
- package/dist/ai/PlayKitClient.js.map +1 -0
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +8 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/app/App.d.ts +85 -0
- package/dist/app/App.d.ts.map +1 -0
- package/dist/app/App.js +296 -0
- package/dist/app/App.js.map +1 -0
- package/dist/app/EventBus.d.ts +222 -0
- package/dist/app/EventBus.d.ts.map +1 -0
- package/dist/app/EventBus.js +88 -0
- package/dist/app/EventBus.js.map +1 -0
- package/dist/app/Keybind.d.ts +83 -0
- package/dist/app/Keybind.d.ts.map +1 -0
- package/dist/app/Keybind.js +184 -0
- package/dist/app/Keybind.js.map +1 -0
- package/dist/app/Router.d.ts +123 -0
- package/dist/app/Router.d.ts.map +1 -0
- package/dist/app/Router.js +142 -0
- package/dist/app/Router.js.map +1 -0
- package/dist/app/ScreenManager.d.ts +97 -0
- package/dist/app/ScreenManager.d.ts.map +1 -0
- package/dist/app/ScreenManager.js +216 -0
- package/dist/app/ScreenManager.js.map +1 -0
- package/dist/app/index.d.ts +14 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +19 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/screens/BaseScreen.d.ts +101 -0
- package/dist/app/screens/BaseScreen.d.ts.map +1 -0
- package/dist/app/screens/BaseScreen.js +132 -0
- package/dist/app/screens/BaseScreen.js.map +1 -0
- package/dist/app/screens/CharacterCreationScreen.d.ts +42 -0
- package/dist/app/screens/CharacterCreationScreen.d.ts.map +1 -0
- package/dist/app/screens/CharacterCreationScreen.js +467 -0
- package/dist/app/screens/CharacterCreationScreen.js.map +1 -0
- package/dist/app/screens/CombatScreen.d.ts +30 -0
- package/dist/app/screens/CombatScreen.d.ts.map +1 -0
- package/dist/app/screens/CombatScreen.js +309 -0
- package/dist/app/screens/CombatScreen.js.map +1 -0
- package/dist/app/screens/DialogScreen.d.ts +29 -0
- package/dist/app/screens/DialogScreen.d.ts.map +1 -0
- package/dist/app/screens/DialogScreen.js +295 -0
- package/dist/app/screens/DialogScreen.js.map +1 -0
- package/dist/app/screens/ExploreScreen.d.ts +50 -0
- package/dist/app/screens/ExploreScreen.d.ts.map +1 -0
- package/dist/app/screens/ExploreScreen.js +308 -0
- package/dist/app/screens/ExploreScreen.js.map +1 -0
- package/dist/app/screens/HelpScreen.d.ts +12 -0
- package/dist/app/screens/HelpScreen.d.ts.map +1 -0
- package/dist/app/screens/HelpScreen.js +155 -0
- package/dist/app/screens/HelpScreen.js.map +1 -0
- package/dist/app/screens/InventoryScreen.d.ts +27 -0
- package/dist/app/screens/InventoryScreen.d.ts.map +1 -0
- package/dist/app/screens/InventoryScreen.js +326 -0
- package/dist/app/screens/InventoryScreen.js.map +1 -0
- package/dist/app/screens/PrologueScreen.d.ts +24 -0
- package/dist/app/screens/PrologueScreen.d.ts.map +1 -0
- package/dist/app/screens/PrologueScreen.js +176 -0
- package/dist/app/screens/PrologueScreen.js.map +1 -0
- package/dist/app/screens/TitleScreen.d.ts +42 -0
- package/dist/app/screens/TitleScreen.d.ts.map +1 -0
- package/dist/app/screens/TitleScreen.js +380 -0
- package/dist/app/screens/TitleScreen.js.map +1 -0
- package/dist/app/screens/TravelScreen.d.ts +22 -0
- package/dist/app/screens/TravelScreen.d.ts.map +1 -0
- package/dist/app/screens/TravelScreen.js +122 -0
- package/dist/app/screens/TravelScreen.js.map +1 -0
- package/dist/app/screens/index.d.ts +14 -0
- package/dist/app/screens/index.d.ts.map +1 -0
- package/dist/app/screens/index.js +17 -0
- package/dist/app/screens/index.js.map +1 -0
- package/dist/commands/CommandRegistry.d.ts +91 -0
- package/dist/commands/CommandRegistry.d.ts.map +1 -0
- package/dist/commands/CommandRegistry.js +159 -0
- package/dist/commands/CommandRegistry.js.map +1 -0
- package/dist/commands/index.d.ts +7 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +10 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/core/Actor.d.ts +103 -0
- package/dist/core/Actor.d.ts.map +1 -0
- package/dist/core/Actor.js +409 -0
- package/dist/core/Actor.js.map +1 -0
- package/dist/core/Combat.d.ts +37 -0
- package/dist/core/Combat.d.ts.map +1 -0
- package/dist/core/Combat.js +294 -0
- package/dist/core/Combat.js.map +1 -0
- package/dist/core/DungeonRunner.d.ts +169 -0
- package/dist/core/DungeonRunner.d.ts.map +1 -0
- package/dist/core/DungeonRunner.js +627 -0
- package/dist/core/DungeonRunner.js.map +1 -0
- package/dist/core/Game.d.ts +133 -0
- package/dist/core/Game.d.ts.map +1 -0
- package/dist/core/Game.js +644 -0
- package/dist/core/Game.js.map +1 -0
- package/dist/core/IdleCombat.d.ts +61 -0
- package/dist/core/IdleCombat.d.ts.map +1 -0
- package/dist/core/IdleCombat.js +461 -0
- package/dist/core/IdleCombat.js.map +1 -0
- package/dist/core/IdleGameManager.d.ts +198 -0
- package/dist/core/IdleGameManager.d.ts.map +1 -0
- package/dist/core/IdleGameManager.js +688 -0
- package/dist/core/IdleGameManager.js.map +1 -0
- package/dist/core/IdleSaveManager.d.ts +109 -0
- package/dist/core/IdleSaveManager.d.ts.map +1 -0
- package/dist/core/IdleSaveManager.js +296 -0
- package/dist/core/IdleSaveManager.js.map +1 -0
- package/dist/core/NewGameFlowManager.d.ts +64 -0
- package/dist/core/NewGameFlowManager.d.ts.map +1 -0
- package/dist/core/NewGameFlowManager.js +153 -0
- package/dist/core/NewGameFlowManager.js.map +1 -0
- package/dist/core/Player.d.ts +65 -0
- package/dist/core/Player.d.ts.map +1 -0
- package/dist/core/Player.js +261 -0
- package/dist/core/Player.js.map +1 -0
- package/dist/core/RoomHandlers.d.ts +75 -0
- package/dist/core/RoomHandlers.d.ts.map +1 -0
- package/dist/core/RoomHandlers.js +383 -0
- package/dist/core/RoomHandlers.js.map +1 -0
- package/dist/core/SaveManager.d.ts +84 -0
- package/dist/core/SaveManager.d.ts.map +1 -0
- package/dist/core/SaveManager.js +281 -0
- package/dist/core/SaveManager.js.map +1 -0
- package/dist/core/SaveMigration.d.ts +69 -0
- package/dist/core/SaveMigration.d.ts.map +1 -0
- package/dist/core/SaveMigration.js +408 -0
- package/dist/core/SaveMigration.js.map +1 -0
- package/dist/core/StateAdapter.d.ts +79 -0
- package/dist/core/StateAdapter.d.ts.map +1 -0
- package/dist/core/StateAdapter.js +397 -0
- package/dist/core/StateAdapter.js.map +1 -0
- package/dist/core/Team.d.ts +145 -0
- package/dist/core/Team.d.ts.map +1 -0
- package/dist/core/Team.js +371 -0
- package/dist/core/Team.js.map +1 -0
- package/dist/core/TeamCombat.d.ts +88 -0
- package/dist/core/TeamCombat.d.ts.map +1 -0
- package/dist/core/TeamCombat.js +405 -0
- package/dist/core/TeamCombat.js.map +1 -0
- package/dist/core/TeamDungeonRunner.d.ts +186 -0
- package/dist/core/TeamDungeonRunner.d.ts.map +1 -0
- package/dist/core/TeamDungeonRunner.js +758 -0
- package/dist/core/TeamDungeonRunner.js.map +1 -0
- package/dist/core/TimeManager.d.ts +114 -0
- package/dist/core/TimeManager.d.ts.map +1 -0
- package/dist/core/TimeManager.js +318 -0
- package/dist/core/TimeManager.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +12 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/timeConstants.d.ts +135 -0
- package/dist/core/timeConstants.d.ts.map +1 -0
- package/dist/core/timeConstants.js +157 -0
- package/dist/core/timeConstants.js.map +1 -0
- package/dist/core/types.d.ts +780 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +16 -0
- package/dist/core/types.js.map +1 -0
- package/dist/data/continents/index.d.ts +163 -0
- package/dist/data/continents/index.d.ts.map +1 -0
- package/dist/data/continents/index.js +31 -0
- package/dist/data/continents/index.js.map +1 -0
- package/dist/data/continents/verdantia.d.ts +294 -0
- package/dist/data/continents/verdantia.d.ts.map +1 -0
- package/dist/data/continents/verdantia.js +327 -0
- package/dist/data/continents/verdantia.js.map +1 -0
- package/dist/handlers/DialogHandler.d.ts +95 -0
- package/dist/handlers/DialogHandler.d.ts.map +1 -0
- package/dist/handlers/DialogHandler.js +450 -0
- package/dist/handlers/DialogHandler.js.map +1 -0
- package/dist/handlers/SaveLoadHandler.d.ts +60 -0
- package/dist/handlers/SaveLoadHandler.d.ts.map +1 -0
- package/dist/handlers/SaveLoadHandler.js +187 -0
- package/dist/handlers/SaveLoadHandler.js.map +1 -0
- package/dist/handlers/TitleScreenHandler.d.ts +43 -0
- package/dist/handlers/TitleScreenHandler.d.ts.map +1 -0
- package/dist/handlers/TitleScreenHandler.js +508 -0
- package/dist/handlers/TitleScreenHandler.js.map +1 -0
- package/dist/handlers/WorkshopHandler.d.ts +75 -0
- package/dist/handlers/WorkshopHandler.d.ts.map +1 -0
- package/dist/handlers/WorkshopHandler.js +401 -0
- package/dist/handlers/WorkshopHandler.js.map +1 -0
- package/dist/handlers/index.d.ts +12 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +14 -0
- package/dist/handlers/index.js.map +1 -0
- package/dist/handlers/types.d.ts +34 -0
- package/dist/handlers/types.d.ts.map +1 -0
- package/dist/handlers/types.js +8 -0
- package/dist/handlers/types.js.map +1 -0
- package/dist/i18n/en.d.ts +3 -0
- package/dist/i18n/en.d.ts.map +1 -0
- package/dist/i18n/en.js +130 -0
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/index.d.ts +40 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +105 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/types.d.ts +133 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +8 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/i18n/zh.d.ts +3 -0
- package/dist/i18n/zh.d.ts.map +1 -0
- package/dist/i18n/zh.js +130 -0
- package/dist/i18n/zh.js.map +1 -0
- package/dist/instrument.d.ts +8 -0
- package/dist/instrument.d.ts.map +1 -0
- package/dist/instrument.js +33 -0
- package/dist/instrument.js.map +1 -0
- package/dist/main-new.d.ts +12 -0
- package/dist/main-new.d.ts.map +1 -0
- package/dist/main-new.js +32 -0
- package/dist/main-new.js.map +1 -0
- package/dist/main.d.ts +7 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +2816 -0
- package/dist/main.js.map +1 -0
- package/dist/map/ContinentManager.d.ts +88 -0
- package/dist/map/ContinentManager.d.ts.map +1 -0
- package/dist/map/ContinentManager.js +241 -0
- package/dist/map/ContinentManager.js.map +1 -0
- package/dist/map/DungeonGenerator.d.ts +32 -0
- package/dist/map/DungeonGenerator.d.ts.map +1 -0
- package/dist/map/DungeonGenerator.js +615 -0
- package/dist/map/DungeonGenerator.js.map +1 -0
- package/dist/map/MapGenerator.d.ts +27 -0
- package/dist/map/MapGenerator.d.ts.map +1 -0
- package/dist/map/MapGenerator.js +485 -0
- package/dist/map/MapGenerator.js.map +1 -0
- package/dist/map/index.d.ts +5 -0
- package/dist/map/index.d.ts.map +1 -0
- package/dist/map/index.js +8 -0
- package/dist/map/index.js.map +1 -0
- package/dist/npc/NPCGenerator.d.ts +68 -0
- package/dist/npc/NPCGenerator.d.ts.map +1 -0
- package/dist/npc/NPCGenerator.js +468 -0
- package/dist/npc/NPCGenerator.js.map +1 -0
- package/dist/npc/NPCManager.d.ts +86 -0
- package/dist/npc/NPCManager.d.ts.map +1 -0
- package/dist/npc/NPCManager.js +217 -0
- package/dist/npc/NPCManager.js.map +1 -0
- package/dist/npc/fixedNPCs.d.ts +7 -0
- package/dist/npc/fixedNPCs.d.ts.map +1 -0
- package/dist/npc/fixedNPCs.js +196 -0
- package/dist/npc/fixedNPCs.js.map +1 -0
- package/dist/npc/index.d.ts +9 -0
- package/dist/npc/index.d.ts.map +1 -0
- package/dist/npc/index.js +12 -0
- package/dist/npc/index.js.map +1 -0
- package/dist/npc/traits.d.ts +33 -0
- package/dist/npc/traits.d.ts.map +1 -0
- package/dist/npc/traits.js +795 -0
- package/dist/npc/traits.js.map +1 -0
- package/dist/npc/types.d.ts +193 -0
- package/dist/npc/types.d.ts.map +1 -0
- package/dist/npc/types.js +9 -0
- package/dist/npc/types.js.map +1 -0
- package/dist/quest/QuestManager.d.ts +79 -0
- package/dist/quest/QuestManager.d.ts.map +1 -0
- package/dist/quest/QuestManager.js +273 -0
- package/dist/quest/QuestManager.js.map +1 -0
- package/dist/quest/index.d.ts +6 -0
- package/dist/quest/index.d.ts.map +1 -0
- package/dist/quest/index.js +9 -0
- package/dist/quest/index.js.map +1 -0
- package/dist/quest/types.d.ts +81 -0
- package/dist/quest/types.d.ts.map +1 -0
- package/dist/quest/types.js +8 -0
- package/dist/quest/types.js.map +1 -0
- package/dist/strategy/StrategyExecutor.d.ts +159 -0
- package/dist/strategy/StrategyExecutor.d.ts.map +1 -0
- package/dist/strategy/StrategyExecutor.js +479 -0
- package/dist/strategy/StrategyExecutor.js.map +1 -0
- package/dist/strategy/StrategyParser.d.ts +48 -0
- package/dist/strategy/StrategyParser.d.ts.map +1 -0
- package/dist/strategy/StrategyParser.js +321 -0
- package/dist/strategy/StrategyParser.js.map +1 -0
- package/dist/strategy/defaultStrategy.d.ts +40 -0
- package/dist/strategy/defaultStrategy.d.ts.map +1 -0
- package/dist/strategy/defaultStrategy.js +254 -0
- package/dist/strategy/defaultStrategy.js.map +1 -0
- package/dist/strategy/index.d.ts +8 -0
- package/dist/strategy/index.d.ts.map +1 -0
- package/dist/strategy/index.js +14 -0
- package/dist/strategy/index.js.map +1 -0
- package/dist/tui/ExploreMenu.d.ts +106 -0
- package/dist/tui/ExploreMenu.d.ts.map +1 -0
- package/dist/tui/ExploreMenu.js +282 -0
- package/dist/tui/ExploreMenu.js.map +1 -0
- package/dist/tui/GameUI.d.ts +313 -0
- package/dist/tui/GameUI.d.ts.map +1 -0
- package/dist/tui/GameUI.js +2116 -0
- package/dist/tui/GameUI.js.map +1 -0
- package/dist/tui/GameUIAdapter.d.ts +207 -0
- package/dist/tui/GameUIAdapter.d.ts.map +1 -0
- package/dist/tui/GameUIAdapter.js +1342 -0
- package/dist/tui/GameUIAdapter.js.map +1 -0
- package/dist/tui/Input.d.ts +139 -0
- package/dist/tui/Input.d.ts.map +1 -0
- package/dist/tui/Input.js +278 -0
- package/dist/tui/Input.js.map +1 -0
- package/dist/tui/Menu.d.ts +110 -0
- package/dist/tui/Menu.d.ts.map +1 -0
- package/dist/tui/Menu.js +365 -0
- package/dist/tui/Menu.js.map +1 -0
- package/dist/tui/Screen.d.ts +228 -0
- package/dist/tui/Screen.d.ts.map +1 -0
- package/dist/tui/Screen.js +502 -0
- package/dist/tui/Screen.js.map +1 -0
- package/dist/tui/components/Box.d.ts +36 -0
- package/dist/tui/components/Box.d.ts.map +1 -0
- package/dist/tui/components/Box.js +43 -0
- package/dist/tui/components/Box.js.map +1 -0
- package/dist/tui/components/List.d.ts +69 -0
- package/dist/tui/components/List.d.ts.map +1 -0
- package/dist/tui/components/List.js +136 -0
- package/dist/tui/components/List.js.map +1 -0
- package/dist/tui/components/ProgressBar.d.ts +42 -0
- package/dist/tui/components/ProgressBar.d.ts.map +1 -0
- package/dist/tui/components/ProgressBar.js +75 -0
- package/dist/tui/components/ProgressBar.js.map +1 -0
- package/dist/tui/components/index.d.ts +8 -0
- package/dist/tui/components/index.d.ts.map +1 -0
- package/dist/tui/components/index.js +11 -0
- package/dist/tui/components/index.js.map +1 -0
- package/dist/tui/core/BaseSection.d.ts +98 -0
- package/dist/tui/core/BaseSection.d.ts.map +1 -0
- package/dist/tui/core/BaseSection.js +174 -0
- package/dist/tui/core/BaseSection.js.map +1 -0
- package/dist/tui/core/Component.d.ts +61 -0
- package/dist/tui/core/Component.d.ts.map +1 -0
- package/dist/tui/core/Component.js +32 -0
- package/dist/tui/core/Component.js.map +1 -0
- package/dist/tui/core/Section.d.ts +101 -0
- package/dist/tui/core/Section.d.ts.map +1 -0
- package/dist/tui/core/Section.js +24 -0
- package/dist/tui/core/Section.js.map +1 -0
- package/dist/tui/core/SectionManager.d.ts +108 -0
- package/dist/tui/core/SectionManager.d.ts.map +1 -0
- package/dist/tui/core/SectionManager.js +258 -0
- package/dist/tui/core/SectionManager.js.map +1 -0
- package/dist/tui/core/index.d.ts +9 -0
- package/dist/tui/core/index.d.ts.map +1 -0
- package/dist/tui/core/index.js +12 -0
- package/dist/tui/core/index.js.map +1 -0
- package/dist/tui/index.d.ts +15 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +23 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/screens/BaseScreen.d.ts +62 -0
- package/dist/tui/screens/BaseScreen.d.ts.map +1 -0
- package/dist/tui/screens/BaseScreen.js +55 -0
- package/dist/tui/screens/BaseScreen.js.map +1 -0
- package/dist/tui/screens/CombatScreen.d.ts +43 -0
- package/dist/tui/screens/CombatScreen.d.ts.map +1 -0
- package/dist/tui/screens/CombatScreen.js +125 -0
- package/dist/tui/screens/CombatScreen.js.map +1 -0
- package/dist/tui/screens/DialogScreen.d.ts +53 -0
- package/dist/tui/screens/DialogScreen.d.ts.map +1 -0
- package/dist/tui/screens/DialogScreen.js +90 -0
- package/dist/tui/screens/DialogScreen.js.map +1 -0
- package/dist/tui/screens/DungeonScreen.d.ts +80 -0
- package/dist/tui/screens/DungeonScreen.d.ts.map +1 -0
- package/dist/tui/screens/DungeonScreen.js +317 -0
- package/dist/tui/screens/DungeonScreen.js.map +1 -0
- package/dist/tui/screens/ExploreScreen.d.ts +69 -0
- package/dist/tui/screens/ExploreScreen.d.ts.map +1 -0
- package/dist/tui/screens/ExploreScreen.js +224 -0
- package/dist/tui/screens/ExploreScreen.js.map +1 -0
- package/dist/tui/screens/SectionScreen.d.ts +84 -0
- package/dist/tui/screens/SectionScreen.d.ts.map +1 -0
- package/dist/tui/screens/SectionScreen.js +156 -0
- package/dist/tui/screens/SectionScreen.js.map +1 -0
- package/dist/tui/screens/TitleScreen.d.ts +40 -0
- package/dist/tui/screens/TitleScreen.d.ts.map +1 -0
- package/dist/tui/screens/TitleScreen.js +253 -0
- package/dist/tui/screens/TitleScreen.js.map +1 -0
- package/dist/tui/screens/TownScreen.d.ts +98 -0
- package/dist/tui/screens/TownScreen.d.ts.map +1 -0
- package/dist/tui/screens/TownScreen.js +370 -0
- package/dist/tui/screens/TownScreen.js.map +1 -0
- package/dist/tui/screens/TravelScreen.d.ts +67 -0
- package/dist/tui/screens/TravelScreen.d.ts.map +1 -0
- package/dist/tui/screens/TravelScreen.js +286 -0
- package/dist/tui/screens/TravelScreen.js.map +1 -0
- package/dist/tui/screens/index.d.ts +8 -0
- package/dist/tui/screens/index.d.ts.map +1 -0
- package/dist/tui/screens/index.js +17 -0
- package/dist/tui/screens/index.js.map +1 -0
- package/dist/tui/sections/ActionsSection.d.ts +71 -0
- package/dist/tui/sections/ActionsSection.d.ts.map +1 -0
- package/dist/tui/sections/ActionsSection.js +184 -0
- package/dist/tui/sections/ActionsSection.js.map +1 -0
- package/dist/tui/sections/DungeonSection.d.ts +65 -0
- package/dist/tui/sections/DungeonSection.d.ts.map +1 -0
- package/dist/tui/sections/DungeonSection.js +144 -0
- package/dist/tui/sections/DungeonSection.js.map +1 -0
- package/dist/tui/sections/EventsSection.d.ts +50 -0
- package/dist/tui/sections/EventsSection.d.ts.map +1 -0
- package/dist/tui/sections/EventsSection.js +134 -0
- package/dist/tui/sections/EventsSection.js.map +1 -0
- package/dist/tui/sections/MapSection.d.ts +66 -0
- package/dist/tui/sections/MapSection.d.ts.map +1 -0
- package/dist/tui/sections/MapSection.js +669 -0
- package/dist/tui/sections/MapSection.js.map +1 -0
- package/dist/tui/sections/StatusSection.d.ts +47 -0
- package/dist/tui/sections/StatusSection.d.ts.map +1 -0
- package/dist/tui/sections/StatusSection.js +133 -0
- package/dist/tui/sections/StatusSection.js.map +1 -0
- package/dist/tui/sections/TeamSection.d.ts +71 -0
- package/dist/tui/sections/TeamSection.d.ts.map +1 -0
- package/dist/tui/sections/TeamSection.js +224 -0
- package/dist/tui/sections/TeamSection.js.map +1 -0
- package/dist/tui/sections/TravelingSection.d.ts +51 -0
- package/dist/tui/sections/TravelingSection.d.ts.map +1 -0
- package/dist/tui/sections/TravelingSection.js +106 -0
- package/dist/tui/sections/TravelingSection.js.map +1 -0
- package/dist/tui/sections/index.d.ts +9 -0
- package/dist/tui/sections/index.d.ts.map +1 -0
- package/dist/tui/sections/index.js +12 -0
- package/dist/tui/sections/index.js.map +1 -0
- package/dist/ui/Terminal.d.ts +68 -0
- package/dist/ui/Terminal.d.ts.map +1 -0
- package/dist/ui/Terminal.js +297 -0
- package/dist/ui/Terminal.js.map +1 -0
- package/dist/ui/index.d.ts +5 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +8 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/utils/configMigration.d.ts +14 -0
- package/dist/utils/configMigration.d.ts.map +1 -0
- package/dist/utils/configMigration.js +92 -0
- package/dist/utils/configMigration.js.map +1 -0
- package/dist/utils/errorHandler.d.ts +86 -0
- package/dist/utils/errorHandler.d.ts.map +1 -0
- package/dist/utils/errorHandler.js +224 -0
- package/dist/utils/errorHandler.js.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +43 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/weapon/WeaponFactory.d.ts +32 -0
- package/dist/weapon/WeaponFactory.d.ts.map +1 -0
- package/dist/weapon/WeaponFactory.js +216 -0
- package/dist/weapon/WeaponFactory.js.map +1 -0
- package/dist/weapon/index.d.ts +5 -0
- package/dist/weapon/index.d.ts.map +1 -0
- package/dist/weapon/index.js +8 -0
- package/dist/weapon/index.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin.js","sources":["affix/builtin.ts"],"sourceRoot":"/","sourcesContent":["/**\r\n * Built-in affix definitions\r\n */\r\n\r\nimport type { AffixPlugin } from './types.js';\r\n\r\nexport const builtInAffixes: AffixPlugin[] = [\r\n // =========================================================================\r\n // PREFIX AFFIXES - Affect base stats\r\n // =========================================================================\r\n\r\n {\r\n id: 'sharp',\r\n name: 'Sharp',\r\n description: 'Increased attack power',\r\n type: 'prefix',\r\n rarity: 'common',\r\n statModifiers: {\r\n attack: 5,\r\n },\r\n },\r\n\r\n {\r\n id: 'sturdy',\r\n name: 'Sturdy',\r\n description: 'Increased durability',\r\n type: 'prefix',\r\n rarity: 'common',\r\n statModifiers: {\r\n defense: 3,\r\n },\r\n },\r\n\r\n {\r\n id: 'swift',\r\n name: 'Swift',\r\n description: 'Increased attack speed',\r\n type: 'prefix',\r\n rarity: 'common',\r\n statModifiers: {\r\n speed: 5,\r\n },\r\n },\r\n\r\n {\r\n id: 'heavy',\r\n name: 'Heavy',\r\n description: 'Greatly increased attack, but slower',\r\n type: 'prefix',\r\n rarity: 'uncommon',\r\n statModifiers: {\r\n attack: 15,\r\n speed: -5,\r\n },\r\n },\r\n\r\n {\r\n id: 'deadly',\r\n name: 'Deadly',\r\n description: 'Increased critical hit chance',\r\n type: 'prefix',\r\n rarity: 'rare',\r\n statModifiers: {\r\n critChance: 0.15,\r\n critDamage: 0.25,\r\n },\r\n },\r\n\r\n {\r\n id: 'vampiric',\r\n name: 'Vampiric',\r\n description: 'Steals life on hit',\r\n type: 'prefix',\r\n rarity: 'rare',\r\n statModifiers: {\r\n lifesteal: 0.1,\r\n },\r\n onHitEffects: [\r\n {\r\n type: 'heal',\r\n value: 5,\r\n chance: 1,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n id: 'ancient',\r\n name: 'Ancient',\r\n description: 'A weapon from a forgotten age, powerful but mysterious',\r\n type: 'prefix',\r\n rarity: 'epic',\r\n statModifiers: {\r\n attack: 20,\r\n defense: 5,\r\n critChance: 0.1,\r\n },\r\n },\r\n\r\n // =========================================================================\r\n // SUFFIX AFFIXES - Add elemental or special effects\r\n // =========================================================================\r\n\r\n {\r\n id: 'of_flames',\r\n name: 'of Flames',\r\n description: 'Adds fire damage and can burn enemies',\r\n type: 'suffix',\r\n rarity: 'uncommon',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'fire',\r\n value: 8,\r\n chance: 1,\r\n },\r\n {\r\n type: 'status',\r\n element: 'fire',\r\n value: 3,\r\n chance: 0.3,\r\n duration: 3,\r\n },\r\n ],\r\n incompatibleWith: ['of_frost', 'of_ice'],\r\n },\r\n\r\n {\r\n id: 'of_frost',\r\n name: 'of Frost',\r\n description: 'Adds ice damage and can slow enemies',\r\n type: 'suffix',\r\n rarity: 'uncommon',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'ice',\r\n value: 6,\r\n chance: 1,\r\n },\r\n {\r\n type: 'status',\r\n element: 'ice',\r\n value: 2,\r\n chance: 0.25,\r\n duration: 2,\r\n },\r\n ],\r\n incompatibleWith: ['of_flames', 'of_fire'],\r\n },\r\n\r\n {\r\n id: 'of_thunder',\r\n name: 'of Thunder',\r\n description: 'Adds lightning damage with chance to stun',\r\n type: 'suffix',\r\n rarity: 'rare',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'lightning',\r\n value: 12,\r\n chance: 1,\r\n },\r\n {\r\n type: 'status',\r\n element: 'lightning',\r\n value: 1,\r\n chance: 0.15,\r\n duration: 1,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n id: 'of_venom',\r\n name: 'of Venom',\r\n description: 'Adds poison damage over time',\r\n type: 'suffix',\r\n rarity: 'uncommon',\r\n onHitEffects: [\r\n {\r\n type: 'status',\r\n element: 'poison',\r\n value: 4,\r\n chance: 0.5,\r\n duration: 5,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n id: 'of_the_night',\r\n name: 'of the Night',\r\n description: 'Dark energy adds bonus damage',\r\n type: 'suffix',\r\n rarity: 'rare',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'dark',\r\n value: 15,\r\n chance: 0.5,\r\n },\r\n ],\r\n statModifiers: {\r\n attack: 5,\r\n },\r\n },\r\n\r\n {\r\n id: 'of_light',\r\n name: 'of Light',\r\n description: 'Holy damage effective against undead',\r\n type: 'suffix',\r\n rarity: 'rare',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'holy',\r\n value: 10,\r\n chance: 1,\r\n },\r\n ],\r\n incompatibleWith: ['of_the_night'],\r\n },\r\n\r\n // =========================================================================\r\n // LEGENDARY AFFIXES - Unique, game-changing effects\r\n // =========================================================================\r\n\r\n {\r\n id: 'time_rift',\r\n name: 'Time Rift',\r\n description: 'Has a chance to skip enemy turns',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 5,\r\n passiveEffects: [\r\n {\r\n type: 'trigger',\r\n description: '5% chance to skip enemy turn',\r\n value: 0.05,\r\n },\r\n ],\r\n apply(context) {\r\n return {\r\n extraEffects: ['Time distortion active'],\r\n };\r\n },\r\n },\r\n\r\n {\r\n id: 'soul_drinker',\r\n name: 'Soul Drinker',\r\n description: 'Heals for a portion of damage dealt, but costs HP per attack',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 7,\r\n statModifiers: {\r\n lifesteal: 0.25,\r\n attack: 25,\r\n },\r\n passiveEffects: [\r\n {\r\n type: 'trigger',\r\n description: 'Costs 5 HP per attack',\r\n value: -5,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n id: 'mirror_blade',\r\n name: 'Mirror Blade',\r\n description: 'Summons a mirror image that attacks alongside you',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 10,\r\n passiveEffects: [\r\n {\r\n type: 'aura',\r\n description: 'Mirror image deals 50% of your damage',\r\n value: 0.5,\r\n },\r\n ],\r\n apply(context) {\r\n return {\r\n damageModifier: {\r\n physical: context.weapon.baseAttack * 0.5,\r\n },\r\n extraEffects: ['Mirror image attacks!'],\r\n };\r\n },\r\n },\r\n\r\n {\r\n id: 'berserker_rage',\r\n name: 'Berserker Rage',\r\n description: 'Attack increases as HP decreases',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 8,\r\n apply(context) {\r\n const hpRatio = context.player.hp / context.player.maxHp;\r\n const bonusAttack = Math.floor((1 - hpRatio) * 50);\r\n return {\r\n damageModifier: {\r\n physical: bonusAttack,\r\n },\r\n extraEffects: hpRatio < 0.3 ? ['BERSERKER RAGE ACTIVE!'] : [],\r\n };\r\n },\r\n },\r\n\r\n {\r\n id: 'executioner',\r\n name: 'Executioner',\r\n description: 'Massive damage bonus against low HP enemies',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 6,\r\n onHit(context) {\r\n const targetHpRatio = context.target.hp / context.target.maxHp;\r\n if (targetHpRatio < 0.2) {\r\n context.dealBonusDamage(context.damage * 2, 'physical');\r\n }\r\n },\r\n },\r\n];\r\n"],"names":[],"mappings":"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","debug_id":"912f3d25-d901-54e4-9757-ecfc51d83e2a"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Affix module exports
|
|
3
|
+
*/
|
|
4
|
+
export * from './types.js';
|
|
5
|
+
export { AffixRegistry, getAffixRegistry } from './AffixRegistry.js';
|
|
6
|
+
export { PluginLoader, getPluginLoader, initializePlugins } from './PluginLoader.js';
|
|
7
|
+
export { builtInAffixes } from './builtin.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["affix/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Affix module exports
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="bb3eac7d-a590-570d-a513-96f0ad620cd4")}catch(e){}}();
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export { AffixRegistry, getAffixRegistry } from './AffixRegistry.js';
|
|
8
|
+
export { PluginLoader, getPluginLoader, initializePlugins } from './PluginLoader.js';
|
|
9
|
+
export { builtInAffixes } from './builtin.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
11
|
+
//# debugId=bb3eac7d-a590-570d-a513-96f0ad620cd4
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["affix/index.ts"],"sourceRoot":"/","sourcesContent":["/**\r\n * Affix module exports\r\n */\r\n\r\nexport * from './types.js';\r\nexport { AffixRegistry, getAffixRegistry } from './AffixRegistry.js';\r\nexport { PluginLoader, getPluginLoader, initializePlugins } from './PluginLoader.js';\r\nexport { builtInAffixes } from './builtin.js';\r\n"],"names":[],"mappings":"AAAA;;GAEG;;;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC","debug_id":"bb3eac7d-a590-570d-a513-96f0ad620cd4"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Affix system type definitions
|
|
3
|
+
*/
|
|
4
|
+
import type { StatModifiers, OnHitEffect, PassiveEffect, Rarity, AffixType } from '../core/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Affix definition interface that plugin files must export
|
|
7
|
+
*/
|
|
8
|
+
export interface AffixPlugin {
|
|
9
|
+
/** Unique identifier for this affix */
|
|
10
|
+
id: string;
|
|
11
|
+
/** Display name */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Description of the affix's effect */
|
|
14
|
+
description: string;
|
|
15
|
+
/** Affix type: prefix, suffix, or legendary */
|
|
16
|
+
type: AffixType;
|
|
17
|
+
/** Rarity tier */
|
|
18
|
+
rarity: Rarity;
|
|
19
|
+
/** Static stat modifiers */
|
|
20
|
+
statModifiers?: Partial<StatModifiers>;
|
|
21
|
+
/** Effects triggered on hit */
|
|
22
|
+
onHitEffects?: OnHitEffect[];
|
|
23
|
+
/** Passive effects always active */
|
|
24
|
+
passiveEffects?: PassiveEffect[];
|
|
25
|
+
/** List of affix IDs this one cannot combine with */
|
|
26
|
+
incompatibleWith?: string[];
|
|
27
|
+
/** Minimum player level to use */
|
|
28
|
+
requiresLevel?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Optional: Dynamic effect application
|
|
31
|
+
* Called when calculating combat/exploration effects
|
|
32
|
+
*/
|
|
33
|
+
apply?(context: AffixContext): AffixResult;
|
|
34
|
+
/**
|
|
35
|
+
* Optional: Called when weapon with this affix hits an enemy
|
|
36
|
+
*/
|
|
37
|
+
onHit?(context: HitContext): void;
|
|
38
|
+
/**
|
|
39
|
+
* Optional: Called at the start of each combat turn
|
|
40
|
+
*/
|
|
41
|
+
onTurnStart?(context: TurnContext): void;
|
|
42
|
+
/**
|
|
43
|
+
* Optional: Called when player enters a room
|
|
44
|
+
*/
|
|
45
|
+
onRoomEnter?(context: RoomContext): void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Context passed to affix apply function
|
|
49
|
+
*/
|
|
50
|
+
export interface AffixContext {
|
|
51
|
+
player: {
|
|
52
|
+
level: number;
|
|
53
|
+
hp: number;
|
|
54
|
+
maxHp: number;
|
|
55
|
+
mp: number;
|
|
56
|
+
maxMp: number;
|
|
57
|
+
attack: number;
|
|
58
|
+
defense: number;
|
|
59
|
+
};
|
|
60
|
+
weapon: {
|
|
61
|
+
baseAttack: number;
|
|
62
|
+
durability: number;
|
|
63
|
+
};
|
|
64
|
+
combat?: {
|
|
65
|
+
turn: number;
|
|
66
|
+
enemyCount: number;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Result from affix apply function
|
|
71
|
+
*/
|
|
72
|
+
export interface AffixResult {
|
|
73
|
+
damageModifier?: Partial<{
|
|
74
|
+
physical: number;
|
|
75
|
+
fire: number;
|
|
76
|
+
ice: number;
|
|
77
|
+
lightning: number;
|
|
78
|
+
poison: number;
|
|
79
|
+
dark: number;
|
|
80
|
+
holy: number;
|
|
81
|
+
}>;
|
|
82
|
+
defenseModifier?: number;
|
|
83
|
+
speedModifier?: number;
|
|
84
|
+
extraEffects?: string[];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Context for on-hit effects
|
|
88
|
+
*/
|
|
89
|
+
export interface HitContext {
|
|
90
|
+
damage: number;
|
|
91
|
+
isCritical: boolean;
|
|
92
|
+
target: {
|
|
93
|
+
id: string;
|
|
94
|
+
name: string;
|
|
95
|
+
hp: number;
|
|
96
|
+
maxHp: number;
|
|
97
|
+
};
|
|
98
|
+
addStatusEffect: (effect: string, duration: number) => void;
|
|
99
|
+
dealBonusDamage: (amount: number, type: string) => void;
|
|
100
|
+
heal: (amount: number) => void;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Context for turn-based effects
|
|
104
|
+
*/
|
|
105
|
+
export interface TurnContext {
|
|
106
|
+
turnNumber: number;
|
|
107
|
+
player: {
|
|
108
|
+
hp: number;
|
|
109
|
+
maxHp: number;
|
|
110
|
+
mp: number;
|
|
111
|
+
maxMp: number;
|
|
112
|
+
};
|
|
113
|
+
enemies: Array<{
|
|
114
|
+
id: string;
|
|
115
|
+
hp: number;
|
|
116
|
+
maxHp: number;
|
|
117
|
+
}>;
|
|
118
|
+
heal: (amount: number) => void;
|
|
119
|
+
restoreMp: (amount: number) => void;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Context for room entry effects
|
|
123
|
+
*/
|
|
124
|
+
export interface RoomContext {
|
|
125
|
+
roomType: string;
|
|
126
|
+
hasEnemies: boolean;
|
|
127
|
+
hasTreasure: boolean;
|
|
128
|
+
player: {
|
|
129
|
+
hp: number;
|
|
130
|
+
maxHp: number;
|
|
131
|
+
};
|
|
132
|
+
revealSecrets: () => void;
|
|
133
|
+
addItem: (itemId: string) => void;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Registered affix with metadata
|
|
137
|
+
*/
|
|
138
|
+
export interface RegisteredAffix {
|
|
139
|
+
definition: AffixPlugin;
|
|
140
|
+
isBuiltIn: boolean;
|
|
141
|
+
pluginPath?: string;
|
|
142
|
+
loadedAt: number;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Affix validation result
|
|
146
|
+
*/
|
|
147
|
+
export interface AffixValidationResult {
|
|
148
|
+
isValid: boolean;
|
|
149
|
+
errors: string[];
|
|
150
|
+
warnings: string[];
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["affix/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Affix system type definitions
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1e714d99-49e6-53d4-845a-4b5297c5387b")}catch(e){}}();
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=types.js.map
|
|
8
|
+
//# debugId=1e714d99-49e6-53d4-845a-4b5297c5387b
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["affix/types.ts"],"sourceRoot":"/","sourcesContent":["/**\r\n * Affix system type definitions\r\n */\r\n\r\nimport type { StatModifiers, OnHitEffect, PassiveEffect, Rarity, AffixType } from '../core/types.js';\r\n\r\n/**\r\n * Affix definition interface that plugin files must export\r\n */\r\nexport interface AffixPlugin {\r\n /** Unique identifier for this affix */\r\n id: string;\r\n\r\n /** Display name */\r\n name: string;\r\n\r\n /** Description of the affix's effect */\r\n description: string;\r\n\r\n /** Affix type: prefix, suffix, or legendary */\r\n type: AffixType;\r\n\r\n /** Rarity tier */\r\n rarity: Rarity;\r\n\r\n /** Static stat modifiers */\r\n statModifiers?: Partial<StatModifiers>;\r\n\r\n /** Effects triggered on hit */\r\n onHitEffects?: OnHitEffect[];\r\n\r\n /** Passive effects always active */\r\n passiveEffects?: PassiveEffect[];\r\n\r\n /** List of affix IDs this one cannot combine with */\r\n incompatibleWith?: string[];\r\n\r\n /** Minimum player level to use */\r\n requiresLevel?: number;\r\n\r\n /**\r\n * Optional: Dynamic effect application\r\n * Called when calculating combat/exploration effects\r\n */\r\n apply?(context: AffixContext): AffixResult;\r\n\r\n /**\r\n * Optional: Called when weapon with this affix hits an enemy\r\n */\r\n onHit?(context: HitContext): void;\r\n\r\n /**\r\n * Optional: Called at the start of each combat turn\r\n */\r\n onTurnStart?(context: TurnContext): void;\r\n\r\n /**\r\n * Optional: Called when player enters a room\r\n */\r\n onRoomEnter?(context: RoomContext): void;\r\n}\r\n\r\n/**\r\n * Context passed to affix apply function\r\n */\r\nexport interface AffixContext {\r\n player: {\r\n level: number;\r\n hp: number;\r\n maxHp: number;\r\n mp: number;\r\n maxMp: number;\r\n attack: number;\r\n defense: number;\r\n };\r\n weapon: {\r\n baseAttack: number;\r\n durability: number;\r\n };\r\n combat?: {\r\n turn: number;\r\n enemyCount: number;\r\n };\r\n}\r\n\r\n/**\r\n * Result from affix apply function\r\n */\r\nexport interface AffixResult {\r\n damageModifier?: Partial<{\r\n physical: number;\r\n fire: number;\r\n ice: number;\r\n lightning: number;\r\n poison: number;\r\n dark: number;\r\n holy: number;\r\n }>;\r\n defenseModifier?: number;\r\n speedModifier?: number;\r\n extraEffects?: string[];\r\n}\r\n\r\n/**\r\n * Context for on-hit effects\r\n */\r\nexport interface HitContext {\r\n damage: number;\r\n isCritical: boolean;\r\n target: {\r\n id: string;\r\n name: string;\r\n hp: number;\r\n maxHp: number;\r\n };\r\n addStatusEffect: (effect: string, duration: number) => void;\r\n dealBonusDamage: (amount: number, type: string) => void;\r\n heal: (amount: number) => void;\r\n}\r\n\r\n/**\r\n * Context for turn-based effects\r\n */\r\nexport interface TurnContext {\r\n turnNumber: number;\r\n player: {\r\n hp: number;\r\n maxHp: number;\r\n mp: number;\r\n maxMp: number;\r\n };\r\n enemies: Array<{\r\n id: string;\r\n hp: number;\r\n maxHp: number;\r\n }>;\r\n heal: (amount: number) => void;\r\n restoreMp: (amount: number) => void;\r\n}\r\n\r\n/**\r\n * Context for room entry effects\r\n */\r\nexport interface RoomContext {\r\n roomType: string;\r\n hasEnemies: boolean;\r\n hasTreasure: boolean;\r\n player: {\r\n hp: number;\r\n maxHp: number;\r\n };\r\n revealSecrets: () => void;\r\n addItem: (itemId: string) => void;\r\n}\r\n\r\n/**\r\n * Registered affix with metadata\r\n */\r\nexport interface RegisteredAffix {\r\n definition: AffixPlugin;\r\n isBuiltIn: boolean;\r\n pluginPath?: string;\r\n loadedAt: number;\r\n}\r\n\r\n/**\r\n * Affix validation result\r\n */\r\nexport interface AffixValidationResult {\r\n isValid: boolean;\r\n errors: string[];\r\n warnings: string[];\r\n}\r\n"],"names":[],"mappings":"AAAA;;GAEG","debug_id":"1e714d99-49e6-53d4-845a-4b5297c5387b"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PlayKit SDK integration for AI-powered content generation
|
|
3
|
+
* Uses Headless Device Auth for terminal authentication
|
|
4
|
+
* Supports token persistence for seamless re-authentication
|
|
5
|
+
*/
|
|
6
|
+
import { PlayKitSDK } from 'playkit-sdk';
|
|
7
|
+
import type { NPCType } from '../core/types.js';
|
|
8
|
+
export declare const MODELS: {
|
|
9
|
+
readonly text: {
|
|
10
|
+
readonly fast: "gemini-2.5-flash";
|
|
11
|
+
readonly balanced: "deepseek-chat";
|
|
12
|
+
readonly smart: "gpt-4o";
|
|
13
|
+
readonly premium: "claude-sonnet-4.5";
|
|
14
|
+
};
|
|
15
|
+
readonly image: {
|
|
16
|
+
readonly fast: "flux-1-schnell";
|
|
17
|
+
readonly quality: "Kolors";
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Generate QR code as string array for terminal display
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateQRCode(url: string): Promise<string>;
|
|
24
|
+
export interface AIOperationResult<T> {
|
|
25
|
+
success: boolean;
|
|
26
|
+
data?: T;
|
|
27
|
+
error?: string;
|
|
28
|
+
retriesExhausted?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface AuthCallbacks {
|
|
31
|
+
onAuthUrl: (url: string) => void;
|
|
32
|
+
onWaiting: () => void;
|
|
33
|
+
onStatus: (status: string) => void;
|
|
34
|
+
onSuccess: (playerName?: string) => void;
|
|
35
|
+
onError: (error: string) => void;
|
|
36
|
+
onExpired: () => void;
|
|
37
|
+
}
|
|
38
|
+
interface NPCClient {
|
|
39
|
+
talk(message: string): Promise<string>;
|
|
40
|
+
}
|
|
41
|
+
export interface LoginInfo {
|
|
42
|
+
authUrl: string;
|
|
43
|
+
sessionId: string;
|
|
44
|
+
codeVerifier: string;
|
|
45
|
+
expiresIn: number;
|
|
46
|
+
}
|
|
47
|
+
export declare class AIClient {
|
|
48
|
+
private sdk;
|
|
49
|
+
private chatClients;
|
|
50
|
+
private npcClients;
|
|
51
|
+
private initialized;
|
|
52
|
+
private currentLoginInfo;
|
|
53
|
+
private storedPlayerName;
|
|
54
|
+
constructor();
|
|
55
|
+
/**
|
|
56
|
+
* Try to restore authentication from saved tokens
|
|
57
|
+
* Returns player name if successful, null if login is needed
|
|
58
|
+
*/
|
|
59
|
+
tryRestoreAuth(): Promise<{
|
|
60
|
+
success: boolean;
|
|
61
|
+
playerName?: string;
|
|
62
|
+
needsRefresh?: boolean;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Get stored player name (if restored from saved auth)
|
|
66
|
+
*/
|
|
67
|
+
getStoredPlayerName(): string | null;
|
|
68
|
+
/**
|
|
69
|
+
* Step 1: Initiate login - get auth URL and QR code
|
|
70
|
+
* Returns login info for display
|
|
71
|
+
*/
|
|
72
|
+
initiateLogin(): Promise<LoginInfo>;
|
|
73
|
+
/**
|
|
74
|
+
* Step 2: Complete login - poll for user to authenticate
|
|
75
|
+
*/
|
|
76
|
+
completeLogin(onStatus?: (status: string) => void): Promise<{
|
|
77
|
+
playerName: string;
|
|
78
|
+
}>;
|
|
79
|
+
/**
|
|
80
|
+
* Legacy method - Initialize SDK with callbacks (for compatibility)
|
|
81
|
+
*/
|
|
82
|
+
initializeWithAuth(callbacks: AuthCallbacks): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Initialize without auth (for testing only - will fail API calls)
|
|
85
|
+
*/
|
|
86
|
+
initialize(): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Cancel ongoing login
|
|
89
|
+
*/
|
|
90
|
+
cancelLogin(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Check if authenticated
|
|
93
|
+
*/
|
|
94
|
+
isAuthenticated(): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Logout
|
|
97
|
+
*/
|
|
98
|
+
logout(): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Set player nickname using PlayKit SDK
|
|
101
|
+
* Returns the new nickname if successful
|
|
102
|
+
*/
|
|
103
|
+
setNickname(nickname: string): Promise<{
|
|
104
|
+
success: boolean;
|
|
105
|
+
nickname?: string;
|
|
106
|
+
error?: string;
|
|
107
|
+
}>;
|
|
108
|
+
/**
|
|
109
|
+
* Get current nickname from PlayKit SDK
|
|
110
|
+
* Returns null if no nickname is set (user should be prompted to set one)
|
|
111
|
+
*/
|
|
112
|
+
getNickname(): Promise<string | null>;
|
|
113
|
+
/**
|
|
114
|
+
* Get or create a chat client for a model
|
|
115
|
+
*/
|
|
116
|
+
private getChatClient;
|
|
117
|
+
/**
|
|
118
|
+
* Generate weapon name based on affixes (with retry)
|
|
119
|
+
*/
|
|
120
|
+
generateWeaponName(affixes: string[]): Promise<string>;
|
|
121
|
+
/**
|
|
122
|
+
* Generate weapon description (with retry)
|
|
123
|
+
*/
|
|
124
|
+
generateWeaponDescription(name: string, affixes: string[]): Promise<string>;
|
|
125
|
+
/**
|
|
126
|
+
* Generate weapon lore (with retry)
|
|
127
|
+
*/
|
|
128
|
+
generateWeaponLore(name: string): Promise<string>;
|
|
129
|
+
/**
|
|
130
|
+
* Create an NPC client with appropriate system prompt
|
|
131
|
+
*/
|
|
132
|
+
createNPCClient(npcType: NPCType, customPrompt?: string): NPCClient;
|
|
133
|
+
/**
|
|
134
|
+
* Get system prompt for NPC type
|
|
135
|
+
*/
|
|
136
|
+
private getNPCSystemPrompt;
|
|
137
|
+
/**
|
|
138
|
+
* Talk to an NPC (with retry)
|
|
139
|
+
* Returns result indicating success/failure and whether retries were exhausted
|
|
140
|
+
*/
|
|
141
|
+
talkToNPC(npcType: NPCType, message: string, onChunk?: (chunk: string) => void): Promise<AIOperationResult<string>>;
|
|
142
|
+
/**
|
|
143
|
+
* Generate content with streaming
|
|
144
|
+
*/
|
|
145
|
+
generateStream(prompt: string, onChunk: (chunk: string) => void, model?: string): Promise<string>;
|
|
146
|
+
/**
|
|
147
|
+
* Generate combat narration (with retry)
|
|
148
|
+
*/
|
|
149
|
+
generateCombatNarration(playerName: string, enemyName: string, weaponName: string): Promise<string>;
|
|
150
|
+
/**
|
|
151
|
+
* Fallback weapon name generator
|
|
152
|
+
*/
|
|
153
|
+
private fallbackWeaponName;
|
|
154
|
+
/**
|
|
155
|
+
* Check if AI client is ready
|
|
156
|
+
*/
|
|
157
|
+
isReady(): boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Get SDK for direct access if needed
|
|
160
|
+
*/
|
|
161
|
+
getSDK(): PlayKitSDK;
|
|
162
|
+
}
|
|
163
|
+
export declare function getAIClient(): AIClient;
|
|
164
|
+
/**
|
|
165
|
+
* Step 1: Get login URL and info
|
|
166
|
+
*/
|
|
167
|
+
export declare function initiateLogin(): Promise<LoginInfo>;
|
|
168
|
+
/**
|
|
169
|
+
* Step 2: Complete login (poll for auth)
|
|
170
|
+
*/
|
|
171
|
+
export declare function completeLogin(onStatus?: (status: string) => void): Promise<{
|
|
172
|
+
playerName: string;
|
|
173
|
+
}>;
|
|
174
|
+
/**
|
|
175
|
+
* Legacy: Initialize AI with player authentication
|
|
176
|
+
*/
|
|
177
|
+
export declare function initializeAIWithAuth(callbacks: AuthCallbacks): Promise<AIClient>;
|
|
178
|
+
/**
|
|
179
|
+
* Try to restore authentication from saved tokens
|
|
180
|
+
* Returns result indicating if auth was restored
|
|
181
|
+
*/
|
|
182
|
+
export declare function tryRestoreAuth(): Promise<{
|
|
183
|
+
success: boolean;
|
|
184
|
+
playerName?: string;
|
|
185
|
+
needsRefresh?: boolean;
|
|
186
|
+
}>;
|
|
187
|
+
/**
|
|
188
|
+
* Set player nickname
|
|
189
|
+
*/
|
|
190
|
+
export declare function setNickname(nickname: string): Promise<{
|
|
191
|
+
success: boolean;
|
|
192
|
+
nickname?: string;
|
|
193
|
+
error?: string;
|
|
194
|
+
}>;
|
|
195
|
+
/**
|
|
196
|
+
* Get player nickname
|
|
197
|
+
*/
|
|
198
|
+
export declare function getNickname(): Promise<string | null>;
|
|
199
|
+
/**
|
|
200
|
+
* Logout and clear saved tokens
|
|
201
|
+
*/
|
|
202
|
+
export declare function logout(): Promise<void>;
|
|
203
|
+
/**
|
|
204
|
+
* Deprecated: No longer supported without auth
|
|
205
|
+
*/
|
|
206
|
+
export declare function initializeAI(): Promise<AIClient>;
|
|
207
|
+
export {};
|
|
208
|
+
//# sourceMappingURL=PlayKitClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayKitClient.d.ts","sourceRoot":"/","sources":["ai/PlayKitClient.ts"],"names":[],"mappings":"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"}
|