Files
pixelheros/assets/script/game/skill/SDataCom.ts
panw 382f6d2b32 fix(技能): 修复技能等级计算错误,默认等级从1改为0
将技能相关计算的默认等级从1统一修正为0,确保等级计算逻辑的一致性。具体包括:
- HeroAttrsComp.getSkillLevel() 方法在无效技能ID时返回0
- Hero实体构建技能模型时使用Math.max确保最低等级为0
- SDataCom组件初始化skill_lv为0
- Skill实体加载时skill_lv参数默认值改为0,计算时使用Math.max(0, skill_lv)
2026-03-24 10:25:12 +08:00

33 lines
967 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}
}