@wayward/types 2.14.2-beta.dev.20241221.1 → 2.14.3-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 (101) hide show
  1. package/definitions/game/IGlobal.d.ts +3 -0
  2. package/definitions/game/event/EventBuses.d.ts +18 -10
  3. package/definitions/game/event/EventManager.d.ts +7 -5
  4. package/definitions/game/game/Game.d.ts +2 -0
  5. package/definitions/game/game/IGame.d.ts +2 -1
  6. package/definitions/game/game/doodad/Doodad.d.ts +1 -0
  7. package/definitions/game/game/entity/Entity.d.ts +15 -10
  8. package/definitions/game/game/entity/EntityWithStats.d.ts +2 -1
  9. package/definitions/game/game/entity/IEntity.d.ts +2 -1
  10. package/definitions/game/game/entity/action/ActionsRegistration.d.ts +1 -1
  11. package/definitions/game/game/entity/action/actions/StokeFire.d.ts +1 -1
  12. package/definitions/game/game/entity/action/actions/moveItem/MoveItemFilterArgument.d.ts +3 -0
  13. package/definitions/game/game/entity/action/usable/IUsableAction.d.ts +18 -2
  14. package/definitions/game/game/entity/action/usable/UsableAction.d.ts +19 -2
  15. package/definitions/game/game/entity/action/usable/UsableActionRegistrar.d.ts +7 -1
  16. package/definitions/game/game/entity/ai/AI.d.ts +4 -0
  17. package/definitions/game/game/entity/ai/AiManager.d.ts +2 -2
  18. package/definitions/game/game/entity/creature/Creature.d.ts +4 -3
  19. package/definitions/game/game/entity/creature/CreatureManager.d.ts +1 -1
  20. package/definitions/game/game/entity/creature/corpse/Corpse.d.ts +1 -0
  21. package/definitions/game/game/entity/npc/NPC.d.ts +7 -7
  22. package/definitions/game/game/entity/player/Player.d.ts +3 -2
  23. package/definitions/game/game/inspection/IInspection.d.ts +1 -4
  24. package/definitions/game/game/inspection/InfoProvider.d.ts +2 -1
  25. package/definitions/game/game/inspection/InspectionsHandler.d.ts +2 -1
  26. package/definitions/game/game/inspection/inspections/ActionInspection.d.ts +1 -0
  27. package/definitions/game/game/inspection/inspections/action/IActionInspection.d.ts +26 -0
  28. package/definitions/game/game/island/Island.d.ts +3 -0
  29. package/definitions/game/game/item/Item.d.ts +4 -1
  30. package/definitions/game/game/item/ItemFinder.d.ts +1 -1
  31. package/definitions/game/game/item/ItemManager.d.ts +2 -0
  32. package/definitions/game/game/meta/SaveLoad.d.ts +1 -1
  33. package/definitions/game/game/options/IGameOptions.d.ts +6 -1
  34. package/definitions/game/game/tile/Tile.d.ts +2 -0
  35. package/definitions/game/game/tile/TileEvent.d.ts +1 -0
  36. package/definitions/game/language/Dictionary.d.ts +128 -127
  37. package/definitions/game/language/DictionaryMap.d.ts +252 -249
  38. package/definitions/game/language/Translation.d.ts +2 -2
  39. package/definitions/game/language/english/ui/ActionSlotItemMethods.d.ts +1 -1
  40. package/definitions/game/language/english/ui/ActionSlotTypes.d.ts +13 -0
  41. package/definitions/game/language/segment/BindSegment.d.ts +2 -2
  42. package/definitions/game/language/segment/InterpolateArgumentSegment.d.ts +2 -2
  43. package/definitions/game/language/segment/NumberSegment.d.ts +4 -4
  44. package/definitions/game/language/segment/ReferenceSegment.d.ts +2 -2
  45. package/definitions/game/language/segment/ReformatSegment.d.ts +2 -2
  46. package/definitions/game/language/segment/Segments.d.ts +1 -1
  47. package/definitions/game/language/segment/TranslationSegment.d.ts +4 -4
  48. package/definitions/game/mod/IMod.d.ts +2 -1
  49. package/definitions/game/renderer/RenderersNotifiers.d.ts +1 -1
  50. package/definitions/game/renderer/notifier/Notifier.d.ts +4 -1
  51. package/definitions/game/renderer/world/WorldRenderer.d.ts +4 -0
  52. package/definitions/game/resource/IResourceLoader.d.ts +51 -48
  53. package/definitions/game/save/data/SaveData.d.ts +2 -0
  54. package/definitions/game/save/data/SaveDataGlobal.d.ts +2 -0
  55. package/definitions/game/save/serializer/PropertiesToSerialize.d.ts +6 -0
  56. package/definitions/game/save/upgrade/UpgradeVersion.d.ts +6 -1
  57. package/definitions/game/save/upgrade/versions/beta2.14.0/_beta.2.14.0-dev20240828.d.ts +1 -1
  58. package/definitions/game/save/upgrade/versions/beta2.14.0/{beta2.14.0-dev1.d.ts → beta2.14.0-dev00000001.d.ts} +1 -1
  59. package/definitions/game/save/upgrade/versions/beta2.14.0/{beta2.14.0-dev2.d.ts → beta2.14.0-dev00000002.d.ts} +1 -1
  60. package/definitions/game/save/upgrade/versions/beta2.14.0/beta2.14.0-dev20240827.d.ts +1 -1
  61. package/definitions/game/save/upgrade/versions/beta2.14.0/beta2.14.0-dev20240828.d.ts +1 -1
  62. package/definitions/game/save/upgrade/versions/beta2.14.0/beta2.14.0-dev20240829.d.ts +1 -1
  63. package/definitions/game/save/upgrade/versions/beta2.14.0/beta2.14.0-dev20240901.d.ts +1 -1
  64. package/definitions/game/save/upgrade/versions/beta2.14.0/beta2.14.0-dev20240905.d.ts +1 -1
  65. package/definitions/game/save/upgrade/versions/beta2.14.0/beta2.14.0-dev20241024.d.ts +1 -1
  66. package/definitions/game/save/upgrade/versions/beta2.14.0/beta2.14.0-dev20241129.d.ts +1 -1
  67. package/definitions/game/save/upgrade/versions/beta2.14.3/beta2.14.3-dev20241223.d.ts +12 -0
  68. package/definitions/game/steamworks/ISteamworks.d.ts +1 -0
  69. package/definitions/game/steamworks/Steamworks.d.ts +15 -0
  70. package/definitions/game/ui/component/Component.d.ts +2 -0
  71. package/definitions/game/ui/component/ContextMenu.d.ts +1 -1
  72. package/definitions/game/ui/component/IComponent.d.ts +2 -1
  73. package/definitions/game/ui/old/OldUi.d.ts +1 -1
  74. package/definitions/game/ui/screen/screens/game/component/ItemComponent.d.ts +3 -99
  75. package/definitions/game/ui/screen/screens/game/component/container/ContainerBucketItemList.d.ts +9 -6
  76. package/definitions/game/ui/screen/screens/game/component/item/IItemComponent.d.ts +65 -0
  77. package/definitions/game/ui/screen/screens/game/component/item/ItemComponentEventBus.d.ts +39 -0
  78. package/definitions/game/ui/screen/screens/game/component/item/ItemComponentHandler.d.ts +46 -0
  79. package/definitions/game/ui/screen/screens/game/component/item/ItemComponentTradeManager.d.ts +32 -0
  80. package/definitions/game/ui/screen/screens/game/dialog/EquipmentDialog.d.ts +2 -2
  81. package/definitions/game/ui/screen/screens/game/static/actions/ActionSlot.d.ts +8 -10
  82. package/definitions/game/ui/screen/screens/game/static/actions/ActionSlotConfigurationColumn.d.ts +2 -1
  83. package/definitions/game/ui/screen/screens/game/static/actions/IActionsDrawer.d.ts +3 -3
  84. package/definitions/game/utilities/Version.d.ts +16 -7
  85. package/definitions/game/utilities/dev/Debug.d.ts +19 -0
  86. package/definitions/game/utilities/memory/MemoryLeakDetector.d.ts +1 -1
  87. package/definitions/game/utilities/object/Merge.d.ts +2 -0
  88. package/definitions/game/utilities/string/Interpolator.d.ts +37 -6
  89. package/definitions/hosts/shared/globalTypes.d.ts +4 -0
  90. package/definitions/hosts/shared/globals.d.ts +2 -2
  91. package/definitions/utilities/Errors.d.ts +10 -0
  92. package/definitions/utilities/Functions.d.ts +1 -1
  93. package/definitions/utilities/Log.d.ts +9 -0
  94. package/definitions/utilities/collection/map/IterableWeakMap.d.ts +35 -0
  95. package/definitions/utilities/collection/map/LimitedMap.d.ts +45 -0
  96. package/definitions/utilities/console/ConsoleUtility.d.ts +20 -0
  97. package/definitions/utilities/dev/DebugShared.d.ts +23 -0
  98. package/definitions/utilities/event/EventEmitter.d.ts +27 -3
  99. package/definitions/utilities/event/EventManager.d.ts +11 -1
  100. package/definitions/utilities/prototype/Define.d.ts +2 -0
  101. package/package.json +1 -1
@@ -26,6 +26,7 @@ import type OldUi from "@wayward/game/ui/old/OldUi";
26
26
  import type Version from "@wayward/game/utilities/Version";
27
27
  import "@wayward/goodstream/apply";
28
28
  import "@wayward/hosts/shared/globalTypes";
29
+ import type { IBuildId } from "@wayward/hosts/shared/globalTypes";
29
30
  import "@wayward/utilities/IGlobal";
30
31
  import "@wayward/utilities/prototype/Promise";
31
32
  import "@wayward/utilities/typesglobal/Class";
@@ -57,6 +58,8 @@ declare global {
57
58
  const gameVersionTitleMajor: string;
58
59
  const gameVersionTitleMinor: string;
59
60
  const gameVersionTitle: string;
61
+ let gameVersionDeployId: IBuildId | undefined;
62
+ let gameVersionBuildId: IBuildId | undefined;
60
63
  let webGlVersion: number;
61
64
  const VIEWPORT_MIN_WIDTH: number;
62
65
  const VIEWPORT_MIN_HEIGHT: number;
@@ -42,8 +42,10 @@ import type { Renderer } from "@wayward/game/renderer/Renderer";
42
42
  import type { WorldRenderer } from "@wayward/game/renderer/world/WorldRenderer";
43
43
  import type SaveManager from "@wayward/game/save/SaveManager";
44
44
  import type Steamworks from "@wayward/game/steamworks/Steamworks";
45
+ import type { GlobalMouseInfo } from "@wayward/game/ui/input/InputManager";
45
46
  import type ScreenManager from "@wayward/game/ui/screen/ScreenManager";
46
47
  import type GameScreen from "@wayward/game/ui/screen/screens/GameScreen";
48
+ import type ItemComponentEventBus from "@wayward/game/ui/screen/screens/game/component/item/ItemComponentEventBus";
47
49
  import type ActionBar from "@wayward/game/ui/screen/screens/game/static/ActionBar";
48
50
  import type HoveredTileTracker from "@wayward/game/ui/screen/screens/game/util/HoveredTileTracker";
49
51
  import type ActionMenuHandler from "@wayward/game/ui/screen/screens/game/util/movement/ActionMenuHandler";
@@ -92,11 +94,13 @@ export declare enum EventBus {
92
94
  UiActionMenuHandler = 37,
93
95
  UiGameScreen = 38,
94
96
  UiHoveredTileTracker = 39,
95
- UiInteractionManager = 40,
96
- UiMovementHandler = 41,
97
- UiPathingHandler = 42,
98
- UsableActions = 43,
99
- WorldRenderer = 44
97
+ UiInputManagerMouse = 40,
98
+ UiInteractionManager = 41,
99
+ UiItemComponentStatic = 42,
100
+ UiMovementHandler = 43,
101
+ UiPathingHandler = 44,
102
+ UsableActions = 45,
103
+ WorldRenderer = 46
100
104
  }
101
105
  declare const eventBuses: {
102
106
  [EventBus.Actions](): ActionExecutor<any, any, any, any, any>;
@@ -139,7 +143,9 @@ declare const eventBuses: {
139
143
  [EventBus.UiActionMenuHandler](): ActionMenuHandler;
140
144
  [EventBus.UiGameScreen](): GameScreen;
141
145
  [EventBus.UiHoveredTileTracker](): HoveredTileTracker;
146
+ [EventBus.UiInputManagerMouse](): GlobalMouseInfo;
142
147
  [EventBus.UiInteractionManager](): InteractionManager;
148
+ [EventBus.UiItemComponentStatic](): ItemComponentEventBus;
143
149
  [EventBus.UiMovementHandler](): MovementHandler;
144
150
  [EventBus.UiPathingHandler](): PathingHandler;
145
151
  [EventBus.UsableActions](): UsableAction;
@@ -187,11 +193,13 @@ export declare const eventBusManager: EventBusManager<EventBus, {
187
193
  37(): ActionMenuHandler;
188
194
  38(): GameScreen;
189
195
  39(): HoveredTileTracker;
190
- 40(): InteractionManager;
191
- 41(): MovementHandler;
192
- 42(): PathingHandler;
193
- 43(): UsableAction;
194
- 44(): WorldRenderer;
196
+ 40(): GlobalMouseInfo;
197
+ 41(): InteractionManager;
198
+ 42(): ItemComponentEventBus;
199
+ 43(): MovementHandler;
200
+ 44(): PathingHandler;
201
+ 45(): UsableAction;
202
+ 46(): WorldRenderer;
195
203
  }>;
196
204
  /**
197
205
  * For backwards compat / ease of use
@@ -56,11 +56,13 @@ export declare const eventManager: EventManager<EventBus, {
56
56
  37(): import("../ui/screen/screens/game/util/movement/ActionMenuHandler").default;
57
57
  38(): import("../ui/screen/screens/GameScreen").default;
58
58
  39(): import("../ui/screen/screens/game/util/HoveredTileTracker").default;
59
- 40(): import("../ui/screen/screens/game/util/movement/InteractionManager").default;
60
- 41(): import("../ui/screen/screens/game/util/movement/MovementHandler").default;
61
- 42(): import("../ui/screen/screens/game/util/movement/PathingHandler").default;
62
- 43(): import("../game/entity/action/usable/UsableAction").default;
63
- 44(): import("../renderer/world/WorldRenderer").WorldRenderer;
59
+ 40(): import("../ui/input/InputManager").GlobalMouseInfo;
60
+ 41(): import("../ui/screen/screens/game/util/movement/InteractionManager").default;
61
+ 42(): import("../ui/screen/screens/game/component/item/ItemComponentEventBus").default;
62
+ 43(): import("../ui/screen/screens/game/util/movement/MovementHandler").default;
63
+ 44(): import("../ui/screen/screens/game/util/movement/PathingHandler").default;
64
+ 45(): import("../game/entity/action/usable/UsableAction").default;
65
+ 46(): import("../renderer/world/WorldRenderer").WorldRenderer;
64
66
  }>;
65
67
  /**
66
68
  * EventHandler that is typed with the games event buses
@@ -51,6 +51,7 @@ import type { IVector2 } from "@wayward/game/utilities/math/IVector";
51
51
  import { WebWorkerManager } from "@wayward/game/webWorker/WebWorkerManager";
52
52
  import EventEmitter from "@wayward/utilities/event/EventEmitter";
53
53
  import type { Random } from "@wayward/utilities/random/Random";
54
+ import type { IBuildId } from "@wayward/hosts/shared/globalTypes";
54
55
  export declare class Game extends EventEmitter.Host<IGameEvents> {
55
56
  get isChallenge(): boolean;
56
57
  private difficultyOptions;
@@ -72,6 +73,7 @@ export declare class Game extends EventEmitter.Host<IGameEvents> {
72
73
  version: Version.String;
73
74
  lastSaveVersion?: Version.String;
74
75
  lastSaveBuildTime?: number;
76
+ lastSaveBuildId?: IBuildId;
75
77
  readonly interval = 16.6666;
76
78
  readonly autoSave: AutoSave;
77
79
  readonly commandManager: CommandManager;
@@ -217,7 +217,8 @@ export declare enum SaveType {
217
217
  Quit = 2,
218
218
  BackToMainMenu = 3,
219
219
  Multiplayer = 4,
220
- ReplayConvert = 5
220
+ ReplayConvert = 5,
221
+ AutoSave = 6
221
222
  }
222
223
  export declare enum TileUpdateType {
223
224
  Batch = 0,
@@ -133,6 +133,7 @@ export default class Doodad extends EntityMovable<IDoodadDescription, DoodadType
133
133
  private _isWell?;
134
134
  private readonly _doodadGroupCache;
135
135
  constructor(entityOptions?: IEntityConstructorOptions<DoodadType>, options?: IDoodadOptions);
136
+ protected get typeEnum(): typeof DoodadType;
136
137
  get asCorpse(): undefined;
137
138
  get asCreature(): undefined;
138
139
  get asDoodad(): Doodad | undefined;
@@ -27,13 +27,14 @@ import type { IslandId } from "@wayward/game/game/island/IIsland";
27
27
  import type Island from "@wayward/game/game/island/Island";
28
28
  import type { IUncastableContainer } from "@wayward/game/game/item/IItem";
29
29
  import type Item from "@wayward/game/game/item/Item";
30
- import type { EntityReferenceTypes, IReferenceable, Reference } from "@wayward/game/game/reference/IReferenceManager";
30
+ import { type EntityReferenceTypes, type IReferenceable, type Reference } from "@wayward/game/game/reference/IReferenceManager";
31
31
  import type { ITemperatureSource } from "@wayward/game/game/temperature/ITemperature";
32
32
  import type Tile from "@wayward/game/game/tile/Tile";
33
33
  import type TileEvent from "@wayward/game/game/tile/TileEvent";
34
- import type { ISerializedTranslation } from "@wayward/game/language/ITranslation";
34
+ import { type ISerializedTranslation } from "@wayward/game/language/ITranslation";
35
35
  import type Translation from "@wayward/game/language/Translation";
36
36
  import type { RenderSource, UpdateRenderFlag } from "@wayward/game/renderer/IRenderer";
37
+ import type { Renderer } from "@wayward/game/renderer/Renderer";
37
38
  import type { INotificationLocation, ItemNotifierType, MarkerIconType, StatNotificationType } from "@wayward/game/renderer/notifier/INotifier";
38
39
  import type { IVector3 } from "@wayward/game/utilities/math/IVector";
39
40
  import type { IVector4 } from "@wayward/game/utilities/math/Vector4";
@@ -44,23 +45,18 @@ export default abstract class Entity<DescriptionType = unknown, TypeType extends
44
45
  abstract readonly tileUpdateType: TileUpdateType;
45
46
  id: number;
46
47
  type: TypeType;
48
+ historicalActions?: PartialRecord<ActionType, number>;
47
49
  referenceId?: number;
48
50
  renamed?: string | ISerializedTranslation;
49
51
  x: number;
50
52
  y: number;
51
53
  z: WorldZ;
52
54
  private _data?;
55
+ private _persistentMarker?;
56
+ private _persistentMarkerHidden?;
53
57
  private _tags?;
54
- historicalActions?: PartialRecord<ActionType, number>;
55
58
  islandId: IslandId;
56
59
  preventRendering?: boolean;
57
- /**
58
- * Notifier marker assigned to this entity
59
- */
60
- persistentMarker: {
61
- type: MarkerIconType;
62
- guid: string;
63
- } | undefined;
64
60
  private _humansWithinBound?;
65
61
  /**
66
62
  * Cached tile the entity is on.
@@ -75,11 +71,14 @@ export default abstract class Entity<DescriptionType = unknown, TypeType extends
75
71
  * Get the entities description
76
72
  */
77
73
  get description(): Readonly<DescriptionType> | undefined;
74
+ protected abstract get typeEnum(): PartialRecord<string | TypeType, TypeType | string>;
78
75
  /**
79
76
  * Adds a referenceId to the entity if it doesn't already have one
80
77
  */
81
78
  addReferenceId(): void;
82
79
  abstract getName(): Translation;
80
+ /** @deprecated Console helper */
81
+ protected get debug(): any;
83
82
  /**
84
83
  * Called when filling out the entities description for the first time
85
84
  */
@@ -118,6 +117,12 @@ export default abstract class Entity<DescriptionType = unknown, TypeType extends
118
117
  updateView(source: RenderSource, updateFov?: boolean | UpdateRenderFlag.FieldOfView | UpdateRenderFlag.FieldOfViewSkipTransition): void;
119
118
  notifyItem(itemNotifierType: ItemNotifierType, item: Item): void;
120
119
  notifyStat(type: StatNotificationType, value: number): void;
120
+ /**
121
+ * This is called clientside the first time the renderer seens the entity
122
+ */
123
+ onFirstRender(renderer: Renderer): void;
124
+ getCurrentMarkerIconType(): MarkerIconType | undefined;
125
+ setMarkerIconHidden(hidden: boolean): void;
121
126
  addMarkerIcon(type: MarkerIconType): void;
122
127
  removeMarkerIcon(...types: MarkerIconType[]): void;
123
128
  getProducedTemperature(): number | undefined;
@@ -14,6 +14,7 @@ import type { IEntityConstructorOptions, IStatus, StatusChangeReason } from "@wa
14
14
  import { type IStatEvents, type IStats } from "@wayward/game/game/entity/IStats";
15
15
  import type { IStatHost } from "@wayward/game/game/entity/Stats";
16
16
  import Stats from "@wayward/game/game/entity/Stats";
17
+ import type { StatusApplicability } from "@wayward/game/game/entity/status/IStatus";
17
18
  import { StatusType } from "@wayward/game/game/entity/status/IStatus";
18
19
  import Status from "@wayward/game/game/entity/status/Status";
19
20
  import type { EntityReferenceTypes } from "@wayward/game/game/reference/IReferenceManager";
@@ -40,7 +41,7 @@ export default abstract class EntityWithStats<DescriptionType = unknown, TypeTyp
40
41
  readonly stat: Stats<this>;
41
42
  private readonly statusHandlers;
42
43
  constructor(entityOptions?: IEntityConstructorOptions<TypeType>);
43
- protected getApplicableStatuses(): Set<StatusType> | undefined;
44
+ protected getStatusApplicability(): StatusApplicability | undefined;
44
45
  get asEntityWithStats(): EntityWithStats<DescriptionType, TypeType, EntityReferenceType, TagType>;
45
46
  /**
46
47
  * Returns whether the entity has the given `StatusType`
@@ -25,7 +25,8 @@ import type Item from "@wayward/game/game/item/Item";
25
25
  import type Tile from "@wayward/game/game/tile/Tile";
26
26
  import type TileEvent from "@wayward/game/game/tile/TileEvent";
27
27
  import type { Direction } from "@wayward/game/utilities/math/Direction";
28
- export interface IEntityEvents {
28
+ import type { IEventSubscriberEvents } from "@wayward/utilities/event/EventEmitter";
29
+ export interface IEntityEvents extends IEventSubscriberEvents {
29
30
  /**
30
31
  * Called when an entity is killed by another entity.
31
32
  */
@@ -152,7 +152,7 @@ export declare const actionDescriptionsSlow: {
152
152
  }, [import("../../item/Item").default]>;
153
153
  134: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.Container, import("./argument/ActionArgumentEnum").default<import("../../item/IItem").ItemType, "Bow" | "None" | "String" | "HideGlue" | "AnimalSkull" | "GraniteArrow" | "GraniteArrowhead" | "PileOfAsh" | "BarkLeggings" | "BarkShield" | "BarkTunic" | "Bone" | "Branch" | "CactusSpines" | "Charcoal" | "GraniteFlooring" | "CookedMeat" | "Earthworm" | "Feather" | "Fertilizer" | "WaterskinOfSeawater" | "FirePlough" | "BeggartickSeeds" | "Fossil" | "GoldCoins" | "GoldenChalice" | "GoldenRing" | "GoldShortSword" | "GrassSeeds" | "IronOre" | "WoodenDowels" | "Granite" | "LeafBedroll" | "Hide" | "Leaves" | "Limestone" | "Log" | "GraniteMortarAndPestle" | "ButtonMushrooms" | "Nopal" | "Peat" | "Sandstone" | "PileOfGravel" | "PileOfBeachSand" | "WoodenArrow" | "GraniteAxe" | "Bandage" | "WovenFabric" | "CactusNeedle" | "GraniteShovel" | "WoodenSpear" | "Suture" | "Raft" | "RawMeat" | "Raspberries" | "FlyAmanita" | "Rope" | "MapleSeeds" | "Badderlocks" | "SharpGlass" | "SharpGranite" | "Skullcap" | "SmoothGranite" | "Soil" | "GraniteSpear" | "Stones" | "GraniteWall" | "StrippedBark" | "Leather" | "Tannin" | "MilkThistleSeeds" | "TreeBark" | "HoneyFungus" | "ClematisVine" | "Twigs" | "Waterskin" | "WoodenPole" | "PeatBandage" | "BowDrill" | "FishingNet" | "RawCod" | "CookedCod" | "GraniteCampfire" | "VineWhip" | "PileOfSnow" | "BarkTorch" | "LitBarkTorch" | "HandDrill" | "SmallBag" | "Shale" | "SharpenedBone" | "Grindstone" | "RawFishSteak" | "CookedFishSteak" | "WaterskinOfDesalinatedWater" | "BoatPaddle" | "BullBoat" | "RefinedSand" | "Spyglass" | "Retort" | "RawClay" | "RawClayBlowpipe" | "ClayBlowpipe" | "LeatherBelt" | "LeatherTunic" | "LeatherBoots" | "LeatherCap" | "LeatherGorget" | "LeatherPants" | "LeatherGloves" | "GraniteFurnace" | "SandstoneKiln" | "IronTongs" | "Talc" | "TalcumPowder" | "WoodenSandCastFlask" | "Lens" | "PlantRoots" | "Lockpick" | "BoneNeedle" | "Pineapple" | "TatteredMap" | "Coal" | "SmeltedWroughtIron" | "LimestonePowder" | "SmeltedIron" | "Backpack" | "RottenMeat" | "GraniteHammer" | "RawChicken" | "CookedChicken" | "GraniteAnvil" | "WoodenChest" | "IronShortSword" | "IronBreastplate" | "IronBoots" | "IronHelmet" | "IronGorget" | "IronCuisses" | "IronGauntlets" | "IronHeater" | "SandstoneWall" | "SandstoneFlooring" | "SpiderSilk" | "AnimalFat" | "TallowTorch" | "ClayFlakes" | "GreenSand" | "OldInstructionalScroll" | "SlimeGelatin" | "SlimeGlue" | "CookedSpiderMeat" | "SpiderMeat" | "IronLockpick" | "RottingVegetation" | "Chives" | "IronHammer" | "IronSpear" | "IronShovel" | "IronDoubleAxe" | "IronPickaxe" | "Inkstick" | "Coconut" | "PalmLeaf" | "Offal" | "BoneFragments" | "LitPoleTorch" | "CottonBoll" | "CottonSeeds" | "CottonFabric" | "BonePole" | "Tourniquet" | "WroughtIronPickaxe" | "WroughtIronDoubleAxe" | "WroughtIronShovel" | "WroughtIronSpear" | "WroughtIronHammer" | "WroughtIronLockpick" | "WroughtIronShield" | "WroughtIronGauntlets" | "WroughtIronCuisses" | "WroughtIronGorget" | "WroughtIronHelmet" | "WroughtIronBoots" | "WroughtIronBreastplate" | "WroughtIronShortSword" | "WoodenWall" | "WoodenFlooring" | "WoodenDoor" | "FishingRod" | "MessageInABottle" | "CarbonPowder" | "PileOfCompost" | "FishGlue" | "WoodenShavings" | "GraniteDeadfall" | "Snare" | "WaterskinOfMedicinalWater" | "CharcoalBandage" | "WoodenTongs" | "WroughtIronTongs" | "SheetOfGlass" | "SolarStill" | "TinWaterStill" | "GraniteSundial" | "LitTallowTorch" | "Sinew" | "ShortBow" | "LongBow" | "CompositeBow" | "WaterskinOfPurifiedFreshWater" | "WaterskinOfUnpurifiedFreshWater" | "GlassBottle" | "Cork" | "GlassBottleOfSeawater" | "GlassBottleOfDesalinatedWater" | "GlassBottleOfMedicinalWater" | "GlassBottleOfPurifiedFreshWater" | "GlassBottleOfUnpurifiedFreshWater" | "WroughtIronArrow" | "IronArrow" | "GraniteBullet" | "WroughtIronBullet" | "IronBullet" | "LeatherQuiver" | "Ectoplasm" | "MagicalEssence" | "WoodenFence" | "CreatureIdol" | "CordedSling" | "LeatherSling" | "WroughtIronArrowhead" | "IronArrowhead" | "Hammock" | "CottonBedroll" | "FeatherBedroll" | "RawTaintedMeat" | "CookedTaintedMeat" | "GraniteKnife" | "RawBlindfish" | "CookedBlindfish" | "Pemmican" | "CookedPemmican" | "Sail" | "Sailboat" | "ChickenEgg" | "BoiledChickenEgg" | "SheafOfHay" | "Niter" | "Saltpeter" | "BlackPowder" | "FlintlockPistol" | "Giblets" | "ExplosiveTrap" | "SkeletalMageWand" | "RawClayJug" | "ClayJug" | "ClayJugOfSeawater" | "ClayJugOfDesalinatedWater" | "ClayJugOfMedicinalWater" | "ClayJugOfPurifiedFreshWater" | "ClayJugOfUnpurifiedFreshWater" | "RawClayBrick" | "ClayBrick" | "ClayWall" | "ClayFlooring" | "PineappleSeeds" | "RaspberrySeeds" | "PricklyPearSeeds" | "ClematisSeeds" | "PaperSheet" | "PaperMold" | "Beggarticks" | "MilkThistleFlowers" | "DrawnMap" | "TatteredClothShirt" | "TatteredClothTrousers" | "WoodenGate" | "PoisonIvyLeaves" | "PoisonIvySeeds" | "WroughtIronChest" | "IronChest" | "SwitchgrassSeeds" | "Apple" | "SpiderEggs" | "TailFeathers" | "AppleSeeds" | "VenomGland" | "OrnateWoodenChest" | "RollOfRedCarpet" | "OrnateCape" | "FireBladder" | "GoldenKey" | "WoodenShortSword" | "ClayKiln" | "ClayCampfire" | "ClayFurnace" | "CopperWaterStill" | "SandstoneCampfire" | "SandstoneFurnace" | "WroughtIronWaterStill" | "GraniteKiln" | "WroughtIronAnvil" | "IronAnvil" | "MageRobe" | "CrackedOrb" | "AnimalClaw" | "AnimalPelt" | "AnimalFur" | "Scales" | "SharkFin" | "RawReptileMeat" | "CookedReptileMeat" | "Tentacles" | "CookedTentacles" | "WormMeat" | "CookedWormMeat" | "GranitePickaxe" | "WroughtIronAxe" | "IronAxe" | "FertileSoil" | "GraniteHoe" | "WroughtIronHoe" | "IronHoe" | "LavaBeetleHelmet" | "SpruceCone" | "SpruceSeeds" | "SpruceNeedles" | "CypressCone" | "CypressSeeds" | "CypressLeaves" | "Lettuce" | "LettuceSeeds" | "ChiveSeeds" | "Potato" | "PotatoSeeds" | "Carrot" | "CarrotSeeds" | "CornEar" | "CornSeeds" | "Cucumber" | "CucumberSeeds" | "Tomato" | "TomatoSeeds" | "Pumpkin" | "PumpkinSeeds" | "PricklyPearFruit" | "SugarCaneStalks" | "SugarCaneSeeds" | "BushelOfWheat" | "Wheat" | "CookedPotato" | "CookedCornCob" | "BundleOfSwitchgrass" | "Cloak" | "WoodenMortarAndPestle" | "SandstoneMortarAndPestle" | "WroughtIronMortarAndPestle" | "IronMortarAndPestle" | "RawClayMortarAndPestle" | "ClayMortarAndPestle" | "CopperOre" | "SmeltedCopper" | "CopperPickaxe" | "CopperDoubleAxe" | "CopperShovel" | "CopperSpear" | "CopperHammer" | "CopperLockpick" | "CopperBuckler" | "CopperGauntlets" | "CopperGreaves" | "CopperGorget" | "CopperHelmet" | "CopperBoots" | "CopperCuirass" | "CopperShortSword" | "CopperTongs" | "CopperArrow" | "CopperBullet" | "CopperArrowhead" | "CopperChest" | "CopperAnvil" | "CopperAxe" | "CopperHoe" | "CopperMortarAndPestle" | "WaterskinOfGoatMilk" | "ClayJugOfGoatMilk" | "GlassBottleOfGoatMilk" | "Obsidian" | "OrnateBlueBook" | "Journal" | "MossCoveredBook" | "GildedRedBook" | "ArrowShaft" | "SlitherSucker" | "AberrantSlitherSucker" | "StrawHat" | "BlackplateSabatons" | "BlackplateBreastplate" | "BlackplateGauntlets" | "BlackplateGorget" | "BlackplateGreaves" | "BlackplateHelmet" | "DeathKnightAxe" | "Macuahuitl" | "ObsidianArrow" | "ObsidianArrowhead" | "ObsidianAxe" | "ObsidianKnife" | "ObsidianShovel" | "ObsidianSpear" | "TumbleweedSeeds" | "CoconutHusk" | "PeeledCoconut" | "CoconutMeat" | "CoconutContainerOfCoconutWater" | "CoconutContainer" | "CoconutContainerOfSeawater" | "CoconutContainerOfDesalinatedWater" | "CoconutContainerOfMedicinalWater" | "CoconutContainerOfPurifiedFreshWater" | "CoconutContainerOfUnpurifiedFreshWater" | "CoconutContainerOfGoatMilk" | "OldEducationalScroll" | "StrippedHide" | "ClaySandCastFlask" | "SandstoneSandCastFlask" | "GraniteSandCastFlask" | "BoneGlue" | "CutHide" | "BoneMeal" | "PileOfDesertSand" | "JoshuaTreeLeaves" | "JoshuaTreeFruit" | "JoshuaTreeSeeds" | "CookedJoshuaTreeFruit" | "JoshuaTreeFlowers" | "SaguaroCactusFruit" | "SaguaroCactusSeeds" | "SaguaroCactusChunk" | "GraniteWell" | "SandstoneWell" | "ClayWell" | "AloeVeraLeaves" | "AloeVeraSeeds" | "DeadScorpion" | "DeadAberrantScorpion" | "CookedScorpion" | "CookedAberrantScorpion" | "ScorpionStinger" | "CopperBakingTray" | "WroughtIronBakingTray" | "IronBakingTray" | "Flour" | "Dough" | "Hardtack" | "HitchingPost" | "ShreddedPaper" | "RawMudskipper" | "RawAberrantMudskipper" | "CookedMudskipper" | "CookedAberrantMudskipper" | "RawRedSnapper" | "CookedRedSnapper" | "RawWalleye" | "CookedWalleye" | "WoodenShield" | "CopperRefinementTools" | "WroughtIronRefinementTools" | "IronRefinementTools" | "ScaleBelt" | "ScaleVest" | "ScaleBoots" | "ScaleCap" | "ScaleBevor" | "ScaleLeggings" | "ScaleGloves" | "CookedJoshuaTreeFlowers" | "SaguaroCactusRibs" | "BladesOfGrass" | "AnimalDroppings" | "AnimalDung" | "Guano" | "Tallow" | "TallowCandle" | "LitTallowCandle" | "WispDust" | "MagicalAspect" | "GoldenSextant" | "RawChoppedFish" | "CookedChoppedFish" | "CookedFishKebab" | "AshCement" | "AshCementBrick" | "AshCementFlooring" | "AshCementWall" | "IceShard" | "PenguinEgg" | "BoiledPenguinEgg" | "RawPenguinMeat" | "CookedPenguinMeat" | "Crowberries" | "CookedCrowberries" | "CrowberrySeeds" | "Winterberries" | "WinterberrySeeds" | "ArcticPoppies" | "ArcticPoppySeeds" | "PirateHat" | "AloeVeraBandage" | "SharkTooth" | "CopperKnife" | "WroughtIronKnife" | "IronKnife" | "TinOre" | "SmeltedTin" | "TinPickaxe" | "TinDoubleAxe" | "TinShovel" | "TinSpear" | "TinHammer" | "TinLockpick" | "TinShield" | "TinGloves" | "TinChausses" | "TinBevor" | "TinHelmet" | "TinFootgear" | "TinCuirass" | "TinShortSword" | "TinTongs" | "TinArrow" | "TinBullet" | "TinArrowhead" | "TinChest" | "TinAnvil" | "TinAxe" | "TinHoe" | "TinMortarAndPestle" | "TinBakingTray" | "TinRefinementTools" | "TinKnife" | "SmeltedBronze" | "BronzePickaxe" | "BronzeDoubleAxe" | "BronzeShovel" | "BronzeSpear" | "BronzeHammer" | "BronzeLockpick" | "BronzeKiteShield" | "BronzeGauntlets" | "BronzeGreaves" | "BronzeBevor" | "BronzeHelmet" | "BronzeBoots" | "BronzeChestArmor" | "BronzeShortSword" | "BronzeTongs" | "BronzeArrow" | "BronzeBullet" | "BronzeArrowhead" | "BronzeChest" | "BronzeAnvil" | "BronzeAxe" | "BronzeHoe" | "BronzeMortarAndPestle" | "BronzeBakingTray" | "BronzeRefinementTools" | "BronzeKnife" | "IceBrick" | "SnowBrick" | "IceWall" | "IceFlooring" | "SnowWall" | "SnowFlooring" | "CaliginousScrap" | "MagicalExtract" | "ShimmeringFibers" | "MagicalTwine" | "SandstoneHammer" | "SandstoneBullet" | "SandstoneAnvil" | "SnowScarecrow" | "FrozenFlesh" | "AnimalTusk" | "WhitePineCone" | "WhitePineSeeds" | "WhitePineNeedles" | "FurCoat" | "FurMittens" | "FurBoots" | "BirdDroppings" | "HardenedCoil" | "MagicalBinding" | "ArmoredScales" | "RawPangolinMeat" | "CookedPangolinMeat" | "ArmoredScaleBelt" | "ArmoredScaleVest" | "ArmoredScaleBoots" | "ArmoredScaleCrown" | "ArmoredScaleBevor" | "ArmoredScaleCuisses" | "ArmoredScaleGloves" | "TinNeedle" | "CopperNeedle" | "WroughtIronNeedle" | "IronNeedle" | "BronzeNeedle" | "TuftsOfTanglehead" | "TangleheadSeeds" | "WispInAGlassBottle" | "AberrantWispInAGlassBottle" | "WispInAClayJug" | "AberrantWispInAClayJug" | "WispInACoconutContainer" | "AberrantWispInACoconutContainer" | "WispInAWaterskin" | "AberrantWispInAWaterskin" | "StrawScarecrow" | "CactusScarecrow" | "ClothShirt" | "ClothTrousers" | "UnripePapaya" | "Papaya" | "PapayaSeeds" | "PalapalaiFrond" | "PalapalaiSpores" | "ButtonMushroomSpores" | "FlyAmanitaSpores" | "BrambleCrown" | "DarkBrambleCrown" | "Cotton" | "WaterskinOfSwampWater" | "GlassBottleOfSwampWater" | "ClayJugOfSwampWater" | "CoconutContainerOfSwampWater" | "WaterskinOfFilteredWater" | "GlassBottleOfFilteredWater" | "ClayJugOfFilteredWater" | "CoconutContainerOfFilteredWater" | "ClayFilter" | "SandstoneAxe" | "SandstoneShovel" | "SharpSandstone" | "SmoothSandstone" | "SandstoneSpear" | "SandstoneKnife" | "SandstonePickaxe" | "SandstoneHoe" | "SandstoneDeadfall" | "SandstoneSundial" | "WoodenPlank" | "WoodenWheel" | "WoodenAxle" | "WoodenMinecart" | "WoodenRail" | "WoodenTrack" | "TinWheel" | "TinAxle" | "TinMinecart" | "TinRail" | "TinTrack" | "CopperWheel" | "CopperAxle" | "CopperMinecart" | "CopperRail" | "CopperTrack" | "WroughtIronWheel" | "WroughtIronAxle" | "WroughtIronMinecart" | "WroughtIronRail" | "WroughtIronTrack" | "IronWheel" | "IronAxle" | "IronMinecart" | "IronRail" | "IronTrack" | "BronzeWheel" | "BronzeAxle" | "BronzeMinecart" | "BronzeRail" | "BronzeTrack" | "BasaltArrow" | "BasaltArrowhead" | "Basalt" | "BasaltMortarAndPestle" | "BasaltAxe" | "BasaltShovel" | "SharpBasalt" | "SmoothBasalt" | "BasaltSpear" | "BasaltFlooring" | "BasaltWall" | "BasaltCampfire" | "BasaltFurnace" | "BasaltHammer" | "BasaltAnvil" | "BasaltDeadfall" | "IronWaterStill" | "BasaltSundial" | "BasaltBullet" | "BasaltKnife" | "BasaltKiln" | "BasaltPickaxe" | "BasaltHoe" | "BasaltSandCastFlask" | "BasaltWell" | "WoodenTrackGate" | "MoldyScroll" | "MysteriousParchment" | "MagicalInscription" | "CattailLeaves" | "CattailShoots" | "CattailFlowers" | "CattailSeeds" | "CobblestoneFlooring" | "WaterLilies" | "Mud" | "SpikerushSheaths" | "SpikerushSeeds" | "WoodenBookcase" | "GraniteLighthouse" | "SandstoneLighthouse" | "ClayLighthouse" | "BasaltLighthouse" | "WoodenCage" | "FullWoodenCage" | "TinCage" | "FullTinCage" | "CopperCage" | "FullCopperCage" | "WroughtIronCage" | "FullWroughtIronCage" | "IronCage" | "FullIronCage" | "BronzeCage" | "FullBronzeCage" | "Amber" | "Tourmaline" | "Topaz" | "Opal" | "Sapphire" | "WoodGolemFigure" | "ClayGolemFigure" | "GraniteGolemFigure" | "SandstoneGolemFigure" | "BasaltGolemFigure" | "AberrantWoodGolemFigure" | "AberrantClayGolemFigure" | "AberrantGraniteGolemFigure" | "AberrantSandstoneGolemFigure" | "AberrantBasaltGolemFigure" | "GraniteDripstone" | "SandstoneDripstone" | "BasaltDripstone" | "ClayDripstone" | "BronzeWaterStill" | "ArmorStand" | "RuneOfEvil" | "RuneOfChaos" | "RuneOfGood" | "GraniteAltar" | "WoodenWheelbarrow" | "TinWheelbarrow" | "CopperWheelbarrow" | "WroughtIronWheelbarrow" | "IronWheelbarrow" | "BronzeWheelbarrow" | "GraniteCrucible" | "SandstoneCrucible" | "BasaltCrucible" | "RawClayCrucible" | "ClayCrucible" | "SandstoneAltar" | "BasaltAltar" | "ClayAltar" | "PineResin" | "SpruceResin" | "CypressResin" | "Pitch" | "PitchGlue" | "MagicalOrb" | "RawAberrantCod" | "CookedAberrantCod" | "RawAberrantBlindfish" | "CookedAberrantBlindfish" | "RawAberrantRedSnapper" | "CookedAberrantRedSnapper" | "RawAberrantWalleye" | "CookedAberrantWalleye" | "FishBones" | "AnimalCartilage" | "GelatinPowder" | "Gelatin" | "Aspic" | "FruitCocktail" | "VegetableTerrine" | "TatteredClothBandana" | "ClothBandana" | "RustedScimitar" | "TricorneHat" | "SandstoneArrowhead" | "SandstoneArrow" | "ReedFlute" | "WoodenFlute" | "RawClayFlute" | "ClayFlute" | "BoneFlute" | "TinFlute" | "CopperFlute" | "WroughtIronFlute" | "IronFlute" | "BronzeFlute" | "StrippedLeather" | "ChickenEggshells" | "PenguinEggshells" | "Last">, [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.Integer32]], import("../player/Player").default, void, import("@wayward/game/game/entity/action/IAction").IActionUsable, [import("../../item/IItem").IContainer, import("../../item/IItem").ItemType, (number | undefined)?]>;
154
154
  4: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory, [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory], [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby], [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby], [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/StartFire").IStartFireCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?, (import("../../item/Item").default | undefined)?, (import("../../item/Item").default | undefined)?, (import("../../item/Item").default | undefined)?]>;
155
- 23: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/StokeFire").IStokeFireCanUse, [import("../../item/Item").default]>;
155
+ 23: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/StokeFire").IStokeFireCanUse, [import("../../item/Item").default]>;
156
156
  121: import("./Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, void, import("@wayward/game/game/entity/action/actions/Summon").ISummonAction, [import("../../item/Item").default]>;
157
157
  128: import("./Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.Doodad]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, boolean, import("@wayward/game/game/entity/action/actions/SwapWithArmorStand").ISwapEquipment, [(import("../../doodad/Doodad").default | undefined)?]>;
158
158
  131: import("./Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.Doodad]], import("../Human").default<unknown, number, import("../../reference/IReferenceManager").ReferenceType.NPC | import("../../reference/IReferenceManager").ReferenceType.Player>, boolean, import("@wayward/game/game/entity/action/actions/SwapWithArmorStand").ISwapEquipment, [(import("../../doodad/Doodad").default | undefined)?]>;
@@ -21,5 +21,5 @@ export interface IStokeFireCanUse extends IActionUsable {
21
21
  doodad?: Doodad;
22
22
  tileEvent?: TileEvent;
23
23
  }
24
- declare const _default: Action<[ActionArgument.ItemInventory], import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player>, void, IStokeFireCanUse, [Item]>;
24
+ declare const _default: Action<[ActionArgument.ItemNearby], import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player>, void, IStokeFireCanUse, [Item]>;
25
25
  export default _default;
@@ -20,7 +20,10 @@ export interface IMoveItemFilterArgument {
20
20
  moveLimit?: number;
21
21
  quality?: ArrayOr<Quality>;
22
22
  text?: string;
23
+ /** Excludes items that are both protected themselves, and that are in a protected container */
23
24
  excludeProtected?: boolean;
25
+ /** Combined with `excludeProtected` to re-include items that are just in a protected container */
26
+ includeInProtectedContainer?: boolean;
24
27
  excludeEquipped?: boolean;
25
28
  }
26
29
  export declare class MoveItemFilterArgument<FILTER extends IMoveItemFilterArgument> extends ActionArgumentCustom<FILTER> {
@@ -35,7 +35,7 @@ import type Message from "@wayward/game/language/dictionary/Message";
35
35
  import { TranslationArg } from "@wayward/game/language/ITranslation";
36
36
  import type Translation from "@wayward/game/language/Translation";
37
37
  import type Bindable from "@wayward/game/ui/input/Bindable";
38
- import type { ItemDetailIconLocation } from "@wayward/game/ui/screen/screens/game/component/ItemComponent";
38
+ import type { ItemDetailIconLocation } from "@wayward/game/ui/screen/screens/game/component/item/IItemComponent";
39
39
  import type Tooltip from "@wayward/game/ui/tooltip/Tooltip";
40
40
  import type { HighlightSelector } from "@wayward/game/ui/util/IHighlight";
41
41
  import type HashSet from "@wayward/utilities/collection/set/HashSet";
@@ -57,6 +57,7 @@ export interface IUsableActionItemRequirement extends Omit<IUsableActionRequirem
57
57
  finder?: false | ((player: Player, defaultOptions?: IItemFinderOptions, provided?: Omit<IUsableActionPossibleUsing, "item">) => ItemFinder | undefined);
58
58
  requiresQuality?: true;
59
59
  requiresType?: true;
60
+ cannotDamageItem?: true;
60
61
  }
61
62
  export declare namespace IUsableActionItemRequirement {
62
63
  function hasFinder(requirements?: IUsableActionRequirements): boolean;
@@ -107,6 +108,8 @@ export interface IUsableActionUsing<REQUIREMENTS extends IUsableActionRequiremen
107
108
  targetTile: Tile;
108
109
  fromTile: Tile;
109
110
  item: ((REQUIREMENTS["item"] extends true ? Item : never) | (undefined extends REQUIREMENTS["item"] ? undefined : never) | (REQUIREMENTS["item"] extends {
111
+ cannotDamageItem: true;
112
+ } ? Item : never) | (REQUIREMENTS["item"] extends {
110
113
  allowNone: true;
111
114
  } ? Item | undefined : never) | (REQUIREMENTS["item"] extends {
112
115
  validate(player: Player, value: Item): boolean;
@@ -117,7 +120,9 @@ export interface IUsableActionUsing<REQUIREMENTS extends IUsableActionRequiremen
117
120
  } ? Item : never) | (REQUIREMENTS["item"] extends {
118
121
  allowOnlyItemType(player: Player, type: ItemType): boolean;
119
122
  } ? undefined : never));
120
- itemType: ((REQUIREMENTS["item"] extends true ? ItemType : never) | (undefined extends REQUIREMENTS["item"] ? undefined : never) | (REQUIREMENTS["item"] extends {
123
+ itemType: ((REQUIREMENTS["item"] extends true ? ItemType : never) | (REQUIREMENTS["item"] extends {
124
+ cannotDamageItem: true;
125
+ } ? ItemType : never) | (undefined extends REQUIREMENTS["item"] ? undefined : never) | (REQUIREMENTS["item"] extends {
121
126
  allowOnlyItemType(player: Player, type: ItemType): boolean;
122
127
  } ? ItemType : never) | (REQUIREMENTS["item"] extends {
123
128
  requiresType: true;
@@ -132,6 +137,17 @@ export interface IUsableActionUsing<REQUIREMENTS extends IUsableActionRequiremen
132
137
  } ? REQUIREMENTS["item"] extends {
133
138
  requiresType: true;
134
139
  } ? never : undefined : never));
140
+ container?: ((REQUIREMENTS["item"] extends true ? IContainer : never) | (REQUIREMENTS["item"] extends {
141
+ allowOnlyItemType(player: Player, type: ItemType): boolean;
142
+ } ? IContainer : never) | (REQUIREMENTS["item"] extends {
143
+ requiresType: true;
144
+ } ? IContainer : ((REQUIREMENTS["item"] extends {
145
+ validate(player: Player, value: Item): boolean;
146
+ } ? IContainer : never) | (REQUIREMENTS["item"] extends {
147
+ validateType(player: Player, value: ItemType, description?: IItemDescription): boolean;
148
+ } ? IContainer : never))) | (REQUIREMENTS["item"] extends {
149
+ finder: ItemFinder;
150
+ } ? IContainer : never));
135
151
  itemQuality: ((REQUIREMENTS["item"] extends true ? ArrayOr<Quality> : never) | (undefined extends REQUIREMENTS["item"] ? undefined : never) | (REQUIREMENTS["item"] extends {
136
152
  allowNone: true;
137
153
  } ? undefined : never) | (REQUIREMENTS["item"] extends {
@@ -27,6 +27,12 @@ import Message from "@wayward/game/language/dictionary/Message";
27
27
  import type { HighlightSelector } from "@wayward/game/ui/util/IHighlight";
28
28
  import Observer from "@wayward/game/utilities/Observer";
29
29
  import EventEmitter from "@wayward/utilities/event/EventEmitter";
30
+ export interface IUsableActionResolveUsingOptions {
31
+ /** Whether to skip filling in the `fromTile` and `targetTile` properties. Defaults to `true` */
32
+ skipTiles?: boolean;
33
+ /** Whether to skip filling in the `item`. Defaults to `false` */
34
+ skipItem?: boolean;
35
+ }
30
36
  export interface IUsableActionEvents {
31
37
  preExecute(player: Player, using: IUsableActionPossibleUsing, context: IUsableActionExecutionContext): any;
32
38
  postExecute(player: Player, using: IUsableActionPossibleUsing, context: IUsableActionExecutionContext): any;
@@ -35,6 +41,7 @@ export interface IUsableActionEvents {
35
41
  * Emitted when the UsableAction should be updated, exclusively for cached UsableActions.
36
42
  */
37
43
  update(): any;
44
+ dispose(): any;
38
45
  }
39
46
  /**
40
47
  * Create a basic usable action:
@@ -54,7 +61,13 @@ declare class UsableAction<REQUIREMENTS extends IUsableActionRequirements = IUsa
54
61
  readonly definition: DEFINITION;
55
62
  id: ActionId;
56
63
  readonly observe: Observer.IRegistrar<this>;
64
+ private usersCount;
65
+ readonly users: WeakMap<UsableActionRegistrar, true>;
66
+ private _disposed;
67
+ get disposed(): boolean;
57
68
  constructor(requirements: REQUIREMENTS, definition: DEFINITION);
69
+ addUser(user: UsableActionRegistrar): this;
70
+ removeUser(user: UsableActionRegistrar): this;
58
71
  is(id?: ActionId): boolean;
59
72
  isExecutable(): this is UsableAction<REQUIREMENTS, IUsableActionDefinitionExecutable<REQUIREMENTS>>;
60
73
  execute(player: Player, provided: IUsableActionUsing<REQUIREMENTS>, context: UsableActionExecutionContext | IUsableActionExecutionContext): {
@@ -63,8 +76,8 @@ declare class UsableAction<REQUIREMENTS extends IUsableActionRequirements = IUsa
63
76
  } | {
64
77
  used: false;
65
78
  };
66
- resolveUsing(player: Player, using: IUsableActionUsing<REQUIREMENTS>, fillTiles?: boolean): Message | IUsableActionUsing<REQUIREMENTS>;
67
- resolveUsingOrUndefined(player: Player, using: IUsableActionUsing<REQUIREMENTS>, fillTiles?: boolean): IUsableActionUsing<REQUIREMENTS> | undefined;
79
+ resolveUsing(player: Player, using: IUsableActionUsing<REQUIREMENTS>, options?: IUsableActionResolveUsingOptions): Message | IUsableActionUsing<REQUIREMENTS>;
80
+ resolveUsingOrUndefined(player: Player, using: IUsableActionUsing<REQUIREMENTS>, options?: IUsableActionResolveUsingOptions): IUsableActionUsing<REQUIREMENTS> | undefined;
68
81
  isUsable(player: Player, provided: IUsableActionUsing<REQUIREMENTS>, context: UsableActionExecutionContext | IUsableActionExecutionContext): UsableActionUsability<REQUIREMENTS>;
69
82
  isApplicable(player: Player, provided?: IUsableActionPossibleUsing, fullUsabilityCheck?: boolean, requireItem?: boolean): provided is IUsableActionUsing<REQUIREMENTS>;
70
83
  private isItemApplicable;
@@ -102,6 +115,10 @@ declare class UsableAction<REQUIREMENTS extends IUsableActionRequirements = IUsa
102
115
  getInternalActionType(): ActionType | undefined;
103
116
  getAlignment(using?: IUsableActionPossibleUsing): DeityReal[];
104
117
  getInteractionDistance(provided?: IUsableActionPossibleUsing): InteractionDistance | undefined;
118
+ dispose(): void;
119
+ private readonly playerDisposalBindings;
120
+ private bindPlayerDisposal;
121
+ private clearItemFinderCache;
105
122
  }
106
123
  export interface IUsableActionFactory<REQUIREMENTS extends IUsableActionRequirements> {
107
124
  create: <DEFINITION extends IUsableActionDefinition<REQUIREMENTS>>(action: DEFINITION) => UsableAction<REQUIREMENTS, DEFINITION>;
@@ -15,11 +15,16 @@ import type UsableAction from "@wayward/game/game/entity/action/usable/UsableAct
15
15
  import ContextMenu from "@wayward/game/ui/component/ContextMenu";
16
16
  import type { IVector2 } from "@wayward/game/utilities/math/IVector";
17
17
  import EventEmitter from "@wayward/utilities/event/EventEmitter";
18
- export default class UsableActionRegistrar {
18
+ export interface UsableActionRegistrarEvents {
19
+ dispose(): any;
20
+ }
21
+ export default class UsableActionRegistrar extends EventEmitter.Host<UsableActionRegistrarEvents> {
19
22
  readonly id: string;
20
23
  readonly actions: Array<[string, UsableAction]>;
21
24
  readonly actionIndices: Record<string, number>;
22
25
  readonly actionIds: string[];
26
+ private readonly _disposed;
27
+ get disposed(): boolean;
23
28
  constructor(id: string);
24
29
  byId(id?: ActionId): UsableAction | undefined;
25
30
  filter(filter: (action: UsableAction, id: string) => any): UsableActionRegistrar;
@@ -30,6 +35,7 @@ export default class UsableActionRegistrar {
30
35
  showContextMenu(provided: IUsableActionPossibleUsing, contextMenu?: ContextMenu<ActionId>, context?: ActionDisplayLevel, initialiser?: (contextMenu: ContextMenu<ActionId>) => any, position?: IVector2): ContextMenu<ActionId> | undefined;
31
36
  static getContextMenuActionExecutionContext(provided: IUsableActionPossibleUsing): IUsableActionExecutionContext;
32
37
  createContextMenu(provided: IUsableActionPossibleUsing, contextMenu?: ContextMenu<ActionId>, context?: ActionDisplayLevel, initialiser?: (contextMenu: ContextMenu<ActionId>) => any): ContextMenu<ActionId> | undefined;
38
+ dispose(): void;
33
39
  }
34
40
  export interface IUsableActionGeneratorEvents {
35
41
  stopPersisting(): any;
@@ -110,6 +110,10 @@ export interface IAiMaskDescription {
110
110
  * Whether this AI mask should currently be applied
111
111
  */
112
112
  condition?(entity: Entity): boolean;
113
+ /**
114
+ * Called when changing whether the AI mask is applied to the entity
115
+ */
116
+ onChange?(entity: Entity, change: ChangeAiType): void;
113
117
  }
114
118
  export declare const aiMaskDescriptions: OptionalDescriptions<AiMaskType, IAiMaskDescription>;
115
119
  export declare enum ChangeAiType {
@@ -33,9 +33,9 @@ export default class AiManager<ENTITY extends EntityMovable = EntityMovable> {
33
33
  aiMasks: AiMaskType[];
34
34
  private lastCalculatedAi;
35
35
  private wanderIntent?;
36
- private entityRef?;
36
+ private readonly entityRef?;
37
+ constructor(entity: ENTITY);
37
38
  get entity(): ENTITY | undefined;
38
- set entity(entity: ENTITY | undefined);
39
39
  protected get entityEvent(): IEventEmitter<EntityMovable, IEntityMovableEvents & IEntityAiEvents> | undefined;
40
40
  protected get island(): Island | undefined;
41
41
  /**
@@ -27,7 +27,7 @@ import type Corpse from "@wayward/game/game/entity/creature/corpse/Corpse";
27
27
  import type { CreatureZone } from "@wayward/game/game/entity/creature/zone/CreatureZone";
28
28
  import type NPC from "@wayward/game/game/entity/npc/NPC";
29
29
  import type Player from "@wayward/game/game/entity/player/Player";
30
- import { StatusType } from "@wayward/game/game/entity/status/IStatus";
30
+ import { StatusApplicability } from "@wayward/game/game/entity/status/IStatus";
31
31
  import type { IUncastableContainer } from "@wayward/game/game/item/IItem";
32
32
  import type Item from "@wayward/game/game/item/Item";
33
33
  import type { Reference, ReferenceType } from "@wayward/game/game/reference/IReferenceManager";
@@ -50,6 +50,7 @@ export default class Creature extends EntityWithStats<ICreatureDescription, Crea
50
50
  fromX: number;
51
51
  fromY: number;
52
52
  aberrant?: true;
53
+ ai: AiManager<this>;
53
54
  enemy?: {
54
55
  reference: Reference;
55
56
  attacks: number;
@@ -64,7 +65,6 @@ export default class Creature extends EntityWithStats<ICreatureDescription, Crea
64
65
  };
65
66
  respawned?: number;
66
67
  zonePoint?: IVector3;
67
- ai: AiManager;
68
68
  spawnAnimationTime: IMovementTime | undefined;
69
69
  constructor(entityOptions?: IEntityConstructorOptions<CreatureType>, aberrant?: boolean);
70
70
  initializeAi(resetAiType?: boolean): void;
@@ -83,6 +83,7 @@ export default class Creature extends EntityWithStats<ICreatureDescription, Crea
83
83
  * - `creature.getName(undefined, 3)` // "acid spitter demons"
84
84
  */
85
85
  getName(article?: Article, count?: number): Translation;
86
+ protected get typeEnum(): typeof CreatureType;
86
87
  protected getDescription(): ICreatureDescription | undefined;
87
88
  get isHostile(): boolean;
88
89
  get canAlert(): boolean;
@@ -91,7 +92,7 @@ export default class Creature extends EntityWithStats<ICreatureDescription, Crea
91
92
  get isTamed(): boolean;
92
93
  get isValid(): boolean;
93
94
  getCommandedAiType(): AiType | undefined;
94
- protected getApplicableStatuses(): Set<StatusType> | undefined;
95
+ protected getStatusApplicability(): StatusApplicability | undefined;
95
96
  tickStatuses(): void;
96
97
  getDefense(human?: Human): Defense;
97
98
  /**
@@ -68,7 +68,7 @@ export default class CreatureManager extends EntityManager<Creature, {
68
68
  /**
69
69
  * getMovePenalty
70
70
  * @param willMove Set to true if the object is about to move to this tile. This method will confirm if there's an existing npc/creature there and return false if so
71
- * @return Blocked penalty - Do no return 0!
71
+ * @return Blocked penalty - Do not return 0!
72
72
  */
73
73
  getMovePenalty(moveType: MoveType, tile: Tile, willMove: boolean, options?: Partial<ICreatureCheckMoveOptions>, creature?: Creature): number;
74
74
  /**
@@ -90,6 +90,7 @@ export default class Corpse extends Entity<ICorpseDescription, CreatureType, Ref
90
90
  * - `corpse.getName(undefined, 3)` // "acid spitter demons"
91
91
  */
92
92
  getName(article?: Article, count?: number): Translation;
93
+ protected get typeEnum(): typeof CreatureType;
93
94
  protected getDescription(): ICorpseDescription | undefined;
94
95
  creatureDescription(): ICreatureDescription | undefined;
95
96
  get isValid(): boolean;
@@ -21,14 +21,14 @@ import { AiType, ChangeAiType } from "@wayward/game/game/entity/ai/AI";
21
21
  import type { IEntityAiEvents } from "@wayward/game/game/entity/ai/AiManager";
22
22
  import AiManager from "@wayward/game/game/entity/ai/AiManager";
23
23
  import type { INPCDescription } from "@wayward/game/game/entity/npc/INPC";
24
- import type { NPCType } from "@wayward/game/game/entity/npc/INPCs";
24
+ import { NPCType } from "@wayward/game/game/entity/npc/INPCs";
25
25
  import type MerchantNPC from "@wayward/game/game/entity/npc/npcs/Merchant";
26
26
  import type ShipperNPC from "@wayward/game/game/entity/npc/npcs/Shipper";
27
27
  import { MessageManagerNoOp } from "@wayward/game/game/entity/player/MessageManager";
28
28
  import type Player from "@wayward/game/game/entity/player/Player";
29
29
  import { NoteManagerNoOp } from "@wayward/game/game/entity/player/note/NoteManager";
30
30
  import { QuestManagerNoOp } from "@wayward/game/game/entity/player/quest/QuestManager";
31
- import { StatusType } from "@wayward/game/game/entity/status/IStatus";
31
+ import { StatusApplicability } from "@wayward/game/game/entity/status/IStatus";
32
32
  import type { IContainer, ItemType } from "@wayward/game/game/item/IItem";
33
33
  import type Item from "@wayward/game/game/item/Item";
34
34
  import type { ReferenceType } from "@wayward/game/game/reference/IReferenceManager";
@@ -58,14 +58,15 @@ export default abstract class NPC extends Human<INPCDescription, NPCType, Refere
58
58
  get entityType(): EntityType.NPC;
59
59
  get tileUpdateType(): TileUpdateType;
60
60
  event: IEventEmitter<this, INPCEvents>;
61
- seen: number;
62
61
  private weightCapacity;
63
- talked?: Map<string, number>;
62
+ ai: AiManager<this>;
64
63
  interactions?: Map<string, Set<number>>;
65
- ai: AiManager;
64
+ seen: number;
65
+ talked?: Map<string, number>;
66
66
  static getRegistrarId(): number;
67
67
  static setRegistrarId(id: number): void;
68
68
  constructor(entityOptions?: IEntityConstructorOptions<NPCType>);
69
+ protected get typeEnum(): typeof NPCType;
69
70
  getDescription(): INPCDescription | undefined;
70
71
  getWeightCapacity(): number;
71
72
  getRegistrarId(): number;
@@ -73,9 +74,8 @@ export default abstract class NPC extends Human<INPCDescription, NPCType, Refere
73
74
  createMessageManager(): MessageManagerNoOp;
74
75
  createQuestManager(): QuestManagerNoOp;
75
76
  addMilestone(): void;
76
- protected getApplicableStatuses(): Set<StatusType> | undefined;
77
+ protected getStatusApplicability(): StatusApplicability | undefined;
77
78
  get isValid(): boolean;
78
- load(): void;
79
79
  /**
80
80
  * Creates inventory, equips items, and scales stats
81
81
  */