afnm-types 0.5.12 → 0.5.28

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.
@@ -0,0 +1,2 @@
1
+ export declare const damageTypes: readonly ["true", "corrupt", "disruption"];
2
+ export type DamageType = (typeof damageTypes)[number];
@@ -1 +1 @@
1
- export type GameScreen = 'location' | 'recipe' | 'mission' | 'manual' | 'cultivation' | 'map' | 'healer' | 'market' | 'favour' | 'herbField' | 'mine' | 'recipeLibrary' | 'requestBoard' | 'compendium' | 'library' | 'altar' | 'research';
1
+ export type GameScreen = 'location' | 'recipe' | 'mission' | 'manual' | 'cultivation' | 'map' | 'healer' | 'market' | 'favour' | 'herbField' | 'mine' | 'recipeLibrary' | 'requestBoard' | 'compendium' | 'library' | 'altar' | 'research' | 'pillarGrid' | 'fallenStar';
@@ -1,3 +1,4 @@
1
+ import { Destiny } from './destiny';
1
2
  import { Item } from './item';
2
3
  import { PhysicalStatistic, SocialStatistic } from './stat';
3
4
  export interface Background {
@@ -10,4 +11,11 @@ export interface Background {
10
11
  spiritStones?: number;
11
12
  sectFavour?: number;
12
13
  items?: Item[];
14
+ destinies?: Destiny[];
15
+ flags?: {
16
+ flag: string;
17
+ value: number;
18
+ }[];
19
+ techniques?: string[];
20
+ craftingActions?: string[];
13
21
  }
@@ -3,6 +3,13 @@ import { CombatEntity, CraftingEntity, PlayerEntity } from './entity';
3
3
  import { ItemDesc } from './item';
4
4
  import { Realm, RealmProgress } from './realm';
5
5
  import { PhysicalStatistic, SocialStatistic } from './stat';
6
+ export interface Position {
7
+ x: number;
8
+ y: number;
9
+ }
10
+ export interface PositionAndRotation extends Position {
11
+ rotation: number;
12
+ }
6
13
  export interface BreakthroughState {
7
14
  mundane?: {
8
15
  pill?: string;
@@ -22,6 +29,15 @@ export interface BreakthroughState {
22
29
  coreFormation?: {
23
30
  compressions?: number;
24
31
  };
32
+ pillarCreation?: {
33
+ grid: string[];
34
+ shards: {
35
+ shard: string;
36
+ pos: PositionAndRotation;
37
+ }[];
38
+ stats: Record<PhysicalStatistic, number>;
39
+ stability: number;
40
+ };
25
41
  previous: Partial<{
26
42
  [key in Realm]: BreakthroughBase;
27
43
  }>;
@@ -59,4 +75,14 @@ export interface Breakthrough extends BreakthroughBase {
59
75
  totalRequirements: number;
60
76
  getNumDone: (args: RequirementArgs) => number;
61
77
  extraEffects?: string[];
78
+ dynamicStats?: (args: RequirementArgs) => {
79
+ physicalStats: Partial<{
80
+ [key in PhysicalStatistic]: number;
81
+ }>;
82
+ socialStats: Partial<{
83
+ [key in SocialStatistic]: number;
84
+ }>;
85
+ items?: ItemDesc[];
86
+ extraEffects?: string[];
87
+ };
62
88
  }
package/dist/buff.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { TechniqueElement } from './element';
2
2
  import { CombatStatistic, Scaling } from './stat';
3
+ import { DamageType } from './DamageType';
3
4
  export type TechniqueCondition = ChanceTechniqueCondition | BuffTechniqueCondition | HpTechniqueCondition | ConditionTechniqueCondition;
4
5
  interface ChanceTechniqueCondition {
5
6
  kind: 'chance';
@@ -30,6 +31,7 @@ export interface Buff {
30
31
  tooltip?: string;
31
32
  flag?: string;
32
33
  condition?: TechniqueCondition;
34
+ removeOnConditionFailed?: boolean;
33
35
  stats: Partial<{
34
36
  [key in CombatStatistic]: Scaling;
35
37
  }> | undefined;
@@ -48,7 +50,7 @@ export interface Buff {
48
50
  buff: Buff;
49
51
  effects: BuffEffect[];
50
52
  cancelApplication: boolean;
51
- };
53
+ }[];
52
54
  triggeredBuffEffects?: {
53
55
  trigger: string;
54
56
  effects: BuffEffect[];
@@ -60,15 +62,17 @@ export interface Buff {
60
62
  stacks: number;
61
63
  stacksAreDays?: boolean;
62
64
  stacksAreMonths?: boolean;
65
+ buffType?: string;
66
+ buffTypeTooltip?: string;
63
67
  }
64
- type BuffCombatImage = ScatterCombatImage | ArcCombatImage | FloatingCombatImage | OverlayCombatImage | CompanionCombatImage;
68
+ type BuffCombatImage = ScatterCombatImage | ArcCombatImage | FloatingCombatImage | OverlayCombatImage | CompanionCombatImage | GroundCombatImage | FormationCombatImage;
65
69
  interface BaseCombatImage {
66
70
  image: string;
67
71
  imageOverrides?: {
68
72
  stacks: number;
69
73
  image: string;
70
74
  }[];
71
- position: 'scatter' | 'arc' | 'floating' | 'overlay' | 'companion';
75
+ position: 'scatter' | 'arc' | 'floating' | 'overlay' | 'companion' | 'ground' | 'formation';
72
76
  animations?: ('buff' | 'bump' | 'attack' | 'debuff')[];
73
77
  animateOnEntity?: boolean;
74
78
  }
@@ -104,21 +108,34 @@ export interface OverlayCombatImage extends BaseCombatImage {
104
108
  }
105
109
  export interface CompanionCombatImage extends BaseCombatImage {
106
110
  position: 'companion';
111
+ scale?: number;
112
+ stacksScale?: number;
113
+ }
114
+ export interface GroundCombatImage extends BaseCombatImage {
115
+ position: 'ground';
116
+ scale?: number;
117
+ stacksScale?: number;
107
118
  }
108
- export type BuffEffect = DamageEffect | DamageSelfEffect | HealEffect | BarrierEffect | CreateBuffSelfEffect | ConsumeBuffSelfEffect | CreateBuffTargetEffect | ConsumeBuffTargetEffect | NegateEffect | AddEffect | MultiplyEffect | MergeEffect;
119
+ export interface FormationCombatImage extends BaseCombatImage {
120
+ position: 'formation';
121
+ scale?: number;
122
+ showSingleInstance?: boolean;
123
+ }
124
+ export type BuffEffect = DamageEffect | DamageSelfEffect | HealEffect | BarrierEffect | CreateBuffSelfEffect | ConsumeBuffSelfEffect | CreateBuffTargetEffect | ConsumeBuffTargetEffect | NegateEffect | AddEffect | MultiplyEffect | MergeEffect | TriggerEffect;
109
125
  interface BaseBuff {
110
126
  condition?: TechniqueCondition;
127
+ triggerKey?: string;
111
128
  }
112
129
  interface DamageEffect extends BaseBuff {
113
130
  kind: 'damage';
114
131
  amount: Scaling;
115
132
  hits?: Scaling;
133
+ damageType?: DamageType;
116
134
  }
117
135
  interface DamageSelfEffect extends BaseBuff {
118
136
  kind: 'damageSelf';
119
137
  amount: Scaling;
120
- trueDamage?: boolean;
121
- corruptDamage?: boolean;
138
+ damageType?: DamageType;
122
139
  }
123
140
  interface HealEffect extends BaseBuff {
124
141
  kind: 'heal';
@@ -133,22 +150,26 @@ interface CreateBuffSelfEffect extends BaseBuff {
133
150
  amount: Scaling;
134
151
  buff: Buff;
135
152
  silent?: boolean;
153
+ hideBuff?: boolean;
136
154
  }
137
155
  interface ConsumeBuffSelfEffect extends BaseBuff {
138
156
  kind: 'consumeSelf';
139
157
  amount: Scaling;
140
158
  buff: Buff;
141
159
  silent?: boolean;
160
+ hideBuff?: boolean;
142
161
  }
143
162
  interface CreateBuffTargetEffect extends BaseBuff {
144
163
  kind: 'buffTarget';
145
164
  amount: Scaling;
146
165
  buff: Buff;
166
+ hideBuff?: boolean;
147
167
  }
148
168
  interface ConsumeBuffTargetEffect extends BaseBuff {
149
169
  kind: 'consumeTarget';
150
170
  amount: Scaling;
151
171
  buff: Buff;
172
+ hideBuff?: boolean;
152
173
  }
153
174
  interface NegateEffect extends BaseBuff {
154
175
  kind: 'negate';
@@ -168,4 +189,10 @@ interface MergeEffect extends BaseBuff {
168
189
  targetBuff: Buff;
169
190
  targetStacks: Scaling;
170
191
  }
192
+ interface TriggerEffect extends BaseBuff {
193
+ kind: 'trigger';
194
+ triggerKey: string;
195
+ amount: Scaling;
196
+ triggerTooltip?: string;
197
+ }
171
198
  export {};
@@ -14,6 +14,7 @@ export interface Character {
14
14
  condition: string;
15
15
  definitions: CharacterDefinition[];
16
16
  relationship?: CharacterRelationshipDefinition[];
17
+ followInteraction?: FollowCharacterDefinition;
17
18
  portrait: string;
18
19
  image: string;
19
20
  imageScale?: number;
@@ -70,6 +71,8 @@ export interface CharacterState {
70
71
  challengeCooldown: number;
71
72
  patrolCooldown: number;
72
73
  followCooldown: number;
74
+ aidBreakthroughCooldown: number;
75
+ dualCultivationCooldown: number;
73
76
  }
74
77
  interface BaseCharacterInteraction {
75
78
  condition: string;
@@ -119,6 +122,9 @@ export interface PatrolCharacterInteraction extends BaseCharacterInteraction {
119
122
  postRepVictorySteps: EventStep[];
120
123
  defeatSteps: EventStep[];
121
124
  }
125
+ export interface AidBreakthroughCharacterInteraction extends BaseCharacterInteraction {
126
+ steps: EventStep[];
127
+ }
122
128
  export interface CustomCharacterInteractionBlock {
123
129
  condition: string;
124
130
  name: string;
@@ -179,6 +185,7 @@ export interface CompanionCharacterDefinition extends BaseCharacterDefinition {
179
185
  craftingInteraction?: CraftingCharacterInteraction[];
180
186
  challengeInteraction?: ChallengeCharacterInteraction[];
181
187
  patrolInteraction?: PatrolCharacterInteraction[];
188
+ aidBreakthroughInteraction?: AidBreakthroughCharacterInteraction[];
182
189
  mount?: MountItem;
183
190
  }
184
191
  export interface CharacterRelationshipDefinition {
@@ -44,6 +44,7 @@ export interface CraftingTechnique {
44
44
  name: string;
45
45
  icon: string;
46
46
  poolCost: number;
47
+ toxicityCost?: number;
47
48
  stabilityCost: number;
48
49
  successChance: string;
49
50
  cooldown: number;
@@ -63,7 +64,7 @@ export interface CraftingTechnique {
63
64
  currentCooldown: number;
64
65
  justClicked?: true;
65
66
  }
66
- export type CraftingTechniqueEffect = CompletionEffect | PerfectionEffect | StabilityEffect | PoolEffect | CreateBuffEffect | ConsumeBuffEffect;
67
+ export type CraftingTechniqueEffect = CompletionEffect | PerfectionEffect | StabilityEffect | PoolEffect | CreateBuffEffect | ConsumeBuffEffect | CleanseToxicityEffect;
67
68
  interface BaseCraftingEffect {
68
69
  condition?: CraftingTechniqueCondition;
69
70
  }
@@ -83,6 +84,10 @@ interface PoolEffect extends BaseCraftingEffect {
83
84
  kind: 'pool';
84
85
  amount: Scaling;
85
86
  }
87
+ interface CleanseToxicityEffect extends BaseCraftingEffect {
88
+ kind: 'cleanseToxicity';
89
+ amount: Scaling;
90
+ }
86
91
  interface CreateBuffEffect extends BaseCraftingEffect {
87
92
  kind: 'createBuff';
88
93
  buff: CraftingBuff;
package/dist/element.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { Technique } from './technique';
2
1
  export declare const techniqueElements: readonly ["fist", "blossom", "weapon", "cloud", "blood", "celestial", "none"];
3
2
  export type TechniqueElement = (typeof techniqueElements)[number];
4
3
  export declare const elementToName: {
@@ -7,4 +6,9 @@ export declare const elementToName: {
7
6
  export declare const elementToTint: {
8
7
  [key in TechniqueElement]: string;
9
8
  };
10
- export declare const getTechniqueBackground: (technique: Technique) => string;
9
+ export declare const elementToColour: {
10
+ [key in TechniqueElement]: string;
11
+ };
12
+ export declare const elementToColourRaw: {
13
+ [key in TechniqueElement]: string;
14
+ };
package/dist/entity.d.ts CHANGED
@@ -31,6 +31,7 @@ export interface PlayerEntity {
31
31
  clothing: ItemDesc | undefined;
32
32
  talismans: (ItemDesc | undefined)[];
33
33
  artefacts: (ItemDesc | undefined)[];
34
+ quickAccess?: (string | undefined)[];
34
35
  cauldron: ItemDesc | undefined;
35
36
  flame: ItemDesc | undefined;
36
37
  mount: ItemDesc | undefined;
@@ -40,14 +41,20 @@ export interface PlayerEntity {
40
41
  craftingTechniques: string[];
41
42
  destiny: string[];
42
43
  monthBuffs?: Buff[];
43
- dropletRecharge?: number;
44
+ autoCondenseAfterCombat?: boolean;
45
+ injured?: boolean;
44
46
  }
45
47
  export type EnemyDifficulty = 'veryeasy' | 'easy' | 'mediumEasy' | 'medium' | 'medium+' | 'mediumhard' | 'hard' | 'hard+' | 'veryhard' | 'veryhard+';
46
- export type BattleLength = 'veryshort' | 'short' | 'medium' | 'long' | 'verylong' | 'verylong+';
48
+ export type BattleLength = 'halfround' | '1round' | 'veryshort' | 'short' | 'medium' | 'long' | 'verylong' | 'verylong+';
47
49
  export interface EnemyEntity {
48
50
  name: string;
49
51
  image: string;
50
52
  imageScale: number;
53
+ imageOffset?: {
54
+ x: number;
55
+ y: number;
56
+ };
57
+ disableBreathing?: boolean;
51
58
  realm: Realm;
52
59
  spawnRoar?: SoundEffectName;
53
60
  realmProgress: RealmProgress;
@@ -136,8 +143,13 @@ export interface CombatEntity {
136
143
  buffs: Buff[];
137
144
  artefacts: CombatArtefact[];
138
145
  messages: CombatMessage[];
139
- animations: ('bump' | 'attack' | 'hurt' | 'barrier' | 'heal' | 'block' | 'buff' | 'debuff' | 'exhausted' | 'spawn' | 'failedTechnique')[];
146
+ animations: ('bump' | 'attack' | 'hurt' | 'barrier' | 'cleanse' | 'heal' | 'block' | 'buff' | 'debuff' | 'exhausted' | 'spawn' | 'failedTechnique' | 'droplet')[];
140
147
  renderScale: number;
148
+ imageOffset?: {
149
+ x: number;
150
+ y: number;
151
+ };
152
+ disableBreathing?: boolean;
141
153
  }
142
154
  export type StanceRule = SingleStance | RandomStance;
143
155
  interface SingleStance {
package/dist/event.d.ts CHANGED
@@ -1,20 +1,13 @@
1
1
  import { GameScreen } from './GameScreen';
2
2
  import { MusicName, SoundEffectName } from './audio';
3
3
  import { Buff } from './buff';
4
+ import { FollowCharacterDefinition } from './character';
4
5
  import { IntimateTrait } from './dualCultivation';
5
6
  import { TechniqueElement } from './element';
6
7
  import { EnemyEntity } from './entity';
7
8
  import { ItemDesc } from './item';
8
- import { Realm, RealmProgress } from './realm';
9
+ import { Realm } from './realm';
9
10
  import { PhysicalStatistic, ReputationTier, SocialStatistic } from './stat';
10
- export declare const col: (text: any, col: string) => string;
11
- export declare const loc: (text: any) => string;
12
- export declare const rlm: (realm: Realm, progress?: RealmProgress) => string;
13
- export declare const num: (number: any) => string;
14
- export declare const buf: (buff: string) => string;
15
- export declare const itm: (item: string) => string;
16
- export declare const char: (text: any) => string;
17
- export declare const elem: (element: TechniqueElement) => string;
18
11
  export interface TriggeredEvent {
19
12
  event: GameEvent;
20
13
  name: string;
@@ -37,7 +30,7 @@ export interface GameEvent {
37
30
  value: number;
38
31
  }[];
39
32
  }
40
- 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 | ClearTeamUpStep | UnlockAltarStep | DropItemStep | SetAltarCooldownStep | CompressCoreStep | ChangeScreenStep | UnlockTechniqueStep | ReplaceItemStep | DualCultivationStep | ChangeBGMStep | ClearChangeBGMStep | AddGuildApprovalStep | AdvanceGuildRankStep | OverridePlayerRealmStep;
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 | ReplaceItemStep | DualCultivationStep | ChangeBGMStep | ClearChangeBGMStep | AddGuildApprovalStep | AdvanceGuildRankStep | OverridePlayerRealmStep | SetAidBreakthroughCooldownStep | StoneCuttingStep;
41
34
  export interface TextStep {
42
35
  kind: 'text';
43
36
  condition?: string;
@@ -130,7 +123,7 @@ interface QiCondition {
130
123
  }
131
124
  interface ReputationCondition {
132
125
  kind: 'reputation';
133
- tier: string;
126
+ tier: ReputationTier;
134
127
  name: string;
135
128
  }
136
129
  interface MultiCondition {
@@ -404,6 +397,12 @@ export interface TeamUpStep {
404
397
  character: string;
405
398
  fallbackBuff?: Omit<Buff, 'name' | 'icon'>;
406
399
  }
400
+ export interface AddFollowerStep {
401
+ kind: 'addFollower';
402
+ condition?: string;
403
+ character: string;
404
+ followDef: FollowCharacterDefinition | undefined;
405
+ }
407
406
  export interface ClearTeamUpStep {
408
407
  kind: 'clearTeamUp';
409
408
  condition?: string;
@@ -447,4 +446,15 @@ export interface OverridePlayerRealmStep {
447
446
  condition?: string;
448
447
  realm: Realm;
449
448
  }
449
+ export interface SetAidBreakthroughCooldownStep {
450
+ kind: 'setAidBreakthroughCooldown';
451
+ condition?: string;
452
+ character: string;
453
+ cooldown: string;
454
+ }
455
+ export interface StoneCuttingStep {
456
+ kind: 'stoneCutting';
457
+ condition?: string;
458
+ realm: Realm;
459
+ }
450
460
  export {};
@@ -0,0 +1,10 @@
1
+ import { Buff, EnemyEntity, ItemDesc, Rarity, Realm } from '.';
2
+ export interface FallenStar {
3
+ name: string;
4
+ realm: Realm;
5
+ image: string;
6
+ enemyBuffPool: Buff[];
7
+ monsterPool: EnemyEntity[];
8
+ rewardPools: Record<Rarity, ItemDesc[]>;
9
+ raidIntervalDays: number;
10
+ }
package/dist/guild.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { SvgIconTypeMap } from '@mui/material';
2
+ import { OverridableComponent } from '@mui/material/OverridableComponent';
1
3
  import { EventStep } from './event';
2
4
  import { ShopItem } from './location';
3
5
  import { ScreenEffectType } from './ScreenEffectType';
@@ -14,7 +16,12 @@ export interface Guild {
14
16
  reputationToPromote: Record<number, number>;
15
17
  promotionQuests: Record<number, {
16
18
  title: string;
17
- tooltip: string;
18
19
  steps: EventStep[];
19
20
  }>;
21
+ interactions?: {
22
+ name: string;
23
+ icon: OverridableComponent<SvgIconTypeMap<{}, 'svg'>>;
24
+ requiredRank: number;
25
+ steps: EventStep[];
26
+ }[];
20
27
  }
package/dist/item.d.ts CHANGED
@@ -8,16 +8,16 @@ import { RegionContentType } from './mysticalRegion';
8
8
  import { Rarity } from './rarity';
9
9
  import { Realm, RealmProgress } from './realm';
10
10
  import { RecipeDifficulty } from './RecipeDifficulty';
11
- import { CombatStatsMap, CraftingStatsMap, PhysicalStatistic, Scaling } from './stat';
11
+ import { CombatStatsMap, CraftingStatsMap, PhysicalStatistic, Scaling, SocialStatistic } from './stat';
12
12
  import { TechniqueEffect } from './technique';
13
- export declare const itemKinds: readonly ["clothing", "talisman", "artefact", "mount", "cauldron", "flame", "fruit", "elixir", "recipe", "technique", "action", "transport_seal", "enchantment", "pill", "concoction", "recuperation", "formation", "breakthrough", "pillar_shard", "material", "flare", "mystical_key", "condensation_art", "blueprint", "trophy", "treasure"];
13
+ export declare const itemKinds: readonly ["clothing", "talisman", "artefact", "mount", "cauldron", "flame", "fruit", "elixir", "recipe", "technique", "action", "transport_seal", "enchantment", "pill", "concoction", "consumable", "recuperation", "formation", "breakthrough", "pillar_shard", "material", "flare", "mystical_key", "condensation_art", "blueprint", "trophy", "treasure", "token", "upgrade"];
14
14
  export type ItemKind = (typeof itemKinds)[number];
15
15
  export type ItemCostMap = {
16
16
  [key in ItemKind]: number;
17
17
  };
18
18
  export declare const buyItemCostMap: ItemCostMap;
19
19
  export declare const sellItemCostMap: ItemCostMap;
20
- export type Item = TechniqueItem | TechniqueCrystalItem | TechniqueShardItem | TechniqueEnhancementDust | TransportSealItem | SpiritFruitItem | RecipeItem | ElixirItem | TreasureItem | CraftingItem | ClothingItem | TalismanItem | ArtefactItem | PillItem | ConcoctionItem | CauldronItem | FlameItem | BreakthroughItem | RecuperationItem | MountItem | FlareItem | CraftingTechniqueItem | EnchantmentItem | MysticalKeyItem | CondensationArtItem | FormationItem | PillarShardItem | TrophyItem | BlueprintItem;
20
+ 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;
21
21
  interface ItemBase {
22
22
  kind: ItemKind;
23
23
  name: string;
@@ -29,6 +29,7 @@ interface ItemBase {
29
29
  acquiredAt?: number;
30
30
  valueTier?: number;
31
31
  enchantment?: Enchantment;
32
+ upgradedFrom?: Item;
32
33
  }
33
34
  export interface ItemDesc {
34
35
  name: string;
@@ -39,17 +40,20 @@ export type TechniqueItemKind = 'technique' | 'crystal' | 'shard' | 'enhance';
39
40
  export interface BaseTechniqueItem extends ItemBase {
40
41
  kind: 'technique';
41
42
  subKind: TechniqueItemKind;
42
- element: TechniqueElement;
43
43
  }
44
44
  export interface TechniqueItem extends BaseTechniqueItem {
45
45
  subKind: 'technique';
46
46
  technique: string;
47
+ element: TechniqueElement;
47
48
  }
48
49
  export interface TechniqueCrystalItem extends BaseTechniqueItem {
49
50
  subKind: 'crystal';
51
+ techniques: string[];
52
+ fallbackTechniques: string[];
50
53
  }
51
54
  export interface TechniqueShardItem extends BaseTechniqueItem {
52
55
  subKind: 'shard';
56
+ crystal: string;
53
57
  }
54
58
  export interface TechniqueEnhancementDust extends BaseTechniqueItem {
55
59
  subKind: 'enhance';
@@ -58,6 +62,7 @@ export interface TechniqueEnhancementDust extends BaseTechniqueItem {
58
62
  }
59
63
  export interface TreasureItem extends ItemBase {
60
64
  kind: 'treasure';
65
+ isCollectible?: boolean;
61
66
  }
62
67
  export interface CraftingItem extends ItemBase {
63
68
  kind: 'material';
@@ -120,12 +125,12 @@ export interface ArtefactTechnique {
120
125
  effects: TechniqueEffect[];
121
126
  i?: number;
122
127
  }
123
- export type PillKind = 'combat' | 'crafting' | 'advancement';
128
+ export type PillKind = 'combat' | 'crafting' | 'advancement' | 'consumable';
124
129
  interface BasePillItem extends ItemBase {
125
130
  kind: 'pill';
126
131
  pillKind: PillKind;
127
132
  }
128
- export type PillItem = CombatPillItem | CraftingPillItem | MiscPillItem;
133
+ export type PillItem = CombatPillItem | CraftingPillItem | MiscPillItem | ConsumablePillItem;
129
134
  export interface MiscPillItem extends BasePillItem {
130
135
  pillKind: 'advancement';
131
136
  toxicity?: undefined;
@@ -134,6 +139,7 @@ export interface CombatPillItem extends BasePillItem {
134
139
  pillKind: 'combat';
135
140
  toxicity: number;
136
141
  effects: TechniqueEffect[];
142
+ tooltip?: string;
137
143
  }
138
144
  export interface CraftingPillItem extends BasePillItem {
139
145
  pillKind: 'crafting';
@@ -142,8 +148,20 @@ export interface CraftingPillItem extends BasePillItem {
142
148
  }
143
149
  export interface ConcoctionItem extends ItemBase {
144
150
  kind: 'concoction';
145
- toxicity: number;
146
151
  effects: TechniqueEffect[];
152
+ tooltip?: string;
153
+ }
154
+ export interface CombatItem extends ItemBase {
155
+ kind: 'consumable';
156
+ effects: TechniqueEffect[];
157
+ tooltip?: string;
158
+ }
159
+ export interface ConsumablePillItem extends BasePillItem {
160
+ pillKind: 'consumable';
161
+ max: number;
162
+ physicalStats: Partial<Record<PhysicalStatistic, number>>;
163
+ socialStats: Partial<Record<SocialStatistic, number>>;
164
+ toxicity?: undefined;
147
165
  }
148
166
  export interface CraftingEquipmentItem extends ItemBase {
149
167
  stats: Partial<CraftingStatsMap>;
@@ -188,6 +206,8 @@ export interface MountItem extends ItemBase {
188
206
  kind: 'mount';
189
207
  speed: number;
190
208
  charisma?: number;
209
+ masteryPoints?: number;
210
+ qiAbsorption?: number;
191
211
  customTransform?: string;
192
212
  }
193
213
  export interface ElixirItem extends ItemBase {
@@ -254,6 +274,11 @@ export interface MountEnchantment extends Enchantment {
254
274
  masteryPoints?: number;
255
275
  qiAbsorption?: number;
256
276
  }
277
+ export interface RegionMonsters {
278
+ mob: EnemyEntity[];
279
+ elite: EnemyEntity[];
280
+ boss: EnemyEntity[];
281
+ }
257
282
  export interface MysticalKeyItem extends ItemBase {
258
283
  kind: 'mystical_key';
259
284
  contentType: RegionContentType;
@@ -262,6 +287,7 @@ export interface MysticalKeyItem extends ItemBase {
262
287
  difficulty: RealmProgress;
263
288
  factionCurses: string[];
264
289
  rewardPools: RewardPool[];
290
+ overrideEncounterPool?: RegionMonsters;
265
291
  }
266
292
  export interface Encounter {
267
293
  rarity: Rarity;
@@ -317,10 +343,17 @@ export interface QiDensityFormationItem extends FormationItemBase {
317
343
  export interface PillarShardItem extends ItemBase {
318
344
  kind: 'pillar_shard';
319
345
  tooltip: string;
320
- shape: string[][];
321
- input?: number;
322
- output: number;
323
- stats?: Record<PhysicalStatistic, number>;
346
+ input?: {
347
+ threshold: number;
348
+ };
349
+ output?: {
350
+ mode: 'flat' | 'multiply' | 'add';
351
+ left: number;
352
+ top: number;
353
+ right: number;
354
+ };
355
+ stats?: Partial<Record<PhysicalStatistic, number>>;
356
+ stability?: number;
324
357
  }
325
358
  export interface TrophyItem extends ItemBase {
326
359
  kind: 'trophy';
@@ -330,4 +363,10 @@ export interface BlueprintItem extends ItemBase {
330
363
  kind: 'blueprint';
331
364
  room: Room;
332
365
  }
366
+ export interface TokenItem extends ItemBase {
367
+ kind: 'token';
368
+ }
369
+ export interface UpgradeItem extends ItemBase {
370
+ kind: 'upgrade';
371
+ }
333
372
  export {};
@@ -85,6 +85,10 @@ interface BuildingBase {
85
85
  kind: BuildingType;
86
86
  condition?: string;
87
87
  disabled?: string;
88
+ offset?: {
89
+ x: number;
90
+ y: number;
91
+ };
88
92
  }
89
93
  export interface CultivationBuilding extends BuildingBase {
90
94
  kind: 'cultivation';
package/dist/mine.d.ts CHANGED
@@ -43,6 +43,7 @@ interface BaseChamber {
43
43
  description: string;
44
44
  rarity: Rarity;
45
45
  condition: string;
46
+ isUnique?: boolean;
46
47
  }
47
48
  export interface OreChamber extends BaseChamber {
48
49
  kind: 'ore';
@@ -7,6 +7,6 @@ export interface Blessing {
7
7
  rarity: Rarity;
8
8
  restriction?: 'player' | 'enemy' | 'custom';
9
9
  }
10
- export type RegionContentType = 'balanced' | 'elite' | 'brutal' | 'cursed' | 'blessed' | 'glitch';
10
+ export type RegionContentType = 'balanced' | 'elite' | 'brutal' | 'cursed' | 'blessed' | 'glitch' | 'linGlitch';
11
11
  export declare const contentTypeToDescription: Record<RegionContentType, string>;
12
12
  export declare const contentTypeToProgress: Record<RegionContentType, RegionProgress[]>;
package/dist/rarity.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const rarities: readonly ["mundane", "qitouched", "empowered", "resplendent", "incandescent"];
1
+ export declare const rarities: readonly ["mundane", "qitouched", "empowered", "resplendent", "incandescent", "transcendent"];
2
2
  export type Rarity = (typeof rarities)[number];
3
3
  export declare const rarityToColour: {
4
4
  [key in Rarity]: string;
package/dist/stat.d.ts CHANGED
@@ -2,8 +2,8 @@ import { Buff } from './buff';
2
2
  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
- export declare const craftingStatistics: readonly ["maxpool", "pool", "maxtoxicity", "toxicity", "resistance", "control", "intensity", "critchance", "critmultiplier", "stabilityreduction", "pillsPerRound", "poolCostPercentage"];
6
- export declare const combatStatistics: readonly ["maxhp", "hp", "maxbarrier", "barrier", "maxtoxicity", "toxicity", "resistance", "pillsPerRound", "power", "artefactpower", "critchance", "defense", "dr", "barrierMitigation", "lifesteal", "critdam", "fistBoost", "blossomBoost", "weaponBoost", "cloudBoost", "bloodBoost", "celestialBoost", "fistAffinity", "blossomAffinity", "weaponAffinity", "cloudAffinity", "bloodAffinity", "celestialAffinity", "qiDroplets", "fistDisabled", "bloodDisabled", "blossomDisabled", "cloudDisabled", "celestialDisabled", "weaponDisabled"];
5
+ export declare const craftingStatistics: readonly ["maxpool", "pool", "maxtoxicity", "toxicity", "resistance", "itemEffectiveness", "control", "intensity", "critchance", "critmultiplier", "stabilityreduction", "pillsPerRound", "poolCostPercentage", "successChanceBonus"];
6
+ export declare const combatStatistics: readonly ["maxhp", "hp", "maxbarrier", "barrier", "maxtoxicity", "toxicity", "resistance", "pillsPerRound", "itemEffectiveness", "power", "artefactpower", "critchance", "defense", "dr", "barrierMitigation", "lifesteal", "critdam", "fistBoost", "blossomBoost", "weaponBoost", "cloudBoost", "bloodBoost", "celestialBoost", "fistAffinity", "blossomAffinity", "weaponAffinity", "cloudAffinity", "bloodAffinity", "celestialAffinity", "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];
@@ -1,4 +1,5 @@
1
1
  import { Buff, TechniqueCondition } from './buff';
2
+ import { DamageType } from './DamageType';
2
3
  import { TechniqueElement } from './element';
3
4
  import { Rarity } from './rarity';
4
5
  import { Realm } from './realm';
@@ -18,6 +19,7 @@ export declare const stanceRestrictionToName: Record<StanceRestriction, string>;
18
19
  export interface Technique {
19
20
  name: string;
20
21
  icon: string;
22
+ toxicityCost?: number;
21
23
  costs?: {
22
24
  buff: Buff;
23
25
  amount: number;
@@ -32,7 +34,7 @@ export interface Technique {
32
34
  }[];
33
35
  type: TechniqueElement;
34
36
  noneType?: string;
35
- secondaryType?: TechniqueElement;
37
+ secondaryType?: TechniqueElement | 'origin';
36
38
  maxInstances?: number;
37
39
  stanceRestriction?: StanceRestriction;
38
40
  tooltip?: string;
@@ -46,8 +48,8 @@ export interface Technique {
46
48
  enhancement?: number;
47
49
  i?: number;
48
50
  }
49
- export type TechniqueEffectKind = 'buffSelf' | 'consumeSelf' | 'buffTarget' | 'consumeTarget' | 'damage' | 'damageSelf' | 'barrier' | 'heal' | 'convertSelf' | 'mergeSelf';
50
- export type TechniqueEffect = BuffSelfTechniqueEffect | ConsumeSelfTechniqueEffect | BuffTargetTechniqueEffect | ConsumeTargetTechniqueEffect | DamageTechniqueEffect | BarrierTechniqueEffect | HealTechniqueEffect | DamageSelfTechniqueEffect | ConvertSelfTechniqueEffect | MergeSelfTechniqueEffect;
51
+ export type TechniqueEffectKind = 'buffSelf' | 'consumeSelf' | 'buffTarget' | 'consumeTarget' | 'damage' | 'damageSelf' | 'barrier' | 'heal' | 'convertSelf' | 'mergeSelf' | 'cleanseToxicity' | 'modifyBuffGroup' | 'trigger';
52
+ export type TechniqueEffect = BuffSelfTechniqueEffect | ConsumeSelfTechniqueEffect | BuffTargetTechniqueEffect | ConsumeTargetTechniqueEffect | DamageTechniqueEffect | BarrierTechniqueEffect | HealTechniqueEffect | DamageSelfTechniqueEffect | ConvertSelfTechniqueEffect | MergeSelfTechniqueEffect | CleanseToxicityTechniqueEffect | ModifyBuffGroupEffect | TriggerEffect;
51
53
  interface BaseTechniqueEffect {
52
54
  kind: TechniqueEffectKind;
53
55
  condition?: TechniqueCondition;
@@ -92,12 +94,12 @@ interface DamageTechniqueEffect extends BaseTechniqueEffect {
92
94
  kind: 'damage';
93
95
  amount: Scaling;
94
96
  hits?: Scaling;
97
+ damageType?: DamageType;
95
98
  }
96
99
  interface DamageSelfTechniqueEffect extends BaseTechniqueEffect {
97
100
  kind: 'damageSelf';
98
101
  amount: Scaling;
99
- trueDamage?: boolean;
100
- corruptDamage?: boolean;
102
+ damageType?: DamageType;
101
103
  }
102
104
  interface BarrierTechniqueEffect extends BaseTechniqueEffect {
103
105
  kind: 'barrier';
@@ -109,6 +111,21 @@ interface HealTechniqueEffect extends BaseTechniqueEffect {
109
111
  amount: Scaling;
110
112
  hits?: Scaling;
111
113
  }
114
+ interface CleanseToxicityTechniqueEffect extends BaseTechniqueEffect {
115
+ kind: 'cleanseToxicity';
116
+ amount: Scaling;
117
+ }
118
+ interface ModifyBuffGroupEffect extends BaseTechniqueEffect {
119
+ kind: 'modifyBuffGroup';
120
+ group: string;
121
+ amount: Scaling;
122
+ }
123
+ interface TriggerEffect extends BaseTechniqueEffect {
124
+ kind: 'trigger';
125
+ triggerKey: string;
126
+ amount: Scaling;
127
+ triggerTooltip?: string;
128
+ }
112
129
  export type TechniqueMastery = PowerTechniqueMastery | EffectTechniqueMastery | CritChanceTechniqueMastery | CritDamageTechniqueMastery | UpgradeTechniqueMastery;
113
130
  interface BaseTechniqueMastery {
114
131
  condition?: TechniqueCondition;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "afnm-types",
3
- "version": "0.5.12",
3
+ "version": "0.5.28",
4
4
  "description": "Type definitions for Ascend From Nine Mountains",
5
5
  "types": "./dist/index.d.ts",
6
6
  "files": [