diff --git a/assets/script/game/map/MissionMonComp.ts b/assets/script/game/map/MissionMonComp.ts index 24469ab1..e0258bbf 100644 --- a/assets/script/game/map/MissionMonComp.ts +++ b/assets/script/game/map/MissionMonComp.ts @@ -337,6 +337,19 @@ export class MissionMonCompComp extends CCComp { // 将词缀记录到属性组件上,供战斗层使用 (model as any).affixes = monData.affixes || []; + + // 解析特定的抗性词缀 + if (monData.affixes) { + if (monData.affixes.includes(AffixType.CritRes)) { + model.critical_res = 50; + } + if (monData.affixes.includes(AffixType.FreezeRes)) { + model.freeze_res = 50; + } + if (monData.affixes.includes(AffixType.KnockbackRes)) { + model.knockback_res = 50; + } + } } /** ECS 组件移除时触发(当前不销毁节点) */ diff --git a/assets/script/game/map/RogueConfig.ts b/assets/script/game/map/RogueConfig.ts index 44844221..b1ed83f3 100644 --- a/assets/script/game/map/RogueConfig.ts +++ b/assets/script/game/map/RogueConfig.ts @@ -55,6 +55,9 @@ export enum AffixType { Giant = 5, Chain = 6, SummonerA = 7, + CritRes = 8, + FreezeRes = 9, + KnockbackRes = 10, } /** @@ -113,6 +116,18 @@ export const AffixConfigs: Record = { name: "召唤", hpMultiplier: 1.0, apMultiplier: 1.0, cost: 25, tierMin: 10, description: "每 8 秒召唤 1 个小怪", }, + [AffixType.CritRes]: { + name: "坚韧", hpMultiplier: 1.0, apMultiplier: 1.0, + cost: 15, tierMin: 6, description: "+暴击抗性", + }, + [AffixType.FreezeRes]: { + name: "防寒", hpMultiplier: 1.0, apMultiplier: 1.0, + cost: 15, tierMin: 6, description: "+冰冻抗性", + }, + [AffixType.KnockbackRes]: { + name: "稳固", hpMultiplier: 1.0, apMultiplier: 1.0, + cost: 15, tierMin: 6, description: "+击退抗性", + }, } /** @@ -132,7 +147,7 @@ export const AffixMutualExclusion: AffixType[][] = [ export const AffixPriority: AffixType[] = [ AffixType.Shield, AffixType.Regen, AffixType.Giant, AffixType.Swift, AffixType.Elite, AffixType.Berserk, - AffixType.Chain, AffixType.SummonerA, + AffixType.Chain, AffixType.SummonerA, AffixType.CritRes, AffixType.FreezeRes, AffixType.KnockbackRes, ] // ======================== 蓝图模板类型 ========================