@wayward/types 2.12.0-beta.dev.20220907.9 → 2.12.0-beta.dev.20220910.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 (59) hide show
  1. package/definitions/game/game/Game.d.ts +2 -2
  2. package/definitions/game/game/IObject.d.ts +2 -2
  3. package/definitions/game/game/doodad/Doodad.d.ts +2 -2
  4. package/definitions/game/game/entity/Entity.d.ts +3 -0
  5. package/definitions/game/game/entity/Human.d.ts +2 -1
  6. package/definitions/game/game/entity/IHuman.d.ts +7 -1
  7. package/definitions/game/game/entity/action/ActionsRegistration.d.ts +1 -1
  8. package/definitions/game/game/entity/action/actions/Equip.d.ts +1 -1
  9. package/definitions/game/game/entity/action/usable/UsableAction.d.ts +9 -0
  10. package/definitions/game/game/entity/action/usable/UsableActionType.d.ts +1 -1
  11. package/definitions/game/game/entity/action/usable/actions/UsableActionsWorld.d.ts +1 -1
  12. package/definitions/game/game/entity/creature/Creature.d.ts +1 -2
  13. package/definitions/game/game/entity/npc/NPC.d.ts +1 -5
  14. package/definitions/game/game/entity/player/IPlayer.d.ts +0 -6
  15. package/definitions/game/game/entity/player/Player.d.ts +0 -2
  16. package/definitions/game/game/inspection/IInspection.d.ts +11 -11
  17. package/definitions/game/game/inspection/InfoProvider.d.ts +1 -1
  18. package/definitions/game/game/inspection/Inspection.d.ts +1 -2
  19. package/definitions/game/game/inspection/InspectionTypeMap.d.ts +11 -11
  20. package/definitions/game/game/inspection/InspectionsHandler.d.ts +2 -2
  21. package/definitions/game/game/inspection/infoProviders/item/ItemDetails.d.ts +1 -1
  22. package/definitions/game/game/inspection/infoProviders/stat/AttackInfo.d.ts +1 -1
  23. package/definitions/game/game/inspection/inspections/ActionInspection.d.ts +1 -1
  24. package/definitions/game/game/inspection/inspections/CorpseInspection.d.ts +1 -1
  25. package/definitions/game/game/inspection/inspections/EquipSlotInspection.d.ts +1 -1
  26. package/definitions/game/game/inspection/inspections/IslandInspection.d.ts +2 -1
  27. package/definitions/game/game/island/Island.d.ts +1 -1
  28. package/definitions/game/game/item/IItem.d.ts +1 -1
  29. package/definitions/game/game/item/IItemManager.d.ts +7 -0
  30. package/definitions/game/game/item/Item.d.ts +8 -4
  31. package/definitions/game/game/item/ItemManager.d.ts +4 -3
  32. package/definitions/game/game/reference/IReferenceManager.d.ts +48 -0
  33. package/definitions/game/game/reference/ReferenceManager.d.ts +3 -38
  34. package/definitions/game/language/ITranslation.d.ts +1 -1
  35. package/definitions/game/language/dictionary/UiTranslation.d.ts +753 -755
  36. package/definitions/game/language/impl/TranslationImpl.d.ts +1 -1
  37. package/definitions/game/multiplayer/packets/HumanTargetedClientPacket.d.ts +18 -0
  38. package/definitions/game/multiplayer/packets/client/{SetPlayerZPacket.d.ts → SetHumanZPacket.d.ts} +2 -2
  39. package/definitions/game/renderer/Renderer.d.ts +6 -0
  40. package/definitions/game/renderer/Renderers.d.ts +4 -0
  41. package/definitions/game/steamworks/Steamworks.d.ts +0 -1
  42. package/definitions/game/ui/component/dropdown/PlayerDropdown.d.ts +1 -1
  43. package/definitions/game/ui/screen/screens/game/InspectionHandlers.d.ts +1 -1
  44. package/definitions/game/ui/screen/screens/game/ReferenceIconRenderer.d.ts +2 -1
  45. package/definitions/game/ui/screen/screens/game/ReferenceTooltipHandler.d.ts +1 -1
  46. package/definitions/game/ui/screen/screens/game/component/Dialog.d.ts +2 -1
  47. package/definitions/game/ui/screen/screens/game/component/Item.d.ts +18 -1
  48. package/definitions/game/ui/screen/screens/game/dialog/BookDialog.d.ts +1 -1
  49. package/definitions/game/ui/screen/screens/game/dialog/EquipmentDialog.d.ts +1 -1
  50. package/definitions/game/ui/screen/screens/game/dialog/InspectDialog.d.ts +1 -1
  51. package/definitions/game/ui/screen/screens/game/static/actions/ActionBarBindableManager.d.ts +4 -1
  52. package/definitions/game/ui/screen/screens/game/static/actions/IActionBar.d.ts +1 -2
  53. package/definitions/game/ui/screen/screens/game/static/menubar/MenuBarButton.d.ts +2 -1
  54. package/definitions/game/ui/screen/screens/game/static/stats/IStatDisplayDescription.d.ts +1 -1
  55. package/definitions/game/utilities/Version.d.ts +1 -1
  56. package/definitions/game/utilities/math/Bezier.d.ts +27 -0
  57. package/definitions/game/utilities/math/Math2.d.ts +14 -0
  58. package/definitions/game/utilities/string/Interpolator.d.ts +1 -1
  59. package/package.json +1 -1
@@ -22,6 +22,7 @@ import { PauseSource, SaveType, TickFlag, TurnMode } from "game/IGame";
22
22
  import type Island from "game/island/Island";
23
23
  import IslandManager from "game/island/IslandManager";
24
24
  import type { MultiplayerLoadingDescription } from "game/meta/Loading";
25
+ import SaveLoad from "game/meta/SaveLoad";
25
26
  import type { Milestone } from "game/milestones/IMilestone";
26
27
  import type { IGameOptions } from "game/options/IGameOptions";
27
28
  import { GameMode } from "game/options/IGameOptions";
@@ -31,7 +32,6 @@ import type MilestoneModifier from "game/options/modifiers/milestone/MilestoneMo
31
32
  import ReferenceManager from "game/reference/ReferenceManager";
32
33
  import TimeManager from "game/time/TimeManager";
33
34
  import VotingManager from "game/VotingManager";
34
- import { RenderSource } from "renderer/IRenderer";
35
35
  import type ITextureDebugRenderer from "renderer/ITextureDebugRenderer";
36
36
  import type WebGlContext from "renderer/WebGlContext";
37
37
  import ReplayManager from "replay/ReplayManager";
@@ -86,6 +86,7 @@ export declare class Game extends EventEmitter.Host<IGameEvents> {
86
86
  private gameOptionsCached?;
87
87
  private synchronizeStateId;
88
88
  protected stringTokenizer: StringTokenizer | undefined;
89
+ readonly saveLoad: typeof SaveLoad;
89
90
  toString(): string;
90
91
  get isPaused(): boolean;
91
92
  getPlayingHumans(includeGhosts?: boolean, includeConnecting?: boolean, includeServer?: boolean): Human[];
@@ -134,7 +135,6 @@ export declare class Game extends EventEmitter.Host<IGameEvents> {
134
135
  */
135
136
  passTurn(human: Human, turnType?: TurnTypeFlag): void;
136
137
  tickRealtime(): void;
137
- updateView(source: RenderSource, updateFov?: boolean, computeSpritesNow?: boolean): void;
138
138
  updateTablesAndWeight(): void;
139
139
  /**
140
140
  * Gets the largest damage type weaknesses of a human or creature based on a type and damage value
@@ -39,8 +39,8 @@ export interface IHasImagePath {
39
39
  }
40
40
  export interface IObjectOptions {
41
41
  decay?: number;
42
- minDur?: number;
43
- maxDur?: number;
42
+ durability?: number;
43
+ durabilityMax?: number;
44
44
  quality?: Quality;
45
45
  }
46
46
  export declare enum Quality {
@@ -85,8 +85,8 @@ export default class Doodad extends EventEmitter.Host<IDoodadEvents> implements
85
85
  id: number;
86
86
  referenceId?: number;
87
87
  itemOrders?: number[];
88
- maxDur: number;
89
- minDur: number;
88
+ durabilityMax: number;
89
+ durability: number;
90
90
  orientation?: DoorOrientation | Direction.Cardinal;
91
91
  crafterIdentifier?: string;
92
92
  builderIdentifier?: string;
@@ -133,6 +133,9 @@ export default abstract class Entity extends EventEmitter.Host<IEntityEvents> im
133
133
  protected setMoving(delay: Delay, fromX: number, fromY: number, toZ?: number): void;
134
134
  animateAttack(damageType: DamageType[] | undefined): void;
135
135
  getMovementPoint(timeStamp: number): IVector2;
136
+ /**
137
+ * Gets movement progress and moves the state machine forward when the movement is completed
138
+ */
136
139
  getMovementProgress(timeStamp: number): number;
137
140
  protected onMovementCompleted(): void;
138
141
  getMoveType(): MoveType;
@@ -202,7 +202,7 @@ export default abstract class Human extends Entity implements IHasInsulation {
202
202
  /**
203
203
  * @param effects If true, adds a delay to the player, clears any particles, and updates the view. (Default: true)
204
204
  */
205
- setZ(z: number, effects?: boolean, updateFlowField?: boolean): void;
205
+ setZ(z: number, allowCancelation?: boolean, effects?: boolean, updateFlowField?: boolean): boolean;
206
206
  getMovementIntent(): IMovementIntent;
207
207
  updateMovementIntent(movementIntent: IMovementIntent): boolean;
208
208
  hasWalkPath(): boolean;
@@ -307,6 +307,7 @@ export default abstract class Human extends Entity implements IHasInsulation {
307
307
  */
308
308
  protected statGain(stat: Stat, bypass: boolean): void;
309
309
  protected calculateStats(): void;
310
+ kill(): void;
310
311
  protected resetDefense(skipStatChangedEvent?: boolean): void;
311
312
  protected swimAndSootheCheck(): void;
312
313
  /**
@@ -239,6 +239,12 @@ export interface IHumanEvents extends Events<Entity>, ISkillEvents {
239
239
  * @param options Load island options
240
240
  */
241
241
  loadedOnIsland(island: Island, options?: Partial<ILoadOnIslandOptions>): any;
242
+ /**
243
+ * Called when the human will be killed. If any handlers return `false` to stop the human from dying,
244
+ * no further handlers will be called.
245
+ * @return `false` to stop the human from dying
246
+ */
247
+ shouldDie(): false | void;
242
248
  }
243
249
  export interface IHairstyleDescription extends IModdable, IHasImagePath {
244
250
  name: string;
@@ -271,7 +277,7 @@ export declare enum EquipType {
271
277
  Legs = 2,
272
278
  Chest = 3,
273
279
  Head = 4,
274
- Belt = 5,
280
+ Waist = 5,
275
281
  Feet = 6,
276
282
  Neck = 7,
277
283
  Hands = 8,
@@ -40,7 +40,7 @@ export declare const actionDescriptionsSlow: {
40
40
  7: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby], import("../Human").default, void, import("./actions/ConsumeItem").IConsumeItemCanUse, [import("../../item/Item").default]>;
41
41
  83: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby, [import("game/entity/action/IAction").ActionArgument.ItemNearby, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default, void, import("game/entity/action/actions/Enchant").IEnchantCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?]>;
42
42
  93: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemInventory, [import("game/entity/action/IAction").ActionArgument.ItemInventory, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default, void, import("game/entity/action/actions/Enhance").IEnhanceCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?]>;
43
- 63: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby, import("game/entity/action/IAction").ActionArgument.EquipType, [import("game/entity/action/IAction").ActionArgument.Boolean, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default, boolean, import("game/entity/action/IAction").IActionUsable, [import("../../item/Item").default, import("../IHuman").EquipType, (boolean | undefined)?]>;
43
+ 63: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemNearby, import("game/entity/action/IAction").ActionArgument.EquipType], import("../Human").default, boolean, import("game/entity/action/IAction").IActionUsable, [import("../../item/Item").default, import("../IHuman").EquipType]>;
44
44
  38: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default, void, import("game/entity/action/IAction").IActionUsable, [import("../../item/Item").default]>;
45
45
  110: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemInventory, [import("game/entity/action/IAction").ActionArgument.ItemInventory, import("game/entity/action/IAction").ActionArgument.Undefined]], import("../Human").default, void, import("game/entity/action/actions/Exude").IExudeCanUse, [import("../../item/Item").default, (import("../../item/Item").default | undefined)?]>;
46
46
  36: import("./Action").Action<[import("game/entity/action/IAction").ActionArgument.ItemInventory], import("../Human").default, void, import("game/entity/action/IAction").IActionUsable, [import("../../item/Item").default]>;
@@ -11,5 +11,5 @@
11
11
  import { Action } from "game/entity/action/Action";
12
12
  import { ActionArgument } from "game/entity/action/IAction";
13
13
  import { EquipType } from "game/entity/IHuman";
14
- declare const _default: Action<[ActionArgument.ItemNearby, ActionArgument.EquipType, [ActionArgument.Boolean, ActionArgument.Undefined]], import("../../Human").default, boolean, import("game/entity/action/IAction").IActionUsable, [import("../../../item/Item").default, EquipType, (boolean | undefined)?]>;
14
+ declare const _default: Action<[ActionArgument.ItemNearby, ActionArgument.EquipType], import("../../Human").default, boolean, import("game/entity/action/IAction").IActionUsable, [import("../../../item/Item").default, EquipType]>;
15
15
  export default _default;
@@ -16,7 +16,9 @@ import { UsableActionType } from "game/entity/action/usable/UsableActionType";
16
16
  import type Creature from "game/entity/creature/Creature";
17
17
  import type NPC from "game/entity/npc/NPC";
18
18
  import type Player from "game/entity/player/Player";
19
+ import type { InspectType } from "game/inspection/IInspection";
19
20
  import type { IIcon } from "game/inspection/InfoProvider";
21
+ import type Inspection from "game/inspection/Inspection";
20
22
  import type { ItemType } from "game/item/IItem";
21
23
  import type { IGetBestItemsOptions } from "game/item/IItemManager";
22
24
  import type Item from "game/item/Item";
@@ -27,6 +29,7 @@ import Translation from "language/Translation";
27
29
  import type Bindable from "ui/input/Bindable";
28
30
  import type { ItemDetailIconLocation } from "ui/screen/screens/game/component/Item";
29
31
  import type { HighlightSelector } from "ui/util/IHighlight";
32
+ import type HashSet from "utilities/collection/set/HashSet";
30
33
  export interface IUsableActionRequirement<TYPE> {
31
34
  allowNone?: true;
32
35
  validate?(player: Player, value: TYPE): boolean;
@@ -160,6 +163,8 @@ export interface IUsableActionDefinitionBase<REQUIREMENTS extends IUsableActionR
160
163
  * Allows for a dynamically generated bindable based on what this action is using — item, doodad, etc.
161
164
  */
162
165
  bindable?: Bindable | ((using: IUsableActionUsing<REQUIREMENTS>) => Bindable | undefined);
166
+ inspectTypes?: InspectType[];
167
+ inspect?(type: InspectType, using: IUsableActionPossibleUsing): HashSet<Inspection<any>> | Inspection<any> | undefined;
163
168
  /**
164
169
  * The contexts this action appears in.
165
170
  * - "Always" means whenever an action of this type is shown, it will be. For example, the "item actions" menu.
@@ -209,6 +214,10 @@ export interface IUsableActionDefinitionBase<REQUIREMENTS extends IUsableActionR
209
214
  * Marks this usable action as only executable client-side. This disables support for "use when moving" in action slots.
210
215
  */
211
216
  clientSide?: true;
217
+ /**
218
+ * Marks this usable action as, when slotted in the action bar on an item, the item should be ignored and instead the type should be used.
219
+ */
220
+ onlySlotItemType?: true;
212
221
  }
213
222
  export interface IUsableActionDefinitionSubmenu<REQUIREMENTS extends IUsableActionRequirements = IUsableActionRequirements> extends IUsableActionDefinitionBase<REQUIREMENTS> {
214
223
  submenu(registrar: UsableActionRegistrar, using: IUsableActionUsing<REQUIREMENTS>): UsableActionRegistrar | void;
@@ -59,7 +59,7 @@ export declare enum UsableActionType {
59
59
  EquipLegs = 100038,
60
60
  EquipChest = 100039,
61
61
  EquipHead = 100040,
62
- EquipBelt = 100041,
62
+ EquipWaist = 100041,
63
63
  EquipFeet = 100042,
64
64
  EquipNeck = 100043,
65
65
  EquipHands = 100044,
@@ -17,7 +17,7 @@ export declare enum WorldContextMenuClasses {
17
17
  OptionText = "world-context-menu-option-text"
18
18
  }
19
19
  export declare namespace WorldContextMenuClasses {
20
- const OptionSpecific: (enumValue: UsableActionType) => "world-context-menu-option-actions" | "world-context-menu-option-use" | "world-context-menu-option-move" | "world-context-menu-option-quickslotremove" | "world-context-menu-option-quickslotadd" | "world-context-menu-option-quickslotaddtofree" | "world-context-menu-option-quickslotaddtoslot" | "world-context-menu-option-movetoinventory" | "world-context-menu-option-dropmenu" | "world-context-menu-option-dropall" | "world-context-menu-option-dropallofsamequality" | "world-context-menu-option-repairwithitem" | "world-context-menu-option-reinforcewithitem" | "world-context-menu-option-enhancewithitem" | "world-context-menu-option-enchantwithitem" | "world-context-menu-option-transmogrifywithitem" | "world-context-menu-option-upgradewithitem" | "world-context-menu-option-alterwithitem" | "world-context-menu-option-refinewithitem" | "world-context-menu-option-preservewithitem" | "world-context-menu-option-addfuelwithitem" | "world-context-menu-option-ignitewithitem" | "world-context-menu-option-absorbwithitem" | "world-context-menu-option-exudewithitem" | "world-context-menu-option-movetoinventorymenu" | "world-context-menu-option-movetoactivecontainermenu" | "world-context-menu-option-movetofacingcontainermenu" | "world-context-menu-option-moveall" | "world-context-menu-option-moveallofsamequality" | "world-context-menu-option-tradetradersell" | "world-context-menu-option-tradetraderbuy" | "world-context-menu-option-itemactions" | "world-context-menu-option-gatherwithhands" | "world-context-menu-option-harvestwithhands" | "world-context-menu-option-digwithhands" | "world-context-menu-option-tillwithhands" | "world-context-menu-option-pickupexcrementwithhands" | "world-context-menu-option-equipheld" | "world-context-menu-option-equiplegs" | "world-context-menu-option-equipchest" | "world-context-menu-option-equiphead" | "world-context-menu-option-equipbelt" | "world-context-menu-option-equipfeet" | "world-context-menu-option-equipneck" | "world-context-menu-option-equiphands" | "world-context-menu-option-equipback" | "world-context-menu-option-equipmainhand" | "world-context-menu-option-equipoffhand";
20
+ const OptionSpecific: (enumValue: UsableActionType) => "world-context-menu-option-actions" | "world-context-menu-option-use" | "world-context-menu-option-move" | "world-context-menu-option-digwithhands" | "world-context-menu-option-dropall" | "world-context-menu-option-dropallofsamequality" | "world-context-menu-option-gatherwithhands" | "world-context-menu-option-harvestwithhands" | "world-context-menu-option-movetoinventory" | "world-context-menu-option-pickupexcrementwithhands" | "world-context-menu-option-tillwithhands" | "world-context-menu-option-quickslotremove" | "world-context-menu-option-quickslotadd" | "world-context-menu-option-quickslotaddtofree" | "world-context-menu-option-quickslotaddtoslot" | "world-context-menu-option-dropmenu" | "world-context-menu-option-repairwithitem" | "world-context-menu-option-reinforcewithitem" | "world-context-menu-option-enhancewithitem" | "world-context-menu-option-enchantwithitem" | "world-context-menu-option-transmogrifywithitem" | "world-context-menu-option-upgradewithitem" | "world-context-menu-option-alterwithitem" | "world-context-menu-option-refinewithitem" | "world-context-menu-option-preservewithitem" | "world-context-menu-option-addfuelwithitem" | "world-context-menu-option-ignitewithitem" | "world-context-menu-option-absorbwithitem" | "world-context-menu-option-exudewithitem" | "world-context-menu-option-movetoinventorymenu" | "world-context-menu-option-movetoactivecontainermenu" | "world-context-menu-option-movetofacingcontainermenu" | "world-context-menu-option-moveall" | "world-context-menu-option-moveallofsamequality" | "world-context-menu-option-tradetradersell" | "world-context-menu-option-tradetraderbuy" | "world-context-menu-option-itemactions" | "world-context-menu-option-equipheld" | "world-context-menu-option-equiplegs" | "world-context-menu-option-equipchest" | "world-context-menu-option-equiphead" | "world-context-menu-option-equipwaist" | "world-context-menu-option-equipfeet" | "world-context-menu-option-equipneck" | "world-context-menu-option-equiphands" | "world-context-menu-option-equipback" | "world-context-menu-option-equipmainhand" | "world-context-menu-option-equipoffhand";
21
21
  }
22
22
  export declare const UsableActionsWorldActions: UsableActionGenerator<[]>;
23
23
  export declare const UsableActionsWorldItemActions: UsableActionGenerator<[]>;
@@ -17,8 +17,7 @@ import type Human from "game/entity/Human";
17
17
  import type { IStatChangeInfo } from "game/entity/IEntity";
18
18
  import { AiType, EntityType, MoveType, StatusType } from "game/entity/IEntity";
19
19
  import type { IStat } from "game/entity/IStats";
20
- import { CreationId } from "game/IGame";
21
- import { TileUpdateType } from "game/IGame";
20
+ import { CreationId, TileUpdateType } from "game/IGame";
22
21
  import type { IObject } from "game/IObject";
23
22
  import type Island from "game/island/Island";
24
23
  import type Item from "game/item/Item";
@@ -37,11 +37,6 @@ export interface INPCEvents extends Events<Human> {
37
37
  * @returns True if the npc can move, false if the npc cannot move, or undefined to use the default logic
38
38
  */
39
39
  canNPCMove(tile: ITile, x: number, y: number, z: number, moveType: MoveType): boolean | undefined;
40
- /**
41
- * Called when an npc is killed
42
- * @returns False to stop the npc from dying or undefined to use the default logic
43
- */
44
- die?(): boolean | undefined;
45
40
  }
46
41
  export default abstract class NPC extends Human {
47
42
  protected static registrarId: number;
@@ -132,6 +127,7 @@ export default abstract class NPC extends Human {
132
127
  protected attack(): boolean;
133
128
  protected move(): boolean;
134
129
  protected autoScaleStats(): void;
130
+ protected changeZ(toZ: number, fromZ: number): boolean | void | undefined;
135
131
  protected preMove(fromX: number, fromY: number, fromZ: number, fromTile: ITile, toX: number, toY: number, toZ: number, toTile: ITile, isMoving: boolean): boolean | void | undefined;
136
132
  protected postMove(): void;
137
133
  protected checkMove(moveType: MoveType, tileX: number, tileY: number, tileZ: number): 0 | -1 | -2 | -3 | -4 | -5;
@@ -43,12 +43,6 @@ export interface IPlayerEvents extends Events<Human> {
43
43
  * @param choice The selected choice
44
44
  */
45
45
  promptResponse(interrupt: Prompt, choice: boolean | InterruptChoice): any;
46
- /**
47
- * Called when the player will be killed. If any handlers return `false` to stop the player from dying,
48
- * no further handlers will be called.
49
- * @return `false` to stop the player from dying
50
- */
51
- shouldDie(): false | void;
52
46
  /**
53
47
  * Called when the player is killed.
54
48
  * @param showingGameEndScreen True if the game end screen will be shown
@@ -67,7 +67,6 @@ export default class Player extends Human implements IUnserializedCallback {
67
67
  setup(spawnPoint: IVector3): void;
68
68
  onNoInput(): void;
69
69
  updateTables(source: string, options?: Partial<{
70
- allowDeferingUpdate: boolean;
71
70
  allowCaching: boolean;
72
71
  }>): void;
73
72
  private updateCraftTable;
@@ -93,7 +92,6 @@ export default class Player extends Human implements IUnserializedCallback {
93
92
  */
94
93
  isExploredClientSide(x: number, y: number, z: number): boolean;
95
94
  protected onSkillGain(skill: SkillType, mod: number): void;
96
- protected calculateStats(): void;
97
95
  private canWriteInHours;
98
96
  private canWriteNote;
99
97
  private onWriteNote;
@@ -18,17 +18,17 @@ export declare enum InspectType {
18
18
  Ghost = 6,
19
19
  EquipSlot = 7,
20
20
  Item = 8,
21
- Action = 9,
22
- Items = 10,
23
- Corpse = 11,
24
- Corpses = 12,
25
- TileEventMinor = 13,
26
- Tile = 14,
27
- Skill = 15,
28
- Milestone = 16,
29
- Recipe = 17,
30
- ItemType = 18,
31
- Dismantle = 19,
21
+ Recipe = 9,
22
+ Dismantle = 10,
23
+ ItemType = 11,
24
+ Action = 12,
25
+ Items = 13,
26
+ Corpse = 14,
27
+ Corpses = 15,
28
+ TileEventMinor = 16,
29
+ Tile = 17,
30
+ Skill = 18,
31
+ Milestone = 19,
32
32
  Stat = 20,
33
33
  Island = 21
34
34
  }
@@ -133,7 +133,7 @@ export declare class SimpleInfoProvider extends InfoProvider {
133
133
  private readonly contents;
134
134
  private childComponentClass;
135
135
  constructor(...translations: Array<TranslationGenerator | InfoProvider>);
136
- get(): (import("../../language/ITranslation").ISerializedTranslation | import("../../language/impl/TranslationImpl").default | import("../../language/dictionary/UiTranslation").default | (() => import("../../language/ITranslation").ISerializedTranslation | import("../../language/impl/TranslationImpl").default | Iterable<import("../../utilities/string/Interpolator").IStringSection> | import("../../language/dictionary/UiTranslation").default | undefined) | InfoProvider)[];
136
+ get(): (import("../../language/ITranslation").ISerializedTranslation | import("../../language/impl/TranslationImpl").default | import("../../language/dictionary/UiTranslation").default | (() => import("../../language/ITranslation").ISerializedTranslation | import("../../language/impl/TranslationImpl").default | import("../../language/dictionary/UiTranslation").default | Iterable<import("../../utilities/string/Interpolator").IStringSection> | undefined) | InfoProvider)[];
137
137
  add(...translations: Array<TranslationGenerator | InfoProvider | Falsy>): this;
138
138
  onlyIfHasContents(): this | undefined;
139
139
  addInfoGetter(provider: () => InfoProvider | undefined): this;
@@ -12,8 +12,7 @@ import { InspectType } from "game/inspection/IInspection";
12
12
  import { InfoProvider } from "game/inspection/InfoProvider";
13
13
  import type { InfoProviderContext } from "game/inspection/InfoProviderContext";
14
14
  import type { InspectionClass } from "game/inspection/InspectionTypeMap";
15
- import type { ReferenceType } from "game/reference/IReferenceManager";
16
- import type { EnumReferenceResolved, EnumReferenceTypes } from "game/reference/ReferenceManager";
15
+ import type { EnumReferenceResolved, EnumReferenceTypes, ReferenceType } from "game/reference/IReferenceManager";
17
16
  import type { TranslationGenerator } from "ui/component/IComponent";
18
17
  import type Text from "ui/component/Text";
19
18
  import type { IVector3 } from "utilities/math/IVector";
@@ -43,28 +43,28 @@ export declare type InspectionClass = Class<Inspection<any>> & {
43
43
  getDefaultPriority(type: InspectType): number;
44
44
  };
45
45
  declare const _default: {
46
- 9: typeof ActionInspection;
47
- 11: typeof CorpseInspection;
48
- 12: typeof CorpsesInspection;
46
+ 12: typeof ActionInspection;
47
+ 14: typeof CorpseInspection;
48
+ 15: typeof CorpsesInspection;
49
49
  3: typeof CreatureInspection;
50
- 19: typeof ItemInspection;
50
+ 10: typeof ItemInspection;
51
51
  4: typeof DoodadInspection;
52
52
  7: typeof EquipSlotInspection;
53
53
  6: typeof PlayerInspection;
54
54
  21: typeof IslandInspection;
55
55
  8: typeof ItemInspection;
56
- 10: typeof ItemsInspection;
57
- 18: typeof ItemInspection;
58
- 16: typeof MilestoneInspection;
56
+ 13: typeof ItemsInspection;
57
+ 11: typeof ItemInspection;
58
+ 19: typeof MilestoneInspection;
59
59
  2: typeof NPCInspection;
60
60
  1: typeof PlayerInspection;
61
- 17: typeof RecipeInspection;
61
+ 9: typeof RecipeInspection;
62
62
  0: typeof SelfInspection;
63
- 15: typeof SkillInspection;
63
+ 18: typeof SkillInspection;
64
64
  20: typeof StatInspection;
65
- 14: typeof TileInspection;
65
+ 17: typeof TileInspection;
66
66
  5: typeof TileEventInspection;
67
- 13: typeof TileEventInspection.Minors;
67
+ 16: typeof TileEventInspection.Minors;
68
68
  } & Record<InspectType, InspectionClass>;
69
69
  export default _default;
70
70
  export declare module Inspections {
@@ -19,7 +19,7 @@ export interface IInspectionsHandlerEvents {
19
19
  export default abstract class InspectionsHandler extends EventEmitter.Host<IInspectionsHandlerEvents> {
20
20
  protected readonly context: InfoProviderContext;
21
21
  protected readonly inspectionsMap: Map<InspectType, HashSet<Inspection<any>>>;
22
- static makeInspectionsSet(values: IterableOr<Inspection<any>>): HashSet<Inspection<any>>;
22
+ static makeInspectionsSet(...values: Array<IterableOr<Inspection<any> | undefined>>): HashSet<Inspection<any>>;
23
23
  constructor(context: InfoProviderContext, inspectionsMap?: Map<InspectType, HashSet<Inspection<any>>>);
24
24
  get(inspectType: InspectType): HashSet<Inspection<any>> | undefined;
25
25
  set(inspectType: InspectType, inspections: HashSet<Inspection<any>>): Map<InspectType, HashSet<Inspection<any>>>;
@@ -29,7 +29,7 @@ export default abstract class InspectionsHandler extends EventEmitter.Host<IInsp
29
29
  register(): void;
30
30
  deregister(): void;
31
31
  protected getInspections?(inspectType: InspectType): HashSet<Inspection<any>>;
32
- protected createInspectionSet(...values: Array<ArrayOr<Inspection<any> | undefined>>): HashSet<Inspection<any>>;
32
+ protected createInspectionSet(...values: Array<IterableOr<Inspection<any> | undefined>>): HashSet<Inspection<any>>;
33
33
  protected updateInspections(...inspectTypes: InspectType[]): void;
34
34
  protected updateInspectionsForType(inspectType: InspectType, inspections: HashSet<Inspection<any>>): void;
35
35
  }
@@ -19,7 +19,7 @@ export default class ItemDetailsInfoProvider extends InfoProvider {
19
19
  private readonly description;
20
20
  constructor(item: Item | ItemType);
21
21
  getClass(): string[];
22
- get(): (0 | import("game/inspection/InfoProvider").SimpleInfoProvider | LabelledValue | ItemWorthInfoProvider)[];
22
+ get(): (0 | LabelledValue | import("game/inspection/InfoProvider").SimpleInfoProvider | ItemWorthInfoProvider)[];
23
23
  private getInsulation;
24
24
  private getPreservation;
25
25
  private getGroupings;
@@ -15,7 +15,7 @@ export default class AttackInfo extends InfoProvider {
15
15
  private readonly human?;
16
16
  constructor(human?: Human | undefined);
17
17
  getClass(): string[];
18
- get(): (import("game/inspection/InfoProvider").SimpleInfoProvider | LabelledValue)[];
18
+ get(): (LabelledValue | import("game/inspection/InfoProvider").SimpleInfoProvider)[];
19
19
  private getTactics;
20
20
  private getMainHand;
21
21
  private getOffHand;
@@ -14,8 +14,8 @@ import { InspectType } from "game/inspection/IInspection";
14
14
  import { InfoProvider } from "game/inspection/InfoProvider";
15
15
  import type { InfoProviderContext } from "game/inspection/InfoProviderContext";
16
16
  import Inspection from "game/inspection/Inspection";
17
+ import type { EnumReferenceResolved } from "game/reference/IReferenceManager";
17
18
  import { ReferenceType } from "game/reference/IReferenceManager";
18
- import type { EnumReferenceResolved } from "game/reference/ReferenceManager";
19
19
  import type { TranslationGenerator } from "ui/component/IComponent";
20
20
  import type { ActionSlot } from "ui/screen/screens/game/static/ActionBar";
21
21
  export default class ActionInspection extends Inspection<ActionType | string | undefined> {
@@ -19,7 +19,7 @@ export default class CorpseInspection extends Inspection<Corpse> {
19
19
  static getFromTile(position: IVector3): CorpseInspection[];
20
20
  static handles(type: InspectType, corpse: unknown): boolean;
21
21
  constructor(corpse: Corpse);
22
- get(context: InfoProviderContext): (0 | import("game/inspection/InfoProvider").SimpleInfoProvider | LabelledValue)[];
22
+ get(context: InfoProviderContext): (0 | LabelledValue | import("game/inspection/InfoProvider").SimpleInfoProvider)[];
23
23
  private getDecay;
24
24
  private decay;
25
25
  private shouldRefreshDecay;
@@ -13,8 +13,8 @@ import { InspectType } from "game/inspection/IInspection";
13
13
  import { InfoProvider } from "game/inspection/InfoProvider";
14
14
  import type { InfoProviderContext } from "game/inspection/InfoProviderContext";
15
15
  import Inspection from "game/inspection/Inspection";
16
+ import type { EnumReferenceResolved } from "game/reference/IReferenceManager";
16
17
  import { ReferenceType } from "game/reference/IReferenceManager";
17
- import type { EnumReferenceResolved } from "game/reference/ReferenceManager";
18
18
  import type { TranslationGenerator } from "ui/component/IComponent";
19
19
  export default class EquipSlotInspection extends Inspection<EquipType | undefined> {
20
20
  static handles: (type: InspectType, value: unknown, context?: InfoProviderContext | undefined) => any;
@@ -26,6 +26,7 @@ export default class IslandInspection extends Inspection<IVector2> {
26
26
  private getTreasureMaps;
27
27
  private getModifiers;
28
28
  private getBiome;
29
- private getAllies;
29
+ private getPlayers;
30
+ private getPlayerLikeNPCs;
30
31
  private getYouAreHereLabel;
31
32
  }
@@ -42,9 +42,9 @@ import World from "renderer/world/World";
42
42
  import type { IPreSerializeCallback, ISerializer } from "save/serializer/ISerializer";
43
43
  import { Direction } from "utilities/math/Direction";
44
44
  import type { IVector2, IVector3 } from "utilities/math/IVector";
45
+ import Vector3 from "utilities/math/Vector3";
45
46
  import type { Random, SeededGenerator } from "utilities/random/Random";
46
47
  import type { IVersionInfo } from "utilities/Version";
47
- import Vector3 from "utilities/math/Vector3";
48
48
  export interface IIslandDetails {
49
49
  seed: number;
50
50
  random: Random;
@@ -1411,7 +1411,7 @@ export declare enum ItemTypeGroup {
1411
1411
  EquippableNeck = 905,
1412
1412
  EquippableChest = 906,
1413
1413
  EquippableHands = 907,
1414
- EquippableBelt = 908,
1414
+ EquippableWaist = 908,
1415
1415
  EquippableLegs = 909,
1416
1416
  EquippableFeet = 910,
1417
1417
  EquippableBack = 911,
@@ -114,3 +114,10 @@ export declare enum ContainerReferenceSource {
114
114
  Serializer = 11,
115
115
  WriteContainer = 12
116
116
  }
117
+ export interface ICraftResultChances {
118
+ success: number;
119
+ quality: number;
120
+ }
121
+ export declare namespace ICraftResultChances {
122
+ const NEVER: Readonly<ICraftResultChances>;
123
+ }
@@ -65,6 +65,8 @@ export interface IItemEvents {
65
65
  */
66
66
  shouldDamage(modifier?: number): number | false | undefined;
67
67
  qualityChange(quality: Quality, oldQuality: Quality): any;
68
+ durabilityChange(durability: number, oldDurability: number): any;
69
+ durabilityMaxChange(durabilityMax: number, oldDurabilityMax: number): any;
68
70
  }
69
71
  export default class Item extends EventEmitter.Host<IItemEvents> implements IReferenceable, Partial<IContainer>, IContainable, IUnserializedCallback, IObject<ItemType>, IObjectOptions, IContainable, Partial<IContainer>, ITemperatureSource, IHasInsulation, IHasMagic {
70
72
  readonly objectType = CreationId.Item;
@@ -83,8 +85,8 @@ export default class Item extends EventEmitter.Host<IItemEvents> implements IRef
83
85
  fireStage?: FireStage;
84
86
  id: number;
85
87
  itemOrders?: number[];
86
- maxDur: number;
87
- minDur: number;
88
+ private maxDur;
89
+ private minDur;
88
90
  pid: number | null | undefined;
89
91
  protected?: boolean;
90
92
  quality: Quality | undefined;
@@ -108,10 +110,13 @@ export default class Item extends EventEmitter.Host<IItemEvents> implements IRef
108
110
  private _movementTime?;
109
111
  private _movementOptions?;
110
112
  private _description;
111
- private _minDur;
112
113
  constructor(itemType?: ItemType | undefined, islandId?: IslandId, quality?: Quality, human?: Human);
113
114
  get island(): import("../island/Island").default;
114
115
  toString(): string;
116
+ get durability(): number;
117
+ set durability(value: number);
118
+ get durabilityMax(): number;
119
+ set durabilityMax(value: number);
115
120
  /**
116
121
  * Gets the owner of this item.
117
122
  * This will be the human who crafted it.
@@ -310,7 +315,6 @@ export default class Item extends EventEmitter.Host<IItemEvents> implements IRef
310
315
  getCivilizationScore(actionType: ActionType.Build | ActionType.SetDown): number;
311
316
  getVehicle(): import("game/item/IItem").IItemVehicle | undefined;
312
317
  isVehicleAllowedOnTile(tile: ITile): boolean;
313
- private setupDurabilityHandlers;
314
318
  private checkIfItemsMatch;
315
319
  private checkIfItemArraysMatch;
316
320
  }
@@ -19,7 +19,7 @@ import { Quality } from "game/IObject";
19
19
  import type { ContainerReference, IContainable, IContainer, IItemDescription, IItemWeightComponent, IRecipe } from "game/item/IItem";
20
20
  import { CraftResult, ItemType, ItemTypeGroup } from "game/item/IItem";
21
21
  import type { IAddToContainerOptions, IDoodadsUsed, IGetBestItemsOptions, IGetItemOptions, IGetItemsOptions, IRequirementInfo } from "game/item/IItemManager";
22
- import { ContainerReferenceSource, CraftStatus, WeightType } from "game/item/IItemManager";
22
+ import { ContainerReferenceSource, CraftStatus, ICraftResultChances, WeightType } from "game/item/IItemManager";
23
23
  import Item from "game/item/Item";
24
24
  import type ItemRecipeRequirementChecker from "game/item/ItemRecipeRequirementChecker";
25
25
  import { ObjectManager } from "game/ObjectManager";
@@ -308,11 +308,12 @@ export default class ItemManager extends ObjectManager<Item, IItemManagerEvents>
308
308
  /**
309
309
  * Note: don't print items to the console because the console will hold the item indefinitely
310
310
  */
311
- loadReference(container: IContainer, loadChildReferences?: boolean): boolean;
311
+ loadReference(container: IContainer, loadChildReferences?: boolean, parentContainer?: IContainer): boolean;
312
312
  private removeFromContainerInternal;
313
313
  private onItemMoveOrRemove;
314
314
  private getCraftTierBonus;
315
315
  computeCraftQualityBonus(itemType: ItemType, itemsToRequire: Item[], itemsToConsume: Item[], doodadsUsed: IDoodadsUsed[] | undefined): number;
316
- getCraftChance(human: Human, recipe: IRecipe, qualityBonus: number, returnQuality?: boolean, alwaysReturn?: boolean): number;
316
+ getCraftChance(human: Human, recipe: IRecipe, qualityBonus: number, returnQuality?: boolean): number;
317
+ getCraftResultChances(human: Human, recipe: IRecipe, qualityBonus: number): Readonly<ICraftResultChances>;
317
318
  isCraftSuccessful(human: Human, recipe: IRecipe, qualityBonus: number): CraftResult;
318
319
  }
@@ -8,6 +8,20 @@
8
8
  * Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
9
9
  * https://github.com/WaywardGame/types/wiki
10
10
  */
11
+ import type Doodad from "game/doodad/Doodad";
12
+ import type { ActionType } from "game/entity/action/IAction";
13
+ import type Corpse from "game/entity/creature/corpse/Corpse";
14
+ import type Creature from "game/entity/creature/Creature";
15
+ import type { EquipType, SkillType } from "game/entity/IHuman";
16
+ import type { Stat } from "game/entity/IStats";
17
+ import type NPC from "game/entity/npc/NPC";
18
+ import type Player from "game/entity/player/Player";
19
+ import type Island from "game/island/Island";
20
+ import type { ItemType } from "game/item/IItem";
21
+ import type Item from "game/item/Item";
22
+ import type { Milestone } from "game/milestones/IMilestone";
23
+ import type ReferenceManager from "game/reference/ReferenceManager";
24
+ import type TileEvent from "game/tile/TileEvent";
11
25
  export interface IReferenceable {
12
26
  /**
13
27
  * Do not use this property directly, instead use `game.references.getReference()
@@ -32,3 +46,37 @@ export declare enum ReferenceType {
32
46
  Action = 14,
33
47
  EquipSlot = 15
34
48
  }
49
+ export declare const enumRefTypes: Set<ReferenceType.Skill | ReferenceType.Milestone | ReferenceType.Recipe | ReferenceType.ItemType | ReferenceType.Dismantle | ReferenceType.Stat | ReferenceType.Action | ReferenceType.EquipSlot>;
50
+ export declare type EnumReferenceTypes = (typeof enumRefTypes) extends Set<infer R> ? R : never;
51
+ export declare type ReferenceableReferenceTypes = Exclude<ReferenceType, EnumReferenceTypes>;
52
+ export declare const referenceableRefTypes: Set<ReferenceableReferenceTypes>;
53
+ export interface IReferenceTypeMap {
54
+ [ReferenceType.Item]: Item;
55
+ [ReferenceType.Creature]: Creature;
56
+ [ReferenceType.Doodad]: Doodad;
57
+ [ReferenceType.NPC]: NPC;
58
+ [ReferenceType.Player]: Player;
59
+ [ReferenceType.TileEvent]: TileEvent;
60
+ [ReferenceType.Island]: Island;
61
+ [ReferenceType.Corpse]: Corpse;
62
+ [ReferenceType.Skill]: [ReferenceType.Skill, SkillType];
63
+ [ReferenceType.Milestone]: [ReferenceType.Milestone, Milestone];
64
+ [ReferenceType.Recipe]: [ReferenceType.Recipe, ItemType];
65
+ [ReferenceType.ItemType]: [ReferenceType.ItemType, ItemType];
66
+ [ReferenceType.Dismantle]: [ReferenceType.Dismantle, ItemType];
67
+ [ReferenceType.Stat]: [ReferenceType.Stat, Stat];
68
+ [ReferenceType.Action]: [ReferenceType.Action, ActionType | string, Item?];
69
+ [ReferenceType.EquipSlot]: [ReferenceType.EquipSlot, EquipType];
70
+ }
71
+ declare type ReferenceId<REFTYPE extends ReferenceType> = IReferenceTypeMap[REFTYPE] extends [REFTYPE, infer IdType, any?] ? IdType : number;
72
+ export declare type Reference<REFTYPE extends ReferenceType | undefined = ReferenceType | undefined> = REFTYPE extends ReferenceType ? [id: ReferenceId<REFTYPE>, type: REFTYPE, context?: [number, ReferenceType?]] : [number];
73
+ export declare type Referenceable = IReferenceTypeMap[ReferenceableReferenceTypes];
74
+ export declare type ResolveReference<REFTYPE extends ReferenceType> = IReferenceTypeMap[REFTYPE];
75
+ export declare type EnumReferenceResolved<REFTYPE extends EnumReferenceTypes = EnumReferenceTypes> = IReferenceTypeMap[REFTYPE];
76
+ export declare module Reference {
77
+ function setReferenceResolver(resolver: typeof ReferenceManager.get): void;
78
+ function create(id: number): Reference;
79
+ function create<REFTYPE extends ReferenceType>(id: ReferenceId<REFTYPE>, type: REFTYPE, context?: Referenceable | number | [number, ReferenceType?]): Reference;
80
+ function context(reference?: Reference): [number] | [id: number, type: ReferenceType.Item, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: number, type: ReferenceType.Creature, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: number, type: ReferenceType.Doodad, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: number, type: ReferenceType.NPC, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: number, type: ReferenceType.Player, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: number, type: ReferenceType.TileEvent, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: number, type: ReferenceType.Island, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: number, type: ReferenceType.Corpse, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: SkillType, type: ReferenceType.Skill, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: Milestone, type: ReferenceType.Milestone, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: ItemType, type: ReferenceType.Recipe, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: ItemType, type: ReferenceType.ItemType, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: ItemType, type: ReferenceType.Dismantle, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: Stat, type: ReferenceType.Stat, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: string | ActionType, type: ReferenceType.Action, context?: [number, (ReferenceType | undefined)?] | undefined] | [id: EquipType, type: ReferenceType.EquipSlot, context?: [number, (ReferenceType | undefined)?] | undefined] | undefined;
81
+ }
82
+ export {};