@wayward/types 2.15.0-beta.dev.20251022.1 → 2.15.0-beta.dev.20251023.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.
@@ -138,6 +138,7 @@ export interface CurseEventInstance {
138
138
  curse: number;
139
139
  point: IVector2;
140
140
  creatures?: number[];
141
+ savedData?: Record<string, any>;
141
142
  subscribers?: string[];
142
143
  scriptProcesses?: ScriptProcessState[];
143
144
  [SYMBOL_CURSE_EVENT_SUBSCRIBER_INSTANCES]?: Record<string, CurseEventSubscriber>;
@@ -81,7 +81,18 @@ export interface CurseEventContext {
81
81
  uninject(): void;
82
82
  uninject<T extends CurseEventSubscriber>(subscriber: Class<T>): void;
83
83
  toString(): string;
84
+ data<T>(def: CurseEventContextDataDefinition<T>): CurseEventContextData<T>;
84
85
  }
86
+ export interface CurseEventContextDataDefinition<T> {
87
+ readonly id: string;
88
+ initializer?(): T;
89
+ }
90
+ export interface CurseEventContextData<T> {
91
+ get(): T;
92
+ set(value: T): void;
93
+ }
94
+ export declare function CurseEventContextData<T>(id: string): CurseEventContextDataDefinition<T | undefined>;
95
+ export declare function CurseEventContextData<T>(id: string, initializer: () => T): CurseEventContextDataDefinition<T>;
85
96
  export interface CurseEventExtinguishOptions {
86
97
  /**
87
98
  * The number of flat ticks to reduce decays by
@@ -0,0 +1,18 @@
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 { CurseEvent } from "@wayward/game/game/curse/CurseEvent";
12
+ import { IRange } from "@wayward/utilities/math/Range";
13
+ export declare const CURSE_EVENT_HATED_BY_WILDS_MIN_CHANCE = 0.01;
14
+ export declare const CURSE_EVENT_HATED_BY_WILDS_CURSE_MULTIPLIER: IRange<number>;
15
+ export declare const CURSE_EVENT_HATED_BY_WILDS_COOLDOWN: IRange<number>;
16
+ export declare const CURSE_EVENT_HATED_BY_WILDS_HOSTILE_PER_PROC_CAP = 5;
17
+ declare const _default: CurseEvent;
18
+ export default _default;
@@ -0,0 +1,18 @@
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 { CurseEvent } from "@wayward/game/game/curse/CurseEvent";
12
+ import { IRange } from "@wayward/utilities/math/Range";
13
+ export declare const CURSE_EVENT_LOVED_BY_WILDS_MIN_CHANCE = 0.01;
14
+ export declare const CURSE_EVENT_LOVED_BY_WILDS_CURSE_MULTIPLIER: IRange<number>;
15
+ export declare const CURSE_EVENT_LOVED_BY_WILDS_RANDOM_HAPPINESS_AT_END: IRange<number>;
16
+ export declare const CURSE_EVENT_LOVED_BY_WILDS_COOLDOWN: IRange<number>;
17
+ declare const _default: CurseEvent;
18
+ export default _default;
@@ -73,7 +73,9 @@ export declare enum AiMaskType {
73
73
  RecentlyAlerted = 12,
74
74
  WrongLayerForZone = 13,
75
75
  RecentlySwappedLayers = 14,
76
- CanSwapLayersIfTamed = 15
76
+ CanSwapLayersIfTamed = 15,
77
+ NeutralDueToEvent = 16,
78
+ HostileDueToEvent = 17
77
79
  }
78
80
  export declare enum AiMaskOrder {
79
81
  Released = 0,
@@ -86,12 +88,14 @@ export declare enum AiMaskOrder {
86
88
  Hidden = 7,
87
89
  Frenzied = 8,
88
90
  Pacified = 9,
89
- WaitingForNoPlayerAdjacent = 10,
90
- Angered = 11,
91
- RecentlyAlerted = 12,
92
- WrongLayerForZone = 13,
93
- RecentlySwappedLayers = 14,
94
- CanSwapLayersIfTamed = 15
91
+ NeutralDueToEvent = 10,
92
+ HostileDueToEvent = 11,
93
+ WaitingForNoPlayerAdjacent = 12,
94
+ Angered = 13,
95
+ RecentlyAlerted = 14,
96
+ WrongLayerForZone = 15,
97
+ RecentlySwappedLayers = 16,
98
+ CanSwapLayersIfTamed = 17
95
99
  }
96
100
  export interface IAiMaskDescription {
97
101
  /**
@@ -109,7 +109,7 @@ export default class Creature extends EntityWithStats<ICreatureDescription, Crea
109
109
  load(): void;
110
110
  checkForBurn(moveType?: MoveType): boolean;
111
111
  private setOwner;
112
- tame(human: Human, bonus?: number): boolean;
112
+ tame(human: Human, bonusTime?: number): boolean;
113
113
  /**
114
114
  * Increases the creature's maximum health in the event of offering/re-taming and petting (to a lesser extent)
115
115
  */
@@ -164,6 +164,8 @@ export default class Creature extends EntityWithStats<ICreatureDescription, Crea
164
164
  getAttackOutcome(enemy: Human | Creature | undefined, force?: boolean, humans?: Human[], description?: ICreatureDescription, moveType?: MoveType): CreatureAttackOutcome;
165
165
  processAttack(description: ICreatureDescription, humans: Human[], moveType: MoveType | undefined, enemyIn: Human | Creature | undefined): boolean;
166
166
  getProducedTemperature(): number | undefined;
167
+ makeAberrant(): number | undefined;
168
+ unAberrant(restoreHealth: number): boolean;
167
169
  protected updateTileWhenMoving(fromTile: Tile, toTile: Tile): boolean;
168
170
  protected onStatChange(stat: IStat, oldValue: number, info: IStatChangeInfo): void;
169
171
  /**
@@ -43,7 +43,7 @@ export default class CreatureManager extends EntityManager<Creature, IEntityRemo
43
43
  loadEntity(creature: Creature): void;
44
44
  static getName(creature: Creature | CreatureType, aberrant?: boolean, count?: number, article?: Article): TranslationImpl;
45
45
  getName(creature: Creature | CreatureType, aberrant?: boolean, count?: number, article?: Article): TranslationImpl;
46
- getHappinessLevel(human: Human, creature: Creature, bonus?: number): number;
46
+ calculateHappinessTameTime(human: Human, creature: Creature, bonusTime?: number): number;
47
47
  /**
48
48
  * Spawns a creature.
49
49
  * @param type The type of creature to spawn.
@@ -35,115 +35,115 @@ declare enum Dictionary {
35
35
  CurseComponent = 23,
36
36
  CurseEvent = 24,
37
37
  CurseEventGroup = 25,
38
- DamageType = 26,
39
- Deity = 27,
40
- DeitySymbol = 28,
41
- Dialog = 29,
42
- Direction = 30,
43
- DisplayLevel = 31,
44
- DoctorCure = 32,
45
- DoctorMethod = 33,
46
- Doodad = 34,
47
- DoodadExtra = 35,
48
- DoodadGroup = 36,
49
- DrawnMapTheme = 37,
50
- DurabilityLevel = 38,
51
- EquipEffect = 39,
52
- EquipSlot = 40,
53
- ExhaustionLevel = 41,
54
- FireStage = 42,
55
- FontStyle = 43,
56
- GameEndMessage = 44,
57
- GameMode = 45,
58
- Growth = 46,
59
- GrowthFungus = 47,
60
- Health = 48,
61
- HealthAccuracy = 49,
62
- HelpArticle = 50,
63
- HighscoreSort = 51,
64
- HumanName = 52,
65
- HungerLevel = 53,
66
- Input = 54,
67
- InspectType = 55,
68
- InterruptChoice = 56,
69
- IslandModifier = 57,
70
- IslandName = 58,
71
- IslandNameBiomeDescriptor = 59,
72
- IslandNameBiomeNoun = 60,
73
- IslandNameModifierDescriptor = 61,
74
- IslandNameOverrunWithCreatureDescriptor = 62,
75
- Item = 63,
76
- ItemAffixPostReformat = 64,
77
- ItemAffixPreReformat = 65,
78
- ItemExtra = 66,
79
- ItemGroup = 67,
80
- JoinServerRetryReason = 68,
81
- Label = 69,
82
- Level = 70,
83
- LighthouseName = 71,
84
- Loading = 72,
85
- Macro = 73,
86
- MagicalPropertyAffix = 74,
87
- MagicalPropertyType = 75,
88
- MagicalSubPropertyAffix = 76,
89
- MapQuality = 77,
90
- MenuBarButton = 78,
91
- Message = 79,
92
- MessagesDefaultFilter = 80,
93
- MessagesTimestampMode = 81,
94
- Milestone = 82,
95
- MilestoneModifierGroup = 83,
96
- MilestoneSort = 84,
97
- Misc = 85,
98
- ModLoadError = 86,
99
- ModLoadFailureReason = 87,
100
- ModProvide = 88,
101
- ModSort = 89,
102
- ModType = 90,
103
- MultiplayerCompatibility = 91,
104
- MultiplayerDisconnectReason = 92,
105
- MusicPlaylist = 93,
106
- Note = 94,
107
- Npc = 95,
108
- Number = 96,
109
- PartOfDay = 97,
110
- Prompt = 98,
111
- QuadrantComponent = 99,
112
- QuadrantComponentContextMenuAction = 100,
113
- Quality = 101,
114
- Quest = 102,
115
- QuestRequirement = 103,
116
- RecipeLevel = 104,
117
- Region = 105,
118
- Riddle = 106,
119
- RunekeeperDomain = 107,
120
- RunekeeperDomainEvent = 108,
121
- SaveImportErrorReason = 109,
122
- SaveSlotSort = 110,
123
- Skill = 111,
124
- SkillsSort = 112,
125
- Source = 113,
126
- Stat = 114,
127
- Status = 115,
128
- StatusEffect = 116,
129
- StatusThreatLevel = 117,
130
- SteamInputKeyboardPosition = 118,
131
- TeamMemberResponsibility = 119,
132
- TemperatureType = 120,
133
- Term = 121,
134
- Terrain = 122,
135
- ThirstLevel = 123,
136
- TileEvent = 124,
137
- TooltipVisibilityOption = 125,
138
- Ui = 126,
139
- UiQuadrant = 127,
140
- UnableToJoinReason = 128,
141
- UnlockedRecipesStrategy = 129,
142
- UsableActionType = 130,
143
- Website = 131,
144
- WeightStatus = 132,
145
- WorldLayer = 133,
146
- CustomModifier = 134,
147
- GameOptionsIcon = 135
38
+ CustomModifier = 26,
39
+ DamageType = 27,
40
+ Deity = 28,
41
+ DeitySymbol = 29,
42
+ Dialog = 30,
43
+ Direction = 31,
44
+ DisplayLevel = 32,
45
+ DoctorCure = 33,
46
+ DoctorMethod = 34,
47
+ Doodad = 35,
48
+ DoodadExtra = 36,
49
+ DoodadGroup = 37,
50
+ DrawnMapTheme = 38,
51
+ DurabilityLevel = 39,
52
+ EquipEffect = 40,
53
+ EquipSlot = 41,
54
+ ExhaustionLevel = 42,
55
+ FireStage = 43,
56
+ FontStyle = 44,
57
+ GameEndMessage = 45,
58
+ GameMode = 46,
59
+ GameOptionsIcon = 47,
60
+ Growth = 48,
61
+ GrowthFungus = 49,
62
+ Health = 50,
63
+ HealthAccuracy = 51,
64
+ HelpArticle = 52,
65
+ HighscoreSort = 53,
66
+ HumanName = 54,
67
+ HungerLevel = 55,
68
+ Input = 56,
69
+ InspectType = 57,
70
+ InterruptChoice = 58,
71
+ IslandModifier = 59,
72
+ IslandName = 60,
73
+ IslandNameBiomeDescriptor = 61,
74
+ IslandNameBiomeNoun = 62,
75
+ IslandNameModifierDescriptor = 63,
76
+ IslandNameOverrunWithCreatureDescriptor = 64,
77
+ Item = 65,
78
+ ItemAffixPostReformat = 66,
79
+ ItemAffixPreReformat = 67,
80
+ ItemExtra = 68,
81
+ ItemGroup = 69,
82
+ JoinServerRetryReason = 70,
83
+ Label = 71,
84
+ Level = 72,
85
+ LighthouseName = 73,
86
+ Loading = 74,
87
+ Macro = 75,
88
+ MagicalPropertyAffix = 76,
89
+ MagicalPropertyType = 77,
90
+ MagicalSubPropertyAffix = 78,
91
+ MapQuality = 79,
92
+ MenuBarButton = 80,
93
+ Message = 81,
94
+ MessagesDefaultFilter = 82,
95
+ MessagesTimestampMode = 83,
96
+ Milestone = 84,
97
+ MilestoneModifierGroup = 85,
98
+ MilestoneSort = 86,
99
+ Misc = 87,
100
+ ModLoadError = 88,
101
+ ModLoadFailureReason = 89,
102
+ ModProvide = 90,
103
+ ModSort = 91,
104
+ ModType = 92,
105
+ MultiplayerCompatibility = 93,
106
+ MultiplayerDisconnectReason = 94,
107
+ MusicPlaylist = 95,
108
+ Note = 96,
109
+ Npc = 97,
110
+ Number = 98,
111
+ PartOfDay = 99,
112
+ Prompt = 100,
113
+ QuadrantComponent = 101,
114
+ QuadrantComponentContextMenuAction = 102,
115
+ Quality = 103,
116
+ Quest = 104,
117
+ QuestRequirement = 105,
118
+ RecipeLevel = 106,
119
+ Region = 107,
120
+ Riddle = 108,
121
+ RunekeeperDomain = 109,
122
+ RunekeeperDomainEvent = 110,
123
+ SaveImportErrorReason = 111,
124
+ SaveSlotSort = 112,
125
+ Skill = 113,
126
+ SkillsSort = 114,
127
+ Source = 115,
128
+ Stat = 116,
129
+ Status = 117,
130
+ StatusEffect = 118,
131
+ StatusThreatLevel = 119,
132
+ SteamInputKeyboardPosition = 120,
133
+ TeamMemberResponsibility = 121,
134
+ TemperatureType = 122,
135
+ Term = 123,
136
+ Terrain = 124,
137
+ ThirstLevel = 125,
138
+ TileEvent = 126,
139
+ TooltipVisibilityOption = 127,
140
+ Ui = 128,
141
+ UiQuadrant = 129,
142
+ UnableToJoinReason = 130,
143
+ UnlockedRecipesStrategy = 131,
144
+ UsableActionType = 132,
145
+ Website = 133,
146
+ WeightStatus = 134,
147
+ WorldLayer = 135
148
148
  }
149
149
  export default Dictionary;
@@ -129,45 +129,47 @@ declare const dictionaryMap: {
129
129
  23: typeof CurseComponent;
130
130
  24: typeof CurseEventType;
131
131
  25: typeof CurseGroup;
132
- 26: typeof DamageType;
133
- 27: typeof Deity;
132
+ 26: typeof CustomModifierType;
133
+ 27: typeof DamageType;
134
134
  28: typeof Deity;
135
- 29: typeof DialogId;
136
- 30: typeof Direction;
137
- 31: typeof InfoDisplayLevel;
138
- 32: typeof DoctorCureType;
139
- 33: typeof DoctorCureMethod;
140
- 34: typeof DoodadType;
141
- 35: typeof DoodadTypeExtra;
142
- 36: typeof DoodadTypeGroup;
143
- 37: typeof DrawnMapTheme;
144
- 38: typeof DurabilityLevel;
145
- 39: typeof EquipEffect;
146
- 40: typeof EquipType;
147
- 41: typeof ExhaustionLevel;
148
- 42: typeof FireStage;
149
- 43: typeof FontStyle;
150
- 44: typeof GameEndMessage;
151
- 45: typeof GameMode;
152
- 46: typeof GrowingStage;
153
- 47: typeof GrowingStage;
154
- 48: typeof Health;
155
- 49: typeof HealthAccuracy;
156
- 50: typeof HelpArticle;
157
- 51: typeof HighscoreSort;
158
- 52: typeof HumanName;
159
- 53: typeof HungerLevel;
160
- 54: symbol;
161
- 55: typeof InspectType;
162
- 56: typeof InterruptChoice;
163
- 57: typeof IslandModifierType;
164
- 58: typeof IslandName;
165
- 59: typeof BiomeType;
166
- 60: typeof BiomeType;
167
- 61: typeof IslandModifierType;
168
- 62: typeof CreatureType;
169
- 63: typeof ItemType;
170
- 64: {
135
+ 29: typeof Deity;
136
+ 30: typeof DialogId;
137
+ 31: typeof Direction;
138
+ 32: typeof InfoDisplayLevel;
139
+ 33: typeof DoctorCureType;
140
+ 34: typeof DoctorCureMethod;
141
+ 35: typeof DoodadType;
142
+ 36: typeof DoodadTypeExtra;
143
+ 37: typeof DoodadTypeGroup;
144
+ 38: typeof DrawnMapTheme;
145
+ 39: typeof DurabilityLevel;
146
+ 40: typeof EquipEffect;
147
+ 41: typeof EquipType;
148
+ 42: typeof ExhaustionLevel;
149
+ 43: typeof FireStage;
150
+ 44: typeof FontStyle;
151
+ 45: typeof GameEndMessage;
152
+ 46: typeof GameMode;
153
+ 47: typeof GameOptionsIcon;
154
+ 48: typeof GrowingStage;
155
+ 49: typeof GrowingStage;
156
+ 50: typeof Health;
157
+ 51: typeof HealthAccuracy;
158
+ 52: typeof HelpArticle;
159
+ 53: typeof HighscoreSort;
160
+ 54: typeof HumanName;
161
+ 55: typeof HungerLevel;
162
+ 56: symbol;
163
+ 57: typeof InspectType;
164
+ 58: typeof InterruptChoice;
165
+ 59: typeof IslandModifierType;
166
+ 60: typeof IslandName;
167
+ 61: typeof BiomeType;
168
+ 62: typeof BiomeType;
169
+ 63: typeof IslandModifierType;
170
+ 64: typeof CreatureType;
171
+ 65: typeof ItemType;
172
+ 66: {
171
173
  Bow: ItemType.Bow;
172
174
  None: ItemType.None;
173
175
  String: ItemType.String;
@@ -1025,7 +1027,7 @@ declare const dictionaryMap: {
1025
1027
  SnowScarecrow2: ItemTypeExtra.SnowScarecrow2;
1026
1028
  SnowScarecrow3: ItemTypeExtra.SnowScarecrow3;
1027
1029
  };
1028
- 65: {
1030
+ 67: {
1029
1031
  Bow: ItemType.Bow;
1030
1032
  None: ItemType.None;
1031
1033
  String: ItemType.String;
@@ -1883,76 +1885,74 @@ declare const dictionaryMap: {
1883
1885
  SnowScarecrow2: ItemTypeExtra.SnowScarecrow2;
1884
1886
  SnowScarecrow3: ItemTypeExtra.SnowScarecrow3;
1885
1887
  };
1886
- 66: typeof ItemTypeExtra;
1887
- 67: typeof ItemTypeGroup;
1888
- 68: typeof JoinServerRetryReason;
1889
- 69: typeof Label;
1890
- 70: typeof Level;
1891
- 71: typeof LighthouseName;
1892
- 72: typeof Load;
1893
- 73: symbol;
1894
- 74: typeof MagicalPropertyType;
1895
- 75: typeof MagicalPropertyType;
1896
- 76: symbol;
1897
- 77: typeof MapQuality;
1898
- 78: typeof MenuBarButtonType;
1899
- 79: typeof Message;
1900
- 80: typeof MessageFilterDefault;
1901
- 81: typeof MessageTimestamp;
1902
- 82: typeof Milestone;
1903
- 83: typeof MilestoneModifierGroup;
1904
- 84: typeof MilestoneSort;
1905
- 85: typeof MiscTranslation;
1906
- 86: typeof CanLoadState;
1907
- 87: typeof ModLoadFailureReason;
1908
- 88: typeof ModProvide;
1909
- 89: typeof ModSort;
1910
- 90: typeof ModType;
1911
- 91: typeof MultiplayerCompatibility;
1912
- 92: typeof DisconnectReason;
1913
- 93: typeof MusicPlaylist;
1914
- 94: typeof Note;
1915
- 95: typeof NPCType;
1916
- 96: symbol;
1917
- 97: typeof PartOfDay;
1918
- 98: typeof Prompt;
1919
- 99: typeof QuadrantComponentId;
1920
- 100: typeof QuadrantComponentContextMenuAction;
1921
- 101: typeof Quality;
1922
- 102: typeof QuestType;
1923
- 103: typeof QuestRequirementType;
1924
- 104: typeof RecipeLevel;
1925
- 105: typeof Direction;
1926
- 106: typeof Riddle;
1927
- 107: typeof Runekeeper.Domain;
1928
- 108: typeof Runekeeper.Event;
1929
- 109: typeof SaveImportErrorReason;
1930
- 110: typeof SaveSort;
1931
- 111: typeof SkillType;
1932
- 112: typeof SkillSort;
1933
- 113: typeof Source;
1934
- 114: typeof Stat;
1935
- 115: typeof StatusType;
1936
- 116: typeof StatusEffectType;
1937
- 117: typeof StatusThreatLevel;
1938
- 118: typeof SteamInputKeyboardPosition;
1939
- 119: typeof Responsibility;
1940
- 120: typeof TempType;
1941
- 121: typeof Term;
1942
- 122: typeof TerrainType;
1943
- 123: typeof ThirstLevel;
1944
- 124: typeof TileEventType;
1945
- 125: typeof TooltipVisibilityOption;
1946
- 126: typeof UiTranslation;
1947
- 127: typeof Quadrant;
1948
- 128: typeof UnableToJoinReason;
1949
- 129: typeof UnlockedRecipesStrategy;
1950
- 130: typeof UsableActionType;
1951
- 131: typeof Website;
1952
- 132: typeof WeightStatus;
1953
- 133: typeof WorldZ;
1954
- 134: typeof CustomModifierType;
1955
- 135: typeof GameOptionsIcon;
1888
+ 68: typeof ItemTypeExtra;
1889
+ 69: typeof ItemTypeGroup;
1890
+ 70: typeof JoinServerRetryReason;
1891
+ 71: typeof Label;
1892
+ 72: typeof Level;
1893
+ 73: typeof LighthouseName;
1894
+ 74: typeof Load;
1895
+ 75: symbol;
1896
+ 76: typeof MagicalPropertyType;
1897
+ 77: typeof MagicalPropertyType;
1898
+ 78: symbol;
1899
+ 79: typeof MapQuality;
1900
+ 80: typeof MenuBarButtonType;
1901
+ 81: typeof Message;
1902
+ 82: typeof MessageFilterDefault;
1903
+ 83: typeof MessageTimestamp;
1904
+ 84: typeof Milestone;
1905
+ 85: typeof MilestoneModifierGroup;
1906
+ 86: typeof MilestoneSort;
1907
+ 87: typeof MiscTranslation;
1908
+ 88: typeof CanLoadState;
1909
+ 89: typeof ModLoadFailureReason;
1910
+ 90: typeof ModProvide;
1911
+ 91: typeof ModSort;
1912
+ 92: typeof ModType;
1913
+ 93: typeof MultiplayerCompatibility;
1914
+ 94: typeof DisconnectReason;
1915
+ 95: typeof MusicPlaylist;
1916
+ 96: typeof Note;
1917
+ 97: typeof NPCType;
1918
+ 98: symbol;
1919
+ 99: typeof PartOfDay;
1920
+ 100: typeof Prompt;
1921
+ 101: typeof QuadrantComponentId;
1922
+ 102: typeof QuadrantComponentContextMenuAction;
1923
+ 103: typeof Quality;
1924
+ 104: typeof QuestType;
1925
+ 105: typeof QuestRequirementType;
1926
+ 106: typeof RecipeLevel;
1927
+ 107: typeof Direction;
1928
+ 108: typeof Riddle;
1929
+ 109: typeof Runekeeper.Domain;
1930
+ 110: typeof Runekeeper.Event;
1931
+ 111: typeof SaveImportErrorReason;
1932
+ 112: typeof SaveSort;
1933
+ 113: typeof SkillType;
1934
+ 114: typeof SkillSort;
1935
+ 115: typeof Source;
1936
+ 116: typeof Stat;
1937
+ 117: typeof StatusType;
1938
+ 118: typeof StatusEffectType;
1939
+ 119: typeof StatusThreatLevel;
1940
+ 120: typeof SteamInputKeyboardPosition;
1941
+ 121: typeof Responsibility;
1942
+ 122: typeof TempType;
1943
+ 123: typeof Term;
1944
+ 124: typeof TerrainType;
1945
+ 125: typeof ThirstLevel;
1946
+ 126: typeof TileEventType;
1947
+ 127: typeof TooltipVisibilityOption;
1948
+ 128: typeof UiTranslation;
1949
+ 129: typeof Quadrant;
1950
+ 130: typeof UnableToJoinReason;
1951
+ 131: typeof UnlockedRecipesStrategy;
1952
+ 132: typeof UsableActionType;
1953
+ 133: typeof Website;
1954
+ 134: typeof WeightStatus;
1955
+ 135: typeof WorldZ;
1956
1956
  };
1957
1957
  export declare const strictDictionaries: {
1958
1958
  0: typeof ActionType;
@@ -1981,45 +1981,47 @@ export declare const strictDictionaries: {
1981
1981
  23: typeof CurseComponent;
1982
1982
  24: typeof CurseEventType;
1983
1983
  25: typeof CurseGroup;
1984
- 26: typeof DamageType;
1985
- 27: typeof Deity;
1984
+ 26: typeof CustomModifierType;
1985
+ 27: typeof DamageType;
1986
1986
  28: typeof Deity;
1987
- 29: typeof DialogId;
1988
- 30: typeof Direction;
1989
- 31: typeof InfoDisplayLevel;
1990
- 32: typeof DoctorCureType;
1991
- 33: typeof DoctorCureMethod;
1992
- 34: typeof DoodadType;
1993
- 35: typeof DoodadTypeExtra;
1994
- 36: typeof DoodadTypeGroup;
1995
- 37: typeof DrawnMapTheme;
1996
- 38: typeof DurabilityLevel;
1997
- 39: typeof EquipEffect;
1998
- 40: typeof EquipType;
1999
- 41: typeof ExhaustionLevel;
2000
- 42: typeof FireStage;
2001
- 43: typeof FontStyle;
2002
- 44: typeof GameEndMessage;
2003
- 45: typeof GameMode;
2004
- 46: typeof GrowingStage;
2005
- 47: typeof GrowingStage;
2006
- 48: typeof Health;
2007
- 49: typeof HealthAccuracy;
2008
- 50: typeof HelpArticle;
2009
- 51: typeof HighscoreSort;
2010
- 52: typeof HumanName;
2011
- 53: typeof HungerLevel;
2012
- 54: symbol;
2013
- 55: typeof InspectType;
2014
- 56: typeof InterruptChoice;
2015
- 57: typeof IslandModifierType;
2016
- 58: typeof IslandName;
2017
- 59: typeof BiomeType;
2018
- 60: typeof BiomeType;
2019
- 61: typeof IslandModifierType;
2020
- 62: typeof CreatureType;
2021
- 63: typeof ItemType;
2022
- 64: {
1987
+ 29: typeof Deity;
1988
+ 30: typeof DialogId;
1989
+ 31: typeof Direction;
1990
+ 32: typeof InfoDisplayLevel;
1991
+ 33: typeof DoctorCureType;
1992
+ 34: typeof DoctorCureMethod;
1993
+ 35: typeof DoodadType;
1994
+ 36: typeof DoodadTypeExtra;
1995
+ 37: typeof DoodadTypeGroup;
1996
+ 38: typeof DrawnMapTheme;
1997
+ 39: typeof DurabilityLevel;
1998
+ 40: typeof EquipEffect;
1999
+ 41: typeof EquipType;
2000
+ 42: typeof ExhaustionLevel;
2001
+ 43: typeof FireStage;
2002
+ 44: typeof FontStyle;
2003
+ 45: typeof GameEndMessage;
2004
+ 46: typeof GameMode;
2005
+ 47: typeof GameOptionsIcon;
2006
+ 48: typeof GrowingStage;
2007
+ 49: typeof GrowingStage;
2008
+ 50: typeof Health;
2009
+ 51: typeof HealthAccuracy;
2010
+ 52: typeof HelpArticle;
2011
+ 53: typeof HighscoreSort;
2012
+ 54: typeof HumanName;
2013
+ 55: typeof HungerLevel;
2014
+ 56: symbol;
2015
+ 57: typeof InspectType;
2016
+ 58: typeof InterruptChoice;
2017
+ 59: typeof IslandModifierType;
2018
+ 60: typeof IslandName;
2019
+ 61: typeof BiomeType;
2020
+ 62: typeof BiomeType;
2021
+ 63: typeof IslandModifierType;
2022
+ 64: typeof CreatureType;
2023
+ 65: typeof ItemType;
2024
+ 66: {
2023
2025
  Bow: ItemType.Bow;
2024
2026
  None: ItemType.None;
2025
2027
  String: ItemType.String;
@@ -2877,7 +2879,7 @@ export declare const strictDictionaries: {
2877
2879
  SnowScarecrow2: ItemTypeExtra.SnowScarecrow2;
2878
2880
  SnowScarecrow3: ItemTypeExtra.SnowScarecrow3;
2879
2881
  };
2880
- 65: {
2882
+ 67: {
2881
2883
  Bow: ItemType.Bow;
2882
2884
  None: ItemType.None;
2883
2885
  String: ItemType.String;
@@ -3735,76 +3737,74 @@ export declare const strictDictionaries: {
3735
3737
  SnowScarecrow2: ItemTypeExtra.SnowScarecrow2;
3736
3738
  SnowScarecrow3: ItemTypeExtra.SnowScarecrow3;
3737
3739
  };
3738
- 66: typeof ItemTypeExtra;
3739
- 67: typeof ItemTypeGroup;
3740
- 68: typeof JoinServerRetryReason;
3741
- 69: typeof Label;
3742
- 70: typeof Level;
3743
- 71: typeof LighthouseName;
3744
- 72: typeof Load;
3745
- 73: symbol;
3746
- 74: typeof MagicalPropertyType;
3747
- 75: typeof MagicalPropertyType;
3748
- 76: symbol;
3749
- 77: typeof MapQuality;
3750
- 78: typeof MenuBarButtonType;
3751
- 79: typeof Message;
3752
- 80: typeof MessageFilterDefault;
3753
- 81: typeof MessageTimestamp;
3754
- 82: typeof Milestone;
3755
- 83: typeof MilestoneModifierGroup;
3756
- 84: typeof MilestoneSort;
3757
- 85: typeof MiscTranslation;
3758
- 86: typeof CanLoadState;
3759
- 87: typeof ModLoadFailureReason;
3760
- 88: typeof ModProvide;
3761
- 89: typeof ModSort;
3762
- 90: typeof ModType;
3763
- 91: typeof MultiplayerCompatibility;
3764
- 92: typeof DisconnectReason;
3765
- 93: typeof MusicPlaylist;
3766
- 94: typeof Note;
3767
- 95: typeof NPCType;
3768
- 96: symbol;
3769
- 97: typeof PartOfDay;
3770
- 98: typeof Prompt;
3771
- 99: typeof QuadrantComponentId;
3772
- 100: typeof QuadrantComponentContextMenuAction;
3773
- 101: typeof Quality;
3774
- 102: typeof QuestType;
3775
- 103: typeof QuestRequirementType;
3776
- 104: typeof RecipeLevel;
3777
- 105: typeof Direction;
3778
- 106: typeof Riddle;
3779
- 107: typeof Runekeeper.Domain;
3780
- 108: typeof Runekeeper.Event;
3781
- 109: typeof SaveImportErrorReason;
3782
- 110: typeof SaveSort;
3783
- 111: typeof SkillType;
3784
- 112: typeof SkillSort;
3785
- 113: typeof Source;
3786
- 114: typeof Stat;
3787
- 115: typeof StatusType;
3788
- 116: typeof StatusEffectType;
3789
- 117: typeof StatusThreatLevel;
3790
- 118: typeof SteamInputKeyboardPosition;
3791
- 119: typeof Responsibility;
3792
- 120: typeof TempType;
3793
- 121: typeof Term;
3794
- 122: typeof TerrainType;
3795
- 123: typeof ThirstLevel;
3796
- 124: typeof TileEventType;
3797
- 125: typeof TooltipVisibilityOption;
3798
- 126: typeof UiTranslation;
3799
- 127: typeof Quadrant;
3800
- 128: typeof UnableToJoinReason;
3801
- 129: typeof UnlockedRecipesStrategy;
3802
- 130: typeof UsableActionType;
3803
- 131: typeof Website;
3804
- 132: typeof WeightStatus;
3805
- 133: typeof WorldZ;
3806
- 134: typeof CustomModifierType;
3807
- 135: typeof GameOptionsIcon;
3740
+ 68: typeof ItemTypeExtra;
3741
+ 69: typeof ItemTypeGroup;
3742
+ 70: typeof JoinServerRetryReason;
3743
+ 71: typeof Label;
3744
+ 72: typeof Level;
3745
+ 73: typeof LighthouseName;
3746
+ 74: typeof Load;
3747
+ 75: symbol;
3748
+ 76: typeof MagicalPropertyType;
3749
+ 77: typeof MagicalPropertyType;
3750
+ 78: symbol;
3751
+ 79: typeof MapQuality;
3752
+ 80: typeof MenuBarButtonType;
3753
+ 81: typeof Message;
3754
+ 82: typeof MessageFilterDefault;
3755
+ 83: typeof MessageTimestamp;
3756
+ 84: typeof Milestone;
3757
+ 85: typeof MilestoneModifierGroup;
3758
+ 86: typeof MilestoneSort;
3759
+ 87: typeof MiscTranslation;
3760
+ 88: typeof CanLoadState;
3761
+ 89: typeof ModLoadFailureReason;
3762
+ 90: typeof ModProvide;
3763
+ 91: typeof ModSort;
3764
+ 92: typeof ModType;
3765
+ 93: typeof MultiplayerCompatibility;
3766
+ 94: typeof DisconnectReason;
3767
+ 95: typeof MusicPlaylist;
3768
+ 96: typeof Note;
3769
+ 97: typeof NPCType;
3770
+ 98: symbol;
3771
+ 99: typeof PartOfDay;
3772
+ 100: typeof Prompt;
3773
+ 101: typeof QuadrantComponentId;
3774
+ 102: typeof QuadrantComponentContextMenuAction;
3775
+ 103: typeof Quality;
3776
+ 104: typeof QuestType;
3777
+ 105: typeof QuestRequirementType;
3778
+ 106: typeof RecipeLevel;
3779
+ 107: typeof Direction;
3780
+ 108: typeof Riddle;
3781
+ 109: typeof Runekeeper.Domain;
3782
+ 110: typeof Runekeeper.Event;
3783
+ 111: typeof SaveImportErrorReason;
3784
+ 112: typeof SaveSort;
3785
+ 113: typeof SkillType;
3786
+ 114: typeof SkillSort;
3787
+ 115: typeof Source;
3788
+ 116: typeof Stat;
3789
+ 117: typeof StatusType;
3790
+ 118: typeof StatusEffectType;
3791
+ 119: typeof StatusThreatLevel;
3792
+ 120: typeof SteamInputKeyboardPosition;
3793
+ 121: typeof Responsibility;
3794
+ 122: typeof TempType;
3795
+ 123: typeof Term;
3796
+ 124: typeof TerrainType;
3797
+ 125: typeof ThirstLevel;
3798
+ 126: typeof TileEventType;
3799
+ 127: typeof TooltipVisibilityOption;
3800
+ 128: typeof UiTranslation;
3801
+ 129: typeof Quadrant;
3802
+ 130: typeof UnableToJoinReason;
3803
+ 131: typeof UnlockedRecipesStrategy;
3804
+ 132: typeof UsableActionType;
3805
+ 133: typeof Website;
3806
+ 134: typeof WeightStatus;
3807
+ 135: typeof WorldZ;
3808
3808
  };
3809
3809
  export type DictionaryEnum = (typeof dictionaryMap)[Dictionary];
3810
3810
  type ExtractEnumString<E> = E extends Record<string, infer V> ? V : never;
@@ -13,9 +13,14 @@ import Button from "@wayward/game/ui/component/Button";
13
13
  import RowSection from "@wayward/game/ui/component/RowSection";
14
14
  import Menu from "@wayward/game/ui/screen/screens/menu/component/Menu";
15
15
  import SaveSlot from "@wayward/game/ui/screen/screens/menu/menus/loadgame/SaveSlot";
16
+ declare class UpdateBanner extends Button {
17
+ constructor(versionName: string, isNewVersion: boolean);
18
+ protected onViewChangelog(): void;
19
+ private init;
20
+ }
16
21
  export default class MainMenu extends Menu {
17
22
  private isNewVersion;
18
- readonly updateBanner: Button;
23
+ readonly updateBanner: UpdateBanner;
19
24
  readonly gameSection: RowSection;
20
25
  continueGameButton?: SaveSlot;
21
26
  readonly newLoadRow: BlockRow;
@@ -44,3 +49,4 @@ export default class MainMenu extends Menu {
44
49
  private getNewsMenu;
45
50
  private getEnabledModsTooltip;
46
51
  }
52
+ export {};
@@ -19,7 +19,7 @@ declare namespace Errors {
19
19
  * @param skip The number of additional callsite strings to skip
20
20
  * @param truncate The maximum number of callsite strings to include
21
21
  */
22
- function stack(skip?: number, truncate?: number): string;
22
+ function stack(skip?: number, truncate?: number, stack?: string): string;
23
23
  /**
24
24
  * Returns the Error callsite string for the caller of the current function.
25
25
  */
@@ -26,5 +26,6 @@ declare namespace ErrorReporting {
26
26
  */
27
27
  function warnOncePerSession(warningId: ArrayOr<string | Log.SimplifyString>, ...message: any[]): void;
28
28
  function warnOncePerSession(skip: number, warningId: ArrayOr<string | Log.SimplifyString>, ...message: any[]): void;
29
+ function sendError(id: string, error: Error): Promise<void>;
29
30
  }
30
31
  export default ErrorReporting;
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.20251022.1",
4
+ "version": "2.15.0-beta.dev.20251023.1",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",