refactor(config): 移除废弃的SkillUpList并简化技能数值计算
删除了全局的SkillUpList常量,移除所有对该列表的依赖,将技能成长数值统一改为从SkillConfig和SkillOverrides中获取,简化了代码逻辑,移除了冗余的数值叠加步骤。
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { BoxCollider2D, instantiate, Node, Prefab, v3, Vec3, NodePool } from "cc";
|
||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||
import { EType, SkillSet, SkillUpList, SkillOverrides, mergeSkillParams } from "../common/config/SkillSet";
|
||||
import { EType, SkillSet, SkillOverrides, mergeSkillParams } from "../common/config/SkillSet";
|
||||
import { oops } from "db://oops-framework/core/Oops";
|
||||
import { HeroAttrsComp } from "../hero/HeroAttrsComp";
|
||||
import { Attrs } from "../common/config/HeroAttrs";
|
||||
@@ -203,13 +203,13 @@ export class Skill extends ecs.Entity {
|
||||
sDataCom.group = caster.box_group
|
||||
sDataCom.casterEid = caster.ent.eid
|
||||
sDataCom.Attrs = {};
|
||||
const SUp = SkillUpList[s_uuid] ? SkillUpList[s_uuid] : SkillUpList[1001];
|
||||
const sCrt = (config.crt ?? 0) + (SUp.crt * skill_lv);
|
||||
const sFrz = (config.frz ?? 0) + (SUp.frz * skill_lv);
|
||||
const sStun = (config.stun ?? 0) + (SUp.stun * skill_lv);
|
||||
const sBck = (config.bck ?? 0) + (SUp.bck * skill_lv);
|
||||
const sAp = config.ap + (SUp.ap * skill_lv);
|
||||
const sHit = config.hit_count + (SUp.hit_count * skill_lv);
|
||||
// 技能成长数值已由 SkillConfig/SkillOverrides 提供(crt/frz/stun/bck/ap/hit_count),无需再叠加 SkillUpList
|
||||
const sCrt = config.crt ?? 0;
|
||||
const sFrz = config.frz ?? 0;
|
||||
const sStun = config.stun ?? 0;
|
||||
const sBck = config.bck ?? 0;
|
||||
const sAp = config.ap;
|
||||
const sHit = config.hit_count;
|
||||
sDataCom.Attrs[Attrs.ap] = Math.floor(cAttrsComp.getFinalAp() * sAp / 100); //技能的ap是百分值 需要/100 而且需要再最终计算总ap时再/100,不然会出现ap为90%变0
|
||||
sDataCom.Attrs[Attrs.critical] = cAttrsComp.getFinalCritical() + sCrt;
|
||||
sDataCom.Attrs[Attrs.critical_damage] = cAttrsComp.getFinalCritDamage();
|
||||
|
||||
Reference in New Issue
Block a user