@wayward/types 2.13.0-beta.dev.20230331.1 → 2.13.0-beta.dev.20230402.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/definitions/game/event/EventEmitter.d.ts +6 -1
  2. package/definitions/game/game/entity/EntityMovable.d.ts +2 -1
  3. package/definitions/game/game/entity/Human.d.ts +3 -3
  4. package/definitions/game/game/entity/IEntity.d.ts +11 -0
  5. package/definitions/game/game/entity/action/ActionsRegistration.d.ts +2 -2
  6. package/definitions/game/game/entity/action/actions/Build.d.ts +1 -1
  7. package/definitions/game/game/entity/action/actions/PlaceDown.d.ts +1 -1
  8. package/definitions/game/game/entity/action/actions/helper/TreasureGathering.d.ts +3 -3
  9. package/definitions/game/game/entity/player/IPlayer.d.ts +2 -18
  10. package/definitions/game/game/inspection/InspectionTypeMap.d.ts +2 -2
  11. package/definitions/game/game/island/IIsland.d.ts +16 -0
  12. package/definitions/game/game/island/Island.d.ts +2 -5
  13. package/definitions/game/game/item/IItem.d.ts +7 -2
  14. package/definitions/game/game/temperature/TemperatureManager.d.ts +7 -0
  15. package/definitions/game/game/tile/ITerrain.d.ts +2 -1
  16. package/definitions/game/game/tile/Tile.d.ts +11 -3
  17. package/definitions/game/game/tile/events/IFire.d.ts +4 -5
  18. package/definitions/game/language/Dictionary.d.ts +2 -2
  19. package/definitions/game/language/DictionaryMap.d.ts +4 -4
  20. package/definitions/game/language/dictionary/Message.d.ts +317 -316
  21. package/definitions/game/renderer/IRenderer.d.ts +53 -53
  22. package/definitions/game/renderer/particle/ParticleRenderer1.d.ts +2 -1
  23. package/definitions/game/renderer/particle/ParticleRenderer2.d.ts +2 -1
  24. package/definitions/game/renderer/spriteBatch/SpriteBatch1.d.ts +1 -0
  25. package/definitions/game/renderer/spriteBatch/SpriteBatch2.d.ts +1 -0
  26. package/definitions/game/renderer/spriteBatch/SpriteBatchBase.d.ts +1 -0
  27. package/definitions/game/renderer/tile/TileLayer.d.ts +4 -0
  28. package/definitions/game/renderer/world/IWorldLayerRenderer.d.ts +0 -1
  29. package/definitions/game/renderer/world/World.d.ts +1 -1
  30. package/definitions/game/ui/old/IOldUi.d.ts +2 -1
  31. package/definitions/game/ui/screen/screens/game/component/TileInspectionsList.d.ts +1 -1
  32. package/definitions/game/utilities/collection/map/PriorityMap.d.ts +1 -2
  33. package/package.json +1 -1
@@ -43,6 +43,10 @@ type UndefinedFromVoid<V> = V extends void ? undefined : V;
43
43
  export interface IEventEmitter<H = any, E = any> {
44
44
  event: IEventEmitter<this, IEventEmitterEvents<H, E>>;
45
45
  emit<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): H;
46
+ /**
47
+ * Emit an event only to the subscribers of this emitter instance.
48
+ */
49
+ emitSelf<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): H;
46
50
  emitFirst<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): UndefinedFromVoid<ReturnOf<E[K]>> | undefined;
47
51
  emitFirstDefault<K extends keyof E, D>(event: K, generateDefault: () => D, ...args: ArgsOf<E[K]>): Exclude<ReturnOf<E[K]>, null | undefined> | D;
48
52
  emitCollect<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): Array<ReturnOf<E[K]>>;
@@ -75,6 +79,7 @@ declare class EventEmitter<H, E> implements IEventEmitter<H, E> {
75
79
  get event(): IEventEmitter<this, IEventEmitterEvents<H, E>>;
76
80
  constructor(host: H);
77
81
  raw(): IEventEmitter<H, E>;
82
+ emitSelf<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): H;
78
83
  emit<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): H;
79
84
  emitFirst<K extends keyof E>(event: K, ...args: ArgsOf<E[K]>): any;
80
85
  emitFirstDefault<K extends keyof E, D>(event: K, generateDefault: () => D, ...args: ArgsOf<E[K]>): any;
@@ -89,7 +94,7 @@ declare class EventEmitter<H, E> implements IEventEmitter<H, E> {
89
94
  until(promise: Promise<any>): IUntilSubscriber<H, E>;
90
95
  hasHandlersForEvent(...events: Array<keyof E>): boolean;
91
96
  private copyFrom;
92
- private handlersForEvent;
97
+ protected handlersForEvent<K extends keyof E>(event: K, ignoreClassSubscriptions?: true): (string | Handler<any, any>)[];
93
98
  }
94
99
  declare module EventEmitter {
95
100
  class Host<E> implements IEventEmitterHost<E> {
@@ -12,6 +12,7 @@ import type { SfxType } from "audio/IAudio";
12
12
  import type { IEventEmitter } from "event/EventEmitter";
13
13
  import Entity from "game/entity/Entity";
14
14
  import type { IEntityConstructorOptions, IEntityEvents, IMoveToOptions } from "game/entity/IEntity";
15
+ import { MoveFlag } from "game/entity/IEntity";
15
16
  import { DamageType, MoveType } from "game/entity/IEntity";
16
17
  import { MovingClientSide } from "game/entity/IHuman";
17
18
  import type { IMovementTime } from "game/IGame";
@@ -34,7 +35,7 @@ export interface IEntityMovableEvents extends IEntityEvents {
34
35
  /**
35
36
  * Called after moving.
36
37
  */
37
- postMove(fromTile: Tile, toTile: Tile): void;
38
+ postMove(fromTile: Tile, toTile: Tile, flags: MoveFlag): void;
38
39
  }
39
40
  /**
40
41
  * Entity class that allows movement
@@ -20,7 +20,7 @@ import { EquipType, RestCancelReason, SkillType } from "game/entity/IHuman";
20
20
  import type { IStat } from "game/entity/IStats";
21
21
  import { Stat } from "game/entity/IStats";
22
22
  import type { IMessageManager } from "game/entity/player/IMessageManager";
23
- import type { IMobCheck, IMovementIntent, IWalkPath } from "game/entity/player/IPlayer";
23
+ import type { IMovementIntent, IWalkPath } from "game/entity/player/IPlayer";
24
24
  import { PlayerState, TurnTypeFlag, WeightStatus } from "game/entity/player/IPlayer";
25
25
  import type { INoteManager } from "game/entity/player/note/NoteManager";
26
26
  import PlayerDefense from "game/entity/player/PlayerDefense";
@@ -30,7 +30,7 @@ import type { StatChangeTimerFactory } from "game/entity/StatFactory";
30
30
  import { StatChangeCurrentTimerStrategy } from "game/entity/StatFactory";
31
31
  import { FireType } from "game/IGame";
32
32
  import type { Quality } from "game/IObject";
33
- import type { IMoveToIslandOptions, IslandId } from "game/island/IIsland";
33
+ import type { IMobCheck, IMoveToIslandOptions, IslandId } from "game/island/IIsland";
34
34
  import type Island from "game/island/Island";
35
35
  import type { EquipEffectByType, EquipEffects, IContainer, IRanged, RecipeLevel } from "game/item/IItem";
36
36
  import { EquipEffect, ItemType, ItemTypeGroup } from "game/item/IItem";
@@ -249,7 +249,7 @@ export default abstract class Human<TypeType extends number = number> extends En
249
249
  unequip(item: Item, internal?: boolean, skipMessage?: boolean, skipRevertItem?: boolean): void;
250
250
  private updateOffHandState;
251
251
  unequipAll(): void;
252
- canJump(): boolean;
252
+ getJumpTile(): Tile | undefined;
253
253
  hasDelay(): boolean;
254
254
  addDelay(delay: number, replace?: boolean, addStaminaDelay?: boolean): void;
255
255
  /**
@@ -276,9 +276,20 @@ export interface IMoveToOptions {
276
276
  movementDelay?: Delay | number;
277
277
  animation?: MoveAnimation;
278
278
  onMoveCompletedParticles?: IRGB;
279
+ /**
280
+ * What caused the move?
281
+ */
282
+ flags?: MoveFlag;
279
283
  }
280
284
  export declare enum MoveAnimation {
281
285
  Normal = 0,
282
286
  Jump = 1
283
287
  }
288
+ export declare enum MoveFlag {
289
+ None = 0,
290
+ /**
291
+ * Skips damage due to movement
292
+ */
293
+ SkipEncumberedChecks = 1
294
+ }
284
295
  export {};
@@ -19,7 +19,7 @@ export declare const actionDescriptionsSlow: {
19
19
  75: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default<number>, void, import("./actions/ConsumeItem").IConsumeItemCanUse, [import("../../item/Item").default]>;
20
20
  78: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default<number>, void, import("game/entity/action/actions/AttachContainer").IAttachContainerCanUse, [import("../../item/Item").default]>;
21
21
  3: import("./Action").Action<[[import("game/entity/action/IAction").ActionArgument.ItemInventory, import("game/entity/action/IAction").ActionArgument.Undefined], [import("game/entity/action/IAction").ActionArgument.AttackType, import("game/entity/action/IAction").ActionArgument.Undefined], [import("game/entity/action/IAction").ActionArgument.ItemInventory, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default<number>, void, import("game/entity/action/actions/Attack").IAttackCanUse, [(import("../../item/Item").default | undefined)?, (import("../IEntity").AttackType | undefined)?, (import("../../item/Item").default | undefined)?]>;
22
- 28: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby, [import("game/entity/action/IAction").ActionArgument.Vector3, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default<number>, void, import("game/entity/action/actions/Build").IBuildCanUse, [import("../../item/Item").default, (import("../../../utilities/math/IVector").IVector3 | undefined)?]>;
22
+ 28: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby, [import("game/entity/action/IAction").ActionArgument.Tile, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default<number>, void, import("game/entity/action/actions/Build").IBuildCanUse, [import("../../item/Item").default, (import("../../tile/Tile").default | undefined)?]>;
23
23
  5: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default<number>, void, import("game/entity/action/actions/Butcher").IButcherCanUse, [import("../../item/Item").default]>;
24
24
  120: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default<number>, void, import("game/entity/action/actions/CageCreature").ICageCreature, [import("../../item/Item").default]>;
25
25
  16: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default<number>, void, import("game/entity/action/actions/Cast").ICastCanUse, [import("../../item/Item").default]>;
@@ -91,7 +91,7 @@ export declare const actionDescriptionsSlow: {
91
91
  54: import("./Action").Action<[], import("../Human").default<number>, void, import("game/entity/action/actions/PickUpAllItems").IPickUpAllItemsCanUse, []>;
92
92
  81: import("./Action").Action<[[import("game/entity/action/IAction").ActionArgument.ItemInventory, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default<number>, void, import("game/entity/action/actions/PickUpExcrement").IPickUpExcrementCanUse, [(import("../../item/Item").default | undefined)?]>;
93
93
  53: import("./Action").Action<[], import("../Human").default<number>, void, import("game/entity/action/IAction").IActionUsable, []>;
94
- 74: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby, [import("game/entity/action/IAction").ActionArgument.Vector3, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default<number>, void, import("game/entity/action/actions/Build").IBuildCanUse, [import("../../item/Item").default, (import("../../../utilities/math/IVector").IVector3 | undefined)?]>;
94
+ 74: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby, [import("game/entity/action/IAction").ActionArgument.Tile, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default<number>, void, import("game/entity/action/actions/Build").IBuildCanUse, [import("../../item/Item").default, (import("../../tile/Tile").default | undefined)?]>;
95
95
  25: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default<number>, void, import("game/entity/action/actions/Plant").IPlantCanUse, [import("../../item/Item").default]>;
96
96
  24: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default<number>, void, import("game/entity/action/actions/Pour").IPourCanUse, [import("../../item/Item").default]>;
97
97
  41: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default<number>, void, import("game/entity/action/actions/PourOnYourself").IPourOnYourselfCanUse, [import("../../item/Item").default]>;
@@ -18,5 +18,5 @@ export interface IBuildCanUse extends IActionUsable {
18
18
  tile: Tile;
19
19
  buildInfo: IItemBuild;
20
20
  }
21
- declare const _default: Action<[ActionArgument.ItemNearby, [ActionArgument.Vector3, ActionArgument.Undefined]], import("../../Human").default<number>, void, IBuildCanUse, [import("../../../item/Item").default, (import("../../../../utilities/math/IVector").IVector3 | undefined)?]>;
21
+ declare const _default: Action<[ActionArgument.ItemNearby, [ActionArgument.Tile, ActionArgument.Undefined]], import("../../Human").default<number>, void, IBuildCanUse, [import("../../../item/Item").default, (Tile | undefined)?]>;
22
22
  export default _default;
@@ -8,5 +8,5 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
- declare const _default: import("../Action").Action<[import("../IAction").ActionArgument.ItemNearby, [import("../IAction").ActionArgument.Vector3, import("../IAction").ActionArgument.Undefined]], import("../../Human").default<number>, void, import("game/entity/action/actions/Build").IBuildCanUse, [import("../../../item/Item").default, (import("../../../../utilities/math/IVector").IVector3 | undefined)?]>;
11
+ declare const _default: import("../Action").Action<[import("../IAction").ActionArgument.ItemNearby, [import("../IAction").ActionArgument.Tile, import("../IAction").ActionArgument.Undefined]], import("../../Human").default<number>, void, import("game/entity/action/actions/Build").IBuildCanUse, [import("../../../item/Item").default, (import("../../../tile/Tile").default | undefined)?]>;
12
12
  export default _default;
@@ -13,7 +13,7 @@ import type Human from "game/entity/Human";
13
13
  import type Item from "game/item/Item";
14
14
  import type DrawnMap from "game/mapping/DrawnMap";
15
15
  import type { ITreasure } from "game/mapping/DrawnMap";
16
- import type { IVector3 } from "utilities/math/IVector";
16
+ import type Tile from "game/tile/Tile";
17
17
  declare namespace TreasureGathering {
18
18
  interface IGatherable {
19
19
  map: DrawnMap;
@@ -21,7 +21,7 @@ declare namespace TreasureGathering {
21
21
  toolRange?: number;
22
22
  maxRange?: number;
23
23
  treasure: ITreasure;
24
- position: IVector3;
24
+ gatherPointTile: Tile;
25
25
  }
26
26
  enum GatherablesResult {
27
27
  Blocked = 0,
@@ -40,7 +40,7 @@ declare namespace TreasureGathering {
40
40
  }
41
41
  interface IGatherResult {
42
42
  result: Result;
43
- position?: IVector3;
43
+ tile?: Tile;
44
44
  treasure?: ITreasure;
45
45
  }
46
46
  function gather(action: IActionHandlerApi<Human>, itemRange: number, requireMap: boolean, tool?: Item, canGather?: ICanGather): IGatherResult;
@@ -10,10 +10,8 @@
10
10
  */
11
11
  import type { Events } from "event/EventEmitter";
12
12
  import type Doodad from "game/doodad/Doodad";
13
- import type Creature from "game/entity/creature/Creature";
14
13
  import type Human from "game/entity/Human";
15
14
  import type { HairColor, HairStyle, SkinColor } from "game/entity/IHuman";
16
- import type NPC from "game/entity/npc/NPC";
17
15
  import type { IMessage } from "game/entity/player/IMessageManager";
18
16
  import type MessageManager from "game/entity/player/MessageManager";
19
17
  import type { INote } from "game/entity/player/note/NoteManager";
@@ -21,7 +19,6 @@ import type Player from "game/entity/player/Player";
21
19
  import { ItemType } from "game/item/IItem";
22
20
  import type { Prompt } from "game/meta/prompt/IPrompt";
23
21
  import type { Milestone } from "game/milestones/IMilestone";
24
- import type Tile from "game/tile/Tile";
25
22
  import type InterruptChoice from "language/dictionary/InterruptChoice";
26
23
  import { Direction } from "utilities/math/Direction";
27
24
  import type { IVector2, IVector3 } from "utilities/math/IVector";
@@ -120,7 +117,8 @@ export declare enum TurnTypeFlag {
120
117
  /**
121
118
  * Indicates the turn is passing due to a movement
122
119
  */
123
- Movement = 8
120
+ Movement = 8,
121
+ DontTickAnim = 16
124
122
  }
125
123
  export interface IAttackHand {
126
124
  mainHand: number;
@@ -177,20 +175,6 @@ export interface IStatOld {
177
175
  regen: number;
178
176
  regenBase: number;
179
177
  }
180
- export interface IMobCheck extends IVector3 {
181
- tile: Tile;
182
- creature?: Creature;
183
- player?: Human;
184
- npc?: NPC;
185
- obstacle?: boolean;
186
- water?: boolean;
187
- freshWater?: boolean;
188
- shallowWater?: boolean;
189
- swampWater?: boolean;
190
- noTile?: boolean;
191
- waterTiles?: number;
192
- voidTiles?: number;
193
- }
194
178
  export declare const setupSpawnItems: ItemType[];
195
179
  export declare const setupWaterItems: ItemType[];
196
180
  export declare const setupToolItems: ItemType[];
@@ -29,7 +29,7 @@ import SkillInspection from "game/inspection/inspections/SkillInspection";
29
29
  import StatInspection from "game/inspection/inspections/StatInspection";
30
30
  import TileEventInspection from "game/inspection/inspections/TileEventInspection";
31
31
  import TileInspection from "game/inspection/inspections/TileInspection";
32
- import type { IVector3 } from "utilities/math/IVector";
32
+ import type Tile from "game/tile/Tile";
33
33
  declare const inspectionTypeMap: {
34
34
  12: typeof ActionInspection;
35
35
  14: typeof CorpseInspection;
@@ -56,7 +56,7 @@ declare const inspectionTypeMap: {
56
56
  };
57
57
  export type InspectionClass = Class<Inspection<any>> & {
58
58
  isWorldInspection?(inspectType: InspectType): boolean;
59
- getFromTile?(position: IVector3, context: InfoProviderContext, inspectType: InspectType): ArrayOr<Inspection<any>>;
59
+ getFromTile?(tile: Tile, context: InfoProviderContext, inspectType: InspectType): ArrayOr<Inspection<any>>;
60
60
  /**
61
61
  * Whether or not this inspection class can handle the given arguments.
62
62
  * @param args A list of arguments that an inspection can be provided
@@ -10,7 +10,9 @@
10
10
  */
11
11
  import type { BiomeType } from "game/biome/IBiome";
12
12
  import type Doodad from "game/doodad/Doodad";
13
+ import type Creature from "game/entity/creature/Creature";
13
14
  import type Human from "game/entity/Human";
15
+ import type NPC from "game/entity/npc/NPC";
14
16
  import type { IIslandTemplate, TickFlag, TileUpdateType } from "game/IGame";
15
17
  import type { MultiplayerLoadingDescription } from "game/meta/Loading";
16
18
  import type { TerrainType } from "game/tile/ITerrain";
@@ -157,3 +159,17 @@ export interface IIslandPort {
157
159
  name: string | ISerializedTranslation;
158
160
  position: IVector3;
159
161
  }
162
+ export interface IMobCheck extends IVector3 {
163
+ tile: Tile;
164
+ creature?: Creature;
165
+ player?: Human;
166
+ npc?: NPC;
167
+ obstacle?: boolean;
168
+ water?: boolean;
169
+ freshWater?: boolean;
170
+ shallowWater?: boolean;
171
+ swampWater?: boolean;
172
+ noTile?: boolean;
173
+ waterTiles?: number;
174
+ voidTiles?: number;
175
+ }
@@ -25,7 +25,7 @@ import type { Game } from "game/Game";
25
25
  import type { IGameOld } from "game/IGame";
26
26
  import { TickFlag, TileUpdateType } from "game/IGame";
27
27
  import { Quality } from "game/IObject";
28
- import type { IIslandEvents, IIslandLoadOptions, IIslandPort, ISeeds, IslandId, IWaterContamination, IWaterFill, IWell } from "game/island/IIsland";
28
+ import type { IIslandEvents, IIslandLoadOptions, IIslandPort, IMobCheck, ISeeds, IslandId, IWaterContamination, IWaterFill, IWell } from "game/island/IIsland";
29
29
  import { WaterType } from "game/island/IIsland";
30
30
  import type { ILiquidGather } from "game/item/IItem";
31
31
  import type { IRequirementInfo } from "game/item/IItemManager";
@@ -172,10 +172,6 @@ export default class Island extends EventEmitter.Host<IIslandEvents> implements
172
172
  * @returns The default terrain type with a fallback to dirt (which shouldn't happen without mods or bugs).
173
173
  */
174
174
  getDefaultTerrainType(tile: Tile): TerrainType;
175
- /**
176
- * Ensures a point is valid and is not the edge of the map
177
- */
178
- ensureValidPoint<T extends IVector2>(point?: T): T | undefined;
179
175
  getDirectionFromMovement(x: number, y: number): Direction.East | Direction.North | Direction.West | Direction.South;
180
176
  getTileFromPoint(point: IVector3): Tile;
181
177
  getTile(x: number, y: number, z: number, disableLog?: boolean): Tile;
@@ -216,6 +212,7 @@ export default class Island extends EventEmitter.Host<IIslandEvents> implements
216
212
  */
217
213
  calculateTileLightLevel(tile: Tile): number;
218
214
  getLightSourceAt(x: number, y: number, z: number): number;
215
+ checkForTargetInRange(tile: Tile, direction: Direction.Cardinal, range: number, includePlayers?: boolean): IMobCheck;
219
216
  fireBreath(x: number, y: number, z: number, facingDirection: Direction, itemName?: Translation, player?: boolean): void;
220
217
  coolFires(requirements: IRequirementInfo, human: Human): void;
221
218
  /**
@@ -73,11 +73,16 @@ export interface IContainable {
73
73
  containerType?: ContainerType;
74
74
  [SYMBOL_CONTAINER_CACHED_REFERENCE]?: ContainerReference;
75
75
  }
76
- export interface IContainer extends IContainable {
77
- containedItems: Item[];
76
+ interface IBaseContainer extends IContainable {
78
77
  transientItems?: Item[];
79
78
  itemOrders?: number[];
80
79
  }
80
+ export interface IContainer extends IBaseContainer {
81
+ containedItems: Item[];
82
+ }
83
+ export interface IMaybeContainer extends IBaseContainer {
84
+ containedItems?: Item[];
85
+ }
81
86
  export interface IItemDisassembleResult {
82
87
  items: IItemDisassembly[];
83
88
  itemsBroken: number;
@@ -33,7 +33,14 @@ import Vector2 from "utilities/math/Vector2";
33
33
  export declare const TEMPERATURE_BOUNDARY_MIN_VEC2: Vector2;
34
34
  export declare const TEMPERATURE_INVALID = 255;
35
35
  export interface ITemperatureManagerEvents {
36
+ /**
37
+ * Note: This event can only be listened for by subscribing directly to `temperatureManager.event`
38
+ */
36
39
  updateProducedTile(tile: Tile, invalidateRange?: number): any;
40
+ /**
41
+ * Note: This event can only be listened for by subscribing directly to `temperatureManager.event`
42
+ */
43
+ recalculate(x: number, y: number, z: number, type: TempType): any;
37
44
  }
38
45
  export default class TemperatureManager extends EventEmitter.Host<ITemperatureManagerEvents> implements IPreSerializeCallback {
39
46
  private readonly island;
@@ -16,7 +16,7 @@ import type { SkillType } from "game/entity/IHuman";
16
16
  import type { IDecayTemperatureRange } from "game/IGame";
17
17
  import type { Quality } from "game/IObject";
18
18
  import type { WaterType } from "game/island/IIsland";
19
- import type { IContainer, ItemType } from "game/item/IItem";
19
+ import type { IContainer, IMaybeContainer, ItemType } from "game/item/IItem";
20
20
  import type Item from "game/item/Item";
21
21
  import type MagicalPropertyManager from "game/magic/MagicalPropertyManager";
22
22
  import type { MapTile } from "game/mapping/IMapTile";
@@ -146,6 +146,7 @@ export interface ITileOld {
146
146
  event?: TileEvent[];
147
147
  }
148
148
  export type ITileContainer = IContainer & IVector3;
149
+ export type IMaybeTileContainer = IMaybeContainer & IVector3;
149
150
  export interface ITileData {
150
151
  type: TerrainType;
151
152
  minDur?: number;
@@ -18,9 +18,8 @@ import type { IMessageManager } from "game/entity/player/IMessageManager";
18
18
  import { FireType } from "game/IGame";
19
19
  import { Quality } from "game/IObject";
20
20
  import type { IslandId } from "game/island/IIsland";
21
- import type { IContainer } from "game/item/IItem";
22
21
  import type Item from "game/item/Item";
23
- import type { IOverlayInfo, ITerrainDescription, ITileContainer, ITileData } from "game/tile/ITerrain";
22
+ import type { IMaybeTileContainer, IOverlayInfo, ITerrainDescription, ITileContainer, ITileData } from "game/tile/ITerrain";
24
23
  import { TerrainType } from "game/tile/ITerrain";
25
24
  import type TileEvent from "game/tile/TileEvent";
26
25
  import { WorldZ } from "game/WorldZ";
@@ -103,10 +102,19 @@ export default class Tile implements IVector4, Partial<ITileContainer>, IFieldOf
103
102
  set doodadAnimationDisabled(value: boolean);
104
103
  get variation(): number;
105
104
  get isMapEdge(): boolean;
105
+ /**
106
+ * Check if this Tile containers some items
107
+ */
108
+ get hasTileContainer(): boolean;
106
109
  /**
107
110
  * Gets/creates tile container
108
111
  */
109
- get tileContainer(): IContainer;
112
+ get tileContainer(): ITileContainer;
113
+ /**
114
+ * Gets a tile container.
115
+ * It will not create one when called.
116
+ */
117
+ get maybeTileContainer(): IMaybeTileContainer;
110
118
  /**
111
119
  * Checks for:
112
120
  * Passable
@@ -11,10 +11,9 @@
11
11
  import type { ILootItem } from "game/ILoot";
12
12
  import type { Quality } from "game/IObject";
13
13
  import type Island from "game/island/Island";
14
- import type { IContainer } from "game/item/IItem";
15
14
  import { ItemType } from "game/item/IItem";
16
15
  import type Item from "game/item/Item";
17
- import type { ITileContainer } from "game/tile/ITerrain";
16
+ import type Tile from "game/tile/Tile";
18
17
  import type TileEvent from "game/tile/TileEvent";
19
18
  export declare enum FireStage {
20
19
  Extinguished = 0,
@@ -33,7 +32,7 @@ export declare module FireStage {
33
32
  function getTemperature(stage: FireStage, min: number, max: number): number;
34
33
  }
35
34
  export declare module IFire {
36
- function dissassemblyBurn(island: Island, item: Item, container: ITileContainer, disassembly: boolean): Item[];
37
- function harvestGatherBurn(step: number, resources: ILootItem[] | undefined, container: IContainer, quality: Quality | undefined, tileEvent: TileEvent): void;
38
- function burnsLike(burnsLikeItem: ItemType, tileEvent: TileEvent, tileContainer: IContainer, quality: Quality | undefined): Item[];
35
+ function dissassemblyBurn(island: Island, item: Item, tile: Tile, disassembly: boolean): Item[];
36
+ function harvestGatherBurn(step: number, resources: ILootItem[] | undefined, tile: Tile, quality: Quality | undefined, tileEvent: TileEvent): void;
37
+ function burnsLike(burnsLikeItem: ItemType, tileEvent: TileEvent, tile: Tile, quality: Quality | undefined): Item[];
39
38
  }
@@ -22,8 +22,8 @@ declare enum Dictionary {
22
22
  Challenge = 10,
23
23
  ChangelogChangeType = 11,
24
24
  CharacterSort = 12,
25
- CombatStrength = 13,
26
- CombatDangerLevel = 14,
25
+ CombatDangerLevel = 13,
26
+ CombatStrength = 14,
27
27
  Command = 15,
28
28
  Corpse = 16,
29
29
  CraftEfficacy = 17,
@@ -100,8 +100,8 @@ declare const dictionaryMap: {
100
100
  10: typeof Challenge;
101
101
  11: typeof ChangeType;
102
102
  12: typeof CharacterSort;
103
- 13: typeof CombatStrength;
104
- 14: typeof CombatDangerLevel;
103
+ 13: typeof CombatDangerLevel;
104
+ 14: typeof CombatStrength;
105
105
  15: typeof Command;
106
106
  16: typeof CreatureType;
107
107
  17: typeof CraftEfficacy;
@@ -209,8 +209,8 @@ export declare const strictDictionaries: {
209
209
  10: typeof Challenge;
210
210
  11: typeof ChangeType;
211
211
  12: typeof CharacterSort;
212
- 13: typeof CombatStrength;
213
- 14: typeof CombatDangerLevel;
212
+ 13: typeof CombatDangerLevel;
213
+ 14: typeof CombatStrength;
214
214
  15: typeof Command;
215
215
  16: typeof CreatureType;
216
216
  17: typeof CraftEfficacy;