UNPKG

koishi-plugin-ggcevo-game

Version:

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

2,137 lines (2,129 loc) 440 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __export = (target, all) => { for (var name2 in all) __defProp(target, name2, { get: all[name2], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { Config: () => Config, apply: () => apply, inject: () => inject, name: () => name }); module.exports = __toCommonJS(src_exports); var import_koishi = require("koishi"); var import_koishi_plugin_sc2arcade_search = require("koishi-plugin-sc2arcade-search"); // src/weapons.ts var weaponConfig = { // 武器配置 "高斯步枪": { id: 1, type: "实弹武器", category: "实弹武器", level: 1, damage: 13, armorDamageReduction: 1, // 每点护甲减伤1点伤害 description: "标准配置武器,中距离作战利器", specialeffect: "", price: 100, redCrystalCost: 1, isantiair: true, tagEffects: { "轻甲": 1.5 // 对轻甲目标造成150%伤害 } }, "激光步枪": { id: 2, type: "能量武器", category: "能量武器", level: 1, damage: 23, armorDamageReduction: 0, description: "先进激光武器,远距离精准打击", specialeffect: "", price: 300, redCrystalCost: 3, isantiair: true, tagEffects: { "重甲": 1.5 } }, "焚烧枪": { id: 3, type: "热能武器", category: "热能武器", level: 1, damage: 23, armorDamageReduction: 0.25, description: "基于热能的强大武器,烧烬一切", specialeffect: "攻击时为目标附加1层[燃烧]效果,每层使目标受到火焰伤害时额外造成1点伤害(至多额外造成100点伤害)", price: 450, redCrystalCost: 4, isantiair: false, tagEffects: { "惧热": 1.5, "生物": 1.2, "护盾": 0.5 } }, "碎骨步枪": { id: 4, type: "能量武器", category: "能量武器", level: 2, damage: 28, armorDamageReduction: 0, description: "由激光步枪改良而来,高效的对重甲武器", specialeffect: "", price: 850, redCrystalCost: 8, isantiair: true, tagEffects: { "重甲": 1.75 } }, "等离子切割机": { id: 5, type: "实弹武器", category: "实弹武器", level: 1, damage: 16, armorDamageReduction: 1, description: "一种改造后的采矿切割机,有效对抗重甲目标", specialeffect: "", price: 150, redCrystalCost: 1, isantiair: true, tagEffects: { "建筑": 2, "重甲": 1.5, "机械": 1.2 } }, "突击霰弹枪": { id: 6, type: "实弹武器", category: "实弹武器", level: 1, damage: 48, armorDamageReduction: 4, description: "近距离攻击武器,专为遭遇战设计使用", specialeffect: "", price: 325, redCrystalCost: 3, isantiair: false, tagEffects: { "轻甲": 1.5 } }, "侦察步枪": { id: 7, type: "实弹武器", category: "实弹武器", level: 2, damage: 60, armorDamageReduction: 3, description: "用于隐秘射击的最佳武器,但是无法穿透护甲", specialeffect: "", price: 550, redCrystalCost: 5, isantiair: true, tagEffects: {} }, "零度之下": { id: 8, type: "热能武器", category: "热能武器", level: 2, damage: 25, armorDamageReduction: 1, description: "喷射稳定的液氮恒流,对长时间接触者造成致命的损伤", specialeffect: "攻击时为目标附加[寒冷]效果,每层使目标受到的伤害提高1%(最多提高100%)", price: 775, redCrystalCost: 7, isantiair: false, tagEffects: { "惧寒": 1.5, "灵能": 1.2, "护盾": 0.5 } }, "弧焊枪": { id: 9, type: "能量武器", category: "能量武器", level: 2, damage: 24, armorDamageReduction: 0.5, description: "一种经过改造的电动工具,可对近距离的目标放出高压电", specialeffect: "每次攻击消耗目标200点能量值", price: 750, redCrystalCost: 7, isantiair: true, tagEffects: { "机械": 2, "建筑": 1.5 } }, "伽马枪": { id: 10, type: "热能武器", category: "热能武器", level: 2, damage: 27, armorDamageReduction: 0.75, description: "一种高度危险性的武器,设计用辐射照射并伤害敌人", specialeffect: "攻击无[机械]标签的[生物]目标时附加[辐射]效果,每层使目标的护甲值减少0.05", price: 825, redCrystalCost: 8, isantiair: true, tagEffects: { "生物": 1.2, "机械": 0.2 } }, "中子步枪": { id: 11, type: "能量武器", category: "能量武器", level: 3, damage: 27, armorDamageReduction: 0, description: "激光步枪的变种,采用折射技术升级", specialeffect: "攻击触发散射,对次要目标造成120%基础伤害", price: 1450, redCrystalCost: 14, isantiair: true, tagEffects: { "灵能": 1.2 } }, "粒子相位枪": { id: 12, type: "能量武器", category: "能量武器", level: 3, damage: 29, armorDamageReduction: 0.75, description: "面对护盾目标而开发的武器", specialeffect: "对[护盾]目标无视50%伤害减免", price: 1050, redCrystalCost: 10, isantiair: true, tagEffects: { "护盾": 1.75 } }, "动力钻头": { id: 13, type: "实弹武器", category: "实弹武器", level: 3, damage: 32, armorDamageReduction: 0.5, description: "这种强大的钻头是由那些想把矿工SCV上的大螺丝用作武器的人创造的", specialeffect: "", price: 1e3, redCrystalCost: 10, isantiair: true, tagEffects: { "建筑": 2, "重甲": 1.5, "机械": 1.2 } }, "脉冲扰乱枪": { id: 14, type: "能量武器", category: "能量武器", level: 3, damage: 36, armorDamageReduction: 1, description: "一种原型能量武器,能够发射强大的脉冲", specialeffect: "攻击减少目标2层技能层数", price: 1500, redCrystalCost: 15, isantiair: true, tagEffects: {} }, "MK79榴弹发射器": { id: 15, type: "热能武器", category: "热能武器", level: 4, damage: 60, armorDamageReduction: 0.5, description: "发射非常坚固的专属榴弹,对具有坚固防御的目标几乎没有效果", specialeffect: "", price: 2e3, redCrystalCost: 20, isantiair: true, tagEffects: { "重甲": 1.5, "轻甲": 0.8, "护盾": 0.8 } }, "EC13电浆步枪": { id: 16, type: "能量武器", category: "能量武器", level: 4, damage: 64, armorDamageReduction: 4, description: "用于解决高生命值目标的次时代武器,擅长对付护盾耗尽或没有护甲的敌人", specialeffect: "", price: 1750, redCrystalCost: 17, isantiair: true, tagEffects: { "生物": 1.2, "护盾": 0.5 } }, "聚变磁轨枪": { id: 17, type: "能量武器", category: "能量武器", level: 4, damage: 60, armorDamageReduction: 0, description: "一种实验性的超级武器,能造成巨大的伤害", specialeffect: "", price: 1550, redCrystalCost: 15, isantiair: true, tagEffects: {} }, "M134轮转机枪": { id: 18, type: "实弹武器", category: "实弹武器", level: 5, damage: 70, armorDamageReduction: 0.1, description: "二十一世纪的武器,经过修改以减少后坐力并提高远程精度", specialeffect: "连续攻击叠加[横冲直撞]效果,每层提高2.5%伤害(至多提高50%伤害)", price: 2e3, redCrystalCost: 20, isantiair: true, tagEffects: { "轻甲": 1.5 } }, "星灼灵焰炮": { id: 19, type: "能量武器", category: "能量武器", level: 5, damage: 35, armorDamageReduction: 1, description: "这是在一位高级灵能者的帮助下,解析灵能力量制作出的高科技武器", specialeffect: "", price: 1550, redCrystalCost: 15, isantiair: true, tagEffects: { "机械": 2, "建筑": 2, "异形": 2 } }, "外星电浆": { id: 101, type: "能量武器", category: "传奇武器", level: 6, damage: 88, armorDamageReduction: 3, description: "一件传奇武器", specialeffect: "", price: 6400, redCrystalCost: 200, isantiair: true, tagEffects: { "生物": 1.75, "护盾": 0.5 } }, "MK-4激光步枪": { id: 102, type: "能量武器", category: "传奇武器", level: 6, damage: 80, armorDamageReduction: -1, description: "一件传奇武器", specialeffect: "暴击率提高25%;连续3次未暴击时,下次攻击必定暴击", price: 6400, redCrystalCost: 200, isantiair: true, tagEffects: { "重甲": 1.5 } }, "龙息霰弹枪": { id: 103, type: "实弹武器", category: "传奇武器", level: 6, damage: 90, armorDamageReduction: 0, description: "这是传说中的武器", specialeffect: "造成的20%伤害转化为火焰伤害;攻击时为目标附加2层[燃烧]效果,每层使目标受到火焰伤害时额外造成1点伤害(至多额外造成100点伤害)", price: 6400, redCrystalCost: 200, isantiair: false, tagEffects: { "惧热": 2, "轻甲": 1.5, "生物": 1.2 } }, "DSR-55反器材步枪": { id: 104, type: "实弹武器", category: "传奇武器", level: 6, damage: 125, armorDamageReduction: -2, description: "一件传奇武器", specialeffect: "", price: 6400, redCrystalCost: 200, isantiair: true, tagEffects: { "重甲": 1.2 } }, "光剑": { id: 105, type: "能量武器", category: "传奇武器", level: 6, damage: 100, armorDamageReduction: 0, description: "优雅而独特的武器", specialeffect: "无视目标100%伤害减免", price: 6400, redCrystalCost: 200, isantiair: false, tagEffects: {} }, "DG-3电弧步枪": { id: 106, type: "能量武器", category: "传奇武器", level: 6, damage: 100, armorDamageReduction: 1, description: "一件传奇武器", specialeffect: "攻击触发散射,对次要目标造成50%基础伤害;每次攻击消耗目标500点能量值", price: 6400, redCrystalCost: 200, isantiair: true, tagEffects: { "机械": 1.5 } }, "M4AE脉冲步枪": { id: 107, type: "能量武器", category: "传奇武器", level: 6, damage: 80, armorDamageReduction: 0, description: "一件传奇武器", specialeffect: "无法暴击;无视50%伤害减免;每次攻击削减目标0.2护甲值;每次攻击时有33%的概率发射脉冲榴弹,额外造成50%伤害", price: 6400, redCrystalCost: 200, isantiair: true, tagEffects: { "重甲": 1.2 } }, "核聚变重炮": { id: 108, type: "能量武器", category: "传奇武器", level: 6, damage: 90, armorDamageReduction: 0, description: "一件传奇武器", specialeffect: "无法暴击;每次攻击时有20%的概率造成核爆,额外造成50%的伤害", price: 6400, redCrystalCost: 200, isantiair: true, tagEffects: { "建筑": 2, "重型": 1.5, "重甲": 1.2 } } }; var modConfig = { "动能增幅": { cost: 1750, effect: "伤害提高15%", // 规范术语 exclusiveTo: "", isExclusive: false, recyclable: true }, "棱镜水晶": { cost: 2050, effect: "暴击率提升10%", // 保持原描述 exclusiveTo: "", isExclusive: false, recyclable: true }, "破甲模块": { cost: 1250, effect: "无视目标10%伤害减免", // 术语统一 exclusiveTo: "", isExclusive: false, recyclable: true }, // 专属模组修改 "裂甲核心": { cost: 750, effect: "伤害提高40%,无视目标40%伤害减免", exclusiveTo: "高斯步枪", isExclusive: true, recyclable: false }, "棱镜超载核心": { cost: 2250, effect: "暴击率提升20%;连续4次未暴击时,下次攻击必定暴击", exclusiveTo: "激光步枪", isExclusive: true, recyclable: false }, "助燃核心": { cost: 2550, effect: "对[惧热]目标改为造成300%伤害,对[生物]目标改为造成200%伤害;攻击时每1点护甲改为增加0.5点伤害;双倍叠加[燃烧]层数", exclusiveTo: "焚烧枪", isExclusive: true, recyclable: false }, "光束曲射晶片": { cost: 2750, effect: "攻击触发散射,对次要目标造成100%基础伤害", exclusiveTo: "碎骨步枪", isExclusive: true, recyclable: false }, "金刚石瞄准镜": { cost: 2250, effect: "无视目标20%伤害减免", exclusiveTo: "侦察步枪", isExclusive: true, recyclable: false }, "微型聚变核心": { cost: 2750, effect: "连续攻击叠加[聚变]效果,每层提高10%伤害(最多6层)", exclusiveTo: "聚变磁轨枪", isExclusive: true, recyclable: false }, "辐射充能核心": { cost: 1750, effect: "双倍叠加[辐射]层数,对[生物]目标改为造成150%伤害", exclusiveTo: "伽马枪", isExclusive: true, recyclable: false }, "等离子轴承": { cost: 3e3, effect: "每层[横冲直撞]提供双倍伤害", exclusiveTo: "M134轮转机枪", isExclusive: true, recyclable: false }, "脉冲稳定核心": { cost: 2500, effect: "攻击减少目标双倍技能层数", exclusiveTo: "脉冲扰乱枪", isExclusive: true, recyclable: false }, "高压电池": { cost: 2250, effect: "攻击消耗目标双倍能量值", exclusiveTo: "弧焊枪", isExclusive: true, recyclable: false }, "氮气压缩核心": { cost: 2e3, effect: "双倍叠加[寒冷]层数;攻击时每1点护甲改为减少0点伤害", exclusiveTo: "零度之下", isExclusive: true, recyclable: false }, "轻型电源节点": { cost: 1250, effect: "伤害提高40%;攻击时每1点护甲改为减少0点伤害", exclusiveTo: "等离子切割机", isExclusive: true, recyclable: false }, "强力钻刺核心": { cost: 1750, effect: "攻击时每1点护甲改为减少0.2点伤害;每次攻击削减目标0.1护甲值", exclusiveTo: "动力钻头", isExclusive: true, recyclable: false } }; // src/items.ts var SyndicatedItems = { "E-2能量炸弹": { id: 1001, type: "爆破物", description: "一种小型的机械装置,用于吸收空间站能量并进行爆破", price: 0, redCrystalCost: 60, condition: "仅限辛迪加海盗阵营使用", effects: "下一次攻击对建筑目标造成1000%的伤害" }, "闪光弹": { id: 1002, type: "手榴弹", description: "非致命军用炸药", price: 75, redCrystalCost: 0, condition: "无法对建筑目标,重型目标或具有免疫闪光技能的目标使用", effects: "使目标的技能层数减少10层" }, "CRED-17": { id: 1003, type: "设备工具", description: "一个小型辛迪加机器人,可以破坏电子银行账户", price: 0, redCrystalCost: 50, condition: "仅限辛迪加海盗阵营使用", effects: "每日签到金币奖励+50%" }, "脉冲手雷": { id: 1004, type: "手榴弹", description: "电磁脉冲干扰机械目标和灵能目标", price: 75, redCrystalCost: 0, condition: "无法对没有能量的目标使用", effects: "消耗目标500点能量" }, "MP3播放器": { id: 1005, type: "设备工具", description: "这是一款未来派音乐设备", price: 0, redCrystalCost: 30, condition: "仅限辛迪加海盗阵营使用", effects: "PK失败时损失的金币数-50%" }, "雷达面罩": { id: 1006, type: "设备工具", description: "一个复杂的雷达面罩,用于远距离侦察或探测隐藏单位", price: 0, redCrystalCost: 30, condition: "仅限辛迪加海盗阵营使用", effects: '无视目标的[隐身]效果;使用"侦察步枪"攻击时额外造成5%的伤害' }, "气喇叭": { id: 1007, type: "设备工具", description: "气喇叭一直被用于展示纯粹的勇气", price: 0, redCrystalCost: 40, condition: "仅限辛迪加海盗阵营使用", effects: "PK胜利时额外获得从对手掠夺的等额金币数量" }, "自动采掘机器人": { id: 1008, type: "设备工具", description: "建造机器人,用于自动采集太空矿物", price: 0, redCrystalCost: 50, condition: "仅限辛迪加海盗阵营使用", effects: "挖矿的金币收益+50%" }, "莫洛托夫燃烧弹": { id: 1009, type: "手榴弹", description: "一种轻型手榴弹,含有易燃物质", price: 0, redCrystalCost: 0, condition: "无法对免疫燃烧的目标和空中目标使用", effects: "使目标的燃烧层数增加5层" }, "铝热炸弹": { id: 1010, type: "爆破物", description: "铝热炸弹能够轻易破坏安全门", price: 0, redCrystalCost: 0, condition: "无法对空中目标使用", effects: "对目标造成100伤害;对建筑目标造成3倍伤害" } }; var initDefaultItems = { "咕咕币": { id: 1, type: "抽奖道具", description: "用于进行抽奖" }, "兑换券": { id: 2, type: "兑换货币", description: "用于兑换赞助物品" }, "扭蛋币": { id: 3, type: "抽奖道具", description: "用于进行宠物扭蛋" }, "t3级宠物扭蛋": { id: 4, type: "宠物蛋", description: "用于兑换t3系列宠物" }, "t2级宠物扭蛋": { id: 5, type: "宠物蛋", description: "用于兑换t2系列宠物" }, "t1级宠物扭蛋": { id: 6, type: "宠物蛋", description: "用于兑换t1系列宠物" }, "t0级宠物扭蛋": { id: 7, type: "宠物蛋", description: "用于兑换t0系列宠物" }, "资源兑换券": { id: 8, type: "兑换货币", description: "用于兑换咕咕之战资源" }, "🥇先行者赛季冠军勋章": { id: 101, type: "勋章", description: "" }, "🥈先行者赛季亚军勋章": { id: 102, type: "勋章", description: "" }, "🥉先行者赛季季军勋章": { id: 103, type: "勋章", description: "" }, "🏅先行者赛季前十勋章": { id: 104, type: "勋章", description: "" }, "🎖先行者赛季前二十勋章": { id: 105, type: "勋章", description: "" }, "🥇S1赛季冠军勋章": { id: 106, type: "勋章", description: "" }, "🥈S1赛季亚军勋章": { id: 107, type: "勋章", description: "" }, "🥉S1赛季季军勋章": { id: 108, type: "勋章", description: "" }, "🏅S1赛季前十勋章": { id: 109, type: "勋章", description: "" }, "🎖S1赛季前二十勋章": { id: 110, type: "勋章", description: "" }, "🥇S2赛季冠军勋章": { id: 111, type: "勋章", description: "" }, "🥈S2赛季亚军勋章": { id: 112, type: "勋章", description: "" }, "🥉S2赛季季军勋章": { id: 113, type: "勋章", description: "" }, "🏅S2赛季前十勋章": { id: 114, type: "勋章", description: "" }, "🎖S2赛季前二十勋章": { id: 115, type: "勋章", description: "" }, "🥇S3赛季冠军勋章": { id: 116, type: "勋章", description: "" }, "🥈S3赛季亚军勋章": { id: 117, type: "勋章", description: "" }, "🥉S3赛季季军勋章": { id: 118, type: "勋章", description: "" }, "🏅S3赛季前十勋章": { id: 119, type: "勋章", description: "" }, "🎖S3赛季前二十勋章": { id: 120, type: "勋章", description: "" } }; var itemConfig = { "拾荒者": { quality: "t3", type: "皮肤", cost: 3, quantity: 8, isLimited: false }, "劳工": { quality: "t3", type: "皮肤", cost: 3, quantity: 8, isLimited: false }, "老兵": { quality: "t2", type: "皮肤", cost: 4, quantity: 5, isLimited: false }, "合成人": { quality: "t2", type: "皮肤", cost: 4, quantity: 5, isLimited: false }, "阿斯塔特": { quality: "t1", type: "皮肤", cost: 5, quantity: 4, isLimited: false }, "皇家指挥官": { quality: "t1", type: "皮肤", cost: 5, quantity: 4, isLimited: false }, "个性开场白": { quality: "t1", type: "入场特效", cost: 5, quantity: 4, isLimited: false }, "史蒂夫": { quality: "t0", type: "皮肤", cost: 6, quantity: 1, isLimited: true }, "ep4": { quality: "t0", type: "物品", cost: 6, quantity: 3, isLimited: false }, "小狗": { quality: "t3", type: "宠物", cost: 3, quantity: 6, isLimited: false }, "小猫": { quality: "t3", type: "宠物", cost: 3, quantity: 6, isLimited: false }, "小黄鸭": { quality: "t3", type: "宠物", cost: 3, quantity: 6, isLimited: false }, "萌萌熊": { quality: "t2", type: "宠物", cost: 4, quantity: 5, isLimited: false }, "荆棘蜥蜴": { quality: "t2", type: "宠物", cost: 4, quantity: 5, isLimited: false }, "萌宠小狗": { quality: "t1", type: "宠物", cost: 5, quantity: 3, isLimited: false }, "熔岩虫": { quality: "t1", type: "宠物", cost: 5, quantity: 3, isLimited: false }, "尸甲虫": { quality: "t1", type: "宠物", cost: 5, quantity: 3, isLimited: false }, "绿毛虫": { quality: "t0", type: "宠物", cost: 6, quantity: 2, isLimited: false }, "妙蛙种子": { quality: "t0", type: "宠物", cost: 6, quantity: 2, isLimited: false }, "皮卡丘": { quality: "t0", type: "宠物", cost: 6, quantity: 2, isLimited: false }, "哆啦A梦": { quality: "t0", type: "宠物", cost: 6, quantity: 2, isLimited: false } }; // src/careers.ts var spaceStationCrewConfig = [ { professionName: "深空矿工", effect: "挖矿的金币收益提高50%", costcoins: 2e3 }, { professionName: "警卫员下士", effect: "HP上限增加50点;攻击获得的金币+25%", costcoins: 2e3 }, { professionName: "警卫长", effect: "HP上限增加25点;攻击伤害+5%;攻击获得的金币+25%", costcoins: 3e3 }, { professionName: "武器中士", effect: "攻击伤害+15%;购买任意武器享有25%的折扣", costcoins: 3e3 }, { professionName: "医疗专家", effect: "", costcoins: 2e3 }, { professionName: "情报副官", effect: "升级空间站科技享有10%的折扣", costcoins: 3e3 }, { professionName: "总工程师", effect: "探索获得的金币收益提高50%;探索的成功率提高10%", costcoins: 2e3 }, { professionName: "舰长", effect: "完成任务奖励+50%", costcoins: 2e3 }, { professionName: "机械化专家", effect: "机甲形态攻击伤害+50%", costcoins: 3e3 } ]; var syndicatePirateConfig = [ { professionName: "能量武器专家", effect: "能量武器攻击伤害+20%", costredcrystal: 30 }, { professionName: "清洁工", effect: "每次攻击额外获得1枚红晶", costredcrystal: 20 }, { professionName: "枪手", effect: "武器等级上限为7级; 升级武器享有10%的折扣", costredcrystal: 40 }, { professionName: "猩红杀手", effect: "“侦察步枪”攻击伤害+15%; 使用“侦察步枪”攻击时每1点护甲改为减少0点伤害", costredcrystal: 30 }, { professionName: "纵火狂", effect: "热能武器攻击伤害+20%; 探索获得莫洛托夫燃烧弹的概率提高20%并且有10%的概率额外获得1个;使用莫洛托夫燃烧弹的效果提高100%", costredcrystal: 30 }, { professionName: "辛迪加财务经理", effect: "每日签到额外获得3枚红晶", costredcrystal: 20 }, { professionName: "计算机专家", effect: "黑市订购设备工具类享有50%折扣;PK时的胜率+10%", costredcrystal: 20 }, { professionName: "指挥官", effect: "", costredcrystal: 30 }, { professionName: "装甲兵", effect: "", costredcrystal: 40 }, { professionName: "破坏者", effect: "黑市订购爆破物类享有50%折扣;探索获得爆破物的概率提高20%并且有10%的概率额外获得1个;使用爆破物的效果提高50%", costredcrystal: 30 }, { professionName: "征募官", effect: "", costredcrystal: 20 } ]; // src/technology.ts var Spacestationtechnology = [ { techId: 1, techname: "采掘系统", careerNames: ["深空矿工", "情报副官"], // 新增职业名称字段 maxLevel: 5, levels: [ { level: 1, cost: 500, description: "提高挖矿效率,获得的收益提高10%", careerBonus: "挖矿的收益额外提高10%" }, { level: 2, cost: 1750, description: "提高挖矿效率,获得的收益提高20%", careerBonus: "挖矿的收益额外提高20%" }, { level: 3, cost: 2950, description: "提高挖矿效率,获得的收益提高30%", careerBonus: "挖矿的收益额外提高30%" }, { level: 4, cost: 4250, description: "提高挖矿效率,获得的收益提高40%", careerBonus: "挖矿的收益额外提高40%" }, { level: 5, cost: 5375, description: "提高挖矿效率,获得的收益提高50%", careerBonus: "挖矿的收益额外提高50%,并且单次挖矿时间上限增加至48小时" } ] }, { techId: 2, techname: "武器系统", careerNames: ["武器中士", "情报副官"], // 新增职业名称字段 maxLevel: 5, levels: [ { level: 1, cost: 500, description: "提升空间站武器等级,购买I类及以下武器享有25%的折扣", careerBonus: "购买I类及以下武器额外享有25%的折扣" }, { level: 2, cost: 1500, description: "提升空间站武器等级,解锁购买II类及以下武器权限", careerBonus: "购买II类及以下武器享有25%的折扣" }, { level: 3, cost: 2550, description: "提升空间站武器等级,解锁购买III类武器权限", careerBonus: "购买III类及以下武器享有25%的折扣" }, { level: 4, cost: 3950, description: "提升空间站武器等级,解锁购买IV类及以下武器权限", careerBonus: "购买IV类及以下武器享有25%的折扣" }, { level: 5, cost: 4650, description: "提升空间站武器等级,解锁购买V类及以下武器权限", careerBonus: "购买V类及以下武器享有25%的折扣" } ] }, { techId: 3, techname: "武器升级平台", careerNames: ["武器中士", "情报副官"], maxLevel: 2, levels: [ { level: 1, cost: 750, description: "重启武器升级站,武器改装通用模块享有5%的折扣", careerBonus: "武器改装通用模块额外享有5%的折扣" }, { level: 2, cost: 1e3, description: "重启高级武器改装站,武器改装通用模块享有5%的折扣; 武器改装专属模块享有5%的折扣", careerBonus: "武器改装通用模块额外享有5%的折扣; 武器改装专属模块额外享有5%的折扣" } ] }, { techId: 4, techname: "安防系统", careerNames: ["警卫员下士", "警卫长", "情报副官"], // 新增职业名称字段 maxLevel: 5, levels: [ { level: 1, cost: 500, description: "重启安防参数代码,攻击获得的金币+5%", careerBonus: "攻击获得的金币额外+5%" }, { level: 2, cost: 2050, description: "提高空间站安防系统强度,攻击获得的金币+10%", careerBonus: "攻击获得的金币额外+10%" }, { level: 3, cost: 3250, description: "进一步提高空间站安防系统强度,攻击获得的金币+15%", careerBonus: "攻击获得的金币额外+15%" }, { level: 4, cost: 4250, description: "大幅提高空间站安防系统强度,攻击获得的金币+20%", careerBonus: "攻击获得的金币额外+20%" }, { level: 5, cost: 5350, description: "完全恢复空间站安防系统,攻击获得的金币+25%", careerBonus: "攻击获得的金币额外+25%" } ] }, { techId: 5, techname: "关键系统固件", careerNames: ["舰长", "情报副官"], // 新增职业名称字段 maxLevel: 5, levels: [ { level: 1, cost: 500, description: "升级空间站关键系统,完成任务奖励+5%", careerBonus: "完成任务奖励额外+5%" }, { level: 2, cost: 1250, description: "升级空间站关键系统,完成任务奖励+10%", careerBonus: "完成任务奖励额外+10%" }, { level: 3, cost: 2250, description: "升级空间站关键系统,完成任务奖励+15%", careerBonus: "完成任务奖励额外+15%" }, { level: 4, cost: 2950, description: "升级空间站关键系统,完成任务奖励+20%", careerBonus: "完成任务奖励额外+20%" }, { level: 5, cost: 3550, description: "升级空间站关键系统,完成任务奖励+25%", careerBonus: "完成任务奖励额外+25%;完成任务时有20%概率额外获得一次奖励" } ] }, { techId: 6, techname: "反应堆", careerNames: ["总工程师", "情报副官"], // 新增职业名称字段 maxLevel: 5, levels: [ { level: 1, cost: 500, description: "升级空间站聚变反应堆控制,探索的金币收益提高10%", careerBonus: "探索的金币收益额外提高10%" }, { level: 2, cost: 1450, description: "升级空间站聚变反应堆控制,探索的金币收益提高20%", careerBonus: "探索的金币收益额外提高20%" }, { level: 3, cost: 2950, description: "升级空间站聚变反应堆控制,探索的金币收益提高30%", careerBonus: "探索的金币收益额外提高30%" }, { level: 4, cost: 4250, description: "升级空间站聚变反应堆控制,探索的金币收益提高40%", careerBonus: "探索的金币收益额外提高40%" }, { level: 5, cost: 5350, description: "升级空间站聚变反应堆控制,探索的金币收益提高50%", careerBonus: "探索的金币收益额外提高50%;探索的物品获得概率提高20%" } ] } ]; // src/tasks.ts var Tasklist = { "伽马辐射": { id: 1, type: "可重复任务", target: 1, price: 50, redCrystalCost: 0, condition: "使用【伽马枪】攻击目标并成功增加其1层[辐射]" }, "绝对零度": { id: 2, type: "可重复任务", target: 1, price: 75, redCrystalCost: 0, condition: "使用【零度之下】攻击目标并成功增加其1层[寒冷]" }, "胆汁引爆": { id: 3, type: "可重复任务", target: 1, price: 200, redCrystalCost: 0, condition: "使用【焚烧枪】或【龙息霰弹枪】引爆具有10层及以上[灼烧粘液]的目标" }, "脉冲干扰": { id: 4, type: "可重复任务", target: 1, price: 45, redCrystalCost: 0, condition: "使用【脉冲扰乱枪】攻击目标并成功减少其1层技能层数" }, "能量消耗": { id: 5, type: "可重复任务", target: 1, price: 40, redCrystalCost: 0, condition: "使用【弧焊枪】或【DG-3电弧步枪】攻击目标并成功消耗其100能量" }, "破甲先锋": { id: 6, type: "可重复任务", target: 1, price: 80, redCrystalCost: 0, condition: "使用【M4AE脉冲步枪】或【动力钻头】攻击目标并成功削减其0.1护甲" }, "烈火燎原": { id: 7, type: "可重复任务", target: 1, price: 25, redCrystalCost: 0, condition: "使用【焚烧枪】或【龙息霰弹枪】攻击目标或对目标使用【莫洛托夫燃烧弹】并成功增加其1层[燃烧]" } }; // src/boss/boss.ts var bossGroups = [ { groupId: 1, name: "异齿猛兽", bosses: [1, 2] // 异齿猛兽首领, 异齿猛兽 }, { groupId: 2, name: "寒冰王蛇", bosses: [3, 4] // 寒冰王蛇, 冰蛇 }, { groupId: 3, name: "莽兽", bosses: [5, 6, 7] // 莽兽, 狂暴畸变体, 剧毒畸变体 }, { groupId: 4, name: "空间站感染虫", bosses: [8, 9, 10] // 空间站感染虫, 机械感染虫, 空间站哨枪塔 }, { groupId: 5, name: "吸血蝙蝠", bosses: [11, 12] // 吸血蝙蝠首领, 吸血蝙蝠 }, { groupId: 6, name: "亚电主宰者", bosses: [13, 14] // 亚电主宰者, 亚电能者 }, { groupId: 7, name: "烈焰庞兽", bosses: [15, 16] // 烈焰庞兽, 火焰甲虫 }, { groupId: 8, name: "狂猎猛禽", bosses: [17, 18, 19] // 狂猎猛禽首领, 狂猎猛禽1, 狂猎猛禽2 }, { groupId: 9, name: "宇宙界主", bosses: [20, 21] // 宇宙界主, 宇宙战将 }, { groupId: 10, name: "猛毒异兽", bosses: [22, 23] // 猛毒异兽, 剧毒蝙蝠 }, { groupId: 11, name: "虫群女王", bosses: [24, 25] // 虫群女王, 孵化场 }, { groupId: 12, name: "坏兄弟", bosses: [29] // 坏兄弟 } ]; var bossPool = [ { id: 1, name: "异齿猛兽首领", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 0, armor: 25, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "重型", "异形"], passive: ["异形甲壳"] }, { id: 2, name: "异齿猛兽", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 20, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "重型", "异形"], passive: ["异形甲壳"] }, { id: 3, name: "寒冰王蛇", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 0, armor: 6, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "惧热", "重型", "异形"], passive: ["冰霜环绕", "冰霜进化", "冰悚嚎叫"] }, { id: 4, name: "冰蛇", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 4, shieldArmor: 0, maxStacks: 0, tags: ["生物", "惧热", "异形"], passive: ["冰霜回复", "冰霜进化"] }, { id: 5, name: "莽兽", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 0, armor: 8, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "重型", "异形"], passive: ["应激甲壳II", "求生本能II", "冷适应"] }, { id: 6, name: "狂暴畸变体", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 5, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "重型", "异形"], passive: ["应激甲壳I", "求生本能I", "冷适应"] }, { id: 7, name: "剧毒畸变体", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 7, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "重型", "异形"], passive: ["应激甲壳I", "求生本能I", "冷适应"] }, { id: 8, name: "空间站感染虫", type: "主宰", maxHP: 2e4, maxShield: 0, maxEnergy: 0, armor: 5, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "机械", "异形"], passive: ["感染空间站", "病毒云", "霉菌滋生"] }, { id: 9, name: "机械感染虫", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 4, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "机械", "异形"], passive: ["病毒云", "霉菌滋生"] }, { id: 10, name: "空间站哨枪塔", type: "安防", maxHP: 3e4, maxShield: 0, maxEnergy: 0, armor: 6.5, shieldArmor: 0, maxStacks: 10, tags: ["重甲", "机械", "建筑"], passive: ["岗哨机枪", "结构装甲"] }, { id: 11, name: "吸血蝙蝠首领", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 0, armor: 2.5, shieldArmor: 0, maxStacks: 20, tags: ["生物", "异形"], passive: ["吸血唾液", "进食", "吐血", "嗜血狂暴"] }, { id: 12, name: "吸血蝙蝠", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 2.5, shieldArmor: 0, maxStacks: 20, tags: ["生物", "异形"], passive: ["吸血唾液", "进食", "吐血"] }, { id: 13, name: "亚电主宰者", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 1e3, armor: 4, shieldArmor: 0, maxStacks: 0, tags: ["护盾", "灵能", "重型", "异形"], passive: ["超导体", "能源虹吸", "电能冲击波", "电能立场", "脉冲", "能量黑洞"] }, { id: 14, name: "亚电能者", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 4, shieldArmor: 0, maxStacks: 0, tags: ["护盾", "灵能", "异形"], passive: ["超导体", "能量虹吸", "能量黑洞"] }, { id: 15, name: "烈焰庞兽", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 0, armor: 20, shieldArmor: 0, maxStacks: 20, tags: ["重甲", "生物", "惧寒", "重型", "异形"], passive: ["火焰异形", "庞兽狂暴", "灼烧粘液", "炼狱爆弹", "火焰吐息", "太阳耀斑"] }, { id: 16, name: "火焰甲虫", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 15, shieldArmor: 0, maxStacks: 20, tags: ["重甲", "生物", "惧寒", "异形"], passive: ["火焰异形", "灼烧粘液", "腐蚀胆汁", "燃烧潜地"] }, { id: 17, name: "狂猎猛禽首领", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 0, armor: 3, shieldArmor: 0, maxStacks: 0, tags: ["生物", "异形"], passive: ["猎手异形", "致命一击", "狂暴", "伪装"] }, { id: 18, name: "狂猎猛禽1", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 2.5, shieldArmor: 0, maxStacks: 0, tags: ["生物", "异形"], passive: ["猎手异形", "狂暴", "伪装"] }, { id: 19, name: "狂猎猛禽2", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 2.5, shieldArmor: 0, maxStacks: 0, tags: ["生物", "异形"], passive: ["猎手异形", "狂暴", "伪装"] }, { id: 20, name: "宇宙界主", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 1e3, armor: 2, shieldArmor: 0, maxStacks: 50, tags: ["重甲", "生物", "灵能", "异形"], passive: ["宇宙能量", "复苏", "光影之刃", "远古预兆", "星界之风", "超视距穿梭"] }, { id: 21, name: "宇宙战将", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 1, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "灵能", "异形"], passive: ["心灵狂热", "星界之风"] }, { id: 22, name: "猛毒异兽", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 0, armor: 4, shieldArmor: 0, maxStacks: 20, tags: ["生物", "异形"], passive: ["毒性唾液", "剧毒狂暴", "毒气波", "淬毒撕咬", "酸蚀池", "剧毒突袭"] }, { id: 23, name: "剧毒蝙蝠", type: "子代", maxHP: 1e4, maxShield: 0, maxEnergy: 0, armor: 3, shieldArmor: 0, maxStacks: 20, tags: ["轻甲", "生物", "异形"], passive: ["毒性唾液", "毒气波", "淬毒撕咬", "酸蚀池"] }, { id: 24, name: "虫群女王", type: "主宰", maxHP: 2e4, maxShield: 0, maxEnergy: 0, armor: 5, shieldArmor: 0, maxStacks: 20, tags: ["生物", "灵能", "异形"], passive: ["虫巢思维", "爆虫伏击", "虚弱喷吐", "治愈虫群", "释放信息素", "恐吓尖啸"] }, { id: 25, name: "孵化场", type: "巢穴", maxHP: 3e4, maxShield: 0, maxEnergy: 0, armor: 4, shieldArmor: 0, maxStacks: 20, tags: ["重甲", "生物", "建筑", "异形"], passive: ["孵化"] }, { id: 26, name: "巢穴雷兽", type: "子代", maxHP: 5e3, maxShield: 0, maxEnergy: 0, armor: 15, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "异形"], passive: [] }, { id: 27, name: "巢穴战士", type: "子代", maxHP: 3e3, maxShield: 0, maxEnergy: 0, armor: 4, shieldArmor: 0, maxStacks: 0, tags: ["轻甲", "生物", "异形"], passive: [] }, { id: 28, name: "巢穴甲虫", type: "子代", maxHP: 4e3, maxShield: 0, maxEnergy: 0, armor: 10, shieldArmor: 0, maxStacks: 0, tags: ["重甲", "生物", "异形"], passive: [] }, { id: 29, name: "坏兄弟", type: "主宰", maxHP: 3e4, maxShield: 0, maxEnergy: 1e3, armor: 3, shieldArmor: 0, maxStacks: 100, tags: ["生物", "异形"], passive: ["基因变异"] } ]; // src/boss/BattleEffectProcessor.ts var battleStatsMap = {}; function updateStatsByName(name2, updates) { const existing = battleStatsMap[name2] ?? { name: name2, // 键与 name 一致 hpChange: 0, energyChange: 0, armorChange: 0, // 新增字段初始化 tagsAdded: [], tagsRemoved: [], skillsAdded: [], skillsRemoved: [], skillStacksChanged: 0, skillStatusChanged: 0, statusLayersChanged: 0, radiationLayersChange: 0, coldLayersChange: 0, burnLayersChanged: 0, lastWeaponName: "" }; battleStatsMap[name2] = { // name 不可变(保持原键) name: existing.name, // 数值类型:累加(支持正负变化) hpChange: existing.hpChange + (updates.hpChange ?? 0), energyChange: existing.energyChange + (updates.energyChange ?? 0), skillStacksChanged: existing.skillStacksChanged + (updates.skillStacksChanged ?? 0), skillStatusChanged: existing.skillStatusChanged + (updates.skillStatusChanged ?? 0), statusLayersChanged: existing.statusLayersChanged + (updates.statusLayersChanged ?? 0), radiationLayersChange: existing.radiationLayersChange + (updates.radiationLayersChange ?? 0), coldLayersChange: existing.coldLayersChange + (updates.coldLayersChange ?? 0), armorChange: existing.armorChange + (updates.armorChange ?? 0), burnLayersChanged: existing.burnLayersChanged + (updates.burnLayersChanged ?? 0), // 数组类型:合并(新增内容追加到现有数组) tagsAdded: [...existing.tagsAdded, ...updates.tagsAdded ?? []], tagsRemoved: [...existing.tagsRemoved, ...updates.tagsRemoved ?? []], skillsAdded: [...existing.skillsAdded, ...updates.skillsAdded ?? []], skillsRemoved: [...existing.skillsRemoved, ...updates.skillsRemoved ?? []], // 字符串类型:覆盖(取最新值) lastWeaponName: updates.lastWeaponName ?? existing.lastWeaponName }; } __name(updateStatsByName, "updateStatsByName"); function getMaxHPByName(bossName) { for (const boss of bossPool) { if (boss.name === bossName) { return boss.maxHP; } } return 1e4; } __name(getMaxHPByName, "getMaxHPByName"); function getMaxEnergyByName(bossName) { for (const boss of bossPool) { if (boss.name === bossName) { return boss.maxEnergy; } } return 1e4; } __name(getMaxEnergyByName, "getMaxEnergyByName"); function getMaxStacksByName(bossName) { for (const boss of bossPool) { if (boss.name === bossName) { return boss.maxStacks; } } return 0; } __name(getMaxStacksByName, "getMaxStacksByName"); function getMaxShieldByName(bossName) { const boss = bossPool.find((b) => b.name === bossName); return boss ? boss.maxShield : 0; } __name(getMaxShieldByName, "getMaxShieldByName"); function getArmorByName(bossName) { for (const boss of bossPool) { if (boss.name === bossName) return boss.armor; } return void 0; } __name(getArmorByName, "getArmorByName"); function getShieldArmorByName(bossName) { for (const boss of bossPool) { if (boss.name === bossName) return boss.shieldArmor; } return 0; } __name(getShieldArmorByName, "getShieldArmorByName"); var BattleEffectProcessor = { // 弱化形态 handleWeakForm: /* @__PURE__ */ __name(function(targetBoss) { if (targetBoss.type === "子代") { if (targetBoss.name === "空间站哨枪塔" || targetBoss.name === "孵化场" || targetBoss.name === "巢穴雷兽" || targetBoss.name === "巢穴战士" || targetBoss.name === "巢穴甲虫") { return null; } const newBuffMultiplier = 0.1; const messages = [`📚 【弱化形态】生效:子代防御脆弱,受到的伤害+10%`]; return { buffMultiplier: newBuffMultiplier, messages }; } return null; }, "handleWeakForm"), // 异形甲壳 handleAlienShell: /* @__PURE__ */ __name(function(targetBoss) { if (targetBoss.skills.includes("异形甲壳")) { const maxHP = getMaxHPByName(targetBoss.name); const currentHP = targetBoss.HP; const lostHpPercent = (maxHP - currentHP) / maxHP; let reductionPercent = 0.1 + lostHpPercent; reductionPercent = Math.min(reductionPercent, 0.8); const reductionValue = Math.round(reductionPercent * 100); const messages = [ `🛡️ 【异形甲壳】生效:当前减伤${reductionValue}%` ]; return { nerfMultiplier: reductionPercent, messages }; } return null; }, "handleAlienShell"), // 孤立无援处理(活跃Boss中仅自己时增伤20%) handleIsolated: /* @__PURE__ */ __name(function(targetBoss, activeBosses, tempMark) { if (tempMark || targetBoss?.testTag) { return null; } const isIsolated = activeBosses.length === 1 && // 活跃Boss仅1个 activeBosses[0].name === targetBoss.name; if (isIsolated) { const newBuffMultiplier = 0.2; const messages = [ `📚 【孤立无援】生效:无存活子代时,受到的伤害+20%` ]; return { buffMultiplier: newBuffMultiplier, messages }; } return null; }, "handleIsolated"), handleFrostRegeneration: /* @__PURE__ */ __name(function(targetBoss, activeBosses, maxStatsForTarget) { const messages = []; const otherUpdates = []; if (!targetBoss.skills.includes("冰霜回复")) { return null; } const targetMaxHP = maxStatsForTarget.maxHP; const currentHP = targetBoss.HP; if (currentHP > targetMaxHP * 0.3) { return null; } const selfHealAmount = Math.round(targetMaxHP * 0.4); const targetUpdates = { hpChange: selfHealAmount, // 累加HP变化量(正数回复) skillsRemoved: ["冰霜回复"] // 移除技能 }; messages.push(`❄️ 【冰霜回复】触发:生命值≤30%,自身回复${selfHealAmount}点生命值`); const otherSurvivingBosses = activeBosses.filter( (boss) => boss.name !== targetBoss.name && boss.isActive ); otherSurvivingBosses.forEach((otherBoss) => { const otherName = otherBoss.name; const otherMaxHP = maxStatsForTarget.maxHP; const otherHealAmount = Math.round(otherMaxHP * 0.1); otherUpdates.push({ name: otherName, updates: { hpChange: otherHealAmount } }); messages.push(`❄️ 「${otherName}」回复${otherHealAmount}点生命值`); }); messages.push(`❄️ 【冰霜回复】技能移除`); return { messages, targetUpdates: { name: targetBoss.name, updates: targetUpdates }, otherUpdates }; }, "handleFrostRegeneration"), handleFrostAura: /* @__PURE__ */ __name(function(targetBoss, activeBosses) { const messages = []; const otherUpdates = []; if (!targetBoss.skills.includes("冰霜环绕")) { return null; } const targetMaxHP = getMaxHPByName(targetBoss.name); const currentHP = targetBoss.HP; const triggerCondition = currentHP <= targetMaxHP * 0.3; if (!triggerCondition) { return null; } const currentBurnLayers = targetBoss.burnLayers || 0; const selfHealAmount = Math.round(targetMaxHP * 0.45); const targetUpdates = { hpChange: selfHealAmount, // 生命值回复 skillsRemoved: ["冰霜环绕"], // 移除自身原有技能 skillsAdded: ["寒霜地狱"], // 新增【寒霜地狱】技能 burnLayersChanged: -(currentBurnLayers + 2) // 清除所有燃烧层数 }; messages.push(`❄️ 【冰霜环绕】触发:生命值≤30%,自身回复${selfHealAmount}点生命值`); messages.push(`❄️ 「${targetBoss.name}」获得「寒霜地狱」技能`); if (currentBurnLayers > 0) { messages.push(`🔥 【冰霜环绕】触发:清空全部燃烧效果`); } const survivingMinions = activeBosses.filter( (boss) => boss.name !== targetBoss.name && boss.isActive ); survivingMinions.forEach((minion) => { const minionName = minion.name; const minionUpdates = { skillsAdded: ["寒霜地狱"] // 新增【寒霜地狱】技能 }; otherUpdates.push({ name: minionName, updates: minionUpdates }); messages.push(`❄️ 「${minionName}」获得「寒霜地狱」技能`); }); messages.push(`❄️ 【冰霜环绕】技能移除`); return { messages, targetUpdates: { name: targetBoss.name, updates: targetUpdates }, otherUpdates }; }, "handleFrostAura"), // 冰霜进化处理(免疫伤害并回复生命值) handleFrostEvolution: /* @__PURE__ */ __name(function(targetBoss, weaponName, damage) { const messages = []; let isImmune = false; if (!targetBoss.skills.includes("冰霜进化")) { return null; } const isColdWeapon = weaponName === "零度之下"; if (!isColdWeapon) { return null; } isImmune = true; const immuneCold = true; const healAmount = damage; const targetUpdates = { name: targetBoss.name, updates: { hpChange: healAmount // 生命值变化量 } }; messages.push(`❄️ 【冰霜进化】生效:免疫寒冷伤害并回复${healAmount}点生命值`); return { isImmune, immuneCold, // 新增的免疫寒冷标记 messages, targetUpdates }; }, "handleFrostEvolution"), // 寒霜地狱处理 handleFrostHell: /* @__PURE__ */ __name(function(targetBoss) { if (targetBoss.skills.includes("寒霜地狱")) { const newNerfMultiplier = 0.3; const messages = [`❄️ 【寒霜地狱】生效:受到的伤害-30%`]; return { nerfMultiplier: newNerfMultiplier, messages }; } return null; }, "handleFrostHell"), // 应激甲壳I处理(基础减伤20%) handleStressShellI: /* @__PURE__ */ __name(function(targetBoss) { if (targetBoss.skills.includes("应激甲壳I")) { const newNerfMultiplier = 0.2; const messages = [`🛡️ 【应激甲壳I】生效:受到的伤害-20%`]; return { nerfMultiplier: newNerfMultiplier, messages }; } return null; }, "handleStressShellI"), // 应激甲壳II处理(进阶减伤25%) handleStressShellII: /* @__PURE__ */ __name(function(targetBoss) { if (targetBoss.skills.includes("应激甲壳II")) { const newNerfMultiplier = 0.25; const messages = [`🛡️ 【应激甲壳II】生效:受到的伤害-25%`]; return { nerfMultiplier: newNerfMultiplier, messages }; } return null; }, "handleStressShellII"), // 求生本能I (修改后) handleSurvivalInstinctI: /* @__PURE__ */ __name(function(targetBoss, damageAmount) { const messages = []; if (!targetBoss.skills.includes("求生本能I")) { return null; } const targetMaxHP = getMaxHPByName(targetBoss.name); const isLethal = damageAmount >= targetBoss.HP; if (!isLethal) { return null; } const selfHealAmount = Math.round(targetMaxHP * 0.3); const updates = { hpChange: selfHealAmount, // 回复生命值 skillsRemoved: ["求生本能I"] // 移除技能 }; messages.push(`❤️ 【求生本能I】触发:承受致命伤害时,回复${selfHealAmount}点生命值`); messages.push(`❤️ 【求生本能I】技能移除`); return { messages, targetUpdates: { name: targetBoss.name, updates } }; }, "handleSurvivalInstinctI"), // 求生本能II (修改后) handleSurvivalInstinctII: /* @__PURE__ */ __name(function(targetBoss, damageAmount) { const messages = []; if (!targetBoss.skills.includes("求生本能II")) { return null; } const targetMaxHP = getMaxHPByName(targetBoss.name); const isLethal = damageAmount >= targetBoss.HP; if (!isLethal) { return null; } const selfHealAmount = Math.round(targetMaxHP * 0.5); const updates = { hpChange: selfHealAmount, // 生命值变化量 skillsRemoved: ["求生本能II"] // 移除的技能 }; messages.push(`❤️ 【求生本能II】触发:承受致命伤害时,回复${selfHealAmount}点生命值`); messages.push(`❤️ 【求生本能II】技能移除`); return { messages, targetUpdates: { name: targetBoss.name, updates } }; }, "handleSurvivalInstinctII"), // 冷适应处理 - 修改版:只要有惧热标签并且寒冷层数>0就清除寒冷层数 handleColdAdaptation: /* @__PURE__ */ __name(function(targetBoss, weaponName) { const messages = []; let isImmune = false; let immuneCold = false; let targetUpdates = null; if (!targetBoss.skills.includes("冷适应")) { return null; } const currentLayers = targetBoss.statusLayers || 0; const hasFearHeatTag = targetBoss.tags.includes("惧热") || false; const currentColdLayers = targetBoss.coldLayers || 0; if (hasFearHeatTag && currentColdLayers > 0) { if (!targetUpdates) { targetUpdates = { name: targetBoss.name, updates: {} }; } targetUpdates.updates.coldLayersChange = -(currentColdLayers + 2); messages.push(`🌬️ 【冷适应】生效:清除全部${currentColdLayers}层寒冷效果`); } if (hasFearHeatTag && weaponName === "零度之下") { isImmune = true; immuneCold = true; messages.push(`🌬️ 【冷适应】生效:免疫寒冷伤害`); return { isImmune, immuneCold, messages, targetUpdates }; } if (currentLayers < 10 && weaponName === "零度之下") { const newLayers = currentLayers + 1; targetUpdates = { name: targetBoss.name, updates: { statusLayersChanged: 1 } }; messages.push(`🌬️ 【冷适应】触发:当前${newLayers}层`); if (newLayers >= 10) { targetUpdates.updates.tagsAdded = ["惧热"]; messages.push(`🔥 【冷适应】生效:获得「惧热」标签并免疫寒冷伤害`); } } return { isImmune, immuneCold, messages, targetUpdates }; }, "handleColdAdaptation"), // 感染空间站处理(空间站存活时自身减伤50%) handleInfectedSpaceStation: /* @__PURE__ */ __name(function(targetBoss, activeBosses) { const messages = []; if (!targetBoss.skills.includes("感染空间站")) { return null; } const spaceStation = activeBosses.find( (boss) => boss.name === "空间站哨枪塔" && boss.isActive ); if (!spaceStation) { return null; } const newNerfMultiplier = 0.5; messages.push(`🛸 【感染空间站】生效:「空间站哨枪塔」存活,受到的伤害-50%`); return { nerfMultiplier: newNerfMultiplier, // 返回调整后的减伤系数 messages }; }, "handleInfectedSpaceStation"), // 病毒云处理(释放病毒云雾减伤10%) handleVirusCloud: /* @__PURE__ */ __name(function(targetBoss) { const messages = []; if (!targetBoss.skills.includes("病毒云")) { return null; } const newNerfMultiplier = 0.1; messages.push(`☁️ 【病毒云】生效:受到的伤害-10%`); return { nerfMultiplier: newNerfMultiplier, // 返回调整后的减伤系数 messages }; }, "handleVirusCloud"), // 霉菌滋生处理(空间站存活时为其回复1%最大生命值) handleMoldGrowth: /* @__PURE__ */ __name(function(targetBoss, activeBosses) { const messages = []; if (!targetBoss.skills.includes("霉菌滋生")) { return null; } const spaceStation = activeBosses.find( (boss) => boss.name === "空间站哨枪塔" && boss.isActive ); if (!spaceStation) { return null; } const spaceStationMaxHP = getMaxHPByName(spaceStation.name); const healAmount = Math.round(spaceStationMaxHP * 0.01); const otherUpdates = { name: spaceStation.name, updates: { hpChange: healAmount } }; messages.push(`🍄 【霉菌滋生】生效:为「空间站哨枪塔」回复${healAmount}点生命值`); return { messages, otherUpdates }; }, "handleMoldGrowth"), // 岗哨机枪处理(累计10次攻击后为其他异形回复10%最大生命值) handleSentryGun: /* @__PURE__ */ __name(function(targetBoss, activeBosses) { const messages = []; let targetUpdates = null; const otherUpdates = []; if (!targetBoss.skills.includes("岗哨机枪")) { return null; } const currentStacks = targetBoss.skillStacks || 0; if (currentStacks < 10) { targetUpdates = { name: targetBoss.name, updates: { skillStacksChanged: 1 // 层数+1 } }; const newStacks = currentStacks + 1; messages.push(`🔫 【岗哨机枪】充能:当前${newStacks}/10次攻击`); return { messages, targetUpdates, otherUpdates }; } targetUpdates = { name: targetBoss.name, updates: { skillStacksChanged: -currentStacks // 重置层数 } }; const otherSurvivingBosses = activeBosses.filter( (boss) => boss.name !== targetBoss.name && boss.isActive ); otherSurvivingBosses.forEach((otherBoss) => { const otherName = otherBoss.name; const otherMaxHP = getMaxHPByName(otherName); const healAmount = Math.round(otherMaxHP * 0.1); otherUpdates.push({ name: otherName, updates: { hpChange: healAmount // 生命值回复 } }); messages.push(`🔫 【岗哨机枪】触发:为「${otherName}」回复${healAmount}点生命值`); }); return { messages, targetUpdates, otherUpdates }; }, "handleSentryGun"), // 结构装甲处理(常规伤害降低20%;热能武器伤害降低40%) handleStructuralArmor: /* @__PURE__ */ __name(function(targetBoss, weaponData) { const messages = []; if (!targetBoss.skills.includes("结构装甲")) { return null; } const weaponType = weaponData.type; const isHeatWeapon = weaponType === "热能武器"; const nerfMultiplier = isHeatWeapon ? 0.4 : 0.2; messages.push(`🛡️ 【结构装甲】生效:受到${weaponType}的伤害-${nerfMultiplier * 100}%`); return { nerfMultiplier, messages }; }, "handleStructuralArmor"), // 吸血唾液处理(叠加「吸血」层数,每层提供5%减伤,最多20层) handleVampireSaliva: /* @__PURE__ */ __name(function(targetBoss) { const messages = []; if (!targetBoss.skills.includes("吸血唾液")) { return null; } const currentStacks = targetBoss.skillStacks || 0; const addStacks = currentStacks < 20 ? 1 : 0; const addedReduction = currentStacks * 0.05; let targetUpdates = null; if (addStacks > 0) { targetUpdates = { name: targetBoss.name, updates: {