afnm-types 0.6.45 → 0.6.47

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 (54) hide show
  1. package/dist/CharacterRequestEncounter.d.ts +1 -1
  2. package/dist/GameScreen.d.ts +1 -1
  3. package/dist/QuestionAnswer.d.ts +1 -1
  4. package/dist/alternativeStart.d.ts +5 -5
  5. package/dist/auction.d.ts +5 -2
  6. package/dist/background.d.ts +4 -4
  7. package/dist/breakthrough.d.ts +10 -10
  8. package/dist/buff.d.ts +4 -4
  9. package/dist/calendar.d.ts +2 -2
  10. package/dist/character.d.ts +75 -10
  11. package/dist/components.d.ts +5 -5
  12. package/dist/crafting.d.ts +7 -7
  13. package/dist/craftingBuff.d.ts +7 -4
  14. package/dist/craftingState.d.ts +4 -4
  15. package/dist/craftingTechnique.d.ts +6 -6
  16. package/dist/destiny.d.ts +2 -2
  17. package/dist/dualCultivation.d.ts +1 -1
  18. package/dist/entity.d.ts +12 -10
  19. package/dist/event.d.ts +63 -14
  20. package/dist/evolution.d.ts +1 -1
  21. package/dist/fallenStar.d.ts +1 -1
  22. package/dist/gameVersion.d.ts +2 -2
  23. package/dist/gameVersion.js +2 -2
  24. package/dist/guild.d.ts +6 -6
  25. package/dist/herbField.d.ts +1 -1
  26. package/dist/house.d.ts +9 -9
  27. package/dist/index.d.ts +21 -4
  28. package/dist/index.js +21 -3
  29. package/dist/item.d.ts +28 -14
  30. package/dist/itemAction.d.ts +33 -0
  31. package/dist/itemAction.js +1 -0
  32. package/dist/itemHarmonyType.d.ts +2 -2
  33. package/dist/life.d.ts +4 -4
  34. package/dist/location.d.ts +27 -13
  35. package/dist/location.js +3 -0
  36. package/dist/mine.d.ts +5 -5
  37. package/dist/mod.d.ts +42 -42
  38. package/dist/mysticalRegion.d.ts +2 -2
  39. package/dist/pillarGrid.d.ts +7 -0
  40. package/dist/pillarGrid.js +1 -0
  41. package/dist/quest.d.ts +3 -3
  42. package/dist/reduxState.d.ts +36 -28
  43. package/dist/reforge.d.ts +9 -0
  44. package/dist/reforge.js +1 -0
  45. package/dist/simpleEvent.d.ts +3 -3
  46. package/dist/soulShardDelve.d.ts +265 -0
  47. package/dist/soulShardDelve.js +26 -0
  48. package/dist/stat.d.ts +3 -2
  49. package/dist/stat.js +4 -0
  50. package/dist/technique.d.ts +15 -10
  51. package/dist/tournament.d.ts +1 -1
  52. package/dist/trainingGround.d.ts +2 -2
  53. package/dist/tutorial.d.ts +1 -1
  54. package/package.json +9 -9
@@ -1,4 +1,4 @@
1
- import { EventStep } from '.';
1
+ import type { EventStep } from '.';
2
2
  export interface CharacterRequestEncounter {
3
3
  condition: string;
4
4
  introSteps: EventStep[];
@@ -1 +1 @@
1
- export type GameScreen = 'location' | 'recipe' | 'mission' | 'craftingHall' | 'manual' | 'cultivation' | 'map' | 'healer' | 'market' | 'favour' | 'herbField' | 'mine' | 'recipeLibrary' | 'requestBoard' | 'compendium' | 'library' | 'altar' | 'research' | 'reforge' | 'pillarGrid' | 'fallenStar' | 'trainingGround' | 'tenThousandFlames' | 'lifeScreen';
1
+ export type GameScreen = 'location' | 'recipe' | 'mission' | 'craftingHall' | 'manual' | 'cultivation' | 'map' | 'healer' | 'market' | 'favour' | 'herbField' | 'mine' | 'recipeLibrary' | 'requestBoard' | 'compendium' | 'library' | 'altar' | 'research' | 'reforge' | 'pillarGrid' | 'fallenStar' | 'trainingGround' | 'tenThousandFlames' | 'lifeScreen' | 'soulShardDelve' | 'enchantmentShop';
@@ -1,4 +1,4 @@
1
- import { EventStep } from '.';
1
+ import type { EventStep } from '.';
2
2
  export interface QuestionAnswer {
3
3
  question: string;
4
4
  answer: EventStep[];
@@ -1,8 +1,8 @@
1
- import { Translatable } from './translatable';
2
- import { Tutorial } from './tutorial';
3
- import { TriggeredEvent, GameEvent } from './event';
4
- import { ItemDesc } from './item';
5
- import { PlayerEntity } from './entity';
1
+ import type { Translatable } from './translatable';
2
+ import type { Tutorial } from './tutorial';
3
+ import type { TriggeredEvent, GameEvent } from './event';
4
+ import type { ItemDesc } from './item';
5
+ import type { PlayerEntity } from './entity';
6
6
  /**
7
7
  * Configuration for an alternative game start.
8
8
  * Mods can register alternative starts to provide different opening experiences,
package/dist/auction.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Translatable } from './translatable';
2
- import { Item, ItemDesc } from './item';
1
+ import type { Translatable } from './translatable';
2
+ import type { Item, ItemDesc } from './item';
3
3
  export interface Auction {
4
4
  characters: AuctionCharacterData[];
5
5
  items: AuctionItem[];
@@ -21,6 +21,7 @@ export interface AuctionItemDef {
21
21
  }
22
22
  export interface AuctionCharacter {
23
23
  name: string;
24
+ displayName?: Translatable;
24
25
  allegiance: string;
25
26
  image: string;
26
27
  funds: {
@@ -37,6 +38,8 @@ export interface AuctionCharacter {
37
38
  };
38
39
  bowOut: string[];
39
40
  bid: string[];
41
+ /** Optional condition expression evaluated against game flags. If falsy, the character is excluded from the pool. */
42
+ condition?: string;
40
43
  }
41
44
  export interface AuctionCharacterData {
42
45
  character: AuctionCharacter;
@@ -1,7 +1,7 @@
1
- import { Translatable } from './translatable';
2
- import { Destiny } from './destiny';
3
- import { Item } from './item';
4
- import { CombatStatistic, CraftingStatistic, PhysicalStatistic, Scaling, SocialStatistic } from './stat';
1
+ import type { Translatable } from './translatable';
2
+ import type { Destiny } from './destiny';
3
+ import type { Item } from './item';
4
+ import type { CombatStatistic, CraftingStatistic, PhysicalStatistic, Scaling, SocialStatistic } from './stat';
5
5
  export interface Background {
6
6
  name: string;
7
7
  description: Translatable;
@@ -1,11 +1,11 @@
1
- import { Translatable } from './translatable';
2
- import { ReactNode } from 'react';
3
- import { CombatEntity, CraftingEntity, PlayerEntity, StoredStance, StoredStyle } from './entity';
4
- import { ItemDesc } from './item';
5
- import { Realm, RealmProgress } from './realm';
6
- import { PhysicalStatistic, SocialStatistic, Scaling } from './stat';
7
- import { Buff } from './buff';
8
- import { CraftingBuff } from './craftingBuff';
1
+ import type { Translatable } from './translatable';
2
+ import type { ReactNode } from 'react';
3
+ import type { CombatEntity, CraftingEntity, PlayerEntity, StoredStance, StoredStyle } from './entity';
4
+ import type { ItemDesc } from './item';
5
+ import type { Realm, RealmProgress } from './realm';
6
+ import type { PhysicalStatistic, SocialStatistic, Scaling } from './stat';
7
+ import type { Buff } from './buff';
8
+ import type { CraftingBuff } from './craftingBuff';
9
9
  export interface Position {
10
10
  x: number;
11
11
  y: number;
@@ -127,7 +127,7 @@ export interface Breakthrough extends BreakthroughBase {
127
127
  requirements: ((args: RequirementArgs) => RequirementResult)[];
128
128
  totalRequirements: number | ((args: RequirementArgs) => number);
129
129
  getNumDone: (args: RequirementArgs) => number;
130
- extraEffects?: string[];
130
+ extraEffects?: Translatable[];
131
131
  /**
132
132
  * Defines which items are allowed in breakthrough slots for this breakthrough.
133
133
  * When breakthroughs specify allowed items, those items become available in the slot UI.
@@ -152,6 +152,6 @@ export interface Breakthrough extends BreakthroughBase {
152
152
  items?: ItemDesc[];
153
153
  dropletRegen?: number;
154
154
  maxDroplets?: number;
155
- extraEffects?: string[];
155
+ extraEffects?: Translatable[];
156
156
  };
157
157
  }
package/dist/buff.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { Translatable } from './translatable';
2
- import { TechniqueElement } from './element';
3
- import { CombatStatistic, Scaling } from './stat';
4
- import { DamageType } from './DamageType';
1
+ import type { Translatable } from './translatable';
2
+ import type { TechniqueElement } from './element';
3
+ import type { CombatStatistic, Scaling } from './stat';
4
+ import type { DamageType } from './DamageType';
5
5
  import type { CombatEntity } from './entity';
6
6
  export type TechniqueCondition = ChanceTechniqueCondition | BuffTechniqueCondition | HpTechniqueCondition | ConditionTechniqueCondition | InventoryItemTechniqueCondition;
7
7
  interface BaseTechniqueCondition {
@@ -1,5 +1,5 @@
1
- import { GameEvent } from './event';
2
- import { Realm } from './realm';
1
+ import type { GameEvent } from './event';
2
+ import type { Realm } from './realm';
3
3
  export interface CalendarEvent {
4
4
  name: string;
5
5
  condition: string;
@@ -1,12 +1,44 @@
1
- import { Translatable } from './translatable';
2
- import { SvgIconTypeMap } from '@mui/material';
3
- import { OverridableComponent } from '@mui/material/OverridableComponent';
4
- import { Buff } from './buff';
5
- import { EnemyEntity } from './entity';
6
- import { EventStep } from './event';
7
- import { Item, ItemKind, MountItem } from './item';
8
- import { Realm, RealmProgress } from './realm';
9
- import { IntimateTrait } from './dualCultivation';
1
+ import type { Translatable } from './translatable';
2
+ import type { SvgIconTypeMap } from '@mui/material';
3
+ import type { OverridableComponent } from '@mui/material/OverridableComponent';
4
+ import type { Buff } from './buff';
5
+ import type { EnemyEntity } from './entity';
6
+ import type { EventStep } from './event';
7
+ import type { Item, ItemDesc, ItemKind, MountItem } from './item';
8
+ import type { Realm, RealmProgress } from './realm';
9
+ import type { IntimateTrait } from './dualCultivation';
10
+ import type { CraftingBuff } from './craftingBuff';
11
+ export type CharacterGender = 'male' | 'female' | 'neutral';
12
+ /**
13
+ * A set of auction dialogue lines gated behind a flag condition.
14
+ * Dialogue sets are evaluated in order; the first whose condition passes is used.
15
+ */
16
+ export interface CharacterAuctionDialogue {
17
+ /** Flag expression evaluated against game flags. Use '1' for an unconditional fallback. */
18
+ condition: string;
19
+ opener: {
20
+ none: string[];
21
+ low: string[];
22
+ medium: string[];
23
+ high: string[];
24
+ };
25
+ bowOut: string[];
26
+ bid: string[];
27
+ }
28
+ /**
29
+ * If present on a Character, that character can appear as an auction attendee
30
+ * when their unlock condition is met. Dialogue is selected based on relationship flags.
31
+ */
32
+ export interface CharacterAuctionAppearance {
33
+ funds: {
34
+ min: number;
35
+ max: number;
36
+ };
37
+ minSpend: number;
38
+ maxSpend: number;
39
+ /** Ordered dialogue sets. First whose condition evaluates truthy is used. */
40
+ dialogue: CharacterAuctionDialogue[];
41
+ }
10
42
  export interface Character {
11
43
  name: string;
12
44
  displayName?: Translatable;
@@ -14,9 +46,13 @@ export interface Character {
14
46
  bio?: string;
15
47
  manualDescription?: string;
16
48
  condition: string;
49
+ /** Gender used for sexuality filtering of romantic relationship options. */
50
+ gender?: CharacterGender;
17
51
  definitions: CharacterDefinition[];
18
52
  relationship?: CharacterRelationshipDefinition[];
19
53
  relationshipPaths?: Record<string, CharacterRelationshipDefinition[]>;
54
+ /** If set, this character can appear as an auction bidder when unlocked. */
55
+ auctionAppearance?: CharacterAuctionAppearance;
20
56
  followInteraction?: FollowCharacterDefinition;
21
57
  portrait: string;
22
58
  image: string;
@@ -134,6 +170,7 @@ export interface CharacterState {
134
170
  giftedKeys: string[];
135
171
  challengeCooldown: number;
136
172
  patrolCooldown: number;
173
+ tradeCooldown: number;
137
174
  followCooldown: number;
138
175
  aidBreakthroughCooldown: number;
139
176
  dualCultivationCooldown: number;
@@ -162,6 +199,20 @@ export interface ShopCharacterInteraction extends BaseCharacterInteraction {
162
199
  }>;
163
200
  };
164
201
  }
202
+ export interface TradeCharacterInteraction extends BaseCharacterInteraction {
203
+ introSteps: EventStep[];
204
+ requestItems: {
205
+ item: ItemDesc;
206
+ amount: number;
207
+ }[];
208
+ availableItems: {
209
+ item: ItemDesc;
210
+ amount: number;
211
+ }[];
212
+ acceptSteps: EventStep[];
213
+ declineSteps: EventStep[];
214
+ cooldown: number;
215
+ }
165
216
  export interface SparCharacterInteraction extends BaseCharacterInteraction {
166
217
  introSteps: EventStep[];
167
218
  victorySteps: EventStep[];
@@ -217,7 +268,7 @@ export interface CharacterEncounter {
217
268
  id: string;
218
269
  condition: string;
219
270
  event: EventStep[];
220
- cooldown: {
271
+ cooldown?: {
221
272
  min: number;
222
273
  max: number;
223
274
  };
@@ -243,6 +294,7 @@ export interface NeutralCharacterDefinition extends BaseCharacterDefinition {
243
294
  breakthroughInteraction?: TalkCharacterInteraction;
244
295
  talkInteraction?: TalkCharacterInteraction[];
245
296
  shopInteraction?: ShopCharacterInteraction[];
297
+ tradeInteraction?: TradeCharacterInteraction[];
246
298
  sparInteraction?: SparCharacterInteraction[];
247
299
  craftingInteraction?: CraftingCharacterInteraction[];
248
300
  }
@@ -256,6 +308,7 @@ export interface CompanionCharacterDefinition extends BaseCharacterDefinition {
256
308
  breakthroughInteraction?: TalkCharacterInteraction;
257
309
  talkInteraction?: TalkCharacterInteraction[];
258
310
  shopInteraction?: ShopCharacterInteraction[];
311
+ tradeInteraction?: TradeCharacterInteraction[];
259
312
  sparInteraction?: SparCharacterInteraction[];
260
313
  giftInteraction?: GiftCharacterInteraction[];
261
314
  craftingInteraction?: CraftingCharacterInteraction[];
@@ -281,13 +334,25 @@ export interface CharacterRelationshipDefinition {
281
334
  tooltip: Translatable;
282
335
  };
283
336
  };
337
+ /**
338
+ * Alternative progression event used when the player's sexuality setting
339
+ * does not match this character's gender. The event should lead naturally
340
+ * to a platonic/sworn path without any romantic overtures from the character.
341
+ * Uses the same name, tooltip, and requirement as progressionEvent.
342
+ */
343
+ platonicProgressionEvent?: {
344
+ event: EventStep[];
345
+ locationOverride?: string;
346
+ };
284
347
  }
285
348
  export interface FollowCharacterDefinition {
286
349
  formParty: EventStep[];
287
350
  duration: number;
288
351
  buff: Omit<Buff, 'name' | 'icon'>;
352
+ craftingBuff?: Omit<CraftingBuff, 'name' | 'icon'>;
289
353
  cooldown: number;
290
354
  dissolveParty: EventStep[];
355
+ supportsJoiningParty?: boolean;
291
356
  }
292
357
  export interface DualCultivationDefinition {
293
358
  condition: string;
@@ -1,8 +1,8 @@
1
- import { Breakpoint, ButtonProps, IconButtonProps } from '@mui/material';
2
- import { ReactNode, PropsWithChildren } from 'react';
3
- import { SoundEffectName } from './audio';
4
- import { ScreenEffectType } from './ScreenEffectType';
5
- import React from 'react';
1
+ import type { Breakpoint, ButtonProps, IconButtonProps } from '@mui/material';
2
+ import type { ReactNode, PropsWithChildren } from 'react';
3
+ import type { SoundEffectName } from './audio';
4
+ import type { ScreenEffectType } from './ScreenEffectType';
5
+ import type React from 'react';
6
6
  export type BorderType = 'wood' | 'mystic';
7
7
  interface GameDialogProps {
8
8
  onClose?: () => void;
@@ -1,10 +1,10 @@
1
- import { Translatable } from './translatable';
2
- import { ReactNode } from 'react';
3
- import { SvgIconTypeMap } from '@mui/material';
4
- import { OverridableComponent } from '@mui/material/OverridableComponent';
5
- import { CraftingTechniqueType, CraftingConditionEffect, CraftingTechnique } from './craftingTechnique';
6
- import { CraftingEntity } from './entity';
7
- import { ProgressState, HarmonyData, CraftingState } from './craftingState';
1
+ import type { Translatable } from './translatable';
2
+ import type { ReactNode } from 'react';
3
+ import type { SvgIconTypeMap } from '@mui/material';
4
+ import type { OverridableComponent } from '@mui/material/OverridableComponent';
5
+ import type { CraftingTechniqueType, CraftingConditionEffect, CraftingTechnique } from './craftingTechnique';
6
+ import type { CraftingEntity } from './entity';
7
+ import type { ProgressState, HarmonyData, CraftingState } from './craftingState';
8
8
  export declare const craftingTechniqueTypeToName: {
9
9
  [key in CraftingTechniqueType]: string;
10
10
  };
@@ -1,6 +1,6 @@
1
- import { Realm } from './realm';
2
- import { CraftingStatistic, Scaling } from './stat';
3
- import { Translatable } from './translatable';
1
+ import type { Realm } from './realm';
2
+ import type { CraftingStatistic, Scaling } from './stat';
3
+ import type { Translatable } from './translatable';
4
4
  export type CraftingTechniqueCondition = BuffTechniqueCondition | StateTechniqueCondition | ConditionTechniqueCondition | ChanceTechniqueCondition;
5
5
  interface BuffTechniqueCondition {
6
6
  kind: 'buff';
@@ -21,7 +21,7 @@ interface ChanceTechniqueCondition {
21
21
  kind: 'chance';
22
22
  percentage: number;
23
23
  }
24
- export type CraftingBuffDisplayLocation = 'none' | 'avatar' | 'stabilityLeft' | 'stabilityRight' | 'perfectionLeft' | 'perfectionRight' | 'completionLeft' | 'completionRight';
24
+ export type CraftingBuffDisplayLocation = 'none' | 'avatar' | 'companion' | 'stabilityLeft' | 'stabilityRight' | 'perfectionLeft' | 'perfectionRight' | 'completionLeft' | 'completionRight';
25
25
  export interface CraftingBuff {
26
26
  name: string;
27
27
  displayName?: Translatable;
@@ -40,7 +40,10 @@ export interface CraftingBuff {
40
40
  onStabilize?: CraftingBuffEffect[];
41
41
  onSupport?: CraftingBuffEffect[];
42
42
  stacks: number;
43
+ stacksAreMonths?: boolean;
43
44
  displayLocation: CraftingBuffDisplayLocation;
45
+ /** Full-body character image used when displayLocation === 'companion' */
46
+ companionImage?: string;
44
47
  baseScaling?: number;
45
48
  stacksScaling?: number;
46
49
  animations?: ('bump' | 'buff' | 'completion' | 'perfection' | 'stabilityup' | 'stabilitydown' | 'pool')[];
@@ -1,7 +1,7 @@
1
- import { CraftingTechniqueType, CraftingRecipeStats } from './craftingTechnique';
2
- import { CraftingCondition } from './crafting';
3
- import { CraftingEntity } from './entity';
4
- import { RecipeItem, ItemDesc } from './item';
1
+ import type { CraftingTechniqueType, CraftingRecipeStats } from './craftingTechnique';
2
+ import type { CraftingCondition } from './crafting';
3
+ import type { CraftingEntity } from './entity';
4
+ import type { RecipeItem, ItemDesc } from './item';
5
5
  import type { GameEventState } from './reduxState';
6
6
  export interface ForgeWorksData {
7
7
  heat: number;
@@ -1,9 +1,9 @@
1
- import { Translatable } from './translatable';
2
- import { CraftingBuff, CraftingTechniqueCondition } from './craftingBuff';
3
- import { Rarity } from './rarity';
4
- import { Realm } from './realm';
5
- import { Scaling } from './stat';
6
- import { CraftingCondition, RecipeConditionEffect, RecipeHarmonyType } from './crafting';
1
+ import type { Translatable } from './translatable';
2
+ import type { CraftingBuff, CraftingTechniqueCondition } from './craftingBuff';
3
+ import type { Rarity } from './rarity';
4
+ import type { Realm } from './realm';
5
+ import type { Scaling } from './stat';
6
+ import type { CraftingCondition, RecipeConditionEffect, RecipeHarmonyType } from './crafting';
7
7
  export declare const craftingTechniqueType: readonly ["fusion", "refine", "stabilize", "support"];
8
8
  export type CraftingTechniqueType = (typeof craftingTechniqueType)[number];
9
9
  export type CraftingConditionEffect = IntensityConditionEffect | ControlConditionEffect | PoolConditionEffect | StabilityConditionEffect | ChanceConditionEffect;
package/dist/destiny.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Translatable } from './translatable';
2
- import { CombatStatistic, CraftingStatistic, Scaling } from './stat';
1
+ import type { Translatable } from './translatable';
2
+ import type { CombatStatistic, CraftingStatistic, Scaling } from './stat';
3
3
  export interface Destiny {
4
4
  name: string;
5
5
  description: Translatable;
@@ -1,4 +1,4 @@
1
- import { Translatable } from './translatable';
1
+ import type { Translatable } from './translatable';
2
2
  declare const intimateStats: readonly ["satisfaction", "energy", "painThreshold"];
3
3
  export type IntimateStat = (typeof intimateStats)[number];
4
4
  declare const intimateResources: readonly ["pain", "harmony", "excitement", "rhythm"];
package/dist/entity.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { Translatable } from './translatable';
2
- import { SoundEffectName } from './audio';
3
- import { Buff } from './buff';
4
- import { CraftingBuff } from './craftingBuff';
5
- import { CraftingTechnique, KnownCraftingTechnique } from './craftingTechnique';
6
- import { TechniqueElement } from './element';
7
- import { ArtefactItem, CombatItem, CombatPillItem, ConcoctionItem, CraftingEquipmentItem, Item, ItemDesc } from './item';
8
- import { Realm, RealmProgress } from './realm';
9
- import { CombatStatsMap, CraftingStatsMap, PhysicalStatistic, SocialStatistic } from './stat';
10
- import { KnownTechnique, Technique, TechniquePriority } from './technique';
1
+ import type { Translatable } from './translatable';
2
+ import type { SoundEffectName } from './audio';
3
+ import type { Buff } from './buff';
4
+ import type { CraftingBuff } from './craftingBuff';
5
+ import type { CraftingTechnique, KnownCraftingTechnique } from './craftingTechnique';
6
+ import type { TechniqueElement } from './element';
7
+ import type { ArtefactItem, CombatItem, CombatPillItem, ConcoctionItem, CraftingEquipmentItem, Item, ItemDesc } from './item';
8
+ import type { Realm, RealmProgress } from './realm';
9
+ import type { CombatStatsMap, CraftingStatsMap, PhysicalStatistic, SocialStatistic } from './stat';
10
+ import type { KnownTechnique, Technique, TechniquePriority } from './technique';
11
11
  export interface CombatEffectTracking {
12
12
  icon: string;
13
13
  background: string;
@@ -38,6 +38,8 @@ export interface PlayerEntity {
38
38
  };
39
39
  realm: Realm;
40
40
  realmOverride?: Realm;
41
+ /** Grants access to shops, auction, herb garden, and missions at this realm tier without affecting masteries or NPC perception. */
42
+ contentRealmOverride?: Realm;
41
43
  realmProgress: RealmProgress;
42
44
  qi: number;
43
45
  qiDroplets?: number;
package/dist/event.d.ts CHANGED
@@ -1,15 +1,15 @@
1
- import { Translatable } from './translatable';
2
- import { GameScreen } from './GameScreen';
3
- import { MusicName, SoundEffectName } from './audio';
4
- import { Buff } from './buff';
5
- import { FollowCharacterDefinition } from './character';
6
- import { CraftingBuff } from './craftingBuff';
7
- import { IntimateTrait } from './dualCultivation';
8
- import { TechniqueElement } from './element';
9
- import { EnemyEntity } from './entity';
10
- import { ItemDesc } from './item';
11
- import { Realm, RealmProgress } from './realm';
12
- import { PhysicalStatistic, ReputationTier, SocialStatistic } from './stat';
1
+ import type { Translatable } from './translatable';
2
+ import type { GameScreen } from './GameScreen';
3
+ import type { MusicName, SoundEffectName } from './audio';
4
+ import type { Buff } from './buff';
5
+ import type { FollowCharacterDefinition } from './character';
6
+ import type { CraftingBuff } from './craftingBuff';
7
+ import type { IntimateTrait } from './dualCultivation';
8
+ import type { TechniqueElement } from './element';
9
+ import type { EnemyEntity } from './entity';
10
+ import type { ItemDesc } from './item';
11
+ import type { Realm, RealmProgress } from './realm';
12
+ import type { PhysicalStatistic, ReputationTier, SocialStatistic } from './stat';
13
13
  export interface TriggeredEvent {
14
14
  event: GameEvent;
15
15
  name: string;
@@ -33,7 +33,7 @@ export interface GameEvent {
33
33
  value: number;
34
34
  }[];
35
35
  }
36
- export type EventStep = TextStep | SpeechStep | CombatStep | CraftingStep | ChoiceStep | ConditionalStep | SetFlagStep | ExitStep | CreateBuffStep | ConsumeBuffStep | ChangeLocationStep | AddItemStep | RemoveItemStep | AddQuestStep | ChangeMoneyStep | ChangeFavourStep | AddDestinyStep | ChangeReputationStep | QiStep | UnlockLocationStep | ClearCharacterStep | SetCharacterStep | LabelStep | GotoLabelStep | UnlockCraftingTechniqueStep | TalkToCharacterStep | TradeWithCharacterStep | CraftWithCharacterStep | FightCharacterStep | MarkBeatCharacterStep | MarkDidEncounterStep | ChangeHpStep | PassTimeStep | ReportAnalyticsStep | ApprovalStep | ProgressRelationshipStep | MarkGiftedStep | UpdateCharacterDefinitionStep | AuctionStep | MarkCalendarEventCompleteStep | AddMultipleItemStep | AdvanceMysticalRegionStep | CraftSkillStep | TournamentStep | TeamUpStep | AddFollowerStep | BreakPartyStep | ClearTeamUpStep | UnlockAltarStep | DropItemStep | SetAltarCooldownStep | CompressCoreStep | ChangeScreenStep | UnlockTechniqueStep | UnlockAuctionTechniqueStep | AddRecipeStep | AddManualStep | LearnNpcStancesStep | ReplaceItemStep | DualCultivationStep | ChangeBGMStep | ClearChangeBGMStep | AddGuildApprovalStep | AdvanceGuildRankStep | OverridePlayerRealmStep | SetAidBreakthroughCooldownStep | StoneCuttingStep | GiveItemStep | ChangePhysicalStatStep | ChangeSocialStatStep | SelectRelationshipPathStep;
36
+ export type EventStep = TextStep | SpeechStep | CombatStep | CraftingStep | ChoiceStep | ConditionalStep | SetFlagStep | ExitStep | CreateBuffStep | ConsumeBuffStep | ChangeLocationStep | AddItemStep | RemoveItemStep | AddQuestStep | ChangeMoneyStep | ChangeFavourStep | AddDestinyStep | ChangeReputationStep | QiStep | UnlockLocationStep | ClearCharacterStep | SetCharacterStep | LabelStep | GotoLabelStep | UnlockCraftingTechniqueStep | TalkToCharacterStep | TradeWithCharacterStep | CraftWithCharacterStep | FightCharacterStep | MarkBeatCharacterStep | MarkDidEncounterStep | ChangeHpStep | PassTimeStep | ReportAnalyticsStep | ApprovalStep | ProgressRelationshipStep | MarkGiftedStep | UpdateCharacterDefinitionStep | AuctionStep | MarkCalendarEventCompleteStep | AddMultipleItemStep | AdvanceMysticalRegionStep | CraftSkillStep | TournamentStep | TeamUpStep | AddFollowerStep | BreakPartyStep | ClearTeamUpStep | UnlockAltarStep | DropItemStep | SetAltarCooldownStep | CompressCoreStep | ChangeScreenStep | UnlockTechniqueStep | UnlockAuctionTechniqueStep | AddRecipeStep | AddManualStep | LearnNpcStancesStep | ReplaceItemStep | DualCultivationStep | ChangeBGMStep | ClearChangeBGMStep | AddGuildApprovalStep | AdvanceGuildRankStep | OverridePlayerRealmStep | SetContentRealmOverrideStep | SetAidBreakthroughCooldownStep | StoneCuttingStep | GiveItemStep | ChangePhysicalStatStep | ChangeSocialStatStep | SelectRelationshipPathStep | SetTradeCooldownStep | StatusStep | ClearStatusStep;
37
37
  export interface TextStep {
38
38
  kind: 'text';
39
39
  condition?: string;
@@ -71,6 +71,7 @@ export interface CraftingStep {
71
71
  useCurrentBackground?: boolean;
72
72
  buffs?: CraftingBuff[];
73
73
  forceSublimeCrafting?: boolean;
74
+ noCompanionBuff?: boolean;
74
75
  }
75
76
  export interface ChoiceStep {
76
77
  kind: `choice`;
@@ -84,7 +85,7 @@ export interface ChoiceStepChoice {
84
85
  hideIfDisabled?: boolean;
85
86
  children: EventStep[];
86
87
  }
87
- export type EventChoiceCondition = RealmCondition | PhysicalStatisticCondition | SocialStatisticCondition | ItemCondition | BuffCondition | MoneyCondition | FavourCondition | MultiCondition | AffinityCondition | QiCondition | ReputationCondition;
88
+ export type EventChoiceCondition = RealmCondition | PhysicalStatisticCondition | SocialStatisticCondition | ItemCondition | BuffCondition | MoneyCondition | FavourCondition | MultiCondition | AffinityCondition | QiCondition | ReputationCondition | HealthCondition | InjuredCondition;
88
89
  export interface RealmCondition {
89
90
  kind: 'realm';
90
91
  realm: Realm;
@@ -95,6 +96,15 @@ interface PhysicalStatisticCondition {
95
96
  stat: PhysicalStatistic;
96
97
  amount: number;
97
98
  }
99
+ interface HealthCondition {
100
+ kind: 'hp';
101
+ amount: number;
102
+ mode: 'more' | 'equal' | 'less';
103
+ }
104
+ interface InjuredCondition {
105
+ kind: 'injured';
106
+ injured: boolean;
107
+ }
98
108
  interface SocialStatisticCondition {
99
109
  kind: 'socialStatistic';
100
110
  stat: SocialStatistic;
@@ -390,6 +400,8 @@ export interface MarkGiftedStep {
390
400
  export interface AuctionStep {
391
401
  kind: 'auction';
392
402
  condition?: string;
403
+ /** When set, reads this flag's numeric value as a realm index to use for auction generation */
404
+ selectedRealmFlag?: string;
393
405
  }
394
406
  export interface MarkCalendarEventCompleteStep {
395
407
  kind: 'markCalendarEventComplete';
@@ -453,6 +465,12 @@ export interface SetAltarCooldownStep {
453
465
  condition?: string;
454
466
  cooldown: string;
455
467
  }
468
+ export interface SetTradeCooldownStep {
469
+ kind: 'setTradeCooldown';
470
+ condition?: string;
471
+ character: string;
472
+ cooldown: number;
473
+ }
456
474
  export interface CompressCoreStep {
457
475
  kind: 'compressCore';
458
476
  condition?: string;
@@ -487,6 +505,11 @@ export interface OverridePlayerRealmStep {
487
505
  condition?: string;
488
506
  realm: Realm;
489
507
  }
508
+ export interface SetContentRealmOverrideStep {
509
+ kind: 'setContentRealmOverride';
510
+ condition?: string;
511
+ realm: Realm;
512
+ }
490
513
  export interface SetAidBreakthroughCooldownStep {
491
514
  kind: 'setAidBreakthroughCooldown';
492
515
  condition?: string;
@@ -521,4 +544,30 @@ export interface ChangeSocialStatStep {
521
544
  stat: SocialStatistic;
522
545
  amount: string;
523
546
  }
547
+ export interface StatusStep {
548
+ kind: 'status';
549
+ condition?: string;
550
+ bars: EventStatusBar[];
551
+ lines?: EventStatusLine[];
552
+ }
553
+ export interface ClearStatusStep {
554
+ kind: 'clearStatus';
555
+ condition?: string;
556
+ }
557
+ export interface EventStatusLine {
558
+ condition: string;
559
+ text: Translatable;
560
+ }
561
+ export interface EventStatusBar {
562
+ label: Translatable;
563
+ variable: string;
564
+ min: number;
565
+ max: number;
566
+ thresholds: EventStatusThreshold[];
567
+ }
568
+ export interface EventStatusThreshold {
569
+ at: number;
570
+ colour: string;
571
+ label?: Translatable;
572
+ }
524
573
  export {};
@@ -1,4 +1,4 @@
1
- import { LifeForm } from './life';
1
+ import type { LifeForm } from './life';
2
2
  export interface Evolution {
3
3
  fromForm: LifeForm;
4
4
  toForm: LifeForm;
@@ -1,4 +1,4 @@
1
- import { Buff, EnemyEntity, ItemDesc, Realm } from '.';
1
+ import type { Buff, EnemyEntity, ItemDesc, Realm } from '.';
2
2
  export interface FallenStar {
3
3
  name: string;
4
4
  realm: Realm;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The current game version, injected at compile time from package.json.
2
+ * The current game version, injected at compile time from the root package.json.
3
3
  * Mod authors can use this as the `gameVersion` field in `getMetadata()`.
4
4
  *
5
5
  * @example
@@ -15,4 +15,4 @@
15
15
  * };
16
16
  * }
17
17
  */
18
- export declare const GAME_VERSION: string;
18
+ export declare const GAME_VERSION = "0.6.47";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The current game version, injected at compile time from package.json.
2
+ * The current game version, injected at compile time from the root package.json.
3
3
  * Mod authors can use this as the `gameVersion` field in `getMetadata()`.
4
4
  *
5
5
  * @example
@@ -15,4 +15,4 @@
15
15
  * };
16
16
  * }
17
17
  */
18
- export const GAME_VERSION = typeof __GAME_VERSION__ !== 'undefined' ? __GAME_VERSION__ : '';
18
+ export const GAME_VERSION = "0.6.47";
package/dist/guild.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { Translatable } from './translatable';
2
- import { SvgIconTypeMap } from '@mui/material';
3
- import { OverridableComponent } from '@mui/material/OverridableComponent';
4
- import { EventStep } from './event';
5
- import { ShopItem } from './location';
6
- import { ScreenEffectType } from './ScreenEffectType';
1
+ import type { Translatable } from './translatable';
2
+ import type { SvgIconTypeMap } from '@mui/material';
3
+ import type { OverridableComponent } from '@mui/material/OverridableComponent';
4
+ import type { EventStep } from './event';
5
+ import type { ShopItem } from './location';
6
+ import type { ScreenEffectType } from './ScreenEffectType';
7
7
  export interface GuildMission {
8
8
  quest: string;
9
9
  condition: string;
@@ -1,4 +1,4 @@
1
- import { Translatable } from './translatable';
1
+ import type { Translatable } from './translatable';
2
2
  export interface SoilCondition {
3
3
  name: string;
4
4
  displayName?: Translatable;
package/dist/house.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import { Translatable } from './translatable';
2
- import { SvgIconTypeMap } from '@mui/material';
3
- import { OverridableComponent } from '@mui/material/OverridableComponent';
4
- import { ScreenEffectType } from './ScreenEffectType';
5
- import { Buff } from './buff';
6
- import { CraftingBuff } from './craftingBuff';
7
- import { ItemDesc, TransportSealItem } from './item';
8
- import { Rarity } from './rarity';
9
- import { Realm } from './realm';
1
+ import type { Translatable } from './translatable';
2
+ import type { SvgIconTypeMap } from '@mui/material';
3
+ import type { OverridableComponent } from '@mui/material/OverridableComponent';
4
+ import type { ScreenEffectType } from './ScreenEffectType';
5
+ import type { Buff } from './buff';
6
+ import type { CraftingBuff } from './craftingBuff';
7
+ import type { ItemDesc, TransportSealItem } from './item';
8
+ import type { Rarity } from './rarity';
9
+ import type { Realm } from './realm';
10
10
  export interface House {
11
11
  name: string;
12
12
  description: Translatable;