fix: 优化属性默认值处理,注释多余赋值逻辑

1. 将heroInfo接口的dis和speed字段改为可选
2. 在实例化时使用??运算符设置默认值
3. 注释掉冗余的call字段赋值代码
4. 移除英雄配置中重复的固定属性值
This commit is contained in:
panw
2026-05-19 22:43:15 +08:00
parent 0b23eacca4
commit 7d4cf1f097
3 changed files with 31 additions and 31 deletions

View File

@@ -95,8 +95,8 @@ export interface heroInfo {
atking?:{s_uuid:number, t_num:number}[]; // 普通攻击后触发的技能配置s_uuid: 技能id, t_num: 触发所需的普攻次数
atked?:{s_uuid:number, t_num:number}[]; // 受击后触发的技能配置s_uuid: 技能id, t_num: 触发所需的受击次数
revive?:{s_uuid:number,r_num:number,upr:number}; // 复活技能配置s_uuid: 技能id, r_num: 触发所需的复活次数, upr 等级对复活次数的影响
dis: number; // 攻击距离(像素)
speed: number; // 移动速度(像素/秒)
dis?: number; // 攻击距离(像素)
speed?: number; // 移动速度(像素/秒)
skills: Record<number, HSkillInfo> ; // 携带技能ID列表
info: string; // 描述文案
}
@@ -131,50 +131,50 @@ export interface HSkillInfo {
export const HeroInfo: Record<number, heroInfo> = {
// ========== 近战英雄 ==========
5001:{uuid:5001,name:"见习战士",path:"hk2", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Melee,dis:720,hp:150,ap:25,speed:800,atking:[{s_uuid:6301,t_num:2}],
5001:{uuid:5001,name:"见习战士",path:"hk2", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Melee,hp:150,ap:25,atking:[{s_uuid:6301,t_num:2}],
skills:{6002:{uuid:6002,lv:1,cd:1.5,ccd:0}},info:" "},
5002:{uuid:5002,name:"盾骑士",path:"hk1", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Melee,dis:720,hp:150,ap:75,speed:800,atked:[{s_uuid:6301,t_num:2}],
5002:{uuid:5002,name:"盾骑士",path:"hk1", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Melee,hp:150,ap:75,atked:[{s_uuid:6301,t_num:2}],
skills:{6002:{uuid:6002,lv:1,cd:1.5,ccd:0}},info:" "},
5003:{uuid:5003,name:"战士3",path:"hk3", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Melee,dis:720,hp:100,ap:100,speed:800,
5003:{uuid:5003,name:"战士3",path:"hk3", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Melee,hp:100,ap:100,
skills:{6002:{uuid:6002,lv:1,cd:1.5,ccd:0}},info:" "},
5004:{uuid:5004,name:"战士4",path:"hk4", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,dis:720,hp:100,ap:200,speed:800,
5004:{uuid:5004,name:"战士4",path:"hk4", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,
skills:{6002:{uuid:6002,lv:1,cd:0.7,ccd:0}},info:" "},
5005:{uuid:5005,name:"战士5",path:"hk5", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,dis:720,hp:100,ap:200,speed:800,
5005:{uuid:5005,name:"战士5",path:"hk5", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,
skills:{6002:{uuid:6002,lv:1,cd:1.5,ccd:0}},info:" "},
// ========== 法师英雄 ==========
5101:{uuid:5101,name:"奥术法师",path:"hm2", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,dis:720,hp:150,ap:60,speed:800,revive:{s_uuid:6501,r_num:1,upr:0.5},
5101:{uuid:5101,name:"奥术法师",path:"hm2", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:150,ap:60,revive:{s_uuid:6501,r_num:1,upr:0.5},
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},info:""},
5102:{uuid:5102,name:"火焰法师",path:"hm1", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,dis:720,hp:130,ap:120,speed:800,
5102:{uuid:5102,name:"火焰法师",path:"hm1", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,hp:130,ap:120,
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},info:""},
5103:{uuid:5103,name:"冰法法师",path:"hm3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,dis:720,hp:145,ap:180,speed:800,
5103:{uuid:5103,name:"冰法法师",path:"hm3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:145,ap:180,
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},info:""},
5104:{uuid:5104,name:"寒霜术士",path:"hm5", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Long,dis:720,hp:160,ap:240,speed:800,
5104:{uuid:5104,name:"寒霜术士",path:"hm5", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Long,hp:160,ap:240,
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},info:""},
5105:{uuid:5105,name:"炎爆法师",path:"hm4", fac:FacSet.HERO,cards_lv:5,lv:1,type:HType.Long,dis:720,hp:175,ap:300,speed:800,
5105:{uuid:5105,name:"炎爆法师",path:"hm4", fac:FacSet.HERO,cards_lv:5,lv:1,type:HType.Long,hp:175,ap:300,
skills:{6003:{uuid:6003,lv:1,cd:1,ccd:0}},info:"" },
// ========== 远程英雄 ==========
5201:{uuid:5201,name:"射手",path:"ha1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,dis:720,hp:115,ap:60,speed:800,
5201:{uuid:5201,name:"射手",path:"ha1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:115,ap:60,
skills:{6005:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:""},
5202:{uuid:5202,name:"游侠2",path:"ha2", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,dis:720,hp:145,ap:180,speed:800,
5202:{uuid:5202,name:"游侠2",path:"ha2", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:145,ap:180,
skills:{6005:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:""},
5203:{uuid:5203,name:"游侠3",path:"ha3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,dis:720,hp:145,ap:180,speed:800,
5203:{uuid:5203,name:"游侠3",path:"ha3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:145,ap:180,
skills:{6005:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:""},
5204:{uuid:5204,name:"游侠4",path:"ha4", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,dis:720,hp:145,ap:180,speed:800,
5204:{uuid:5204,name:"游侠4",path:"ha4", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:145,ap:180,
skills:{6005:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:""},
// ========== 辅助英雄 ==========
5301:{uuid:5301,name:"牧师",path:"hh1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,dis:720,hp:115,ap:50,speed:800,atking:[{s_uuid:6302,t_num:2}],
5301:{uuid:5301,name:"牧师",path:"hh1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:115,ap:50,atking:[{s_uuid:6302,t_num:2}],
skills:{6004:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:"" },
5302:{uuid:5302,name:"医师",path:"hh2", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,dis:720,hp:130,ap:50,speed:800,atking:[{s_uuid:6304,t_num:2}],
5302:{uuid:5302,name:"医师",path:"hh2", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,hp:130,ap:50,atking:[{s_uuid:6304,t_num:2}],
skills:{6004:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:""},
// ========== 辅助英雄 ==========
5401:{uuid:5401,name:"刺客1",path:"hc1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,dis:720,hp:115,ap:50,speed:800,atking:[{s_uuid:6302,t_num:2}],
5401:{uuid:5401,name:"刺客1",path:"hc1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:115,ap:50,atking:[{s_uuid:6302,t_num:2}],
skills:{6006:{uuid:6006,lv:1,cd:1.2,ccd:0}},info:"" },
5402:{uuid:5402,name:"刺客2",path:"hc2", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,dis:720,hp:130,ap:50,speed:800,atking:[{s_uuid:6304,t_num:2}],
5402:{uuid:5402,name:"刺客2",path:"hc2", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,hp:130,ap:50,atking:[{s_uuid:6304,t_num:2}],
skills:{6006:{uuid:6006,lv:1,cd:1.2,ccd:0}},info:""},
@@ -198,9 +198,9 @@ export const HeroInfo: Record<number, heroInfo> = {
skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""},
6003:{uuid:6003,name:"兽人卫士",path:"mo4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,dis:120,hp:1050,ap:30,speed:100,
skills:{6001:{uuid:6001,lv:1,cd:2,ccd:0}},info:""},
6004:{uuid:6004,name:"兽人射手",path:"mo2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,dis:720,hp:240,ap:45,speed:100,
6004:{uuid:6004,name:"兽人射手",path:"mo2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:240,ap:45,speed:100,
skills:{6001:{uuid:6101,lv:1,cd:1.5,ccd:0}},info:""},
6005:{uuid:6005,name:"兽人法师",path:"mo5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,dis:720,hp:240,ap:20,speed:100,
6005:{uuid:6005,name:"兽人法师",path:"mo5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:240,ap:20,speed:100,
skills:{6001:{uuid:6203,lv:1,cd:1.5,ccd:0}},info:""},
6006:{uuid:6006,name:"兽人首领",path:"mo6", fac:FacSet.MON,cards_lv:1,lv:6,type:HType.Melee,dis:120,hp:4500,ap:20,speed:100,
skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0}},info:""},
@@ -210,12 +210,12 @@ export const HeroInfo: Record<number, heroInfo> = {
skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""},
6103:{uuid:6103,name:"亡灵斥候",path:"mud3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,dis:120,hp:360,ap:12,speed:100,
skills:{6001:{uuid:6001,lv:1,cd:0.65,ccd:0}},info:""},
6102:{uuid:6102,name:"亡灵射手",path:"mud2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,dis:720,hp:240,ap:45,speed:100,
6102:{uuid:6102,name:"亡灵射手",path:"mud2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:240,ap:45,speed:100,
skills:{6001:{uuid:6101,lv:1,cd:1.5,ccd:0}},info:""},
// 6105:{uuid:6105,name:"兽人法师",path:"mud5", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,dis:120,hp:240,ap:20,speed:100,
// skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0},6003:{uuid:6003,lv:1,cd:10,ccd:0}},info:""},
// 6. 精英/BOSS型
6104:{uuid:6104,name:"亡灵法师",path:"mud4", fac:FacSet.MON,cards_lv:1,lv:6,type:HType.Long,dis:720,hp:1050,ap:30,speed:100,
6104:{uuid:6104,name:"亡灵法师",path:"mud4", fac:FacSet.MON,cards_lv:1,lv:6,type:HType.Long,hp:1050,ap:30,speed:100,
skills:{6204:{uuid:6204,lv:1,cd:2,ccd:0},6206:{uuid:6206,lv:1,cd:10,ccd:0}},info:""},
6105:{uuid:6105,name:"亡灵首领",path:"mud5", fac:FacSet.MON,cards_lv:1,lv:6,type:HType.Melee,dis:120,hp:4500,ap:20,speed:100,
skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0},6005:{uuid:6005,lv:1,cd:10,ccd:0}},info:""},
@@ -225,7 +225,7 @@ export const HeroInfo: Record<number, heroInfo> = {
skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0}},info:"自爆兵"},
6202:{uuid:6202,name:"骷髅自爆兵",path:"mud2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,dis:120,hp:180,ap:80,speed:150,
skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0}},info:"自爆兵"},
6203:{uuid:6203,name:"深渊召唤师",path:"hm2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,dis:720,hp:300,ap:15,speed:80,
6203:{uuid:6203,name:"深渊召唤师",path:"hm2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,hp:300,ap:15,speed:80,
skills:{6001:{uuid:6203,lv:1,cd:2,ccd:0}},info:"召唤师"},
6204:{uuid:6204,name:"暗影刺客",path:"hc1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,dis:120,hp:270,ap:55,speed:200,
skills:{6001:{uuid:6001,lv:1,cd:0.5,ccd:0}},info:"刺客"},

View File

@@ -111,10 +111,10 @@ export class Hero extends ecs.Entity {
model.pool_lv = pool_lv;
model.type = hero.type;
model.fac = FacSet.HERO;
model.dis = hero.dis;
model.dis = hero.dis ?? 720;
// 复制触发技能配置
model.call = hero.call;
// model.call = hero.call;
model.dead = hero.dead;
model.fstart = hero.fstart;
model.fend = hero.fend;
@@ -143,7 +143,7 @@ export class Hero extends ecs.Entity {
model.hp = model.hp_max = base_hp;
}
model.speed = hero.speed;
model.speed = hero.speed ?? 800;
// 构建技能表并注入运行时冷却字段 ccd
model.skills = {};

View File

@@ -164,13 +164,13 @@ export class Monster extends ecs.Entity {
model.hero_name = hero.name;
model.hp = model.hp_max = hero.hp;
model.ap = hero.ap;
model.speed = hero.speed;
model.speed = hero.speed ?? 800;
model.type = hero.type;
model.fac = FacSet.MON;
model.dis = hero.dis;
model.dis = hero.dis ?? 720;
// 复制触发技能配置
model.call = hero.call;
// model.call = hero.call;
model.dead = hero.dead;
model.fstart = hero.fstart;
model.fend = hero.fend;