@wayward/types 2.11.4-beta.dev.20220129.1 → 2.11.4-beta.dev.20220130.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.
- package/definitions/game/game/entity/Entity.d.ts +6 -6
- package/definitions/game/game/entity/creature/Creature.d.ts +4 -1
- package/definitions/game/game/entity/creature/CreatureManager.d.ts +1 -1
- package/definitions/game/game/entity/npc/NPC.d.ts +2 -1
- package/definitions/game/game/entity/player/MessageManager.d.ts +2 -2
- package/definitions/game/game/entity/player/Player.d.ts +5 -4
- package/definitions/game/multiplayer/IMultiplayer.d.ts +48 -47
- package/definitions/game/renderer/IRenderer.d.ts +39 -38
- package/definitions/game/renderer/context/RendererOrigin.d.ts +6 -5
- package/definitions/game/renderer/fieldOfView/FieldOfView.d.ts +2 -1
- package/definitions/game/renderer/notifier/INotifier.d.ts +2 -1
- package/definitions/game/renderer/particle/Particle.d.ts +1 -1
- package/definitions/game/utilities/math/Vector4.d.ts +20 -0
- package/package.json +1 -1
|
@@ -20,8 +20,7 @@ import type NPC from "game/entity/npc/NPC";
|
|
|
20
20
|
import type Player from "game/entity/player/Player";
|
|
21
21
|
import Stats from "game/entity/Stats";
|
|
22
22
|
import type StatusEffect from "game/entity/status/StatusEffect";
|
|
23
|
-
import type { FireType } from "game/IGame";
|
|
24
|
-
import { TileUpdateType } from "game/IGame";
|
|
23
|
+
import type { FireType, TileUpdateType } from "game/IGame";
|
|
25
24
|
import type { IInspector } from "game/inspection/IInfoProvider";
|
|
26
25
|
import type { IslandId } from "game/island/IIsland";
|
|
27
26
|
import type { ItemType, RecipeLevel } from "game/item/IItem";
|
|
@@ -36,6 +35,7 @@ import type { ItemNotifierType, StatNotificationType } from "renderer/notifier/I
|
|
|
36
35
|
import { Direction } from "utilities/math/Direction";
|
|
37
36
|
import type { IVector2, IVector3 } from "utilities/math/IVector";
|
|
38
37
|
import Vector2 from "utilities/math/Vector2";
|
|
38
|
+
import type { IVector4 } from "utilities/math/Vector4";
|
|
39
39
|
export default abstract class Entity extends EventEmitter.Host<IEntityEvents> implements IReferenceable, IInspector, ITemperatureSource, IVector3 {
|
|
40
40
|
readonly stat: Stats<this>;
|
|
41
41
|
entityType: EntityType;
|
|
@@ -100,7 +100,6 @@ export default abstract class Entity extends EventEmitter.Host<IEntityEvents> im
|
|
|
100
100
|
getActiveStatuses(): StatusEffect[];
|
|
101
101
|
abstract damage(damageInfoOrAmount: IDamageInfo | number): number | undefined;
|
|
102
102
|
getCraftingDifficulty(level: RecipeLevel): number;
|
|
103
|
-
getTileUpdateType(): TileUpdateType;
|
|
104
103
|
getTile(): ITile;
|
|
105
104
|
getPoint(): IVector3;
|
|
106
105
|
getFacingPoint(): IVector3;
|
|
@@ -120,11 +119,11 @@ export default abstract class Entity extends EventEmitter.Host<IEntityEvents> im
|
|
|
120
119
|
isInFov(): boolean;
|
|
121
120
|
setInFov(inFov: boolean): void;
|
|
122
121
|
isOnFire(): FireType;
|
|
123
|
-
|
|
124
|
-
canSeeObject(type: CanASeeBType, object: IVector3 & {
|
|
122
|
+
canSeeObject(type: CanASeeBType, object: IVector4 & {
|
|
125
123
|
fromX: number;
|
|
126
124
|
fromY: number;
|
|
127
|
-
}, fieldOfView?: FieldOfView): boolean;
|
|
125
|
+
}, fieldOfView?: FieldOfView, customRadius?: number): boolean;
|
|
126
|
+
canSeePosition(type: CanASeeBType, islandId: IslandId, x: number, y: number, z: number, fieldOfView?: FieldOfView | undefined, customRadius?: number): boolean;
|
|
128
127
|
queueSoundEffect(type: SfxType, delay?: number, speed?: number, noPosition?: boolean): void;
|
|
129
128
|
queueSoundEffectInFront(type: SfxType, delay?: number, speed?: number, noPosition?: boolean): void;
|
|
130
129
|
notifyItem(itemNotifierType: ItemNotifierType, type: ItemType): void;
|
|
@@ -134,6 +133,7 @@ export default abstract class Entity extends EventEmitter.Host<IEntityEvents> im
|
|
|
134
133
|
getProperty<T>(property: Property): T | undefined;
|
|
135
134
|
removeProperty(property: Property): boolean;
|
|
136
135
|
getProducedTemperature(): number | undefined;
|
|
136
|
+
abstract readonly tileUpdateType: TileUpdateType;
|
|
137
137
|
get asEntity(): Entity;
|
|
138
138
|
abstract get asCreature(): Creature | undefined;
|
|
139
139
|
abstract get asHuman(): Human | undefined;
|
|
@@ -13,11 +13,13 @@ import type { IEventEmitter } from "event/EventEmitter";
|
|
|
13
13
|
import type { ICreatureDescription, ICreatureEvents, IDamageInfo } from "game/entity/creature/ICreature";
|
|
14
14
|
import { CreatureType } from "game/entity/creature/ICreature";
|
|
15
15
|
import Entity from "game/entity/Entity";
|
|
16
|
+
import type Human from "game/entity/Human";
|
|
16
17
|
import type { IStatChangeInfo } from "game/entity/IEntity";
|
|
17
18
|
import { AiType, EntityType, MoveType, StatusType } from "game/entity/IEntity";
|
|
18
19
|
import type { IStat } from "game/entity/IStats";
|
|
19
20
|
import type Player from "game/entity/player/Player";
|
|
20
21
|
import type { CreationId } from "game/IGame";
|
|
22
|
+
import { TileUpdateType } from "game/IGame";
|
|
21
23
|
import type { IObject } from "game/IObject";
|
|
22
24
|
import type Item from "game/item/Item";
|
|
23
25
|
import type { ITile } from "game/tile/ITerrain";
|
|
@@ -29,6 +31,7 @@ export default class Creature extends Entity implements IUnserializedCallback, I
|
|
|
29
31
|
readonly objectType: CreationId.Creature;
|
|
30
32
|
event: IEventEmitter<this, ICreatureEvents>;
|
|
31
33
|
readonly entityType: EntityType.Creature;
|
|
34
|
+
readonly tileUpdateType = TileUpdateType.Creature;
|
|
32
35
|
aberrant?: boolean;
|
|
33
36
|
ai: AiType;
|
|
34
37
|
enemy?: number;
|
|
@@ -101,7 +104,7 @@ export default class Creature extends Entity implements IUnserializedCallback, I
|
|
|
101
104
|
protected updateDoodadOverHiddenStateForCurrentTile(hidden?: boolean): void;
|
|
102
105
|
protected preMove(fromX: number, fromY: number, fromZ: number, fromTile: ITile, toX: number, toY: number, toZ: number, toTile: ITile): boolean | void | undefined;
|
|
103
106
|
protected onStatChange(stat: IStat, oldValue: number, info: IStatChangeInfo): void;
|
|
104
|
-
findPath(target: IVector2, maxNodesChecked?: number,
|
|
107
|
+
findPath(target: IVector2, maxNodesChecked?: number, ignoreHuman?: Human): IVector2[] | undefined;
|
|
105
108
|
/**
|
|
106
109
|
* Check creature move with a multiplayer sync check
|
|
107
110
|
* @param source Provided when the check is running in a sync environment (NOT CLIENTSIDE)
|
|
@@ -72,7 +72,7 @@ export default class CreatureManager extends EntityManager<Creature> {
|
|
|
72
72
|
* @param willMove Set to true if the object is about to move to this tile. This method will confirm if theres an existing npc/creature there and return false if so
|
|
73
73
|
* @return Blocked penalty - Do no return 0!
|
|
74
74
|
*/
|
|
75
|
-
getMovePenalty(moveType: MoveType, tile: ITile, willMove: boolean): number;
|
|
75
|
+
getMovePenalty(moveType: MoveType, tile: ITile, willMove: boolean, ignoreHuman?: Human): number;
|
|
76
76
|
/**
|
|
77
77
|
* wasm calls this when calculating penalties for flow fields
|
|
78
78
|
*/
|
|
@@ -17,7 +17,7 @@ import { AiType, EntityType, MoveType } from "game/entity/IEntity";
|
|
|
17
17
|
import type { ICustomizations } from "game/entity/IHuman";
|
|
18
18
|
import { EquipType } from "game/entity/IHuman";
|
|
19
19
|
import type { NPCType } from "game/entity/npc/INPCs";
|
|
20
|
-
import { CreationId } from "game/IGame";
|
|
20
|
+
import { CreationId, TileUpdateType } from "game/IGame";
|
|
21
21
|
import type { ItemType } from "game/item/IItem";
|
|
22
22
|
import type Item from "game/item/Item";
|
|
23
23
|
import type { ITile } from "game/tile/ITerrain";
|
|
@@ -50,6 +50,7 @@ export default abstract class NPC extends Human {
|
|
|
50
50
|
readonly objectType = CreationId.NPC;
|
|
51
51
|
readonly event: IEventEmitter<this, INPCEvents>;
|
|
52
52
|
readonly entityType: EntityType.NPC;
|
|
53
|
+
readonly tileUpdateType = TileUpdateType.NPC;
|
|
53
54
|
get constructorFunction(): typeof NPC;
|
|
54
55
|
ai: AiType;
|
|
55
56
|
seen: number;
|
|
@@ -15,7 +15,7 @@ import type Player from "game/entity/player/Player";
|
|
|
15
15
|
import type Island from "game/island/Island";
|
|
16
16
|
import Message from "language/dictionary/Message";
|
|
17
17
|
import Translation from "language/Translation";
|
|
18
|
-
import type {
|
|
18
|
+
import type { IVector4 } from "utilities/math/Vector4";
|
|
19
19
|
export declare class MessageManagerNoOp implements IMessageManager {
|
|
20
20
|
saveNoProperties: undefined;
|
|
21
21
|
getMessageHistory(): Stream<IMessage>;
|
|
@@ -86,7 +86,7 @@ export default class MessageManager implements IMessageManager {
|
|
|
86
86
|
/**
|
|
87
87
|
* If the position is not visible to this human, the message won't be sent.
|
|
88
88
|
*/
|
|
89
|
-
ifVisible(canSee?:
|
|
89
|
+
ifVisible(canSee?: IVector4): this;
|
|
90
90
|
/**
|
|
91
91
|
* If this human is not on the given island, the message won't be sent.
|
|
92
92
|
*/
|
|
@@ -25,6 +25,7 @@ import MessageManager from "game/entity/player/MessageManager";
|
|
|
25
25
|
import NoteManager from "game/entity/player/note/NoteManager";
|
|
26
26
|
import QuestManager from "game/entity/player/quest/QuestManager";
|
|
27
27
|
import type { StatChangeCurrentTimerStrategy, StatChangeTimerFactory } from "game/entity/StatFactory";
|
|
28
|
+
import { TileUpdateType } from "game/IGame";
|
|
28
29
|
import type { IMoveToIslandOptions, IslandId } from "game/island/IIsland";
|
|
29
30
|
import type Island from "game/island/Island";
|
|
30
31
|
import type { IContainer, RecipeLevel } from "game/item/IItem";
|
|
@@ -42,9 +43,11 @@ import type { IUnserializedCallback } from "save/serializer/ISerializer";
|
|
|
42
43
|
import type { IContainerSortInfo, IContextMenuAction, IDialogInfo, IQuickSlotInfo } from "ui/old/IOldUi";
|
|
43
44
|
import { Direction } from "utilities/math/Direction";
|
|
44
45
|
import type { IVector2, IVector3 } from "utilities/math/IVector";
|
|
46
|
+
import type { IVector4 } from "utilities/math/Vector4";
|
|
45
47
|
export default class Player extends Human implements IUnserializedCallback {
|
|
46
48
|
event: IEventEmitter<this, IPlayerEvents>;
|
|
47
49
|
readonly entityType: EntityType.Player;
|
|
50
|
+
readonly tileUpdateType = TileUpdateType.Player;
|
|
48
51
|
absentLastUsedTime: number;
|
|
49
52
|
containerSortInfo: Record<string, IContainerSortInfo>;
|
|
50
53
|
dialogContainerInfo: Record<number, IDialogInfo>;
|
|
@@ -60,9 +63,7 @@ export default class Player extends Human implements IUnserializedCallback {
|
|
|
60
63
|
quickSlotInfo: IQuickSlotInfo[];
|
|
61
64
|
realTimeTickActionDelay: number;
|
|
62
65
|
revealedItems: Record<number, boolean>;
|
|
63
|
-
respawnPoint:
|
|
64
|
-
islandId: IslandId;
|
|
65
|
-
} & IVector3 | undefined;
|
|
66
|
+
respawnPoint: IVector4 | undefined;
|
|
66
67
|
tamedCreatures: Map<string, number[]>;
|
|
67
68
|
turns: number;
|
|
68
69
|
walkSoundCounter: number;
|
|
@@ -177,7 +178,7 @@ export default class Player extends Human implements IUnserializedCallback {
|
|
|
177
178
|
isServer(): boolean;
|
|
178
179
|
isMultiplayerHost(): boolean;
|
|
179
180
|
getName(): import("../../../language/impl/TranslationImpl").default;
|
|
180
|
-
canSeePosition(type: CanASeeBType,
|
|
181
|
+
canSeePosition(type: CanASeeBType, islandId: IslandId, x: number, y: number, z: number, fieldOfView?: FieldOfView, customRadius?: number): boolean;
|
|
181
182
|
markAsExplored(points: IVector2[]): boolean | undefined;
|
|
182
183
|
updateQuickSlotInfo(quickSlot: number, itemType?: ItemType, action?: IContextMenuAction, contextActionSlot?: number, contextActionType?: ActionType, canUseProtected?: boolean): void;
|
|
183
184
|
updateDialogInfo(dialogIndex: string | number): void;
|
|
@@ -54,53 +54,54 @@ export declare enum MultiplayerSyncCheck {
|
|
|
54
54
|
Doodad = 15,
|
|
55
55
|
DoodadManager = 16,
|
|
56
56
|
EncumberedStatus = 17,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
57
|
+
Entity = 18,
|
|
58
|
+
ExhaustedPreMove = 19,
|
|
59
|
+
FlowFieldHashCode = 20,
|
|
60
|
+
FlowFieldPenalty = 21,
|
|
61
|
+
FlowFieldUpdate = 22,
|
|
62
|
+
FlowFieldUpdateTile = 23,
|
|
63
|
+
FlowFieldValue = 24,
|
|
64
|
+
HandToUse = 25,
|
|
65
|
+
HealthChange = 26,
|
|
66
|
+
InventoryCount = 27,
|
|
67
|
+
Island = 28,
|
|
68
|
+
IslandCivilizationScore = 29,
|
|
69
|
+
Islands = 30,
|
|
70
|
+
IsTileEmpty = 31,
|
|
71
|
+
Item = 32,
|
|
72
|
+
ItemCraft = 33,
|
|
73
|
+
ItemDamage = 34,
|
|
74
|
+
ItemOrder = 35,
|
|
75
|
+
LastCreationIds = 36,
|
|
76
|
+
Merchant = 37,
|
|
77
|
+
MilestoneSeed = 38,
|
|
78
|
+
Misc = 39,
|
|
79
|
+
Modifier = 40,
|
|
80
|
+
MoveToTile = 41,
|
|
81
|
+
PenaltyFieldHashCode = 42,
|
|
82
|
+
PlaceOnTile = 43,
|
|
83
|
+
PlayerManager = 44,
|
|
84
|
+
PlayerPositions = 45,
|
|
85
|
+
Players = 46,
|
|
86
|
+
PlayerSetup = 47,
|
|
87
|
+
Random = 48,
|
|
88
|
+
Reputation = 49,
|
|
89
|
+
Seed = 50,
|
|
90
|
+
SeededGenerator = 51,
|
|
91
|
+
SkillGain = 52,
|
|
92
|
+
StaminaChanges = 53,
|
|
93
|
+
StatChange = 54,
|
|
94
|
+
Stats = 55,
|
|
95
|
+
StatusChange = 56,
|
|
96
|
+
StatusEffect = 57,
|
|
97
|
+
SyncChecks = 58,
|
|
98
|
+
TemperatureManager = 59,
|
|
99
|
+
Temporary = 60,
|
|
100
|
+
Tick = 61,
|
|
101
|
+
TileEvent = 62,
|
|
102
|
+
Time = 63,
|
|
103
|
+
UpdateDirection = 64,
|
|
104
|
+
Weight = 65
|
|
104
105
|
}
|
|
105
106
|
export declare const maxPlayers = 32;
|
|
106
107
|
export declare const packetTickRate = 16;
|
|
@@ -64,43 +64,44 @@ export declare enum RenderSource {
|
|
|
64
64
|
Mod = 20,
|
|
65
65
|
MovementCreature = 21,
|
|
66
66
|
MovementNPC = 22,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
67
|
+
MovementPlayer = 23,
|
|
68
|
+
MovementPlayerPost = 24,
|
|
69
|
+
MovementPlayerPre = 25,
|
|
70
|
+
MovementPlayerZPost = 26,
|
|
71
|
+
MovementPlayerZPre = 27,
|
|
72
|
+
MovementTileEvent = 28,
|
|
73
|
+
MultiplayerDisconnect = 29,
|
|
74
|
+
Notifier = 30,
|
|
75
|
+
NotifierAddCreature = 31,
|
|
76
|
+
NotifierAddItem = 32,
|
|
77
|
+
NotifierAddNotifierIcon = 33,
|
|
78
|
+
NotifierAddStat = 34,
|
|
79
|
+
NotifierAddStatusType = 35,
|
|
80
|
+
OptionHeadgear = 36,
|
|
81
|
+
OptionVisionMode = 37,
|
|
82
|
+
OptionZoomLevel = 38,
|
|
83
|
+
Particles = 39,
|
|
84
|
+
ParticleSpawn = 40,
|
|
85
|
+
PlayerAdd = 41,
|
|
86
|
+
PlayerKill = 42,
|
|
87
|
+
PlayerProcessMovement = 43,
|
|
88
|
+
PlayerReady = 44,
|
|
89
|
+
PlayerRemove = 45,
|
|
90
|
+
PlayerRespawn = 46,
|
|
91
|
+
PlayerRest = 47,
|
|
92
|
+
PlayerRestStart = 48,
|
|
93
|
+
PlayerRestStop = 49,
|
|
94
|
+
PlayerVehicle = 50,
|
|
95
|
+
PlayerWalkToTilePath = 51,
|
|
96
|
+
PlayerWalkToTilePathOverburdened = 52,
|
|
97
|
+
PlayerWalkToTilePathPreview = 53,
|
|
98
|
+
PlayerWalkToTilePathReset = 54,
|
|
99
|
+
RemoveBlood = 55,
|
|
100
|
+
Resize = 56,
|
|
101
|
+
SetupGl = 57,
|
|
102
|
+
StartGame = 58,
|
|
103
|
+
Steamworks = 59,
|
|
104
|
+
Thumbnail = 60,
|
|
105
|
+
WorldLayerRendererFlush = 61
|
|
105
106
|
}
|
|
106
107
|
export declare function calculateAmbientLightLevel(origin: IRendererOrigin, z: number): number;
|
|
@@ -16,6 +16,7 @@ import type Island from "game/island/Island";
|
|
|
16
16
|
import FieldOfView from "renderer/fieldOfView/FieldOfView";
|
|
17
17
|
import type { CanASeeBType } from "renderer/fieldOfView/IFieldOfView";
|
|
18
18
|
import type { IVector3 } from "utilities/math/IVector";
|
|
19
|
+
import type { IVector4 } from "utilities/math/Vector4";
|
|
19
20
|
export interface IRendererOrigin {
|
|
20
21
|
readonly islandId: IslandId;
|
|
21
22
|
readonly island: Island;
|
|
@@ -28,11 +29,11 @@ export interface IRendererOrigin {
|
|
|
28
29
|
readonly asEntity: Entity | undefined;
|
|
29
30
|
readonly asPlayer: Player | undefined;
|
|
30
31
|
readonly asHuman: Human | undefined;
|
|
31
|
-
|
|
32
|
-
canSeeObject(type: CanASeeBType, object: IVector3 & {
|
|
32
|
+
canSeeObject(type: CanASeeBType, object: IVector4 & {
|
|
33
33
|
fromX: number;
|
|
34
34
|
fromY: number;
|
|
35
35
|
}, fieldOfView: FieldOfView | undefined): boolean;
|
|
36
|
+
canSeePosition(type: CanASeeBType, islandId: IslandId, x: number, y: number, z: number, fieldOfView: FieldOfView | undefined): boolean;
|
|
36
37
|
getMovementProgress(timeStamp: number): number;
|
|
37
38
|
}
|
|
38
39
|
export declare class RendererOrigin implements IRendererOrigin {
|
|
@@ -47,13 +48,13 @@ export declare class RendererOrigin implements IRendererOrigin {
|
|
|
47
48
|
readonly isMovingClientside: boolean;
|
|
48
49
|
readonly asEntity: Entity | undefined;
|
|
49
50
|
readonly asPlayer: Player | undefined;
|
|
50
|
-
readonly asHuman:
|
|
51
|
+
readonly asHuman: Human | undefined;
|
|
51
52
|
private constructor();
|
|
52
53
|
get island(): Island;
|
|
53
54
|
getMovementProgress(_timeStamp: number): number;
|
|
54
|
-
canSeeObject(type: CanASeeBType, object:
|
|
55
|
+
canSeeObject(type: CanASeeBType, object: IVector4 & {
|
|
55
56
|
fromX: number;
|
|
56
57
|
fromY: number;
|
|
57
58
|
}, fieldOfView: FieldOfView | undefined): boolean;
|
|
58
|
-
canSeePosition(type: CanASeeBType, x: number, y: number, z: number, fieldOfView: FieldOfView | undefined): boolean;
|
|
59
|
+
canSeePosition(type: CanASeeBType, islandId: IslandId, x: number, y: number, z: number, fieldOfView: FieldOfView | undefined): boolean;
|
|
59
60
|
}
|
|
@@ -21,6 +21,7 @@ import type { IBound3 } from "utilities/math/Bound3";
|
|
|
21
21
|
import type { IVector2, IVector3 } from "utilities/math/IVector";
|
|
22
22
|
import Vector2 from "utilities/math/Vector2";
|
|
23
23
|
import type { IRendererOrigin } from "renderer/context/RendererOrigin";
|
|
24
|
+
import type { IslandId } from "game/island/IIsland";
|
|
24
25
|
export default class FieldOfView extends EventEmitter.Host<IFieldOfViewEvents> {
|
|
25
26
|
protected readonly context: RendererContext;
|
|
26
27
|
private readonly worldRenderer;
|
|
@@ -50,7 +51,7 @@ export default class FieldOfView extends EventEmitter.Host<IFieldOfViewEvents> {
|
|
|
50
51
|
private transitionFinishTime;
|
|
51
52
|
private lastComputedIslandId;
|
|
52
53
|
static initializePrograms(webGlContext: WebGlContext): Promise<void>;
|
|
53
|
-
static canSeePosition(origin: IRendererOrigin, type: CanASeeBType, tileX: number, tileY: number, tileZ: number, fieldOfView?: FieldOfView | undefined, customRadius?: number): boolean;
|
|
54
|
+
static canSeePosition(origin: IRendererOrigin, type: CanASeeBType, islandId: IslandId, tileX: number, tileY: number, tileZ: number, fieldOfView?: FieldOfView | undefined, customRadius?: number): boolean;
|
|
54
55
|
static getBounds(origin: IVector3, radius: number): IBound3;
|
|
55
56
|
/**
|
|
56
57
|
* Updates the explored tiles around players
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
* https://github.com/WaywardGame/types/wiki
|
|
10
10
|
*/
|
|
11
11
|
import type { SfxType } from "audio/IAudio";
|
|
12
|
+
import type { IslandId } from "game/island/IIsland";
|
|
12
13
|
import type { IVector2, IVector3 } from "utilities/math/IVector";
|
|
13
14
|
export interface INotificationLocation extends IVector3 {
|
|
14
|
-
readonly islandId:
|
|
15
|
+
readonly islandId: IslandId;
|
|
15
16
|
getMovementPoint?(timeStamp: number): IVector2;
|
|
16
17
|
queueSoundEffect?(soundEffect: SfxType): void;
|
|
17
18
|
}
|
|
@@ -32,7 +32,7 @@ export default class Particle {
|
|
|
32
32
|
constructor(context: RendererContext, worldRenderer: WorldRenderer, maxParticles?: number);
|
|
33
33
|
delete(): void;
|
|
34
34
|
create(island: Island, tileX: number, tileY: number, tileZ: number, particle: IRGB): void;
|
|
35
|
-
createMultiple(island: Island, tileX: number, tileY: number, tileZ: number, particle: IRGB, count: number, intensity?: number
|
|
35
|
+
createMultiple(island: Island, tileX: number, tileY: number, tileZ: number, particle: IRGB, count: number, intensity?: number): void;
|
|
36
36
|
clear(): void;
|
|
37
37
|
update(timeStamp: number): void;
|
|
38
38
|
render(x: number, y: number): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2011-2021 Unlok
|
|
3
|
+
* https://www.unlok.ca
|
|
4
|
+
*
|
|
5
|
+
* Credits & Thanks:
|
|
6
|
+
* https://www.unlok.ca/credits-thanks/
|
|
7
|
+
*
|
|
8
|
+
* Wayward is a copyrighted and licensed work. Modification and/or distribution of any source files is prohibited. If you wish to modify the game in any way, please refer to the modding guide:
|
|
9
|
+
* https://github.com/WaywardGame/types/wiki
|
|
10
|
+
*/
|
|
11
|
+
import type { IslandId } from "game/island/IIsland";
|
|
12
|
+
import type { IVector3 } from "utilities/math/IVector";
|
|
13
|
+
import Vector3 from "utilities/math/Vector3";
|
|
14
|
+
export interface IVector4 extends IVector3 {
|
|
15
|
+
readonly islandId: IslandId;
|
|
16
|
+
}
|
|
17
|
+
export default class Vector4 extends Vector3 implements IVector4 {
|
|
18
|
+
readonly islandId: IslandId;
|
|
19
|
+
constructor(islandId: IslandId, x: number, y: number, z: number);
|
|
20
|
+
}
|
package/package.json
CHANGED