@wayward/types 2.15.3-beta.dev.20260322.1 → 2.15.4-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 (95) hide show
  1. package/definitions/game/game/curse/Curse.d.ts +10 -0
  2. package/definitions/game/game/curse/CurseEvent.d.ts +6 -1
  3. package/definitions/game/game/curse/event/CurseEventSuffusedWithMagic.d.ts +13 -0
  4. package/definitions/game/game/doodad/Doodad.d.ts +20 -2
  5. package/definitions/game/game/doodad/DoodadManager.d.ts +6 -1
  6. package/definitions/game/game/doodad/DoodadUtilities.d.ts +7 -2
  7. package/definitions/game/game/doodad/IDoodad.d.ts +13 -3
  8. package/definitions/game/game/doodad/IScarecrows.d.ts +12 -0
  9. package/definitions/game/game/entity/Entity.d.ts +1 -0
  10. package/definitions/game/game/entity/Human.d.ts +8 -0
  11. package/definitions/game/game/entity/action/actions/SetTitle.d.ts +1 -1
  12. package/definitions/game/game/entity/action/actions/ToggleProtectItem.d.ts +2 -2
  13. package/definitions/game/game/entity/action/usable/IUsableAction.d.ts +4 -2
  14. package/definitions/game/game/entity/action/usable/UsableAction.d.ts +1 -0
  15. package/definitions/game/game/entity/action/usable/actions/UsableActionsDynamic.d.ts +3 -1
  16. package/definitions/game/game/entity/creature/CreatureManager.d.ts +3 -0
  17. package/definitions/game/game/entity/skill/SkillManager.d.ts +1 -0
  18. package/definitions/game/game/entity/status/handler/BadTemperatureEffect.d.ts +1 -1
  19. package/definitions/game/game/inspection/infoProviders/Uses.d.ts +1 -0
  20. package/definitions/game/game/inspection/infoProviders/doodad/DoodadFireSource.d.ts +20 -0
  21. package/definitions/game/game/inspection/infoProviders/doodad/DoodadLightSource.d.ts +19 -0
  22. package/definitions/game/game/inspection/infoProviders/doodad/DoodadUses.d.ts +5 -5
  23. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadAttachContainerInfo.d.ts +15 -0
  24. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadDisplayItemsInfo.d.ts +15 -0
  25. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadGatherInfo.d.ts +15 -0
  26. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadHitchInfo.d.ts +15 -0
  27. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadLockpickInfo.d.ts +15 -0
  28. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadPourInfo.d.ts +15 -0
  29. package/definitions/game/game/inspection/infoProviders/doodad/use/DoodadTestDepthInfo.d.ts +15 -0
  30. package/definitions/game/game/inspection/infoProviders/item/ItemUses.d.ts +1 -0
  31. package/definitions/game/game/inspection/infoProviders/item/use/ItemBuildInfo.d.ts +2 -2
  32. package/definitions/game/game/inspection/infoProviders/item/use/ItemCraftingIngredientInfo.d.ts +2 -2
  33. package/definitions/game/game/inspection/infoProviders/item/use/ItemEquipInfo.d.ts +1 -3
  34. package/definitions/game/game/inspection/infoProviders/item/use/ItemSleepInfo.d.ts +26 -0
  35. package/definitions/game/game/inspection/infoProviders/shared/SharedLightSourceInfo.d.ts +7 -23
  36. package/definitions/game/game/inspection/infoProviders/shared/SharedLitAndEquipmentUseInfo.d.ts +38 -0
  37. package/definitions/game/game/inspection/infoProviders/shared/SharedRequirementInfo.d.ts +28 -0
  38. package/definitions/game/game/inspection/infoProviders/shared/SharedScareRadiusInfo.d.ts +19 -0
  39. package/definitions/game/game/inspection/inspections/DoodadInspection.d.ts +1 -0
  40. package/definitions/game/game/inspection/inspections/ItemInspection.d.ts +1 -0
  41. package/definitions/game/game/item/IItem.d.ts +2 -0
  42. package/definitions/game/game/item/Item.d.ts +39 -9
  43. package/definitions/game/game/item/ItemManager.d.ts +5 -0
  44. package/definitions/game/game/magic/Endurance.d.ts +24 -0
  45. package/definitions/game/game/magic/IMagicalProperty.d.ts +3 -0
  46. package/definitions/game/game/magic/Perpetuity.d.ts +13 -0
  47. package/definitions/game/game/milestones/IMilestone.d.ts +3 -1
  48. package/definitions/game/game/milestones/MilestoneManager.d.ts +3 -0
  49. package/definitions/game/game/options/IGameOptions.d.ts +10 -0
  50. package/definitions/game/game/options/modifiers/milestone/MilestoneModifiersManager.d.ts +4 -0
  51. package/definitions/game/game/options/modifiers/milestone/modifiers/Defiled.d.ts +17 -0
  52. package/definitions/game/game/options/modifiers/milestone/modifiers/Warded.d.ts +17 -0
  53. package/definitions/game/game/temperature/ITemperature.d.ts +1 -0
  54. package/definitions/game/game/tile/TileEventManager.d.ts +1 -0
  55. package/definitions/game/language/Dictionary.d.ts +112 -110
  56. package/definitions/game/language/DictionaryMap.d.ts +224 -220
  57. package/definitions/game/language/Translation.d.ts +4 -1
  58. package/definitions/game/language/dictionary/Message.d.ts +699 -693
  59. package/definitions/game/language/dictionary/UiTranslation.d.ts +807 -803
  60. package/definitions/game/language/english/item/CursePropertyAffixes.d.ts +13 -0
  61. package/definitions/game/language/english/item/CurseSubPropertyAffixes.d.ts +13 -0
  62. package/definitions/game/mod/ModInformation.d.ts +2 -0
  63. package/definitions/game/mod/ModManager.d.ts +2 -0
  64. package/definitions/game/multiplayer/packets/server/UpdateCurseVisualStatePacket.d.ts +10 -0
  65. package/definitions/game/renderer/platform/webgl/WorldLayerRendererWebGl.d.ts +3 -0
  66. package/definitions/game/renderer/platform/webgpu/WorldLayerRendererWebGpu.d.ts +2 -0
  67. package/definitions/game/renderer/world/IWorldLayerRendererPlatform.d.ts +2 -0
  68. package/definitions/game/renderer/world/WorldLayerRenderer.d.ts +3 -0
  69. package/definitions/game/renderer/world/WorldRenderer.d.ts +0 -2
  70. package/definitions/game/save/SaveMetadata.d.ts +2 -4
  71. package/definitions/game/save/data/SaveData.d.ts +6 -4
  72. package/definitions/game/save/upgrade/versions/beta2.15.4/beta2.15.4-dev20260409.d.ts +12 -0
  73. package/definitions/game/save/upgrade/versions/beta2.15.4/beta2.15.4.d.ts +12 -0
  74. package/definitions/game/ui/Ui.d.ts +0 -1
  75. package/definitions/game/ui/input/Bindable.d.ts +7 -8
  76. package/definitions/game/ui/screen/screens/game/component/container/ContainerBucketItemList.d.ts +7 -0
  77. package/definitions/game/ui/screen/screens/game/static/Stats.d.ts +1 -0
  78. package/definitions/game/ui/screen/screens/game/static/stats/component/StatComponent.d.ts +1 -0
  79. package/definitions/game/ui/screen/screens/menu/component/RealTimeTickSpeedRow.d.ts +18 -0
  80. package/definitions/game/ui/screen/screens/menu/menus/mods/ModRow.d.ts +2 -0
  81. package/definitions/game/ui/screen/screens/menu/menus/newgame/TabMultiplayer.d.ts +3 -1
  82. package/definitions/game/ui/screen/screens/menu/menus/pause/GameSettingsMenu.d.ts +2 -2
  83. package/definitions/hosts/shared/globals.d.ts +2 -2
  84. package/definitions/test/suite/unitTests/game/ContainerBucketItemList.spec.d.ts +13 -0
  85. package/definitions/test/suite/unitTests/game/Curse.spec.d.ts +13 -0
  86. package/definitions/test/suite/unitTests/game/IslandTestUtilities.d.ts +1 -1
  87. package/definitions/test/suite/unitTests/game/SaveLoad.spec.d.ts +13 -0
  88. package/definitions/test/suite/unitTests/game/game/milestones/MilestoneManager.spec.d.ts +13 -0
  89. package/definitions/test/suite/unitTests/game/mod/ModInformation.spec.d.ts +13 -0
  90. package/definitions/test/suite/unitTests/game/mod/ModManager.spec.d.ts +13 -0
  91. package/definitions/test/suite/unitTests/game/ui/screen/screens/game/component/ItemComponent.spec.d.ts +13 -0
  92. package/definitions/test/suite/unitTests/game/ui/screen/screens/menu/menus/mods/ModRow.spec.d.ts +13 -0
  93. package/definitions/utilities/random/SeededGenerator.d.ts +1 -0
  94. package/definitions/utilities/string/TextFileFormatting.d.ts +8 -0
  95. package/package.json +1 -1
@@ -24,6 +24,7 @@ export default class ItemUses extends Uses<Item> {
24
24
  protected getUseDisplayLevel(action: ActionType, context: InfoProviderContext): InfoDisplayLevel;
25
25
  protected getUseInfoHandlers(): Array<UseInfo<any, any, any, Item>>;
26
26
  protected getUse(description: IItemDescription, action: ActionType): TranslationImpl;
27
+ protected getActionTier(description: Readonly<IItemDescription>, action: ActionType): number | undefined;
27
28
  }
28
29
  export declare class ItemUseContext extends InfoProviderContext {
29
30
  private readonly itemRef?;
@@ -22,8 +22,8 @@ declare const _default: UseInfo<{
22
22
  scareRadius: import("../../../../doodad/IDoodad").IScareRadius | undefined;
23
23
  entityType: import("../../../../entity/IEntity").EntityType.Item;
24
24
  value?: Item | undefined;
25
- type: import("../../../../item/IItem").ItemType;
26
- description: Readonly<import("../../../../item/IItem").IItemDescription>;
25
+ type: import("@wayward/game/game/item/IItem").ItemType;
26
+ description: Readonly<import("@wayward/game/game/item/IItem").IItemDescription>;
27
27
  quality: import("../../../../IObject").Quality;
28
28
  action: ActionType.Build;
29
29
  union: import("@wayward/game/game/inspection/infoProviders/UseInfo").IUseInfoBase<Item, ActionType.Build>;
@@ -14,8 +14,8 @@ import type Item from "@wayward/game/game/item/Item";
14
14
  declare const _default: UseInfo<{
15
15
  entityType: import("../../../../entity/IEntity").EntityType.Item;
16
16
  value?: Item | undefined;
17
- type: import("../../../../item/IItem").ItemType;
18
- description: Readonly<import("../../../../item/IItem").IItemDescription>;
17
+ type: import("@wayward/game/game/item/IItem").ItemType;
18
+ description: Readonly<import("@wayward/game/game/item/IItem").IItemDescription>;
19
19
  quality: import("../../../../IObject").Quality;
20
20
  action: ActionType.CraftingIngredient;
21
21
  union: import("@wayward/game/game/inspection/infoProviders/UseInfo").IUseInfoBase<Item, ActionType.CraftingIngredient>;
@@ -13,8 +13,6 @@ import UseInfo from "@wayward/game/game/inspection/infoProviders/UseInfo";
13
13
  import type Item from "@wayward/game/game/item/Item";
14
14
  import { MagicalPropertyEntry } from "@wayward/game/game/magic/IMagicalProperty";
15
15
  import MagicalPropertyType from "@wayward/game/game/magic/MagicalPropertyType";
16
- import type { IInsulationResult } from "@wayward/game/game/temperature/ITemperature";
17
- import { TempType } from "@wayward/game/game/temperature/ITemperature";
18
16
  import UiTranslation from "@wayward/game/language/dictionary/UiTranslation";
19
17
  declare const _default: UseInfo<{
20
18
  equip: import("../../../../entity/IHuman").EquipType;
@@ -26,5 +24,5 @@ declare const _default: UseInfo<{
26
24
  action: ActionType.Equip;
27
25
  union: import("@wayward/game/game/inspection/infoProviders/UseInfo").IUseInfoBase<Item, ActionType.Equip>;
28
26
  details: Set<symbol>;
29
- }, ActionType.Equip, Record<"getMagicalEquipTypes", () => Set<MagicalPropertyType>> & Record<"getMagicalPropertyLabels", () => Map<MagicalPropertyType, UiTranslation>> & Record<"isMagicalPropertyPercentage", (property: MagicalPropertyType) => boolean> & Record<"isMagicalPropertyPercentagePremultiplied", (property: MagicalPropertyType) => boolean> & Record<"getAttack", () => import("@wayward/game/game/inspection/InfoProvider").SimpleInfoProvider | undefined> & Record<"getDefense", () => import("../../../../../language/impl/TranslationImpl").default[]> & Record<"formatInsulation", (insulation?: IInsulationResult | undefined, type?: TempType | undefined) => import("../../../../../language/impl/TranslationImpl").default> & Record<"getInsulation", () => (import("../../../../../language/impl/TranslationImpl").default | undefined)[]> & Record<"getMagicEffect", (magic: MagicalPropertyEntry) => import("../../../../../language/impl/TranslationImpl").default> & Record<"getMagic", () => import("../../../../../language/impl/TranslationImpl").default[]>, Item>;
27
+ }, ActionType.Equip, Record<"getMagicalEquipTypes", () => Set<MagicalPropertyType>> & Record<"getMagicalPropertyLabels", () => Map<MagicalPropertyType, UiTranslation>> & Record<"isMagicalPropertyPercentage", (property: MagicalPropertyType) => boolean> & Record<"isMagicalPropertyPercentagePremultiplied", (property: MagicalPropertyType) => boolean> & Record<"getAttack", () => import("@wayward/game/game/inspection/InfoProvider").SimpleInfoProvider | undefined> & Record<"getDefense", () => import("../../../../../language/impl/TranslationImpl").default[]> & Record<"getInsulation", () => (import("../../../../../language/impl/TranslationImpl").default | undefined)[]> & Record<"getMagicEffect", (magic: MagicalPropertyEntry) => import("../../../../../language/impl/TranslationImpl").default> & Record<"getMagic", () => import("../../../../../language/impl/TranslationImpl").default[]>, Item>;
30
28
  export default _default;
@@ -0,0 +1,26 @@
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 { ActionType } from "@wayward/game/game/entity/action/IAction";
12
+ import UseInfo from "@wayward/game/game/inspection/infoProviders/UseInfo";
13
+ import type Item from "@wayward/game/game/item/Item";
14
+ declare const _default: UseInfo<{
15
+ coldInsulation: import("@wayward/game/game/temperature/ITemperature").IInsulationResult | undefined;
16
+ heatInsulation: import("@wayward/game/game/temperature/ITemperature").IInsulationResult | undefined;
17
+ entityType: import("../../../../entity/IEntity").EntityType.Item;
18
+ value?: Item | undefined;
19
+ type: import("../../../../item/IItem").ItemType;
20
+ description: Readonly<import("../../../../item/IItem").IItemDescription>;
21
+ quality: import("../../../../IObject").Quality;
22
+ action: ActionType.Sleep;
23
+ union: import("@wayward/game/game/inspection/infoProviders/UseInfo").IUseInfoBase<Item, ActionType.Sleep>;
24
+ details: Set<symbol>;
25
+ }, ActionType.Sleep, {}, Item>;
26
+ export default _default;
@@ -10,28 +10,12 @@
10
10
  */
11
11
  import type Doodad from "@wayward/game/game/doodad/Doodad";
12
12
  import { ActionType } from "@wayward/game/game/entity/action/IAction";
13
- import { EntityType } from "@wayward/game/game/entity/IEntity";
14
- import UseInfo from "@wayward/game/game/inspection/infoProviders/UseInfo";
13
+ import LabelledValue from "@wayward/game/game/inspection/infoProviders/LabelledValue";
14
+ import type { InfoUnion } from "@wayward/game/game/inspection/infoProviders/UseInfo";
15
15
  import type Item from "@wayward/game/game/item/Item";
16
- declare const _default: UseInfo<{
17
- lightSource: number | undefined;
18
- entityType: EntityType.Item;
19
- value?: Item | undefined;
20
- type: import("@wayward/game/game/item/IItem").ItemType;
21
- description: Readonly<import("@wayward/game/game/item/IItem").IItemDescription>;
22
- quality: import("../../../IObject").Quality;
23
- action: ActionType.StartFire | ActionType.Ignite | ActionType.Equip;
24
- union: import("@wayward/game/game/inspection/infoProviders/UseInfo").IUseInfoBase<Item, ActionType.StartFire | ActionType.Ignite | ActionType.Equip>;
25
- details: Set<symbol>;
26
- } | {
16
+ export interface ILightSourceInfoBase {
17
+ value?: Item | Doodad;
27
18
  lightSource: number;
28
- entityType: EntityType.Doodad;
29
- value?: Doodad | undefined;
30
- type: import("../../../doodad/IDoodad").DoodadType;
31
- description: Readonly<import("../../../doodad/IDoodad").IDoodadDescription>;
32
- quality: import("../../../IObject").Quality;
33
- action: ActionType.StartFire | ActionType.Ignite | ActionType.Equip;
34
- union: import("@wayward/game/game/inspection/infoProviders/UseInfo").IUseInfoBase<Doodad, ActionType.StartFire | ActionType.Ignite | ActionType.Equip>;
35
- details: Set<symbol>;
36
- }, ActionType.StartFire | ActionType.Ignite | ActionType.Equip, {}, Doodad | Item>;
37
- export default _default;
19
+ }
20
+ export declare function getLightSource(value: InfoUnion<Item | Doodad, ActionType.StartFire | ActionType.Ignite | ActionType.Equip> | Item | Doodad): number | undefined;
21
+ export default function ({ value, lightSource }: ILightSourceInfoBase): LabelledValue | undefined;
@@ -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
+ import type Doodad from "@wayward/game/game/doodad/Doodad";
12
+ import { ActionType } from "@wayward/game/game/entity/action/IAction";
13
+ import UseInfoBase from "@wayward/game/game/inspection/infoProviders/UseInfo";
14
+ import type Item from "@wayward/game/game/item/Item";
15
+ declare const _default: UseInfoBase<{
16
+ scareRadius: import("../../../doodad/IDoodad").IScareRadius | undefined;
17
+ lightSource: number | undefined;
18
+ entityType: import("../../../entity/IEntity").EntityType.Doodad;
19
+ value?: Doodad | undefined;
20
+ type: import("../../../doodad/IDoodad").DoodadType;
21
+ description: Readonly<import("../../../doodad/IDoodad").IDoodadDescription>;
22
+ quality: import("../../../IObject").Quality;
23
+ action: ActionType.StartFire | ActionType.Ignite | ActionType.Equip;
24
+ union: import("@wayward/game/game/inspection/infoProviders/UseInfo").IUseInfoBase<Doodad, ActionType.StartFire | ActionType.Ignite | ActionType.Equip>;
25
+ details: Set<symbol>;
26
+ } | {
27
+ scareRadius: import("../../../doodad/IDoodad").IScareRadius | undefined;
28
+ lightSource: number | undefined;
29
+ entityType: import("../../../entity/IEntity").EntityType.Item;
30
+ value?: Item | undefined;
31
+ type: import("../../../item/IItem").ItemType;
32
+ description: Readonly<import("../../../item/IItem").IItemDescription>;
33
+ quality: import("../../../IObject").Quality;
34
+ action: ActionType.StartFire | ActionType.Ignite | ActionType.Equip;
35
+ union: import("@wayward/game/game/inspection/infoProviders/UseInfo").IUseInfoBase<Item, ActionType.StartFire | ActionType.Ignite | ActionType.Equip>;
36
+ details: Set<symbol>;
37
+ }, ActionType.StartFire | ActionType.Ignite | ActionType.Equip, {}, Doodad | Item>;
38
+ export default _default;
@@ -0,0 +1,28 @@
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 { ActionType } from "@wayward/game/game/entity/action/IAction";
12
+ import LabelledValue from "@wayward/game/game/inspection/infoProviders/LabelledValue";
13
+ import type { ItemType, ItemTypeGroup } from "@wayward/game/game/item/IItem";
14
+ import UiTranslation from "@wayward/game/language/dictionary/UiTranslation";
15
+ import Translation from "@wayward/game/language/Translation";
16
+ export interface IRequirementInfoType {
17
+ item: ItemType;
18
+ itemGroup: ItemTypeGroup;
19
+ actionItem: ActionType;
20
+ other: UiTranslation;
21
+ }
22
+ interface SharedRequirementInfo {
23
+ add<TYPE extends keyof IRequirementInfoType>(type: TYPE, value: IRequirementInfoType[TYPE]): this;
24
+ toTranslation(): Translation;
25
+ toInfoProvider(): LabelledValue;
26
+ }
27
+ declare function SharedRequirementInfo<TYPE extends keyof IRequirementInfoType>(type: TYPE, value: IRequirementInfoType[TYPE]): SharedRequirementInfo;
28
+ export default SharedRequirementInfo;
@@ -0,0 +1,19 @@
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 Doodad from "@wayward/game/game/doodad/Doodad";
12
+ import type { IScareRadius } from "@wayward/game/game/doodad/IDoodad";
13
+ import LabelledValue from "@wayward/game/game/inspection/infoProviders/LabelledValue";
14
+ import type Item from "@wayward/game/game/item/Item";
15
+ export interface IScareRadiusInfoBase {
16
+ value?: Item | Doodad;
17
+ scareRadius: IScareRadius;
18
+ }
19
+ export default function ({ value, scareRadius }: IScareRadiusInfoBase): LabelledValue | undefined;
@@ -30,5 +30,6 @@ export default class DoodadInspection extends Inspection<Doodad> {
30
30
  onUpdateTile(_: any, tile: Tile): void;
31
31
  protected onRemove(_: any, doodad: Doodad): void;
32
32
  private getDescription;
33
+ private getNoteDescription;
33
34
  private getTier;
34
35
  }
@@ -46,6 +46,7 @@ export default class ItemInspection extends Inspection<ItemType | ItemTypeExtra>
46
46
  protected onTickEnd(): void;
47
47
  private updatePosition;
48
48
  private getDescription;
49
+ private getNoteDescription;
49
50
  private getCapacity;
50
51
  private getDoodadUses;
51
52
  private getMapIsland;
@@ -1948,4 +1948,6 @@ export declare enum ItemMovementResultFlag {
1948
1948
  MovedAndDamaged = 64,
1949
1949
  RemovedItem = 128
1950
1950
  }
1951
+ export declare const ITEM_GROUP_HIDE_CONDITIONS: Array<(item: Item, group: ItemTypeGroup) => boolean>;
1952
+ export declare function getCraftingAptitudeMultiplier(craftingAptitudeBonus: number | undefined): number;
1951
1953
  export {};
@@ -12,7 +12,7 @@ import { TileUpdateType } from "@wayward/game/game/IGame";
12
12
  import type { IHasQuality, IObject, IObjectOptions, IQualityEvents } from "@wayward/game/game/IObject";
13
13
  import { Quality } from "@wayward/game/game/IObject";
14
14
  import type Doodad from "@wayward/game/game/doodad/Doodad";
15
- import type { IDoodadDescription } from "@wayward/game/game/doodad/IDoodad";
15
+ import type { DoodadType, IDoodadDescription } from "@wayward/game/game/doodad/IDoodad";
16
16
  import type Entity from "@wayward/game/game/entity/Entity";
17
17
  import type { IEntityMovableEvents } from "@wayward/game/game/entity/EntityMovable";
18
18
  import EntityMovable from "@wayward/game/game/entity/EntityMovable";
@@ -54,6 +54,18 @@ import Debug from "@wayward/game/utilities/dev/Debug";
54
54
  import type { Direction } from "@wayward/game/utilities/math/Direction";
55
55
  import type { IVector3 } from "@wayward/game/utilities/math/IVector";
56
56
  import type { IEventEmitter } from "@wayward/utilities/event/EventEmitter";
57
+ export interface IItemAttackContributionBreakdown {
58
+ baseDamage: number;
59
+ qualityBonus: number;
60
+ magicalBonus: number;
61
+ total: number;
62
+ }
63
+ export interface IItemBaseDefenseContributionBreakdown {
64
+ baseDefense: number;
65
+ qualityBonus: number;
66
+ magicalBonus: number;
67
+ total: number;
68
+ }
57
69
  type ItemMagicEvents = {
58
70
  [EVENT in keyof IMagicalPropertyManagerEvents as `magic${Capitalize<EVENT>}`]: IMagicalPropertyManagerEvents[EVENT];
59
71
  };
@@ -119,6 +131,7 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
119
131
  holderReference?: Reference<ReferenceType.Player | ReferenceType.NPC>;
120
132
  magic?: MagicalPropertyManager;
121
133
  map?: ItemMapManager;
134
+ note?: string;
122
135
  protected?: boolean;
123
136
  quality?: Quality;
124
137
  sort?: ContainerSort;
@@ -138,7 +151,8 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
138
151
  offsetY?: number;
139
152
  [SYMBOL_CONTAINER_CACHED_REFERENCE]?: ContainerReference;
140
153
  private _movementOptions?;
141
- constructor(itemType?: ItemType | undefined, islandId?: IslandId, quality?: Quality, human?: Human, magicalLootType?: MagicalLootType);
154
+ constructor(itemType?: ItemType | undefined, islandId?: IslandId, quality?: Quality, human?: Human, magicalLootType?: MagicalLootType, clientSide?: boolean);
155
+ private setup;
142
156
  get asCorpse(): undefined;
143
157
  get asCreature(): undefined;
144
158
  get asDoodad(): undefined;
@@ -171,7 +185,9 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
171
185
  getDisplayItem(): DisplayableItemType;
172
186
  isContainer(): this is Item & IContainer;
173
187
  isWithin(container?: IContainer): boolean;
188
+ get builtDoodadType(): DoodadType | undefined;
174
189
  get builtDescription(): IDoodadDescription | undefined;
190
+ get builtAndLitDescription(): IDoodadDescription | undefined;
175
191
  get placeDownDescription(): IDoodadDescription | undefined;
176
192
  countTradesWith(human?: Human): number;
177
193
  /**
@@ -257,9 +273,10 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
257
273
  * Note: This is not called by clients joining a mp game.
258
274
  */
259
275
  verifyAndFixItem(): void;
276
+ private pipingMagic;
260
277
  protected pipeMagicalPropertyManagerEvents(magic: MagicalPropertyManager): void;
261
278
  protected onMagicSet(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, value?: number, previousValue?: number, curse?: true): void;
262
- protected onMagicRemove(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, value?: number): void;
279
+ protected onMagicRemove(type: MagicalPropertyType): void;
263
280
  verifyAndFixMagic(): void;
264
281
  /**
265
282
  * @param source A string representing the reason for this damage. Used for multiplayer debugging. Just put a unique string of characters here
@@ -323,15 +340,22 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
323
340
  rerollMagicalProperty(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes): boolean;
324
341
  rerollMagicalPropertyValues(): void;
325
342
  initializeMagicalPropertyManager(): MagicalPropertyManager;
326
- protected updateDurabilityForPersistence(type: MagicalPropertyType, value?: number): void;
327
- protected clampDecayToMax(type: MagicalPropertyType, value?: number): void;
343
+ protected updateDurabilityForPersistence(type: MagicalPropertyType, value?: number, previousValue?: number, curse?: true): void;
344
+ protected clampDecayToMax(type: MagicalPropertyType): void;
328
345
  protected clampDurabilityToMax(type: MagicalPropertyType): void;
329
- addMagicalProperty(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, valueType?: "min" | "max"): boolean;
346
+ /**
347
+ * Adds a randomised magical property of the given type.
348
+ * @param valueType If provided, instead of random, either use the "min" or "max" value for the property. (Not the expandable max!)
349
+ * This param being provided does not stop the seeded generator from being advanced in the normal way.
350
+ * @param cursed If provided, overrides the random curse chance with a guaranteed state.
351
+ */
352
+ addMagicalProperty(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, valueType?: "min" | "max", cursed?: boolean): boolean;
330
353
  getMagicalPropertyInfo(type: MagicalPropertyType): IMagicalPropertyInfo | undefined;
331
354
  acquireNotify(human: Human, context?: ActionContext): void;
332
355
  getStokeFireValue(): number | undefined;
333
356
  getStokeFireBonusValue(): number;
334
357
  getOnUseBonus(): number;
358
+ getAttackContributionBreakdown(type: "attack" | "ranged"): IItemAttackContributionBreakdown;
335
359
  getAttackDamage(type: AttackType.MeleeWeapon | AttackType.RangedWeapon): number;
336
360
  /**
337
361
  * Gets the worth of an item used for merchant trading. Does not consider bartering or modifiers bonuses; use Item.getTraderSellPrice for that.
@@ -343,10 +367,11 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
343
367
  * Checks to see if the item is in a fire/hot thing
344
368
  */
345
369
  canBurnPlayer(): boolean;
370
+ getEffectiveBaseDefenseBreakdown(): IItemBaseDefenseContributionBreakdown;
346
371
  /**
347
- * Get the base defense of an item plus its magical defense stat if applicable
372
+ * Get the base defense of an item plus its quality and magical defense bonuses.
348
373
  */
349
- getBaseDefense(): number;
374
+ getDefense(): number;
350
375
  /**
351
376
  * Returns the durability of the item based on the max durability to be used as a pseudo "charge"
352
377
  */
@@ -495,6 +520,7 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
495
520
  * @returns true if bonusDefense/Attack was set.
496
521
  */
497
522
  setAttackDefenseBonus(): boolean;
523
+ getBaseAttack(): number;
498
524
  /**
499
525
  * Gets the attack damage with its bonus value.
500
526
  * Note: This does not get the value with any magical properties applied.
@@ -507,10 +533,14 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
507
533
  * @returns number The ranged attack value with bonus applied.
508
534
  */
509
535
  getRangedAttackWithBonus(): number;
536
+ /**
537
+ * @returns The base defense value.
538
+ */
539
+ getBaseDefense(): number;
510
540
  /**
511
541
  * Gets the base defense with its bonus value.
512
542
  * Note: This does not get the value with any magical properties applied.
513
- * @returns number The base defense value.
543
+ * @returns The base defense value with bonus applied.
514
544
  */
515
545
  getBaseDefenseWithBonus(): number;
516
546
  /**
@@ -234,7 +234,11 @@ export default class ItemManager extends EntityManager<Item, IItemRemoveOptions>
234
234
  static getDisassemblyComponentsAsItemTypes(description: IItemDescription): Array<ItemType | ItemTypeGroup>;
235
235
  getWeightCapacity(container?: IContainer, includeMagic?: boolean): number | undefined;
236
236
  create(itemType: ItemType | ItemTypeGroup | Array<ItemType | ItemTypeGroup>, container: IContainer | undefined, quality?: Quality, human?: Human, context?: ActionContext, magicalLootType?: MagicalLootType): Item;
237
+ /**
238
+ * Note: NOT UI-safe. Use `createClientside`. This should be named `createTemplate` probably
239
+ */
237
240
  createFake(itemType: ItemType | ItemTypeGroup | Array<ItemType | ItemTypeGroup>, quality?: Quality, human?: Human, magicalLootType?: MagicalLootType): Item;
241
+ createClientside(item: ItemType, quality?: Quality, human?: Human, magicalLootType?: MagicalLootType): Item;
238
242
  getContainedContainers(container: IContainer): IContainer[];
239
243
  computeContainerWeight(container: IContainer): number;
240
244
  getMagicalWeightCapacity(container: IContainer): number;
@@ -281,6 +285,7 @@ export default class ItemManager extends EntityManager<Item, IItemRemoveOptions>
281
285
  getItemTypeGroupName(itemType: ItemType | ItemTypeGroup, article?: Article, count?: number): Translation;
282
286
  getGroupDefault(itemGroup: ItemTypeGroup, weightType?: WeightType, ancestorGroups?: ItemTypeGroup[]): ItemType;
283
287
  getGroups(itemType: ItemType): ItemTypeGroup[];
288
+ getVisibleGroups(item: Item): ItemTypeGroup[];
284
289
  getPlayerFromInventoryContainer(containable: IContainable): Player | undefined;
285
290
  getRandomQuality(bonusQuality?: number, relicChance?: boolean, tile?: Tile): Quality;
286
291
  hasAdditionalRequirements(actionOrHuman: IActionHandlerApi<Human> | Human, craftType: ItemType, actionNotUsableMessage?: Message, isRepairOrDisassembly?: boolean): IRequirementInfo;
@@ -0,0 +1,24 @@
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
+ interface IChanceRandom {
12
+ chance(decimal: number): boolean;
13
+ }
14
+ /**
15
+ * Normalizes endurance durability-loss chances into the effective per-event proc chance.
16
+ * Cursed endurance uses the same magnitude as uncursed endurance, but applies an extra loss proc instead of preventing one.
17
+ */
18
+ export declare function getEffectiveDurabilityLossChance(durabilityLossChance?: number): number;
19
+ /**
20
+ * Returns the number of durability-loss procs for a single endurance check.
21
+ * Uncursed endurance can prevent the event entirely, while cursed endurance can add at most one extra proc.
22
+ */
23
+ export declare function getDurabilityLossProcCount(random: IChanceRandom, durabilityLossChance?: number): number;
24
+ export {};
@@ -34,6 +34,7 @@ export interface IMagicalSubProperty<T extends number> {
34
34
  export type MagicalProperty<T extends MagicalPropertyType> = MagicalPropertyTypeSubTypeMap extends Record<T, any> ? IMagicalSubProperty<MagicalPropertyTypeSubTypeMap[T]> : IMagicalProperty;
35
35
  export interface MagicalNormalPropertyEntry {
36
36
  type: MagicalNormalPropertyTypes;
37
+ /** @deprecated This value is raw, unaffected if this is a curse property! */
37
38
  value: number;
38
39
  curse?: true;
39
40
  }
@@ -41,6 +42,7 @@ export type MagicalSubPropertyEntry = {
41
42
  [K in MagicalSubPropertyTypes]: {
42
43
  type: K;
43
44
  subType: MagicalPropertyTypeSubTypeMap[K];
45
+ /** @deprecated This value is raw, unaffected if this is a curse property! */
44
46
  value: number;
45
47
  curse?: true;
46
48
  };
@@ -53,6 +55,7 @@ export declare namespace MagicalPropertyEntry {
53
55
  export interface MagicalPropertyEntryIntersection {
54
56
  type: MagicalPropertyType;
55
57
  subType?: MagicalSubPropertySubTypes;
58
+ /** @deprecated This value is raw, unaffected if this is a curse property! */
56
59
  value: number;
57
60
  curse?: true;
58
61
  }
@@ -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 type { Random } from "@wayward/utilities/random/Random";
12
+ export declare function getEffectiveDecayLossChance(decayLossChance?: number): number;
13
+ export declare function adjustDecayLossByPerpetuity(random: Random, baseDecayLoss: number, decayLossChance?: number): number;
@@ -81,7 +81,9 @@ export declare enum Milestone {
81
81
  InternalItemDiscovered = 69,
82
82
  Cursed = 70,
83
83
  Cursebreaker = 71,
84
- Oblivious = 72
84
+ Oblivious = 72,
85
+ Warded = 73,
86
+ Defiled = 74
85
87
  }
86
88
  export type ExcludeInternalMilestones<MILESTONE extends Milestone> = PickValueKeys<typeof Milestone, MILESTONE> extends `Internal${string}` ? never : MILESTONE;
87
89
  export declare enum MilestoneVisibility {
@@ -16,6 +16,7 @@ import { Milestone, MilestoneVisibility } from "@wayward/game/game/milestones/IM
16
16
  import type MilestoneDefinition from "@wayward/game/game/milestones/MilestoneDefinition";
17
17
  import EventEmitter from "@wayward/utilities/event/EventEmitter";
18
18
  export interface IMilestoneEvents {
19
+ globalDiscoveryChange(bypassed: boolean): void;
19
20
  /**
20
21
  * @param milestone The milestone that is being updated
21
22
  * @param value The new value for this milestone
@@ -51,6 +52,8 @@ export declare class MilestoneManager extends EventEmitter.Host<IMilestoneEvents
51
52
  areUnlockableInMode(mode?: import("../options/IGameOptions").GameMode): boolean;
52
53
  isUnlockableInMode(milestone: Milestone, mode?: import("../options/IGameOptions").GameMode): boolean;
53
54
  reset(milestone?: Milestone): void;
55
+ isDiscoveryBypassed(): boolean;
56
+ setDiscoveryBypassed(bypassed: boolean): void;
54
57
  getDiscovered(milestone: Milestone): Array<string | number> | undefined;
55
58
  getDiscoveredResistsAndVulns(): Map<CreatureType, Set<DamageType>>;
56
59
  getDiscoveredResistsAndVulns(creatureType: CreatureType): Set<DamageType>;
@@ -49,6 +49,12 @@ export interface IGameOptions {
49
49
  */
50
50
  applyTravelingEffects: boolean;
51
51
  };
52
+ doodads: {
53
+ /**
54
+ * A bonus amount added to the scare radius of Curse Ward doodads.
55
+ */
56
+ curseWardScareRadiusBonus: number;
57
+ };
52
58
  creatures: {
53
59
  /**
54
60
  * Whether creatures attack when unprovoked
@@ -512,4 +518,8 @@ export interface IGameOptionsItemMagic {
512
518
  * Disables `bonusChance` and `bonusChanceUsesContextualMultiplier`.
513
519
  */
514
520
  randomizeAsRange: boolean;
521
+ /**
522
+ * The chance that a magical property becomes a curse.
523
+ */
524
+ curseChance: number;
515
525
  }
@@ -28,6 +28,7 @@ import Curator from "@wayward/game/game/options/modifiers/milestone/modifiers/Cu
28
28
  import Cursebreaker from "@wayward/game/game/options/modifiers/milestone/modifiers/Cursebreaker";
29
29
  import Cursed from "@wayward/game/game/options/modifiers/milestone/modifiers/Cursed";
30
30
  import Dedicated from "@wayward/game/game/options/modifiers/milestone/modifiers/Dedicated";
31
+ import Defiled from "@wayward/game/game/options/modifiers/milestone/modifiers/Defiled";
31
32
  import DestroyerOfMagi from "@wayward/game/game/options/modifiers/milestone/modifiers/DestroyerOfMagi";
32
33
  import Diverse from "@wayward/game/game/options/modifiers/milestone/modifiers/Diverse";
33
34
  import Doctor from "@wayward/game/game/options/modifiers/milestone/modifiers/Doctor";
@@ -76,6 +77,7 @@ import TreasureHunter from "@wayward/game/game/options/modifiers/milestone/modif
76
77
  import Treasurer from "@wayward/game/game/options/modifiers/milestone/modifiers/Treasurer";
77
78
  import Turbulent from "@wayward/game/game/options/modifiers/milestone/modifiers/Turbulent";
78
79
  import Versatile from "@wayward/game/game/options/modifiers/milestone/modifiers/Versatile";
80
+ import Warded from "@wayward/game/game/options/modifiers/milestone/modifiers/Warded";
79
81
  import Weathered from "@wayward/game/game/options/modifiers/milestone/modifiers/Weathered";
80
82
  import Translation from "@wayward/game/language/Translation";
81
83
  export declare const milestoneModifiers: {
@@ -94,6 +96,7 @@ export declare const milestoneModifiers: {
94
96
  71: typeof Cursebreaker;
95
97
  70: typeof Cursed;
96
98
  52: typeof Dedicated;
99
+ 74: typeof Defiled;
97
100
  38: typeof DestroyerOfMagi;
98
101
  42: typeof Diverse;
99
102
  17: typeof Doctor;
@@ -142,6 +145,7 @@ export declare const milestoneModifiers: {
142
145
  22: typeof Treasurer;
143
146
  65: typeof Turbulent;
144
147
  50: typeof Versatile;
148
+ 73: typeof Warded;
145
149
  29: typeof Weathered;
146
150
  };
147
151
  declare class MilestoneModifiersManager extends GameplayModifiersManager<MilestoneModifier, Milestone, [Human?]> {
@@ -0,0 +1,17 @@
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 { IGameOptionsPartial } from "@wayward/game/game/options/IGameOptions";
12
+ import { MilestoneModifierGroup } from "@wayward/game/game/options/modifiers/milestone/IMilestoneModifier";
13
+ import MilestoneModifier from "@wayward/game/game/options/modifiers/milestone/MilestoneModifier";
14
+ export default class Defiled extends MilestoneModifier {
15
+ getOptions(): IGameOptionsPartial;
16
+ getGroup(): MilestoneModifierGroup;
17
+ }
@@ -0,0 +1,17 @@
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 { IGameOptionsPartial } from "@wayward/game/game/options/IGameOptions";
12
+ import { MilestoneModifierGroup } from "@wayward/game/game/options/modifiers/milestone/IMilestoneModifier";
13
+ import MilestoneModifier from "@wayward/game/game/options/modifiers/milestone/MilestoneModifier";
14
+ export default class Warded extends MilestoneModifier {
15
+ getOptions(): IGameOptionsPartial;
16
+ getGroup(): MilestoneModifierGroup;
17
+ }
@@ -108,6 +108,7 @@ export interface IInsulationResult {
108
108
  }
109
109
  export declare namespace Insulation {
110
110
  function get(entity: Entity | undefined, insulation: IInsulationDescription | undefined, type: TempType): IInsulationResult | undefined;
111
+ const translate: (value: Entity<unknown, number, import("../reference/IReferenceManager").EntityReferenceTypes, unknown> | undefined, insulation: IInsulationResult | undefined, type?: TempType | undefined) => import("../../language/impl/TranslationImpl").default | undefined;
111
112
  function equals(a: IInsulationResult | undefined, b: IInsulationResult | undefined): boolean;
112
113
  function getTypesOrderedByRelevance(island: Island): TempType[];
113
114
  }
@@ -38,6 +38,7 @@ export default class TileEventManager extends EntityManager<TileEvent> {
38
38
  createFake(type: TileEventType, tile: Tile, id?: number): TileEvent | undefined;
39
39
  protected onRemove(tileEvent: TileEvent): boolean;
40
40
  getFromTile(tile: Tile, type: TileEventType): TileEvent | undefined;
41
+ removeIfExpired(tileEvent: TileEvent): boolean;
41
42
  /**
42
43
  * Gets an array of tile events that have the water property at a given tile.
43
44
  * @param tile Tile that you want to look at.