@wayward/types 2.15.0-beta.dev.20251025.1 → 2.15.1-beta

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 (30) hide show
  1. package/definitions/game/IGlobal.d.ts +1 -0
  2. package/definitions/game/game/curse/Curse.d.ts +6 -1
  3. package/definitions/game/game/curse/CurseEvent.d.ts +3 -0
  4. package/definitions/game/game/curse/event/CurseEventHatedByTheWilds.d.ts +5 -0
  5. package/definitions/game/game/curse/event/CurseEventLovedByTheWilds.d.ts +1 -0
  6. package/definitions/game/game/entity/EntityMovable.d.ts +2 -0
  7. package/definitions/game/game/entity/creature/Creature.d.ts +2 -0
  8. package/definitions/game/game/entity/creature/ICreature.d.ts +2 -1
  9. package/definitions/game/game/island/Island.d.ts +0 -2
  10. package/definitions/game/game/item/IItem.d.ts +8 -2
  11. package/definitions/game/game/item/Item.d.ts +5 -0
  12. package/definitions/game/game/item/ItemManager.d.ts +1 -1
  13. package/definitions/game/game/magic/MagicalPropertyDescriptions.d.ts +1 -0
  14. package/definitions/game/game/magic/MagicalPropertyType.d.ts +16 -3
  15. package/definitions/game/language/dictionary/Message.d.ts +2 -2
  16. package/definitions/game/save/upgrade/UpgradeVersion.d.ts +2 -1
  17. package/definitions/game/save/upgrade/UpgradeVersionRegistry.d.ts +2 -2
  18. package/definitions/game/save/upgrade/versions/beta2.14.0/beta2.14.0.d.ts +12 -0
  19. package/definitions/game/save/upgrade/versions/beta2.15.0/beta2.15.0.d.ts +12 -0
  20. package/definitions/game/save/upgrade/versions/beta2.15.1/beta2.15.1-dev20251026.d.ts +12 -0
  21. package/definitions/game/save/upgrade/versions/beta2.15.1/beta2.15.1-dev20251027.d.ts +38 -0
  22. package/definitions/game/save/upgrade/versions/beta2.15.1/beta2.15.1.d.ts +12 -0
  23. package/definitions/game/steamworks/Steamworks.d.ts +5 -7
  24. package/definitions/hosts/shared/globals.d.ts +2 -2
  25. package/definitions/test/suite/unitTests/game/IslandTestUtilities.d.ts +54 -0
  26. package/definitions/utilities/Errors.d.ts +1 -0
  27. package/definitions/utilities/math/Math2.d.ts +7 -1
  28. package/package.json +1 -1
  29. /package/definitions/game/save/upgrade/versions/beta2.14.0/{_beta.2.14.0-dev20240828.d.ts → _beta2.14.0-dev20240828.d.ts} +0 -0
  30. /package/definitions/test/suite/unitTests/game/{Island.spec.d.ts → Islands.spec.d.ts} +0 -0
@@ -53,6 +53,7 @@ declare global {
53
53
  const gameVersionTitle: string;
54
54
  let gameVersionDeployId: IBuildId | undefined;
55
55
  let gameVersionBuildId: IBuildId | undefined;
56
+ let gameVersionUpgradeId: IBuildId | undefined;
56
57
  let webGlVersion: number;
57
58
  const VIEWPORT_MIN_WIDTH: number;
58
59
  const VIEWPORT_MIN_HEIGHT: number;
@@ -18,6 +18,8 @@ import type { IVector2 } from "@wayward/game/utilities/math/IVector";
18
18
  import { IRange, IRangeRange } from "@wayward/utilities/math/Range";
19
19
  import type { WeightedOption } from "@wayward/utilities/random/IRandom";
20
20
  import DataComponent from "@wayward/game/game/entity/data/DataComponent";
21
+ import type Creature from "@wayward/game/game/entity/creature/Creature";
22
+ import { ReferenceType } from "@wayward/game/game/reference/IReferenceManager";
21
23
  export declare const CURSE_CAP = 10000;
22
24
  export declare const CURSE_COMPONENT_ATTACK_CAP = 50;
23
25
  export declare const CURSE_COMPONENT_ATTACK_FLOOR = 1;
@@ -101,6 +103,7 @@ export declare const CURSE_EVENTS_RUNE_CHANCE_MULTIPLIER_LUCKY: IRange<number>;
101
103
  */
102
104
  export declare const CURSE_EVENTS_RUNES_KILL_TAME: Array<WeightedOption<IRange>>;
103
105
  export declare const CURSE_EVENTS_RUNES_SURVIVED: IRange<number>;
106
+ export declare const CURSE_EVENTS_CREATURE_WANDER_CURSEBEARER_PRIORITY: IRange<number>;
104
107
  declare namespace Curse {
105
108
  interface Helper {
106
109
  context: CurseEventContext;
@@ -111,9 +114,10 @@ declare namespace Curse {
111
114
  function all(island: Island): CurseEventContext[];
112
115
  function isMysteryForClient(event: CurseEventInstance): boolean;
113
116
  function isMysteryForHuman(event: CurseEventInstance, human: Human): boolean;
117
+ function getOwnerEvent(island: Island, creature: Creature): CurseEventInstance | undefined;
114
118
  function willHaveEventsTonight(island: Island): boolean;
115
119
  function canWarnAboutIncomingEvents(island: Island): boolean;
116
- function getCooldownMultiplier(island: Island, humans?: Human<unknown, number, import("../reference/IReferenceManager").ReferenceType.NPC | import("../reference/IReferenceManager").ReferenceType.Player, unknown>[]): number;
120
+ function getCooldownMultiplier(island: Island, humans?: Human<unknown, number, ReferenceType.NPC | ReferenceType.Player, unknown>[]): number;
117
121
  function clearCooldown(island: Island): void;
118
122
  function resetCooldown(island: Island): void;
119
123
  function tickCurse(island: Island, humans: Human[]): void;
@@ -125,6 +129,7 @@ declare namespace Curse {
125
129
  function unload(island: Island): void;
126
130
  function cleanup(island: Island, humans?: Human[], isMorning?: boolean): void;
127
131
  function cleanupEphemerals(island: Island): void;
132
+ function getCursebearer(island: Island, event: CurseEventInstance): Human | undefined;
128
133
  function createCurseEventContext(instance: CurseEventInstance, island: Island): CurseEventContext;
129
134
  }
130
135
  declare const SYMBOL_CURSE_EVENT_SUBSCRIBER_INSTANCES: unique symbol;
@@ -94,6 +94,9 @@ export interface CurseEventContextData<T> {
94
94
  }
95
95
  export declare function CurseEventContextData<T>(id: string): CurseEventContextDataDefinition<T | undefined>;
96
96
  export declare function CurseEventContextData<T>(id: string, initializer: () => T): CurseEventContextDataDefinition<T>;
97
+ export declare namespace CurseEventContextData {
98
+ function get<T>(instance: CurseEventInstance, def: CurseEventContextDataDefinition<T>): T | undefined;
99
+ }
97
100
  export interface CurseEventExtinguishOptions {
98
101
  /**
99
102
  * The number of flat ticks to reduce decays by
@@ -10,6 +10,11 @@
10
10
  */
11
11
  import { CurseEvent } from "@wayward/game/game/curse/CurseEvent";
12
12
  import { IRange } from "@wayward/utilities/math/Range";
13
+ export declare const CurseEventHatedByWildsTrackedCreatures: import("@wayward/game/game/curse/CurseEvent").CurseEventContextDataDefinition<number[]>;
14
+ export declare const CurseEventHatedByWildsCreaturesMadeAberrant: import("@wayward/game/game/curse/CurseEvent").CurseEventContextDataDefinition<{
15
+ id: number;
16
+ oldHealth: number;
17
+ }[]>;
13
18
  export declare const CURSE_EVENT_HATED_BY_WILDS_MIN_CHANCE = 0.01;
14
19
  export declare const CURSE_EVENT_HATED_BY_WILDS_CURSE_MULTIPLIER: IRange<number>;
15
20
  export declare const CURSE_EVENT_HATED_BY_WILDS_COOLDOWN: IRange<number>;
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import { CurseEvent } from "@wayward/game/game/curse/CurseEvent";
12
12
  import { IRange } from "@wayward/utilities/math/Range";
13
+ export declare const CurseEventLovedByWildsTrackedCreatures: import("@wayward/game/game/curse/CurseEvent").CurseEventContextDataDefinition<number[]>;
13
14
  export declare const CURSE_EVENT_LOVED_BY_WILDS_MIN_CHANCE = 0.01;
14
15
  export declare const CURSE_EVENT_LOVED_BY_WILDS_CURSE_MULTIPLIER: IRange<number>;
15
16
  export declare const CURSE_EVENT_LOVED_BY_WILDS_RANDOM_HAPPINESS_AT_END: IRange<number>;
@@ -25,6 +25,7 @@ import type { Direction } from "@wayward/game/utilities/math/Direction";
25
25
  import type { IVector2, IVector3 } from "@wayward/game/utilities/math/IVector";
26
26
  import Vector2 from "@wayward/game/utilities/math/Vector2";
27
27
  import type { IEventEmitter } from "@wayward/utilities/event/EventEmitter";
28
+ import type { IRange } from "@wayward/utilities/math/Range";
28
29
  export interface IEntityMovableEvents extends IEntityEvents {
29
30
  /**
30
31
  * Called before moving.
@@ -183,4 +184,5 @@ export default abstract class EntityMovable<DescriptionType = unknown, TypeType
183
184
  getWanderNewDirectionChance?(defaultChance: number): number | undefined;
184
185
  getWanderHomePoint?(): IVector2 | undefined;
185
186
  getWanderHomeRadius?(): number | undefined;
187
+ getWanderHomePriority?(): IRange | undefined;
186
188
  }
@@ -42,6 +42,7 @@ import { Direction } from "@wayward/game/utilities/math/Direction";
42
42
  import type { IVector2, IVector3 } from "@wayward/game/utilities/math/IVector";
43
43
  import Vector2 from "@wayward/game/utilities/math/Vector2";
44
44
  import type { IEventEmitter } from "@wayward/utilities/event/EventEmitter";
45
+ import { IRange } from "@wayward/utilities/math/Range";
45
46
  export default class Creature extends EntityWithStats<ICreatureDescription, CreatureType, ReferenceType.Creature, CreatureTag> implements IUnserializedCallback, IObject<CreatureType> {
46
47
  static is(value: any): value is Creature;
47
48
  get entityType(): EntityType.Creature;
@@ -235,6 +236,7 @@ export default class Creature extends EntityWithStats<ICreatureDescription, Crea
235
236
  getWanderNewDirectionChance(defaultChance: number): number | undefined;
236
237
  getWanderHomePoint(): IVector2 | undefined;
237
238
  getWanderHomeRadius(): number | undefined;
239
+ getWanderHomePriority(): IRange | undefined;
238
240
  get asCorpse(): undefined;
239
241
  get asCreature(): Creature;
240
242
  get asDoodad(): undefined;
@@ -108,7 +108,8 @@ export declare enum CreatureTypeGroup {
108
108
  export declare enum CreatureTag {
109
109
  None = 0,
110
110
  NoAlertIndicator = 1,
111
- NoRandomDespawn = 2
111
+ NoRandomDespawn = 2,
112
+ MoveWhenOutsideHumanBounds = 3
112
113
  }
113
114
  export interface ICreatureOld extends Creature {
114
115
  hp: number;
@@ -130,7 +130,6 @@ export default class Island extends EventEmitter.Host<IIslandEvents> implements
130
130
  readonly mapSizeSq: number;
131
131
  spawnPoint: IVector3;
132
132
  private _activated;
133
- private _loadedReferences;
134
133
  private _tiles;
135
134
  modifiersCollection?: IslandModifiersCollection;
136
135
  details?: IIslandDetails;
@@ -150,7 +149,6 @@ export default class Island extends EventEmitter.Host<IIslandEvents> implements
150
149
  get biome(): IBiomeDescription;
151
150
  get isLoaded(): boolean;
152
151
  get tiles(): SaferNumberIndexedObject<Tile>;
153
- get hasLoadedItemReferences(): boolean;
154
152
  get isLocalIsland(): boolean;
155
153
  /**
156
154
  * Check if this island has players on it
@@ -48,6 +48,7 @@ import type { IVector3 } from "@wayward/game/utilities/math/IVector";
48
48
  import type Vector2 from "@wayward/game/utilities/math/Vector2";
49
49
  import type { IRGB } from "@wayward/utilities/Color";
50
50
  import type { IRange } from "@wayward/utilities/math/Range";
51
+ import type { MagicalLootType } from "@wayward/game/game/item/MagicalLoot";
51
52
  export interface IItemWeightComponent {
52
53
  weightFraction?: number;
53
54
  type: ItemType;
@@ -416,6 +417,10 @@ export interface IItemDescription extends IObjectDescription, IModdable, ITemper
416
417
  * If set to true, this item will be able to have all magical properties regardless of the other properties it has.
417
418
  */
418
419
  canHaveAllMagicalProperties?: boolean;
420
+ /**
421
+ * Default magical loot type for this item. Used for natural spawned magical motes
422
+ */
423
+ defaultMagicalLootType?: MagicalLootType;
419
424
  canAlter?: false;
420
425
  canTransmogrify?: false;
421
426
  canUpgrade?: false;
@@ -725,9 +730,10 @@ export interface IMagicalPropertyInfo {
725
730
  */
726
731
  max: number;
727
732
  /**
728
- * Does nothing for integer magical properties. For decimal magical properties, rounds it to the nearest `.1` for calculations and display.
733
+ * The precision for this magical property. Magical property values are rounded up to this many decimal places.
734
+ * Defaults to 0 (integers).
729
735
  */
730
- roundToNearestTenthPlace?: true;
736
+ precision?: number;
731
737
  /**
732
738
  * Generates a random starting value for this magical property.
733
739
  */
@@ -257,6 +257,9 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
257
257
  */
258
258
  verifyAndFixItem(): void;
259
259
  protected pipeMagicalPropertyManagerEvents(magic: MagicalPropertyManager): void;
260
+ protected onMagicSet(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, value?: number, curse?: true): void;
261
+ protected onMagicRemove(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes): void;
262
+ protected onMagicClear(): void;
260
263
  verifyAndFixMagic(): void;
261
264
  /**
262
265
  * @param source A string representing the reason for this damage. Used for multiplayer debugging. Just put a unique string of characters here
@@ -320,6 +323,8 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
320
323
  rerollMagicalProperty(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes): boolean;
321
324
  rerollMagicalPropertyValues(): void;
322
325
  initializeMagicalPropertyManager(): MagicalPropertyManager;
326
+ protected updateDurabilityForPersistence(): void;
327
+ protected clampDurabilityToMax(): void;
323
328
  addMagicalProperty(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, valueType?: "min" | "max"): boolean;
324
329
  getMagicalPropertyInfo(type: MagicalPropertyType): IMagicalPropertyInfo | undefined;
325
330
  acquireNotify(human: Human, context?: ActionContext): void;
@@ -394,7 +394,7 @@ export default class ItemManager extends EntityManager<Item, IItemRemoveOptions>
394
394
  * @param filterText The string of text in which to filter for.
395
395
  * @param craftingFilter True if we are filtering the crafting dialog.
396
396
  */
397
- static isFiltered(item: ItemType | Item, filterText: string, craftingFilter?: boolean): boolean;
397
+ static isFiltered(item: ItemType | Item, filterText: string, craftingFilter?: boolean, dismantleFilter?: boolean): boolean;
398
398
  /**
399
399
  * Returns `true` if the item type or item is filtered out from inventory/crafting/container dialogs.
400
400
  * @param item The ItemType or Item to check.
@@ -52,6 +52,7 @@ export interface IMagicalPropertyDescription {
52
52
  */
53
53
  disableCurse?: true;
54
54
  subTypeEnum?: Record<string, string | number>;
55
+ notBasicEnum?: boolean;
55
56
  isValidEnum?(enumValue: number): boolean;
56
57
  translateArgs?(...identity: MagicalPropertyIdentity): TranslationArg[];
57
58
  }
@@ -11,7 +11,7 @@
11
11
  import type Deity from "@wayward/game/game/deity/Deity";
12
12
  import type { DamageType } from "@wayward/game/game/entity/IEntity";
13
13
  import type { SkillType } from "../entity/skill/ISkills";
14
- import type { Stat } from "@wayward/game/game/entity/IStats";
14
+ import { Stat } from "@wayward/game/game/entity/IStats";
15
15
  export declare const MAGICAL_PROPERTY_GLOWING_LIGHT_BONUS = 5;
16
16
  declare enum MagicalPropertyType {
17
17
  /** Increases attack value (for weapons and ammo) */
@@ -86,11 +86,24 @@ declare enum MagicalPropertyType {
86
86
  Perpetuity_DecayLossChance = 31
87
87
  }
88
88
  export default MagicalPropertyType;
89
+ export declare enum MagicalPropertyStat {
90
+ Health = -10,
91
+ Stamina = -9,
92
+ Metabolism = -8
93
+ }
94
+ export declare const magicalPropertyStatMap: {
95
+ [-8]: Stat.Metabolism;
96
+ [-10]: Stat.Health;
97
+ [-9]: Stat.Stamina;
98
+ 0: MagicalPropertyStat.Health;
99
+ 1: MagicalPropertyStat.Stamina;
100
+ 5: MagicalPropertyStat.Metabolism;
101
+ };
89
102
  export interface MagicalPropertyTypeSubTypeMap {
90
- [MagicalPropertyType.Stat]: Stat;
103
+ [MagicalPropertyType.Stat]: MagicalPropertyStat;
91
104
  [MagicalPropertyType.Skill]: SkillType;
92
105
  [MagicalPropertyType.Fanaticism_Deity]: Deity;
93
106
  [MagicalPropertyType.Encircling_DoodadSkill]: SkillType;
94
107
  [MagicalPropertyType.ElementalDamage]: DamageType;
95
- [MagicalPropertyType.StatPotency_EquipmentImproveConsumableStats]: Stat;
108
+ [MagicalPropertyType.StatPotency_EquipmentImproveConsumableStats]: MagicalPropertyStat;
96
109
  }
@@ -45,8 +45,8 @@ declare enum Message {
45
45
  ActionContextKilledPlayerWithPet = 33,
46
46
  ActionContextRested = 34,
47
47
  ActionContextSlept = 35,
48
- ActionContextTamedCreature = 36,
49
- ActionContextSurvivedCurseEvent = 37,
48
+ ActionContextSurvivedCurseEvent = 36,
49
+ ActionContextTamedCreature = 37,
50
50
  ActionCraftEfficacy = 38,
51
51
  ActionCraftEfficacyHigh = 39,
52
52
  ActionCraftEfficacyHighest = 40,
@@ -52,7 +52,7 @@ export interface IUpgradeVersion {
52
52
  upgradeCorpse?(version: Version.Info, upgrades: UpgradesArrayCompressedPusher, corpse: Corpse): any;
53
53
  upgradeAi?(version: Version.Info, upgrades: UpgradesArrayCompressedPusher, ai: AiManager): any;
54
54
  upgradeMagic?(version: Version.Info, upgrades: UpgradesArrayCompressedPusher, magic?: MagicalPropertyManager): any;
55
- upgradeCurseEvent?(version: Version.Info, upgrades: UpgradesArrayCompressedPusher, curseEvent: CurseEventInstance): any;
55
+ upgradeCurseEvent?(version: Version.Info, upgrades: UpgradesArrayCompressedPusher, curseEvent: CurseEventInstance, island: Island): any;
56
56
  upgradeCreatureZone?(version: Version.Info, upgrades: UpgradesArrayCompressedPusher, zone: CreatureZone): any;
57
57
  upgradeTile?(version: Version.Info, upgrades: UpgradesArrayCompressedPusher, tile: Tile): any;
58
58
  upgradeTileData?(version: Version.Info, upgrades: UpgradesArrayCompressedPusher, tile: Tile, tileData: ITileData[]): any;
@@ -69,3 +69,4 @@ export interface IUpgradeVersionDefinitionWithData<T = any> extends IUpgradeVers
69
69
  }
70
70
  export default function <T>(definition: IUpgradeVersionDefinitionWithData<T>): IUpgradeVersionDefinitionWithData<T>;
71
71
  export default function <T>(definition: IUpgradeVersionDefinition<T>): IUpgradeVersionDefinition<T>;
72
+ export declare function UpgradeVersionMinorRegistry(registry: Record<string, IUpgradeVersionDefinition>): Record<string, IUpgradeVersion>;
@@ -8,13 +8,13 @@
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 { IUpgradeVersion, UpgradeParameters, UpgradeType } from "@wayward/game/save/upgrade/UpgradeVersion";
11
+ import { type IUpgradeVersion, type UpgradeParameters, type UpgradeType } from "@wayward/game/save/upgrade/UpgradeVersion";
12
12
  import type UpgradesArray from "@wayward/game/save/upgrade/UpgradesArray";
13
13
  import type Version from "@wayward/utilities/Version";
14
14
  import type { IBuildId } from "@wayward/hosts/shared/globalTypes";
15
15
  export declare const BUILD_TIME_INTRODUCED_TIME: Date;
16
16
  declare namespace UpgradeVersionRegistry {
17
- function getMostRecentBuildId(): IBuildId | undefined;
17
+ function getMostRecentUpgradeId(): IBuildId | undefined;
18
18
  function getAll(): readonly IUpgradeVersion[];
19
19
  function run<TYPE extends UpgradeType>(version: Version.Info, messages: UpgradesArray, which: TYPE, ...params: UpgradeParameters<TYPE>): void;
20
20
  }
@@ -0,0 +1,12 @@
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
+ declare const _default: Record<string, import("@wayward/game/save/upgrade/UpgradeVersion").IUpgradeVersion>;
12
+ export default _default;
@@ -0,0 +1,12 @@
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
+ declare const _default: Record<string, import("@wayward/game/save/upgrade/UpgradeVersion").IUpgradeVersion>;
12
+ export default _default;
@@ -0,0 +1,12 @@
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
+ declare const _default: import("@wayward/game/save/upgrade/UpgradeVersion").IUpgradeVersionDefinition<unknown>;
12
+ export default _default;
@@ -0,0 +1,38 @@
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
+ export declare enum StatNew {
12
+ Health = 0,
13
+ Stamina = 1,
14
+ Hunger = 2,
15
+ Thirst = 3,
16
+ Weight = 4,
17
+ Metabolism = 5,
18
+ Strength = 6,
19
+ Dexterity = 7,
20
+ Attack = 8,
21
+ Defense = 9,
22
+ InsulationHeat = 10,
23
+ InsulationCold = 11,
24
+ Luck = 12,
25
+ Curse = 13,
26
+ AttackDefenseRow = 14,
27
+ Generic = 15,
28
+ Temperature = 16,
29
+ Produce = 17,
30
+ Happiness = 18,
31
+ Tamed = 19,
32
+ Petting = 20,
33
+ Waste = 21,
34
+ Petted = 22,
35
+ DespawnProtection = 23
36
+ }
37
+ declare const _default: import("@wayward/game/save/upgrade/UpgradeVersion").IUpgradeVersionDefinition<unknown>;
38
+ export default _default;
@@ -0,0 +1,12 @@
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
+ declare const _default: Record<string, import("@wayward/game/save/upgrade/UpgradeVersion").IUpgradeVersion>;
12
+ export default _default;
@@ -90,7 +90,7 @@ export default class Steamworks extends EventEmitter.Host<ISteamworksEvents> {
90
90
  getMatchmakingServerPort(): number;
91
91
  getSteamNetworking(): ISteamworksNetworking | undefined;
92
92
  /** @deprecated For console use */
93
- protected setBuildId(id?: string): void;
93
+ protected setUpgradeId(id?: string): void;
94
94
  initialize(): Promise<IWaywardPreload | undefined>;
95
95
  enableSafePaths(): Promise<void>;
96
96
  onUnload(): void;
@@ -118,18 +118,16 @@ export default class Steamworks extends EventEmitter.Host<ISteamworksEvents> {
118
118
  */
119
119
  get buildTime(): number;
120
120
  /**
121
- * Returns the build ID of the game, not depending on any save that's currently loaded.
121
+ * Returns the upgrade ID of the game, not depending on any save that's currently loaded.
122
+ * The upgrade ID comes from the most recent applicable save upgrade registered in {@link UpgradeVersionRegistry}.
122
123
  *
123
- * **Note that this is NOT based on the deploy ID.** If a deploy reuses a previous build, for example due to no new commits happening,
124
- * or due to the tests failing, this build ID will be for that previous build even if the deploy ID is different.
125
- *
126
- * Build IDs are saved in the following places:
124
+ * Upgrade IDs are saved in the following places:
127
125
  * - {@link saveDataGlobal.gameLastPlayedBuildId}
128
126
  * - {@link saveData.gameBuildId}
129
127
  * - {@link Island.mapGenBuildId}
130
128
  * - {@link Island.saveBuildId}
131
129
  */
132
- get buildId(): IBuildId | undefined;
130
+ get upgradeId(): IBuildId | undefined;
133
131
  /**
134
132
  * Returns a string about how the game is running
135
133
  */
@@ -9,8 +9,8 @@
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
11
  import type { IWaywardTitle } from "@wayward/hosts/shared/globalTypes";
12
- export declare const gameVersionStage = "beta", gameVersionMajor = 2, gameVersionMinor = 15, gameVersionPatch = 0, gameVersionName = "Cursebreaker", gameVersionColor = 5186397;
13
- export declare const gameVersion = "beta2.15.0";
12
+ export declare const gameVersionStage = "beta", gameVersionMajor = 2, gameVersionMinor = 15, gameVersionPatch = 1, gameVersionName = "Cursebreaker", gameVersionColor = 5186397;
13
+ export declare const gameVersion = "beta2.15.1";
14
14
  export declare const gameVersionTitleMajor = "Wayward: Cursebreaker";
15
15
  export declare const gameVersionTitleMinor: string;
16
16
  export declare const gameVersionTitle: string;
@@ -0,0 +1,54 @@
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 type { ITemplateBiomeOptions } from "@wayward/game/game/biome/template/Template";
12
+ import type Doodad from "@wayward/game/game/doodad/Doodad";
13
+ import type { DoodadType } from "@wayward/game/game/doodad/IDoodad";
14
+ import type { ActionType, IActionApi } from "@wayward/game/game/entity/action/IAction";
15
+ import type Creature from "@wayward/game/game/entity/creature/Creature";
16
+ import { CreatureType } from "@wayward/game/game/entity/creature/ICreature";
17
+ import type Human from "@wayward/game/game/entity/Human";
18
+ import type { NPCType } from "@wayward/game/game/entity/npc/INPCs";
19
+ import type NPC from "@wayward/game/game/entity/npc/NPC";
20
+ import type { Quality } from "@wayward/game/game/IObject";
21
+ import type { INewIslandOverrides, IslandId } from "@wayward/game/game/island/IIsland";
22
+ import type Island from "@wayward/game/game/island/Island";
23
+ import type { ItemType, ItemTypeGroup } from "@wayward/game/game/item/IItem";
24
+ import type Item from "@wayward/game/game/item/Item";
25
+ import { TerrainType } from "@wayward/game/game/tile/ITerrain";
26
+ import type Tile from "@wayward/game/game/tile/Tile";
27
+ import type { TestRunContext } from "@wayward/test/testRunner";
28
+ import WorldZ from "@wayward/utilities/game/WorldZ";
29
+ export declare namespace IslandTestUtilities {
30
+ let human: Human;
31
+ let island: Island;
32
+ const defaultTemplateBiomeOptions: ITemplateBiomeOptions;
33
+ const defaultNewIslandOverides: Partial<INewIslandOverrides>;
34
+ function before(context: TestRunContext): Promise<void>;
35
+ function after(context: TestRunContext): Promise<void>;
36
+ function waitForMovementCompletion(context: TestRunContext): Promise<void>;
37
+ function moveToIsland(islandId: IslandId, newIslandOverrides?: Partial<INewIslandOverrides>, extraTravelTime?: number): Promise<void>;
38
+ function moveToNewIsland(newIslandOverrides?: Partial<INewIslandOverrides>): Promise<void>;
39
+ function teleportAndFaceTargetTile(isTargetTile: (tile: Tile) => boolean): void;
40
+ /**
41
+ * Clear / reset the the state of the player/world
42
+ */
43
+ function beforeEach(context: TestRunContext, shouldMoveToNewIsland?: boolean): Promise<void>;
44
+ function createItems(...items: Array<ItemType | ItemTypeGroup>): Item[];
45
+ function createDoodad(doodadType: DoodadType): Doodad;
46
+ function createCreature(creatureType: CreatureType, z?: WorldZ): Creature;
47
+ function createNPC(npcType: NPCType, z?: WorldZ): NPC;
48
+ function onPostExecuteAction(_: any, actionType: ActionType, api: IActionApi, args: any[]): void;
49
+ function onGetFastForwardAmount(_: any, defaultFastForwardAmount: number): number;
50
+ /**
51
+ * update the tile to act like it was worldgen'd to some type / quality
52
+ */
53
+ function updateToWorldGenTile(tile: Tile, type: TerrainType, quality: Quality): void;
54
+ }
@@ -28,6 +28,7 @@ declare namespace Errors {
28
28
  * Returns the filename of the caller of the current function.
29
29
  */
30
30
  function callerFileBasename(skip?: number): string;
31
+ function anonymisePaths(stack: string, to?: string): string;
31
32
  }
32
33
  export default Errors;
33
34
  export declare function ensureExhaustive(value: never): never;
@@ -37,9 +37,15 @@ declare namespace Math2 {
37
37
  /**
38
38
  * Returns a number floored to a certain number of decimal places.
39
39
  *
40
- * Example: `roundNumber(1.24999999, 2): 1.24`
40
+ * Example: `floorNumber(1.24999999, 2): 1.24`
41
41
  */
42
42
  function floorNumber(num: number, places: number): number;
43
+ /**
44
+ * Returns a number ceiled to a certain number of decimal places.
45
+ *
46
+ * Example: `ceilNumber(1.24111111, 2): 1.25`
47
+ */
48
+ function ceilNumber(num: number, places: number): number;
43
49
  /**
44
50
  * Returns a number rounded to a multiple
45
51
  *
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.20251025.1",
4
+ "version": "2.15.1-beta",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",