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,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Weapon Factory - generates weapons with affixes
|
|
3
|
+
*/
|
|
4
|
+
import type { Weapon, Rarity } from '../core/types.js';
|
|
5
|
+
interface WeaponGeneratorConfig {
|
|
6
|
+
playerLevel: number;
|
|
7
|
+
maxRarity?: Rarity;
|
|
8
|
+
guaranteedRarity?: Rarity;
|
|
9
|
+
affixCount?: {
|
|
10
|
+
min: number;
|
|
11
|
+
max: number;
|
|
12
|
+
};
|
|
13
|
+
useAI?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Generate a random weapon
|
|
17
|
+
*/
|
|
18
|
+
export declare function generateWeapon(config: WeaponGeneratorConfig): Promise<Weapon>;
|
|
19
|
+
/**
|
|
20
|
+
* Calculate total weapon stats including affixes
|
|
21
|
+
*/
|
|
22
|
+
export declare function calculateWeaponStats(weapon: Weapon): {
|
|
23
|
+
totalAttack: number;
|
|
24
|
+
bonusStats: Record<string, number>;
|
|
25
|
+
effects: string[];
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Format weapon for display
|
|
29
|
+
*/
|
|
30
|
+
export declare function formatWeapon(weapon: Weapon): string[];
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=WeaponFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WeaponFactory.d.ts","sourceRoot":"/","sources":["weapon/WeaponFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAgB,MAAM,kBAAkB,CAAC;AAIrE,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA6BD;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6EnF;AAkFD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CA8BA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CA+BrD"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Weapon Factory - generates weapons with affixes
|
|
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]="cd297e4e-25fa-5559-891b-09ab64efa066")}catch(e){}}();
|
|
6
|
+
import { getAffixRegistry } from '../affix/AffixRegistry.js';
|
|
7
|
+
import { getAIClient } from '../ai/PlayKitClient.js';
|
|
8
|
+
const WEAPON_BASES = [
|
|
9
|
+
{ name: 'Sword', baseAttack: 10, type: 'melee' },
|
|
10
|
+
{ name: 'Axe', baseAttack: 14, type: 'melee' },
|
|
11
|
+
{ name: 'Dagger', baseAttack: 6, type: 'melee' },
|
|
12
|
+
{ name: 'Mace', baseAttack: 12, type: 'melee' },
|
|
13
|
+
{ name: 'Spear', baseAttack: 11, type: 'melee' },
|
|
14
|
+
{ name: 'Staff', baseAttack: 8, type: 'magic' },
|
|
15
|
+
{ name: 'Wand', baseAttack: 5, type: 'magic' },
|
|
16
|
+
{ name: 'Bow', baseAttack: 9, type: 'ranged' },
|
|
17
|
+
];
|
|
18
|
+
const RARITY_COLORS = {
|
|
19
|
+
common: 'gray',
|
|
20
|
+
uncommon: 'green',
|
|
21
|
+
rare: 'blue',
|
|
22
|
+
epic: 'purple',
|
|
23
|
+
legendary: 'orange',
|
|
24
|
+
};
|
|
25
|
+
const RARITY_MULTIPLIERS = {
|
|
26
|
+
common: 1,
|
|
27
|
+
uncommon: 1.2,
|
|
28
|
+
rare: 1.5,
|
|
29
|
+
epic: 2,
|
|
30
|
+
legendary: 3,
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Generate a random weapon
|
|
34
|
+
*/
|
|
35
|
+
export async function generateWeapon(config) {
|
|
36
|
+
const { playerLevel, maxRarity = 'legendary', guaranteedRarity, affixCount = { min: 0, max: 2 }, useAI = true, } = config;
|
|
37
|
+
// Select base weapon
|
|
38
|
+
const base = WEAPON_BASES[Math.floor(Math.random() * WEAPON_BASES.length)];
|
|
39
|
+
// Determine rarity
|
|
40
|
+
const rarity = guaranteedRarity || rollRarity(playerLevel, maxRarity);
|
|
41
|
+
// Calculate base stats
|
|
42
|
+
const levelMultiplier = 1 + (playerLevel - 1) * 0.1;
|
|
43
|
+
const rarityMult = RARITY_MULTIPLIERS[rarity];
|
|
44
|
+
const baseAttack = Math.floor(base.baseAttack * levelMultiplier * rarityMult);
|
|
45
|
+
// Get random affixes
|
|
46
|
+
const registry = getAffixRegistry();
|
|
47
|
+
const numAffixes = Math.floor(Math.random() * (affixCount.max - affixCount.min + 1) + affixCount.min);
|
|
48
|
+
const affixDefs = registry.getRandomAffixes({
|
|
49
|
+
count: numAffixes,
|
|
50
|
+
maxRarity: rarity,
|
|
51
|
+
playerLevel,
|
|
52
|
+
});
|
|
53
|
+
const affixes = affixDefs.map(def => ({
|
|
54
|
+
definitionId: def.id,
|
|
55
|
+
name: def.name,
|
|
56
|
+
type: def.type,
|
|
57
|
+
rarity: def.rarity,
|
|
58
|
+
}));
|
|
59
|
+
// Generate name
|
|
60
|
+
let name;
|
|
61
|
+
let description;
|
|
62
|
+
let lore;
|
|
63
|
+
if (useAI && affixes.length > 0) {
|
|
64
|
+
try {
|
|
65
|
+
const ai = getAIClient();
|
|
66
|
+
const affixNames = affixes.map(a => a.name);
|
|
67
|
+
name = await ai.generateWeaponName(affixNames);
|
|
68
|
+
description = await ai.generateWeaponDescription(name, affixNames);
|
|
69
|
+
if (rarity === 'legendary' || rarity === 'epic') {
|
|
70
|
+
lore = await ai.generateWeaponLore(name);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
// Fallback to procedural generation
|
|
75
|
+
name = generateProceduralName(base.name, affixes, rarity);
|
|
76
|
+
description = generateProceduralDescription(base.name, affixes);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
name = generateProceduralName(base.name, affixes, rarity);
|
|
81
|
+
description = generateProceduralDescription(base.name, affixes);
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
id: `weapon_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
|
|
85
|
+
name,
|
|
86
|
+
description,
|
|
87
|
+
lore,
|
|
88
|
+
baseAttack,
|
|
89
|
+
durability: 100,
|
|
90
|
+
maxDurability: 100,
|
|
91
|
+
affixes,
|
|
92
|
+
rarity,
|
|
93
|
+
generatedByAI: useAI && affixes.length > 0,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Roll for weapon rarity
|
|
98
|
+
*/
|
|
99
|
+
function rollRarity(playerLevel, maxRarity) {
|
|
100
|
+
const rarityOrder = ['common', 'uncommon', 'rare', 'epic', 'legendary'];
|
|
101
|
+
const maxIndex = rarityOrder.indexOf(maxRarity);
|
|
102
|
+
// Base chances modified by level
|
|
103
|
+
const levelBonus = Math.min(playerLevel * 0.02, 0.2); // Up to 20% bonus at level 10
|
|
104
|
+
const chances = [
|
|
105
|
+
0.50 - levelBonus, // common
|
|
106
|
+
0.30, // uncommon
|
|
107
|
+
0.12 + levelBonus / 2, // rare
|
|
108
|
+
0.06 + levelBonus / 3, // epic
|
|
109
|
+
0.02 + levelBonus / 5, // legendary
|
|
110
|
+
];
|
|
111
|
+
const roll = Math.random();
|
|
112
|
+
let cumulative = 0;
|
|
113
|
+
for (let i = 0; i <= maxIndex; i++) {
|
|
114
|
+
cumulative += chances[i];
|
|
115
|
+
if (roll < cumulative) {
|
|
116
|
+
return rarityOrder[i];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return 'common';
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Generate a procedural weapon name
|
|
123
|
+
*/
|
|
124
|
+
function generateProceduralName(baseName, affixes, rarity) {
|
|
125
|
+
const prefix = affixes.find(a => a.type === 'prefix');
|
|
126
|
+
const suffix = affixes.find(a => a.type === 'suffix');
|
|
127
|
+
let name = '';
|
|
128
|
+
if (prefix) {
|
|
129
|
+
name = prefix.name + ' ';
|
|
130
|
+
}
|
|
131
|
+
name += baseName;
|
|
132
|
+
if (suffix) {
|
|
133
|
+
name += ' ' + suffix.name;
|
|
134
|
+
}
|
|
135
|
+
// Add title for legendary items
|
|
136
|
+
if (rarity === 'legendary') {
|
|
137
|
+
const titles = ['of Destiny', 'of Power', 'of Legends', 'the Mighty'];
|
|
138
|
+
if (!suffix) {
|
|
139
|
+
name += ' ' + titles[Math.floor(Math.random() * titles.length)];
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return name;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Generate a procedural description
|
|
146
|
+
*/
|
|
147
|
+
function generateProceduralDescription(baseName, affixes) {
|
|
148
|
+
if (affixes.length === 0) {
|
|
149
|
+
return `A standard ${baseName.toLowerCase()}.`;
|
|
150
|
+
}
|
|
151
|
+
const effects = affixes.map(a => a.name.toLowerCase()).join(' and ');
|
|
152
|
+
return `A ${baseName.toLowerCase()} imbued with ${effects}.`;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Calculate total weapon stats including affixes
|
|
156
|
+
*/
|
|
157
|
+
export function calculateWeaponStats(weapon) {
|
|
158
|
+
const registry = getAffixRegistry();
|
|
159
|
+
let totalAttack = weapon.baseAttack;
|
|
160
|
+
const bonusStats = {};
|
|
161
|
+
const effects = [];
|
|
162
|
+
for (const affix of weapon.affixes) {
|
|
163
|
+
const def = registry.get(affix.definitionId);
|
|
164
|
+
if (!def)
|
|
165
|
+
continue;
|
|
166
|
+
// Apply stat modifiers
|
|
167
|
+
if (def.statModifiers) {
|
|
168
|
+
for (const [stat, value] of Object.entries(def.statModifiers)) {
|
|
169
|
+
if (stat === 'attack') {
|
|
170
|
+
totalAttack += value;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
bonusStats[stat] = (bonusStats[stat] || 0) + value;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Collect effects
|
|
178
|
+
if (def.onHitEffects) {
|
|
179
|
+
for (const effect of def.onHitEffects) {
|
|
180
|
+
effects.push(`${effect.element || 'Physical'}: ${effect.value} (${Math.floor(effect.chance * 100)}%)`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return { totalAttack, bonusStats, effects };
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Format weapon for display
|
|
188
|
+
*/
|
|
189
|
+
export function formatWeapon(weapon) {
|
|
190
|
+
const lines = [];
|
|
191
|
+
const stats = calculateWeaponStats(weapon);
|
|
192
|
+
lines.push(`[${weapon.rarity.toUpperCase()}] ${weapon.name}`);
|
|
193
|
+
lines.push(`Attack: ${stats.totalAttack}`);
|
|
194
|
+
lines.push(`Durability: ${weapon.durability}/${weapon.maxDurability}`);
|
|
195
|
+
if (weapon.affixes.length > 0) {
|
|
196
|
+
lines.push('Affixes:');
|
|
197
|
+
for (const affix of weapon.affixes) {
|
|
198
|
+
lines.push(` - ${affix.name} (${affix.rarity})`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (stats.effects.length > 0) {
|
|
202
|
+
lines.push('Effects:');
|
|
203
|
+
for (const effect of stats.effects) {
|
|
204
|
+
lines.push(` - ${effect}`);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
lines.push('');
|
|
208
|
+
lines.push(weapon.description);
|
|
209
|
+
if (weapon.lore) {
|
|
210
|
+
lines.push('');
|
|
211
|
+
lines.push(`"${weapon.lore}"`);
|
|
212
|
+
}
|
|
213
|
+
return lines;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=WeaponFactory.js.map
|
|
216
|
+
//# debugId=cd297e4e-25fa-5559-891b-09ab64efa066
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WeaponFactory.js","sources":["weapon/WeaponFactory.ts"],"sourceRoot":"/","sourcesContent":["/**\r\n * Weapon Factory - generates weapons with affixes\r\n */\r\n\r\nimport type { Weapon, Rarity, AppliedAffix } from '../core/types.js';\r\nimport { getAffixRegistry } from '../affix/AffixRegistry.js';\r\nimport { getAIClient } from '../ai/PlayKitClient.js';\r\n\r\ninterface WeaponGeneratorConfig {\r\n playerLevel: number;\r\n maxRarity?: Rarity;\r\n guaranteedRarity?: Rarity;\r\n affixCount?: { min: number; max: number };\r\n useAI?: boolean;\r\n}\r\n\r\nconst WEAPON_BASES = [\r\n { name: 'Sword', baseAttack: 10, type: 'melee' },\r\n { name: 'Axe', baseAttack: 14, type: 'melee' },\r\n { name: 'Dagger', baseAttack: 6, type: 'melee' },\r\n { name: 'Mace', baseAttack: 12, type: 'melee' },\r\n { name: 'Spear', baseAttack: 11, type: 'melee' },\r\n { name: 'Staff', baseAttack: 8, type: 'magic' },\r\n { name: 'Wand', baseAttack: 5, type: 'magic' },\r\n { name: 'Bow', baseAttack: 9, type: 'ranged' },\r\n];\r\n\r\nconst RARITY_COLORS: Record<Rarity, string> = {\r\n common: 'gray',\r\n uncommon: 'green',\r\n rare: 'blue',\r\n epic: 'purple',\r\n legendary: 'orange',\r\n};\r\n\r\nconst RARITY_MULTIPLIERS: Record<Rarity, number> = {\r\n common: 1,\r\n uncommon: 1.2,\r\n rare: 1.5,\r\n epic: 2,\r\n legendary: 3,\r\n};\r\n\r\n/**\r\n * Generate a random weapon\r\n */\r\nexport async function generateWeapon(config: WeaponGeneratorConfig): Promise<Weapon> {\r\n const {\r\n playerLevel,\r\n maxRarity = 'legendary',\r\n guaranteedRarity,\r\n affixCount = { min: 0, max: 2 },\r\n useAI = true,\r\n } = config;\r\n\r\n // Select base weapon\r\n const base = WEAPON_BASES[Math.floor(Math.random() * WEAPON_BASES.length)];\r\n\r\n // Determine rarity\r\n const rarity = guaranteedRarity || rollRarity(playerLevel, maxRarity);\r\n\r\n // Calculate base stats\r\n const levelMultiplier = 1 + (playerLevel - 1) * 0.1;\r\n const rarityMult = RARITY_MULTIPLIERS[rarity];\r\n const baseAttack = Math.floor(base.baseAttack * levelMultiplier * rarityMult);\r\n\r\n // Get random affixes\r\n const registry = getAffixRegistry();\r\n const numAffixes = Math.floor(\r\n Math.random() * (affixCount.max - affixCount.min + 1) + affixCount.min\r\n );\r\n \r\n const affixDefs = registry.getRandomAffixes({\r\n count: numAffixes,\r\n maxRarity: rarity,\r\n playerLevel,\r\n });\r\n\r\n const affixes: AppliedAffix[] = affixDefs.map(def => ({\r\n definitionId: def.id,\r\n name: def.name,\r\n type: def.type,\r\n rarity: def.rarity,\r\n }));\r\n\r\n // Generate name\r\n let name: string;\r\n let description: string;\r\n let lore: string | undefined;\r\n\r\n if (useAI && affixes.length > 0) {\r\n try {\r\n const ai = getAIClient();\r\n const affixNames = affixes.map(a => a.name);\r\n \r\n name = await ai.generateWeaponName(affixNames);\r\n description = await ai.generateWeaponDescription(name, affixNames);\r\n \r\n if (rarity === 'legendary' || rarity === 'epic') {\r\n lore = await ai.generateWeaponLore(name);\r\n }\r\n } catch (error) {\r\n // Fallback to procedural generation\r\n name = generateProceduralName(base.name, affixes, rarity);\r\n description = generateProceduralDescription(base.name, affixes);\r\n }\r\n } else {\r\n name = generateProceduralName(base.name, affixes, rarity);\r\n description = generateProceduralDescription(base.name, affixes);\r\n }\r\n\r\n return {\r\n id: `weapon_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,\r\n name,\r\n description,\r\n lore,\r\n baseAttack,\r\n durability: 100,\r\n maxDurability: 100,\r\n affixes,\r\n rarity,\r\n generatedByAI: useAI && affixes.length > 0,\r\n };\r\n}\r\n\r\n/**\r\n * Roll for weapon rarity\r\n */\r\nfunction rollRarity(playerLevel: number, maxRarity: Rarity): Rarity {\r\n const rarityOrder: Rarity[] = ['common', 'uncommon', 'rare', 'epic', 'legendary'];\r\n const maxIndex = rarityOrder.indexOf(maxRarity);\r\n\r\n // Base chances modified by level\r\n const levelBonus = Math.min(playerLevel * 0.02, 0.2); // Up to 20% bonus at level 10\r\n \r\n const chances = [\r\n 0.50 - levelBonus, // common\r\n 0.30, // uncommon\r\n 0.12 + levelBonus / 2, // rare\r\n 0.06 + levelBonus / 3, // epic\r\n 0.02 + levelBonus / 5, // legendary\r\n ];\r\n\r\n const roll = Math.random();\r\n let cumulative = 0;\r\n\r\n for (let i = 0; i <= maxIndex; i++) {\r\n cumulative += chances[i];\r\n if (roll < cumulative) {\r\n return rarityOrder[i];\r\n }\r\n }\r\n\r\n return 'common';\r\n}\r\n\r\n/**\r\n * Generate a procedural weapon name\r\n */\r\nfunction generateProceduralName(\r\n baseName: string,\r\n affixes: AppliedAffix[],\r\n rarity: Rarity\r\n): string {\r\n const prefix = affixes.find(a => a.type === 'prefix');\r\n const suffix = affixes.find(a => a.type === 'suffix');\r\n\r\n let name = '';\r\n\r\n if (prefix) {\r\n name = prefix.name + ' ';\r\n }\r\n\r\n name += baseName;\r\n\r\n if (suffix) {\r\n name += ' ' + suffix.name;\r\n }\r\n\r\n // Add title for legendary items\r\n if (rarity === 'legendary') {\r\n const titles = ['of Destiny', 'of Power', 'of Legends', 'the Mighty'];\r\n if (!suffix) {\r\n name += ' ' + titles[Math.floor(Math.random() * titles.length)];\r\n }\r\n }\r\n\r\n return name;\r\n}\r\n\r\n/**\r\n * Generate a procedural description\r\n */\r\nfunction generateProceduralDescription(\r\n baseName: string,\r\n affixes: AppliedAffix[]\r\n): string {\r\n if (affixes.length === 0) {\r\n return `A standard ${baseName.toLowerCase()}.`;\r\n }\r\n\r\n const effects = affixes.map(a => a.name.toLowerCase()).join(' and ');\r\n return `A ${baseName.toLowerCase()} imbued with ${effects}.`;\r\n}\r\n\r\n/**\r\n * Calculate total weapon stats including affixes\r\n */\r\nexport function calculateWeaponStats(weapon: Weapon): {\r\n totalAttack: number;\r\n bonusStats: Record<string, number>;\r\n effects: string[];\r\n} {\r\n const registry = getAffixRegistry();\r\n let totalAttack = weapon.baseAttack;\r\n const bonusStats: Record<string, number> = {};\r\n const effects: string[] = [];\r\n\r\n for (const affix of weapon.affixes) {\r\n const def = registry.get(affix.definitionId);\r\n if (!def) continue;\r\n\r\n // Apply stat modifiers\r\n if (def.statModifiers) {\r\n for (const [stat, value] of Object.entries(def.statModifiers)) {\r\n if (stat === 'attack') {\r\n totalAttack += value as number;\r\n } else {\r\n bonusStats[stat] = (bonusStats[stat] || 0) + (value as number);\r\n }\r\n }\r\n }\r\n\r\n // Collect effects\r\n if (def.onHitEffects) {\r\n for (const effect of def.onHitEffects) {\r\n effects.push(`${effect.element || 'Physical'}: ${effect.value} (${Math.floor(effect.chance * 100)}%)`);\r\n }\r\n }\r\n }\r\n\r\n return { totalAttack, bonusStats, effects };\r\n}\r\n\r\n/**\r\n * Format weapon for display\r\n */\r\nexport function formatWeapon(weapon: Weapon): string[] {\r\n const lines: string[] = [];\r\n const stats = calculateWeaponStats(weapon);\r\n\r\n lines.push(`[${weapon.rarity.toUpperCase()}] ${weapon.name}`);\r\n lines.push(`Attack: ${stats.totalAttack}`);\r\n lines.push(`Durability: ${weapon.durability}/${weapon.maxDurability}`);\r\n \r\n if (weapon.affixes.length > 0) {\r\n lines.push('Affixes:');\r\n for (const affix of weapon.affixes) {\r\n lines.push(` - ${affix.name} (${affix.rarity})`);\r\n }\r\n }\r\n\r\n if (stats.effects.length > 0) {\r\n lines.push('Effects:');\r\n for (const effect of stats.effects) {\r\n lines.push(` - ${effect}`);\r\n }\r\n }\r\n\r\n lines.push('');\r\n lines.push(weapon.description);\r\n\r\n if (weapon.lore) {\r\n lines.push('');\r\n lines.push(`\"${weapon.lore}\"`);\r\n }\r\n\r\n return lines;\r\n}\r\n"],"names":[],"mappings":"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","debug_id":"cd297e4e-25fa-5559-891b-09ab64efa066"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["weapon/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Weapon 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]="5da0ddc1-3ac4-5f75-8c6c-aad8deb16e54")}catch(e){}}();
|
|
6
|
+
export { generateWeapon, calculateWeaponStats, formatWeapon } from './WeaponFactory.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
8
|
+
//# debugId=5da0ddc1-3ac4-5f75-8c6c-aad8deb16e54
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["weapon/index.ts"],"sourceRoot":"/","sourcesContent":["/**\r\n * Weapon module exports\r\n */\r\n\r\nexport { generateWeapon, calculateWeaponStats, formatWeapon } from './WeaponFactory.js';\r\n"],"names":[],"mappings":"AAAA;;GAEG;;;AAEH,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC","debug_id":"5da0ddc1-3ac4-5f75-8c6c-aad8deb16e54"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "idlerpg.sh",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "An AI-native terminal idle rpg game with more creative ai gameplay",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/main.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"idlerpg": "./dist/main.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc && pnpm sentry:sourcemaps",
|
|
15
|
+
"start": "node dist/main.js",
|
|
16
|
+
"dev": "tsx src/main.ts",
|
|
17
|
+
"watch": "tsc --watch",
|
|
18
|
+
"sentry:sourcemaps": "sentry-cli sourcemaps inject --org capsuleer --project idlerpg-sh ./dist && sentry-cli sourcemaps upload --org capsuleer --project idlerpg-sh ./dist"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"idlerpg",
|
|
22
|
+
"terminal",
|
|
23
|
+
"game",
|
|
24
|
+
"ai",
|
|
25
|
+
"idle-rpg",
|
|
26
|
+
"tui"
|
|
27
|
+
],
|
|
28
|
+
"author": "",
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/node": "^20.10.0",
|
|
32
|
+
"tsx": "^4.7.0",
|
|
33
|
+
"typescript": "^5.3.0"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@sentry/cli": "^2.58.4",
|
|
37
|
+
"@sentry/node": "^10.35.0",
|
|
38
|
+
"@sentry/profiling-node": "^10.35.0",
|
|
39
|
+
"open": "^11.0.0",
|
|
40
|
+
"playkit-sdk": "1.2.8-beta.5",
|
|
41
|
+
"qrcode-terminal": "^0.12.0"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=20.0.0"
|
|
45
|
+
}
|
|
46
|
+
}
|