koishi-plugin-ggcevo-game
Version:
《星际争霸2》咕咕虫-evolved地图的专属游戏助手插件,集成天梯排行、抽奖系统、签到福利、兑换商城等丰富功能。
299 lines (298 loc) • 10.9 kB
TypeScript
import { Context } from 'koishi';
interface BattleStatistics {
name: string;
hpChange: number;
energyChange: number;
tagsAdded: string[];
tagsRemoved: string[];
skillsAdded: string[];
skillsRemoved: string[];
skillStacksChanged: number;
radiationLayersChange: number;
coldLayersChange: number;
lastWeaponName: string;
}
export declare const PassiveHandler: {
handleWeakForm: (targetBoss: any, buffMultiplier: number) => {
buffMultiplier: number;
messages: string[];
};
handleAlienShell: (targetBoss: any, nerfMultiplier: number) => {
nerfMultiplier: number;
messages: string[];
};
handleIsolated: (targetBoss: any, activeBosses: any[], buffMultiplier: number) => {
buffMultiplier: number;
messages: string[];
};
handleFrostRegeneration: (targetBoss: any, activeBosses: any[]) => {
updatedTargetStats?: BattleStatistics;
updatedOtherStats: BattleStatistics[];
messages: string[];
};
handleFrostAura: (targetBoss: any, activeBosses: any[]) => {
updatedTargetStats?: BattleStatistics;
messages: string[];
};
handleFrostEvolution: (targetBoss: any, weaponName: string, activeBosses: any[]) => {
isImmune: boolean;
messages: string[];
updatedStats?: BattleStatistics;
};
handleFrostSurround: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
updatedHP: number;
skillUpdates: ({
name: any;
add: string[];
} | {
name: any;
remove: string[];
add: string[];
})[];
messages: string[];
}>;
handleFrostRecovery: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number, activeBosses: any[], bossGroup: any) => Promise<{
updatedHP: number;
skillUpdates: {
name: any;
remove: string[];
}[];
messages: string[];
}>;
handleColdAdaptation: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
messages: string[];
}>;
handleColdAdaptationImmunity: (targetBoss: any, weaponName: string) => {
initialDamage: number;
messages: string[];
};
handleSurvivalInstinct: (targetBoss: any, currentHP: number, maxHP: number) => {
updatedHP: number;
messages: string[];
skillUpdates: {
name: any;
remove: string[];
}[];
};
handleInfectedStation: (ctx: Context, targetBoss: any) => Promise<{
damageMultiplier: number;
messages: string[];
}>;
handleMoldGrowth: (ctx: Context, targetBoss: any, bossGroup: any) => Promise<{
messages: string[];
}>;
handleSentryGun: (ctx: Context, targetBoss: any, bossGroup: any) => Promise<{
messages: string[];
}>;
handleStructuralArmor: (targetBoss: any, weaponData: any) => {
damageMultiplier: number;
messages: string[];
};
handleBloodEffects: (targetBoss: any, currentHP: number, maxHP: number) => {
buffAmount: number;
nerfAmount: number;
messages: string[];
};
handleBloodCount: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
updatedHP: number;
messages: string[];
}>;
handleGammaRadiation: (ctx: Context, targetBoss: any, weaponName: any) => Promise<{
messages: string[];
radiationApplied: boolean;
}>;
calculateRadiationDamage: (targetBoss: any) => {
damageMultiplier: number;
messages: any[];
};
handleColdEffect: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
messages: string[];
coldLayers: boolean;
}>;
calculateColdDamage: (targetBoss: any) => {
damageMultiplier: number;
messages: any[];
};
handleConductorTagChange: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
messages: string[];
}>;
handleEnergySiphon: (targetBoss: any, currentHP: number, maxHP: number) => {
damageMultiplier: number;
messages: string[];
};
handleEnergyShockwave: (ctx: Context, targetBoss: any) => Promise<{
messages: string[];
}>;
handlePowerSiphon: (targetBoss: any) => {
damageMultiplier: number;
messages: string[];
};
handleEnergyField: (ctx: Context, targetBoss: any, weaponName: string, initialDamage: number) => Promise<{
immune: boolean;
messages: string[];
}>;
getMemberConfig: (name: string, bossGroup: any) => any;
handlePulse: (ctx: Context, targetBoss: any, activeBosses: any[], bossGroup: any, currentHP: number) => Promise<{
newHP: number;
messages: string[];
}>;
handleArcWelderEffect: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
messages: string[];
arcApplied: boolean;
}>;
handleArcRifleEffect: (ctx: Context, targetBoss: any, weaponName: string, messages: string[]) => Promise<{
drainAmount: number;
}>;
handleGiantRage: (targetBoss: any, currentHP: number, maxHP: number) => {
damageMultiplier: number;
messages: string[];
};
handleBileStacking: (ctx: Context, targetBoss: any, skipStack: boolean) => Promise<{
messages: string[];
}>;
handleSolarFlare: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
immune: boolean;
messages: string[];
}>;
getMemberMaxHP: (name: string, bossGroup: any) => any;
handleCorrosiveBile: (ctx: Context, targetBoss: any, bossGroup: any, currentHP: number) => Promise<{
messages: string[];
currentHP: number;
}>;
handleFireBreath: (ctx: Context, targetBoss: any, bossGroup: any, currentHP: number) => Promise<{
messages: string[];
currentHP: number;
}>;
handleFireEvolution: (ctx: Context, targetBoss: any, weaponName: string, initialDamage: number, bossGroup: any) => Promise<{
updatedHP: number;
initialDamage: number;
messages: string[];
bileStacks: any;
}>;
handleBileIgnition: (ctx: Context, targetBoss: any, bossGroup: any, updatedHP: number) => Promise<{
messages: string[];
newHP: number;
bileStacks: any;
}>;
handleBurningBurrow: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
updatedHP: number;
messages: string[];
skillUpdates: {
name: any;
remove: string[];
}[];
}>;
handleHellfireBomb: (targetBoss: any, activeBosses: any[]) => {
damageMultiplier: number;
messages: string[];
};
handleHunterAlien: (targetBoss: any, weaponName: string, activeBosses: any[]) => Promise<{
immune: boolean;
messages: string[];
damageMultiplier?: undefined;
} | {
damageMultiplier: number;
messages: string[];
immune?: undefined;
}>;
handleRage: (targetBoss: any, currentHP: number, maxHP: number) => {
damageMultiplier: number;
messages: string[];
};
handleDisguise: (ctx: Context, targetBoss: any, weaponName: string, initialDamage: number) => Promise<{
damageMultiplier: number;
messages: string[];
}>;
handleCriticalHit: (targetBoss: any, initialDamage: number) => {
immune: boolean;
messages: string[];
};
handleCorrosionModule: (installedMods: string[]) => number;
handleParticlePhaseEffect: (targetBoss: any, weaponName: string) => number;
handleIgnoreReductionEffects: (ctx: Context, handle: string, weaponName: string, targetBoss: any, nerfMultiplier: number) => Promise<{
ignoreRate: number;
messages: any[];
}>;
handlePulseDisruptor: (ctx: Context, targetBoss: any, weaponName: string) => Promise<{
messages: string[];
pulseApplied: boolean;
}>;
handleStellarWind: (ctx: Context, targetBoss: any, initialDamage: number, currentHP: number, maxHP: number, activeBosses: any[], bossGroup: any) => Promise<{
messages: string[];
updatedHP: number;
}>;
handlePsychicFrenzy: (targetBoss: any, currentHP: number, maxHP: number) => {
damageMultiplier: number;
messages: string[];
};
handleCosmicEnergy: (ctx: Context, targetBoss: any, initialDamage: number, bossGroup: any) => Promise<{
messages: string[];
healAmount: number;
}>;
handleLightblade: (ctx: Context, targetBoss: any) => Promise<{
messages: string[];
}>;
handleAncientOmen: (ctx: Context, targetBoss: any) => Promise<{
immune: boolean;
messages: string[];
}>;
handleHyperspaceSkip: (targetBoss: any) => {
reduction: number;
increase: number;
messages: string[];
};
handleRevival: (ctx: Context, targetBoss: any, currentHP: number, maxHP: number) => Promise<{
updatedHP: number;
messages: string[];
}>;
handleConstructor: (ctx: Context, targetBoss: any) => Promise<{
messages: string[];
}>;
handleTyrsShield: (ctx: Context, targetBoss: any, currentHP: number, activeBosses: any[], bossGroup: any) => Promise<{
messages: string[];
updatedHP: number;
}>;
handleCollapsePulse: (ctx: Context, targetBoss: any) => Promise<{
messages: string[];
}>;
handleCarpetBombing: (ctx: Context, targetBoss: any) => Promise<{
messages: string[];
damageMultiplier: number;
}>;
handleBombardmentGuidance: (ctx: Context, targetBoss: any) => Promise<{
messages: string[];
}>;
handlePassives: (ctx: Context, handle: string, targetBoss: any, initialDamage: number, currentHP: number, maxHP: number, weaponName: string, weaponData: any, bossGroup: any) => Promise<{
currentHP: any;
messages: any;
skillUpdates: any[];
initialDamage: number;
bileStacks?: undefined;
radiationApplied?: undefined;
coldLayers?: undefined;
pulseApplied?: undefined;
arcApplied?: undefined;
} | {
currentHP: any;
messages: any;
skillUpdates: any[];
initialDamage: any;
bileStacks: any;
radiationApplied?: undefined;
coldLayers?: undefined;
pulseApplied?: undefined;
arcApplied?: undefined;
} | {
currentHP: number;
messages: string[];
skillUpdates: any[];
initialDamage: number;
radiationApplied: boolean;
coldLayers: boolean;
pulseApplied: boolean;
arcApplied: boolean;
bileStacks?: undefined;
}>;
applySkillUpdates: (ctx: Context, skillUpdates: any[]) => Promise<void>;
};
export {};