afnm-types 0.6.20 → 0.6.24

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.
@@ -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';
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' | 'lifeScreen';
package/dist/auction.d.ts CHANGED
@@ -9,6 +9,7 @@ export interface AuctionItem {
9
9
  startPrice: number;
10
10
  step: number;
11
11
  currentPrice: number;
12
+ isPlayerItem?: boolean;
12
13
  }
13
14
  export interface AuctionItemDef {
14
15
  item: Item;
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { CombatEntity, CraftingEntity, PlayerEntity } from './entity';
2
+ import { CombatEntity, CraftingEntity, PlayerEntity, StoredStance, StoredStyle } from './entity';
3
3
  import { ItemDesc } from './item';
4
4
  import { Realm, RealmProgress } from './realm';
5
5
  import { PhysicalStatistic, SocialStatistic, Scaling } from './stat';
@@ -45,6 +45,16 @@ export interface BreakthroughState {
45
45
  }[];
46
46
  tilePool?: number;
47
47
  };
48
+ lifeFlourishing?: {
49
+ slottedEssences: string[];
50
+ selectedLifeform?: string;
51
+ fightsInstead?: boolean;
52
+ lifeformEntity?: {
53
+ stances: StoredStance[];
54
+ currentStyle?: StoredStyle;
55
+ storedStyles?: StoredStyle[];
56
+ };
57
+ };
48
58
  previous: Partial<{
49
59
  [key in Realm]: BreakthroughBase;
50
60
  }>;
@@ -72,6 +82,7 @@ export interface BreakthroughBase {
72
82
  buffStacks: Scaling;
73
83
  }[];
74
84
  dropletRegen?: number;
85
+ maxDroplets?: number;
75
86
  items?: ItemDesc[];
76
87
  }
77
88
  export interface RequirementArgs {
@@ -108,6 +119,7 @@ export interface Breakthrough extends BreakthroughBase {
108
119
  }[];
109
120
  items?: ItemDesc[];
110
121
  dropletRegen?: number;
122
+ maxDroplets?: number;
111
123
  extraEffects?: string[];
112
124
  };
113
125
  }
package/dist/buff.d.ts CHANGED
@@ -2,6 +2,19 @@ import { TechniqueElement } from './element';
2
2
  import { CombatStatistic, Scaling } from './stat';
3
3
  import { DamageType } from './DamageType';
4
4
  export type TechniqueCondition = ChanceTechniqueCondition | BuffTechniqueCondition | HpTechniqueCondition | ConditionTechniqueCondition;
5
+ export type DamageModifier = MultiplyDamageModifier | ReduceDamageModifier | ExpressionDamageModifier;
6
+ interface MultiplyDamageModifier {
7
+ kind: 'multiply';
8
+ value: number;
9
+ }
10
+ interface ReduceDamageModifier {
11
+ kind: 'reduce';
12
+ percent: number;
13
+ }
14
+ interface ExpressionDamageModifier {
15
+ kind: 'expression';
16
+ expression: string;
17
+ }
5
18
  interface ChanceTechniqueCondition {
6
19
  kind: 'chance';
7
20
  percentage: number;
@@ -43,6 +56,13 @@ export interface Buff {
43
56
  speed?: number;
44
57
  applicationStats?: Record<CombatStatistic, number>;
45
58
  applicationVariables?: Record<string, number>;
59
+ appliedByPlayer?: boolean;
60
+ allowMultipleInstances?: boolean;
61
+ storedVariables?: Record<string, string>;
62
+ uniqueId?: string;
63
+ internalState?: Record<string, number>;
64
+ initialState?: Record<string, string>;
65
+ stateTooltip?: string;
46
66
  type?: TechniqueElement;
47
67
  noneType?: string;
48
68
  secondaryType?: TechniqueElement | 'origin';
@@ -60,6 +80,11 @@ export interface Buff {
60
80
  trigger: string;
61
81
  effects: BuffEffect[];
62
82
  }[];
83
+ damageInterceptorEffects?: {
84
+ trigger?: TechniqueCondition;
85
+ damageModifier: DamageModifier;
86
+ effects?: BuffEffect[];
87
+ }[];
63
88
  priority?: number;
64
89
  afterTechnique?: boolean;
65
90
  combatImage?: BuffCombatImage;
@@ -69,7 +94,8 @@ export interface Buff {
69
94
  stacksAreMonths?: boolean;
70
95
  buffType?: string;
71
96
  buffTypeTooltip?: string;
72
- endureStatus?: boolean;
97
+ endurePercent?: number;
98
+ setupPercent?: number;
73
99
  cantUpgrade?: boolean;
74
100
  }
75
101
  type BuffCombatImage = ScatterCombatImage | ArcCombatImage | FloatingCombatImage | OverlayCombatImage | CompanionCombatImage | GroundCombatImage | FormationCombatImage;
@@ -136,10 +162,13 @@ export interface FormationCombatImage extends BaseCombatImage {
136
162
  scale?: number;
137
163
  showSingleInstance?: boolean;
138
164
  }
139
- export type BuffEffect = DamageEffect | DamageSelfEffect | HealEffect | BarrierEffect | CreateBuffSelfEffect | ConsumeBuffSelfEffect | CreateBuffTargetEffect | ConsumeBuffTargetEffect | NegateEffect | AddEffect | MultiplyEffect | MergeEffect | TriggerEffect | ModifyBuffGroupEffect | CleanseToxicityEffect;
165
+ export type BuffEffect = DamageEffect | DamageSelfEffect | HealEffect | BarrierEffect | CreateBuffSelfEffect | ConsumeBuffSelfEffect | CreateBuffTargetEffect | ConsumeBuffTargetEffect | NegateEffect | AddEffect | MultiplyEffect | MergeEffect | TriggerEffect | ModifyBuffGroupEffect | CleanseToxicityEffect | SetStateEffect;
140
166
  interface BaseBuff {
141
167
  condition?: TechniqueCondition;
142
168
  triggerKey?: string;
169
+ statChanges?: Partial<{
170
+ [key in CombatStatistic]: Scaling;
171
+ }>;
143
172
  }
144
173
  interface DamageEffect extends BaseBuff {
145
174
  kind: 'damage';
@@ -221,4 +250,10 @@ interface ModifyBuffGroupEffect extends BaseBuff {
221
250
  group: string;
222
251
  amount: Scaling;
223
252
  }
253
+ interface SetStateEffect extends BaseBuff {
254
+ kind: 'setState';
255
+ key: string;
256
+ value: Scaling;
257
+ mode?: 'set' | 'add';
258
+ }
224
259
  export {};
@@ -10,7 +10,7 @@ export interface Character {
10
10
  name: string;
11
11
  displayName?: string;
12
12
  allegiance: string | undefined;
13
- bio: string;
13
+ bio?: string;
14
14
  condition: string;
15
15
  definitions: CharacterDefinition[];
16
16
  relationship?: CharacterRelationshipDefinition[];
@@ -3,6 +3,7 @@ import { ReactNode, PropsWithChildren } from 'react';
3
3
  import { SoundEffectName } from './audio';
4
4
  import { ScreenEffectType } from './ScreenEffectType';
5
5
  import React from 'react';
6
+ export type BorderType = 'wood' | 'mystic';
6
7
  interface GameDialogProps {
7
8
  onClose?: () => void;
8
9
  closeSfx?: SoundEffectName;
@@ -18,6 +19,7 @@ interface GameDialogProps {
18
19
  backgroundPaper?: ReactNode;
19
20
  title?: string;
20
21
  removeBorder?: boolean;
22
+ borderType?: BorderType;
21
23
  }
22
24
  export type GameDialogFC = React.FC<PropsWithChildren<GameDialogProps>>;
23
25
  export type GameButtonFC = React.ForwardRefRenderFunction<HTMLButtonElement, ButtonProps & {
@@ -1,3 +1,4 @@
1
+ import { Realm } from './realm';
1
2
  import { CraftingStatistic, Scaling } from './stat';
2
3
  export type CraftingTechniqueCondition = BuffTechniqueCondition | StateTechniqueCondition | ConditionTechniqueCondition | ChanceTechniqueCondition;
3
4
  interface BuffTechniqueCondition {
@@ -43,6 +44,7 @@ export interface CraftingBuff {
43
44
  animations?: ('bump' | 'buff' | 'completion' | 'perfection' | 'stabilityup' | 'stabilitydown' | 'pool')[];
44
45
  cantUpgrade?: boolean;
45
46
  bonusHiddenPotential?: Scaling;
47
+ realm?: Realm;
46
48
  }
47
49
  export type CraftingBuffEffect = CompletionEffect | PerfectionEffect | StabilityEffect | PoolEffect | NegateEffect | CreateBuffEffect | AddStackEffect | ChangeToxicityEffect | MaxStabilityEffect;
48
50
  interface BaseEffect {
package/dist/entity.d.ts CHANGED
@@ -133,6 +133,7 @@ export interface EnemyEntity {
133
133
  stances: Stance[];
134
134
  stanceRotation: StanceRule[];
135
135
  rotationOverrides: SingleStance[];
136
+ clothing?: ItemDesc;
136
137
  talismans?: ItemDesc[];
137
138
  artefacts?: ItemDesc[];
138
139
  affinities?: Partial<Record<TechniqueElement, number>>;
@@ -157,6 +158,7 @@ export interface EnemyEntity {
157
158
  power?: number;
158
159
  };
159
160
  preconfiguredCombatEntity?: CombatEntity;
161
+ phases?: EnemyEntity[];
160
162
  }
161
163
  export interface CombatMessage {
162
164
  id: number;
@@ -309,9 +311,15 @@ export interface RotationStoredRule {
309
311
  }
310
312
  export interface ConditionalStoredRule {
311
313
  kind: 'conditional';
312
- condition: string;
313
- check: '<' | '==' | '>' | '!=';
314
- value: number;
314
+ condition?: string;
315
+ check?: '<' | '==' | '>' | '!=';
316
+ value?: number;
317
+ conditions?: Array<{
318
+ condition: string;
319
+ check: '<' | '==' | '>' | '!=';
320
+ value: number;
321
+ }>;
322
+ operator?: 'AND' | 'OR';
315
323
  }
316
324
  export interface StoredStance {
317
325
  name: string;
package/dist/event.d.ts CHANGED
@@ -7,7 +7,7 @@ import { IntimateTrait } from './dualCultivation';
7
7
  import { TechniqueElement } from './element';
8
8
  import { EnemyEntity } from './entity';
9
9
  import { ItemDesc } from './item';
10
- import { Realm } from './realm';
10
+ import { Realm, RealmProgress } from './realm';
11
11
  import { PhysicalStatistic, ReputationTier, SocialStatistic } from './stat';
12
12
  export interface TriggeredEvent {
13
13
  event: GameEvent;
@@ -30,7 +30,7 @@ export interface GameEvent {
30
30
  value: number;
31
31
  }[];
32
32
  }
33
- 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 | ClearTeamUpStep | UnlockAltarStep | DropItemStep | SetAltarCooldownStep | CompressCoreStep | ChangeScreenStep | UnlockTechniqueStep | AddRecipeStep | ReplaceItemStep | DualCultivationStep | ChangeBGMStep | ClearChangeBGMStep | AddGuildApprovalStep | AdvanceGuildRankStep | OverridePlayerRealmStep | SetAidBreakthroughCooldownStep | StoneCuttingStep | GiveItemStep | ChangePhysicalStatStep | ChangeSocialStatStep;
33
+ 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 | ClearTeamUpStep | UnlockAltarStep | DropItemStep | SetAltarCooldownStep | CompressCoreStep | ChangeScreenStep | UnlockTechniqueStep | UnlockAuctionTechniqueStep | AddRecipeStep | AddManualStep | ReplaceItemStep | DualCultivationStep | ChangeBGMStep | ClearChangeBGMStep | AddGuildApprovalStep | AdvanceGuildRankStep | OverridePlayerRealmStep | SetAidBreakthroughCooldownStep | StoneCuttingStep | GiveItemStep | ChangePhysicalStatStep | ChangeSocialStatStep;
34
34
  export interface TextStep {
35
35
  kind: 'text';
36
36
  condition?: string;
@@ -279,11 +279,21 @@ export interface UnlockTechniqueStep {
279
279
  condition?: string;
280
280
  technique: string;
281
281
  }
282
+ export interface UnlockAuctionTechniqueStep {
283
+ kind: 'unlockAuctionTechnique';
284
+ condition?: string;
285
+ ability: string;
286
+ }
282
287
  export interface AddRecipeStep {
283
288
  kind: 'addRecipe';
284
289
  condition?: string;
285
290
  recipe: string;
286
291
  }
292
+ export interface AddManualStep {
293
+ kind: 'addManual';
294
+ condition?: string;
295
+ manual: string;
296
+ }
287
297
  export interface TalkToCharacterStep {
288
298
  kind: 'talkToCharacter';
289
299
  condition?: string;
@@ -381,6 +391,8 @@ export interface CraftSkillStep {
381
391
  kind: 'craftSkill';
382
392
  condition?: string;
383
393
  amount: string;
394
+ realm: Realm;
395
+ realmProgress: RealmProgress;
384
396
  }
385
397
  export interface TournamentStep {
386
398
  kind: 'tournament';
@@ -0,0 +1,13 @@
1
+ import { LifeForm } from './life';
2
+ export interface Evolution {
3
+ fromForm: LifeForm;
4
+ toForm: LifeForm;
5
+ essenceCost: {
6
+ essence: string;
7
+ amount: number;
8
+ }[];
9
+ unlockCondition: {
10
+ hint: string;
11
+ isComplete: string;
12
+ };
13
+ }
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.d.ts CHANGED
@@ -19,7 +19,6 @@ export * from './house';
19
19
  export * from './item';
20
20
  export * from './itemHarmonyType';
21
21
  export * from './location';
22
- export * from './manual';
23
22
  export * from './mine';
24
23
  export * from './mod';
25
24
  export * from './mysticalRegion';
package/dist/index.js CHANGED
@@ -19,7 +19,6 @@ export * from './house';
19
19
  export * from './item';
20
20
  export * from './itemHarmonyType';
21
21
  export * from './location';
22
- export * from './manual';
23
22
  export * from './mine';
24
23
  export * from './mod';
25
24
  export * from './mysticalRegion';
package/dist/item.d.ts CHANGED
@@ -3,7 +3,7 @@ import { CraftingBuff } from './craftingBuff';
3
3
  import { CraftingTechniqueEffect } from './craftingTechnique';
4
4
  import { RecipeConditionEffect, RecipeHarmonyType } from './crafting';
5
5
  import { TechniqueElement } from './element';
6
- import { EnemyEntity } from './entity';
6
+ import { EnemyEntity, StoredRule } from './entity';
7
7
  import { Room } from './house';
8
8
  import { RegionContentType } from './mysticalRegion';
9
9
  import { Rarity } from './rarity';
@@ -11,14 +11,14 @@ import { Realm, RealmProgress } from './realm';
11
11
  import { RecipeDifficulty } from './RecipeDifficulty';
12
12
  import { CombatStatsMap, CraftingStatsMap, PhysicalStatistic, Scaling, SocialStatistic } from './stat';
13
13
  import { Technique, TechniqueEffect } from './technique';
14
- export declare const itemKinds: readonly ["clothing", "talisman", "artefact", "mount", "cauldron", "flame", "upgrade", "fruit", "elixir", "recipe", "technique", "action", "transport_seal", "enchantment", "pill", "reagent", "concoction", "consumable", "recuperation", "formation", "breakthrough", "pillar_shard", "material", "flare", "mystical_key", "condensation_art", "blueprint", "trophy", "treasure", "token", "life_essence", "device"];
14
+ export declare const itemKinds: readonly ["clothing", "talisman", "artefact", "mount", "cauldron", "flame", "upgrade", "fruit", "elixir", "recipe", "technique", "action", "transport_seal", "enchantment", "pill", "reagent", "concoction", "consumable", "recuperation", "formation", "breakthrough", "pillar_shard", "material", "flare", "mystical_key", "condensation_art", "blueprint", "trophy", "treasure", "token", "life_essence", "device", "manual"];
15
15
  export type ItemKind = (typeof itemKinds)[number];
16
16
  export type ItemCostMap = {
17
17
  [key in ItemKind]: number;
18
18
  };
19
19
  export declare const buyItemCostMap: ItemCostMap;
20
20
  export declare const sellItemCostMap: ItemCostMap;
21
- export type Item = TechniqueItem | TechniqueCrystalItem | TechniqueShardItem | TechniqueEnhancementDust | TransportSealItem | SpiritFruitItem | RecipeItem | ElixirItem | TreasureItem | CraftingItem | ClothingItem | TalismanItem | ArtefactItem | PillItem | ConcoctionItem | CombatItem | CauldronItem | FlameItem | BreakthroughItem | RecuperationItem | MountItem | FlareItem | CraftingTechniqueItem | EnchantmentItem | MysticalKeyItem | CondensationArtItem | FormationItem | PillarShardItem | TrophyItem | BlueprintItem | TokenItem | UpgradeItem | CraftingReagentItem | LifeEssenceItem | DeviceItem;
21
+ export type Item = TechniqueItem | TechniqueCrystalItem | TechniqueShardItem | TechniqueEnhancementDust | TransportSealItem | SpiritFruitItem | RecipeItem | ElixirItem | TreasureItem | CraftingItem | ClothingItem | TalismanItem | ArtefactItem | PillItem | ConcoctionItem | CombatItem | CauldronItem | FlameItem | BreakthroughItem | RecuperationItem | MountItem | FlareItem | CraftingTechniqueItem | EnchantmentItem | MysticalKeyItem | CondensationArtItem | FormationItem | PillarShardItem | TrophyItem | BlueprintItem | TokenItem | UpgradeItem | CraftingReagentItem | LifeEssenceItem | DeviceItem | ManualItem;
22
22
  interface ItemBase {
23
23
  kind: ItemKind;
24
24
  name: string;
@@ -79,6 +79,19 @@ export interface DeviceItem extends ItemBase {
79
79
  soilConditions?: string[];
80
80
  }>;
81
81
  }
82
+ export interface ManualItem extends ItemBase {
83
+ kind: 'manual';
84
+ style: ManualStyle;
85
+ }
86
+ export interface ManualStyle {
87
+ name: string;
88
+ stances: ManualStance[];
89
+ }
90
+ export interface ManualStance {
91
+ name: string;
92
+ stance: string[];
93
+ stanceRule?: StoredRule;
94
+ }
82
95
  export interface CraftingItem extends ItemBase {
83
96
  kind: 'material';
84
97
  }
@@ -384,6 +397,7 @@ export interface PillarShardVariant {
384
397
  buffStacks: Scaling;
385
398
  }[];
386
399
  dropletRegen?: number;
400
+ maxDroplets?: number;
387
401
  }
388
402
  export interface PillarShardItem extends ItemBase {
389
403
  kind: 'pillar_shard';
package/dist/item.js CHANGED
@@ -31,6 +31,7 @@ export const itemKinds = [
31
31
  'token',
32
32
  'life_essence',
33
33
  'device',
34
+ 'manual',
34
35
  ];
35
36
  export const buyItemCostMap = {
36
37
  technique: 3000,
@@ -65,6 +66,7 @@ export const buyItemCostMap = {
65
66
  reagent: 500,
66
67
  life_essence: 5000,
67
68
  device: 2500,
69
+ manual: 15000,
68
70
  };
69
71
  export const sellItemCostMap = {
70
72
  technique: 400,
@@ -99,4 +101,5 @@ export const sellItemCostMap = {
99
101
  reagent: 150,
100
102
  life_essence: 1000,
101
103
  device: 600,
104
+ manual: 0,
102
105
  };
@@ -36,4 +36,5 @@ export const itemTypeToHarmonyType = {
36
36
  token: 'forge',
37
37
  upgrade: 'forge',
38
38
  life_essence: 'resonance',
39
+ manual: 'resonance',
39
40
  };
package/dist/life.d.ts CHANGED
@@ -6,23 +6,11 @@ import { Technique } from './technique';
6
6
  export interface LifeForm {
7
7
  name: string;
8
8
  description: string;
9
- portrait: string;
10
9
  image: string;
11
10
  realm: Realm;
12
11
  baseStats: Record<PhysicalStatistic, number>;
13
12
  buffs: Buff[];
14
13
  techniques: Technique[];
15
- evolutions: {
16
- essenceCost: {
17
- essence: string;
18
- amount: number;
19
- }[];
20
- unlockCondition: {
21
- hint: string;
22
- isComplete: string;
23
- };
24
- nextForm: LifeForm;
25
- }[];
26
14
  }
27
15
  export interface LifeFormEntity {
28
16
  baseForm: string;
package/dist/mod.d.ts CHANGED
@@ -14,9 +14,8 @@ import { CombatEntity, EnemyEntity, PlayerEntity } from './entity';
14
14
  import { AuctionStep, CombatStep, CraftingStep, DualCultivationStep, EventStep, FightCharacterStep, GameEvent, StoneCuttingStep, TournamentStep, TriggeredEvent } from './event';
15
15
  import { Guild } from './guild';
16
16
  import { Crop } from './herbField';
17
- import { Enchantment, Item, ItemDesc, RecipeItem, UncutStonePool } from './item';
17
+ import { Enchantment, Item, ItemDesc, ManualItem, RecipeItem, UncutStonePool } from './item';
18
18
  import { ConditionalLink, ExplorationLink, GameLocation, LocationBuilding, LocationEnemy, LocationEvent, LocationMapEvent, SectMission, CraftingMission } from './location';
19
- import { Manual } from './manual';
20
19
  import { MineChamber } from './mine';
21
20
  import { Quest } from './quest';
22
21
  import { Realm, RealmProgress } from './realm';
@@ -262,7 +261,7 @@ export interface ModAPI {
262
261
  triggeredEvents: TriggeredEvent[];
263
262
  crops: Record<Realm, Crop[]>;
264
263
  locations: Record<string, GameLocation>;
265
- manuals: Record<string, Manual>;
264
+ manuals: Record<string, ManualItem>;
266
265
  mineChambers: Record<Realm, Record<RealmProgress, MineChamber[]>>;
267
266
  quests: Record<string, Quest>;
268
267
  techniques: Record<string, Technique>;
@@ -279,10 +278,17 @@ export interface ModAPI {
279
278
  blossom: {
280
279
  fragrantBlossom: Buff;
281
280
  fatalFlora: Buff;
281
+ fatalFloraRazor: Buff;
282
+ fatalFloraIron: Buff;
283
+ fatalFloraRadiant: Buff;
284
+ fatalFloraToxic: Buff;
285
+ fatalFloraWithering: Buff;
282
286
  razorBlossom: Buff;
283
287
  ironBlossom: Buff;
288
+ radiantBlossom: Buff;
289
+ toxicBlossom: Buff;
284
290
  witheringBlossom: Buff;
285
- soilDepletion: Buff;
291
+ rot: Buff;
286
292
  };
287
293
  celestial: {
288
294
  sunlight: Buff;
@@ -322,6 +328,7 @@ export interface ModAPI {
322
328
  harmonyConfigs: Record<RecipeHarmonyType, HarmonyTypeConfig>;
323
329
  itemTypeToHarmonyType: Record<ItemKind, RecipeHarmonyType>;
324
330
  puppets: PuppetType[];
331
+ monsters: EnemyEntity[];
325
332
  };
326
333
  actions: {
327
334
  /**
@@ -380,6 +387,12 @@ export interface ModAPI {
380
387
  * addItemToAuction(rareRecipe, 1, '1');
381
388
  */
382
389
  addItemToAuction: (item: Item, chance: number, condition: string, countOverride?: number, countMultiplier?: number) => void;
390
+ /**
391
+ * Add an item to a fallen star's drop table.
392
+ * @param item - Item to add
393
+ * @param realm - Realm of star to add to
394
+ */
395
+ addItemToFallenStar: (item: Item, realm: Realm) => void;
383
396
  /**
384
397
  * Add a recipe that can be researched from a base item.
385
398
  * @param baseItem - Item that enables research
@@ -494,7 +507,7 @@ export interface ModAPI {
494
507
  * Add a manual to the Manual Pagoda.
495
508
  * @param manual - Manual configuration
496
509
  */
497
- addManual: (manual: Manual) => void;
510
+ addManual: (manual: ManualItem) => void;
498
511
  /**
499
512
  * Add a chamber to the spirit stone mine.
500
513
  * @param realm - Required realm
package/dist/realm.js CHANGED
@@ -43,7 +43,7 @@ export const realmToName = {
43
43
  coreFormation: 'Core Formation',
44
44
  pillarCreation: 'Pillar Creation',
45
45
  lifeFlourishing: 'Life Flourishing',
46
- worldShaping: 'Budding Soul',
47
- innerGenesis: 'Soul Separation',
48
- soulAscension: 'Soul Ascension',
46
+ worldShaping: 'World Shaping',
47
+ innerGenesis: 'Inner Genesis',
48
+ soulAscension: 'Soul Transference',
49
49
  };
@@ -1,5 +1,5 @@
1
1
  import { PlayerEntity, EnemyEntity, CombatEntity, Sex } from './entity';
2
- import { ItemDesc, EnchantmentDesc } from './item';
2
+ import { ItemDesc, EnchantmentDesc, ItemKind } from './item';
3
3
  import { BreakthroughState } from './breakthrough';
4
4
  import { ScreenEffectType } from './ScreenEffectType';
5
5
  import { CalendarEvent } from './calendar';
@@ -19,6 +19,7 @@ import { Buff } from './buff';
19
19
  import { EventStep, GameEvent, ReportAnalyticsStep, TournamentStep } from './event';
20
20
  import { Background } from './background';
21
21
  import { Realm } from './realm';
22
+ import { TechniqueElement } from './element';
22
23
  export interface Viewport {
23
24
  x: number;
24
25
  y: number;
@@ -164,6 +165,9 @@ export interface AuctionState {
164
165
  resources: Record<string, number>;
165
166
  bidPower: number;
166
167
  wonItems: AuctionItem[];
168
+ playerItemsSold: AuctionItem[];
169
+ totalPlayerSales: number;
170
+ needsPlayerSellSelection: boolean;
167
171
  }
168
172
  export interface BreakthroughSliceState extends BreakthroughState {
169
173
  }
@@ -327,6 +331,8 @@ export interface HistoryItem {
327
331
  craftingTechnique?: string;
328
332
  technique?: string;
329
333
  recipe?: string;
334
+ auctionAbility?: string;
335
+ manual?: string;
330
336
  }
331
337
  interface StoredEventState {
332
338
  eventStepStack: EventStep[][];
@@ -355,6 +361,20 @@ export interface GameEventState {
355
361
  };
356
362
  analyticsToReport: ReportAnalyticsStep[];
357
363
  }
364
+ export interface RecipeFilters {
365
+ hideCompleted: boolean;
366
+ hideLowerRealm: boolean;
367
+ showOnlyCraftable: boolean;
368
+ hideNoCraftSkill: boolean;
369
+ recipeFilter: string;
370
+ selectedRecipe: string;
371
+ pinnedRecipes: string[];
372
+ category: 'all' | ItemKind;
373
+ }
374
+ export interface CharacterUiPreferencesState {
375
+ techniqueFilter: 'all' | TechniqueElement;
376
+ recipeFilters: RecipeFilters;
377
+ }
358
378
  export interface RootState {
359
379
  gameData: GameDataState;
360
380
  gameEvent: GameEventState;
@@ -387,5 +407,6 @@ export interface RootState {
387
407
  guild: GuildState;
388
408
  stoneCutting: StoneCuttingState;
389
409
  fallenStar: FallenStarState;
410
+ characterUiPreferences: CharacterUiPreferencesState;
390
411
  }
391
412
  export {};
package/dist/stat.js CHANGED
@@ -140,7 +140,7 @@ export const combatStatToName = {
140
140
  export const combatStatToDescription = {
141
141
  maxhp: 'The amount of damage you can take before you are unable to continue.',
142
142
  hp: '',
143
- maxbarrier: 'The maximum you can increase your barrier to.',
143
+ maxbarrier: 'The maximum you can increase your barrier to without it degenerating after each technique.',
144
144
  barrier: '',
145
145
  maxtoxicity: 'The quantity of pills you can take before your body becomes unable to digest any more.',
146
146
  resistance: 'Your resistance to the effects of pill toxicity, increasing the number of pills you can digest.',
@@ -159,7 +159,7 @@ export const combatStatToDescription = {
159
159
  cloudBoost: '',
160
160
  bloodBoost: '',
161
161
  celestialBoost: '',
162
- barrierMitigation: 'The effectiveness of your barrier. When below <b>100%</b>, it is the percentage of each hit your barrier can absorb. When over <b>100%</b>, it grants a bonus multiplier to the damage your barrier can absorb.',
162
+ barrierMitigation: 'Controls how efficiently your barrier absorbs damage. Barrier always blocks damage first before health is lost.',
163
163
  qiDroplets: '',
164
164
  fistAffinity: '',
165
165
  blossomAffinity: '',
@@ -231,7 +231,7 @@ export const socialStatToDescription = {
231
231
  lifespan: 'The maximum age you can live to. If your age increases beyond your lifespan, you die.',
232
232
  age: 'Your current age. If your age increases beyond your lifespan, you die.',
233
233
  battlesense: 'Your experience in combat. Affects the number of Stances you have available to set, and your <b>Power</b> bonus each time you change stances in combat.',
234
- craftskill: 'Your experience at crafting. Grants a bonus to your base <b>Qi Control</b> and <b>Qi Intensity</b>. Additionally, every <b>250</b> craft skill gain an additional <b>Crafting Loadout Slot</b>.',
234
+ craftskill: 'Your experience at crafting. Grants a bonus to your base <b>Qi Control</b> and <b>Qi Intensity</b>. Additionally, every <b>200</b> craft skill gain an additional <b>Crafting Loadout Slot</b>.',
235
235
  artefactslots: 'The number of Artefacts you can equip.',
236
236
  talismanslots: 'The number of Talismans you can equip.',
237
237
  condenseEfficiency: 'Your efficiency at converting <b>Qi</b> into <b>Qi Droplets</b>.',
@@ -3,7 +3,7 @@ export interface Tutorial {
3
3
  steps: TutorialStep[];
4
4
  skippable?: boolean;
5
5
  }
6
- export type TutorialStep = ClickTutorialStep | DescribeTutorialStep | GeneralTutorialStep;
6
+ export type TutorialStep = ClickTutorialStep | DescribeTutorialStep | GeneralTutorialStep | SuspendContStep;
7
7
  export interface ClickTutorialStep {
8
8
  kind: 'click';
9
9
  elementId: string;
@@ -19,3 +19,8 @@ export interface GeneralTutorialStep {
19
19
  description: string;
20
20
  elementId?: undefined;
21
21
  }
22
+ export interface SuspendContStep {
23
+ kind: 'wait';
24
+ elementId: string;
25
+ description?: string;
26
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "afnm-types",
3
- "version": "0.6.20",
3
+ "version": "0.6.24",
4
4
  "description": "Type definitions for Ascend From Nine Mountains",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",