afnm-types 0.5.15 → 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';
@@ -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[];
@@ -61,15 +63,16 @@ export interface Buff {
61
63
  stacksAreDays?: boolean;
62
64
  stacksAreMonths?: boolean;
63
65
  buffType?: string;
66
+ buffTypeTooltip?: string;
64
67
  }
65
- type BuffCombatImage = ScatterCombatImage | ArcCombatImage | FloatingCombatImage | OverlayCombatImage | CompanionCombatImage;
68
+ type BuffCombatImage = ScatterCombatImage | ArcCombatImage | FloatingCombatImage | OverlayCombatImage | CompanionCombatImage | GroundCombatImage | FormationCombatImage;
66
69
  interface BaseCombatImage {
67
70
  image: string;
68
71
  imageOverrides?: {
69
72
  stacks: number;
70
73
  image: string;
71
74
  }[];
72
- position: 'scatter' | 'arc' | 'floating' | 'overlay' | 'companion';
75
+ position: 'scatter' | 'arc' | 'floating' | 'overlay' | 'companion' | 'ground' | 'formation';
73
76
  animations?: ('buff' | 'bump' | 'attack' | 'debuff')[];
74
77
  animateOnEntity?: boolean;
75
78
  }
@@ -105,21 +108,34 @@ export interface OverlayCombatImage extends BaseCombatImage {
105
108
  }
106
109
  export interface CompanionCombatImage extends BaseCombatImage {
107
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;
108
118
  }
109
- 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;
110
125
  interface BaseBuff {
111
126
  condition?: TechniqueCondition;
127
+ triggerKey?: string;
112
128
  }
113
129
  interface DamageEffect extends BaseBuff {
114
130
  kind: 'damage';
115
131
  amount: Scaling;
116
132
  hits?: Scaling;
133
+ damageType?: DamageType;
117
134
  }
118
135
  interface DamageSelfEffect extends BaseBuff {
119
136
  kind: 'damageSelf';
120
137
  amount: Scaling;
121
- trueDamage?: boolean;
122
- corruptDamage?: boolean;
138
+ damageType?: DamageType;
123
139
  }
124
140
  interface HealEffect extends BaseBuff {
125
141
  kind: 'heal';
@@ -134,22 +150,26 @@ interface CreateBuffSelfEffect extends BaseBuff {
134
150
  amount: Scaling;
135
151
  buff: Buff;
136
152
  silent?: boolean;
153
+ hideBuff?: boolean;
137
154
  }
138
155
  interface ConsumeBuffSelfEffect extends BaseBuff {
139
156
  kind: 'consumeSelf';
140
157
  amount: Scaling;
141
158
  buff: Buff;
142
159
  silent?: boolean;
160
+ hideBuff?: boolean;
143
161
  }
144
162
  interface CreateBuffTargetEffect extends BaseBuff {
145
163
  kind: 'buffTarget';
146
164
  amount: Scaling;
147
165
  buff: Buff;
166
+ hideBuff?: boolean;
148
167
  }
149
168
  interface ConsumeBuffTargetEffect extends BaseBuff {
150
169
  kind: 'consumeTarget';
151
170
  amount: Scaling;
152
171
  buff: Buff;
172
+ hideBuff?: boolean;
153
173
  }
154
174
  interface NegateEffect extends BaseBuff {
155
175
  kind: 'negate';
@@ -169,4 +189,10 @@ interface MergeEffect extends BaseBuff {
169
189
  targetBuff: Buff;
170
190
  targetStacks: Scaling;
171
191
  }
192
+ interface TriggerEffect extends BaseBuff {
193
+ kind: 'trigger';
194
+ triggerKey: string;
195
+ amount: Scaling;
196
+ triggerTooltip?: string;
197
+ }
172
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 {
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
@@ -41,14 +41,20 @@ export interface PlayerEntity {
41
41
  craftingTechniques: string[];
42
42
  destiny: string[];
43
43
  monthBuffs?: Buff[];
44
- dropletRecharge?: number;
44
+ autoCondenseAfterCombat?: boolean;
45
+ injured?: boolean;
45
46
  }
46
47
  export type EnemyDifficulty = 'veryeasy' | 'easy' | 'mediumEasy' | 'medium' | 'medium+' | 'mediumhard' | 'hard' | 'hard+' | 'veryhard' | 'veryhard+';
47
- export type BattleLength = 'veryshort' | 'short' | 'medium' | 'long' | 'verylong' | 'verylong+';
48
+ export type BattleLength = 'halfround' | '1round' | 'veryshort' | 'short' | 'medium' | 'long' | 'verylong' | 'verylong+';
48
49
  export interface EnemyEntity {
49
50
  name: string;
50
51
  image: string;
51
52
  imageScale: number;
53
+ imageOffset?: {
54
+ x: number;
55
+ y: number;
56
+ };
57
+ disableBreathing?: boolean;
52
58
  realm: Realm;
53
59
  spawnRoar?: SoundEffectName;
54
60
  realmProgress: RealmProgress;
@@ -137,8 +143,13 @@ export interface CombatEntity {
137
143
  buffs: Buff[];
138
144
  artefacts: CombatArtefact[];
139
145
  messages: CombatMessage[];
140
- animations: ('bump' | 'attack' | 'hurt' | 'barrier' | 'cleanse' | 'heal' | 'block' | 'buff' | 'debuff' | 'exhausted' | 'spawn' | 'failedTechnique')[];
146
+ animations: ('bump' | 'attack' | 'hurt' | 'barrier' | 'cleanse' | 'heal' | 'block' | 'buff' | 'debuff' | 'exhausted' | 'spawn' | 'failedTechnique' | 'droplet')[];
141
147
  renderScale: number;
148
+ imageOffset?: {
149
+ x: number;
150
+ y: number;
151
+ };
152
+ disableBreathing?: boolean;
142
153
  }
143
154
  export type StanceRule = SingleStance | RandomStance;
144
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/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", "token"];
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 | TokenItem;
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';
@@ -333,4 +366,7 @@ export interface BlueprintItem extends ItemBase {
333
366
  export interface TokenItem extends ItemBase {
334
367
  kind: 'token';
335
368
  }
369
+ export interface UpgradeItem extends ItemBase {
370
+ kind: 'upgrade';
371
+ }
336
372
  export {};
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';
@@ -33,7 +34,7 @@ export interface Technique {
33
34
  }[];
34
35
  type: TechniqueElement;
35
36
  noneType?: string;
36
- secondaryType?: TechniqueElement;
37
+ secondaryType?: TechniqueElement | 'origin';
37
38
  maxInstances?: number;
38
39
  stanceRestriction?: StanceRestriction;
39
40
  tooltip?: string;
@@ -47,8 +48,8 @@ export interface Technique {
47
48
  enhancement?: number;
48
49
  i?: number;
49
50
  }
50
- export type TechniqueEffectKind = 'buffSelf' | 'consumeSelf' | 'buffTarget' | 'consumeTarget' | 'damage' | 'damageSelf' | 'barrier' | 'heal' | 'convertSelf' | 'mergeSelf' | 'cleanseToxicity' | 'modifyBuffGroup';
51
- export type TechniqueEffect = BuffSelfTechniqueEffect | ConsumeSelfTechniqueEffect | BuffTargetTechniqueEffect | ConsumeTargetTechniqueEffect | DamageTechniqueEffect | BarrierTechniqueEffect | HealTechniqueEffect | DamageSelfTechniqueEffect | ConvertSelfTechniqueEffect | MergeSelfTechniqueEffect | CleanseToxicityTechniqueEffect | ModifyBuffGroupEffect;
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;
52
53
  interface BaseTechniqueEffect {
53
54
  kind: TechniqueEffectKind;
54
55
  condition?: TechniqueCondition;
@@ -93,12 +94,12 @@ interface DamageTechniqueEffect extends BaseTechniqueEffect {
93
94
  kind: 'damage';
94
95
  amount: Scaling;
95
96
  hits?: Scaling;
97
+ damageType?: DamageType;
96
98
  }
97
99
  interface DamageSelfTechniqueEffect extends BaseTechniqueEffect {
98
100
  kind: 'damageSelf';
99
101
  amount: Scaling;
100
- trueDamage?: boolean;
101
- corruptDamage?: boolean;
102
+ damageType?: DamageType;
102
103
  }
103
104
  interface BarrierTechniqueEffect extends BaseTechniqueEffect {
104
105
  kind: 'barrier';
@@ -119,6 +120,12 @@ interface ModifyBuffGroupEffect extends BaseTechniqueEffect {
119
120
  group: string;
120
121
  amount: Scaling;
121
122
  }
123
+ interface TriggerEffect extends BaseTechniqueEffect {
124
+ kind: 'trigger';
125
+ triggerKey: string;
126
+ amount: Scaling;
127
+ triggerTooltip?: string;
128
+ }
122
129
  export type TechniqueMastery = PowerTechniqueMastery | EffectTechniqueMastery | CritChanceTechniqueMastery | CritDamageTechniqueMastery | UpgradeTechniqueMastery;
123
130
  interface BaseTechniqueMastery {
124
131
  condition?: TechniqueCondition;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "afnm-types",
3
- "version": "0.5.15",
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": [