@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
147 lines • 4.31 kB
TypeScript
/**
* Emperor Calculator - Legion Ritual Sacrifice Optimization System
* Calculates optimal unit sacrifices for maximizing Emperor Projection power
*
* The Emperor ritual is Legion's ultimate ability - sacrifice thralls to summon
* a powerful Emperor Projection with scaling stats based on sacrificed supply.
*/
export interface SacrificeInput {
thralls: number;
steelsworn: number;
darkDisciples: number;
}
export interface SacrificeAnalysis {
totalUnits: number;
totalSupplyCalculated: number;
effectiveSupplyUsed: number;
wastedSupply: number;
maxEfficiency: boolean;
}
export interface ResourceCosts {
hexite: number;
flux: number;
totalValue: number;
}
export interface EmperorStats {
baseStats: {
hp: number;
damage: number;
};
finalStats: {
hp: number;
damage: number;
armor: number;
armorType: string;
range: number;
cooldown: number;
dps: number;
};
bonuses: {
hpGained: number;
damageGained: number;
};
}
export interface EfficiencyMetrics {
resourcesPerHp: number | "infinite";
resourcesPerDamage: number | "infinite";
powerLevel: number;
sacrificeRatio: {
thrallPercent: number;
steelswornPercent: number;
darkDisciplePercent: number;
};
}
export interface SacrificeRecommendations {
isOptimal: boolean;
canSacrificeMore: boolean;
isWasteful: boolean;
optimalMix: string;
economicalMix: string;
fluxEfficientMix: string;
}
export interface EmperorCalculationResult {
input: SacrificeInput;
sacrifice: SacrificeAnalysis;
costs: ResourceCosts;
emperor: EmperorStats;
efficiency: EfficiencyMetrics;
recommendations: SacrificeRecommendations;
}
export interface EmperorCalculationMetadata {
timestamp: string;
version: string;
inputUnits: SacrificeInput;
gameBalance: {
maxSacrifices: number;
hpPerSupply: number;
damagePerSupply: number;
emperorTier: string;
};
features: {
sacrificeCalculation: boolean;
costAnalysis: boolean;
efficiencyMetrics: boolean;
recommendations: boolean;
powerScaling: boolean;
};
success: boolean;
}
/**
* Emperor Calculator Class - Handles all sacrifice optimization logic
*/
export declare class EmperorCalculator {
private static readonly EMPEROR_MAX_SACRIFICES;
private static readonly HP_BONUS_PER_SUPPLY;
private static readonly DAMAGE_BONUS_PER_SUPPLY;
private static readonly EMPEROR_BASE_HP;
private static readonly EMPEROR_BASE_DAMAGE;
private static readonly EMPEROR_ARMOR;
private static readonly EMPEROR_RANGE;
private static readonly EMPEROR_COOLDOWN;
/**
* Get unit data from the entity system
*/
private static getUnitData;
/**
* Calculate Emperor ritual results with sacrifice optimization
*/
static calculateSacrifice(input: SacrificeInput): EmperorCalculationResult;
/**
* Generate optimal sacrifice combinations for different strategies
*/
static generateOptimalCombinations(): Array<{
strategy: string;
combination: SacrificeInput;
result: EmperorCalculationResult;
}>;
/**
* Calculate metadata for the Emperor calculation system
*/
static getCalculationMetadata(): EmperorCalculationMetadata;
}
export declare function calculateEmperorSacrifice(thralls?: number, steelsworn?: number, darkDisciples?: number): {
result: EmperorCalculationResult;
metadata: EmperorCalculationMetadata;
};
export declare const output: {
files: {
"api/emperor-calculator.json": {
renderer: {
indent: string;
};
value: {
example: {
result: EmperorCalculationResult;
metadata: EmperorCalculationMetadata;
};
strategies: {
strategy: string;
combination: SacrificeInput;
result: EmperorCalculationResult;
}[];
metadata: EmperorCalculationMetadata;
};
};
};
};
//# sourceMappingURL=emperor-calculator.d.ts.map