afnm-types 0.6.57 → 0.6.58
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.
- package/dist/GameScreen.d.ts +2 -2
- package/dist/breakthrough.d.ts +19 -1
- package/dist/components.d.ts +2 -1
- package/dist/event.d.ts +24 -1
- package/dist/expedition.d.ts +128 -0
- package/dist/expedition.js +57 -0
- package/dist/fallenStar.d.ts +2 -1
- package/dist/gameVersion.d.ts +1 -1
- package/dist/gameVersion.js +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/item.d.ts +8 -0
- package/dist/life.d.ts +5 -0
- package/dist/location.d.ts +27 -3
- package/dist/mineConfig.d.ts +2 -0
- package/dist/reduxState.d.ts +39 -1
- package/dist/stat.d.ts +1 -0
- package/dist/worldAspect.d.ts +23 -0
- package/dist/worldAspect.js +1 -0
- package/package.json +1 -1
package/dist/GameScreen.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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' | 'tenThousandFlames' | 'lifeScreen' | 'soulShardDelve' | 'enchantmentShop' | 'challengeBoard';
|
|
2
|
-
export type ScreenType = GameScreen | 'newgame' | 'combat' | 'crafting' | 'dualCultivation' | 'event' | 'auction' | 'mysticalRegion' | 'tournament' | 'house' | 'guild' | 'stoneCutting' | 'fallenStar' | 'soulShardDelve';
|
|
1
|
+
export type GameScreen = 'location' | 'recipe' | 'mission' | 'craftingHall' | 'manual' | 'cultivation' | 'map' | 'healer' | 'market' | 'favour' | 'herbField' | 'mine' | 'recipeLibrary' | 'requestBoard' | 'compendium' | 'library' | 'altar' | 'research' | 'reforge' | 'expedition' | 'pillarGrid' | 'fallenStar' | 'trainingGround' | 'tenThousandFlames' | 'lifeScreen' | 'soulShardDelve' | 'enchantmentShop' | 'challengeBoard';
|
|
2
|
+
export type ScreenType = GameScreen | 'newgame' | 'combat' | 'crafting' | 'dualCultivation' | 'event' | 'auction' | 'mysticalRegion' | 'tournament' | 'house' | 'guild' | 'stoneCutting' | 'fallenStar' | 'soulShardDelve' | 'expedition';
|
package/dist/breakthrough.d.ts
CHANGED
|
@@ -23,12 +23,30 @@ export interface StoredFigment {
|
|
|
23
23
|
stances: StoredStance[];
|
|
24
24
|
currentStyle?: StoredStyle;
|
|
25
25
|
storedStyles?: StoredStyle[];
|
|
26
|
+
assignedTiers?: Record<string, number>;
|
|
27
|
+
}
|
|
28
|
+
/** An active firmament incursion targeting the player's inner world */
|
|
29
|
+
export interface ActiveIncursion {
|
|
30
|
+
id: string;
|
|
31
|
+
spawnedYear: number;
|
|
32
|
+
spawnedMonth: number;
|
|
33
|
+
}
|
|
34
|
+
/** Generated but uncollected essence accumulating in the inner world */
|
|
35
|
+
export interface PendingEssence {
|
|
36
|
+
essenceItemName: string;
|
|
37
|
+
count: number;
|
|
38
|
+
progress: number;
|
|
26
39
|
}
|
|
27
40
|
/** State for the Life Flourishing breakthrough system */
|
|
28
41
|
export interface LifeFlourishingState {
|
|
29
42
|
unlockedSpecies: string[];
|
|
30
43
|
storedFigments: StoredFigment[];
|
|
31
|
-
|
|
44
|
+
evokedFigmentId?: string;
|
|
45
|
+
worldAspectId?: string;
|
|
46
|
+
firmamentProgress?: number;
|
|
47
|
+
activeIncursions?: ActiveIncursion[];
|
|
48
|
+
pendingEssences?: PendingEssence[];
|
|
49
|
+
essenceTiersUnlocked?: Record<string, number>;
|
|
32
50
|
}
|
|
33
51
|
export interface BreakthroughState {
|
|
34
52
|
mundane?: {
|
package/dist/components.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { ReactNode, PropsWithChildren, ReactElement } from 'react';
|
|
|
3
3
|
import type { SoundEffectName } from './audio';
|
|
4
4
|
import type { ScreenEffectType } from './ScreenEffectType';
|
|
5
5
|
import type React from 'react';
|
|
6
|
-
export type BorderType = 'wood' | 'mystic';
|
|
6
|
+
export type BorderType = 'wood' | 'mystic' | 'expedition' | 'expeditionSmall';
|
|
7
7
|
interface GameDialogProps {
|
|
8
8
|
id: string;
|
|
9
9
|
onClose?: () => void;
|
|
@@ -33,6 +33,7 @@ export type GameIconButtonFC = React.ForwardRefRenderFunction<HTMLButtonElement,
|
|
|
33
33
|
hoverSfx?: SoundEffectName;
|
|
34
34
|
clickSfx?: SoundEffectName;
|
|
35
35
|
tooltip?: ReactNode;
|
|
36
|
+
fancyBorder?: boolean;
|
|
36
37
|
}>;
|
|
37
38
|
export type GameCloseButtonFC = React.ForwardRefRenderFunction<HTMLButtonElement, Omit<IconButtonProps & {
|
|
38
39
|
hoverSfx?: SoundEffectName;
|
package/dist/event.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface BaseEventStep {
|
|
|
39
39
|
kind: EventStepKind;
|
|
40
40
|
condition?: string;
|
|
41
41
|
}
|
|
42
|
-
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 | CraftingTeamUpStep | AddFollowerStep | BreakPartyStep | ClearTeamUpStep | UnlockAltarStep | DropItemStep | SetAltarCooldownStep | CompressCoreStep | ChangeScreenStep | UnlockTechniqueStep | UnlockAuctionTechniqueStep | AddRecipeStep | AddManualStep | LearnNpcStancesStep | ReplaceItemStep | DualCultivationStep | ChangeBGMStep | ClearChangeBGMStep | AddGuildApprovalStep | AdvanceGuildRankStep | OverridePlayerRealmStep | SetContentRealmOverrideStep | SetAidBreakthroughCooldownStep | StoneCuttingStep | GiveItemStep | ChangePhysicalStatStep | ChangeSocialStatStep | SelectRelationshipPathStep | SetTradeCooldownStep | StatusStep | ClearStatusStep;
|
|
42
|
+
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 | CraftingTeamUpStep | AddFollowerStep | BreakPartyStep | ClearTeamUpStep | UnlockAltarStep | DropItemStep | SetAltarCooldownStep | CompressCoreStep | ChangeScreenStep | UnlockTechniqueStep | UnlockAuctionTechniqueStep | AddRecipeStep | AddManualStep | LearnNpcStancesStep | ReplaceItemStep | DualCultivationStep | ChangeBGMStep | ClearChangeBGMStep | AddGuildApprovalStep | AdvanceGuildRankStep | OverridePlayerRealmStep | SetContentRealmOverrideStep | SetAidBreakthroughCooldownStep | StoneCuttingStep | GiveItemStep | ChangePhysicalStatStep | ChangeSocialStatStep | SelectRelationshipPathStep | SetTradeCooldownStep | StatusStep | ClearStatusStep | IncreaseInstabilityStep | EndExpeditionStep | AddItemsToFoundStep | AddItemsToExtractedStep;
|
|
43
43
|
export interface TextStep extends BaseEventStep {
|
|
44
44
|
kind: 'text';
|
|
45
45
|
text: Translatable;
|
|
@@ -174,6 +174,7 @@ export interface CreateBuffStep extends BaseEventStep {
|
|
|
174
174
|
buff: Buff;
|
|
175
175
|
amount: string;
|
|
176
176
|
persistBeyondEvent?: boolean;
|
|
177
|
+
debuff?: boolean;
|
|
177
178
|
}
|
|
178
179
|
export interface ConsumeBuffStep extends BaseEventStep {
|
|
179
180
|
kind: 'consumeBuff';
|
|
@@ -513,4 +514,26 @@ export interface EventStatusThreshold {
|
|
|
513
514
|
colour: string;
|
|
514
515
|
label?: Translatable;
|
|
515
516
|
}
|
|
517
|
+
export interface IncreaseInstabilityStep {
|
|
518
|
+
kind: 'instability';
|
|
519
|
+
condition?: string;
|
|
520
|
+
}
|
|
521
|
+
export interface EndExpeditionStep {
|
|
522
|
+
kind: 'endExpedition';
|
|
523
|
+
failed: boolean;
|
|
524
|
+
condition?: string;
|
|
525
|
+
}
|
|
526
|
+
export interface AddItemsToFoundStep {
|
|
527
|
+
kind: 'addToFound';
|
|
528
|
+
items: {
|
|
529
|
+
item: ItemDesc;
|
|
530
|
+
count: number;
|
|
531
|
+
}[];
|
|
532
|
+
condition?: string;
|
|
533
|
+
}
|
|
534
|
+
export interface AddItemsToExtractedStep {
|
|
535
|
+
kind: 'addToExtracted';
|
|
536
|
+
extractSlots: number;
|
|
537
|
+
condition?: string;
|
|
538
|
+
}
|
|
516
539
|
export {};
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { Buff } from './buff';
|
|
2
|
+
import { EnemyEntity } from './entity';
|
|
3
|
+
import { EventStep } from './event';
|
|
4
|
+
import { ItemDesc } from './item';
|
|
5
|
+
import { Rarity } from './rarity';
|
|
6
|
+
import { Translatable } from './translatable';
|
|
7
|
+
export declare const expeditionBaseCost = 87500;
|
|
8
|
+
export declare const expeditionDirections: readonly ["left", "right", "top", "bottom"];
|
|
9
|
+
export type ExpeditionDirection = (typeof expeditionDirections)[number];
|
|
10
|
+
export declare const expeditionDirectionOpposite: {
|
|
11
|
+
[key in ExpeditionDirection]: ExpeditionDirection;
|
|
12
|
+
};
|
|
13
|
+
export declare const expeditionDirectionPoint: {
|
|
14
|
+
[key in ExpeditionDirection]: ExpeditionPoint;
|
|
15
|
+
};
|
|
16
|
+
export interface ExpeditionPoint {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
}
|
|
20
|
+
export type RoleRarity = Exclude<Rarity, 'transcendent'>;
|
|
21
|
+
export declare const RoleRarityWeight: Record<RoleRarity, number>;
|
|
22
|
+
export type Roles = 'fighter' | 'healer' | 'surveyor' | 'archaeologist' | 'stabilizer' | 'qiflow';
|
|
23
|
+
export declare const rolesToName: Record<Roles, string>;
|
|
24
|
+
export declare const roleDescription: Record<Roles, string>;
|
|
25
|
+
export declare const RoleWeight: Record<Roles, number>;
|
|
26
|
+
export type MemberRole = {
|
|
27
|
+
role: Roles;
|
|
28
|
+
rarity: RoleRarity;
|
|
29
|
+
};
|
|
30
|
+
export type TeamMember = {
|
|
31
|
+
name: Translatable;
|
|
32
|
+
buff?: Buff;
|
|
33
|
+
role: MemberRole;
|
|
34
|
+
};
|
|
35
|
+
export type ExpeditionTeam = TeamMember[];
|
|
36
|
+
export interface TileMonsters {
|
|
37
|
+
combat: EnemyEntity[];
|
|
38
|
+
boss: EnemyEntity[];
|
|
39
|
+
challenge: EnemyEntity[];
|
|
40
|
+
}
|
|
41
|
+
export type ExpeditionTileTypes = 'entrance' | 'exit' | 'extract' | 'combat' | 'rest' | 'treasure' | 'boss' | 'buff' | 'debuff' | 'challenge' | 'puzzle' | 'boonBane';
|
|
42
|
+
export interface ExpeditionTilePoint extends ExpeditionPoint {
|
|
43
|
+
name: string;
|
|
44
|
+
}
|
|
45
|
+
export interface ExpeditionTile extends ExpeditionPoint {
|
|
46
|
+
expeditionTiles: ExpeditionTilePoint[];
|
|
47
|
+
edges: {
|
|
48
|
+
[key in ExpeditionDirection]: ExpeditionPoint[];
|
|
49
|
+
};
|
|
50
|
+
tileConnections: {
|
|
51
|
+
src: string;
|
|
52
|
+
dst: string;
|
|
53
|
+
}[];
|
|
54
|
+
edgeConnections: {
|
|
55
|
+
tile: string;
|
|
56
|
+
edge: string;
|
|
57
|
+
direction: ExpeditionDirection;
|
|
58
|
+
}[];
|
|
59
|
+
}
|
|
60
|
+
export type ExpeditionTiles = EntranceTile | ExitTile | ExtractTile | CombatTile | RestTile | TreasureTile | BossTile | BuffTile | DebuffTile | ChallengeTile | PuzzleTile | BoonBaneTile;
|
|
61
|
+
interface BaseTile {
|
|
62
|
+
name: string;
|
|
63
|
+
icon: string;
|
|
64
|
+
bg: string;
|
|
65
|
+
description: Translatable;
|
|
66
|
+
rarity: Rarity;
|
|
67
|
+
intro: EventStep[];
|
|
68
|
+
}
|
|
69
|
+
export interface EntranceTile extends BaseTile {
|
|
70
|
+
kind: 'entrance';
|
|
71
|
+
}
|
|
72
|
+
export interface ExitTile extends BaseTile {
|
|
73
|
+
kind: 'exit';
|
|
74
|
+
}
|
|
75
|
+
export interface ExtractTile extends BaseTile {
|
|
76
|
+
kind: 'extract';
|
|
77
|
+
extractCount: number;
|
|
78
|
+
}
|
|
79
|
+
export interface CombatTile extends BaseTile {
|
|
80
|
+
kind: 'combat';
|
|
81
|
+
modifier?: number;
|
|
82
|
+
enemyCount?: number;
|
|
83
|
+
items?: {
|
|
84
|
+
item: ItemDesc;
|
|
85
|
+
count: number;
|
|
86
|
+
}[];
|
|
87
|
+
}
|
|
88
|
+
export interface RestTile extends BaseTile {
|
|
89
|
+
kind: 'rest';
|
|
90
|
+
baseRestore: number;
|
|
91
|
+
}
|
|
92
|
+
export interface TreasureTile extends BaseTile {
|
|
93
|
+
kind: 'treasure';
|
|
94
|
+
}
|
|
95
|
+
export interface BossTile extends BaseTile {
|
|
96
|
+
kind: 'boss';
|
|
97
|
+
modifier?: number;
|
|
98
|
+
items?: {
|
|
99
|
+
item: ItemDesc;
|
|
100
|
+
count: number;
|
|
101
|
+
}[];
|
|
102
|
+
}
|
|
103
|
+
export interface BuffTile extends BaseTile {
|
|
104
|
+
kind: 'buff';
|
|
105
|
+
}
|
|
106
|
+
export interface DebuffTile extends BaseTile {
|
|
107
|
+
kind: 'debuff';
|
|
108
|
+
}
|
|
109
|
+
export interface ChallengeTile extends BaseTile {
|
|
110
|
+
kind: 'challenge';
|
|
111
|
+
modifier?: number;
|
|
112
|
+
items?: {
|
|
113
|
+
item: ItemDesc;
|
|
114
|
+
count: number;
|
|
115
|
+
}[];
|
|
116
|
+
}
|
|
117
|
+
export interface PuzzleTile extends BaseTile {
|
|
118
|
+
kind: 'puzzle';
|
|
119
|
+
enemies?: boolean;
|
|
120
|
+
}
|
|
121
|
+
export interface BoonBaneTile extends BaseTile {
|
|
122
|
+
kind: 'boonBane';
|
|
123
|
+
}
|
|
124
|
+
export interface ItemWCount {
|
|
125
|
+
item: ItemDesc;
|
|
126
|
+
count: number;
|
|
127
|
+
}
|
|
128
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export const expeditionBaseCost = 87500;
|
|
2
|
+
export const expeditionDirections = ['left', 'right', 'top', 'bottom'];
|
|
3
|
+
export const expeditionDirectionOpposite = {
|
|
4
|
+
left: 'right',
|
|
5
|
+
right: 'left',
|
|
6
|
+
top: 'bottom',
|
|
7
|
+
bottom: 'top',
|
|
8
|
+
};
|
|
9
|
+
export const expeditionDirectionPoint = {
|
|
10
|
+
left: {
|
|
11
|
+
x: -1,
|
|
12
|
+
y: 0,
|
|
13
|
+
},
|
|
14
|
+
right: {
|
|
15
|
+
x: 2,
|
|
16
|
+
y: 0,
|
|
17
|
+
},
|
|
18
|
+
top: {
|
|
19
|
+
x: 0,
|
|
20
|
+
y: -1,
|
|
21
|
+
},
|
|
22
|
+
bottom: {
|
|
23
|
+
x: 0,
|
|
24
|
+
y: 2,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
export const RoleRarityWeight = {
|
|
28
|
+
mundane: 30,
|
|
29
|
+
qitouched: 30,
|
|
30
|
+
empowered: 25,
|
|
31
|
+
resplendent: 20,
|
|
32
|
+
incandescent: 5,
|
|
33
|
+
};
|
|
34
|
+
export const rolesToName = {
|
|
35
|
+
fighter: 'Fighter',
|
|
36
|
+
healer: 'Healer',
|
|
37
|
+
surveyor: 'Surveyor',
|
|
38
|
+
archaeologist: 'Archeologist',
|
|
39
|
+
stabilizer: 'Stabilizer',
|
|
40
|
+
qiflow: 'Qi Manipulator',
|
|
41
|
+
};
|
|
42
|
+
export const roleDescription = {
|
|
43
|
+
fighter: 'Assists in limiting the prowess of fierce foes',
|
|
44
|
+
healer: 'Aids recuperation while resting',
|
|
45
|
+
surveyor: 'Analyzes signs of ambushes and plots routes avoiding them',
|
|
46
|
+
archaeologist: 'Utilizes expedition records to locate additional treasures',
|
|
47
|
+
stabilizer: 'Trained in placing spatial nodes that slow spatial destabilization',
|
|
48
|
+
qiflow: "Senses minute qi flow changes and manipulates them to the team's advantage",
|
|
49
|
+
};
|
|
50
|
+
export const RoleWeight = {
|
|
51
|
+
healer: 25,
|
|
52
|
+
archaeologist: 25,
|
|
53
|
+
surveyor: 20,
|
|
54
|
+
stabilizer: 15,
|
|
55
|
+
fighter: 10,
|
|
56
|
+
qiflow: 5,
|
|
57
|
+
};
|
package/dist/fallenStar.d.ts
CHANGED
package/dist/gameVersion.d.ts
CHANGED
package/dist/gameVersion.js
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/item.d.ts
CHANGED
|
@@ -307,6 +307,11 @@ export interface RecipeItem extends ItemBase {
|
|
|
307
307
|
baseItem: Item;
|
|
308
308
|
perfectItem: Item;
|
|
309
309
|
sublimeItem?: Item;
|
|
310
|
+
/** Override the default perfection effect resolved from the perfectItem's
|
|
311
|
+
* ItemKind in recipePerfectionEffect. Use 'quality' on recipes that should
|
|
312
|
+
* reward perfect/sublime crafts with stronger items (quality tier bonus)
|
|
313
|
+
* instead of producing more copies. */
|
|
314
|
+
perfectionEffectOverride?: 'none' | 'quality' | 'stacks';
|
|
310
315
|
displayPerfect?: boolean;
|
|
311
316
|
hideFromCompendium?: boolean;
|
|
312
317
|
realmProgress: RealmProgress;
|
|
@@ -343,6 +348,7 @@ export interface CraftingTechniqueItem extends ItemBase {
|
|
|
343
348
|
export interface TransportSealItem extends ItemBase {
|
|
344
349
|
kind: 'transport_seal';
|
|
345
350
|
destination: string;
|
|
351
|
+
omni?: boolean;
|
|
346
352
|
}
|
|
347
353
|
export interface EnchantmentItem extends ItemBase {
|
|
348
354
|
kind: 'enchantment';
|
|
@@ -514,6 +520,8 @@ export interface UncutStonePool {
|
|
|
514
520
|
}
|
|
515
521
|
export interface LifeEssenceItem extends ItemBase {
|
|
516
522
|
kind: 'life_essence';
|
|
523
|
+
/** Signature colour for UI (rings, slot borders, picker tints). Hex string. */
|
|
524
|
+
color: string;
|
|
517
525
|
thresholds: {
|
|
518
526
|
level: number;
|
|
519
527
|
buffs: Buff[];
|
package/dist/life.d.ts
CHANGED
|
@@ -14,6 +14,11 @@ export interface LifeForm {
|
|
|
14
14
|
role: string;
|
|
15
15
|
species: string;
|
|
16
16
|
image: string;
|
|
17
|
+
unlockCost: {
|
|
18
|
+
essence: string;
|
|
19
|
+
amount: number;
|
|
20
|
+
}[];
|
|
21
|
+
parentSpecies?: string;
|
|
17
22
|
supportImage?: LifeFormAnimationImage;
|
|
18
23
|
defensiveImage?: LifeFormAnimationImage;
|
|
19
24
|
utilityImage?: LifeFormAnimationImage;
|
package/dist/location.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { Rarity } from './rarity';
|
|
|
5
5
|
import type { Realm, RealmProgress } from './realm';
|
|
6
6
|
import type { ReputationTier } from './stat';
|
|
7
7
|
import type { EnemyEntity } from './entity';
|
|
8
|
-
import type { ItemDesc } from './item';
|
|
8
|
+
import type { Item, ItemDesc } from './item';
|
|
9
9
|
import type { House, HouseData } from './house';
|
|
10
10
|
import type { Buff } from './buff';
|
|
11
11
|
import type { AmbienceName, MusicName } from './audio';
|
|
@@ -147,7 +147,7 @@ export interface CraftingMission {
|
|
|
147
147
|
}
|
|
148
148
|
export declare const exploresPerUnlock = 3;
|
|
149
149
|
export type BuildingType = 'cultivation' | 'manual' | 'crafting' | 'mission' | 'craftingHall' | 'healer' | 'market' | 'favourExchange' | 'vault' | 'custom' | 'herbField' | 'mine' | 'recipe' | 'requestBoard' | 'compendium' | 'mysticalRegion' | 'expedition' | 'trainingGround' | 'library' | 'house' | 'altar' | 'research' | 'reforge' | 'guild' | 'tenThousandFlames' | 'soulShardDelve' | 'enchantmentShop' | 'challengeBoard' | 'jadeCutter' | 'modBuilding';
|
|
150
|
-
export type LocationBuilding = CultivationBuilding | ManualBuilding | CraftingBuilding | MissionBuilding | CraftingHallBuilding | HealerBuilding | MarketBuilding | VaultBuilding | FavourExchangeBuilding | CustomBuilding | HerbFieldBuilding | MineBuilding | RecipeLibraryBuilding | RequestBoardBuilding | CompendiumBuilding | MysticalRegionBuilding | TrainingGroundBuilding | LibraryBuilding | HouseBuilding | CompressionAltarBuilding | ResearchBuilding | ReforgeBuilding | GuildBuilding | TenThousandFlamesBuilding | SoulShardDelveBuilding | EnchantmentShopBuilding | ChallengeBoardBuilding | JadeCutterBuilding | ModBuilding;
|
|
150
|
+
export type LocationBuilding = CultivationBuilding | ManualBuilding | CraftingBuilding | MissionBuilding | CraftingHallBuilding | HealerBuilding | MarketBuilding | VaultBuilding | FavourExchangeBuilding | CustomBuilding | HerbFieldBuilding | MineBuilding | RecipeLibraryBuilding | RequestBoardBuilding | CompendiumBuilding | MysticalRegionBuilding | TrainingGroundBuilding | LibraryBuilding | HouseBuilding | CompressionAltarBuilding | ResearchBuilding | ReforgeBuilding | ExpeditionBuilding | GuildBuilding | TenThousandFlamesBuilding | SoulShardDelveBuilding | EnchantmentShopBuilding | ChallengeBoardBuilding | JadeCutterBuilding | ModBuilding;
|
|
151
151
|
export type LocationBuildingState = MissionBuildingState | CraftingHallBuildingState | ShopBuildingState | RequestBoardBuildingState | HouseBuildingState | CompressionAltarBuildingState;
|
|
152
152
|
interface BuildingBase {
|
|
153
153
|
kind: BuildingType;
|
|
@@ -224,8 +224,26 @@ export interface ShopBuildingState {
|
|
|
224
224
|
items: ShopItem[];
|
|
225
225
|
refreshCountdown: number;
|
|
226
226
|
}
|
|
227
|
+
export interface MarketTokenStock {
|
|
228
|
+
/** The item the player receives. The `stacks` field is the per-refresh stock cap. */
|
|
229
|
+
item: ShopItem;
|
|
230
|
+
/** Number of currency-item tokens consumed per stack purchased. */
|
|
231
|
+
tokenCost: number;
|
|
232
|
+
}
|
|
233
|
+
export interface MarketTokenCurrency {
|
|
234
|
+
/** The token item used as currency (e.g. Serpent Token). The market reads stack count from the player's inventory. */
|
|
235
|
+
currencyItem: Item;
|
|
236
|
+
/** Stock entries. Each refresh restores the listed `item.stacks` count for each entry. */
|
|
237
|
+
tokenStock: MarketTokenStock[];
|
|
238
|
+
}
|
|
227
239
|
export interface MarketBuilding extends ShopBuilding {
|
|
228
240
|
kind: 'market';
|
|
241
|
+
/**
|
|
242
|
+
* If set, this market sells exclusively for the given token currency.
|
|
243
|
+
* The `itemPool` is ignored and the `tokenStock` replaces the standard
|
|
244
|
+
* stock; the Sell tab is disabled because tokens are not generic currency.
|
|
245
|
+
*/
|
|
246
|
+
tokenCurrency?: MarketTokenCurrency;
|
|
229
247
|
}
|
|
230
248
|
export interface VaultBuilding extends BuildingBase {
|
|
231
249
|
kind: 'vault';
|
|
@@ -272,6 +290,12 @@ export interface RequestBoardBuildingState {
|
|
|
272
290
|
export interface MysticalRegionBuilding extends BuildingBase {
|
|
273
291
|
kind: 'mysticalRegion';
|
|
274
292
|
}
|
|
293
|
+
export interface ExpeditionBuilding extends BuildingBase {
|
|
294
|
+
kind: 'expedition';
|
|
295
|
+
name: string;
|
|
296
|
+
displayName?: Translatable;
|
|
297
|
+
teamCount: number;
|
|
298
|
+
}
|
|
275
299
|
export interface TrainingGroundBuilding extends BuildingBase {
|
|
276
300
|
kind: 'trainingGround';
|
|
277
301
|
}
|
|
@@ -298,7 +322,7 @@ export interface CustomBuilding extends BuildingBase {
|
|
|
298
322
|
eventSteps: EventStep[];
|
|
299
323
|
}
|
|
300
324
|
export interface LibraryBook {
|
|
301
|
-
title:
|
|
325
|
+
title: Translatable;
|
|
302
326
|
condition?: string;
|
|
303
327
|
author: string;
|
|
304
328
|
contents: string;
|
package/dist/mineConfig.d.ts
CHANGED
|
@@ -47,6 +47,8 @@ export interface MineConfig {
|
|
|
47
47
|
depthFlag: string;
|
|
48
48
|
/** Flare item consumed when delving into a chamber. */
|
|
49
49
|
flareItem: FlareItem;
|
|
50
|
+
/** Optional override for the mine entrance image shown on the chart. */
|
|
51
|
+
entranceImage?: string;
|
|
50
52
|
/** Combat intro flavor text used when fighting through corridors. */
|
|
51
53
|
combatIntroText: string;
|
|
52
54
|
/** Victory flavor text after pathing combat. */
|
package/dist/reduxState.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ import type { EventStep, GameEvent, ReportAnalyticsStep, StatusStep, TournamentS
|
|
|
21
21
|
import type { Background } from './background';
|
|
22
22
|
import type { Realm } from './realm';
|
|
23
23
|
import type { CraftingBuff } from './craftingBuff';
|
|
24
|
+
import { ExpeditionTeam } from './expedition';
|
|
24
25
|
export interface Viewport {
|
|
25
26
|
x: number;
|
|
26
27
|
y: number;
|
|
@@ -90,6 +91,11 @@ export interface CombatState {
|
|
|
90
91
|
buildId: string | null;
|
|
91
92
|
prevWins: number;
|
|
92
93
|
};
|
|
94
|
+
/** Marker for an inner-world fight (Life Flourishing). VictoryDialog reads it to dispatch the right follow-up. */
|
|
95
|
+
lifeFlourishingCombat?: {
|
|
96
|
+
kind: 'expand' | 'incursion';
|
|
97
|
+
incursionId?: string;
|
|
98
|
+
};
|
|
93
99
|
}
|
|
94
100
|
export type CraftingSliceState = ExistingCraftingState;
|
|
95
101
|
export interface ResetFlag {
|
|
@@ -152,6 +158,7 @@ export interface LocationState {
|
|
|
152
158
|
}
|
|
153
159
|
export interface ScreenState {
|
|
154
160
|
screen: GameScreen;
|
|
161
|
+
previousScreen?: GameScreen;
|
|
155
162
|
}
|
|
156
163
|
export interface AdditionalFollowingCharacter {
|
|
157
164
|
character: string;
|
|
@@ -265,6 +272,32 @@ export interface MysticalRegionState {
|
|
|
265
272
|
openedRewards: boolean[];
|
|
266
273
|
coreSacrificed?: boolean;
|
|
267
274
|
}
|
|
275
|
+
export interface ExpeditionState {
|
|
276
|
+
name?: string;
|
|
277
|
+
startDate: {
|
|
278
|
+
year: number;
|
|
279
|
+
month: number;
|
|
280
|
+
day: number;
|
|
281
|
+
} | undefined;
|
|
282
|
+
foundItems: {
|
|
283
|
+
item: ItemDesc;
|
|
284
|
+
count: number;
|
|
285
|
+
}[];
|
|
286
|
+
extractedItems: {
|
|
287
|
+
item: ItemDesc;
|
|
288
|
+
count: number;
|
|
289
|
+
}[];
|
|
290
|
+
team: ExpeditionTeam;
|
|
291
|
+
finishExpedition: boolean;
|
|
292
|
+
failedExpedition?: boolean;
|
|
293
|
+
playerShare: number;
|
|
294
|
+
current: {
|
|
295
|
+
key: string;
|
|
296
|
+
name: string;
|
|
297
|
+
};
|
|
298
|
+
explored: string[];
|
|
299
|
+
instability: number;
|
|
300
|
+
}
|
|
268
301
|
export interface TournamentSliceState {
|
|
269
302
|
sourceStep?: TournamentStep;
|
|
270
303
|
participants?: EnemyEntity[];
|
|
@@ -382,8 +415,10 @@ export interface HistoryItem {
|
|
|
382
415
|
character?: string;
|
|
383
416
|
buff?: Buff;
|
|
384
417
|
items?: ItemDesc[];
|
|
418
|
+
isRemove?: boolean;
|
|
385
419
|
money?: number;
|
|
386
420
|
favour?: number;
|
|
421
|
+
qi?: number;
|
|
387
422
|
reputation?: {
|
|
388
423
|
name: string;
|
|
389
424
|
amount: number;
|
|
@@ -416,6 +451,7 @@ export interface GameEventState {
|
|
|
416
451
|
eventStepStack: EventStep[][];
|
|
417
452
|
indexStack: number[];
|
|
418
453
|
character?: string;
|
|
454
|
+
extractSlots?: number;
|
|
419
455
|
textHistory: HistoryItem[];
|
|
420
456
|
eventBuffs: Buff[];
|
|
421
457
|
locationOverride?: string;
|
|
@@ -429,6 +465,7 @@ export interface GameEventState {
|
|
|
429
465
|
index: number;
|
|
430
466
|
};
|
|
431
467
|
sourceChamber?: string;
|
|
468
|
+
sourceExpedtionTile?: string;
|
|
432
469
|
storedStates: {
|
|
433
470
|
[key: string]: StoredEventState;
|
|
434
471
|
};
|
|
@@ -450,6 +487,7 @@ export interface RecipeFilters {
|
|
|
450
487
|
hideNoCraftSkill: boolean;
|
|
451
488
|
recipeFilter: string;
|
|
452
489
|
selectedRecipe: string;
|
|
490
|
+
recipeBreadcrumb: string[];
|
|
453
491
|
pinnedRecipes: string[];
|
|
454
492
|
category: 'all' | 'pinned' | 'pinned-upgrades' | ItemKind;
|
|
455
493
|
realmFilter: 'all' | Realm;
|
|
@@ -491,6 +529,7 @@ export interface RootState {
|
|
|
491
529
|
selectedLocation: SelectedLocationState;
|
|
492
530
|
auction: AuctionState;
|
|
493
531
|
mysticalRegion: MysticalRegionState;
|
|
532
|
+
expedition: ExpeditionState;
|
|
494
533
|
tournament: TournamentSliceState;
|
|
495
534
|
house: HouseState;
|
|
496
535
|
mod: ModSliceProps;
|
|
@@ -498,7 +537,6 @@ export interface RootState {
|
|
|
498
537
|
guild: GuildState;
|
|
499
538
|
stoneCutting: StoneCuttingState;
|
|
500
539
|
fallenStar: FallenStarState;
|
|
501
|
-
expedition: ExpeditionState;
|
|
502
540
|
characterUiPreferences: CharacterUiPreferencesState;
|
|
503
541
|
soulShardDelve: SoulShardDelveState;
|
|
504
542
|
}
|
package/dist/stat.d.ts
CHANGED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Translatable } from './translatable';
|
|
2
|
+
/**
|
|
3
|
+
* Schedule of essences an aspect produces each month. `perMonth` may be
|
|
4
|
+
* fractional (0.5 means one stack every two months); the
|
|
5
|
+
* `accumulatePendingEssence` reducer drains progress when it crosses 1.
|
|
6
|
+
*/
|
|
7
|
+
export interface WorldAspectEssence {
|
|
8
|
+
essence: string;
|
|
9
|
+
perMonth: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* One reality aspect available for the player's Life Flourishing inner world.
|
|
13
|
+
* Data-driven: modders can add new aspects by defining a new file and
|
|
14
|
+
* registering it in the worldAspects index.
|
|
15
|
+
*/
|
|
16
|
+
export interface WorldAspect {
|
|
17
|
+
id: string;
|
|
18
|
+
displayName: Translatable;
|
|
19
|
+
description: string;
|
|
20
|
+
/** GameLocation name. The location's `image` is the World tab background and its `icon` is the aspect picker icon. */
|
|
21
|
+
location: string;
|
|
22
|
+
essenceGeneration: WorldAspectEssence[];
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|