afnm-types 0.6.46 → 0.6.49

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 (55) 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 +4 -2
  6. package/dist/background.d.ts +4 -4
  7. package/dist/breakthrough.d.ts +8 -8
  8. package/dist/buff.d.ts +4 -4
  9. package/dist/calendar.d.ts +2 -2
  10. package/dist/character.d.ts +57 -9
  11. package/dist/components.d.ts +6 -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 +11 -10
  19. package/dist/event.d.ts +123 -161
  20. package/dist/event.js +77 -1
  21. package/dist/evolution.d.ts +1 -1
  22. package/dist/fallenStar.d.ts +1 -1
  23. package/dist/gameVersion.d.ts +1 -1
  24. package/dist/gameVersion.js +1 -1
  25. package/dist/guild.d.ts +6 -6
  26. package/dist/herbField.d.ts +1 -1
  27. package/dist/house.d.ts +9 -9
  28. package/dist/index.d.ts +21 -5
  29. package/dist/index.js +21 -4
  30. package/dist/item.d.ts +29 -14
  31. package/dist/itemAction.d.ts +33 -0
  32. package/dist/itemAction.js +1 -0
  33. package/dist/itemHarmonyType.d.ts +2 -2
  34. package/dist/life.d.ts +4 -4
  35. package/dist/location.d.ts +24 -13
  36. package/dist/location.js +2 -0
  37. package/dist/mine.d.ts +5 -5
  38. package/dist/mod.d.ts +206 -42
  39. package/dist/mysticalRegion.d.ts +2 -2
  40. package/dist/pillarGrid.d.ts +7 -0
  41. package/dist/pillarGrid.js +1 -0
  42. package/dist/quest.d.ts +3 -3
  43. package/dist/reduxState.d.ts +34 -28
  44. package/dist/reforge.d.ts +9 -0
  45. package/dist/reforge.js +1 -0
  46. package/dist/simpleEvent.d.ts +3 -3
  47. package/dist/soulShardDelve.d.ts +259 -0
  48. package/dist/soulShardDelve.js +83 -0
  49. package/dist/stat.d.ts +5 -4
  50. package/dist/stat.js +10 -0
  51. package/dist/technique.d.ts +15 -10
  52. package/dist/tournament.d.ts +1 -1
  53. package/dist/trainingGround.d.ts +2 -2
  54. package/dist/tutorial.d.ts +1 -1
  55. package/package.json +8 -8
@@ -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[];
@@ -38,6 +38,8 @@ export interface AuctionCharacter {
38
38
  };
39
39
  bowOut: string[];
40
40
  bid: string[];
41
+ /** Optional condition expression evaluated against game flags. If falsy, the character is excluded from the pool. */
42
+ condition?: string;
41
43
  }
42
44
  export interface AuctionCharacterData {
43
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;
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, ItemDesc, 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;
@@ -298,13 +334,25 @@ export interface CharacterRelationshipDefinition {
298
334
  tooltip: Translatable;
299
335
  };
300
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
+ };
301
347
  }
302
348
  export interface FollowCharacterDefinition {
303
349
  formParty: EventStep[];
304
350
  duration: number;
305
351
  buff: Omit<Buff, 'name' | 'icon'>;
352
+ craftingBuff?: Omit<CraftingBuff, 'name' | 'icon'>;
306
353
  cooldown: number;
307
354
  dissolveParty: EventStep[];
355
+ supportsJoiningParty?: boolean;
308
356
  }
309
357
  export interface DualCultivationDefinition {
310
358
  condition: string;
@@ -1,10 +1,11 @@
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
+ id: string;
8
9
  onClose?: () => void;
9
10
  closeSfx?: SoundEffectName;
10
11
  width?: Breakpoint;
@@ -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;
@@ -76,6 +76,7 @@ export interface PlayerEntity {
76
76
  storedPillarLayouts?: StoredPillarLayout[];
77
77
  destiny: string[];
78
78
  background: string[];
79
+ consumedStatPills?: string[];
79
80
  monthBuffs?: Buff[];
80
81
  injured?: boolean;
81
82
  party?: PartyMemberConfig[];