@wayward/types 2.15.0-beta.dev.20251020.1 → 2.15.0-beta.dev.20251021.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.
@@ -37,6 +37,11 @@ export declare const CumulativeKilling: DataComponent<number, number>;
37
37
  export declare const Sleeplessness: DataComponent<number, number>;
38
38
  export declare const HighestAttack: DataComponent.Live<number>;
39
39
  export declare const HighestDefense: DataComponent.Live<number>;
40
+ export interface Obliviousness {
41
+ days: number;
42
+ thisNightInvalidated: boolean;
43
+ }
44
+ export declare const Obliviousness: DataComponent<Obliviousness, Obliviousness>;
40
45
  /**
41
46
  * Gets the highest value of either current or max skill multiplied by the "evilness" of each skill (from rune chance)
42
47
  * (Basically, high values in any of the evil-er skills make curse go brrrr)
@@ -101,8 +106,9 @@ declare namespace Curse {
101
106
  function canWarnAboutIncomingEvents(island: Island): boolean;
102
107
  function getCooldownMultiplier(island: Island, humans?: Human<unknown, number, import("../reference/IReferenceManager").ReferenceType.NPC | import("../reference/IReferenceManager").ReferenceType.Player, unknown>[]): number;
103
108
  function clearCooldown(island: Island): void;
109
+ function resetCooldown(island: Island): void;
104
110
  function tickCurse(island: Island, humans: Human[]): void;
105
- function reload(island: Island): void;
111
+ function reload(island: Island, isNew?: boolean): void;
106
112
  function spawnCurseEvents(island: Island, humans: Human[]): void;
107
113
  function attemptCurseEventSpawn(category: CurseCategory, human: Human, curse: number, humans: Human[], events: CurseEventInstance[]): CurseEventInstance | undefined;
108
114
  function attemptSpecificCurseEventSpawn(human: Human, type: CurseEventType, humans: Human[], curse?: number): CurseEventInstance | undefined;
@@ -17,7 +17,7 @@ import type Entity from "@wayward/game/game/entity/Entity";
17
17
  import EntityWithStats from "@wayward/game/game/entity/EntityWithStats";
18
18
  import type { IAttack, ICausesDamage, IEntityConstructorOptions, IMovingData, MoveFlag } from "@wayward/game/game/entity/IEntity";
19
19
  import { AttackType, DamageType, IStatChangeInfo, StatusChangeReason } from "@wayward/game/game/entity/IEntity";
20
- import type { HumanTag, ICheckUnderOptions, ICrafted, ICustomizations, IHumanEvents, ILoadOnIslandOptions, IRestData, IVoyageInfo, WalkToChangeReason } from "@wayward/game/game/entity/IHuman";
20
+ import type { HumanTag, ICheckUnderOptions as ICheckUnderOptions, ICrafted, ICustomizations, IHumanEvents, ILoadOnIslandOptions, IRestData, IVoyageInfo, WalkToChangeReason } from "@wayward/game/game/entity/IHuman";
21
21
  import { EquipType, RestCancelReason } from "@wayward/game/game/entity/IHuman";
22
22
  import { SkillType } from "@wayward/game/game/entity/skill/ISkills";
23
23
  import type { IStat } from "@wayward/game/game/entity/IStats";
@@ -425,7 +425,8 @@ export interface ICrafted {
425
425
  newUnlock: boolean;
426
426
  }
427
427
  export interface ICheckUnderOptions {
428
- skipDoodadEvents?: boolean;
428
+ skipDoodadsAndTileEvents?: boolean;
429
+ doItemCrushing?: boolean;
429
430
  burned?: boolean;
430
431
  }
431
432
  export declare const craftingChances: Descriptions<RecipeLevel, number>;
@@ -16,5 +16,5 @@ export declare enum TitleType {
16
16
  Milestone = 0,
17
17
  Skill = 1
18
18
  }
19
- declare const _default: Action<[[ActionArgument.Undefined, import("../argument/ActionArgumentEnum").default<TitleType, "Milestone" | "Skill">], [arg1: ActionArgument.Undefined, import("../argument/ActionArgumentEnum").default<Milestone, "Navigator" | "Abnormalizer" | "Merchant" | "Prepared" | "Chef" | "Exterminator" | "Crafter" | "Gardener" | "Gatherer" | "Hunter" | "Locksmith" | "ReaperOfSouls" | "Survivor" | "Pitcher" | "Trapsetter" | "TreasureHunter" | "Collector" | "Explorer" | "Grandmaster" | "Doctor" | "Artificer" | "Returned" | "DragonSlayer" | "Treasurer" | "Pulchritudinous" | "Friendly" | "Malevolent" | "Benevolent" | "Boundless" | "Talented" | "Weathered" | "Seasoned" | "Pacifier" | "Notekeeper" | "Operator" | "Huntsman" | "Contender" | "Challenger" | "DestroyerOfMagi" | "Helmsman" | "Multitasker" | "Apocryphal" | "Diverse" | "InternalDiscoveredBoats" | "Traitor" | "MasterOfAll" | "Rouseabout" | "Murderer" | "Retailer" | "Masochist" | "Versatile" | "InternalStatDiscovery" | "Dedicated" | "Hounded" | "Serene" | "InternalRuneOrAltarDiscovery" | "Curator" | "Thaumaturgic" | "Runekeeper" | "InternalDeityDiscovery" | "InternalMerchantsDiscovery" | "InternalCurseSystemDiscovery" | "Invoker" | "InternalDeityInvoked" | "InternalInsulationDiscovery" | "Turbulent" | "Statistician" | "Afflicted" | "Exsanguinated" | "InternalItemDiscovered" | "Cursed" | "Cursebreaker">, import("../argument/ActionArgumentEnum").default<SkillType, "None" | "Taming" | "Mining" | "Swimming" | "Chemistry" | "Anatomy" | "Marksmanship" | "Blacksmithing" | "Botany" | "Camping" | "Cartography" | "Claythrowing" | "Cooking" | "Fishing" | "Fletching" | "Glassblowing" | "Leatherworking" | "Lockpicking" | "Lumberjacking" | "Mycology" | "Parrying" | "Stonecrafting" | "Tactics" | "Tailoring" | "Throwing" | "Tinkering" | "Trapping" | "Woodworking" | "Horticulture" | "Bartering" | "Seafaring" | "Thaumaturgy" | "DualWielding" | "Theurgy">]], ActionType.SetTitle, import("../../player/Player").default, void, import("@wayward/game/game/entity/action/IAction").IActionUsable, [(TitleType | undefined)?, (Milestone | SkillType | undefined)?]>;
19
+ declare const _default: Action<[[ActionArgument.Undefined, import("../argument/ActionArgumentEnum").default<TitleType, "Milestone" | "Skill">], [arg1: ActionArgument.Undefined, import("../argument/ActionArgumentEnum").default<Milestone, "Navigator" | "Abnormalizer" | "Merchant" | "Cursed" | "Prepared" | "Chef" | "Exterminator" | "Crafter" | "Gardener" | "Gatherer" | "Hunter" | "Locksmith" | "ReaperOfSouls" | "Survivor" | "Pitcher" | "Trapsetter" | "TreasureHunter" | "Collector" | "Explorer" | "Grandmaster" | "Doctor" | "Artificer" | "Returned" | "DragonSlayer" | "Treasurer" | "Pulchritudinous" | "Friendly" | "Malevolent" | "Benevolent" | "Boundless" | "Talented" | "Weathered" | "Seasoned" | "Pacifier" | "Notekeeper" | "Operator" | "Huntsman" | "Contender" | "Challenger" | "DestroyerOfMagi" | "Helmsman" | "Multitasker" | "Apocryphal" | "Diverse" | "InternalDiscoveredBoats" | "Traitor" | "MasterOfAll" | "Rouseabout" | "Murderer" | "Retailer" | "Masochist" | "Versatile" | "InternalStatDiscovery" | "Dedicated" | "Hounded" | "Serene" | "InternalRuneOrAltarDiscovery" | "Curator" | "Thaumaturgic" | "Runekeeper" | "InternalDeityDiscovery" | "InternalMerchantsDiscovery" | "InternalCurseSystemDiscovery" | "Invoker" | "InternalDeityInvoked" | "InternalInsulationDiscovery" | "Turbulent" | "Statistician" | "Afflicted" | "Exsanguinated" | "InternalItemDiscovered" | "Cursebreaker" | "Oblivious">, import("../argument/ActionArgumentEnum").default<SkillType, "None" | "Taming" | "Mining" | "Swimming" | "Chemistry" | "Anatomy" | "Marksmanship" | "Blacksmithing" | "Botany" | "Camping" | "Cartography" | "Claythrowing" | "Cooking" | "Fishing" | "Fletching" | "Glassblowing" | "Leatherworking" | "Lockpicking" | "Lumberjacking" | "Mycology" | "Parrying" | "Stonecrafting" | "Tactics" | "Tailoring" | "Throwing" | "Tinkering" | "Trapping" | "Woodworking" | "Horticulture" | "Bartering" | "Seafaring" | "Thaumaturgy" | "DualWielding" | "Theurgy">]], ActionType.SetTitle, import("../../player/Player").default, void, import("@wayward/game/game/entity/action/IAction").IActionUsable, [(TitleType | undefined)?, (Milestone | SkillType | undefined)?]>;
20
20
  export default _default;
@@ -15,7 +15,8 @@ export declare enum DataComponentType {
15
15
  CurseCumulativeEvilCrafting = 2,
16
16
  CurseCumulativeKilling = 3,
17
17
  CurseHighestAttack = 4,
18
- CurseHighestDefense = 5
18
+ CurseHighestDefense = 5,
19
+ CurseMilestoneObliviousness = 6
19
20
  }
20
21
  interface DataComponent<T, DEFAULT_VALUE extends T | undefined = undefined> {
21
22
  readonly type: DataComponentType;
@@ -343,4 +343,5 @@ export default class Island extends EventEmitter.Host<IIslandEvents> implements
343
343
  * @returns number equal to the maximum travel time.
344
344
  */
345
345
  getMaximumTravelTime(): number;
346
+ canMelt(terrainType: TerrainType, tile: Tile): boolean;
346
347
  }
@@ -80,7 +80,8 @@ export declare enum Milestone {
80
80
  Exsanguinated = 68,
81
81
  InternalItemDiscovered = 69,
82
82
  Cursed = 70,
83
- Cursebreaker = 71
83
+ Cursebreaker = 71,
84
+ Oblivious = 72
84
85
  }
85
86
  export type ExcludeInternalMilestones<MILESTONE extends Milestone> = PickValueKeys<typeof Milestone, MILESTONE> extends `Internal${string}` ? never : MILESTONE;
86
87
  export declare enum MilestoneVisibility {
@@ -125,18 +126,22 @@ export declare enum MilestoneDataType {
125
126
  * For example, this could be used to check for a skill level.
126
127
  */
127
128
  Check = 2,
129
+ /**
130
+ * The same as the `Check` type, but upon the milestone being set to a value lower than the previous check, the displayed "progress" will match, rather than it staying at your previous highest.
131
+ */
132
+ LiveCheck = 3,
128
133
  /**
129
134
  * This milestone will be granted the first time it's updated.
130
135
  *
131
136
  * For example, this type could be used for determining whether the player has done something specific.
132
137
  */
133
- Event = 3,
138
+ Event = 4,
134
139
  /**
135
140
  * This milestone type requires a number of entries, each of which must be distinct, and discovered in order.
136
141
  *
137
142
  * For example, this type could be used to handle staged discovery.
138
143
  */
139
- Ordered = 4
144
+ Ordered = 5
140
145
  }
141
146
  export interface IMilestoneData {
142
147
  amount: number;
@@ -32,8 +32,10 @@ export default class MilestoneDefinition {
32
32
  /**
33
33
  * This milestone will be granted when an `amount` of conditions happen simultaneously.
34
34
  * For example, this could be used to check for a skill level.
35
+ *
36
+ * @param live If `true`, the milestone will update its progress even if the new value is lower than the previous value.
35
37
  */
36
- static check(amount: SupplierOr<number>): MilestoneDefinition;
38
+ static check(amount: SupplierOr<number>, live?: boolean): MilestoneDefinition;
37
39
  /**
38
40
  * This milestone will be granted after being incremented `amount` times.
39
41
  * It does not require each increment to have a different ID, like `counter` does.
@@ -72,14 +74,16 @@ export default class MilestoneDefinition {
72
74
  inherit(def: MilestoneDefinition): this;
73
75
  visibility: MilestoneVisibility;
74
76
  visibleThreshold: number | Milestone | [Milestone, string | number];
77
+ visibilityAfterThreshold: MilestoneVisibility;
75
78
  /**
76
79
  * @param visibility Whether the milestone is completely visible, has its name hidden, or has its required amount hidden. Defaults to `Visible`
77
- * @param until Sets the time when the milestone will become `Visible`. This can be any of:
80
+ * @param until Sets the time when the milestone will become `Visible` (or `visibilityAfterThreshold`). This can be any of:
78
81
  * - A completion threshold (in a fractional value between 0 and 1)
79
82
  * - A different milestone to complete first
80
83
  * - A tuple of a different milestone and a value that must be discovered in that milestone
84
+ * @param visibilityAfterThreshold What the visibility will be after the `until` condition is met. Defaults to `Visible`
81
85
  */
82
- setVisibility(visibility: MilestoneVisibility, until?: number | [Milestone, string | number]): this;
86
+ setVisibility(visibility: MilestoneVisibility, until?: number | [Milestone, string | number], visibilityAfterThreshold?: MilestoneVisibility): this;
83
87
  /**
84
88
  * Sets this milestone to be unlockable in all game modes, and not disabled by mods.
85
89
  */
@@ -180,7 +180,12 @@ export interface IGameOptions {
180
180
  /**
181
181
  * Controls curse events
182
182
  */
183
- curseEvents: boolean;
183
+ curse: {
184
+ stat: boolean;
185
+ events: boolean;
186
+ cooldownRangeOverride?: IRange;
187
+ eventsRangeOverride?: IRange;
188
+ };
184
189
  }
185
190
  export declare enum UnlockedRecipesStrategy {
186
191
  StartWithNone = 0,
@@ -25,7 +25,8 @@ export declare enum Challenge {
25
25
  BiomeIceCap = 11,
26
26
  BiomeVolcanic = 12,
27
27
  Sunset = 13,
28
- SlitherSucker = 14
28
+ SlitherSucker = 14,
29
+ Cursed = 15
29
30
  }
30
31
  export declare function isPermanentEffect(statusType: StatusType, options: IGameOptionsPlayer): boolean;
31
32
  export declare function isEternal(time: number): (options?: IGameOptions) => boolean;
@@ -53,6 +53,7 @@ import Multitasker from "@wayward/game/game/options/modifiers/milestone/modifier
53
53
  import Murderer from "@wayward/game/game/options/modifiers/milestone/modifiers/Murderer";
54
54
  import Navigator from "@wayward/game/game/options/modifiers/milestone/modifiers/Navigator";
55
55
  import Notekeeper from "@wayward/game/game/options/modifiers/milestone/modifiers/Notekeeper";
56
+ import Oblivious from "@wayward/game/game/options/modifiers/milestone/modifiers/Oblivious";
56
57
  import Operator from "@wayward/game/game/options/modifiers/milestone/modifiers/Operator";
57
58
  import Pacifier from "@wayward/game/game/options/modifiers/milestone/modifiers/Pacifier";
58
59
  import Prepared from "@wayward/game/game/options/modifiers/milestone/modifiers/Prepared";
@@ -141,6 +142,7 @@ export declare const milestoneModifiers: {
141
142
  65: typeof Turbulent;
142
143
  50: typeof Versatile;
143
144
  29: typeof Weathered;
145
+ 72: typeof Oblivious;
144
146
  };
145
147
  declare class MilestoneModifiersManager extends GameplayModifiersManager<MilestoneModifier, Milestone, [Human?]> {
146
148
  constructor();
@@ -0,0 +1,17 @@
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 type { IGameOptionsPartial } from "@wayward/game/game/options/IGameOptions";
12
+ import { MilestoneModifierGroup } from "@wayward/game/game/options/modifiers/milestone/IMilestoneModifier";
13
+ import MilestoneModifier from "@wayward/game/game/options/modifiers/milestone/MilestoneModifier";
14
+ export default class Oblivious extends MilestoneModifier {
15
+ getOptions(): IGameOptionsPartial;
16
+ getGroup(): MilestoneModifierGroup;
17
+ }
@@ -22,7 +22,6 @@ declare const _default: {
22
22
  * @returns The number of decay reduction of the terrain given the temperature of the point.
23
23
  */
24
24
  getMeltRate(island: Island, terrainType: TerrainType, tile: Tile): number;
25
- canMelt(island: Island, terrainType: TerrainType, tile: Tile): boolean;
26
25
  canCreate(island: Island, type: TileEventType, tile: Tile, tileType: TerrainType): boolean;
27
26
  update(tileEvent: TileEvent, ticks: number): void;
28
27
  };