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.
Files changed (478) hide show
  1. package/README.md +171 -0
  2. package/dist/affix/AffixRegistry.d.ts +68 -0
  3. package/dist/affix/AffixRegistry.d.ts.map +1 -0
  4. package/dist/affix/AffixRegistry.js +245 -0
  5. package/dist/affix/AffixRegistry.js.map +1 -0
  6. package/dist/affix/PluginLoader.d.ts +66 -0
  7. package/dist/affix/PluginLoader.d.ts.map +1 -0
  8. package/dist/affix/PluginLoader.js +321 -0
  9. package/dist/affix/PluginLoader.js.map +1 -0
  10. package/dist/affix/builtin.d.ts +6 -0
  11. package/dist/affix/builtin.d.ts.map +1 -0
  12. package/dist/affix/builtin.js +311 -0
  13. package/dist/affix/builtin.js.map +1 -0
  14. package/dist/affix/index.d.ts +8 -0
  15. package/dist/affix/index.d.ts.map +1 -0
  16. package/dist/affix/index.js +11 -0
  17. package/dist/affix/index.js.map +1 -0
  18. package/dist/affix/types.d.ts +152 -0
  19. package/dist/affix/types.d.ts.map +1 -0
  20. package/dist/affix/types.js +8 -0
  21. package/dist/affix/types.js.map +1 -0
  22. package/dist/ai/PlayKitClient.d.ts +208 -0
  23. package/dist/ai/PlayKitClient.d.ts.map +1 -0
  24. package/dist/ai/PlayKitClient.js +721 -0
  25. package/dist/ai/PlayKitClient.js.map +1 -0
  26. package/dist/ai/index.d.ts +5 -0
  27. package/dist/ai/index.d.ts.map +1 -0
  28. package/dist/ai/index.js +8 -0
  29. package/dist/ai/index.js.map +1 -0
  30. package/dist/app/App.d.ts +85 -0
  31. package/dist/app/App.d.ts.map +1 -0
  32. package/dist/app/App.js +296 -0
  33. package/dist/app/App.js.map +1 -0
  34. package/dist/app/EventBus.d.ts +222 -0
  35. package/dist/app/EventBus.d.ts.map +1 -0
  36. package/dist/app/EventBus.js +88 -0
  37. package/dist/app/EventBus.js.map +1 -0
  38. package/dist/app/Keybind.d.ts +83 -0
  39. package/dist/app/Keybind.d.ts.map +1 -0
  40. package/dist/app/Keybind.js +184 -0
  41. package/dist/app/Keybind.js.map +1 -0
  42. package/dist/app/Router.d.ts +123 -0
  43. package/dist/app/Router.d.ts.map +1 -0
  44. package/dist/app/Router.js +142 -0
  45. package/dist/app/Router.js.map +1 -0
  46. package/dist/app/ScreenManager.d.ts +97 -0
  47. package/dist/app/ScreenManager.d.ts.map +1 -0
  48. package/dist/app/ScreenManager.js +216 -0
  49. package/dist/app/ScreenManager.js.map +1 -0
  50. package/dist/app/index.d.ts +14 -0
  51. package/dist/app/index.d.ts.map +1 -0
  52. package/dist/app/index.js +19 -0
  53. package/dist/app/index.js.map +1 -0
  54. package/dist/app/screens/BaseScreen.d.ts +101 -0
  55. package/dist/app/screens/BaseScreen.d.ts.map +1 -0
  56. package/dist/app/screens/BaseScreen.js +132 -0
  57. package/dist/app/screens/BaseScreen.js.map +1 -0
  58. package/dist/app/screens/CharacterCreationScreen.d.ts +42 -0
  59. package/dist/app/screens/CharacterCreationScreen.d.ts.map +1 -0
  60. package/dist/app/screens/CharacterCreationScreen.js +467 -0
  61. package/dist/app/screens/CharacterCreationScreen.js.map +1 -0
  62. package/dist/app/screens/CombatScreen.d.ts +30 -0
  63. package/dist/app/screens/CombatScreen.d.ts.map +1 -0
  64. package/dist/app/screens/CombatScreen.js +309 -0
  65. package/dist/app/screens/CombatScreen.js.map +1 -0
  66. package/dist/app/screens/DialogScreen.d.ts +29 -0
  67. package/dist/app/screens/DialogScreen.d.ts.map +1 -0
  68. package/dist/app/screens/DialogScreen.js +295 -0
  69. package/dist/app/screens/DialogScreen.js.map +1 -0
  70. package/dist/app/screens/ExploreScreen.d.ts +50 -0
  71. package/dist/app/screens/ExploreScreen.d.ts.map +1 -0
  72. package/dist/app/screens/ExploreScreen.js +308 -0
  73. package/dist/app/screens/ExploreScreen.js.map +1 -0
  74. package/dist/app/screens/HelpScreen.d.ts +12 -0
  75. package/dist/app/screens/HelpScreen.d.ts.map +1 -0
  76. package/dist/app/screens/HelpScreen.js +155 -0
  77. package/dist/app/screens/HelpScreen.js.map +1 -0
  78. package/dist/app/screens/InventoryScreen.d.ts +27 -0
  79. package/dist/app/screens/InventoryScreen.d.ts.map +1 -0
  80. package/dist/app/screens/InventoryScreen.js +326 -0
  81. package/dist/app/screens/InventoryScreen.js.map +1 -0
  82. package/dist/app/screens/PrologueScreen.d.ts +24 -0
  83. package/dist/app/screens/PrologueScreen.d.ts.map +1 -0
  84. package/dist/app/screens/PrologueScreen.js +176 -0
  85. package/dist/app/screens/PrologueScreen.js.map +1 -0
  86. package/dist/app/screens/TitleScreen.d.ts +42 -0
  87. package/dist/app/screens/TitleScreen.d.ts.map +1 -0
  88. package/dist/app/screens/TitleScreen.js +380 -0
  89. package/dist/app/screens/TitleScreen.js.map +1 -0
  90. package/dist/app/screens/TravelScreen.d.ts +22 -0
  91. package/dist/app/screens/TravelScreen.d.ts.map +1 -0
  92. package/dist/app/screens/TravelScreen.js +122 -0
  93. package/dist/app/screens/TravelScreen.js.map +1 -0
  94. package/dist/app/screens/index.d.ts +14 -0
  95. package/dist/app/screens/index.d.ts.map +1 -0
  96. package/dist/app/screens/index.js +17 -0
  97. package/dist/app/screens/index.js.map +1 -0
  98. package/dist/commands/CommandRegistry.d.ts +91 -0
  99. package/dist/commands/CommandRegistry.d.ts.map +1 -0
  100. package/dist/commands/CommandRegistry.js +159 -0
  101. package/dist/commands/CommandRegistry.js.map +1 -0
  102. package/dist/commands/index.d.ts +7 -0
  103. package/dist/commands/index.d.ts.map +1 -0
  104. package/dist/commands/index.js +10 -0
  105. package/dist/commands/index.js.map +1 -0
  106. package/dist/core/Actor.d.ts +103 -0
  107. package/dist/core/Actor.d.ts.map +1 -0
  108. package/dist/core/Actor.js +409 -0
  109. package/dist/core/Actor.js.map +1 -0
  110. package/dist/core/Combat.d.ts +37 -0
  111. package/dist/core/Combat.d.ts.map +1 -0
  112. package/dist/core/Combat.js +294 -0
  113. package/dist/core/Combat.js.map +1 -0
  114. package/dist/core/DungeonRunner.d.ts +169 -0
  115. package/dist/core/DungeonRunner.d.ts.map +1 -0
  116. package/dist/core/DungeonRunner.js +627 -0
  117. package/dist/core/DungeonRunner.js.map +1 -0
  118. package/dist/core/Game.d.ts +133 -0
  119. package/dist/core/Game.d.ts.map +1 -0
  120. package/dist/core/Game.js +644 -0
  121. package/dist/core/Game.js.map +1 -0
  122. package/dist/core/IdleCombat.d.ts +61 -0
  123. package/dist/core/IdleCombat.d.ts.map +1 -0
  124. package/dist/core/IdleCombat.js +461 -0
  125. package/dist/core/IdleCombat.js.map +1 -0
  126. package/dist/core/IdleGameManager.d.ts +198 -0
  127. package/dist/core/IdleGameManager.d.ts.map +1 -0
  128. package/dist/core/IdleGameManager.js +688 -0
  129. package/dist/core/IdleGameManager.js.map +1 -0
  130. package/dist/core/IdleSaveManager.d.ts +109 -0
  131. package/dist/core/IdleSaveManager.d.ts.map +1 -0
  132. package/dist/core/IdleSaveManager.js +296 -0
  133. package/dist/core/IdleSaveManager.js.map +1 -0
  134. package/dist/core/NewGameFlowManager.d.ts +64 -0
  135. package/dist/core/NewGameFlowManager.d.ts.map +1 -0
  136. package/dist/core/NewGameFlowManager.js +153 -0
  137. package/dist/core/NewGameFlowManager.js.map +1 -0
  138. package/dist/core/Player.d.ts +65 -0
  139. package/dist/core/Player.d.ts.map +1 -0
  140. package/dist/core/Player.js +261 -0
  141. package/dist/core/Player.js.map +1 -0
  142. package/dist/core/RoomHandlers.d.ts +75 -0
  143. package/dist/core/RoomHandlers.d.ts.map +1 -0
  144. package/dist/core/RoomHandlers.js +383 -0
  145. package/dist/core/RoomHandlers.js.map +1 -0
  146. package/dist/core/SaveManager.d.ts +84 -0
  147. package/dist/core/SaveManager.d.ts.map +1 -0
  148. package/dist/core/SaveManager.js +281 -0
  149. package/dist/core/SaveManager.js.map +1 -0
  150. package/dist/core/SaveMigration.d.ts +69 -0
  151. package/dist/core/SaveMigration.d.ts.map +1 -0
  152. package/dist/core/SaveMigration.js +408 -0
  153. package/dist/core/SaveMigration.js.map +1 -0
  154. package/dist/core/StateAdapter.d.ts +79 -0
  155. package/dist/core/StateAdapter.d.ts.map +1 -0
  156. package/dist/core/StateAdapter.js +397 -0
  157. package/dist/core/StateAdapter.js.map +1 -0
  158. package/dist/core/Team.d.ts +145 -0
  159. package/dist/core/Team.d.ts.map +1 -0
  160. package/dist/core/Team.js +371 -0
  161. package/dist/core/Team.js.map +1 -0
  162. package/dist/core/TeamCombat.d.ts +88 -0
  163. package/dist/core/TeamCombat.d.ts.map +1 -0
  164. package/dist/core/TeamCombat.js +405 -0
  165. package/dist/core/TeamCombat.js.map +1 -0
  166. package/dist/core/TeamDungeonRunner.d.ts +186 -0
  167. package/dist/core/TeamDungeonRunner.d.ts.map +1 -0
  168. package/dist/core/TeamDungeonRunner.js +758 -0
  169. package/dist/core/TeamDungeonRunner.js.map +1 -0
  170. package/dist/core/TimeManager.d.ts +114 -0
  171. package/dist/core/TimeManager.d.ts.map +1 -0
  172. package/dist/core/TimeManager.js +318 -0
  173. package/dist/core/TimeManager.js.map +1 -0
  174. package/dist/core/index.d.ts +9 -0
  175. package/dist/core/index.d.ts.map +1 -0
  176. package/dist/core/index.js +12 -0
  177. package/dist/core/index.js.map +1 -0
  178. package/dist/core/timeConstants.d.ts +135 -0
  179. package/dist/core/timeConstants.d.ts.map +1 -0
  180. package/dist/core/timeConstants.js +157 -0
  181. package/dist/core/timeConstants.js.map +1 -0
  182. package/dist/core/types.d.ts +780 -0
  183. package/dist/core/types.d.ts.map +1 -0
  184. package/dist/core/types.js +16 -0
  185. package/dist/core/types.js.map +1 -0
  186. package/dist/data/continents/index.d.ts +163 -0
  187. package/dist/data/continents/index.d.ts.map +1 -0
  188. package/dist/data/continents/index.js +31 -0
  189. package/dist/data/continents/index.js.map +1 -0
  190. package/dist/data/continents/verdantia.d.ts +294 -0
  191. package/dist/data/continents/verdantia.d.ts.map +1 -0
  192. package/dist/data/continents/verdantia.js +327 -0
  193. package/dist/data/continents/verdantia.js.map +1 -0
  194. package/dist/handlers/DialogHandler.d.ts +95 -0
  195. package/dist/handlers/DialogHandler.d.ts.map +1 -0
  196. package/dist/handlers/DialogHandler.js +450 -0
  197. package/dist/handlers/DialogHandler.js.map +1 -0
  198. package/dist/handlers/SaveLoadHandler.d.ts +60 -0
  199. package/dist/handlers/SaveLoadHandler.d.ts.map +1 -0
  200. package/dist/handlers/SaveLoadHandler.js +187 -0
  201. package/dist/handlers/SaveLoadHandler.js.map +1 -0
  202. package/dist/handlers/TitleScreenHandler.d.ts +43 -0
  203. package/dist/handlers/TitleScreenHandler.d.ts.map +1 -0
  204. package/dist/handlers/TitleScreenHandler.js +508 -0
  205. package/dist/handlers/TitleScreenHandler.js.map +1 -0
  206. package/dist/handlers/WorkshopHandler.d.ts +75 -0
  207. package/dist/handlers/WorkshopHandler.d.ts.map +1 -0
  208. package/dist/handlers/WorkshopHandler.js +401 -0
  209. package/dist/handlers/WorkshopHandler.js.map +1 -0
  210. package/dist/handlers/index.d.ts +12 -0
  211. package/dist/handlers/index.d.ts.map +1 -0
  212. package/dist/handlers/index.js +14 -0
  213. package/dist/handlers/index.js.map +1 -0
  214. package/dist/handlers/types.d.ts +34 -0
  215. package/dist/handlers/types.d.ts.map +1 -0
  216. package/dist/handlers/types.js +8 -0
  217. package/dist/handlers/types.js.map +1 -0
  218. package/dist/i18n/en.d.ts +3 -0
  219. package/dist/i18n/en.d.ts.map +1 -0
  220. package/dist/i18n/en.js +130 -0
  221. package/dist/i18n/en.js.map +1 -0
  222. package/dist/i18n/index.d.ts +40 -0
  223. package/dist/i18n/index.d.ts.map +1 -0
  224. package/dist/i18n/index.js +105 -0
  225. package/dist/i18n/index.js.map +1 -0
  226. package/dist/i18n/types.d.ts +133 -0
  227. package/dist/i18n/types.d.ts.map +1 -0
  228. package/dist/i18n/types.js +8 -0
  229. package/dist/i18n/types.js.map +1 -0
  230. package/dist/i18n/zh.d.ts +3 -0
  231. package/dist/i18n/zh.d.ts.map +1 -0
  232. package/dist/i18n/zh.js +130 -0
  233. package/dist/i18n/zh.js.map +1 -0
  234. package/dist/instrument.d.ts +8 -0
  235. package/dist/instrument.d.ts.map +1 -0
  236. package/dist/instrument.js +33 -0
  237. package/dist/instrument.js.map +1 -0
  238. package/dist/main-new.d.ts +12 -0
  239. package/dist/main-new.d.ts.map +1 -0
  240. package/dist/main-new.js +32 -0
  241. package/dist/main-new.js.map +1 -0
  242. package/dist/main.d.ts +7 -0
  243. package/dist/main.d.ts.map +1 -0
  244. package/dist/main.js +2816 -0
  245. package/dist/main.js.map +1 -0
  246. package/dist/map/ContinentManager.d.ts +88 -0
  247. package/dist/map/ContinentManager.d.ts.map +1 -0
  248. package/dist/map/ContinentManager.js +241 -0
  249. package/dist/map/ContinentManager.js.map +1 -0
  250. package/dist/map/DungeonGenerator.d.ts +32 -0
  251. package/dist/map/DungeonGenerator.d.ts.map +1 -0
  252. package/dist/map/DungeonGenerator.js +615 -0
  253. package/dist/map/DungeonGenerator.js.map +1 -0
  254. package/dist/map/MapGenerator.d.ts +27 -0
  255. package/dist/map/MapGenerator.d.ts.map +1 -0
  256. package/dist/map/MapGenerator.js +485 -0
  257. package/dist/map/MapGenerator.js.map +1 -0
  258. package/dist/map/index.d.ts +5 -0
  259. package/dist/map/index.d.ts.map +1 -0
  260. package/dist/map/index.js +8 -0
  261. package/dist/map/index.js.map +1 -0
  262. package/dist/npc/NPCGenerator.d.ts +68 -0
  263. package/dist/npc/NPCGenerator.d.ts.map +1 -0
  264. package/dist/npc/NPCGenerator.js +468 -0
  265. package/dist/npc/NPCGenerator.js.map +1 -0
  266. package/dist/npc/NPCManager.d.ts +86 -0
  267. package/dist/npc/NPCManager.d.ts.map +1 -0
  268. package/dist/npc/NPCManager.js +217 -0
  269. package/dist/npc/NPCManager.js.map +1 -0
  270. package/dist/npc/fixedNPCs.d.ts +7 -0
  271. package/dist/npc/fixedNPCs.d.ts.map +1 -0
  272. package/dist/npc/fixedNPCs.js +196 -0
  273. package/dist/npc/fixedNPCs.js.map +1 -0
  274. package/dist/npc/index.d.ts +9 -0
  275. package/dist/npc/index.d.ts.map +1 -0
  276. package/dist/npc/index.js +12 -0
  277. package/dist/npc/index.js.map +1 -0
  278. package/dist/npc/traits.d.ts +33 -0
  279. package/dist/npc/traits.d.ts.map +1 -0
  280. package/dist/npc/traits.js +795 -0
  281. package/dist/npc/traits.js.map +1 -0
  282. package/dist/npc/types.d.ts +193 -0
  283. package/dist/npc/types.d.ts.map +1 -0
  284. package/dist/npc/types.js +9 -0
  285. package/dist/npc/types.js.map +1 -0
  286. package/dist/quest/QuestManager.d.ts +79 -0
  287. package/dist/quest/QuestManager.d.ts.map +1 -0
  288. package/dist/quest/QuestManager.js +273 -0
  289. package/dist/quest/QuestManager.js.map +1 -0
  290. package/dist/quest/index.d.ts +6 -0
  291. package/dist/quest/index.d.ts.map +1 -0
  292. package/dist/quest/index.js +9 -0
  293. package/dist/quest/index.js.map +1 -0
  294. package/dist/quest/types.d.ts +81 -0
  295. package/dist/quest/types.d.ts.map +1 -0
  296. package/dist/quest/types.js +8 -0
  297. package/dist/quest/types.js.map +1 -0
  298. package/dist/strategy/StrategyExecutor.d.ts +159 -0
  299. package/dist/strategy/StrategyExecutor.d.ts.map +1 -0
  300. package/dist/strategy/StrategyExecutor.js +479 -0
  301. package/dist/strategy/StrategyExecutor.js.map +1 -0
  302. package/dist/strategy/StrategyParser.d.ts +48 -0
  303. package/dist/strategy/StrategyParser.d.ts.map +1 -0
  304. package/dist/strategy/StrategyParser.js +321 -0
  305. package/dist/strategy/StrategyParser.js.map +1 -0
  306. package/dist/strategy/defaultStrategy.d.ts +40 -0
  307. package/dist/strategy/defaultStrategy.d.ts.map +1 -0
  308. package/dist/strategy/defaultStrategy.js +254 -0
  309. package/dist/strategy/defaultStrategy.js.map +1 -0
  310. package/dist/strategy/index.d.ts +8 -0
  311. package/dist/strategy/index.d.ts.map +1 -0
  312. package/dist/strategy/index.js +14 -0
  313. package/dist/strategy/index.js.map +1 -0
  314. package/dist/tui/ExploreMenu.d.ts +106 -0
  315. package/dist/tui/ExploreMenu.d.ts.map +1 -0
  316. package/dist/tui/ExploreMenu.js +282 -0
  317. package/dist/tui/ExploreMenu.js.map +1 -0
  318. package/dist/tui/GameUI.d.ts +313 -0
  319. package/dist/tui/GameUI.d.ts.map +1 -0
  320. package/dist/tui/GameUI.js +2116 -0
  321. package/dist/tui/GameUI.js.map +1 -0
  322. package/dist/tui/GameUIAdapter.d.ts +207 -0
  323. package/dist/tui/GameUIAdapter.d.ts.map +1 -0
  324. package/dist/tui/GameUIAdapter.js +1342 -0
  325. package/dist/tui/GameUIAdapter.js.map +1 -0
  326. package/dist/tui/Input.d.ts +139 -0
  327. package/dist/tui/Input.d.ts.map +1 -0
  328. package/dist/tui/Input.js +278 -0
  329. package/dist/tui/Input.js.map +1 -0
  330. package/dist/tui/Menu.d.ts +110 -0
  331. package/dist/tui/Menu.d.ts.map +1 -0
  332. package/dist/tui/Menu.js +365 -0
  333. package/dist/tui/Menu.js.map +1 -0
  334. package/dist/tui/Screen.d.ts +228 -0
  335. package/dist/tui/Screen.d.ts.map +1 -0
  336. package/dist/tui/Screen.js +502 -0
  337. package/dist/tui/Screen.js.map +1 -0
  338. package/dist/tui/components/Box.d.ts +36 -0
  339. package/dist/tui/components/Box.d.ts.map +1 -0
  340. package/dist/tui/components/Box.js +43 -0
  341. package/dist/tui/components/Box.js.map +1 -0
  342. package/dist/tui/components/List.d.ts +69 -0
  343. package/dist/tui/components/List.d.ts.map +1 -0
  344. package/dist/tui/components/List.js +136 -0
  345. package/dist/tui/components/List.js.map +1 -0
  346. package/dist/tui/components/ProgressBar.d.ts +42 -0
  347. package/dist/tui/components/ProgressBar.d.ts.map +1 -0
  348. package/dist/tui/components/ProgressBar.js +75 -0
  349. package/dist/tui/components/ProgressBar.js.map +1 -0
  350. package/dist/tui/components/index.d.ts +8 -0
  351. package/dist/tui/components/index.d.ts.map +1 -0
  352. package/dist/tui/components/index.js +11 -0
  353. package/dist/tui/components/index.js.map +1 -0
  354. package/dist/tui/core/BaseSection.d.ts +98 -0
  355. package/dist/tui/core/BaseSection.d.ts.map +1 -0
  356. package/dist/tui/core/BaseSection.js +174 -0
  357. package/dist/tui/core/BaseSection.js.map +1 -0
  358. package/dist/tui/core/Component.d.ts +61 -0
  359. package/dist/tui/core/Component.d.ts.map +1 -0
  360. package/dist/tui/core/Component.js +32 -0
  361. package/dist/tui/core/Component.js.map +1 -0
  362. package/dist/tui/core/Section.d.ts +101 -0
  363. package/dist/tui/core/Section.d.ts.map +1 -0
  364. package/dist/tui/core/Section.js +24 -0
  365. package/dist/tui/core/Section.js.map +1 -0
  366. package/dist/tui/core/SectionManager.d.ts +108 -0
  367. package/dist/tui/core/SectionManager.d.ts.map +1 -0
  368. package/dist/tui/core/SectionManager.js +258 -0
  369. package/dist/tui/core/SectionManager.js.map +1 -0
  370. package/dist/tui/core/index.d.ts +9 -0
  371. package/dist/tui/core/index.d.ts.map +1 -0
  372. package/dist/tui/core/index.js +12 -0
  373. package/dist/tui/core/index.js.map +1 -0
  374. package/dist/tui/index.d.ts +15 -0
  375. package/dist/tui/index.d.ts.map +1 -0
  376. package/dist/tui/index.js +23 -0
  377. package/dist/tui/index.js.map +1 -0
  378. package/dist/tui/screens/BaseScreen.d.ts +62 -0
  379. package/dist/tui/screens/BaseScreen.d.ts.map +1 -0
  380. package/dist/tui/screens/BaseScreen.js +55 -0
  381. package/dist/tui/screens/BaseScreen.js.map +1 -0
  382. package/dist/tui/screens/CombatScreen.d.ts +43 -0
  383. package/dist/tui/screens/CombatScreen.d.ts.map +1 -0
  384. package/dist/tui/screens/CombatScreen.js +125 -0
  385. package/dist/tui/screens/CombatScreen.js.map +1 -0
  386. package/dist/tui/screens/DialogScreen.d.ts +53 -0
  387. package/dist/tui/screens/DialogScreen.d.ts.map +1 -0
  388. package/dist/tui/screens/DialogScreen.js +90 -0
  389. package/dist/tui/screens/DialogScreen.js.map +1 -0
  390. package/dist/tui/screens/DungeonScreen.d.ts +80 -0
  391. package/dist/tui/screens/DungeonScreen.d.ts.map +1 -0
  392. package/dist/tui/screens/DungeonScreen.js +317 -0
  393. package/dist/tui/screens/DungeonScreen.js.map +1 -0
  394. package/dist/tui/screens/ExploreScreen.d.ts +69 -0
  395. package/dist/tui/screens/ExploreScreen.d.ts.map +1 -0
  396. package/dist/tui/screens/ExploreScreen.js +224 -0
  397. package/dist/tui/screens/ExploreScreen.js.map +1 -0
  398. package/dist/tui/screens/SectionScreen.d.ts +84 -0
  399. package/dist/tui/screens/SectionScreen.d.ts.map +1 -0
  400. package/dist/tui/screens/SectionScreen.js +156 -0
  401. package/dist/tui/screens/SectionScreen.js.map +1 -0
  402. package/dist/tui/screens/TitleScreen.d.ts +40 -0
  403. package/dist/tui/screens/TitleScreen.d.ts.map +1 -0
  404. package/dist/tui/screens/TitleScreen.js +253 -0
  405. package/dist/tui/screens/TitleScreen.js.map +1 -0
  406. package/dist/tui/screens/TownScreen.d.ts +98 -0
  407. package/dist/tui/screens/TownScreen.d.ts.map +1 -0
  408. package/dist/tui/screens/TownScreen.js +370 -0
  409. package/dist/tui/screens/TownScreen.js.map +1 -0
  410. package/dist/tui/screens/TravelScreen.d.ts +67 -0
  411. package/dist/tui/screens/TravelScreen.d.ts.map +1 -0
  412. package/dist/tui/screens/TravelScreen.js +286 -0
  413. package/dist/tui/screens/TravelScreen.js.map +1 -0
  414. package/dist/tui/screens/index.d.ts +8 -0
  415. package/dist/tui/screens/index.d.ts.map +1 -0
  416. package/dist/tui/screens/index.js +17 -0
  417. package/dist/tui/screens/index.js.map +1 -0
  418. package/dist/tui/sections/ActionsSection.d.ts +71 -0
  419. package/dist/tui/sections/ActionsSection.d.ts.map +1 -0
  420. package/dist/tui/sections/ActionsSection.js +184 -0
  421. package/dist/tui/sections/ActionsSection.js.map +1 -0
  422. package/dist/tui/sections/DungeonSection.d.ts +65 -0
  423. package/dist/tui/sections/DungeonSection.d.ts.map +1 -0
  424. package/dist/tui/sections/DungeonSection.js +144 -0
  425. package/dist/tui/sections/DungeonSection.js.map +1 -0
  426. package/dist/tui/sections/EventsSection.d.ts +50 -0
  427. package/dist/tui/sections/EventsSection.d.ts.map +1 -0
  428. package/dist/tui/sections/EventsSection.js +134 -0
  429. package/dist/tui/sections/EventsSection.js.map +1 -0
  430. package/dist/tui/sections/MapSection.d.ts +66 -0
  431. package/dist/tui/sections/MapSection.d.ts.map +1 -0
  432. package/dist/tui/sections/MapSection.js +669 -0
  433. package/dist/tui/sections/MapSection.js.map +1 -0
  434. package/dist/tui/sections/StatusSection.d.ts +47 -0
  435. package/dist/tui/sections/StatusSection.d.ts.map +1 -0
  436. package/dist/tui/sections/StatusSection.js +133 -0
  437. package/dist/tui/sections/StatusSection.js.map +1 -0
  438. package/dist/tui/sections/TeamSection.d.ts +71 -0
  439. package/dist/tui/sections/TeamSection.d.ts.map +1 -0
  440. package/dist/tui/sections/TeamSection.js +224 -0
  441. package/dist/tui/sections/TeamSection.js.map +1 -0
  442. package/dist/tui/sections/TravelingSection.d.ts +51 -0
  443. package/dist/tui/sections/TravelingSection.d.ts.map +1 -0
  444. package/dist/tui/sections/TravelingSection.js +106 -0
  445. package/dist/tui/sections/TravelingSection.js.map +1 -0
  446. package/dist/tui/sections/index.d.ts +9 -0
  447. package/dist/tui/sections/index.d.ts.map +1 -0
  448. package/dist/tui/sections/index.js +12 -0
  449. package/dist/tui/sections/index.js.map +1 -0
  450. package/dist/ui/Terminal.d.ts +68 -0
  451. package/dist/ui/Terminal.d.ts.map +1 -0
  452. package/dist/ui/Terminal.js +297 -0
  453. package/dist/ui/Terminal.js.map +1 -0
  454. package/dist/ui/index.d.ts +5 -0
  455. package/dist/ui/index.d.ts.map +1 -0
  456. package/dist/ui/index.js +8 -0
  457. package/dist/ui/index.js.map +1 -0
  458. package/dist/utils/configMigration.d.ts +14 -0
  459. package/dist/utils/configMigration.d.ts.map +1 -0
  460. package/dist/utils/configMigration.js +92 -0
  461. package/dist/utils/configMigration.js.map +1 -0
  462. package/dist/utils/errorHandler.d.ts +86 -0
  463. package/dist/utils/errorHandler.d.ts.map +1 -0
  464. package/dist/utils/errorHandler.js +224 -0
  465. package/dist/utils/errorHandler.js.map +1 -0
  466. package/dist/utils/logger.d.ts +14 -0
  467. package/dist/utils/logger.d.ts.map +1 -0
  468. package/dist/utils/logger.js +43 -0
  469. package/dist/utils/logger.js.map +1 -0
  470. package/dist/weapon/WeaponFactory.d.ts +32 -0
  471. package/dist/weapon/WeaponFactory.d.ts.map +1 -0
  472. package/dist/weapon/WeaponFactory.js +216 -0
  473. package/dist/weapon/WeaponFactory.js.map +1 -0
  474. package/dist/weapon/index.d.ts +5 -0
  475. package/dist/weapon/index.d.ts.map +1 -0
  476. package/dist/weapon/index.js +8 -0
  477. package/dist/weapon/index.js.map +1 -0
  478. package/package.json +46 -0
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Time Constants for IdleRPG
3
+ * All values are in real seconds
4
+ *
5
+ * Design targets:
6
+ * - First dungeon: ~50 minutes
7
+ * - Medium dungeon: 2-18 hours
8
+ * - Hard dungeon: 18-36 hours
9
+ */
10
+ /** Duration of each combat turn in seconds */
11
+ export declare const COMBAT_TURN_DURATION = 2;
12
+ /** Combat duration ranges (min, max) in seconds */
13
+ export declare const COMBAT_DURATION: {
14
+ readonly mob: {
15
+ readonly min: 60;
16
+ readonly max: 180;
17
+ };
18
+ readonly elite: {
19
+ readonly min: 180;
20
+ readonly max: 300;
21
+ };
22
+ readonly boss: {
23
+ readonly min: 300;
24
+ readonly max: 600;
25
+ };
26
+ readonly ambush: {
27
+ readonly min: 60;
28
+ readonly max: 120;
29
+ };
30
+ };
31
+ /** Base combat duration for regular mob encounters */
32
+ export declare const COMBAT_MOB_BASE = 120;
33
+ /** Base combat duration for elite encounters */
34
+ export declare const COMBAT_ELITE_BASE = 240;
35
+ /** Base combat duration for boss encounters */
36
+ export declare const COMBAT_BOSS_BASE = 450;
37
+ /** Base combat duration for ambush encounters */
38
+ export declare const COMBAT_AMBUSH_BASE = 90;
39
+ /** Travel time ranges (min, max) in seconds */
40
+ export declare const TRAVEL_TIME: {
41
+ readonly townToTown: {
42
+ readonly min: 300;
43
+ readonly max: 1800;
44
+ };
45
+ readonly townToDungeon: {
46
+ readonly min: 120;
47
+ readonly max: 900;
48
+ };
49
+ readonly enterDungeon: {
50
+ readonly min: 120;
51
+ readonly max: 300;
52
+ };
53
+ readonly roomToRoom: {
54
+ readonly min: 30;
55
+ readonly max: 120;
56
+ };
57
+ readonly levelToLevel: {
58
+ readonly min: 180;
59
+ readonly max: 300;
60
+ };
61
+ readonly returnToTown: {
62
+ readonly min: 300;
63
+ readonly max: 1200;
64
+ };
65
+ };
66
+ /** Base time to travel between towns */
67
+ export declare const TOWN_TO_TOWN_BASE = 900;
68
+ /** Base time to travel from town to dungeon */
69
+ export declare const TOWN_TO_DUNGEON_BASE = 420;
70
+ /** Base time to traverse a dungeon room */
71
+ export declare const ROOM_TRAVERSE_BASE = 60;
72
+ /** Time to return to town after dungeon completion */
73
+ export declare const RETURN_TO_TOWN_BASE = 600;
74
+ /** Time constants for different room types (in seconds) */
75
+ export declare const ROOM_TIMES: {
76
+ readonly entrance: 30;
77
+ readonly exit: 30;
78
+ readonly combat: 120;
79
+ readonly elite: 240;
80
+ readonly boss: 450;
81
+ readonly ambush: 90;
82
+ readonly treasure: 60;
83
+ readonly fountain: 120;
84
+ readonly altar: 90;
85
+ readonly shop: 120;
86
+ readonly event: 90;
87
+ readonly encounter: 120;
88
+ readonly trap: 60;
89
+ readonly puzzle: 180;
90
+ readonly rest: 180;
91
+ readonly safe_room: 180;
92
+ readonly dead_end: 30;
93
+ readonly empty: 45;
94
+ };
95
+ /** Time to rest at inn (full heal) */
96
+ export declare const INN_REST_TIME = 300;
97
+ /** Time to repair equipment at blacksmith */
98
+ export declare const REPAIR_TIME = 60;
99
+ /** Time to browse shop */
100
+ export declare const SHOP_BROWSE_TIME = 30;
101
+ /** Time per item crafted */
102
+ export declare const CRAFT_TIME_PER_ITEM = 120;
103
+ /** Interval to check for random encounters during travel */
104
+ export declare const RANDOM_ENCOUNTER_CHECK_INTERVAL = 30;
105
+ /** Duration added by random encounter */
106
+ export declare const RANDOM_ENCOUNTER_DURATION = 90;
107
+ /** Time multipliers based on dungeon difficulty */
108
+ export declare const DIFFICULTY_TIME_MODIFIERS: {
109
+ readonly easy: 0.8;
110
+ readonly normal: 1;
111
+ readonly hard: 1.2;
112
+ readonly nightmare: 1.5;
113
+ readonly legendary: 2;
114
+ };
115
+ /** Base player speed (1.0 = normal) */
116
+ export declare const BASE_PLAYER_SPEED = 1;
117
+ /** Speed boost from certain equipment/buffs */
118
+ export declare const SPEED_BOOST_PER_LEVEL = 0.02;
119
+ /**
120
+ * Calculate actual duration with modifiers
121
+ */
122
+ export declare function calculateDuration(baseDuration: number, difficultyModifier?: number, speedModifier?: number): number;
123
+ /**
124
+ * Format seconds into human readable string
125
+ */
126
+ export declare function formatDuration(seconds: number): string;
127
+ /**
128
+ * Format milliseconds timestamp to duration string
129
+ */
130
+ export declare function formatTimeRemaining(endTime: number, currentTime?: number): string;
131
+ /**
132
+ * Calculate progress percentage
133
+ */
134
+ export declare function calculateProgress(startTime: number, duration: number, currentTime?: number): number;
135
+ //# sourceMappingURL=timeConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeConstants.d.ts","sourceRoot":"/","sources":["core/timeConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,mDAAmD;AACnD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAKlB,CAAC;AAEX,sDAAsD;AACtD,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAMrC,+CAA+C;AAC/C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;CAOd,CAAC;AAEX,wCAAwC;AACxC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,+CAA+C;AAC/C,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,sDAAsD;AACtD,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAMvC,2DAA2D;AAC3D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;CA4Bb,CAAC;AAMX,sCAAsC;AACtC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,6CAA6C;AAC7C,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,0BAA0B;AAC1B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,4BAA4B;AAC5B,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAMvC,4DAA4D;AAC5D,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAElD,yCAAyC;AACzC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAM5C,mDAAmD;AACnD,eAAO,MAAM,yBAAyB;;;;;;CAM5B,CAAC;AAMX,uCAAuC;AACvC,eAAO,MAAM,iBAAiB,IAAM,CAAC;AAErC,+CAA+C;AAC/C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAM1C;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,kBAAkB,GAAE,MAAY,EAChC,aAAa,GAAE,MAAY,GAC1B,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,MAAmB,GAAG,MAAM,CAG7F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAmB,GAAG,MAAM,CAG/G"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Time Constants for IdleRPG
3
+ * All values are in real seconds
4
+ *
5
+ * Design targets:
6
+ * - First dungeon: ~50 minutes
7
+ * - Medium dungeon: 2-18 hours
8
+ * - Hard dungeon: 18-36 hours
9
+ */
10
+ // ============================================================================
11
+ // Combat Timing
12
+ // ============================================================================
13
+ /** Duration of each combat turn in seconds */
14
+
15
+ !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]="87974cc7-0632-5319-81f0-2ca69c511dee")}catch(e){}}();
16
+ export const COMBAT_TURN_DURATION = 2;
17
+ /** Combat duration ranges (min, max) in seconds */
18
+ export const COMBAT_DURATION = {
19
+ mob: { min: 60, max: 180 }, // 1-3 minutes
20
+ elite: { min: 180, max: 300 }, // 3-5 minutes
21
+ boss: { min: 300, max: 600 }, // 5-10 minutes
22
+ ambush: { min: 60, max: 120 }, // 1-2 minutes
23
+ };
24
+ /** Base combat duration for regular mob encounters */
25
+ export const COMBAT_MOB_BASE = 120; // 2 minutes average
26
+ /** Base combat duration for elite encounters */
27
+ export const COMBAT_ELITE_BASE = 240; // 4 minutes average
28
+ /** Base combat duration for boss encounters */
29
+ export const COMBAT_BOSS_BASE = 450; // 7.5 minutes average
30
+ /** Base combat duration for ambush encounters */
31
+ export const COMBAT_AMBUSH_BASE = 90; // 1.5 minutes average
32
+ // ============================================================================
33
+ // Travel Timing
34
+ // ============================================================================
35
+ /** Travel time ranges (min, max) in seconds */
36
+ export const TRAVEL_TIME = {
37
+ townToTown: { min: 300, max: 1800 }, // 5-30 minutes
38
+ townToDungeon: { min: 120, max: 900 }, // 2-15 minutes
39
+ enterDungeon: { min: 120, max: 300 }, // 2-5 minutes
40
+ roomToRoom: { min: 30, max: 120 }, // 30s-2 minutes
41
+ levelToLevel: { min: 180, max: 300 }, // 3-5 minutes
42
+ returnToTown: { min: 300, max: 1200 }, // 5-20 minutes
43
+ };
44
+ /** Base time to travel between towns */
45
+ export const TOWN_TO_TOWN_BASE = 900; // 15 minutes average
46
+ /** Base time to travel from town to dungeon */
47
+ export const TOWN_TO_DUNGEON_BASE = 420; // 7 minutes average
48
+ /** Base time to traverse a dungeon room */
49
+ export const ROOM_TRAVERSE_BASE = 60; // 1 minute average
50
+ /** Time to return to town after dungeon completion */
51
+ export const RETURN_TO_TOWN_BASE = 600; // 10 minutes average
52
+ // ============================================================================
53
+ // Room-Specific Timing
54
+ // ============================================================================
55
+ /** Time constants for different room types (in seconds) */
56
+ export const ROOM_TIMES = {
57
+ // Special rooms
58
+ entrance: 30, // Quick entry setup
59
+ exit: 30, // Exit transition
60
+ // Combat rooms
61
+ combat: 120, // 2 minutes regular combat
62
+ elite: 240, // 4 minutes elite combat
63
+ boss: 450, // 7.5 minutes boss fight
64
+ ambush: 90, // 1.5 minutes ambush
65
+ // Reward rooms
66
+ treasure: 60, // 1 minute to loot
67
+ fountain: 120, // 2 minutes to rest and heal
68
+ altar: 90, // 1.5 minutes for blessing
69
+ shop: 120, // 2 minutes shopping
70
+ // Event rooms (placeholders)
71
+ event: 90, // 1.5 minutes for event
72
+ encounter: 120, // 2 minutes NPC interaction
73
+ trap: 60, // 1 minute trap handling
74
+ puzzle: 180, // 3 minutes puzzle solving
75
+ // Navigation rooms
76
+ rest: 180, // 3 minutes safe room rest
77
+ safe_room: 180, // 3 minutes safe room
78
+ dead_end: 30, // 30 seconds to realize and turn back
79
+ empty: 45, // 45 seconds corridor
80
+ };
81
+ // ============================================================================
82
+ // Town Activity Timing
83
+ // ============================================================================
84
+ /** Time to rest at inn (full heal) */
85
+ export const INN_REST_TIME = 300; // 5 minutes
86
+ /** Time to repair equipment at blacksmith */
87
+ export const REPAIR_TIME = 60; // 1 minute
88
+ /** Time to browse shop */
89
+ export const SHOP_BROWSE_TIME = 30; // 30 seconds
90
+ /** Time per item crafted */
91
+ export const CRAFT_TIME_PER_ITEM = 120; // 2 minutes
92
+ // ============================================================================
93
+ // Random Encounter Timing
94
+ // ============================================================================
95
+ /** Interval to check for random encounters during travel */
96
+ export const RANDOM_ENCOUNTER_CHECK_INTERVAL = 30; // Check every 30 seconds
97
+ /** Duration added by random encounter */
98
+ export const RANDOM_ENCOUNTER_DURATION = 90; // 1.5 minutes
99
+ // ============================================================================
100
+ // Difficulty Modifiers
101
+ // ============================================================================
102
+ /** Time multipliers based on dungeon difficulty */
103
+ export const DIFFICULTY_TIME_MODIFIERS = {
104
+ easy: 0.8, // 20% faster
105
+ normal: 1.0, // Base time
106
+ hard: 1.2, // 20% slower
107
+ nightmare: 1.5, // 50% slower
108
+ legendary: 2.0, // 100% slower
109
+ };
110
+ // ============================================================================
111
+ // Player Speed Modifiers
112
+ // ============================================================================
113
+ /** Base player speed (1.0 = normal) */
114
+ export const BASE_PLAYER_SPEED = 1.0;
115
+ /** Speed boost from certain equipment/buffs */
116
+ export const SPEED_BOOST_PER_LEVEL = 0.02; // 2% per speed stat point
117
+ // ============================================================================
118
+ // Utility Functions
119
+ // ============================================================================
120
+ /**
121
+ * Calculate actual duration with modifiers
122
+ */
123
+ export function calculateDuration(baseDuration, difficultyModifier = 1.0, speedModifier = 1.0) {
124
+ return Math.ceil(baseDuration * difficultyModifier / speedModifier);
125
+ }
126
+ /**
127
+ * Format seconds into human readable string
128
+ */
129
+ export function formatDuration(seconds) {
130
+ if (seconds < 60) {
131
+ return `${seconds}s`;
132
+ }
133
+ const minutes = Math.floor(seconds / 60);
134
+ const remainingSeconds = seconds % 60;
135
+ if (minutes < 60) {
136
+ return remainingSeconds > 0 ? `${minutes}m ${remainingSeconds}s` : `${minutes}m`;
137
+ }
138
+ const hours = Math.floor(minutes / 60);
139
+ const remainingMinutes = minutes % 60;
140
+ return `${hours}h ${remainingMinutes}m`;
141
+ }
142
+ /**
143
+ * Format milliseconds timestamp to duration string
144
+ */
145
+ export function formatTimeRemaining(endTime, currentTime = Date.now()) {
146
+ const remaining = Math.max(0, Math.ceil((endTime - currentTime) / 1000));
147
+ return formatDuration(remaining);
148
+ }
149
+ /**
150
+ * Calculate progress percentage
151
+ */
152
+ export function calculateProgress(startTime, duration, currentTime = Date.now()) {
153
+ const elapsed = (currentTime - startTime) / 1000;
154
+ return Math.min(1, Math.max(0, elapsed / duration));
155
+ }
156
+ //# sourceMappingURL=timeConstants.js.map
157
+ //# debugId=87974cc7-0632-5319-81f0-2ca69c511dee
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeConstants.js","sources":["core/timeConstants.ts"],"sourceRoot":"/","sourcesContent":["/**\r\n * Time Constants for IdleRPG\r\n * All values are in real seconds\r\n *\r\n * Design targets:\r\n * - First dungeon: ~50 minutes\r\n * - Medium dungeon: 2-18 hours\r\n * - Hard dungeon: 18-36 hours\r\n */\r\n\r\n// ============================================================================\r\n// Combat Timing\r\n// ============================================================================\r\n\r\n/** Duration of each combat turn in seconds */\r\nexport const COMBAT_TURN_DURATION = 2;\r\n\r\n/** Combat duration ranges (min, max) in seconds */\r\nexport const COMBAT_DURATION = {\r\n mob: { min: 60, max: 180 }, // 1-3 minutes\r\n elite: { min: 180, max: 300 }, // 3-5 minutes\r\n boss: { min: 300, max: 600 }, // 5-10 minutes\r\n ambush: { min: 60, max: 120 }, // 1-2 minutes\r\n} as const;\r\n\r\n/** Base combat duration for regular mob encounters */\r\nexport const COMBAT_MOB_BASE = 120; // 2 minutes average\r\n\r\n/** Base combat duration for elite encounters */\r\nexport const COMBAT_ELITE_BASE = 240; // 4 minutes average\r\n\r\n/** Base combat duration for boss encounters */\r\nexport const COMBAT_BOSS_BASE = 450; // 7.5 minutes average\r\n\r\n/** Base combat duration for ambush encounters */\r\nexport const COMBAT_AMBUSH_BASE = 90; // 1.5 minutes average\r\n\r\n// ============================================================================\r\n// Travel Timing\r\n// ============================================================================\r\n\r\n/** Travel time ranges (min, max) in seconds */\r\nexport const TRAVEL_TIME = {\r\n townToTown: { min: 300, max: 1800 }, // 5-30 minutes\r\n townToDungeon: { min: 120, max: 900 }, // 2-15 minutes\r\n enterDungeon: { min: 120, max: 300 }, // 2-5 minutes\r\n roomToRoom: { min: 30, max: 120 }, // 30s-2 minutes\r\n levelToLevel: { min: 180, max: 300 }, // 3-5 minutes\r\n returnToTown: { min: 300, max: 1200 }, // 5-20 minutes\r\n} as const;\r\n\r\n/** Base time to travel between towns */\r\nexport const TOWN_TO_TOWN_BASE = 900; // 15 minutes average\r\n\r\n/** Base time to travel from town to dungeon */\r\nexport const TOWN_TO_DUNGEON_BASE = 420; // 7 minutes average\r\n\r\n/** Base time to traverse a dungeon room */\r\nexport const ROOM_TRAVERSE_BASE = 60; // 1 minute average\r\n\r\n/** Time to return to town after dungeon completion */\r\nexport const RETURN_TO_TOWN_BASE = 600; // 10 minutes average\r\n\r\n// ============================================================================\r\n// Room-Specific Timing\r\n// ============================================================================\r\n\r\n/** Time constants for different room types (in seconds) */\r\nexport const ROOM_TIMES = {\r\n // Special rooms\r\n entrance: 30, // Quick entry setup\r\n exit: 30, // Exit transition\r\n\r\n // Combat rooms\r\n combat: 120, // 2 minutes regular combat\r\n elite: 240, // 4 minutes elite combat\r\n boss: 450, // 7.5 minutes boss fight\r\n ambush: 90, // 1.5 minutes ambush\r\n\r\n // Reward rooms\r\n treasure: 60, // 1 minute to loot\r\n fountain: 120, // 2 minutes to rest and heal\r\n altar: 90, // 1.5 minutes for blessing\r\n shop: 120, // 2 minutes shopping\r\n\r\n // Event rooms (placeholders)\r\n event: 90, // 1.5 minutes for event\r\n encounter: 120, // 2 minutes NPC interaction\r\n trap: 60, // 1 minute trap handling\r\n puzzle: 180, // 3 minutes puzzle solving\r\n\r\n // Navigation rooms\r\n rest: 180, // 3 minutes safe room rest\r\n safe_room: 180, // 3 minutes safe room\r\n dead_end: 30, // 30 seconds to realize and turn back\r\n empty: 45, // 45 seconds corridor\r\n} as const;\r\n\r\n// ============================================================================\r\n// Town Activity Timing\r\n// ============================================================================\r\n\r\n/** Time to rest at inn (full heal) */\r\nexport const INN_REST_TIME = 300; // 5 minutes\r\n\r\n/** Time to repair equipment at blacksmith */\r\nexport const REPAIR_TIME = 60; // 1 minute\r\n\r\n/** Time to browse shop */\r\nexport const SHOP_BROWSE_TIME = 30; // 30 seconds\r\n\r\n/** Time per item crafted */\r\nexport const CRAFT_TIME_PER_ITEM = 120; // 2 minutes\r\n\r\n// ============================================================================\r\n// Random Encounter Timing\r\n// ============================================================================\r\n\r\n/** Interval to check for random encounters during travel */\r\nexport const RANDOM_ENCOUNTER_CHECK_INTERVAL = 30; // Check every 30 seconds\r\n\r\n/** Duration added by random encounter */\r\nexport const RANDOM_ENCOUNTER_DURATION = 90; // 1.5 minutes\r\n\r\n// ============================================================================\r\n// Difficulty Modifiers\r\n// ============================================================================\r\n\r\n/** Time multipliers based on dungeon difficulty */\r\nexport const DIFFICULTY_TIME_MODIFIERS = {\r\n easy: 0.8, // 20% faster\r\n normal: 1.0, // Base time\r\n hard: 1.2, // 20% slower\r\n nightmare: 1.5, // 50% slower\r\n legendary: 2.0, // 100% slower\r\n} as const;\r\n\r\n// ============================================================================\r\n// Player Speed Modifiers\r\n// ============================================================================\r\n\r\n/** Base player speed (1.0 = normal) */\r\nexport const BASE_PLAYER_SPEED = 1.0;\r\n\r\n/** Speed boost from certain equipment/buffs */\r\nexport const SPEED_BOOST_PER_LEVEL = 0.02; // 2% per speed stat point\r\n\r\n// ============================================================================\r\n// Utility Functions\r\n// ============================================================================\r\n\r\n/**\r\n * Calculate actual duration with modifiers\r\n */\r\nexport function calculateDuration(\r\n baseDuration: number,\r\n difficultyModifier: number = 1.0,\r\n speedModifier: number = 1.0\r\n): number {\r\n return Math.ceil(baseDuration * difficultyModifier / speedModifier);\r\n}\r\n\r\n/**\r\n * Format seconds into human readable string\r\n */\r\nexport function formatDuration(seconds: number): string {\r\n if (seconds < 60) {\r\n return `${seconds}s`;\r\n }\r\n const minutes = Math.floor(seconds / 60);\r\n const remainingSeconds = seconds % 60;\r\n if (minutes < 60) {\r\n return remainingSeconds > 0 ? `${minutes}m ${remainingSeconds}s` : `${minutes}m`;\r\n }\r\n const hours = Math.floor(minutes / 60);\r\n const remainingMinutes = minutes % 60;\r\n return `${hours}h ${remainingMinutes}m`;\r\n}\r\n\r\n/**\r\n * Format milliseconds timestamp to duration string\r\n */\r\nexport function formatTimeRemaining(endTime: number, currentTime: number = Date.now()): string {\r\n const remaining = Math.max(0, Math.ceil((endTime - currentTime) / 1000));\r\n return formatDuration(remaining);\r\n}\r\n\r\n/**\r\n * Calculate progress percentage\r\n */\r\nexport function calculateProgress(startTime: number, duration: number, currentTime: number = Date.now()): number {\r\n const elapsed = (currentTime - startTime) / 1000;\r\n return Math.min(1, Math.max(0, elapsed / duration));\r\n}\r\n"],"names":[],"mappings":"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","debug_id":"87974cc7-0632-5319-81f0-2ca69c511dee"}