@kitten-science/kitten-scientists 2.0.0-beta.10-20250324-9cc9866 → 2.0.0-beta.10-dev-1c648fc

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 (202) hide show
  1. package/lib/BonfireManager.d.ts +17 -5
  2. package/lib/BonfireManager.d.ts.map +1 -1
  3. package/lib/BonfireManager.js +14 -13
  4. package/lib/BonfireManager.js.map +1 -1
  5. package/lib/Engine.js +3 -3
  6. package/lib/Engine.js.map +1 -1
  7. package/lib/KittenScientists.d.ts +5 -4
  8. package/lib/KittenScientists.d.ts.map +1 -1
  9. package/lib/KittenScientists.js.map +1 -1
  10. package/lib/ReligionManager.d.ts +5 -4
  11. package/lib/ReligionManager.d.ts.map +1 -1
  12. package/lib/ReligionManager.js +15 -18
  13. package/lib/ReligionManager.js.map +1 -1
  14. package/lib/ScienceManager.d.ts +2 -2
  15. package/lib/ScienceManager.d.ts.map +1 -1
  16. package/lib/ScienceManager.js.map +1 -1
  17. package/lib/SpaceManager.d.ts +3 -2
  18. package/lib/SpaceManager.d.ts.map +1 -1
  19. package/lib/SpaceManager.js +6 -3
  20. package/lib/SpaceManager.js.map +1 -1
  21. package/lib/TabManager.d.ts +3 -2
  22. package/lib/TabManager.d.ts.map +1 -1
  23. package/lib/TabManager.js.map +1 -1
  24. package/lib/TimeControlManager.d.ts +3 -2
  25. package/lib/TimeControlManager.d.ts.map +1 -1
  26. package/lib/TimeControlManager.js +6 -5
  27. package/lib/TimeControlManager.js.map +1 -1
  28. package/lib/TimeManager.d.ts +5 -3
  29. package/lib/TimeManager.d.ts.map +1 -1
  30. package/lib/TimeManager.js +21 -23
  31. package/lib/TimeManager.js.map +1 -1
  32. package/lib/TradeManager.d.ts +8 -7
  33. package/lib/TradeManager.d.ts.map +1 -1
  34. package/lib/TradeManager.js +7 -7
  35. package/lib/TradeManager.js.map +1 -1
  36. package/lib/UpgradeManager.d.ts +7 -2
  37. package/lib/UpgradeManager.d.ts.map +1 -1
  38. package/lib/UpgradeManager.js +24 -16
  39. package/lib/UpgradeManager.js.map +1 -1
  40. package/lib/VillageManager.d.ts +2 -2
  41. package/lib/VillageManager.d.ts.map +1 -1
  42. package/lib/VillageManager.js +1 -1
  43. package/lib/VillageManager.js.map +1 -1
  44. package/lib/WorkshopManager.d.ts +7 -6
  45. package/lib/WorkshopManager.d.ts.map +1 -1
  46. package/lib/WorkshopManager.js +1 -1
  47. package/lib/WorkshopManager.js.map +1 -1
  48. package/lib/helper/BulkPurchaseHelper.d.ts +9 -4
  49. package/lib/helper/BulkPurchaseHelper.d.ts.map +1 -1
  50. package/lib/helper/BulkPurchaseHelper.js +9 -11
  51. package/lib/helper/BulkPurchaseHelper.js.map +1 -1
  52. package/lib/settings/ElectLeaderSettings.d.ts +1 -1
  53. package/lib/settings/MissionSettings.d.ts +3 -2
  54. package/lib/settings/MissionSettings.d.ts.map +1 -1
  55. package/lib/settings/MissionSettings.js.map +1 -1
  56. package/lib/settings/PolicySettings.d.ts +3 -2
  57. package/lib/settings/PolicySettings.d.ts.map +1 -1
  58. package/lib/settings/PolicySettings.js.map +1 -1
  59. package/lib/settings/ReligionSettings.d.ts +1 -8
  60. package/lib/settings/ReligionSettings.d.ts.map +1 -1
  61. package/lib/settings/ReligionSettings.js +0 -18
  62. package/lib/settings/ReligionSettings.js.map +1 -1
  63. package/lib/settings/ResetReligionSettings.d.ts +1 -2
  64. package/lib/settings/ResetReligionSettings.d.ts.map +1 -1
  65. package/lib/settings/ResetReligionSettings.js.map +1 -1
  66. package/lib/settings/ScienceSettings.d.ts +2 -2
  67. package/lib/settings/ScienceSettings.d.ts.map +1 -1
  68. package/lib/settings/ScienceSettings.js.map +1 -1
  69. package/lib/settings/Settings.d.ts +1 -2
  70. package/lib/settings/Settings.d.ts.map +1 -1
  71. package/lib/settings/Settings.js.map +1 -1
  72. package/lib/settings/SpaceSettings.d.ts +3 -2
  73. package/lib/settings/SpaceSettings.d.ts.map +1 -1
  74. package/lib/settings/SpaceSettings.js.map +1 -1
  75. package/lib/settings/TechSettings.d.ts +3 -2
  76. package/lib/settings/TechSettings.d.ts.map +1 -1
  77. package/lib/settings/TechSettings.js.map +1 -1
  78. package/lib/settings/UpgradeSettings.d.ts +3 -2
  79. package/lib/settings/UpgradeSettings.d.ts.map +1 -1
  80. package/lib/settings/UpgradeSettings.js.map +1 -1
  81. package/lib/settings/WorkshopSettings.d.ts +3 -2
  82. package/lib/settings/WorkshopSettings.d.ts.map +1 -1
  83. package/lib/settings/WorkshopSettings.js.map +1 -1
  84. package/lib/tools/SavegameLoader.d.ts +3 -2
  85. package/lib/tools/SavegameLoader.d.ts.map +1 -1
  86. package/lib/tools/SavegameLoader.js.map +1 -1
  87. package/lib/types/{releases.d.ts → _releases.d.ts} +1 -1
  88. package/lib/types/_releases.d.ts.map +1 -0
  89. package/lib/types/_releases.js +2 -0
  90. package/lib/types/_releases.js.map +1 -0
  91. package/lib/types/{save.d.ts → _save.d.ts} +1 -1
  92. package/lib/types/_save.d.ts.map +1 -0
  93. package/lib/types/{save.js → _save.js} +1 -1
  94. package/lib/types/_save.js.map +1 -0
  95. package/lib/types/achievements.d.ts +56 -0
  96. package/lib/types/achievements.d.ts.map +1 -0
  97. package/lib/types/achievements.js +2 -0
  98. package/lib/types/achievements.js.map +1 -0
  99. package/lib/types/buildings.d.ts +168 -202
  100. package/lib/types/buildings.d.ts.map +1 -1
  101. package/lib/types/buildings.js +1 -47
  102. package/lib/types/buildings.js.map +1 -1
  103. package/lib/types/calendar.d.ts +78 -0
  104. package/lib/types/calendar.d.ts.map +1 -0
  105. package/lib/types/calendar.js +2 -0
  106. package/lib/types/calendar.js.map +1 -0
  107. package/lib/types/challenges.d.ts +136 -0
  108. package/lib/types/challenges.d.ts.map +1 -0
  109. package/lib/types/challenges.js +2 -0
  110. package/lib/types/challenges.js.map +1 -0
  111. package/lib/types/core.d.ts +325 -0
  112. package/lib/types/core.d.ts.map +1 -0
  113. package/lib/types/core.js +2 -0
  114. package/lib/types/core.js.map +1 -0
  115. package/lib/types/diplomacy.d.ts +169 -0
  116. package/lib/types/diplomacy.d.ts.map +1 -0
  117. package/lib/types/diplomacy.js +2 -0
  118. package/lib/types/diplomacy.js.map +1 -0
  119. package/lib/types/game.d.ts +440 -444
  120. package/lib/types/game.d.ts.map +1 -1
  121. package/lib/types/index.d.ts +327 -207
  122. package/lib/types/index.d.ts.map +1 -1
  123. package/lib/types/index.js +713 -3
  124. package/lib/types/index.js.map +1 -1
  125. package/lib/types/math.d.ts +10 -0
  126. package/lib/types/math.d.ts.map +1 -0
  127. package/lib/types/math.js +2 -0
  128. package/lib/types/math.js.map +1 -0
  129. package/lib/types/prestige.d.ts +47 -0
  130. package/lib/types/prestige.d.ts.map +1 -0
  131. package/lib/types/prestige.js +2 -0
  132. package/lib/types/prestige.js.map +1 -0
  133. package/lib/types/religion.d.ts +351 -56
  134. package/lib/types/religion.d.ts.map +1 -1
  135. package/lib/types/religion.js +1 -43
  136. package/lib/types/religion.js.map +1 -1
  137. package/lib/types/resources.d.ts +86 -0
  138. package/lib/types/resources.d.ts.map +1 -0
  139. package/lib/types/resources.js +2 -0
  140. package/lib/types/resources.js.map +1 -0
  141. package/lib/types/science.d.ts +81 -32
  142. package/lib/types/science.d.ts.map +1 -1
  143. package/lib/types/science.js +1 -128
  144. package/lib/types/science.js.map +1 -1
  145. package/lib/types/space.d.ts +108 -22
  146. package/lib/types/space.d.ts.map +1 -1
  147. package/lib/types/space.js +1 -53
  148. package/lib/types/space.js.map +1 -1
  149. package/lib/types/stats.d.ts +35 -0
  150. package/lib/types/stats.d.ts.map +1 -0
  151. package/lib/types/stats.js +2 -0
  152. package/lib/types/stats.js.map +1 -0
  153. package/lib/types/time.d.ts +247 -30
  154. package/lib/types/time.d.ts.map +1 -1
  155. package/lib/types/time.js +1 -22
  156. package/lib/types/time.js.map +1 -1
  157. package/lib/types/toolbar.d.ts +37 -0
  158. package/lib/types/toolbar.d.ts.map +1 -0
  159. package/lib/types/toolbar.js +2 -0
  160. package/lib/types/toolbar.js.map +1 -0
  161. package/lib/types/ui.d.ts +115 -0
  162. package/lib/types/ui.d.ts.map +1 -0
  163. package/lib/types/ui.js +2 -0
  164. package/lib/types/ui.js.map +1 -0
  165. package/lib/types/village.d.ts +496 -9
  166. package/lib/types/village.d.ts.map +1 -1
  167. package/lib/types/void.d.ts +19 -0
  168. package/lib/types/void.d.ts.map +1 -0
  169. package/lib/types/void.js +2 -0
  170. package/lib/types/void.js.map +1 -0
  171. package/lib/types/workshop.d.ts +130 -10
  172. package/lib/types/workshop.d.ts.map +1 -1
  173. package/lib/types/workshop.js +1 -139
  174. package/lib/types/workshop.js.map +1 -1
  175. package/lib/ui/ReligionSettingsUi.d.ts.map +1 -1
  176. package/lib/ui/ReligionSettingsUi.js +2 -1
  177. package/lib/ui/ReligionSettingsUi.js.map +1 -1
  178. package/lib/ui/ResetReligionSettingsUi.d.ts.map +1 -1
  179. package/lib/ui/ResetReligionSettingsUi.js +1 -1
  180. package/lib/ui/ResetReligionSettingsUi.js.map +1 -1
  181. package/lib/ui/ResetTimeSettingsUi.d.ts.map +1 -1
  182. package/lib/ui/ResetTimeSettingsUi.js +1 -1
  183. package/lib/ui/ResetTimeSettingsUi.js.map +1 -1
  184. package/lib/ui/StateManagementUi.d.ts +1 -1
  185. package/lib/ui/TimeSettingsUi.d.ts.map +1 -1
  186. package/lib/ui/TimeSettingsUi.js +1 -1
  187. package/lib/ui/TimeSettingsUi.js.map +1 -1
  188. package/output/kitten-scientists.inject.js +258 -242
  189. package/package.json +4 -4
  190. package/lib/types/craft.d.ts +0 -26
  191. package/lib/types/craft.d.ts.map +0 -1
  192. package/lib/types/craft.js +0 -2
  193. package/lib/types/craft.js.map +0 -1
  194. package/lib/types/releases.d.ts.map +0 -1
  195. package/lib/types/releases.js +0 -2
  196. package/lib/types/releases.js.map +0 -1
  197. package/lib/types/save.d.ts.map +0 -1
  198. package/lib/types/save.js.map +0 -1
  199. package/lib/types/trade.d.ts +0 -36
  200. package/lib/types/trade.d.ts.map +0 -1
  201. package/lib/types/trade.js +0 -11
  202. package/lib/types/trade.js.map +0 -1
@@ -0,0 +1,325 @@
1
+ import type { Maybe } from "@oliversalzburg/js-utils/data/nil.js";
2
+ import type { BuildingMeta, UnsafeBuilding } from "./buildings.js";
3
+ import type { GamePage } from "./game.js";
4
+ import type { AllBuildings, Price, UnsafeBuyItemResult, UnsafeBuyItemResultDeferred } from "./index.js";
5
+ import type { TransformBtnController } from "./religion.js";
6
+ import type { UnsafePolicyBtnModel } from "./science.js";
7
+ import type { UISystem } from "./ui.js";
8
+ export type Control = {};
9
+ export type TabManager<TMeta extends Record<string, unknown> | unknown = unknown> = Control & {
10
+ effectsCachedExisting: Record<string, unknown>;
11
+ meta: Array<UnsafeMeta<TMeta>>;
12
+ panelData: Record<string, {
13
+ collapsed: boolean;
14
+ }>;
15
+ new (): TabManager<TMeta>;
16
+ registerPanel: (id: string, panel: Panel) => void;
17
+ /**
18
+ * @param meta - metadata set (e.g. buildings list, upgrades list, etc)
19
+ * @param provider - any object having getEffect(metaElem, effectName) method
20
+ */
21
+ registerMeta: (type: Maybe<"research" | "stackable"> | false, meta: unknown, provider: UnsafeMeta["provider"]) => void;
22
+ setEffectsCachedExisting: () => void;
23
+ updateEffectCached: () => void;
24
+ updateMetaEffectCached: (metadata: Array<unknown>) => void;
25
+ _hasLimitedDiminishingReturn: (name: string) => boolean;
26
+ getMetaEffect: (name: string, metadata: unknown) => number;
27
+ getMeta: (name: string, metadata: Array<UnsafeMeta>) => UnsafeMeta | undefined;
28
+ loadMetadata: (meta: Array<UnsafeMeta>, saveMeta: Array<{
29
+ name: string;
30
+ }>, metaId: string) => void;
31
+ filterMetadata: (meta: Array<UnsafeMeta>, fields: Array<keyof UnsafeMeta>) => Array<Partial<Array<UnsafeMeta>>>;
32
+ resetStateStackable: (bld: unknown) => void;
33
+ resetStateResearch: () => void;
34
+ };
35
+ export type UnsafeMeta<TMeta extends Record<string, unknown> | unknown = unknown> = {
36
+ meta: TMeta;
37
+ provider: {
38
+ getEffect: (metaElem: unknown, effectName: unknown) => number;
39
+ };
40
+ };
41
+ export type Console = {
42
+ static: {
43
+ filters: Record<string, {
44
+ title: string;
45
+ enabled: boolean;
46
+ unlocked: boolean;
47
+ }>;
48
+ };
49
+ filters: Console["static"]["filters"];
50
+ messages: Array<unknown>;
51
+ maxMessages: number;
52
+ messageIdCounter: number;
53
+ ui: UISystem | null;
54
+ game: GamePage;
55
+ new (game: GamePage): Console;
56
+ msg: (message: string, type: string, tag: string, noBullet: boolean) => void;
57
+ clear: () => void;
58
+ lockFilter: (filterName: string) => void;
59
+ resetState: () => void;
60
+ save: (saveData: unknown) => void;
61
+ load: (saveData: unknown) => void;
62
+ };
63
+ export type ButtonController<TControllerOpts extends Record<string, unknown> | undefined = undefined> = {
64
+ game: GamePage;
65
+ controllerOpts: TControllerOpts;
66
+ new (game: GamePage, controllerOpts?: TControllerOpts): ButtonController<TControllerOpts>;
67
+ fetchModel: <TModel extends UnsafeButtonModel<TModelOptions> | undefined = undefined, TModelOptions extends Record<string, unknown> | undefined = TModel extends Record<string, unknown> ? TModel["options"] : undefined>(options: TModelOptions) => TModel;
68
+ fetchExtendedModel: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel) => void;
69
+ initModel: <TModel extends UnsafeButtonModel<TModelOptions> | undefined = undefined, TModelOptions extends Record<string, unknown> | undefined = TModel extends Record<string, unknown> ? TModel["options"] : undefined>(options: TModelOptions) => TModel;
70
+ defaults: () => UnsafeButtonModelDefaults;
71
+ createPriceLineModel: (model: unknown, price: Price) => {
72
+ title: string;
73
+ name: string;
74
+ val: number;
75
+ progress: number;
76
+ displayValue: string;
77
+ };
78
+ hasResources: <TModel extends UnsafeBuildingBtnModel>(model: TModel, prices?: Array<Price>) => boolean;
79
+ /**
80
+ * Updates the `enabled` field in the model of the button.
81
+ * @param model The button this controller is associated with.
82
+ */
83
+ updateEnabled: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel) => void;
84
+ /**
85
+ * Does nothing by default. Can invoke custom handler.
86
+ * @param model The button this controller is associated with.
87
+ */
88
+ updateVisible: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel) => void;
89
+ getPrices: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel) => Array<Price>;
90
+ getName: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel) => string;
91
+ getDescription: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel) => string;
92
+ /** @deprecated */
93
+ adjustPrice: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel, ratio: number) => void;
94
+ /** @deprecated */
95
+ rejustPrice: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel, ratio: number) => void;
96
+ payPrice: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel) => void;
97
+ payPriceForUndoRefund: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel) => void;
98
+ clickHandler: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel, event: Event) => void;
99
+ buyItem: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel, event?: Maybe<Event>) => UnsafeBuyItemResult;
100
+ refund: <TModel extends UnsafeButtonModel | undefined = undefined>(model: TModel) => void;
101
+ };
102
+ export type Button<TModel extends UnsafeButtonModel, TController extends ButtonController | TransformBtnController, TId extends string | undefined = undefined, TOpts = UnsafeButtonOptions<TController, TId>> = Control & {
103
+ model: TModel;
104
+ controller: TController;
105
+ game: GamePage;
106
+ domNode: HTMLDivElement;
107
+ container: unknown;
108
+ tab: string | null;
109
+ buttonTitle: string | null;
110
+ opts: TOpts;
111
+ new (opts: TOpts, game: GamePage): Button<TModel, TController, TId, TOpts>;
112
+ setOpts: (opts: TOpts) => void;
113
+ id: TId;
114
+ init: () => void;
115
+ updateVisible: () => void;
116
+ updateEnabled: () => void;
117
+ update: () => void;
118
+ render: (btnContainer?: HTMLElement) => void;
119
+ animate: () => void;
120
+ onClick: (event?: MouseEvent) => void;
121
+ onKeyPress: (event: KeyboardEvent) => void;
122
+ afterRender: () => void;
123
+ addLink: (linkModel: UnsafeLinkModel) => UnsafeLinkResult;
124
+ addLinkList: (links: Array<UnsafeLinkModel>) => Record<string, UnsafeLinkResult>;
125
+ };
126
+ export type ButtonModernController<TControllerOpts extends Record<string, unknown> | undefined = undefined> = ButtonController<TControllerOpts> & {
127
+ new (game: GamePage): ButtonModernController;
128
+ defaults: () => UnsafeButtonModernModelDefaults;
129
+ getFlavor: <TModel extends UnsafeButtonModernModel<Record<string, unknown>>>(model: TModel) => string;
130
+ getEffects: <TModel extends UnsafeButtonModernModel<Record<string, unknown>>>(model: TModel) => unknown;
131
+ getTotalEffects: <TModel extends UnsafeButtonModernModel<Record<string, unknown>>>(model: TModel) => unknown;
132
+ getNextEffectValue: <TModel extends UnsafeButtonModernModel<Record<string, unknown>>>(model: TModel, effectName: string) => unknown;
133
+ createPriceLineModel: <TModel extends UnsafeButtonModernModel<Record<string, unknown>>>(model: TModel, price: Price) => UnsafePriceLineModel;
134
+ _createPriceLineModel: (price: Price, simplePrices: boolean, indent?: number) => UnsafePriceLineModel;
135
+ fetchExtendedModel: <TModel extends UnsafeButtonModernModel<Record<string, unknown>>>(model: TModel) => void;
136
+ updateEffectModels: <TModel extends UnsafeButtonModernModel<Record<string, unknown>>>(model: TModel) => void;
137
+ isPrecraftAvailable: <TModel extends UnsafeButtonModernModel<Record<string, unknown>>>(model: TModel) => boolean;
138
+ precraft: <TModel extends UnsafeButtonModernModel<Record<string, unknown>>>(model: TModel) => void;
139
+ _precraftRes: (price: Price) => void;
140
+ };
141
+ export type ButtonModern<TModel extends UnsafeButtonModernModel, TController extends ButtonModernController | TransformBtnController, TId extends string | undefined = undefined> = Button<TModel, TController, TId> & {
142
+ afterRender: () => void;
143
+ getTooltipHTML: () => string;
144
+ attachTooltip: (htmlProvider: unknown) => void;
145
+ updateTooltip: (container: unknown, tooltip: JQuery<HTMLElement>, htmlProvider: unknown) => void;
146
+ renderLinks: () => void;
147
+ updateLink: (buttonLink: unknown, modelLink: unknown) => void;
148
+ getSelectedObject: () => TModel;
149
+ };
150
+ export type BuildingBtnController<TModel extends UnsafeBuildingBtnModel<unknown> = UnsafeBuildingBtnModel<unknown>> = ButtonModernController & {
151
+ new (game: GamePage): BuildingBtnController;
152
+ initModel: (options?: undefined) => TModel;
153
+ fetchModel: (options: unknown) => TModel;
154
+ getMetadata: (model: unknown) => BuildingMeta<UnsafeBuilding> | null;
155
+ getEffects: (model: TModel) => TModel["effects"];
156
+ getTotalEffects: (model: TModel) => TModel["totalEffectsCached"];
157
+ getNextEffectValue: (model: TModel, effectName: string) => number | undefined;
158
+ getDescription: (model: TModel) => string;
159
+ getFlavor: (model: TModel) => string;
160
+ hasSellLink: (model: TModel) => false;
161
+ metadataHasChanged: (model: TModel) => void;
162
+ off: (model: TModel, amt?: number) => void;
163
+ offAll: (model: TModel) => void;
164
+ on: (model: TModel, amt?: number) => void;
165
+ onAll: (model: TModel) => void;
166
+ sell: (event: Event, model: TModel) => number;
167
+ sellInternal: (model: TModel, end: number, requireSellLink?: boolean) => void;
168
+ decrementValue: (model: TModel, amt?: number) => void;
169
+ updateVisible: (model: TModel) => void;
170
+ handleTogglableOnOffClick: (model: TModel) => void;
171
+ handleToggleAutomationLinkClick: (model: TModel) => void;
172
+ };
173
+ export type BuildingBtn<TModel extends UnsafeBuildingBtnModel | UnsafePolicyBtnModel, TController extends ButtonModernController, TId extends string | undefined = undefined> = ButtonModern<TModel, TController, TId> & {
174
+ sellHref: null;
175
+ toggleHref: null;
176
+ renderLinks: () => void;
177
+ sell: (event: Event) => void;
178
+ update: () => void;
179
+ };
180
+ export type BuildingStackableBtnController<TModel extends UnsafeBuildingBtnModel<unknown> = UnsafeBuildingBtnModel<unknown>> = BuildingBtnController<TModel> & {
181
+ new (game: GamePage): BuildingStackableBtnController;
182
+ defaults: () => UnsafeBuildingStackableBtnModelDefaults;
183
+ getName: (model: unknown) => string;
184
+ getPrices: (model: unknown) => Array<Price>;
185
+ updateEnabled: (model: unknown) => void;
186
+ buyItem: (model: unknown, event: Maybe<Event>, buyType: unknown) => UnsafeBuyItemResult;
187
+ buyItemAll: (model: unknown, event: Maybe<Event>, callback: unknown) => UnsafeBuyItemResult;
188
+ _buyItem_step2: (model: unknown, event: Event, buyType: unknown) => UnsafeBuyItemResult | UnsafeBuyItemResultDeferred;
189
+ build: (model: TModel, maxBld: number) => void;
190
+ incrementValue: (model: unknown) => void;
191
+ };
192
+ export type BuildingStackableBtn<TModel extends UnsafeBuildingBtnModel, TController extends ButtonModernController, TId extends AllBuildings | undefined = undefined> = BuildingBtn<TModel, TController, TId> & {
193
+ onClick: (event: unknown) => void;
194
+ };
195
+ export type BuildingNotStackableBtnController<TModel extends UnsafeBuildingBtnModel<unknown> = UnsafeBuildingBtnModel<unknown>> = BuildingBtnController<TModel> & {
196
+ new (game: GamePage): BuildingNotStackableBtnController<TModel>;
197
+ getDescription: (model: TModel) => string;
198
+ getName: (model: TModel) => string;
199
+ getPrices: (model: TModel) => Array<Price>;
200
+ updateEnabled: (model: TModel) => void;
201
+ buyItem: (model: TModel, event?: undefined, callback?: undefined) => UnsafeBuyItemResult;
202
+ onPurchase: (model: TModel) => void;
203
+ };
204
+ export type BuildingResearchBtn<TModel extends UnsafeBuildingBtnModel | UnsafePolicyBtnModel, TController extends ButtonModernController, TId extends string | undefined = undefined> = BuildingBtn<TModel, TController, TId>;
205
+ export type Spacer = {
206
+ title: string;
207
+ new (title: string): Spacer;
208
+ render: (container?: HTMLElement) => void;
209
+ update: () => void;
210
+ };
211
+ export type ContentRowRenderer = {
212
+ twoRows: boolean;
213
+ leftRow: null;
214
+ rightRow: null;
215
+ initRenderer: (content: unknown) => void;
216
+ getElementContainer: (id: string) => unknown;
217
+ };
218
+ export type IGameAware = {
219
+ game: GamePage | null;
220
+ setGame: (game: GamePage) => void;
221
+ };
222
+ export type IChildrenAware<TChildren = unknown> = {
223
+ children: Array<TChildren>;
224
+ addChild: (child: unknown) => void;
225
+ render: (container?: HTMLElement) => void;
226
+ update: () => void;
227
+ };
228
+ export type Panel<TChildren = unknown> = ContentRowRenderer & IChildrenAware<TChildren> & {
229
+ game: GamePage | null;
230
+ collapsed: boolean;
231
+ visible: boolean;
232
+ name: string;
233
+ panelDiv: null;
234
+ toggle: null;
235
+ contentDiv: null;
236
+ new (name: string, tabManager: TabManager): Panel;
237
+ render: (container?: HTMLElement) => HTMLDivElement;
238
+ onKeyPress: (event: Event) => void;
239
+ collapse: (isCollapsed: boolean) => void;
240
+ onToggle: (isCollapsed: unknown) => void;
241
+ setVisible: (visible: boolean) => void;
242
+ update: () => void;
243
+ setGame: (game: GamePage) => void;
244
+ };
245
+ export type Tab<TChildren = unknown, TButtons = TChildren> = ContentRowRenderer & IChildrenAware<TChildren> & {
246
+ game: GamePage | null;
247
+ buttons: Array<TButtons> | null;
248
+ tabId: null;
249
+ tabName: null;
250
+ domNode: null;
251
+ visible: boolean;
252
+ new (opts: unknown, game: GamePage): Tab;
253
+ render: (tabContainer?: HTMLElement) => void;
254
+ update: () => void;
255
+ updateTab: () => void;
256
+ addButton: (button: unknown) => void;
257
+ };
258
+ export type UnsafeBuyResultOperationDeferred = {
259
+ itemBought: boolean;
260
+ reason: string;
261
+ def?: {
262
+ then: (callable: (result: UnsafeBuyItemResult) => void) => void;
263
+ };
264
+ };
265
+ export type UnsafeButtonModelDefaults = Record<string, unknown> & {
266
+ name: string;
267
+ description: string;
268
+ visible: boolean;
269
+ enabled: boolean;
270
+ handler: ((btn: unknown) => void) | null;
271
+ prices: Array<Price> | null;
272
+ priceRatio: null;
273
+ twoRow: boolean | null;
274
+ refundPercentage: number;
275
+ highlightUnavailable: boolean;
276
+ resourceIsLimited: string;
277
+ multiplyEffects: boolean;
278
+ };
279
+ export type UnsafeButtonModernModelDefaults = {
280
+ simplePrices: boolean;
281
+ hasResourceHover: boolean;
282
+ tooltipName: boolean;
283
+ } & UnsafeButtonModelDefaults;
284
+ export type UnsafeBuildingStackableBtnModelDefaults = {
285
+ simplePrices: boolean;
286
+ multiplyEffects: boolean;
287
+ } & UnsafeButtonModernModelDefaults;
288
+ export type UnsafeButtonModelOptions = {
289
+ priceRatio: number;
290
+ handler: unknown;
291
+ twoRow: boolean;
292
+ };
293
+ export type UnsafeButtonOptions<TController, TId extends string | undefined = undefined> = {
294
+ controller: TController;
295
+ id: TId;
296
+ };
297
+ export type UnsafeButtonModel<TModelOptions extends Record<string, unknown> | undefined | unknown = unknown> = UnsafeButtonModelDefaults & {
298
+ options: TModelOptions;
299
+ };
300
+ export type UnsafeButtonModernModel<TModelOptions extends Record<string, unknown> | undefined | unknown = unknown> = UnsafeButtonModernModelDefaults & UnsafeButtonModel<TModelOptions>;
301
+ export type UnsafeBuildingBtnModel<TModelOptions extends Record<string, unknown> | undefined | unknown = unknown, TMetadata extends UnsafeBuildingBtnModel<TModelOptions> | Record<string, unknown> = Record<string, unknown>> = UnsafeButtonModernModel<TModelOptions> & {
302
+ metadata: TMetadata;
303
+ };
304
+ export type UnsafeBuildingStackableBtnModel<TModelOptions extends Record<string, unknown> | undefined | unknown = unknown, TMetadata extends UnsafeBuildingStackableBtnModel<TModelOptions> | Record<string, unknown> = Record<string, unknown>> = UnsafeBuildingStackableBtnModelDefaults & UnsafeBuildingBtnModel<TModelOptions, TMetadata>;
305
+ export type UnsafeLinkModel = {
306
+ id: string;
307
+ title: string;
308
+ alt?: string;
309
+ handler: () => void;
310
+ };
311
+ export type UnsafeLinkResult = {
312
+ link: HTMLAnchorElement;
313
+ linkHandler: (event: MouseEvent) => void;
314
+ };
315
+ export type UnsafePriceLineModel = {
316
+ title: string;
317
+ name: string;
318
+ val: number;
319
+ hasResources: boolean;
320
+ displayValue: string;
321
+ indent: number;
322
+ eta: number;
323
+ hasLimitIssue: boolean;
324
+ };
325
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../source/types/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../source/types/core.ts"],"names":[],"mappings":""}
@@ -0,0 +1,169 @@
1
+ import type { BuildingStackableBtnController, ButtonModern, ButtonModernController, Panel, Tab, UnsafeButtonModernModel } from "./core.js";
2
+ import type { GamePage } from "./game.js";
3
+ import type { Price, Race, Resource, Season } from "./index.js";
4
+ export type DiplomacyManager = {
5
+ game: GamePage;
6
+ defaultGoldCost: number;
7
+ defaultManpowerCost: number;
8
+ baseGoldCost: number;
9
+ baseManpowerCost: number;
10
+ races: Array<UnsafeRace>;
11
+ new (game: GamePage): DiplomacyManager;
12
+ get: (raceName: Race) => UnsafeRace;
13
+ getTradeRatio: () => number;
14
+ resetState: () => void;
15
+ save: (saveData: unknown) => void;
16
+ load: (saveData: unknown) => void;
17
+ hasUnlockedRaces: () => boolean;
18
+ isValidTrade: (sell: UnsafeTradeSellOffer, race: UnsafeRace) => boolean;
19
+ unlockRandomRace: () => UnsafeRace | null;
20
+ update: () => void;
21
+ onLeavingIW: () => void;
22
+ unlockElders: () => void;
23
+ onNewDay: () => void;
24
+ tradeImpl: (race: UnsafeRace, totalTradeAmount: number) => void;
25
+ _fuzzGainedAmount: (amount: number, width: number) => number;
26
+ getManpowerCost: () => number;
27
+ getGoldCost: () => number;
28
+ trade: (race: UnsafeRace) => void;
29
+ tradeMultiple: (race: UnsafeRace, amt: number) => void;
30
+ hasMultipleResources: (race: UnsafeRace, amt: number) => void;
31
+ tradeAll: (race: UnsafeRace) => void;
32
+ gainTradeRes: (yieldResTotal: boolean, amtTrade: number) => void;
33
+ getMaxTradeAmt: (race: UnsafeRace) => number | undefined;
34
+ getFinalStanding: (race: UnsafeRace) => number;
35
+ getSpiceTradeChance: (race: UnsafeRace) => number;
36
+ getResourceTradeChance: (race: UnsafeRace) => number;
37
+ getMarkerCap: () => number;
38
+ feedElders: (amtRequested?: number) => void;
39
+ buyBcoin: () => void;
40
+ sellBcoin: () => void;
41
+ unlockAll: () => void;
42
+ calculatePhantomTradeposts: (raceName: Race, game: GamePage) => number;
43
+ calculateStandingFromPolicies: (raceName: Race, game: GamePage) => number;
44
+ calculateTradeBonusFromPolicies: (raceName: Race, game: GamePage) => number;
45
+ };
46
+ export type RacePanel = Panel & {
47
+ tradeBtn: TradeButton;
48
+ embassyButton: EmbassyButton;
49
+ new (race: UnsafeRace): RacePanel;
50
+ race: UnsafeRace;
51
+ name: string;
52
+ onToggle: (isToggled: boolean) => void;
53
+ render: (container?: HTMLElement) => void;
54
+ update: () => void;
55
+ };
56
+ export type EldersPanel = Panel & {
57
+ feedBtn: null;
58
+ render: (container?: HTMLElement) => void;
59
+ update: () => void;
60
+ };
61
+ export type CrashBcoinButtonController = ButtonModernController & {
62
+ defaults: () => UnsafeTradeButtonModel;
63
+ updateEnabled: (model: UnsafeTradeButtonModel) => void;
64
+ fetchExtendedModel: (model: UnsafeTradeButtonModel) => void;
65
+ getPrices: () => [{
66
+ name: "timeCrystal";
67
+ val: number;
68
+ }];
69
+ };
70
+ export type TradeButtonController = ButtonModernController & {
71
+ defaults: () => UnsafeTradeButtonModel;
72
+ };
73
+ export type TradeButton = ButtonModern<UnsafeTradeButtonModel, TradeButtonController, Resource> & {
74
+ race: UnsafeRace;
75
+ trade25Href: null;
76
+ trade100Href: null;
77
+ tradeAllHref: null;
78
+ new (opts: {
79
+ race: UnsafeRace;
80
+ }, game: unknown): TradeButtonController;
81
+ afterRender: () => void;
82
+ renderLinks: () => void;
83
+ update: () => void;
84
+ };
85
+ export type EmbassyButtonController = BuildingStackableBtnController & {
86
+ defaults: () => UnsafeEmbassyButtonModel;
87
+ getEffects: (model: UnsafeEmbassyButtonModel) => Record<string, number> | undefined;
88
+ getTotalEffects: (model: unknown) => undefined;
89
+ getMetadata: (model: UnsafeEmbassyButtonModel) => UnsafeRace;
90
+ getPrices: (model: UnsafeEmbassyButtonModel) => Array<Price>;
91
+ buyItem: (model: unknown, event: unknown) => void;
92
+ incrementValue: (model: UnsafeEmbassyButtonModel) => void;
93
+ hasSellLink: (model: unknown) => false;
94
+ updateVisible: (model: UnsafeEmbassyButtonModel) => void;
95
+ };
96
+ export type EmbassyButton = ButtonModern<UnsafeEmbassyButtonModel, EmbassyButtonController> & {
97
+ pinLinkHref: null;
98
+ race: UnsafeRace;
99
+ new (opts: {
100
+ race: UnsafeRace;
101
+ }, game: unknown): EmbassyButton;
102
+ renderLinks: () => void;
103
+ getTooltipHTML: (controller: EmbassyButtonController, model: UnsafeEmbassyButtonModel) => string;
104
+ update: () => void;
105
+ };
106
+ export type AutoPinnedButtonController = ButtonModernController & {
107
+ defaults: () => UnsafeTradeButtonModel;
108
+ getName: (model: UnsafeTradeButtonModel) => string;
109
+ hasSellLink: (model: unknown) => false;
110
+ updateVisible: (model: UnsafeTradeButtonModel) => void;
111
+ };
112
+ export type AutoPinnedButton = ButtonModern<UnsafeButtonModernModel, ButtonModernController> & {
113
+ pinLinkHref: null;
114
+ race: UnsafeRace;
115
+ new (opts: {
116
+ race: UnsafeRace;
117
+ }, game: unknown): AutoPinnedButton;
118
+ renderLinks: () => void;
119
+ update: () => void;
120
+ };
121
+ export type SendExplorersButtonController = ButtonModernController & {
122
+ defaults: () => UnsafeTradeButtonModel;
123
+ clickHandler: (model: unknown, event: unknown) => void;
124
+ };
125
+ export type SendExplorersButton = ButtonModern<UnsafeButtonModernModel, ButtonModernController> & {
126
+ afterRender: () => void;
127
+ };
128
+ export type Diplomacy = Tab & {
129
+ racePanels: Array<RacePanel>;
130
+ leviathansInfo: null;
131
+ new (tabName: unknown, game: GamePage): Diplomacy;
132
+ render: (tabContainer?: HTMLElement) => void;
133
+ update: () => void;
134
+ updateTab: () => void;
135
+ };
136
+ export type UnsafeTradeSellOffer = {
137
+ chance: number;
138
+ /**
139
+ * How many embassies you need to receive this resource.
140
+ */
141
+ minLevel: number;
142
+ name: Resource;
143
+ seasons?: Record<Season, number>;
144
+ value: number;
145
+ width: number;
146
+ };
147
+ export type UnsafeRace = {
148
+ buys: Array<Price>;
149
+ collapsed: boolean;
150
+ /**
151
+ * How many embassies you have.
152
+ */
153
+ embassyLevel: number;
154
+ embassyPrices?: Array<Price>;
155
+ energy: number;
156
+ name: Race;
157
+ sells: Array<UnsafeTradeSellOffer>;
158
+ standing: number;
159
+ title: string;
160
+ unlocked: boolean;
161
+ };
162
+ export type UnsafeTradeButtonModel<TModelOptions extends Record<string, unknown> | undefined = undefined> = {
163
+ hasResourceHover: boolean;
164
+ simplePrices: boolean;
165
+ } & UnsafeButtonModernModel<TModelOptions>;
166
+ export type UnsafeEmbassyButtonModel<TModelOptions extends Record<string, unknown> | undefined = undefined> = {
167
+ simplePrices: boolean;
168
+ } & UnsafeButtonModernModel<TModelOptions>;
169
+ //# sourceMappingURL=diplomacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diplomacy.d.ts","sourceRoot":"","sources":["../../source/types/diplomacy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diplomacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diplomacy.js","sourceRoot":"","sources":["../../source/types/diplomacy.ts"],"names":[],"mappings":""}