UNPKG

koishi-plugin-ggcevo-game

Version:

星际争霸2咕咕虫-evolved地图的专属游戏助手插件,集成天梯排行、抽奖系统、签到福利、兑换商城等丰富功能。

679 lines (678 loc) 22.5 kB
export interface BattleStatistics { name: string; hpChange: number; energyChange: number; armorChange: number; tagsAdded: string[]; tagsRemoved: string[]; skillsAdded: string[]; skillsRemoved: string[]; skillStacksChanged: number; skillStatusChanged: number; statusLayersChanged: number; radiationLayersChange: number; coldLayersChange: number; burnLayersChanged: number; lastWeaponName: string; } export declare const battleStatsMap: Record<string, BattleStatistics>; /** * 根据Boss名称获取其最大HP(maxHP) * @param bossName 要查询的Boss名称(支持主宰或子代) * @returns 对应Boss的maxHP(未找到时返回undefined) */ export declare function getMaxHPByName(bossName: string): number | undefined; /** * 根据Boss名称获取其最大能量(maxEnergy) * @param bossName 要查询的Boss名称(支持主宰或子代) * @returns 对应Boss的maxEnergy(未找到时返回undefined) */ export declare function getMaxEnergyByName(bossName: string): number | undefined; export declare function getMaxStacksByName(bossName: string): number | undefined; /** * 根据Boss名称获取其最大护盾值(maxShield) * @param bossName 要查询的Boss名称(支持主宰或子代) * @returns 对应Boss的maxShield(未找到时返回undefined) */ export declare function getMaxShieldByName(bossName: string): number | undefined; /** * 根据Boss名称获取其护甲值(armor) * @param bossName 要查询的Boss名称(支持主宰或子代) * @returns 对应Boss的armor值(未找到时返回undefined) */ export declare function getArmorByName(bossName: string): number | undefined; /** * 根据Boss名称获取其护盾护甲值(shieldArmor) * @param bossName 要查询的Boss名称(支持主宰或子代) * @returns 对应Boss的shieldArmor值(未找到时返回undefined) */ export declare function getShieldArmorByName(bossName: string): number | undefined; export declare const BattleEffectProcessor: { handleWeakForm: (targetBoss: any) => { buffMultiplier: number; messages: string[]; }; handleAlienShell: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleIsolated: (targetBoss: any, activeBosses: any[], tempMark: boolean) => { buffMultiplier: number; messages: string[]; }; handleFrostRegeneration: (targetBoss: any, activeBosses: any[], maxStatsForTarget: any) => { messages: string[]; targetUpdates?: { name: string; updates: Partial<BattleStatistics>; }; otherUpdates: Array<{ name: string; updates: Partial<BattleStatistics>; }>; } | null; handleFrostAura: (targetBoss: any, activeBosses: any[]) => { messages: string[]; targetUpdates?: { name: string; updates: Partial<BattleStatistics>; }; otherUpdates: Array<{ name: string; updates: Partial<BattleStatistics>; }>; } | null; handleFrostEvolution: (targetBoss: any, weaponName: string, damage: number) => { isImmune: boolean; immuneCold: boolean; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleFrostHell: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleStressShellI: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleStressShellII: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleSurvivalInstinctI: (targetBoss: any, damageAmount: number) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleSurvivalInstinctII: (targetBoss: any, damageAmount: number) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleColdAdaptation: (targetBoss: any, weaponName: string) => { isImmune: boolean; immuneCold: boolean; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleInfectedSpaceStation: (targetBoss: any, activeBosses: any[]) => { nerfMultiplier: number; messages: string[]; }; handleVirusCloud: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleMoldGrowth: (targetBoss: any, activeBosses: any[]) => { messages: string[]; otherUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleSentryGun: (targetBoss: any, activeBosses: any[]) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; otherUpdates: Array<{ name: string; updates: Partial<BattleStatistics>; }>; } | null; handleStructuralArmor: (targetBoss: any, weaponData: any) => { nerfMultiplier: number; messages: string[]; }; handleVampireSaliva: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleFeeding: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleBloodlust: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleVomit: (targetBoss: any) => { buffMultiplier: number; messages: string[]; }; handleSuperconductor: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleEnergySiphon: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleEnergyAbsorption: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleElectricField: (targetBoss: any, weaponData: any) => { isImmune: boolean; messages: string[]; }; handleElectricShockwave: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handlePulse: (targetBoss: any, activeBosses: any[]) => { messages: string[]; otherUpdates: Array<{ name: string; updates: Partial<BattleStatistics>; }>; } | null; handleEnergyBlackhole: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleFlameAlien: (targetBoss: any, weaponName: string, damage: number) => { isImmune: boolean; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleColossalRampage: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleBurningSlime: (targetBoss: any, weaponName: string) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; isHighStackHeal: boolean; } | null; handleCorrosiveBile: (targetBoss: any, activeBosses: any[], isHighStackHeal?: boolean) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; otherUpdates: Array<{ name: string; updates: Partial<BattleStatistics>; }>; } | null; handleFlameBreath: (targetBoss: any, activeBosses: any[], isHighStackHeal?: boolean) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; otherUpdates: Array<{ name: string; updates: Partial<BattleStatistics>; }>; } | null; handleSolarFlare: (targetBoss: any, weaponName: string, activeBosses: any[]) => { isImmune: boolean; immuneCold: boolean; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; tempMark: boolean; } | null; handleBurningBurrow: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleInfernalBomb: (targetBoss: any, activeBosses: any[]) => { nerfMultiplier: number; messages: string[]; }; handleHunterAlien: (targetBoss: any, activeBosses: any[], weaponName: string) => { buffMultiplier: number; nerfMultiplier: number; isImmune: boolean; immuneCold: boolean; immuneFire: boolean; messages: string[]; }; handleRampage: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; }; handleDisguise: (targetBoss: any, weaponName: string) => { nerfMultiplier: number; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleDeadlyHit: (targetBoss: any) => { isImmune: boolean; messages: string[]; }; /** 星界之风处理(概率群体回复)- 修正版 */ handleAstralWind: (targetBoss: any, activeBosses: any[], doubleChance: boolean) => { messages: string[]; otherUpdates: Array<{ name: string; updates: Partial<BattleStatistics>; }>; } | null; /** 心灵狂热处理(低生命减伤和概率强化)- 修正版 */ handleMindFrenzy: (targetBoss: any) => { nerfMultiplier: number; doubleAstralWind: boolean; messages: string[]; }; handleCosmicEnergy: (targetBoss: any, damage: number) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleRevival: (targetBoss: any, damageAmount: number) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; /** 光影之刃处理(层数叠加) */ handleBladeOfLight: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; /** 远古预兆处理(概率免疫能量伤害)- 增加boost参数 */ handleAncientOmen: (targetBoss: any, weaponData: any) => { isImmune: boolean; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; /** 超视距穿梭处理(层数相关伤害调整) */ handleHyperRangeShift: (targetBoss: any) => { nerfMultiplier: number; buffMultiplier: number; messages: string[]; }; /** 灵能构造炉处理(随机获得技能)- 增加boost参数 */ handlePsychicForge: (targetBoss: any) => { messages: string[]; newSkill: string | null; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleOverdriveShield: (targetBoss: any, activeBosses: any[]) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; otherUpdates: Array<{ name: string; updates: Partial<BattleStatistics>; }>; } | null; /** 塌缩脉冲处理(额外叠加层数) */ handleCollapsingPulse: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; /** 地毯式轰炸处理 */ handleCarpetBombing: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; tempMark: boolean; }; handleBombardmentGuide: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleRadiationEffect: (targetBoss: any, weaponName: string, equippedWeapon: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; armorReduction: number; layerAdded: boolean; } | null; handleColdEffect: (targetBoss: any, weaponName: string, equippedWeapon: any, isImmuneCold: boolean) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; buffMultiplier: number; layerAdded: boolean; } | null; handleWeaponEnergyDrain: (targetBoss: any, weaponName: string, maxStatsForTarget: any, equippedWeapon: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; success: boolean; drainFactor: number; } | null; handleWeaponLayerReduction: (targetBoss: any, weaponName: string, maxStatsForTarget: any, equippedWeapon: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; reductionSuccess: boolean; reductionAmount: number; } | null; handleToxicSaliva: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; /** * 剧毒狂暴处理(低生命额外减伤和叠层) * 效果:生命值≤50%时,受击额外获得1层「毒性唾液」且受到的伤害降低 */ handleToxicFrenzy: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; /** * 毒气波处理(概率获得多层层数) * 效果:受击时有20%概率额外获得5层「毒性唾液」 */ handleToxicGasWave: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; /** * 淬毒撕咬处理(层数治疗效果) * 效果:根据毒性唾液层数,在受击时回复生命值 */ handlePoisonedBite: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; /** * 酸蚀池处理(循环抗性) * 效果:受击时按顺序循环选择三种酸池(1->2->3->1),提供特定武器类型减伤和增伤 */ handleAcidPool: (targetBoss: any, weaponData: any, enhanced: boolean) => { nerfMultiplier: number; buffMultiplier: number; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; }; /** * 剧毒突袭处理 * 效果:毒性唾液≥20层时,消耗所有层数并使强化下5次触发的「酸蚀池」 */ handleToxicAssault: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleHiveMind: (targetBoss: any, activeBosses: any[], nestlingNames?: string[]) => { buffMultiplier: number; messages: string[]; nerfMultiplier?: undefined; } | { nerfMultiplier: number; messages: string[]; buffMultiplier?: undefined; }; handleBurrowAmbush: (targetBoss: any, activeBosses: any[], nestlingNames?: string[]) => { messages: string[]; targetUpdates: { name: any; updates: { skillsRemoved: string[]; }; }; spawnNewBossMark?: undefined; } | { messages: string[]; targetUpdates: { name: any; updates: { skillsRemoved: string[]; }; }; spawnNewBossMark: string[]; }; handleWeakeningSpit: (targetBoss: any, activeBosses: any[]) => any; handleHealingSwarm: (targetBoss: any, activeBosses: any[]) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; }; otherUpdates: Array<{ name: string; updates: Partial<BattleStatistics>; }>; } | null; handleReleasePheromones: (targetBoss: any) => { messages: string[]; nerfMultiplier: number; }; handleTerrifyingScreech: (targetBoss: any, activeBosses: any[], nestlingNames?: string[]) => { targetUpdates: Partial<BattleStatistics>; messages: string[]; spawnNewBossMark?: undefined; } | { targetUpdates: Partial<BattleStatistics>; messages: string[]; spawnNewBossMark: string; }; handleHatching: (targetBoss: any, activeBosses: any[], nestlingNames?: string[]) => { targetUpdates: { name: any; updates: { statusLayersChanged: number; }; }; messages: string[]; spawnNewBossMark?: undefined; } | { targetUpdates: { name: any; updates: { statusLayersChanged: number; }; }; messages: string[]; spawnNewBossMark: string; }; handlePulseRifleEffect: (weaponName: string, targetBoss: any, equippedWeapon: any) => { pulseGrenadeTriggered: boolean; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; messages: string[]; }; handleFusionCannonEffect: (weaponName: string, equippedWeapon: any) => { fusionExplosionTriggered: boolean; messages: string[]; }; handleBurnEffect: (targetBoss: any, weaponName: string, equippedWeapon: any, isImmuneFire: boolean) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; burnLayerAdded: boolean; } | null; handleGeneMutation: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; tempMark: boolean; } | null; handleRedundancyOptimization: (targetBoss: any, weaponName: string) => { isImmune: boolean; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleEnvironmentalAdaptation: (targetBoss: any, weaponName: string) => { isImmune: boolean; immuneCold: boolean; immuneFire: boolean; messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleAcceleratedDifferentiation: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleEnduranceEnhancement: (targetBoss: any) => { messages: string[]; nerfMultiplier: number; } | null; handleThickenedCarapace: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; } | null; handleAcceleratedMetabolism: (targetBoss: any) => { messages: string[]; targetUpdates: { name: string; updates: Partial<BattleStatistics>; } | null; } | null; handleBiologicalSignatureImitation: (targetBoss: any) => { isImmune: boolean; messages: string[]; } | null; handleShiveringHowl: (targetBoss: any) => { nerfMultiplier: number; messages: string[]; } | null; handleDragonBreathResistance: (targetBoss: any, weaponName: string) => { nerfMultiplier: number; messages: string[]; } | null; }; /** * 统一处理所有被动效果(包含伤害修正、免疫检查、状态更新等) * @param targetBoss 当前被攻击的Boss对象 * @param weaponName 使用的武器名称 * @param damage 武器造成的原始伤害值 * @param activeBosses 当前所有活跃Boss列表 * @returns 包含最终伤害值和所有效果消息的对象 */ export declare function applyPassiveEffects(targetBoss: any, activeBosses: any[], weaponName: string, damage: number, hasCrit: boolean, ignoreRate: number, careerData: any, equippedWeapon: any): { finalDamage: number; messages: string[]; radiationLayerAdded: boolean; coldLayerAdded: boolean; energyDrained: boolean; layerReduced: boolean; bileDetonationTrigger: boolean; spawnNewBossMarks: string[]; pulseGrenadeTriggered: boolean; burnLayerAdded: boolean; drainFactor: number; reductionAmount: number; };