diff --git a/assets/script/game/hero/HeroAtkSystem.ts b/assets/script/game/hero/HeroAtkSystem.ts index 7a891259..c4a06aa2 100644 --- a/assets/script/game/hero/HeroAtkSystem.ts +++ b/assets/script/game/hero/HeroAtkSystem.ts @@ -235,10 +235,10 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd if (!sConf) return 0; // 2. 计算原始物理伤害和魔法伤害 - // 物理伤害基础值 = 技能物理倍率 * (施法者物理攻击力 + 额外物理伤害) / 100 - let apBase = (sConf.ap||0)*(CAttrs[Attrs.AP]+damageEvent.ext_dmg)/100; - // 魔法伤害基础值 = 技能魔法倍率 * (施法者魔法攻击力 + 额外魔法伤害) / 100 - let mapBase = (sConf.map||0)*(CAttrs[Attrs.MAP]+damageEvent.ext_dmg)/100; + // 物理伤害基础值 = 技能物理倍率 * (施法者物理攻击力 + 额外物理伤害) / 100 * 伤害比例 + let apBase = (sConf.ap||0)*(CAttrs[Attrs.AP]+damageEvent.ext_dmg)/100*damageEvent.dmg_ratio; + // 魔法伤害基础值 = 技能魔法倍率 * (施法者魔法攻击力 + 额外魔法伤害) / 100 * 伤害比例 + let mapBase = (sConf.map||0)*(CAttrs[Attrs.MAP]+damageEvent.ext_dmg)/100*damageEvent.dmg_ratio; // 3. 获取目标防御属性 const def = (TAttrs[Attrs.DEF]||0); // 目标物理防御 diff --git a/assets/script/game/skill/SDataCom.ts b/assets/script/game/skill/SDataCom.ts index d88c4c49..9c90725e 100644 --- a/assets/script/game/skill/SDataCom.ts +++ b/assets/script/game/skill/SDataCom.ts @@ -13,7 +13,8 @@ export class SDataCom extends ecs.Comp { fac: number = 0; // 0:hero 1:monster s_uuid:number=0 ext_dmg:number=0 //额外伤害 - splash:number=0 //溅射伤害 + splash:number=0 //溅射伤害 + dmg_ratio:number=1 //伤害比例 hit_count:number=0 //击中数量 reset() { this.Attrs=null @@ -24,6 +25,7 @@ export class SDataCom extends ecs.Comp { this.hit_count=0 this.ext_dmg=0 this.splash=0 + this.dmg_ratio=1 } }