afnm-types 0.6.23 → 0.6.25

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';
@@ -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
@@ -56,10 +56,13 @@ export interface Buff {
56
56
  speed?: number;
57
57
  applicationStats?: Record<CombatStatistic, number>;
58
58
  applicationVariables?: Record<string, number>;
59
- appliedByPlayer?: boolean;
59
+ appliedByOpponent?: boolean;
60
60
  allowMultipleInstances?: boolean;
61
61
  storedVariables?: Record<string, string>;
62
62
  uniqueId?: string;
63
+ internalState?: Record<string, number>;
64
+ initialState?: Record<string, string>;
65
+ stateTooltip?: string;
63
66
  type?: TechniqueElement;
64
67
  noneType?: string;
65
68
  secondaryType?: TechniqueElement | 'origin';
@@ -76,6 +79,8 @@ export interface Buff {
76
79
  triggeredBuffEffects?: {
77
80
  trigger: string;
78
81
  effects: BuffEffect[];
82
+ /** If true, this trigger will also fire when the opponent triggers the same event */
83
+ listenToOpponent?: boolean;
79
84
  }[];
80
85
  damageInterceptorEffects?: {
81
86
  trigger?: TechniqueCondition;
@@ -159,7 +164,7 @@ export interface FormationCombatImage extends BaseCombatImage {
159
164
  scale?: number;
160
165
  showSingleInstance?: boolean;
161
166
  }
162
- export type BuffEffect = DamageEffect | DamageSelfEffect | HealEffect | BarrierEffect | CreateBuffSelfEffect | ConsumeBuffSelfEffect | CreateBuffTargetEffect | ConsumeBuffTargetEffect | NegateEffect | AddEffect | MultiplyEffect | MergeEffect | TriggerEffect | ModifyBuffGroupEffect | CleanseToxicityEffect;
167
+ export type BuffEffect = DamageEffect | DamageSelfEffect | HealEffect | BarrierEffect | CreateBuffSelfEffect | ConsumeBuffSelfEffect | CreateBuffTargetEffect | ConsumeBuffTargetEffect | NegateEffect | AddEffect | MultiplyEffect | MergeEffect | TriggerEffect | ModifyBuffGroupEffect | CleanseToxicityEffect | SetStateEffect;
163
168
  interface BaseBuff {
164
169
  condition?: TechniqueCondition;
165
170
  triggerKey?: string;
@@ -247,4 +252,10 @@ interface ModifyBuffGroupEffect extends BaseBuff {
247
252
  group: string;
248
253
  amount: Scaling;
249
254
  }
255
+ interface SetStateEffect extends BaseBuff {
256
+ kind: 'setState';
257
+ key: string;
258
+ value: Scaling;
259
+ mode?: 'set' | 'add';
260
+ }
250
261
  export {};
@@ -113,7 +113,7 @@ export interface CraftingRecipeStats {
113
113
  conditionType: RecipeConditionEffect;
114
114
  harmonyType: RecipeHarmonyType;
115
115
  }
116
- export type CraftingTechniqueMastery = ControlMastery | IntensityMastery | CritChanceTechniqueMastery | CritDamageTechniqueMastery | EffectTechniqueMastery | UpgradeCraftingTechniqueMastery | PoolCostMastery | StabilityCostMastery | SuccessChanceMastery;
116
+ export type CraftingTechniqueMastery = ControlMastery | IntensityMastery | CritChanceTechniqueMastery | CritMultiplierTechniqueMastery | EffectTechniqueMastery | UpgradeCraftingTechniqueMastery | PoolCostMastery | StabilityCostMastery | SuccessChanceMastery;
117
117
  interface BaseCraftingTechniqueMastery {
118
118
  condition?: CraftingTechniqueCondition;
119
119
  tooltip?: string;
@@ -131,8 +131,8 @@ interface CritChanceTechniqueMastery extends BaseCraftingTechniqueMastery {
131
131
  kind: 'critchance';
132
132
  percentage: number;
133
133
  }
134
- interface CritDamageTechniqueMastery extends BaseCraftingTechniqueMastery {
135
- kind: 'critdam';
134
+ interface CritMultiplierTechniqueMastery extends BaseCraftingTechniqueMastery {
135
+ kind: 'critmultiplier';
136
136
  percentage: number;
137
137
  }
138
138
  interface EffectTechniqueMastery extends BaseCraftingTechniqueMastery {
package/dist/entity.d.ts CHANGED
@@ -7,6 +7,15 @@ import { ArtefactItem, CombatItem, CombatPillItem, ConcoctionItem, CraftingEquip
7
7
  import { Realm, RealmProgress } from './realm';
8
8
  import { CombatStatsMap, CraftingStatsMap, PhysicalStatistic, SocialStatistic } from './stat';
9
9
  import { KnownTechnique, Technique, TechniquePriority } from './technique';
10
+ export interface CombatEffectTracking {
11
+ icon: string;
12
+ background: string;
13
+ damage: number;
14
+ healing: number;
15
+ barrier: number;
16
+ }
17
+ export declare const entityTypes: readonly ["Player", "Lifeform", "Enemy"];
18
+ export type EntityType = (typeof entityTypes)[number];
10
19
  export declare const sexes: readonly ["male", "female"];
11
20
  export type Sex = (typeof sexes)[number];
12
21
  export interface PlayerEntity {
@@ -133,6 +142,7 @@ export interface EnemyEntity {
133
142
  stances: Stance[];
134
143
  stanceRotation: StanceRule[];
135
144
  rotationOverrides: SingleStance[];
145
+ clothing?: ItemDesc;
136
146
  talismans?: ItemDesc[];
137
147
  artefacts?: ItemDesc[];
138
148
  affinities?: Partial<Record<TechniqueElement, number>>;
@@ -208,7 +218,7 @@ export interface CombatArtefact extends ArtefactItem {
208
218
  animations: ('bump' | 'buff' | 'debuff' | 'attack')[];
209
219
  }
210
220
  export interface CombatEntity {
211
- isPlayer: boolean;
221
+ entityType: EntityType;
212
222
  image: string;
213
223
  supportImage?: {
214
224
  image: string;
@@ -277,6 +287,7 @@ export interface CombatEntity {
277
287
  y: number;
278
288
  };
279
289
  disableBreathing?: boolean;
290
+ effectTracking: Record<string, CombatEffectTracking>;
280
291
  }
281
292
  export type StanceRule = SingleStance | RandomStance;
282
293
  export interface SingleStance {
package/dist/entity.js CHANGED
@@ -1 +1,2 @@
1
+ export const entityTypes = ['Player', 'Lifeform', 'Enemy'];
1
2
  export const sexes = ['male', 'female'];
@@ -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/item.d.ts CHANGED
@@ -397,6 +397,7 @@ export interface PillarShardVariant {
397
397
  buffStacks: Scaling;
398
398
  }[];
399
399
  dropletRegen?: number;
400
+ maxDroplets?: number;
400
401
  }
401
402
  export interface PillarShardItem extends ItemBase {
402
403
  kind: 'pillar_shard';
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
@@ -328,6 +328,7 @@ export interface ModAPI {
328
328
  harmonyConfigs: Record<RecipeHarmonyType, HarmonyTypeConfig>;
329
329
  itemTypeToHarmonyType: Record<ItemKind, RecipeHarmonyType>;
330
330
  puppets: PuppetType[];
331
+ monsters: EnemyEntity[];
331
332
  };
332
333
  actions: {
333
334
  /**
@@ -386,6 +387,12 @@ export interface ModAPI {
386
387
  * addItemToAuction(rareRecipe, 1, '1');
387
388
  */
388
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;
389
396
  /**
390
397
  * Add a recipe that can be researched from a base item.
391
398
  * @param baseItem - Item that enables research
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;
@@ -360,6 +361,20 @@ export interface GameEventState {
360
361
  };
361
362
  analyticsToReport: ReportAnalyticsStep[];
362
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
+ }
363
378
  export interface RootState {
364
379
  gameData: GameDataState;
365
380
  gameEvent: GameEventState;
@@ -392,5 +407,6 @@ export interface RootState {
392
407
  guild: GuildState;
393
408
  stoneCutting: StoneCuttingState;
394
409
  fallenStar: FallenStarState;
410
+ characterUiPreferences: CharacterUiPreferencesState;
395
411
  }
396
412
  export {};
package/dist/stat.d.ts CHANGED
@@ -3,7 +3,7 @@ import { TechniqueElement } from './element';
3
3
  export declare const physicalStatistics: readonly ["eyes", "meridians", "dantian", "muscles", "digestion", "flesh"];
4
4
  export declare const socialStatistics: readonly ["age", "lifespan", "charisma", "battlesense", "craftskill", "artefactslots", "talismanslots", "condenseEfficiency", "pillsPerRound"];
5
5
  export declare const craftingStatistics: readonly ["maxpool", "pool", "maxtoxicity", "toxicity", "resistance", "itemEffectiveness", "control", "intensity", "critchance", "critmultiplier", "pillsPerRound", "poolCostPercentage", "stabilityCostPercentage", "successChanceBonus"];
6
- export declare const combatStatistics: readonly ["maxhp", "hp", "maxbarrier", "barrier", "maxtoxicity", "toxicity", "resistance", "pillsPerRound", "itemEffectiveness", "power", "artefactpower", "critchance", "defense", "dr", "barrierMitigation", "lifesteal", "critdam", "vulnerability", "fistBoost", "blossomBoost", "weaponBoost", "cloudBoost", "bloodBoost", "celestialBoost", "fistAffinity", "blossomAffinity", "weaponAffinity", "cloudAffinity", "bloodAffinity", "celestialAffinity", "noneAffinity", "qiDroplets", "fistDisabled", "bloodDisabled", "blossomDisabled", "cloudDisabled", "celestialDisabled", "weaponDisabled", "fistResistance", "blossomResistance", "weaponResistance", "cloudResistance", "bloodResistance", "celestialResistance"];
6
+ export declare const combatStatistics: readonly ["maxhp", "hp", "maxbarrier", "barrier", "maxtoxicity", "toxicity", "resistance", "pillsPerRound", "itemEffectiveness", "power", "artefactpower", "critchance", "defense", "dr", "barrierMitigation", "lifesteal", "critmultiplier", "vulnerability", "weakness", "fistBoost", "blossomBoost", "weaponBoost", "cloudBoost", "bloodBoost", "celestialBoost", "fistAffinity", "blossomAffinity", "weaponAffinity", "cloudAffinity", "bloodAffinity", "celestialAffinity", "noneAffinity", "qiDroplets", "fistDisabled", "bloodDisabled", "blossomDisabled", "cloudDisabled", "celestialDisabled", "weaponDisabled", "fistResistance", "blossomResistance", "weaponResistance", "cloudResistance", "bloodResistance", "celestialResistance"];
7
7
  export type PhysicalStatistic = (typeof physicalStatistics)[number];
8
8
  export type SocialStatistic = (typeof socialStatistics)[number];
9
9
  export type CraftingStatistic = (typeof craftingStatistics)[number];
package/dist/stat.js CHANGED
@@ -50,8 +50,9 @@ export const combatStatistics = [
50
50
  'dr',
51
51
  'barrierMitigation',
52
52
  'lifesteal',
53
- 'critdam',
53
+ 'critmultiplier',
54
54
  'vulnerability',
55
+ 'weakness',
55
56
  'fistBoost',
56
57
  'blossomBoost',
57
58
  'weaponBoost',
@@ -106,8 +107,9 @@ export const combatStatToName = {
106
107
  dr: 'Damage Resistance',
107
108
  barrierMitigation: 'Barrier Effectiveness',
108
109
  lifesteal: 'Life Steal',
109
- critdam: 'Crit Damage',
110
+ critmultiplier: 'Crit Multiplier',
110
111
  vulnerability: 'Vulnerability',
112
+ weakness: 'Weakness',
111
113
  fistBoost: 'Fist Boost',
112
114
  blossomBoost: 'Blossom Boost',
113
115
  weaponBoost: 'Weapon Boost',
@@ -149,9 +151,10 @@ export const combatStatToDescription = {
149
151
  defense: 'Your resistance to damage.',
150
152
  dr: '',
151
153
  lifesteal: '',
152
- critchance: 'Your chance to get a critical effect, increasing the power of your techniques. Crit chance over 100% enables additional crits.',
153
- critdam: '',
154
+ critchance: 'Your chance to get a critical effect on damage, healing, and barrier. Crit chance over 100% converts to bonus crit damage at a 1:3 ratio.',
155
+ critmultiplier: '',
154
156
  vulnerability: '',
157
+ weakness: '',
155
158
  artefactpower: "The strength of your artefact's techniques and your Formation Parts.",
156
159
  fistBoost: '',
157
160
  blossomBoost: '',
@@ -202,7 +205,7 @@ export const craftingStatToName = {
202
205
  export const craftingStatToDescription = {
203
206
  maxtoxicity: 'The quantity of pills you can take before your body becomes unable to digest any more.',
204
207
  toxicity: '',
205
- critchance: 'Your chance to get a critical effect on increasing perfection or completion. Crit chance over 100% enables additional crits',
208
+ critchance: 'Your chance to get a critical effect on increasing perfection or completion. Crit chance over 100% converts to bonus crit multiplier at a 1:3 ratio.',
206
209
  maxpool: 'The amount of <b>Qi</b> you have available during crafting to spend on crafting actions.',
207
210
  pool: '',
208
211
  control: 'The <b>perfection</b> your refinement actions impart during crafting, making it easier to perfect a recipe.',
@@ -139,7 +139,7 @@ interface TriggerEffect extends BaseTechniqueEffect {
139
139
  amount: Scaling;
140
140
  triggerTooltip?: string;
141
141
  }
142
- export type TechniqueMastery = PowerTechniqueMastery | EffectTechniqueMastery | CritChanceTechniqueMastery | CritDamageTechniqueMastery | UpgradeTechniqueMastery;
142
+ export type TechniqueMastery = PowerTechniqueMastery | EffectTechniqueMastery | CritChanceTechniqueMastery | CritMultiplierTechniqueMastery | UpgradeTechniqueMastery;
143
143
  interface BaseTechniqueMastery {
144
144
  condition?: TechniqueCondition;
145
145
  tooltip?: string;
@@ -153,8 +153,8 @@ interface CritChanceTechniqueMastery extends BaseTechniqueMastery {
153
153
  kind: 'critchance';
154
154
  percentage: number;
155
155
  }
156
- interface CritDamageTechniqueMastery extends BaseTechniqueMastery {
157
- kind: 'critdam';
156
+ interface CritMultiplierTechniqueMastery extends BaseTechniqueMastery {
157
+ kind: 'critmultiplier';
158
158
  percentage: number;
159
159
  }
160
160
  interface EffectTechniqueMastery extends BaseTechniqueMastery {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "afnm-types",
3
- "version": "0.6.23",
3
+ "version": "0.6.25",
4
4
  "description": "Type definitions for Ascend From Nine Mountains",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",