@wayward/types 2.15.0-beta.dev.20251002.1 → 2.15.0-beta.dev.20251004.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 (45) hide show
  1. package/definitions/game/game/Game.d.ts +3 -1
  2. package/definitions/game/game/IGame.d.ts +2 -7
  3. package/definitions/game/game/curse/Curse.d.ts +107 -0
  4. package/definitions/game/game/curse/CurseEvent.d.ts +115 -0
  5. package/definitions/game/game/curse/CurseEventDefinitions.d.ts +14 -0
  6. package/definitions/game/game/curse/ICurse.d.ts +72 -0
  7. package/definitions/game/game/curse/event/CurseEventFrigidNight.d.ts +13 -0
  8. package/definitions/game/game/curse/event/CurseEventHeatWave.d.ts +13 -0
  9. package/definitions/game/game/deity/Deity.d.ts +0 -2
  10. package/definitions/game/game/entity/Human.d.ts +4 -1
  11. package/definitions/game/game/entity/IHuman.d.ts +5 -1
  12. package/definitions/game/game/entity/action/actions/SetTitle.d.ts +1 -1
  13. package/definitions/game/game/entity/player/MessageManager.d.ts +1 -1
  14. package/definitions/game/game/entity/status/IStatus.d.ts +30 -7
  15. package/definitions/game/game/entity/status/IStatusContext.d.ts +2 -1
  16. package/definitions/game/game/entity/status/Status.d.ts +2 -2
  17. package/definitions/game/game/entity/status/handler/BadTemperatureEffect.d.ts +3 -0
  18. package/definitions/game/game/entity/status/statuses/Cursed.d.ts +13 -0
  19. package/definitions/game/game/inspection/infoProviders/doodad/StillWater.d.ts +1 -0
  20. package/definitions/game/game/inspection/inspections/StatusInspection.d.ts +5 -2
  21. package/definitions/game/game/island/Island.d.ts +5 -1
  22. package/definitions/game/game/milestones/IMilestone.d.ts +1 -1
  23. package/definitions/game/game/options/modifiers/milestone/modifiers/Exsanguinated.d.ts +1 -1
  24. package/definitions/game/game/temperature/TemperatureManager.d.ts +3 -0
  25. package/definitions/game/game/time/ITimeManager.d.ts +1 -0
  26. package/definitions/game/game/time/TimeManager.d.ts +4 -4
  27. package/definitions/game/language/Dictionary.d.ts +110 -108
  28. package/definitions/game/language/DictionaryMap.d.ts +221 -217
  29. package/definitions/game/language/dictionary/Message.d.ts +563 -555
  30. package/definitions/game/language/dictionary/Misc.d.ts +4 -0
  31. package/definitions/game/language/dictionary/UiTranslation.d.ts +665 -664
  32. package/definitions/game/language/english/game/CurseEventGroups.d.ts +13 -0
  33. package/definitions/game/language/english/game/CurseEvents.d.ts +13 -0
  34. package/definitions/game/language/english/ui/CurseComponents.d.ts +1 -1
  35. package/definitions/game/resource/IResourceLoader.d.ts +44 -42
  36. package/definitions/game/ui/screen/screens/game/static/stats/component/StatusContext.d.ts +2 -1
  37. package/definitions/game/ui/screen/screens/game/static/stats/component/StatusIcon.d.ts +2 -1
  38. package/definitions/game/ui/screen/screens/game/static/stats/component/Statuses.d.ts +2 -1
  39. package/definitions/{utilities/class → game/utilities}/Inject.d.ts +3 -2
  40. package/definitions/utilities/event/EventBusManager.d.ts +4 -3
  41. package/definitions/utilities/math/Math2.d.ts +1 -0
  42. package/definitions/utilities/object/Objects.d.ts +1 -0
  43. package/definitions/utilities/random/Random.d.ts +6 -0
  44. package/package.json +1 -1
  45. package/definitions/game/game/deity/Curse.d.ts +0 -40
@@ -31,7 +31,7 @@ import type { ILiquidGather, IRangedResolvedDirection } from "@wayward/game/game
31
31
  import type { IRequirementInfo } from "@wayward/game/game/item/IItemManager";
32
32
  import ItemManager from "@wayward/game/game/item/ItemManager";
33
33
  import type DrawnMap from "@wayward/game/game/mapping/DrawnMap";
34
- import type { IGameOptions } from "@wayward/game/game/options/IGameOptions";
34
+ import type { IGameOptions, IGameOptionsPartial } from "@wayward/game/game/options/IGameOptions";
35
35
  import type { IslandModifiersCollection } from "@wayward/game/game/options/modifiers/island/IslandModifiers";
36
36
  import type { IReferenceable } from "@wayward/game/game/reference/IReferenceManager";
37
37
  import TemperatureManager from "@wayward/game/game/temperature/TemperatureManager";
@@ -53,6 +53,7 @@ import EventEmitter from "@wayward/utilities/event/EventEmitter";
53
53
  import type { Random } from "@wayward/utilities/random/Random";
54
54
  import type { LegacySeededGenerator } from "@wayward/utilities/random/generators/LegacySeededGenerator";
55
55
  import type { PCGSeededGenerator } from "@wayward/utilities/random/generators/PCGSeededGenerator";
56
+ import Curse from "@wayward/game/game/curse/Curse";
56
57
  export interface IIslandDetails {
57
58
  seed: number;
58
59
  biomeType: BiomeTypes;
@@ -96,6 +97,7 @@ export default class Island extends EventEmitter.Host<IIslandEvents> implements
96
97
  biomeOptions?: unknown;
97
98
  biomeType: BiomeTypes;
98
99
  contaminatedWater: IWaterContamination[];
100
+ curse: Curse;
99
101
  lastPlayerGameTimeTicks?: number;
100
102
  loadCount: number;
101
103
  name?: string;
@@ -172,6 +174,8 @@ export default class Island extends EventEmitter.Host<IIslandEvents> implements
172
174
  */
173
175
  private deactivate;
174
176
  private gameOptionsCached?;
177
+ /** A game options modifier that always returns an empty array by default, to be injected into */
178
+ getAdditionalGameOptionsSources(): IGameOptionsPartial[];
175
179
  getGameOptions(): ImmutableObject<IGameOptions>;
176
180
  clearGameOptionsCache(): void;
177
181
  rename(human: Human, newName: string): void;
@@ -70,7 +70,7 @@ export declare enum Milestone {
70
70
  Runekeeper = 58,
71
71
  InternalDeityDiscovery = 59,
72
72
  InternalMerchantsDiscovery = 60,
73
- InternalDeitySystemDiscovery = 61,
73
+ InternalCurseSystemDiscovery = 61,
74
74
  Invoker = 62,
75
75
  InternalDeityInvoked = 63,
76
76
  InternalInsulationDiscovery = 64,
@@ -24,7 +24,7 @@ import type { IGameOptionsPartial, IGameOptionsStatus } from "@wayward/game/game
24
24
  import MilestoneModifier, { MilestoneModifierInstance } from "@wayward/game/game/options/modifiers/milestone/MilestoneModifier";
25
25
  import { MilestoneModifierGroup } from "@wayward/game/game/options/modifiers/milestone/IMilestoneModifier";
26
26
  import type { TranslationArg } from "@wayward/game/language/ITranslation";
27
- import type { IInjectionApi } from "@wayward/utilities/class/Inject";
27
+ import type { IInjectionApi } from "@wayward/game/utilities/Inject";
28
28
  export default class Exsanguinated extends MilestoneModifier {
29
29
  getOptions(): IGameOptionsPartial;
30
30
  getTranslationArgs(): TranslationArg[] | undefined;
@@ -32,6 +32,7 @@ import type { IPreSerializeCallback } from "@wayward/game/save/serializer/ISeria
32
32
  import type { IVector3 } from "@wayward/game/utilities/math/IVector";
33
33
  import { IRange } from "@wayward/utilities/math/Range";
34
34
  import Vector2 from "@wayward/game/utilities/math/Vector2";
35
+ import type { BiomeType } from "@wayward/game/game/biome/IBiome";
35
36
  export declare const TEMPERATURE_DIFFUSION_RATE: number;
36
37
  export declare const TEMPERATURE_BOUNDARY_MIN_VEC2: Vector2;
37
38
  export declare const TEMPERATURE_INVALID = 255;
@@ -100,6 +101,8 @@ export default class TemperatureManager extends EventEmitter.Host<ITemperatureMa
100
101
  getContainerItemsTemperature(container: IContainer, containerHash?: string): number | undefined;
101
102
  private getContainerBaseTemperature;
102
103
  private getContainerInsulation;
104
+ /** A global temperature modifier that always returns 0 by default, to be injected into */
105
+ getTempModifier(biome: BiomeType, layer: WorldZ): number;
103
106
  /**
104
107
  * Returns the current overall temperature for the given tile.
105
108
  */
@@ -27,6 +27,7 @@ export declare enum TimeFormat {
27
27
  */
28
28
  TwentyFourHourNoMinute = 4
29
29
  }
30
+ export type TimeString = (`${number}:${number}` | `${number}:${number}${"am" | "pm"}` | `${number}${"am" | "pm"}`);
30
31
  export declare enum PartOfDay {
31
32
  Nighttime = 1,
32
33
  Dawn = 2,
@@ -8,7 +8,7 @@
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 { PartOfDayGranular } from "@wayward/game/game/time/ITimeManager";
11
+ import type { PartOfDayGranular, TimeString } from "@wayward/game/game/time/ITimeManager";
12
12
  import { DayQuarter, TimeFormat } from "@wayward/game/game/time/ITimeManager";
13
13
  import type TranslationImpl from "@wayward/game/language/impl/TranslationImpl";
14
14
  export default class TimeManager {
@@ -66,13 +66,13 @@ export default class TimeManager {
66
66
  * @param checkTime A formatted time.
67
67
  * @param time The time to check, defaulting to the current time.
68
68
  */
69
- isPast(checkTime: string, time?: number): boolean | undefined;
69
+ isPast(checkTime: TimeString, time?: number): boolean | undefined;
70
70
  /**
71
71
  * Checks if the given time is before a formatted time.
72
72
  * @param checkTime A formatted time.
73
73
  * @param time The time to check, defaulting to the current time.
74
74
  */
75
- isBefore(checkTime: string, time?: number): boolean | undefined;
75
+ isBefore(checkTime: TimeString, time?: number): boolean | undefined;
76
76
  /**
77
77
  * Returns if the given time is between two formatted times.
78
78
  * @param checkPast A formatted time to check if the given time is after.
@@ -81,7 +81,7 @@ export default class TimeManager {
81
81
  *
82
82
  * Internally calls `isPast` and `isBefore`
83
83
  */
84
- isBetween(checkPast: string, checkBefore: string, currentTime?: number): boolean | undefined;
84
+ isBetween(checkPast: TimeString, checkBefore: TimeString, currentTime?: number): boolean | undefined;
85
85
  /**
86
86
  * Returns the hours and minutes of the given time.
87
87
  * @param time The time to use, defaulting to the current time.
@@ -33,113 +33,115 @@ declare enum Dictionary {
33
33
  CraftingSort = 21,
34
34
  Creature = 22,
35
35
  CurseComponent = 23,
36
- DamageType = 24,
37
- Deity = 25,
38
- DeitySymbol = 26,
39
- Dialog = 27,
40
- Direction = 28,
41
- DisplayLevel = 29,
42
- DoctorCure = 30,
43
- DoctorMethod = 31,
44
- Doodad = 32,
45
- DoodadExtra = 33,
46
- DoodadGroup = 34,
47
- DrawnMapTheme = 35,
48
- DurabilityLevel = 36,
49
- EquipEffect = 37,
50
- EquipSlot = 38,
51
- ExhaustionLevel = 39,
52
- FireStage = 40,
53
- FontStyle = 41,
54
- GameEndMessage = 42,
55
- GameMode = 43,
56
- Growth = 44,
57
- GrowthFungus = 45,
58
- Health = 46,
59
- HealthAccuracy = 47,
60
- HelpArticle = 48,
61
- HighscoreSort = 49,
62
- HumanName = 50,
63
- HungerLevel = 51,
64
- Input = 52,
65
- InspectType = 53,
66
- InterruptChoice = 54,
67
- IslandModifier = 55,
68
- IslandName = 56,
69
- IslandNameBiomeDescriptor = 57,
70
- IslandNameBiomeNoun = 58,
71
- IslandNameModifierDescriptor = 59,
72
- IslandNameOverrunWithCreatureDescriptor = 60,
73
- Item = 61,
74
- ItemAffixPostReformat = 62,
75
- ItemAffixPreReformat = 63,
76
- ItemExtra = 64,
77
- ItemGroup = 65,
78
- JoinServerRetryReason = 66,
79
- Label = 67,
80
- Level = 68,
81
- LighthouseName = 69,
82
- Loading = 70,
83
- Macro = 71,
84
- MagicalPropertyAffix = 72,
85
- MagicalPropertyType = 73,
86
- MagicalSubPropertyAffix = 74,
87
- MapQuality = 75,
88
- MenuBarButton = 76,
89
- Message = 77,
90
- MessagesDefaultFilter = 78,
91
- MessagesTimestampMode = 79,
92
- Milestone = 80,
93
- MilestoneModifierGroup = 81,
94
- MilestoneSort = 82,
95
- Misc = 83,
96
- ModLoadError = 84,
97
- ModLoadFailureReason = 85,
98
- ModProvide = 86,
99
- ModSort = 87,
100
- ModType = 88,
101
- MultiplayerCompatibility = 89,
102
- MultiplayerDisconnectReason = 90,
103
- MusicPlaylist = 91,
104
- Note = 92,
105
- Npc = 93,
106
- Number = 94,
107
- PartOfDay = 95,
108
- Prompt = 96,
109
- QuadrantComponent = 97,
110
- QuadrantComponentContextMenuAction = 98,
111
- Quality = 99,
112
- Quest = 100,
113
- QuestRequirement = 101,
114
- RecipeLevel = 102,
115
- Region = 103,
116
- Riddle = 104,
117
- RunekeeperDomain = 105,
118
- RunekeeperDomainEvent = 106,
119
- SaveImportErrorReason = 107,
120
- SaveSlotSort = 108,
121
- Skill = 109,
122
- SkillsSort = 110,
123
- Source = 111,
124
- Stat = 112,
125
- Status = 113,
126
- StatusEffect = 114,
127
- StatusThreatLevel = 115,
128
- SteamInputKeyboardPosition = 116,
129
- TeamMemberResponsibility = 117,
130
- TemperatureType = 118,
131
- Term = 119,
132
- Terrain = 120,
133
- ThirstLevel = 121,
134
- TileEvent = 122,
135
- TooltipVisibilityOption = 123,
136
- Ui = 124,
137
- UiQuadrant = 125,
138
- UnableToJoinReason = 126,
139
- UnlockedRecipesStrategy = 127,
140
- UsableActionType = 128,
141
- Website = 129,
142
- WeightStatus = 130,
143
- WorldLayer = 131
36
+ CurseEvent = 24,
37
+ CurseEventGroup = 25,
38
+ DamageType = 26,
39
+ Deity = 27,
40
+ DeitySymbol = 28,
41
+ Dialog = 29,
42
+ Direction = 30,
43
+ DisplayLevel = 31,
44
+ DoctorCure = 32,
45
+ DoctorMethod = 33,
46
+ Doodad = 34,
47
+ DoodadExtra = 35,
48
+ DoodadGroup = 36,
49
+ DrawnMapTheme = 37,
50
+ DurabilityLevel = 38,
51
+ EquipEffect = 39,
52
+ EquipSlot = 40,
53
+ ExhaustionLevel = 41,
54
+ FireStage = 42,
55
+ FontStyle = 43,
56
+ GameEndMessage = 44,
57
+ GameMode = 45,
58
+ Growth = 46,
59
+ GrowthFungus = 47,
60
+ Health = 48,
61
+ HealthAccuracy = 49,
62
+ HelpArticle = 50,
63
+ HighscoreSort = 51,
64
+ HumanName = 52,
65
+ HungerLevel = 53,
66
+ Input = 54,
67
+ InspectType = 55,
68
+ InterruptChoice = 56,
69
+ IslandModifier = 57,
70
+ IslandName = 58,
71
+ IslandNameBiomeDescriptor = 59,
72
+ IslandNameBiomeNoun = 60,
73
+ IslandNameModifierDescriptor = 61,
74
+ IslandNameOverrunWithCreatureDescriptor = 62,
75
+ Item = 63,
76
+ ItemAffixPostReformat = 64,
77
+ ItemAffixPreReformat = 65,
78
+ ItemExtra = 66,
79
+ ItemGroup = 67,
80
+ JoinServerRetryReason = 68,
81
+ Label = 69,
82
+ Level = 70,
83
+ LighthouseName = 71,
84
+ Loading = 72,
85
+ Macro = 73,
86
+ MagicalPropertyAffix = 74,
87
+ MagicalPropertyType = 75,
88
+ MagicalSubPropertyAffix = 76,
89
+ MapQuality = 77,
90
+ MenuBarButton = 78,
91
+ Message = 79,
92
+ MessagesDefaultFilter = 80,
93
+ MessagesTimestampMode = 81,
94
+ Milestone = 82,
95
+ MilestoneModifierGroup = 83,
96
+ MilestoneSort = 84,
97
+ Misc = 85,
98
+ ModLoadError = 86,
99
+ ModLoadFailureReason = 87,
100
+ ModProvide = 88,
101
+ ModSort = 89,
102
+ ModType = 90,
103
+ MultiplayerCompatibility = 91,
104
+ MultiplayerDisconnectReason = 92,
105
+ MusicPlaylist = 93,
106
+ Note = 94,
107
+ Npc = 95,
108
+ Number = 96,
109
+ PartOfDay = 97,
110
+ Prompt = 98,
111
+ QuadrantComponent = 99,
112
+ QuadrantComponentContextMenuAction = 100,
113
+ Quality = 101,
114
+ Quest = 102,
115
+ QuestRequirement = 103,
116
+ RecipeLevel = 104,
117
+ Region = 105,
118
+ Riddle = 106,
119
+ RunekeeperDomain = 107,
120
+ RunekeeperDomainEvent = 108,
121
+ SaveImportErrorReason = 109,
122
+ SaveSlotSort = 110,
123
+ Skill = 111,
124
+ SkillsSort = 112,
125
+ Source = 113,
126
+ Stat = 114,
127
+ Status = 115,
128
+ StatusEffect = 116,
129
+ StatusThreatLevel = 117,
130
+ SteamInputKeyboardPosition = 118,
131
+ TeamMemberResponsibility = 119,
132
+ TemperatureType = 120,
133
+ Term = 121,
134
+ Terrain = 122,
135
+ ThirstLevel = 123,
136
+ TileEvent = 124,
137
+ TooltipVisibilityOption = 125,
138
+ Ui = 126,
139
+ UiQuadrant = 127,
140
+ UnableToJoinReason = 128,
141
+ UnlockedRecipesStrategy = 129,
142
+ UsableActionType = 130,
143
+ Website = 131,
144
+ WeightStatus = 132,
145
+ WorldLayer = 133
144
146
  }
145
147
  export default Dictionary;