afnm-types 0.6.45 → 0.6.46

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/dist/auction.d.ts CHANGED
@@ -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: {
@@ -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
  }
@@ -4,7 +4,7 @@ import { OverridableComponent } from '@mui/material/OverridableComponent';
4
4
  import { Buff } from './buff';
5
5
  import { EnemyEntity } from './entity';
6
6
  import { EventStep } from './event';
7
- import { Item, ItemKind, MountItem } from './item';
7
+ import { Item, ItemDesc, ItemKind, MountItem } from './item';
8
8
  import { Realm, RealmProgress } from './realm';
9
9
  import { IntimateTrait } from './dualCultivation';
10
10
  export interface Character {
@@ -134,6 +134,7 @@ export interface CharacterState {
134
134
  giftedKeys: string[];
135
135
  challengeCooldown: number;
136
136
  patrolCooldown: number;
137
+ tradeCooldown: number;
137
138
  followCooldown: number;
138
139
  aidBreakthroughCooldown: number;
139
140
  dualCultivationCooldown: number;
@@ -162,6 +163,20 @@ export interface ShopCharacterInteraction extends BaseCharacterInteraction {
162
163
  }>;
163
164
  };
164
165
  }
166
+ export interface TradeCharacterInteraction extends BaseCharacterInteraction {
167
+ introSteps: EventStep[];
168
+ requestItems: {
169
+ item: ItemDesc;
170
+ amount: number;
171
+ }[];
172
+ availableItems: {
173
+ item: ItemDesc;
174
+ amount: number;
175
+ }[];
176
+ acceptSteps: EventStep[];
177
+ declineSteps: EventStep[];
178
+ cooldown: number;
179
+ }
165
180
  export interface SparCharacterInteraction extends BaseCharacterInteraction {
166
181
  introSteps: EventStep[];
167
182
  victorySteps: EventStep[];
@@ -217,7 +232,7 @@ export interface CharacterEncounter {
217
232
  id: string;
218
233
  condition: string;
219
234
  event: EventStep[];
220
- cooldown: {
235
+ cooldown?: {
221
236
  min: number;
222
237
  max: number;
223
238
  };
@@ -243,6 +258,7 @@ export interface NeutralCharacterDefinition extends BaseCharacterDefinition {
243
258
  breakthroughInteraction?: TalkCharacterInteraction;
244
259
  talkInteraction?: TalkCharacterInteraction[];
245
260
  shopInteraction?: ShopCharacterInteraction[];
261
+ tradeInteraction?: TradeCharacterInteraction[];
246
262
  sparInteraction?: SparCharacterInteraction[];
247
263
  craftingInteraction?: CraftingCharacterInteraction[];
248
264
  }
@@ -256,6 +272,7 @@ export interface CompanionCharacterDefinition extends BaseCharacterDefinition {
256
272
  breakthroughInteraction?: TalkCharacterInteraction;
257
273
  talkInteraction?: TalkCharacterInteraction[];
258
274
  shopInteraction?: ShopCharacterInteraction[];
275
+ tradeInteraction?: TradeCharacterInteraction[];
259
276
  sparInteraction?: SparCharacterInteraction[];
260
277
  giftInteraction?: GiftCharacterInteraction[];
261
278
  craftingInteraction?: CraftingCharacterInteraction[];
package/dist/entity.d.ts CHANGED
@@ -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
@@ -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;
37
37
  export interface TextStep {
38
38
  kind: 'text';
39
39
  condition?: string;
@@ -84,7 +84,7 @@ export interface ChoiceStepChoice {
84
84
  hideIfDisabled?: boolean;
85
85
  children: EventStep[];
86
86
  }
87
- export type EventChoiceCondition = RealmCondition | PhysicalStatisticCondition | SocialStatisticCondition | ItemCondition | BuffCondition | MoneyCondition | FavourCondition | MultiCondition | AffinityCondition | QiCondition | ReputationCondition;
87
+ export type EventChoiceCondition = RealmCondition | PhysicalStatisticCondition | SocialStatisticCondition | ItemCondition | BuffCondition | MoneyCondition | FavourCondition | MultiCondition | AffinityCondition | QiCondition | ReputationCondition | HealthCondition;
88
88
  export interface RealmCondition {
89
89
  kind: 'realm';
90
90
  realm: Realm;
@@ -95,6 +95,11 @@ interface PhysicalStatisticCondition {
95
95
  stat: PhysicalStatistic;
96
96
  amount: number;
97
97
  }
98
+ interface HealthCondition {
99
+ kind: 'hp';
100
+ amount: number;
101
+ mode: 'more' | 'equal' | 'less';
102
+ }
98
103
  interface SocialStatisticCondition {
99
104
  kind: 'socialStatistic';
100
105
  stat: SocialStatistic;
@@ -390,6 +395,8 @@ export interface MarkGiftedStep {
390
395
  export interface AuctionStep {
391
396
  kind: 'auction';
392
397
  condition?: string;
398
+ /** When set, reads this flag's numeric value as a realm index to use for auction generation */
399
+ selectedRealmFlag?: string;
393
400
  }
394
401
  export interface MarkCalendarEventCompleteStep {
395
402
  kind: 'markCalendarEventComplete';
@@ -453,6 +460,12 @@ export interface SetAltarCooldownStep {
453
460
  condition?: string;
454
461
  cooldown: string;
455
462
  }
463
+ export interface SetTradeCooldownStep {
464
+ kind: 'setTradeCooldown';
465
+ condition?: string;
466
+ character: string;
467
+ cooldown: number;
468
+ }
456
469
  export interface CompressCoreStep {
457
470
  kind: 'compressCore';
458
471
  condition?: string;
@@ -487,6 +500,11 @@ export interface OverridePlayerRealmStep {
487
500
  condition?: string;
488
501
  realm: Realm;
489
502
  }
503
+ export interface SetContentRealmOverrideStep {
504
+ kind: 'setContentRealmOverride';
505
+ condition?: string;
506
+ realm: Realm;
507
+ }
490
508
  export interface SetAidBreakthroughCooldownStep {
491
509
  kind: 'setAidBreakthroughCooldown';
492
510
  condition?: string;
@@ -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.46";
@@ -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.46";
package/dist/index.d.ts CHANGED
@@ -32,4 +32,5 @@ export * from './tournament';
32
32
  export * from './CharacterRequestEncounter';
33
33
  export * from './QuestionAnswer';
34
34
  export * from './RecipeDifficulty';
35
+ export * from './gameVersion';
35
36
  export type { RootState } from './reduxState';
package/dist/index.js CHANGED
@@ -32,3 +32,4 @@ export * from './tournament';
32
32
  export * from './CharacterRequestEncounter';
33
33
  export * from './QuestionAnswer';
34
34
  export * from './RecipeDifficulty';
35
+ export * from './gameVersion';
package/dist/item.d.ts CHANGED
@@ -382,6 +382,8 @@ export interface RewardPool {
382
382
  }
383
383
  export interface CondensationArtItem extends ItemBase {
384
384
  kind: 'condensation_art';
385
+ /** Short display name for the art without the trailing "Art" suffix (e.g. "The Distilling Furnace"). Used as the breakthrough name. */
386
+ artName: string;
385
387
  patternBg: string;
386
388
  patternOpacity: number;
387
389
  condenseCost: number;
@@ -21,6 +21,8 @@ export interface LocationGatheringEvent {
21
21
  export interface GameLocation {
22
22
  name: string;
23
23
  displayName?: Translatable;
24
+ /** When true, this location is only available in development builds (npm run dev). */
25
+ devContent?: boolean;
24
26
  description: Translatable;
25
27
  image: string;
26
28
  icon: string;
@@ -90,6 +92,7 @@ export interface LocationEvent {
90
92
  event: EventStep[];
91
93
  rarity: Rarity;
92
94
  triggerChance?: number;
95
+ noCooldown?: boolean;
93
96
  condition: string;
94
97
  cooldown?: {
95
98
  key: string;
@@ -143,7 +146,7 @@ export interface CraftingMission {
143
146
  condition: string;
144
147
  }
145
148
  export declare const exploresPerUnlock = 3;
146
- export type BuildingType = 'cultivation' | 'manual' | 'crafting' | 'mission' | 'craftingHall' | 'healer' | 'market' | 'favourExchange' | 'vault' | 'custom' | 'herbField' | 'mine' | 'recipe' | 'requestBoard' | 'compendium' | 'mysticalRegion' | 'trainingGround' | 'library' | 'house' | 'altar' | 'research' | 'reforge' | 'guild' | 'tenThousandFlames' | 'modBuilding';
149
+ export type BuildingType = 'cultivation' | 'manual' | 'crafting' | 'mission' | 'craftingHall' | 'healer' | 'market' | 'favourExchange' | 'vault' | 'custom' | 'herbField' | 'mine' | 'recipe' | 'requestBoard' | 'compendium' | 'mysticalRegion' | 'expedition' | 'trainingGround' | 'library' | 'house' | 'altar' | 'research' | 'reforge' | 'guild' | 'tenThousandFlames' | 'modBuilding';
147
150
  export type LocationBuilding = CultivationBuilding | ManualBuilding | CraftingBuilding | MissionBuilding | CraftingHallBuilding | HealerBuilding | MarketBuilding | VaultBuilding | FavourExchangeBuilding | CustomBuilding | HerbFieldBuilding | MineBuilding | RecipeLibraryBuilding | RequestBoardBuilding | CompendiumBuilding | MysticalRegionBuilding | TrainingGroundBuilding | LibraryBuilding | HouseBuilding | CompressionAltarBuilding | ResearchBuilding | ReforgeBuilding | GuildBuilding | TenThousandFlamesBuilding | ModBuilding;
148
151
  export type LocationBuildingState = MissionBuildingState | CraftingHallBuildingState | ShopBuildingState | RequestBoardBuildingState | HouseBuildingState | CompressionAltarBuildingState;
149
152
  interface BuildingBase {
package/dist/location.js CHANGED
@@ -16,6 +16,7 @@ export const buildingTypeToName = {
16
16
  requestBoard: 'Request Board',
17
17
  compendium: 'Material Compendium',
18
18
  mysticalRegion: 'Mystical Region',
19
+ expedition: 'Expedition Hall',
19
20
  trainingGround: 'Training Ground',
20
21
  library: 'Library',
21
22
  house: '',
@@ -79,6 +79,7 @@ export interface CombatState {
79
79
  noEnhancement?: boolean;
80
80
  noCrit?: boolean;
81
81
  trainingMode?: boolean;
82
+ isSpar?: boolean;
82
83
  combatTitle?: string;
83
84
  customBgm?: string[];
84
85
  background: string;
@@ -310,6 +311,9 @@ export interface FallenStarState {
310
311
  activeSites: Record<string, FallenStarData>;
311
312
  starCooldowns: Record<string, number>;
312
313
  }
314
+ export interface ExpeditionState {
315
+ activeExpeditionKey?: string;
316
+ }
313
317
  export interface NewGameState {
314
318
  characterCreated: boolean;
315
319
  forename: string;
@@ -430,6 +434,7 @@ export interface RootState {
430
434
  guild: GuildState;
431
435
  stoneCutting: StoneCuttingState;
432
436
  fallenStar: FallenStarState;
437
+ expedition: ExpeditionState;
433
438
  characterUiPreferences: CharacterUiPreferencesState;
434
439
  }
435
440
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "afnm-types",
3
- "version": "0.6.45",
3
+ "version": "0.6.46",
4
4
  "description": "Type definitions for Ascend From Nine Mountains",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -27,7 +27,7 @@
27
27
  "typescript": "^5.9.3"
28
28
  },
29
29
  "scripts": {
30
- "build": "tsc --project tsconfig.types.json",
30
+ "build": "tsc --project tsconfig.types.json && node scripts/inject-version.mjs",
31
31
  "prepublishOnly": "npm run build"
32
32
  },
33
33
  "author": "Lyeeedar",