将技能相关计算的默认等级从1统一修正为0,确保等级计算逻辑的一致性。具体包括: - HeroAttrsComp.getSkillLevel() 方法在无效技能ID时返回0 - Hero实体构建技能模型时使用Math.max确保最低等级为0 - SDataCom组件初始化skill_lv为0 - Skill实体加载时skill_lv参数默认值改为0,计算时使用Math.max(0, skill_lv)
33 lines
967 B
TypeScript
33 lines
967 B
TypeScript
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||
import { BoxSet } from "../common/config/GameSet";
|
||
|
||
/** 业务层对象 */
|
||
//技能数据
|
||
@ecs.register('SDataCom')
|
||
export class SDataCom extends ecs.Comp {
|
||
/** 业务层组件移除时,重置所有数据为默认值 */
|
||
Attrs:any=null
|
||
casterEid: number = -1; // 施法者实体ID,用于安全校验
|
||
group:BoxSet=BoxSet.HERO
|
||
fac: number = 0; // 0:hero 1:monster
|
||
s_uuid:number=0
|
||
skill_lv:number=0
|
||
ext_dmg:number=0 //额外伤害
|
||
dmg_ratio:number=1 //伤害比例
|
||
hit_count:number=0 //击中数量
|
||
max_hit_count:number=0 //最大可命中次数
|
||
reset() {
|
||
this.Attrs=null
|
||
this.group=BoxSet.HERO
|
||
this.fac=0
|
||
this.s_uuid=0
|
||
this.skill_lv=0
|
||
this.casterEid = -1;
|
||
this.hit_count=0
|
||
this.max_hit_count=0
|
||
this.ext_dmg=0
|
||
this.dmg_ratio=1
|
||
}
|
||
}
|
||
|