@wayward/types 2.15.0-beta.dev.20251021.1 → 2.15.0-beta.dev.20251022.1

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 (55) hide show
  1. package/definitions/game/game/Game.d.ts +1 -0
  2. package/definitions/game/game/curse/Curse.d.ts +1 -1
  3. package/definitions/game/game/doodad/Doodad.d.ts +8 -1
  4. package/definitions/game/game/options/modifiers/custom/CustomModifierDefinitions.d.ts +117 -0
  5. package/definitions/game/game/options/modifiers/custom/ICustomModifier.d.ts +78 -0
  6. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierCreatureSpawnLimit.d.ts +13 -0
  7. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierCreatureSpawnRate.d.ts +13 -0
  8. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierCreatures.d.ts +15 -0
  9. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierCreaturesOther.d.ts +13 -0
  10. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierItemDecay.d.ts +13 -0
  11. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierItemDurability.d.ts +13 -0
  12. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierSkills.d.ts +15 -0
  13. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierSkillsGainMultiplierGlobal.d.ts +13 -0
  14. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierSkillsInitialValueGlobal.d.ts +13 -0
  15. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierSkillsStartCount.d.ts +13 -0
  16. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierStartingBiome.d.ts +14 -0
  17. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierStatGeneric.d.ts +15 -0
  18. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierStatLuck.d.ts +13 -0
  19. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierStatStrength.d.ts +13 -0
  20. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierStatusGeneric.d.ts +15 -0
  21. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierTimeDayLength.d.ts +13 -0
  22. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierTimeDayPercent.d.ts +13 -0
  23. package/definitions/game/game/options/modifiers/custom/modifiers/CustomModifierTimeInitial.d.ts +13 -0
  24. package/definitions/game/game/options/modifiers/milestone/MilestoneModifiersManager.d.ts +1 -1
  25. package/definitions/game/game/time/TimeManager.d.ts +2 -0
  26. package/definitions/game/language/Dictionary.d.ts +3 -1
  27. package/definitions/game/language/DictionaryMap.d.ts +6 -0
  28. package/definitions/game/language/Translation.d.ts +1 -0
  29. package/definitions/game/language/dictionary/Message.d.ts +562 -564
  30. package/definitions/game/language/dictionary/Misc.d.ts +4 -0
  31. package/definitions/game/language/dictionary/UiTranslation.d.ts +824 -863
  32. package/definitions/game/language/english/game/CustomModifiers.d.ts +13 -0
  33. package/definitions/game/language/english/game/GameOptionsIcons.d.ts +13 -0
  34. package/definitions/game/ui/Ui.d.ts +3 -0
  35. package/definitions/game/ui/component/GameIcons.d.ts +4 -3
  36. package/definitions/game/ui/input/Bindable.d.ts +24 -23
  37. package/definitions/game/ui/screen/screens/game/InspectionsTooltipHandler.d.ts +2 -0
  38. package/definitions/game/ui/screen/screens/game/component/GameDetails.d.ts +4 -4
  39. package/definitions/game/ui/screen/screens/menu/menus/newgame/CustomGameOptionsMenu.d.ts +4 -3
  40. package/definitions/game/ui/screen/screens/menu/menus/newgame/TabGameMode.d.ts +1 -1
  41. package/definitions/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab.d.ts +12 -2
  42. package/definitions/game/ui/screen/screens/menu/menus/newgame/customgameoptions/TabCreatures.d.ts +2 -3
  43. package/definitions/game/ui/screen/screens/menu/menus/newgame/customgameoptions/TabGeneral.d.ts +2 -2
  44. package/definitions/game/ui/screen/screens/menu/menus/newgame/customgameoptions/TabItems.d.ts +2 -2
  45. package/definitions/game/ui/screen/screens/menu/menus/newgame/customgameoptions/TabSkills.d.ts +2 -3
  46. package/definitions/game/ui/screen/screens/menu/menus/newgame/customgameoptions/TabStats.d.ts +2 -2
  47. package/definitions/game/ui/screen/screens/menu/menus/newgame/customgameoptions/TabStatuses.d.ts +2 -2
  48. package/definitions/game/ui/screen/screens/menu/menus/newgame/customgameoptions/TabTime.d.ts +2 -5
  49. package/definitions/game/ui/screen/screens/menu/menus/newgame/customgameoptions/TabTravel.d.ts +2 -2
  50. package/definitions/game/ui/screen/screens/menu/menus/pause/GameOptionsIcons.d.ts +2 -11
  51. package/definitions/game/ui/tooltip/TooltipManager.d.ts +1 -0
  52. package/definitions/game/utilities/object/Merge.d.ts +5 -0
  53. package/definitions/game/utilities/random/RandomValueGenerator.d.ts +4 -1
  54. package/definitions/game/utilities/random/generators/specific/RandomRange.d.ts +4 -1
  55. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import { CustomModifierType } from "@wayward/game/game/options/modifiers/custom/ICustomModifier";
12
+ declare const customModifiers: Record<CustomModifierType, string | [string, string]>;
13
+ export default customModifiers;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2011-2025 Unlok
3
+ * https://www.unlok.ca
4
+ *
5
+ * Credits & Thanks:
6
+ * https://www.unlok.ca/credits-thanks/
7
+ *
8
+ * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
+ * https://github.com/WaywardGame/types/wiki
10
+ */
11
+ import { GameOptionsIcon } from "@wayward/game/ui/screen/screens/menu/menus/pause/GameOptionsIcons";
12
+ declare const gameOptionsIcons: Record<GameOptionsIcon, string>;
13
+ export default gameOptionsIcons;
@@ -44,6 +44,7 @@ export interface IUiEvents {
44
44
  loadedFromSave(): any;
45
45
  changeInformationVisibility(informationVisibility: TooltipVisibilityOption): any;
46
46
  toggleMoreInfo(moreInfo: boolean): any;
47
+ toggleStackItemsHint(show: boolean): any;
47
48
  toggleHealthVignette(healthVignette: boolean): any;
48
49
  toggleDeveloperMode(developerMode: boolean): any;
49
50
  }
@@ -127,6 +128,8 @@ export declare class Ui extends EventEmitter.Host<IUiEvents> {
127
128
  protected onToggleScreen(): void;
128
129
  protected onShowMoreInfo(): void;
129
130
  protected onUnshowMoreInfo(): void;
131
+ protected onShowStackItemsHint(): void;
132
+ protected onHideStackItemsHint(): void;
130
133
  protected onTooltipsToggle(): boolean;
131
134
  protected onFullscreen(): boolean;
132
135
  protected onToggleDevMode(): boolean;
@@ -14,10 +14,11 @@ import type { Challenge } from "@wayward/game/game/options/modifiers/challenge/I
14
14
  import type { IslandModifierType } from "@wayward/game/game/options/modifiers/island/IIslandModifier";
15
15
  import Component from "@wayward/game/ui/component/Component";
16
16
  import type { IRefreshable } from "@wayward/game/ui/component/Refreshable";
17
- import type { GameOptionsIcon, IGameOptionsIcon } from "@wayward/game/ui/screen/screens/menu/menus/pause/GameOptionsIcons";
17
+ import type { GameOptionsIcon } from "@wayward/game/ui/screen/screens/menu/menus/pause/GameOptionsIcons";
18
18
  import type Tooltip from "@wayward/game/ui/tooltip/Tooltip";
19
19
  import type { ModLoadability } from "@wayward/game/ui/util/Misc";
20
20
  import type { ISteamFriend } from "@wayward/hosts/shared/interfaces";
21
+ import type { CustomModifierTranslation } from "@wayward/game/game/options/modifiers/custom/ICustomModifier";
21
22
  export interface IGameIconsHost {
22
23
  difficulty: GameMode;
23
24
  pvp: boolean;
@@ -41,8 +42,8 @@ export default class GameIcons extends Component implements IRefreshable {
41
42
  private getFriendsText;
42
43
  }
43
44
  export interface IGameModifiersHost {
44
- getOptionsIcons(): Array<[GameOptionsIcon, IGameOptionsIcon]>;
45
- getOptionsIconTooltipHandler(icon: GameOptionsIcon, description: IGameOptionsIcon): ((tooltip: Tooltip) => any) | undefined;
45
+ getOptionsIcons(): Array<[GameOptionsIcon, Array<ArrayOr<CustomModifierTranslation>>]>;
46
+ getOptionsIconTooltipHandler(icon: GameOptionsIcon, translation: Array<ArrayOr<CustomModifierTranslation>>): ((tooltip: Tooltip) => any) | undefined;
46
47
  getChallengeModifiers(): Challenge[];
47
48
  getMilestoneModifiers(): Milestone[];
48
49
  getIslandModifiers(): IslandModifierType[];
@@ -233,29 +233,30 @@ declare enum Bindable {
233
233
  HudToggleStats = 214,
234
234
  TooltipMoreInformation = 215,
235
235
  TooltipToggle = 216,
236
- MenuEnter = 217,
237
- MenuSubmit = 218,
238
- MenuNext = 219,
239
- MenuPrevious = 220,
240
- MenuUp = 221,
241
- MenuDown = 222,
242
- MenuLeft = 223,
243
- MenuRight = 224,
244
- MenuCancel = 225,
245
- MenuNextOption = 226,
246
- MenuPreviousOption = 227,
247
- MenuContextMenu = 228,
248
- MenuSelect = 229,
249
- DeveloperInterfaceScaleUp = 230,
250
- DeveloperInterfaceScaleDown = 231,
251
- DeveloperToggleDeveloperMode = 232,
252
- DeveloperToggleDeveloperTools = 233,
253
- DeveloperReloadGame = 234,
254
- DeveloperReloadWithoutSavingGame = 235,
255
- DeveloperReloadAndContinueGame = 236,
256
- DeveloperReloadWithoutSavingAndContinueGame = 237,
257
- DeveloperReloadStylesheets = 238,
258
- DeveloperReloadTextures = 239
236
+ TooltipStackItems = 217,
237
+ MenuEnter = 218,
238
+ MenuSubmit = 219,
239
+ MenuNext = 220,
240
+ MenuPrevious = 221,
241
+ MenuUp = 222,
242
+ MenuDown = 223,
243
+ MenuLeft = 224,
244
+ MenuRight = 225,
245
+ MenuCancel = 226,
246
+ MenuNextOption = 227,
247
+ MenuPreviousOption = 228,
248
+ MenuContextMenu = 229,
249
+ MenuSelect = 230,
250
+ DeveloperInterfaceScaleUp = 231,
251
+ DeveloperInterfaceScaleDown = 232,
252
+ DeveloperToggleDeveloperMode = 233,
253
+ DeveloperToggleDeveloperTools = 234,
254
+ DeveloperReloadGame = 235,
255
+ DeveloperReloadWithoutSavingGame = 236,
256
+ DeveloperReloadAndContinueGame = 237,
257
+ DeveloperReloadWithoutSavingAndContinueGame = 238,
258
+ DeveloperReloadStylesheets = 239,
259
+ DeveloperReloadTextures = 240
259
260
  }
260
261
  export default Bindable;
261
262
  export declare enum BindableType {
@@ -49,4 +49,6 @@ export declare class InspectionTooltipHints extends Paragraph {
49
49
  get showExtraInfo(): Text;
50
50
  private _inspectInDialog?;
51
51
  get inspectInDialog(): Text;
52
+ private _stackItems?;
53
+ get stackItems(): Text;
52
54
  }
@@ -10,14 +10,14 @@
10
10
  */
11
11
  import type Island from "@wayward/game/game/island/Island";
12
12
  import type { Milestone } from "@wayward/game/game/milestones/IMilestone";
13
- import type { GameMode } from "@wayward/game/game/options/IGameOptions";
13
+ import { type GameMode } from "@wayward/game/game/options/IGameOptions";
14
14
  import type { Challenge } from "@wayward/game/game/options/modifiers/challenge/IChallenge";
15
+ import type { CustomModifierTranslation } from "@wayward/game/game/options/modifiers/custom/ICustomModifier";
15
16
  import type { IslandModifierType } from "@wayward/game/game/options/modifiers/island/IIslandModifier";
16
17
  import Component from "@wayward/game/ui/component/Component";
17
18
  import type { IGameIconsHost, IGameModifiersHost } from "@wayward/game/ui/component/GameIcons";
18
19
  import GameIcons, { GameModifiers } from "@wayward/game/ui/component/GameIcons";
19
20
  import PopupOverlay from "@wayward/game/ui/screen/screens/game/component/PopupOverlay";
20
- import type { IGameOptionsIcon } from "@wayward/game/ui/screen/screens/menu/menus/pause/GameOptionsIcons";
21
21
  import { GameOptionsIcon } from "@wayward/game/ui/screen/screens/menu/menus/pause/GameOptionsIcons";
22
22
  import type Tooltip from "@wayward/game/ui/tooltip/Tooltip";
23
23
  import type { ModLoadability } from "@wayward/game/ui/util/Misc";
@@ -37,8 +37,8 @@ export declare class GameDetails extends PopupOverlay implements IGameIconsHost,
37
37
  setHasQuests(hasQuests?: boolean): this;
38
38
  hasIcons(): boolean;
39
39
  refresh(): this;
40
- getOptionsIconTooltipHandler(icon: GameOptionsIcon, description: IGameOptionsIcon): ((tooltip: Tooltip) => any) | undefined;
41
- getOptionsIcons(): Array<[GameOptionsIcon, IGameOptionsIcon]>;
40
+ getOptionsIconTooltipHandler(icon: GameOptionsIcon, translations: Array<ArrayOr<CustomModifierTranslation>>): ((tooltip: Tooltip) => any) | undefined;
41
+ getOptionsIcons(): Array<[GameOptionsIcon, Array<ArrayOr<CustomModifierTranslation>>]>;
42
42
  getChallengeModifiers(): Challenge[];
43
43
  getMilestoneModifiers(): Milestone[];
44
44
  getIslandModifiers(): IslandModifierType[];
@@ -8,17 +8,18 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
11
+ import type { IGameOptionsPartial } from "@wayward/game/game/options/IGameOptions";
12
12
  import { BlockRow } from "@wayward/game/ui/component/BlockRow";
13
13
  import Component from "@wayward/game/ui/component/Component";
14
14
  import Menu from "@wayward/game/ui/screen/screens/menu/component/Menu";
15
15
  export default class CustomGameOptionsMenu extends Menu {
16
- private readonly options;
17
16
  private static readonly importButtonInputId;
18
17
  protected readonly buttonImport: Component<HTMLElement>;
19
18
  protected readonly rowImportExport: BlockRow;
20
19
  private readonly refreshables;
21
- constructor(options: () => IGameOptions);
20
+ private readonly modifiers;
21
+ constructor();
22
+ getGameOptions(): IGameOptionsPartial[];
22
23
  protected refresh(): void;
23
24
  private exportOptions;
24
25
  private importOptions;
@@ -15,7 +15,7 @@ import CustomGameOptionsMenu from "@wayward/game/ui/screen/screens/menu/menus/ne
15
15
  import type NewGameMenu from "@wayward/game/ui/screen/screens/menu/menus/NewGameMenu";
16
16
  import type { Events, IEventEmitter } from "@wayward/utilities/event/EventEmitter";
17
17
  export default class TabGameMode extends Tab {
18
- customGameOptionsMenu: CustomGameOptionsMenu;
18
+ customGameOptionsMenu?: CustomGameOptionsMenu;
19
19
  readonly gameMode: ChoiceList<DifficultyChoice, false>;
20
20
  private readonly menuRef;
21
21
  get menu(): NewGameMenu;
@@ -8,12 +8,22 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
+ import type { CustomModifierArgs, CustomModifierTypeReal, CustomModifierTypeRealSimple } from "@wayward/game/game/options/modifiers/custom/CustomModifierDefinitions";
12
+ import { CustomModifierInstance } from "@wayward/game/game/options/modifiers/custom/CustomModifierDefinitions";
11
13
  import type { IRefreshable } from "@wayward/game/ui/component/Refreshable";
12
14
  import { Tab } from "@wayward/game/ui/screen/screens/menu/component/Menu";
13
- export default class CustomGameOptionsTab extends Tab {
15
+ export type CustomModifiers = Array<CustomModifierInstance<CustomModifierTypeReal>>;
16
+ export default abstract class CustomGameOptionsTab extends Tab {
17
+ private readonly modifiers;
14
18
  readonly refreshables: IRefreshable[];
15
- constructor(id: CustomGameOptionsSection);
19
+ constructor(id: CustomGameOptionsSection, modifiers: CustomModifiers);
16
20
  protected addRefreshables(...refreshables: IRefreshable[]): this;
21
+ protected hasMod(type: CustomModifierTypeReal): boolean;
22
+ protected modArgs<TYPE extends CustomModifierTypeReal>(type: TYPE): CustomModifierArgs[TYPE] | [];
23
+ protected removeMod(type: CustomModifierTypeReal): void;
24
+ protected addMod<TYPE extends CustomModifierTypeReal>(type: TYPE, args: CustomModifierArgs[TYPE]): void;
25
+ protected toggleMod<TYPE extends CustomModifierTypeRealSimple>(type: TYPE, args: boolean): void;
26
+ protected toggleMod<TYPE extends CustomModifierTypeReal>(type: TYPE, args: false | CustomModifierArgs[TYPE]): void;
17
27
  }
18
28
  export declare enum CustomGameOptionsSection {
19
29
  General = 0,
@@ -8,15 +8,14 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
12
11
  import type { IRefreshable } from "@wayward/game/ui/component/Refreshable";
12
+ import type { CustomModifiers } from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
13
13
  import CustomGameOptionsTab from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
14
14
  export default class TabCreatures extends CustomGameOptionsTab implements IRefreshable {
15
- private readonly options;
16
15
  private readonly creatureComponentMap;
17
16
  private readonly addCreatureConfigDropdown;
18
17
  private readonly creaturesWrapper;
19
- constructor(options: () => IGameOptions);
18
+ constructor(modifiers: CustomModifiers);
20
19
  refresh(): this;
21
20
  private addCreature;
22
21
  private sortCreatures;
@@ -8,8 +8,8 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
11
+ import type { CustomModifiers } from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
12
12
  import CustomGameOptionsTab from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
13
13
  export default class TabGeneral extends CustomGameOptionsTab {
14
- constructor(options: () => IGameOptions);
14
+ constructor(modifiers: CustomModifiers);
15
15
  }
@@ -8,8 +8,8 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
11
+ import type { CustomModifiers } from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
12
12
  import CustomGameOptionsTab from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
13
13
  export default class TabItems extends CustomGameOptionsTab {
14
- constructor(options: () => IGameOptions);
14
+ constructor(modifiers: CustomModifiers);
15
15
  }
@@ -8,15 +8,14 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
12
11
  import type { IRefreshable } from "@wayward/game/ui/component/Refreshable";
12
+ import type { CustomModifiers } from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
13
13
  import CustomGameOptionsTab from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
14
14
  export default class TabSkills extends CustomGameOptionsTab implements IRefreshable {
15
- private readonly options;
16
15
  private readonly skillComponentMap;
17
16
  private readonly addSkillConfigDropdown;
18
17
  private readonly skillsWrapper;
19
- constructor(options: () => IGameOptions);
18
+ constructor(modifiers: CustomModifiers);
20
19
  refresh(): this;
21
20
  private addSkill;
22
21
  private sortSkills;
@@ -8,8 +8,8 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
11
+ import type { CustomModifiers } from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
12
12
  import CustomGameOptionsTab from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
13
13
  export default class TabStats extends CustomGameOptionsTab {
14
- constructor(options: () => IGameOptions);
14
+ constructor(modifiers: CustomModifiers);
15
15
  }
@@ -8,8 +8,8 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
11
+ import type { CustomModifiers } from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
12
12
  import CustomGameOptionsTab from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
13
13
  export default class TabStatuses extends CustomGameOptionsTab {
14
- constructor(options: () => IGameOptions);
14
+ constructor(modifiers: CustomModifiers);
15
15
  }
@@ -8,13 +8,12 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
12
11
  import { CheckButton } from "@wayward/game/ui/component/CheckButton";
13
12
  import ChoiceList, { Choice } from "@wayward/game/ui/component/ChoiceList";
14
13
  import { RangeRow } from "@wayward/game/ui/component/RangeRow";
14
+ import type { CustomModifiers } from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
15
15
  import CustomGameOptionsTab from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
16
16
  export default class TabTime extends CustomGameOptionsTab {
17
- private readonly options;
18
17
  readonly eternalDay: Choice<"day">;
19
18
  readonly eternalNight: Choice<"night">;
20
19
  readonly choiceListEternalTime: ChoiceList.Optional<Choice<"day" | "night">>;
@@ -22,7 +21,5 @@ export default class TabTime extends CustomGameOptionsTab {
22
21
  readonly rangeInitialTime: RangeRow;
23
22
  readonly rangeDayLength: RangeRow;
24
23
  readonly rangeDayPercent: RangeRow;
25
- private readonly defaultDayLength;
26
- private readonly defaultDayPercent;
27
- constructor(options: () => IGameOptions);
24
+ constructor(modifiers: CustomModifiers);
28
25
  }
@@ -8,8 +8,8 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
11
+ import type { CustomModifiers } from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
12
12
  import CustomGameOptionsTab from "@wayward/game/ui/screen/screens/menu/menus/newgame/customgameoptions/CustomGameOptionsTab";
13
13
  export default class TabTravel extends CustomGameOptionsTab {
14
- constructor(options: () => IGameOptions);
14
+ constructor(modifiers: CustomModifiers);
15
15
  }
@@ -8,10 +8,6 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- import type { IHasImagePath } from "@wayward/game/game/IObject";
12
- import type { IGameOptions, IGameOptionsPlayer } from "@wayward/game/game/options/IGameOptions";
13
- import type { IModdable } from "@wayward/game/mod/ModRegistry";
14
- import type Tooltip from "@wayward/game/ui/tooltip/Tooltip";
15
11
  export declare enum GameOptionsIcon {
16
12
  Peaceful = 0,
17
13
  Creatures = 1,
@@ -32,11 +28,6 @@ export declare enum GameOptionsIcon {
32
28
  Crafting = 16,
33
29
  Items = 17,
34
30
  Travel = 18,
35
- Luck = 19
31
+ Luck = 19,
32
+ Curse = 20
36
33
  }
37
- export interface IGameOptionsIcon extends IModdable, IHasImagePath {
38
- check(options: IGameOptions, localPlayerOption: ImmutableObject<IGameOptionsPlayer>): boolean;
39
- tooltip?(tooltip: Tooltip, options: IGameOptions, localPlayerOption: ImmutableObject<IGameOptionsPlayer>): any;
40
- }
41
- declare const gameOptionsIcons: Descriptions<GameOptionsIcon, IGameOptionsIcon>;
42
- export default gameOptionsIcons;
@@ -38,6 +38,7 @@ export default class TooltipManager {
38
38
  protected onScreenResize(): void;
39
39
  protected onMove(): void;
40
40
  protected onToggleMoreInfo(): void;
41
+ protected onToggleStackItemsHint(): void;
41
42
  private loop;
42
43
  }
43
44
  export interface ITooltipSurfaceEvents {
@@ -50,12 +50,17 @@ declare namespace Merge {
50
50
  * Note: Tuples (created with `Tuple()`) use "MERGE_ARRAY" by default.
51
51
  */
52
52
  function MERGE_ARRAY<A extends any[]>(...values: A): Mergeable<A>;
53
+ function diff<T, D = RecursivePartial<T>>(optionsA: T, optionsB: T): D;
54
+ function has<T, P = RecursivePartial<T>>(source: T, search: P): boolean;
53
55
  }
54
56
  export default Merge;
55
57
  export type MergeFunction = (a: unknown, b: unknown) => unknown;
58
+ export type DiffFunction = <T, M = RecursivePartial<T>>(optionsA: T, optionsB: T) => M;
56
59
  export declare const SYMBOL_MERGE_OVER: unique symbol;
57
60
  export declare const SYMBOL_MERGE_INTO: unique symbol;
61
+ export declare const SYMBOL_MERGE_DIFF: unique symbol;
58
62
  export interface IMergeable<T> {
59
63
  [SYMBOL_MERGE_OVER]?(value: unknown, merge: MergeFunction): T;
60
64
  [SYMBOL_MERGE_INTO]?(value: unknown, merge: MergeFunction): unknown;
65
+ [SYMBOL_MERGE_DIFF]?(b: T, diff: DiffFunction): unknown;
61
66
  }
@@ -8,13 +8,15 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
+ import type { DiffFunction, IMergeable } from "@wayward/game/utilities/object/Merge";
12
+ import { SYMBOL_MERGE_DIFF } from "@wayward/game/utilities/object/Merge";
11
13
  import { RandomReference } from "@wayward/game/utilities/random/RandomReference";
12
14
  import Objects from "@wayward/utilities/object/Objects";
13
15
  import type { RandomInstance } from "@wayward/utilities/random/IRandom";
14
16
  import type { Random } from "@wayward/utilities/random/Random";
15
17
  import type { LegacySeededGenerator } from "@wayward/utilities/random/generators/LegacySeededGenerator";
16
18
  import type { PCGSeededGenerator } from "@wayward/utilities/random/generators/PCGSeededGenerator";
17
- export default abstract class RandomValueGenerator<T> implements Objects.ICloneable {
19
+ export default abstract class RandomValueGenerator<T> implements Objects.ICloneable, IMergeable<RandomValueGenerator<T>> {
18
20
  random?: RandomInstance | RandomReference;
19
21
  value?: T;
20
22
  constructor(random?: RandomInstance | RandomReference, value?: T);
@@ -22,4 +24,5 @@ export default abstract class RandomValueGenerator<T> implements Objects.IClonea
22
24
  getRandom(): Random<LegacySeededGenerator | PCGSeededGenerator>;
23
25
  abstract [Objects.SYMBOL_CLONE](clone: typeof Objects.deepClone): this;
24
26
  protected clone(clone: typeof Objects.deepClone): readonly [RandomInstance | RandomReference | undefined, T | undefined];
27
+ [SYMBOL_MERGE_DIFF](b: RandomValueGenerator<T>, diff: DiffFunction): unknown;
25
28
  }
@@ -13,7 +13,9 @@ import Objects from "@wayward/utilities/object/Objects";
13
13
  import type { RandomInstance } from "@wayward/utilities/random/IRandom";
14
14
  import type { RandomReference } from "@wayward/game/utilities/random/RandomReference";
15
15
  import RandomValueGenerator from "@wayward/game/utilities/random/RandomValueGenerator";
16
- export default class RandomRange extends RandomValueGenerator<IRange> {
16
+ import type { DiffFunction, IMergeable } from "@wayward/game/utilities/object/Merge";
17
+ import { SYMBOL_MERGE_DIFF } from "@wayward/game/utilities/object/Merge";
18
+ export default class RandomRange extends RandomValueGenerator<IRange> implements IMergeable<RandomRange> {
17
19
  limit?: number;
18
20
  constructor();
19
21
  constructor(random: RandomInstance | RandomReference, max: number);
@@ -24,4 +26,5 @@ export default class RandomRange extends RandomValueGenerator<IRange> {
24
26
  intInRange(): number;
25
27
  float(): number;
26
28
  [Objects.SYMBOL_CLONE](clone: typeof Objects.deepClone): this;
29
+ [SYMBOL_MERGE_DIFF](b: RandomRange, diff: DiffFunction): unknown;
27
30
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wayward/types",
3
3
  "description": "TypeScript declarations for Wayward, used for modding.",
4
- "version": "2.15.0-beta.dev.20251021.1",
4
+ "version": "2.15.0-beta.dev.20251022.1",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",