feat(英雄属性): 新增暴击伤害属性并支持驻场技能加成
- 在 HeroAttrs 枚举中添加 critical_damage 属性 - 修改 HeroAtkSystem 的暴击伤害计算逻辑,支持基础暴伤和英雄额外暴伤叠加 - 在 Skill 类中设置技能属性时,使用 HeroAttrsComp 的运行时属性获取方法 - 为 FieldSkillSet 添加 HeroFrost、HeroCrit、HeroCritDamage 和 HeroSpeed 驻场技能配置 - 在 HeroAttrsComp 中新增 crit_damage 字段和相关运行时属性计算方法 - 实现驻场技能百分比值统一换算逻辑,支持 0.2 和 20 两种配置写法 - 添加攻速加成机制,通过缩短技能 CD 实现攻击速度提升
This commit is contained in:
@@ -213,8 +213,9 @@ export class Skill extends ecs.Entity {
|
||||
const sAp =config.ap+(SUp.ap*skill_lv);
|
||||
const sHit=config.hit_count+(SUp.hit_count*skill_lv) + cAttrsComp.puncture
|
||||
sDataCom.Attrs[Attrs.ap] = Math.floor(cAttrsComp.ap*sAp/100); //技能的ap是百分值 需要/100 而且需要再最终计算总ap时再/100,不然会出现ap为90%变0
|
||||
sDataCom.Attrs[Attrs.critical] = cAttrsComp.critical + sCrt;
|
||||
sDataCom.Attrs[Attrs.freeze_chance] = cAttrsComp.freeze_chance + sFrz;
|
||||
sDataCom.Attrs[Attrs.critical] = cAttrsComp.getRuntimeCritical() + sCrt;
|
||||
sDataCom.Attrs[Attrs.critical_damage] = cAttrsComp.getRuntimeCritDamageBonus();
|
||||
sDataCom.Attrs[Attrs.freeze_chance] = cAttrsComp.getRuntimeFreezeChance() + sFrz;
|
||||
sDataCom.s_uuid=s_uuid
|
||||
sDataCom.skill_lv = Math.max(0, skill_lv);
|
||||
sDataCom.fac=cAttrsComp.fac
|
||||
|
||||
Reference in New Issue
Block a user