generated from nhcarrigan/template
feat: vampire expansion chunk 4 — API routes and services
Adds six new routes (vampire-boss, vampire-upgrade, vampire-craft, vampire-explore, siring, vampire-awakening) with matching siring and awakening services, and all necessary request/response types.
This commit is contained in:
@@ -47,8 +47,12 @@ export type {
|
||||
ApotheosisRequest,
|
||||
ApotheosisResponse,
|
||||
AuthResponse,
|
||||
AwakeningRequest,
|
||||
AwakeningResponse,
|
||||
BossChallengeRequest,
|
||||
BossChallengeResponse,
|
||||
BuyAwakeningUpgradeRequest,
|
||||
BuyAwakeningUpgradeResponse,
|
||||
BuyConsecrationUpgradeRequest,
|
||||
BuyConsecrationUpgradeResponse,
|
||||
BuyEchoUpgradeRequest,
|
||||
@@ -59,6 +63,10 @@ export type {
|
||||
BuyGoddessUpgradeResponse,
|
||||
BuyPrestigeUpgradeRequest,
|
||||
BuyPrestigeUpgradeResponse,
|
||||
BuySiringUpgradeRequest,
|
||||
BuySiringUpgradeResponse,
|
||||
BuyVampireUpgradeRequest,
|
||||
BuyVampireUpgradeResponse,
|
||||
ConsecrationRequest,
|
||||
ConsecrationResponse,
|
||||
CraftRecipeRequest,
|
||||
@@ -93,11 +101,23 @@ export type {
|
||||
PublicProfileResponse,
|
||||
SaveRequest,
|
||||
SaveResponse,
|
||||
SiringRequest,
|
||||
SiringResponse,
|
||||
SyncNewContentResponse,
|
||||
TranscendenceRequest,
|
||||
TranscendenceResponse,
|
||||
UpdateProfileRequest,
|
||||
UpdateProfileResponse,
|
||||
VampireBossChallengeRequest,
|
||||
VampireBossChallengeResponse,
|
||||
VampireCraftRequest,
|
||||
VampireCraftResponse,
|
||||
VampireExploreClaimableResponse,
|
||||
VampireExploreCollectEventResult,
|
||||
VampireExploreCollectRequest,
|
||||
VampireExploreCollectResponse,
|
||||
VampireExploreStartRequest,
|
||||
VampireExploreStartResponse,
|
||||
} from "./interfaces/api.js";
|
||||
export type { Boss, BossStatus } from "./interfaces/boss.js";
|
||||
export type {
|
||||
|
||||
@@ -754,14 +754,159 @@ interface GoddessExploreClaimableResponse {
|
||||
claimable: boolean;
|
||||
}
|
||||
|
||||
interface VampireBossChallengeRequest {
|
||||
bossId: string;
|
||||
}
|
||||
|
||||
interface VampireBossChallengeResponse {
|
||||
won: boolean;
|
||||
partyDPS: number;
|
||||
bossDPS: number;
|
||||
bossHpBefore: number;
|
||||
bossMaxHp: number;
|
||||
bossHpAtBattleEnd: number;
|
||||
bossNewHp: number;
|
||||
partyMaxHp: number;
|
||||
partyHpRemaining: number;
|
||||
rewards?: {
|
||||
blood: number;
|
||||
ichor: number;
|
||||
soulShards: number;
|
||||
upgradeIds: Array<string>;
|
||||
equipmentIds: Array<string>;
|
||||
bountyIchor: number;
|
||||
};
|
||||
casualties?: Array<{
|
||||
thrallId: string;
|
||||
killed: number;
|
||||
}>;
|
||||
|
||||
/**
|
||||
* HMAC-SHA256 signature of the updated state for anti-cheat chain continuity.
|
||||
*/
|
||||
signature?: string;
|
||||
}
|
||||
|
||||
type SiringRequest = Record<string, never>;
|
||||
|
||||
interface SiringResponse {
|
||||
|
||||
/**
|
||||
* Ichor earned from this siring.
|
||||
*/
|
||||
ichorEarned: number;
|
||||
|
||||
// eslint-disable-next-line unicorn/no-keyword-prefix -- API field name matches server response
|
||||
newSiringCount: number;
|
||||
}
|
||||
|
||||
interface BuySiringUpgradeRequest {
|
||||
upgradeId: string;
|
||||
}
|
||||
|
||||
interface BuySiringUpgradeResponse {
|
||||
ichorRemaining: number;
|
||||
purchasedUpgradeIds: Array<string>;
|
||||
ichorBloodMultiplier: number;
|
||||
ichorThrallsMultiplier: number;
|
||||
ichorCombatMultiplier: number;
|
||||
}
|
||||
|
||||
type AwakeningRequest = Record<string, never>;
|
||||
|
||||
interface AwakeningResponse {
|
||||
|
||||
/**
|
||||
* Soul Shards earned from this awakening.
|
||||
*/
|
||||
soulShardsEarned: number;
|
||||
|
||||
// eslint-disable-next-line unicorn/no-keyword-prefix -- API field name matches server response
|
||||
newAwakeningCount: number;
|
||||
}
|
||||
|
||||
interface BuyAwakeningUpgradeRequest {
|
||||
upgradeId: string;
|
||||
}
|
||||
|
||||
interface BuyAwakeningUpgradeResponse {
|
||||
soulShardsRemaining: number;
|
||||
purchasedUpgradeIds: Array<string>;
|
||||
soulShardsBloodMultiplier: number;
|
||||
soulShardsCombatMultiplier: number;
|
||||
soulShardsSiringThresholdMultiplier: number;
|
||||
soulShardsSiringIchorMultiplier: number;
|
||||
soulShardsMetaMultiplier: number;
|
||||
}
|
||||
|
||||
interface BuyVampireUpgradeRequest {
|
||||
upgradeId: string;
|
||||
}
|
||||
|
||||
interface BuyVampireUpgradeResponse {
|
||||
bloodRemaining: number;
|
||||
ichorRemaining: number;
|
||||
soulShardsRemaining: number;
|
||||
}
|
||||
|
||||
interface VampireCraftRequest {
|
||||
recipeId: string;
|
||||
}
|
||||
|
||||
interface VampireCraftResponse {
|
||||
recipeId: string;
|
||||
bonusType: string;
|
||||
bonusValue: number;
|
||||
craftedBloodMultiplier: number;
|
||||
craftedIchorMultiplier: number;
|
||||
craftedCombatMultiplier: number;
|
||||
materials: Array<{ materialId: string; quantity: number }>;
|
||||
}
|
||||
|
||||
interface VampireExploreStartRequest {
|
||||
areaId: string;
|
||||
}
|
||||
|
||||
interface VampireExploreStartResponse {
|
||||
areaId: string;
|
||||
endsAt: number;
|
||||
}
|
||||
|
||||
interface VampireExploreCollectRequest {
|
||||
areaId: string;
|
||||
}
|
||||
|
||||
interface VampireExploreCollectEventResult {
|
||||
text: string;
|
||||
bloodChange: number;
|
||||
ichorChange: number;
|
||||
materialGained: { materialId: string; quantity: number } | null;
|
||||
thrallLostCount: number;
|
||||
}
|
||||
|
||||
interface VampireExploreCollectResponse {
|
||||
foundNothing: boolean;
|
||||
nothingMessage?: string;
|
||||
materialsFound: Array<{ materialId: string; quantity: number }>;
|
||||
event: VampireExploreCollectEventResult | null;
|
||||
}
|
||||
|
||||
interface VampireExploreClaimableResponse {
|
||||
claimable: boolean;
|
||||
}
|
||||
|
||||
export type {
|
||||
AboutResponse,
|
||||
ApiError,
|
||||
ApotheosisRequest,
|
||||
ApotheosisResponse,
|
||||
AuthResponse,
|
||||
AwakeningRequest,
|
||||
AwakeningResponse,
|
||||
BossChallengeRequest,
|
||||
BossChallengeResponse,
|
||||
BuyAwakeningUpgradeRequest,
|
||||
BuyAwakeningUpgradeResponse,
|
||||
BuyConsecrationUpgradeRequest,
|
||||
BuyConsecrationUpgradeResponse,
|
||||
BuyEchoUpgradeRequest,
|
||||
@@ -772,6 +917,10 @@ export type {
|
||||
BuyGoddessUpgradeResponse,
|
||||
BuyPrestigeUpgradeRequest,
|
||||
BuyPrestigeUpgradeResponse,
|
||||
BuySiringUpgradeRequest,
|
||||
BuySiringUpgradeResponse,
|
||||
BuyVampireUpgradeRequest,
|
||||
BuyVampireUpgradeResponse,
|
||||
ConsecrationRequest,
|
||||
ConsecrationResponse,
|
||||
CraftRecipeRequest,
|
||||
@@ -806,9 +955,21 @@ export type {
|
||||
PublicProfileResponse,
|
||||
SaveRequest,
|
||||
SaveResponse,
|
||||
SiringRequest,
|
||||
SiringResponse,
|
||||
SyncNewContentResponse,
|
||||
TranscendenceRequest,
|
||||
TranscendenceResponse,
|
||||
UpdateProfileRequest,
|
||||
UpdateProfileResponse,
|
||||
VampireBossChallengeRequest,
|
||||
VampireBossChallengeResponse,
|
||||
VampireCraftRequest,
|
||||
VampireCraftResponse,
|
||||
VampireExploreClaimableResponse,
|
||||
VampireExploreCollectEventResult,
|
||||
VampireExploreCollectRequest,
|
||||
VampireExploreCollectResponse,
|
||||
VampireExploreStartRequest,
|
||||
VampireExploreStartResponse,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user