diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index ee7fa28d..ef9f27e2 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -95,7 +95,7 @@ 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}; -// dis: number; // 攻击距离(像素) +dis: number; // 攻击距离(像素) speed: number; // 移动速度(像素/秒) skills: Record ; // 携带技能ID列表 info: string; // 描述文案 @@ -126,50 +126,50 @@ export interface HSkillInfo { export const HeroInfo: Record = { // ========== 近战英雄 ========== - 5001:{uuid:5001,name:"见习战士",path:"hk2", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Melee,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,dis:120,hp:150,ap:25,speed:800,atking:[{s_uuid:6301,t_num:2}], skills:{6001:{uuid:6001,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,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,dis:120,hp:150,ap:75,speed:800,atked:[{s_uuid:6301,t_num:2}], skills:{6001:{uuid:6001,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,hp:100,ap:100,speed:800, + 5003:{uuid:5003,name:"战士3",path:"hk3", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Melee,dis:120,hp:100,ap:100,speed:800, skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},info:"近战,闪击 近战dps"}, - 5004:{uuid:5004,name:"战士4",path:"hk4", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,speed:800, + 5004:{uuid:5004,name:"战士4",path:"hk4", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,dis:120,hp:100,ap:200,speed:800, skills:{6001:{uuid:6001,lv:1,cd:0.7,ccd:0}},info:"近战,火焰击 近战dps"}, - 5005:{uuid:5005,name:"战士5",path:"hk5", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,hp:100,ap:200,speed:800, + 5005:{uuid:5005,name:"战士5",path:"hk5", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Melee,dis:120,hp:100,ap:200,speed:800, skills:{6001:{uuid:6001,lv:1,cd:1.5,ccd:0}},info:"治疗近战,火焰击 近战dps"}, // ========== 法师英雄 ========== - 5101:{uuid:5101,name:"奥术法师",path:"hm2", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,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,dis:720,hp:150,ap:60,speed:800,revive:{s_uuid:6501,r_num:1,upr:0.5}, skills:{6201:{uuid:6007,lv:1,cd:1,ccd:0}},info:"冰球,冰锥 远法dps"}, - 5102:{uuid:5102,name:"火焰法师",path:"hm1", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,hp:130,ap:120,speed:800, + 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, skills:{6203:{uuid:6002,lv:1,cd:1,ccd:0}},info:"火击,火球 远法dps"}, - 5103:{uuid:5103,name:"冰法法师",path:"hm3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:145,ap:180,speed:800, + 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, skills:{6201:{uuid:6002,lv:1,cd:1,ccd:0}},info:"冰击,冰锥 远法dps"}, - 5104:{uuid:5104,name:"寒霜术士",path:"hm5", fac:FacSet.HERO,cards_lv:4,lv:1,type:HType.Long,hp:160,ap:240,speed:800, + 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, skills:{6201:{uuid:66002201,lv:1,cd:1,ccd:0}},info:"冰锥,冰刺 远法dps"}, - 5105:{uuid:5105,name:"炎爆法师",path:"hm4", fac:FacSet.HERO,cards_lv:5,lv:1,type:HType.Long,hp:175,ap:300,speed:800, + 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, skills:{6203:{uuid:6002,lv:1,cd:1,ccd:0}},info:"火球,陨石术 远法dps" }, // ========== 远程英雄 ========== - 5201:{uuid:5201,name:"射手",path:"ha1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,hp:115,ap:60,speed:800, + 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, skills:{6101:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:"普通射击,暴射 远dps"}, - 5202:{uuid:5202,name:"游侠2",path:"ha2", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:145,ap:180,speed:800, + 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, skills:{6011:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:"暴射,光箭 远dps"}, - 5203:{uuid:5203,name:"游侠3",path:"ha3", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:145,ap:180,speed:800, + 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, skills:{6011:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:"暴射,光箭 远dps"}, - 5204:{uuid:5204,name:"游侠4",path:"ha4", fac:FacSet.HERO,cards_lv:3,lv:1,type:HType.Long,hp:145,ap:180,speed:800, + 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, skills:{6011:{uuid:6005,lv:1,cd:0.9,ccd:0}},info:"暴射,光箭 远dps"}, // ========== 辅助英雄 ========== - 5301:{uuid:5301,name:"牧师",path:"hh1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,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,dis:720,hp:115,ap:50,speed:800,atking:[{s_uuid:6302,t_num:2}], skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:"冰锥1,治疗 远辅助" }, - 5302:{uuid:5302,name:"医师",path:"hh2", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,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,dis:720,hp:130,ap:50,speed:800,atking:[{s_uuid:6304,t_num:2}], skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:"冰锥1,群体治疗 远辅助"}, // ========== 辅助英雄 ========== - 5401:{uuid:5401,name:"刺客1",path:"hc1", fac:FacSet.HERO,cards_lv:1,lv:1,type:HType.Long,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,dis:720,hp:115,ap:50,speed:800,atking:[{s_uuid:6302,t_num:2}], skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:"冰锥1,治疗 远辅助" }, - 5402:{uuid:5402,name:"刺客2",path:"hc2", fac:FacSet.HERO,cards_lv:2,lv:1,type:HType.Long,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,dis:720,hp:130,ap:50,speed:800,atking:[{s_uuid:6304,t_num:2}], skills:{6202:{uuid:6004,lv:1,cd:1.2,ccd:0}},info:"冰锥1,群体治疗 远辅助"}, @@ -187,44 +187,44 @@ export const HeroInfo: Record = { //============== 兽人系列 =============== // 近战型 -6001:{uuid:6001,name:"兽人战士",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:360,ap:12,speed:100, +6001:{uuid:6001,name:"兽人战士",path:"mo1", 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:""}, -6002:{uuid:6002,name:"兽人斥候",path:"mo3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:360,ap:12,speed:100, +6002:{uuid:6002,name:"兽人斥候",path:"mo3", 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:""}, -6003:{uuid:6003,name:"兽人卫士",path:"mo4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:1050,ap:30,speed:100, +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,hp:240,ap:45,speed:100, +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, 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,hp:240,ap:20,speed:100, +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, 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:1,type:HType.Melee,hp:4500,ap:20,speed:100, +6006:{uuid:6006,name:"兽人首领",path:"mo6", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,dis:120,hp:4500,ap:20,speed:100, skills:{6002:{uuid:6002,lv:1,cd:2,ccd:0}},info:""}, //============== 亡灵系列 =============== // 近战型 -6101:{uuid:6101,name:"亡灵战士",path:"mud1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:360,ap:12,speed:100, +6101:{uuid:6101,name:"亡灵战士",path:"mud1", 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:""}, -6103:{uuid:6103,name:"亡灵斥候",path:"mud3", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:360,ap:12,speed:100, +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,hp:240,ap:45,speed:100, +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, 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,hp:240,ap:20,speed:100, +// 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:1,type:HType.Long,hp:1050,ap:30,speed:100, +6104:{uuid:6104,name:"亡灵法师",path:"mud4", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Long,dis:720,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:1,type:HType.Melee,hp:4500,ap:20,speed:100, +6105:{uuid:6105,name:"亡灵首领",path:"mud5", fac:FacSet.MON,cards_lv:1,lv:1,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:""}, //============== 特殊类型 (Bomber, Summoner, Assassin, Splitter) =============== -6201:{uuid:6201,name:"哥布林自爆兵",path:"mo2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:180,ap:80,speed:150, +6201:{uuid:6201,name:"哥布林自爆兵",path:"mo2", 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:"自爆兵"}, -6202:{uuid:6202,name:"骷髅自爆兵",path:"mud2", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:180,ap:80,speed:150, +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,hp:300,ap:15,speed:80, +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, 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,hp:270,ap:55,speed:200, +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:"刺客"}, -6205:{uuid:6205,name:"分裂软泥",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,hp:450,ap:20,speed:90, +6205:{uuid:6205,name:"分裂软泥",path:"mo1", fac:FacSet.MON,cards_lv:1,lv:1,type:HType.Melee,dis:120,hp:450,ap:20,speed:90, skills:{6001:{uuid:6001,lv:1,cd:1,ccd:0}},info:"分裂怪"}, }; diff --git a/assets/script/game/hero/Hero.ts b/assets/script/game/hero/Hero.ts index 4c11e747..f0ff38de 100644 --- a/assets/script/game/hero/Hero.ts +++ b/assets/script/game/hero/Hero.ts @@ -111,6 +111,7 @@ export class Hero extends ecs.Entity { model.pool_lv = pool_lv; model.type = hero.type; model.fac = FacSet.HERO; + model.dis = hero.dis; // 复制触发技能配置 model.call = hero.call; diff --git a/assets/script/game/hero/HeroAttrsComp.ts b/assets/script/game/hero/HeroAttrsComp.ts index afc1ace9..bf818228 100644 --- a/assets/script/game/hero/HeroAttrsComp.ts +++ b/assets/script/game/hero/HeroAttrsComp.ts @@ -254,8 +254,7 @@ export class HeroAttrsComp extends ecs.Comp { * @param skillsComp 技能组件 */ public updateSkillDistanceCache(): void { - const rangeType = this.type as HType.Melee | HType.Mid | HType.Long; - const maxRange = HeroDisVal[rangeType]; + const maxRange = this.dis; let minRange = 0; this.maxSkillDistance = maxRange; this.minSkillDistance = minRange; diff --git a/assets/script/game/hero/Mon.ts b/assets/script/game/hero/Mon.ts index f0cf5138..c4b96372 100644 --- a/assets/script/game/hero/Mon.ts +++ b/assets/script/game/hero/Mon.ts @@ -167,6 +167,7 @@ export class Monster extends ecs.Entity { model.speed = hero.speed; model.type = hero.type; model.fac = FacSet.MON; + model.dis = hero.dis; // 复制触发技能配置 model.call = hero.call; diff --git a/assets/script/game/hero/MonMoveComp.ts b/assets/script/game/hero/MonMoveComp.ts index ba2ea111..27cbabac 100644 --- a/assets/script/game/hero/MonMoveComp.ts +++ b/assets/script/game/hero/MonMoveComp.ts @@ -123,8 +123,7 @@ export class MonMoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpda private isEnemyInAttackRange(model: HeroAttrsComp, selfX: number, enemyX: number): boolean { const dist = Math.abs(selfX - enemyX); - const rangeType = model.type as HType.Melee | HType.Mid | HType.Long; - const attackRange = HeroDisVal[rangeType]; + const attackRange = model.dis; return dist <= attackRange; } diff --git a/assets/script/game/hero/MoveComp.ts b/assets/script/game/hero/MoveComp.ts index dbd75f6a..af9e8630 100644 --- a/assets/script/game/hero/MoveComp.ts +++ b/assets/script/game/hero/MoveComp.ts @@ -180,8 +180,7 @@ export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate private isEnemyInAttackRange(model: HeroAttrsComp, selfX: number, enemyX: number): boolean { const dist = Math.abs(selfX - enemyX); - const rangeType = model.type as HType.Melee | HType.Mid | HType.Long; - const attackRange = HeroDisVal[rangeType]; + const attackRange = model.dis; return dist <= attackRange; } diff --git a/assets/script/game/hero/SCastSystem.ts b/assets/script/game/hero/SCastSystem.ts index 429565a2..5f5ce698 100644 --- a/assets/script/game/hero/SCastSystem.ts +++ b/assets/script/game/hero/SCastSystem.ts @@ -670,12 +670,11 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate return frontEnemy.node.position.clone(); } - /** 计算英雄最大施法距离(优先缓存,其次按职业类型) */ + /** 计算英雄最大施法距离(优先缓存,其次按英雄配置的基础距离) */ private resolveMaxCastRange(heroAttrs: HeroAttrsComp, type: HType): number { const cached = heroAttrs.getCachedMaxSkillDistance(); if (cached > 0) return cached; - const rangeType = type as HType.Melee | HType.Mid | HType.Long; - return HeroDisVal[rangeType]; + return heroAttrs.dis; } /** 生成沿目标方向的施法目标坐标 */