afnm-types 0.6.16 → 0.6.23

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' | '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';
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,11 +1,12 @@
1
1
  import { Destiny } from './destiny';
2
2
  import { Item } from './item';
3
- import { PhysicalStatistic, SocialStatistic } from './stat';
3
+ import { CombatStatistic, CraftingStatistic, PhysicalStatistic, Scaling, SocialStatistic } from './stat';
4
4
  export interface Background {
5
5
  name: string;
6
6
  description: string;
7
7
  physicalStats?: Partial<Record<PhysicalStatistic, number>>;
8
8
  socialStats?: Partial<Record<SocialStatistic, number>>;
9
+ rawStats?: Partial<Record<CombatStatistic | CraftingStatistic, Scaling>>;
9
10
  reputation?: Record<string, number>;
10
11
  spiritualRoot?: number;
11
12
  spiritStones?: number;
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,10 @@ 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;
46
63
  type?: TechniqueElement;
47
64
  noneType?: string;
48
65
  secondaryType?: TechniqueElement | 'origin';
@@ -60,6 +77,11 @@ export interface Buff {
60
77
  trigger: string;
61
78
  effects: BuffEffect[];
62
79
  }[];
80
+ damageInterceptorEffects?: {
81
+ trigger?: TechniqueCondition;
82
+ damageModifier: DamageModifier;
83
+ effects?: BuffEffect[];
84
+ }[];
63
85
  priority?: number;
64
86
  afterTechnique?: boolean;
65
87
  combatImage?: BuffCombatImage;
@@ -69,7 +91,8 @@ export interface Buff {
69
91
  stacksAreMonths?: boolean;
70
92
  buffType?: string;
71
93
  buffTypeTooltip?: string;
72
- endureStatus?: boolean;
94
+ endurePercent?: number;
95
+ setupPercent?: number;
73
96
  cantUpgrade?: boolean;
74
97
  }
75
98
  type BuffCombatImage = ScatterCombatImage | ArcCombatImage | FloatingCombatImage | OverlayCombatImage | CompanionCombatImage | GroundCombatImage | FormationCombatImage;
@@ -117,6 +140,14 @@ export interface CompanionCombatImage extends BaseCombatImage {
117
140
  position: 'companion';
118
141
  scale?: number;
119
142
  stacksScale?: number;
143
+ executeImage?: {
144
+ image: string;
145
+ scale: number;
146
+ imageOffset?: {
147
+ x: number;
148
+ y: number;
149
+ };
150
+ };
120
151
  }
121
152
  export interface GroundCombatImage extends BaseCombatImage {
122
153
  position: 'ground';
@@ -132,6 +163,9 @@ export type BuffEffect = DamageEffect | DamageSelfEffect | HealEffect | BarrierE
132
163
  interface BaseBuff {
133
164
  condition?: TechniqueCondition;
134
165
  triggerKey?: string;
166
+ statChanges?: Partial<{
167
+ [key in CombatStatistic]: Scaling;
168
+ }>;
135
169
  }
136
170
  interface DamageEffect extends BaseBuff {
137
171
  kind: 'damage';
@@ -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[];
@@ -18,9 +18,57 @@ export interface Character {
18
18
  portrait: string;
19
19
  image: string;
20
20
  imageScale?: number;
21
+ supportImage?: {
22
+ image: string;
23
+ scale: number;
24
+ };
25
+ defensiveImage?: {
26
+ image: string;
27
+ scale: number;
28
+ };
29
+ utilityImage?: {
30
+ image: string;
31
+ scale: number;
32
+ };
33
+ aggressiveImage?: {
34
+ image: string;
35
+ scale: number;
36
+ };
37
+ offensiveImage?: {
38
+ image: string;
39
+ scale: number;
40
+ };
41
+ hitImage?: {
42
+ image: string;
43
+ scale: number;
44
+ };
21
45
  imageOverride?: {
22
46
  image: string;
23
47
  portrait: string;
48
+ supportImage?: {
49
+ image: string;
50
+ scale: number;
51
+ };
52
+ defensiveImage?: {
53
+ image: string;
54
+ scale: number;
55
+ };
56
+ utilityImage?: {
57
+ image: string;
58
+ scale: number;
59
+ };
60
+ aggressiveImage?: {
61
+ image: string;
62
+ scale: number;
63
+ };
64
+ offensiveImage?: {
65
+ image: string;
66
+ scale: number;
67
+ };
68
+ hitImage?: {
69
+ image: string;
70
+ scale: number;
71
+ };
24
72
  condition: string;
25
73
  }[];
26
74
  }
@@ -85,6 +133,7 @@ export interface CharacterState {
85
133
  followCooldown: number;
86
134
  aidBreakthroughCooldown: number;
87
135
  dualCultivationCooldown: number;
136
+ customCooldowns: Record<string, number>;
88
137
  }
89
138
  interface BaseCharacterInteraction {
90
139
  condition: string;
@@ -142,7 +191,8 @@ export interface CustomCharacterInteractionBlock {
142
191
  name: string;
143
192
  tooltip: string;
144
193
  icon: OverridableComponent<SvgIconTypeMap<{}, 'svg'>>;
145
- interactions: CustomCharacterInteraction[];
194
+ interaction: CustomCharacterInteraction;
195
+ cooldown?: number;
146
196
  }
147
197
  export interface CustomCharacterInteraction extends BaseCharacterInteraction {
148
198
  disableCondition?: string;
@@ -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;
@@ -17,12 +18,15 @@ interface GameDialogProps {
17
18
  allowKeybinding?: boolean;
18
19
  backgroundPaper?: ReactNode;
19
20
  title?: string;
21
+ removeBorder?: boolean;
22
+ borderType?: BorderType;
20
23
  }
21
24
  export type GameDialogFC = React.FC<PropsWithChildren<GameDialogProps>>;
22
25
  export type GameButtonFC = React.ForwardRefRenderFunction<HTMLButtonElement, ButtonProps & {
23
26
  keybinding?: string;
24
27
  keyPriority?: number;
25
28
  fancyBorder?: boolean;
29
+ keyContext?: string;
26
30
  }>;
27
31
  export type GameIconButtonFC = React.ForwardRefRenderFunction<HTMLButtonElement, IconButtonProps & {
28
32
  hoverSfx?: SoundEffectName;
@@ -16,6 +16,7 @@ export declare const craftingConditionToColour: Record<CraftingCondition, string
16
16
  export declare const craftingConditionToIcon: Record<CraftingCondition, OverridableComponent<SvgIconTypeMap<{}, 'svg'>>>;
17
17
  export interface RecipeConditionEffect {
18
18
  name: string;
19
+ colour: string;
19
20
  conditionEffects: Record<CraftingCondition, {
20
21
  tooltip: string;
21
22
  effects: CraftingConditionEffect[];
@@ -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 {
@@ -42,6 +43,8 @@ export interface CraftingBuff {
42
43
  stacksScaling?: number;
43
44
  animations?: ('bump' | 'buff' | 'completion' | 'perfection' | 'stabilityup' | 'stabilitydown' | 'pool')[];
44
45
  cantUpgrade?: boolean;
46
+ bonusHiddenPotential?: Scaling;
47
+ realm?: Realm;
45
48
  }
46
49
  export type CraftingBuffEffect = CompletionEffect | PerfectionEffect | StabilityEffect | PoolEffect | NegateEffect | CreateBuffEffect | AddStackEffect | ChangeToxicityEffect | MaxStabilityEffect;
47
50
  interface BaseEffect {
@@ -55,6 +55,7 @@ export interface ProgressState {
55
55
  effectTracking: Record<string, CraftingEffectTracking>;
56
56
  actionTracking: Record<string, ActionTracking>;
57
57
  pillTracking: Record<string, number>;
58
+ lastActionType?: CraftingTechniqueType;
58
59
  }
59
60
  export interface FailedCraftingResult {
60
61
  state: 'failed';
@@ -57,6 +57,7 @@ export interface CraftingTechnique {
57
57
  type: CraftingTechniqueType;
58
58
  realm: Realm;
59
59
  tooltip?: string;
60
+ showCreatesBuff?: boolean;
60
61
  currentCooldown: number;
61
62
  justClicked?: true;
62
63
  mastery?: CraftingTechniqueMastery[];
package/dist/destiny.d.ts CHANGED
@@ -1,9 +1,13 @@
1
- import { CombatStatistic, CraftingStatistic } from './stat';
1
+ import { CombatStatistic, CraftingStatistic, Scaling } from './stat';
2
2
  export interface Destiny {
3
3
  name: string;
4
4
  description: string;
5
- combatStats?: Partial<Record<CombatStatistic, number>>;
6
- craftingStats?: Partial<Record<CraftingStatistic, number>>;
5
+ combatStats?: Partial<{
6
+ [key in CombatStatistic]: Scaling;
7
+ }>;
8
+ craftingStats?: Partial<{
9
+ [key in CraftingStatistic]: Scaling;
10
+ }>;
7
11
  qiAbsorption?: number;
8
12
  charisma?: number;
9
13
  lifespan?: number;
package/dist/entity.d.ts CHANGED
@@ -6,11 +6,21 @@ import { TechniqueElement } from './element';
6
6
  import { ArtefactItem, CombatItem, CombatPillItem, ConcoctionItem, CraftingEquipmentItem, Item, ItemDesc } from './item';
7
7
  import { Realm, RealmProgress } from './realm';
8
8
  import { CombatStatsMap, CraftingStatsMap, PhysicalStatistic, SocialStatistic } from './stat';
9
- import { KnownTechnique, Technique } from './technique';
9
+ import { KnownTechnique, Technique, TechniquePriority } from './technique';
10
10
  export declare const sexes: readonly ["male", "female"];
11
11
  export type Sex = (typeof sexes)[number];
12
12
  export interface PlayerEntity {
13
13
  imageIndex: number;
14
+ customImagePath?: string;
15
+ customImages?: {
16
+ idle?: string;
17
+ hit?: string;
18
+ support?: string;
19
+ defensive?: string;
20
+ utility?: string;
21
+ offensive?: string;
22
+ aggressive?: string;
23
+ };
14
24
  realm: Realm;
15
25
  realmOverride?: Realm;
16
26
  realmProgress: RealmProgress;
@@ -43,7 +53,12 @@ export interface PlayerEntity {
43
53
  craftingTechniques: KnownCraftingTechnique[];
44
54
  currentEquipmentLoadout?: StoredEquipmentLoadout;
45
55
  storedEquipmentLoadouts?: StoredEquipmentLoadout[];
56
+ currentGardenLayout?: StoredGardenLayout;
57
+ storedGardenLayouts?: StoredGardenLayout[];
58
+ currentPillarLayout?: StoredPillarLayout;
59
+ storedPillarLayouts?: StoredPillarLayout[];
46
60
  destiny: string[];
61
+ background: string[];
47
62
  monthBuffs?: Buff[];
48
63
  injured?: boolean;
49
64
  }
@@ -52,6 +67,54 @@ export type BattleLength = 'halfround' | '1round' | 'veryshort' | 'short' | 'med
52
67
  export interface EnemyEntity {
53
68
  name: string;
54
69
  image: string;
70
+ supportImage?: {
71
+ image: string;
72
+ scale?: number;
73
+ imageOffset?: {
74
+ x: number;
75
+ y: number;
76
+ };
77
+ };
78
+ defensiveImage?: {
79
+ image: string;
80
+ scale?: number;
81
+ imageOffset?: {
82
+ x: number;
83
+ y: number;
84
+ };
85
+ };
86
+ utilityImage?: {
87
+ image: string;
88
+ scale?: number;
89
+ imageOffset?: {
90
+ x: number;
91
+ y: number;
92
+ };
93
+ };
94
+ aggressiveImage?: {
95
+ image: string;
96
+ scale?: number;
97
+ imageOffset?: {
98
+ x: number;
99
+ y: number;
100
+ };
101
+ };
102
+ offensiveImage?: {
103
+ image: string;
104
+ scale?: number;
105
+ imageOffset?: {
106
+ x: number;
107
+ y: number;
108
+ };
109
+ };
110
+ hitImage?: {
111
+ image: string;
112
+ scale?: number;
113
+ imageOffset?: {
114
+ x: number;
115
+ y: number;
116
+ };
117
+ };
55
118
  imageScale: number;
56
119
  imageOffset?: {
57
120
  x: number;
@@ -94,6 +157,7 @@ export interface EnemyEntity {
94
157
  power?: number;
95
158
  };
96
159
  preconfiguredCombatEntity?: CombatEntity;
160
+ phases?: EnemyEntity[];
97
161
  }
98
162
  export interface CombatMessage {
99
163
  id: number;
@@ -123,6 +187,10 @@ export interface CraftingEntity {
123
187
  inactiveBuffs?: CraftingBuff[];
124
188
  messages: CraftingMessage[];
125
189
  animations: ('bump' | 'buff' | 'completion' | 'perfection' | 'stabilityup' | 'stabilitydown' | 'pool' | 'failedAction')[];
190
+ supportImage?: string;
191
+ defensiveImage?: string;
192
+ utilityImage?: string;
193
+ aggressiveImage?: string;
126
194
  }
127
195
  export interface CraftingMessage {
128
196
  id: number;
@@ -142,6 +210,54 @@ export interface CombatArtefact extends ArtefactItem {
142
210
  export interface CombatEntity {
143
211
  isPlayer: boolean;
144
212
  image: string;
213
+ supportImage?: {
214
+ image: string;
215
+ scale: number;
216
+ imageOffset?: {
217
+ x: number;
218
+ y: number;
219
+ };
220
+ };
221
+ defensiveImage?: {
222
+ image: string;
223
+ scale: number;
224
+ imageOffset?: {
225
+ x: number;
226
+ y: number;
227
+ };
228
+ };
229
+ utilityImage?: {
230
+ image: string;
231
+ scale: number;
232
+ imageOffset?: {
233
+ x: number;
234
+ y: number;
235
+ };
236
+ };
237
+ aggressiveImage?: {
238
+ image: string;
239
+ scale: number;
240
+ imageOffset?: {
241
+ x: number;
242
+ y: number;
243
+ };
244
+ };
245
+ offensiveImage?: {
246
+ image: string;
247
+ scale: number;
248
+ imageOffset?: {
249
+ x: number;
250
+ y: number;
251
+ };
252
+ };
253
+ hitImage?: {
254
+ image: string;
255
+ scale: number;
256
+ imageOffset?: {
257
+ x: number;
258
+ y: number;
259
+ };
260
+ };
145
261
  realm: Realm;
146
262
  stats: CombatStatsMap;
147
263
  stance: Stance;
@@ -154,7 +270,7 @@ export interface CombatEntity {
154
270
  buffs: Buff[];
155
271
  artefacts: CombatArtefact[];
156
272
  messages: CombatMessage[];
157
- animations: ('bump' | 'attack' | 'hurt' | 'barrier' | 'cleanse' | 'heal' | 'block' | 'buff' | 'debuff' | 'exhausted' | 'spawn' | 'failedTechnique' | 'droplet')[];
273
+ animations: ('bump' | 'attack' | 'hurt' | 'barrier' | 'cleanse' | 'heal' | 'block' | 'buff' | 'debuff' | 'exhausted' | 'spawn' | 'failedTechnique' | 'droplet' | TechniquePriority)[];
158
274
  renderScale: number;
159
275
  imageOffset?: {
160
276
  x: number;
@@ -194,9 +310,15 @@ export interface RotationStoredRule {
194
310
  }
195
311
  export interface ConditionalStoredRule {
196
312
  kind: 'conditional';
197
- condition: string;
198
- check: '<' | '==' | '>' | '!=';
199
- value: number;
313
+ condition?: string;
314
+ check?: '<' | '==' | '>' | '!=';
315
+ value?: number;
316
+ conditions?: Array<{
317
+ condition: string;
318
+ check: '<' | '==' | '>' | '!=';
319
+ value: number;
320
+ }>;
321
+ operator?: 'AND' | 'OR';
200
322
  }
201
323
  export interface StoredStance {
202
324
  name: string;
@@ -227,4 +349,33 @@ export interface StoredEquipmentLoadout {
227
349
  flame?: ItemDesc;
228
350
  };
229
351
  }
352
+ export interface StoredGardenLayout {
353
+ name: string;
354
+ id: string;
355
+ autoName?: boolean;
356
+ layout: {
357
+ x: number;
358
+ y: number;
359
+ cropItemName?: string;
360
+ cropRealm?: string;
361
+ device?: ItemDesc;
362
+ }[];
363
+ }
364
+ export interface StoredPillarLayout {
365
+ name: string;
366
+ id: string;
367
+ autoName?: boolean;
368
+ layout: {
369
+ grid: string[];
370
+ shards: {
371
+ shard: string;
372
+ pos: {
373
+ x: number;
374
+ y: number;
375
+ rotation: number;
376
+ };
377
+ variantIndex?: number;
378
+ }[];
379
+ };
380
+ }
230
381
  export {};
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';
@@ -8,12 +8,16 @@ export interface Crop {
8
8
  item: string;
9
9
  yield: number;
10
10
  growthDays: number;
11
- cost?: {
12
- condition: string;
13
- amount: number;
14
- };
15
- change?: {
16
- condition: string;
17
- amount: number;
18
- };
11
+ cost?: string;
12
+ change: string;
13
+ }
14
+ export type DeviceEffectType = 'harvester' | 'growthBoost' | 'yieldBoost' | 'universalSoil';
15
+ export interface DeviceEffect {
16
+ type: DeviceEffectType;
17
+ harvestInterval?: number;
18
+ boostAmount?: number;
19
+ soilConditions?: string[];
20
+ }
21
+ export interface DeviceProperties {
22
+ effects: DeviceEffect[];
19
23
  }
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';