@wayward/types 2.15.1-beta.dev.20251028.1 → 2.15.2-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.
- package/.github/workflows/main.yml +7 -6
- package/definitions/game/Init.d.ts +2 -1
- package/definitions/game/Uninit.d.ts +2 -1
- package/definitions/game/game/IGame.d.ts +9 -2
- package/definitions/game/game/biome/template/Template.d.ts +1 -1
- package/definitions/game/game/curse/Curse.d.ts +8 -2
- package/definitions/game/game/curse/CurseEvent.d.ts +8 -0
- package/definitions/game/game/doodad/Doodad.d.ts +3 -2
- package/definitions/game/game/doodad/IDoodad.d.ts +6 -2
- package/definitions/game/game/entity/Human.d.ts +6 -1
- package/definitions/game/game/entity/IEntity.d.ts +1 -0
- package/definitions/game/game/entity/action/IAction.d.ts +2 -1
- package/definitions/game/game/entity/action/actions/Apply.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Attack.d.ts +2 -2
- package/definitions/game/game/entity/action/actions/Chop.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/CloseContainer.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/CloseDoor.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Consecrate.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Cure.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Dismount.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/DrinkItem.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Eat.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/EquipFromArmorStand.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Heal.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Hitch.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Melee.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Mine.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Move.d.ts +2 -1
- package/definitions/game/game/entity/action/actions/OpenContainer.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/OpenDoor.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/PackGround.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/PlaceDown.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/PropOpenDoor.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/ProtectItem.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/RemovePlayer.d.ts +14 -0
- package/definitions/game/game/entity/action/actions/Ride.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/SetCreatureAiAll.d.ts +2 -1
- package/definitions/game/game/entity/action/actions/Sleep.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/StartFire.d.ts +0 -2
- package/definitions/game/game/entity/action/actions/TakeFromArmorStand.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Throw.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Till.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/ToggleVehicle.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Uncage.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/Unhitch.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/UnprotectItem.d.ts +1 -1
- package/definitions/game/game/entity/action/actions/UpdateDirection.d.ts +1 -3
- package/definitions/game/game/entity/action/actions/Upgrade.d.ts +1 -1
- package/definitions/game/game/entity/action/usable/UsableActionType.d.ts +7 -4
- package/definitions/game/game/entity/action/usable/actions/UsableActionsWorld.d.ts +1 -1
- package/definitions/game/game/entity/player/PlayerManager.d.ts +2 -1
- package/definitions/game/game/island/Island.d.ts +17 -4
- package/definitions/game/game/island/automation/Automation.d.ts +1 -0
- package/definitions/game/game/island/automation/IAutomation.d.ts +21 -0
- package/definitions/game/game/item/IItem.d.ts +13 -22
- package/definitions/game/game/item/Item.d.ts +6 -5
- package/definitions/game/game/item/ItemManager.d.ts +2 -2
- package/definitions/game/game/item/Items.d.ts +1 -9
- package/definitions/game/game/item/runes/RuneEffects.d.ts +58 -0
- package/definitions/game/game/magic/IMagicalProperty.d.ts +2 -0
- package/definitions/game/game/magic/MagicalPropertyManager.d.ts +4 -4
- package/definitions/game/game/meta/prompt/IPrompt.d.ts +62 -60
- package/definitions/game/game/meta/prompt/PromptDescriptions.d.ts +2 -0
- package/definitions/game/game/milestones/milestone/Runekeeper.d.ts +1 -1
- package/definitions/game/game/options/modifiers/milestone/modifiers/Afflicted.d.ts +6 -0
- package/definitions/game/game/reference/IReferenceManager.d.ts +3 -0
- package/definitions/game/language/DictionaryMap.d.ts +12 -0
- package/definitions/game/language/dictionary/Message.d.ts +838 -837
- package/definitions/game/language/dictionary/UiTranslation.d.ts +668 -662
- package/definitions/game/language/english/item/ItemAffixes.d.ts +1 -1
- package/definitions/game/mod/Mod.d.ts +48 -10
- package/definitions/game/mod/ModRegistry.d.ts +2 -2
- package/definitions/game/multiplayer/IMultiplayer.d.ts +7 -2
- package/definitions/game/multiplayer/Multiplayer.d.ts +8 -3
- package/definitions/game/multiplayer/matchmaking/IMatchmaking.d.ts +2 -0
- package/definitions/game/multiplayer/networking/SmartConnection.d.ts +2 -1
- package/definitions/game/multiplayer/networking/SteamNetworkConnection.d.ts +2 -1
- package/definitions/game/multiplayer/networking/WebRTCConnection.d.ts +4 -1
- package/definitions/game/multiplayer/networking/WebSocketConnection.d.ts +2 -1
- package/definitions/game/multiplayer/networking/WebWorkerConnection.d.ts +2 -1
- package/definitions/game/renderer/overlay/EffectRadiusOverlay.d.ts +3 -0
- package/definitions/game/save/data/SaveDataGlobal.d.ts +0 -1
- package/definitions/game/save/upgrade/UpgradeVersionRegistry.d.ts +1 -1
- package/definitions/game/save/upgrade/versions/beta2.15.2/beta2.15.2-dev20251030.d.ts +12 -0
- package/definitions/game/save/upgrade/versions/beta2.15.2/beta2.15.2-dev20251103.d.ts +12 -0
- package/definitions/game/save/upgrade/versions/beta2.15.2/beta2.15.2.d.ts +12 -0
- package/definitions/game/ui/input/Bindable.d.ts +228 -223
- package/definitions/game/ui/screen/screens/game/component/container/ContainerBucketItemList.d.ts +5 -1
- package/definitions/game/ui/screen/screens/game/static/actions/ActionsDrawer.d.ts +4 -1
- package/definitions/game/ui/screen/screens/menu/menus/JoinServerChooseModifiersMenu.d.ts +2 -2
- package/definitions/game/ui/screen/screens/menu/menus/pause/MultiplayerOptionsMenu.d.ts +8 -0
- package/definitions/game/utilities/collection/map/DefaultMap.d.ts +1 -1
- package/definitions/game/utilities/dev/Reflection.d.ts +2 -0
- package/definitions/game/utilities/object/Merge.d.ts +3 -1
- package/definitions/hosts/shared/globals.d.ts +2 -2
- package/definitions/utilities/event/EventEmitter.d.ts +3 -0
- package/definitions/utilities/math/Math2.d.ts +7 -1
- package/definitions/utilities/prototype/Define.d.ts +4 -2
- package/package.json +1 -1
- /package/definitions/game/game/item/{cooldown → runes}/InvokeCooldown.d.ts +0 -0
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* https://github.com/WaywardGame/types/wiki
|
|
10
10
|
*/
|
|
11
11
|
import { ActionType } from "@wayward/game/game/entity/action/IAction";
|
|
12
|
-
declare const _default: import("
|
|
12
|
+
declare const _default: import("@wayward/game/game/entity/action/Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.DoodadNearby]], ActionType.TakeFromArmorStand, import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player, unknown>, boolean, import("@wayward/game/game/entity/action/actions/SwapWithArmorStand").ISwapEquipment, [(import("../../../doodad/Doodad").default | undefined)?]>;
|
|
13
13
|
export default _default;
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* https://github.com/WaywardGame/types/wiki
|
|
10
10
|
*/
|
|
11
11
|
import { ActionType } from "@wayward/game/game/entity/action/IAction";
|
|
12
|
-
declare const _default: import("
|
|
12
|
+
declare const _default: import("@wayward/game/game/entity/action/Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory], [import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("../argument/ActionArgumentEnum").default<import("../../IEntity").AttackType, "MeleeWeapon" | "HandToHand" | "RangedWeapon" | "ThrowItem">], [arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory]], ActionType.Throw, import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player, unknown>, void, import("@wayward/game/game/entity/action/actions/Attack").IAttackCanUse, [(import("../../../item/Item").default | undefined)?, (import("../../IEntity").AttackType | undefined)?, (import("../../../item/Item").default | undefined)?]>;
|
|
13
13
|
export default _default;
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* https://github.com/WaywardGame/types/wiki
|
|
10
10
|
*/
|
|
11
11
|
import { ActionType } from "@wayward/game/game/entity/action/IAction";
|
|
12
|
-
declare const _default: import("
|
|
12
|
+
declare const _default: import("@wayward/game/game/entity/action/Action").Action<[[arg1: import("@wayward/game/game/entity/action/IAction").ActionArgument.Undefined, import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemInventory]], ActionType.Till, import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player, unknown>, void, import("@wayward/game/game/entity/action/actions/ToggleTilled").ITillCanUse, [(import("../../../item/Item").default | undefined)?]>;
|
|
13
13
|
export default _default;
|
|
@@ -12,7 +12,7 @@ import type Doodad from "@wayward/game/game/doodad/Doodad";
|
|
|
12
12
|
import { Action } from "@wayward/game/game/entity/action/Action";
|
|
13
13
|
import type { IActionUsable } from "@wayward/game/game/entity/action/IAction";
|
|
14
14
|
import { ActionArgument, ActionType } from "@wayward/game/game/entity/action/IAction";
|
|
15
|
-
import
|
|
15
|
+
import { ItemType } from "@wayward/game/game/item/IItem";
|
|
16
16
|
import Item from "@wayward/game/game/item/Item";
|
|
17
17
|
import type Tile from "@wayward/game/game/tile/Tile";
|
|
18
18
|
export interface ToggleVehicleDoodadCanUse extends IActionUsable {
|
|
@@ -12,7 +12,7 @@ import { Action } from "@wayward/game/game/entity/action/Action";
|
|
|
12
12
|
import type { IActionUsable } from "@wayward/game/game/entity/action/IAction";
|
|
13
13
|
import { ActionArgument, ActionType } from "@wayward/game/game/entity/action/IAction";
|
|
14
14
|
import type Creature from "@wayward/game/game/entity/creature/Creature";
|
|
15
|
-
import
|
|
15
|
+
import { ItemType } from "@wayward/game/game/item/IItem";
|
|
16
16
|
import type Tile from "@wayward/game/game/tile/Tile";
|
|
17
17
|
export interface IUncageCanUse extends IActionUsable {
|
|
18
18
|
tile: Tile;
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* https://github.com/WaywardGame/types/wiki
|
|
10
10
|
*/
|
|
11
11
|
import { ActionType } from "@wayward/game/game/entity/action/IAction";
|
|
12
|
-
declare const _default: import("
|
|
12
|
+
declare const _default: import("@wayward/game/game/entity/action/Action").Action<[], ActionType.Unhitch, import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player, unknown>, void, import("@wayward/game/game/entity/action/actions/ToggleHitch").IToggleHitchCanUse, []>;
|
|
13
13
|
export default _default;
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* https://github.com/WaywardGame/types/wiki
|
|
10
10
|
*/
|
|
11
11
|
import { ActionType } from "@wayward/game/game/entity/action/IAction";
|
|
12
|
-
declare const _default: import("
|
|
12
|
+
declare const _default: import("@wayward/game/game/entity/action/Action").Action<[import("@wayward/game/game/entity/action/IAction").ActionArgument.ItemNearby, import("@wayward/game/game/entity/action/IAction").ActionArgument.Boolean], ActionType.UnProtectItem, import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player, unknown>, void, import("@wayward/game/game/entity/action/IAction").IActionUsable, [import("../../../item/Item").default, boolean]>;
|
|
13
13
|
export default _default;
|
|
@@ -10,10 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { Action } from "@wayward/game/game/entity/action/Action";
|
|
12
12
|
import { ActionArgument, ActionType } from "@wayward/game/game/entity/action/IAction";
|
|
13
|
-
import type Human from "@wayward/game/game/entity/Human";
|
|
14
13
|
import { Direction } from "@wayward/game/utilities/math/Direction";
|
|
15
|
-
declare const _default: Action<[ActionArgument.Direction, [arg1: ActionArgument.Undefined, ActionArgument.Integer32], [arg1: ActionArgument.Undefined, ActionArgument.Boolean]], ActionType.UpdateDirection, Human<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player, unknown>, void, {
|
|
14
|
+
declare const _default: Action<[ActionArgument.Direction, [arg1: ActionArgument.Undefined, ActionArgument.Integer32], [arg1: ActionArgument.Undefined, ActionArgument.Boolean]], ActionType.UpdateDirection, import("../../Human").default<unknown, number, import("../../../reference/IReferenceManager").ReferenceType.NPC | import("../../../reference/IReferenceManager").ReferenceType.Player, unknown>, void, {
|
|
16
15
|
usable: true;
|
|
17
16
|
}, [Direction.None | Direction.East | Direction.North | Direction.West | Direction.South, (number | undefined)?, (boolean | undefined)?]>;
|
|
18
17
|
export default _default;
|
|
19
|
-
export declare function UpdateDirectionInternal(human: Human, direction: Direction.Cardinal): void;
|
|
@@ -13,7 +13,7 @@ import type { IActionUsable } from "@wayward/game/game/entity/action/IAction";
|
|
|
13
13
|
import { ActionArgument, ActionType } from "@wayward/game/game/entity/action/IAction";
|
|
14
14
|
import type { IMagicalPropertyInfo } from "@wayward/game/game/item/IItem";
|
|
15
15
|
import type Item from "@wayward/game/game/item/Item";
|
|
16
|
-
import
|
|
16
|
+
import MagicalPropertyType from "@wayward/game/game/magic/MagicalPropertyType";
|
|
17
17
|
export interface IUpgradeCanUse extends IActionUsable {
|
|
18
18
|
upgrades: IUpgradeable[];
|
|
19
19
|
upgradeTarget: Item;
|
|
@@ -105,14 +105,17 @@ export declare enum UsableActionType {
|
|
|
105
105
|
Ascend = 100083,
|
|
106
106
|
Descend = 100084,
|
|
107
107
|
Excavate = 100085,
|
|
108
|
-
Collapse = 100086
|
|
108
|
+
Collapse = 100086,
|
|
109
|
+
DropAllExceptQuality = 100087,
|
|
110
|
+
MoveAllExceptQuality = 100088
|
|
109
111
|
}
|
|
110
112
|
export declare enum UsableActionTypePlaceholder {
|
|
111
113
|
TradeItem = 200000,
|
|
112
114
|
MoveAllToInventory = 200001,
|
|
113
115
|
MoveAllOfSameQualityToInventory = 200002,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
MoveAllExceptQualityToInventory = 200003,
|
|
117
|
+
Paddle = 200004,
|
|
118
|
+
Operate = 200005,
|
|
119
|
+
SwimToIsland = 200006
|
|
117
120
|
}
|
|
118
121
|
export declare const usableActionDescriptions: PartialRecord<UsableActionType | UsableActionTypePlaceholder, IModdable>;
|
|
@@ -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-none" | "world-context-menu-option-actions" | "world-context-menu-option-move" | "world-context-menu-option-use" | "world-context-menu-option-
|
|
20
|
+
const OptionSpecific: (enumValue: UsableActionType) => "world-context-menu-option-none" | "world-context-menu-option-actions" | "world-context-menu-option-move" | "world-context-menu-option-use" | "world-context-menu-option-unused" | "world-context-menu-option-collapse" | "world-context-menu-option-commandattack" | "world-context-menu-option-commanddefend" | "world-context-menu-option-commandfollowclose" | "world-context-menu-option-commandfollowfar" | "world-context-menu-option-commandheel" | "world-context-menu-option-commandstay" | "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-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" | "world-context-menu-option-restonground" | "world-context-menu-option-sleeponground" | "world-context-menu-option-commandmenu" | "world-context-menu-option-displayheld" | "world-context-menu-option-displaylegs" | "world-context-menu-option-displaychest" | "world-context-menu-option-displayhead" | "world-context-menu-option-displaywaist" | "world-context-menu-option-displayfeet" | "world-context-menu-option-displayneck" | "world-context-menu-option-displayhands" | "world-context-menu-option-displayback" | "world-context-menu-option-displaymainhand" | "world-context-menu-option-displayoffhand" | "world-context-menu-option-reshapewithitem" | "world-context-menu-option-movecontentsmenu" | "world-context-menu-option-movecontentstoinventory" | "world-context-menu-option-movecontentstoactivecontainer" | "world-context-menu-option-movecontentstofacingcontainer" | "world-context-menu-option-movecontentsofactivecontainermenu" | "world-context-menu-option-movecontentsoffacingcontainermenu" | "world-context-menu-option-commandmenuall" | "world-context-menu-option-commandallfollowclose" | "world-context-menu-option-commandallfollowfar" | "world-context-menu-option-commandallstay" | "world-context-menu-option-commandalldefend" | "world-context-menu-option-commandallattack" | "world-context-menu-option-commandallheel" | "world-context-menu-option-ascend" | "world-context-menu-option-descend" | "world-context-menu-option-excavate" | "world-context-menu-option-dropallexceptquality" | "world-context-menu-option-moveallexceptquality";
|
|
21
21
|
}
|
|
22
22
|
export declare const UsableActionsWorldActions: UsableActionGenerator<[]>;
|
|
23
23
|
export declare const UsableActionsWorldItemActions: UsableActionGenerator<[]>;
|
|
@@ -71,7 +71,8 @@ export default class PlayerManager extends EventEmitter.Host<IPlayerManagerEvent
|
|
|
71
71
|
* Removes and deletes a player.
|
|
72
72
|
* Use with caution!
|
|
73
73
|
*/
|
|
74
|
-
permanentlyDelete(player: Player): void;
|
|
74
|
+
permanentlyDelete(player: Player, delayForKick?: boolean): void;
|
|
75
|
+
private performPermanentDelete;
|
|
75
76
|
/**
|
|
76
77
|
* Moves to the player to the target array
|
|
77
78
|
* @param source Where they are coming from. It's okay if they aren't in this array
|
|
@@ -225,10 +225,23 @@ export default class Island extends EventEmitter.Host<IIslandEvents> implements
|
|
|
225
225
|
addPlayer(human: Human, refreshStatuses?: boolean): void;
|
|
226
226
|
removePlayer(human: Human, isAbsentPlayer?: boolean): void;
|
|
227
227
|
getPlayers(includeGhosts?: boolean, includeConnecting?: boolean): Human[];
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
228
|
+
/**
|
|
229
|
+
* Calculates the average of a value for all players on the island
|
|
230
|
+
* @param valueSupplier A function that returns the value for a given player. `undefined` values are skipped
|
|
231
|
+
* @returns The average value, or `undefined` if no players provided a value
|
|
232
|
+
*/
|
|
233
|
+
getPlayerAverage(valueSupplier: (playingHuman: Human) => number | undefined): number | undefined;
|
|
234
|
+
/**
|
|
235
|
+
* Calculates the average of a value for all players that can see a given tile, if provided
|
|
236
|
+
* @param seeingTile The tile that all players must see. If `undefined`, calculates from all players
|
|
237
|
+
* @param valueSupplier A function that returns the value for a given player. `undefined` values are skipped
|
|
238
|
+
* @returns The average value, or `undefined` if no players provided a value
|
|
239
|
+
*/
|
|
240
|
+
getPlayerAverage(seeingTile: Tile | undefined, valueSupplier: (playingHuman: Human) => number | undefined): number | undefined;
|
|
241
|
+
getPlayerAverageLuck(seeingTile?: Tile): number;
|
|
242
|
+
getPlayerAverageMaxHealth(): number;
|
|
243
|
+
getPlayerAverageMaxWeight(): number;
|
|
244
|
+
getPlayerAverageSkillPercent(skill: SkillType): number;
|
|
232
245
|
/**
|
|
233
246
|
* Check the amount of water tiles there is connected to a supplied x/y area
|
|
234
247
|
*/
|
|
@@ -26,6 +26,7 @@ export declare class Automation {
|
|
|
26
26
|
* @param setup The setup
|
|
27
27
|
*/
|
|
28
28
|
static applySetup(human: Human, setup: Readonly<IAutomationSetup>): IAutomationSetupResult;
|
|
29
|
+
private static createItem;
|
|
29
30
|
setRepeat(repeat: boolean, delay?: number): this;
|
|
30
31
|
setStartDelay(delay: number): this;
|
|
31
32
|
setSetup(setup: IAutomationSetup): this;
|
|
@@ -14,13 +14,17 @@ import type { CreatureType } from "@wayward/game/game/entity/creature/ICreature"
|
|
|
14
14
|
import type Human from "@wayward/game/game/entity/Human";
|
|
15
15
|
import type { MoveType } from "@wayward/game/game/entity/IEntity";
|
|
16
16
|
import type { EquipType } from "@wayward/game/game/entity/IHuman";
|
|
17
|
+
import type { Stat } from "@wayward/game/game/entity/IStats";
|
|
17
18
|
import type { NPCType } from "@wayward/game/game/entity/npc/INPCs";
|
|
19
|
+
import type { SkillType } from "@wayward/game/game/entity/skill/ISkills";
|
|
18
20
|
import type { StatusType } from "@wayward/game/game/entity/status/IStatus";
|
|
19
21
|
import type { Quality } from "@wayward/game/game/IObject";
|
|
20
22
|
import type { IslandId } from "@wayward/game/game/island/IIsland";
|
|
21
23
|
import type { ContainerSort, ItemType, ItemTypeGroup } from "@wayward/game/game/item/IItem";
|
|
22
24
|
import type Item from "@wayward/game/game/item/Item";
|
|
25
|
+
import type MagicalPropertyType from "@wayward/game/game/magic/MagicalPropertyType";
|
|
23
26
|
import type { TerrainType } from "@wayward/game/game/tile/ITerrain";
|
|
27
|
+
import type { TileEventType } from "@wayward/game/game/tile/ITileEvent";
|
|
24
28
|
import type { IOptions } from "@wayward/game/save/data/ISaveDataGlobal";
|
|
25
29
|
import type { SortDirection } from "@wayward/game/save/ISaveManager";
|
|
26
30
|
import type { DialogId } from "@wayward/game/ui/screen/screens/game/Dialogs";
|
|
@@ -76,8 +80,10 @@ export interface IAutomationSetupWorld {
|
|
|
76
80
|
y?: number;
|
|
77
81
|
z?: WorldZ;
|
|
78
82
|
items?: IAutomationSetupItem[];
|
|
83
|
+
events?: TileEventType[];
|
|
79
84
|
tilled?: boolean;
|
|
80
85
|
fishAvailable?: number;
|
|
86
|
+
depth?: number;
|
|
81
87
|
}>;
|
|
82
88
|
doodads?: Array<{
|
|
83
89
|
type: DoodadType;
|
|
@@ -96,6 +102,7 @@ export interface IAutomationSetupWorld {
|
|
|
96
102
|
tamed?: true;
|
|
97
103
|
/** Defaults to a massive number */
|
|
98
104
|
happiness?: number;
|
|
105
|
+
timesPetted?: number;
|
|
99
106
|
aberrant?: true;
|
|
100
107
|
}>;
|
|
101
108
|
corpses?: Array<{
|
|
@@ -110,6 +117,7 @@ export interface IAutomationSetupWorld {
|
|
|
110
117
|
x?: number;
|
|
111
118
|
y?: number;
|
|
112
119
|
z?: number;
|
|
120
|
+
stats?: IAutomationSetupHumanStat[];
|
|
113
121
|
inventory?: IAutomationSetupItemContainer;
|
|
114
122
|
moveType?: MoveType;
|
|
115
123
|
}>;
|
|
@@ -118,9 +126,19 @@ export interface IAutomationSetupPlayer {
|
|
|
118
126
|
alwaysPassSkillChecks?: boolean;
|
|
119
127
|
position?: Partial<IVector3>;
|
|
120
128
|
direction?: Direction.Cardinal;
|
|
129
|
+
skills?: IAutomationSetupHumanSkill[];
|
|
130
|
+
stats?: IAutomationSetupHumanStat[];
|
|
121
131
|
inventory?: IAutomationSetupItemContainer;
|
|
122
132
|
status?: StatusType[];
|
|
123
133
|
}
|
|
134
|
+
export interface IAutomationSetupHumanSkill {
|
|
135
|
+
type: SkillType;
|
|
136
|
+
value: number;
|
|
137
|
+
}
|
|
138
|
+
export interface IAutomationSetupHumanStat {
|
|
139
|
+
type: Stat;
|
|
140
|
+
value: number;
|
|
141
|
+
}
|
|
124
142
|
export interface IAutomationSetupItemContainer {
|
|
125
143
|
sort?: ContainerSort;
|
|
126
144
|
sortDirection?: SortDirection;
|
|
@@ -131,4 +149,7 @@ export interface IAutomationSetupItem {
|
|
|
131
149
|
type: ItemType | ItemTypeGroup;
|
|
132
150
|
equip?: EquipType;
|
|
133
151
|
quality?: Quality;
|
|
152
|
+
magics?: MagicalPropertyType[];
|
|
153
|
+
durability?: number;
|
|
154
|
+
weightMultiplier?: number;
|
|
134
155
|
}
|
|
@@ -12,7 +12,6 @@ import type { SfxType } from "@wayward/game/audio/IAudio";
|
|
|
12
12
|
import type { IDecayTemperatureRange } from "@wayward/game/game/IGame";
|
|
13
13
|
import type { IObjectDescription, Quality } from "@wayward/game/game/IObject";
|
|
14
14
|
import type { BiomeType } from "@wayward/game/game/biome/IBiome";
|
|
15
|
-
import type { DeityReal } from "@wayward/game/game/deity/Deity";
|
|
16
15
|
import type { RuneChance } from "@wayward/game/game/deity/IDeities";
|
|
17
16
|
import type { DoodadType, DoodadTypeGroup } from "@wayward/game/game/doodad/IDoodad";
|
|
18
17
|
import type Human from "@wayward/game/game/entity/Human";
|
|
@@ -47,8 +46,9 @@ import type { DialogId } from "@wayward/game/ui/screen/screens/game/Dialogs";
|
|
|
47
46
|
import type { IVector3 } from "@wayward/game/utilities/math/IVector";
|
|
48
47
|
import type Vector2 from "@wayward/game/utilities/math/Vector2";
|
|
49
48
|
import type { IRGB } from "@wayward/utilities/Color";
|
|
50
|
-
import type { IRange } from "@wayward/utilities/math/Range";
|
|
51
49
|
import type { MagicalLootType } from "@wayward/game/game/item/MagicalLoot";
|
|
50
|
+
import type { RuneEffectType } from "@wayward/game/game/item/runes/RuneEffects";
|
|
51
|
+
export declare const DEFAULT_ITEM_BREAK_QUALITY_BONUS = 10;
|
|
52
52
|
export interface IItemWeightComponent {
|
|
53
53
|
weightFraction?: number;
|
|
54
54
|
type: ItemType;
|
|
@@ -470,27 +470,14 @@ export interface IItemOnUse {
|
|
|
470
470
|
[ActionType.Uncage]?: ItemType;
|
|
471
471
|
}
|
|
472
472
|
export interface IInvokeUse {
|
|
473
|
-
|
|
473
|
+
effect: RuneEffectType | {
|
|
474
|
+
(item: Item | undefined, human: Human): RuneEffectType;
|
|
475
|
+
(item: Item, human?: Human): RuneEffectType;
|
|
476
|
+
};
|
|
474
477
|
/**
|
|
475
478
|
* The drop rate of this rune compared to other runes for the same deity. Defaults to `1`.
|
|
476
479
|
*/
|
|
477
480
|
dropWeight?: number;
|
|
478
|
-
/**
|
|
479
|
-
* Defaults to 1 day.
|
|
480
|
-
*/
|
|
481
|
-
cooldownDays?: number;
|
|
482
|
-
/**
|
|
483
|
-
* A multiplier for reducing the cooldown of invocation.
|
|
484
|
-
* If given an `IRange`, the `minimum` value is the multiplier at 0% skill, and the `maximum` value is the multiplier at 100% skill.
|
|
485
|
-
* If given a `number`, the multiplier is `1.0` at 0% skill, and the `maximum` value is the multiplier at 100% skill.
|
|
486
|
-
*
|
|
487
|
-
* Defaults to 1.0 — no cooldown multiplier from theurgy skill.
|
|
488
|
-
*/
|
|
489
|
-
cooldownTheurgyMultiplier?: number | IRange;
|
|
490
|
-
/**
|
|
491
|
-
* @returns The amount of success this action had, a decimal from 0-1
|
|
492
|
-
*/
|
|
493
|
-
use(human: Human, rune: Item): number | undefined;
|
|
494
481
|
}
|
|
495
482
|
export interface IItemBuild {
|
|
496
483
|
/**
|
|
@@ -730,9 +717,10 @@ export interface IMagicalPropertyInfo {
|
|
|
730
717
|
*/
|
|
731
718
|
max: number;
|
|
732
719
|
/**
|
|
733
|
-
*
|
|
720
|
+
* The precision for this magical property. Magical property values are rounded up to this many decimal places.
|
|
721
|
+
* Defaults to 0 (integers).
|
|
734
722
|
*/
|
|
735
|
-
|
|
723
|
+
precision?: number;
|
|
736
724
|
/**
|
|
737
725
|
* Generates a random starting value for this magical property.
|
|
738
726
|
*/
|
|
@@ -1770,7 +1758,10 @@ export declare enum ItemTypeExtra {
|
|
|
1770
1758
|
CactusScarecrow2 = 853,
|
|
1771
1759
|
CactusScarecrow3 = 854,
|
|
1772
1760
|
SnowScarecrow2 = 855,
|
|
1773
|
-
SnowScarecrow3 = 856
|
|
1761
|
+
SnowScarecrow3 = 856,
|
|
1762
|
+
RuneOfEvil_Cursed = 857,
|
|
1763
|
+
RuneOfGood_Cursed = 858,
|
|
1764
|
+
RuneOfChaos_Cursed = 859
|
|
1774
1765
|
}
|
|
1775
1766
|
export type DisplayableItemType = ItemType | ItemTypeExtra;
|
|
1776
1767
|
export declare enum ItemTag {
|
|
@@ -231,6 +231,7 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
|
|
|
231
231
|
isDecayed(): boolean;
|
|
232
232
|
getDecayedThreshold(): number;
|
|
233
233
|
getDecayAtStart(): number;
|
|
234
|
+
getDecayAtStartWithMagical(): number;
|
|
234
235
|
getVisualDurability(): number;
|
|
235
236
|
getVisualDecay(): number;
|
|
236
237
|
private getVisualBarValue;
|
|
@@ -257,9 +258,8 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
|
|
|
257
258
|
*/
|
|
258
259
|
verifyAndFixItem(): void;
|
|
259
260
|
protected pipeMagicalPropertyManagerEvents(magic: MagicalPropertyManager): void;
|
|
260
|
-
protected onMagicSet(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, value?: number, curse?: true): void;
|
|
261
|
-
protected onMagicRemove(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes): void;
|
|
262
|
-
protected onMagicClear(): void;
|
|
261
|
+
protected onMagicSet(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, value?: number, previousValue?: number, curse?: true): void;
|
|
262
|
+
protected onMagicRemove(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, value?: number): void;
|
|
263
263
|
verifyAndFixMagic(): void;
|
|
264
264
|
/**
|
|
265
265
|
* @param source A string representing the reason for this damage. Used for multiplayer debugging. Just put a unique string of characters here
|
|
@@ -323,8 +323,9 @@ export default class Item extends EntityMovable<IItemDescription, ItemType, Refe
|
|
|
323
323
|
rerollMagicalProperty(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes): boolean;
|
|
324
324
|
rerollMagicalPropertyValues(): void;
|
|
325
325
|
initializeMagicalPropertyManager(): MagicalPropertyManager;
|
|
326
|
-
protected updateDurabilityForPersistence(): void;
|
|
327
|
-
protected
|
|
326
|
+
protected updateDurabilityForPersistence(type: MagicalPropertyType, value?: number): void;
|
|
327
|
+
protected clampDecayToMax(type: MagicalPropertyType, value?: number): void;
|
|
328
|
+
protected clampDurabilityToMax(type: MagicalPropertyType): void;
|
|
328
329
|
addMagicalProperty(type: MagicalPropertyType, subType?: MagicalSubPropertySubTypes, valueType?: "min" | "max"): boolean;
|
|
329
330
|
getMagicalPropertyInfo(type: MagicalPropertyType): IMagicalPropertyInfo | undefined;
|
|
330
331
|
acquireNotify(human: Human, context?: ActionContext): void;
|
|
@@ -282,7 +282,7 @@ export default class ItemManager extends EntityManager<Item, IItemRemoveOptions>
|
|
|
282
282
|
getGroupDefault(itemGroup: ItemTypeGroup, weightType?: WeightType, ancestorGroups?: ItemTypeGroup[]): ItemType;
|
|
283
283
|
getGroups(itemType: ItemType): ItemTypeGroup[];
|
|
284
284
|
getPlayerFromInventoryContainer(containable: IContainable): Player | undefined;
|
|
285
|
-
getRandomQuality(bonusQuality?: number, relicChance?: boolean): Quality;
|
|
285
|
+
getRandomQuality(bonusQuality?: number, relicChance?: boolean, tile?: Tile): Quality;
|
|
286
286
|
hasAdditionalRequirements(actionOrHuman: IActionHandlerApi<Human> | Human, craftType: ItemType, actionNotUsableMessage?: Message, isRepairOrDisassembly?: boolean): IRequirementInfo;
|
|
287
287
|
/**
|
|
288
288
|
* Gets the max quality bonus that can be applied to an item (using its recipe).
|
|
@@ -384,7 +384,7 @@ export default class ItemManager extends EntityManager<Item, IItemRemoveOptions>
|
|
|
384
384
|
* @returns number That is distributed from the quality/value.
|
|
385
385
|
*/
|
|
386
386
|
getBreakingQualityBonus(itemQuality: Quality | undefined, bonusValue: number): number;
|
|
387
|
-
getQualityBasedOnSkill(itemQuality: Quality | undefined, skillValue: number, allowIncreasedQuality?: boolean, bonusChance?: number): Quality | undefined;
|
|
387
|
+
getQualityBasedOnSkill(itemQuality: Quality | undefined, skillValue: number, allowIncreasedQuality?: boolean, bonusChance?: number, tile?: Tile): Quality | undefined;
|
|
388
388
|
getNPCFromInventoryContainer(containable: IContainable): NPC | undefined;
|
|
389
389
|
getItemsByWeight(a: number, b: number): number;
|
|
390
390
|
getItemsWeight(items: Item[]): number;
|
|
@@ -8,12 +8,4 @@
|
|
|
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
|
-
|
|
12
|
-
import { Quality } from "@wayward/game/game/IObject";
|
|
13
|
-
import { ChaosEffect } from "@wayward/game/game/deity/Chaos";
|
|
14
|
-
import type { IRange } from "@wayward/utilities/math/Range";
|
|
15
|
-
export declare const RUNE_OF_EVIL_SPAWN_COUNT: Record<QualityNatural, IRange>;
|
|
16
|
-
export declare const RUNE_OF_EVIL_MAX_ATTEMPTS = 20;
|
|
17
|
-
export declare const RUNE_OF_GOOD_PACIFY_CHANCE: Record<QualityNatural, number>;
|
|
18
|
-
export declare const RUNE_OF_GOOD_PACIFY_TIME: Record<QualityNatural, IRange>;
|
|
19
|
-
export declare const RUNE_OF_CHAOS_EFFECT_MAP: PartialRecord<Quality, ChaosEffect>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2011-2025 Unlok
|
|
3
|
+
* https://www.unlok.ca
|
|
4
|
+
*
|
|
5
|
+
* Credits & Thanks:
|
|
6
|
+
* https://www.unlok.ca/credits-thanks/
|
|
7
|
+
*
|
|
8
|
+
* Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
|
|
9
|
+
* https://github.com/WaywardGame/types/wiki
|
|
10
|
+
*/
|
|
11
|
+
import { ChaosEffect } from "@wayward/game/game/deity/Chaos";
|
|
12
|
+
import type { DeityReal } from "@wayward/game/game/deity/Deity";
|
|
13
|
+
import type Human from "@wayward/game/game/entity/Human";
|
|
14
|
+
import type { QualityNatural } from "@wayward/game/game/IObject";
|
|
15
|
+
import { Quality } from "@wayward/game/game/IObject";
|
|
16
|
+
import type Island from "@wayward/game/game/island/Island";
|
|
17
|
+
import type Item from "@wayward/game/game/item/Item";
|
|
18
|
+
import { IRange } from "@wayward/utilities/math/Range";
|
|
19
|
+
export declare enum RuneEffectType {
|
|
20
|
+
PacifyCreatures = 0,
|
|
21
|
+
ZoneEffect = 1,
|
|
22
|
+
SummonCreatures = 2,
|
|
23
|
+
PacifyCreaturesResonant = 3,
|
|
24
|
+
CurseEventSpeedUp = 4,
|
|
25
|
+
SummonCreaturesResonant = 5
|
|
26
|
+
}
|
|
27
|
+
export interface RuneEffect {
|
|
28
|
+
deity: DeityReal;
|
|
29
|
+
/**
|
|
30
|
+
* Defaults to 1 day. (Decimals work fine.)
|
|
31
|
+
*/
|
|
32
|
+
cooldownDays?: SupplierOr<number, [Island]>;
|
|
33
|
+
/**
|
|
34
|
+
* A multiplier for reducing the cooldown of invocation.
|
|
35
|
+
* If given an `IRange`, the `minimum` value is the multiplier at 0% skill, and the `maximum` value is the multiplier at 100% skill.
|
|
36
|
+
* If given a `number`, the multiplier is `1.0` at 0% skill, and the `maximum` value is the multiplier at 100% skill.
|
|
37
|
+
*
|
|
38
|
+
* Defaults to 1.0 — no cooldown multiplier from theurgy skill.
|
|
39
|
+
*/
|
|
40
|
+
cooldownTheurgyMultiplier?: SupplierOr<number | IRange, [Island]>;
|
|
41
|
+
/**
|
|
42
|
+
* @returns The amount of success this action had, a decimal from 0-1
|
|
43
|
+
*/
|
|
44
|
+
use(human: Human, rune: Item): number | undefined;
|
|
45
|
+
}
|
|
46
|
+
export declare namespace RuneEffect {
|
|
47
|
+
function get(effect?: RuneEffectType): RuneEffect | undefined;
|
|
48
|
+
}
|
|
49
|
+
export declare const RUNE_OF_GOOD_PACIFY_CHANCE: Record<QualityNatural, number>;
|
|
50
|
+
export declare const RUNE_OF_GOOD_PACIFY_TIME: Record<QualityNatural, IRange>;
|
|
51
|
+
export declare const RUNE_OF_CHAOS_EFFECT_MAP: PartialRecord<Quality, ChaosEffect>;
|
|
52
|
+
export declare const RUNE_OF_EVIL_SPAWN_COUNT: Record<QualityNatural, IRange>;
|
|
53
|
+
export declare const RUNE_OF_EVIL_MAX_ATTEMPTS = 20;
|
|
54
|
+
export declare const RUNE_OF_EVIL_RESONANT_RADIUS = 20;
|
|
55
|
+
/** Multiplied by min(1, rune quality) */
|
|
56
|
+
export declare const RUNE_OF_CHAOS_CURSE_EVENT_TIME_SKIP: IRange<number>;
|
|
57
|
+
export declare const RUNE_OF_CHAOS_CURSE_EVENT_TIME_SKIP_THEURGY_MULTIPLIER: IRange<number>;
|
|
58
|
+
export declare const RuneEffects: PartialRecord<RuneEffectType, RuneEffect>;
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import type MagicalPropertyManager from "@wayward/game/game/magic/MagicalPropertyManager";
|
|
12
12
|
import type { MagicalPropertyTypeSubTypeMap } from "@wayward/game/game/magic/MagicalPropertyType";
|
|
13
13
|
import MagicalPropertyType from "@wayward/game/game/magic/MagicalPropertyType";
|
|
14
|
+
import TranslationImpl from "@wayward/game/language/impl/TranslationImpl";
|
|
14
15
|
export interface IHasMagic {
|
|
15
16
|
magic?: MagicalPropertyManager;
|
|
16
17
|
}
|
|
@@ -87,4 +88,5 @@ export declare namespace MagicalPropertyIdentity {
|
|
|
87
88
|
function translationHash(...identity: MagicalPropertyIdentity): string;
|
|
88
89
|
function unhash(hash: MagicalPropertyIdentityHash): MagicalPropertyIdentity | undefined;
|
|
89
90
|
function equals(...identities: MagicalPropertyIdentity[]): boolean;
|
|
91
|
+
function getSubTypeTranslationDictionaryAndKey(identity: MagicalPropertyIdentity): TranslationImpl | undefined;
|
|
90
92
|
}
|
|
@@ -20,17 +20,17 @@ import type { IEventSubscriberEvents } from "@wayward/utilities/event/EventEmitt
|
|
|
20
20
|
import EventEmitter from "@wayward/utilities/event/EventEmitter";
|
|
21
21
|
export interface IMagicalPropertyManagerEvents extends IEventSubscriberEvents {
|
|
22
22
|
/**
|
|
23
|
-
* Emitted when a property was removed
|
|
23
|
+
* Emitted when a property was removed and the value of it
|
|
24
24
|
*/
|
|
25
|
-
remove(...identity: MagicalPropertyIdentity): any;
|
|
25
|
+
remove(...identity: MagicalPropertyIdentity<[value: number]>): any;
|
|
26
26
|
/**
|
|
27
27
|
* Emitted when a property was added
|
|
28
28
|
*/
|
|
29
29
|
add(...args: MagicalPropertyIdentity<[value: number, curse?: true]>): any;
|
|
30
30
|
/**
|
|
31
|
-
* Emitted when a property was set, and the value it was set to
|
|
31
|
+
* Emitted when a property was set, and the value it was set to, and what it was before
|
|
32
32
|
*/
|
|
33
|
-
set(...args: MagicalPropertyIdentity<[value: number, curse?: true]>): any;
|
|
33
|
+
set(...args: MagicalPropertyIdentity<[value: number, previousValue?: number, curse?: true]>): any;
|
|
34
34
|
/**
|
|
35
35
|
* Emitted when a property was set or removed
|
|
36
36
|
*/
|