feat: 重构英雄与怪物系统并添加等级机制

- 调整怪物配置映射,将兽人系列怪物ID从5xxx改为6xxx
- 为英雄系统添加等级支持,英雄属性随等级线性增长
- 重构卡牌系统,区分英雄卡和功能卡显示逻辑
- 重新组织英雄配置数据,按职业分类并添加等级字段
- 扩展技能配置,为各等级添加对应技能变体
- 简化特殊卡配置结构,添加名称和描述字段
This commit is contained in:
panw
2026-03-20 10:54:29 +08:00
parent 51d0459f5b
commit 35af88d570
8 changed files with 1749 additions and 948 deletions

View File

@@ -39,7 +39,7 @@ export class Hero extends ecs.Entity {
/** 加载角色 */
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001, dropToY:number = pos.y) {
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001, dropToY:number = pos.y,hero_lv:number=1) {
scale = 1
// 查找空闲英雄槽位
let size=1
@@ -67,7 +67,7 @@ export class Hero extends ecs.Entity {
// 设置 Model 层属性(数据相关)
model.hero_uuid = uuid;
model.hero_name = hero.name;
model.lv = 1
model.lv = hero_lv;
model.type = hero.type;
model.fac = FacSet.HERO;
// 只有主角才挂载天赋组件
@@ -75,15 +75,16 @@ export class Hero extends ecs.Entity {
// ✅ 初始化技能数据(迁移到 HeroSkillsComp
// 设置基础属性
model.ap = hero.ap;
model.hp= model.hp_max = hero.hp;
model.ap = hero.ap*model.lv;
model.hp= model.hp_max = hero.hp*model.lv;
model.speed = hero.speed;
model.a_cd_max=hero.as
model.s_cd_max=hero.ss
// 初始化技能信息数组
if(hero.skills[0]) model.atk_id=hero.skills[0]
if(hero.skills[1]) {
model.skill_id=hero.skills[1]
if(hero.skills[0]) model.atk_id=hero.skills[0]*model.lv
let s_lv=hero.skills[model.lv]?model.lv:1
if(hero.skills[s_lv]) {
model.skill_id=hero.skills[s_lv]
}
model.updateSkillDistanceCache(model.skill_id || model.atk_id);