++护盾技能

This commit is contained in:
2025-07-10 00:30:35 +08:00
parent 7dcaf19925
commit 541a944c0c
21 changed files with 1288 additions and 834 deletions

View File

@@ -22,6 +22,7 @@ export enum GameEvent {
MaxSkill = "MaxSkill",
UseEquipCard = "UseEquipCard",
CallHero = "CallHero",
Zhaohuan = "Zhaohuan",
MissionLoss = "MissionLoss",
MissionWin = "MissionWin",
MissionStart = "MissionStart",

View File

@@ -40,6 +40,7 @@ export enum SType {
heal = 1,
shield = 2,
buff = 3,
zhaohuan = 4,
}
//技能释放cd: 0:技能配置的cd,1:HeroViewComp.cd 值,2:HeroViewComp.pw:0值,当HeroViewComppw==HeroViewComp.pwm值是 释放
export enum CdType {
@@ -185,7 +186,7 @@ hp:增加当前生命比例
cd:buff/debuff持续时间
/debhit:1,hited:伤害时间
shield:增加护盾占最大生命比例
speed:移动速度
heal:0,speed:移动速度
hero:召唤物英雄id
cost:10,info:技能描述
@@ -208,101 +209,101 @@ export const getSkills=(quality:number)=>{
export const SkillSet = {
6001:{uuid:6001,name:"凛冬之触",for_hero:false,sp_name:"greenball",path:"3034",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害"},
6002:{uuid:6002,name:"穿心箭矢",for_hero:false,sp_name:"arrow",path:"3037",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.parabolic,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人释放箭矢,造成100%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人释放箭矢,造成100%攻击的伤害"},
6003:{uuid:6003,name:"神圣护盾",for_hero:false,sp_name:"shield",path:"3045",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Self,SType:SType.shield,act:"atk",DTType:DTType.single,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.animationEnd,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:30,speed:720,hero:0,cost:10,info:"召唤圣盾保护自己,可以抵御3次攻击"},
6003:{uuid:6003,name:"护盾",for_hero:true,sp_name:"buff_to",path:"3045",quality:Quality.BLUE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Team,SType:SType.shield,act:"atk",DTType:DTType.single,CdType:2,AType:AType.StartEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:1,ap:0,cd:10,hit:1,hited:0.3,shield:2,heal:0,speed:720,hero:0,cost:10,info:"为最前排队友召唤一个可以抵御2次攻击的圣盾(最高叠加到6次)"},
6004:{uuid:6004,name:"自愈", for_hero:true, sp_name:"heath_small",path:"3056",quality:Quality.GREEN, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Self,SType:SType.heal,act:"atk",DTType:DTType.single,CdType:2,AType:AType.StartEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:1,ap:0,cd:5,hit:0,hited:0,shield:0,speed:0,hero:0,cost:10,info:"主动:自己回复自身5%最大生命值的生命"},
6004:{uuid:6004,name:"治疗", for_hero:true, sp_name:"heath_small",path:"3056",quality:Quality.GREEN, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Team,SType:SType.heal,act:"atk",DTType:DTType.single,CdType:2,AType:AType.StartEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:1,ap:0,cd:5,hit:0,hited:0,shield:0,heal:10,speed:0,hero:0,cost:10,info:"回复最前排队友10%最大生命值的生命"},
6005:{uuid:6005,name:"基础打击",for_hero:false,sp_name:"base1",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6006:{uuid:6006,name:"基础打击",for_hero:false,sp_name:"base2",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6007:{uuid:6007,name:"基础打击",for_hero:false,sp_name:"base3",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6008:{uuid:6008,name:"基础打击",for_hero:false,sp_name:"base4",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,
maxC:1, TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6008:{uuid:6008,name:"基础打击",for_hero:false,sp_name:"base4",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6009:{uuid:6009,name:"铁斧打击",for_hero:false,sp_name:"base_ft",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6010:{uuid:6010,name:"木棍打击",for_hero:false,sp_name:"base_mg",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出木棍,造成100%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出木棍,造成100%攻击的伤害"},
6011:{uuid:6011,name:"飞刀打击",for_hero:false,sp_name:"mon_xd",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出飞刀,造成100%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出飞刀,造成100%攻击的伤害"},
6012:{uuid:6012,name:"石斧打击",for_hero:false,sp_name:"base_sf",path:"3036",quality:Quality.WHITE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:1,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:0,
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出石斧,造成100%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"向最前方敌人扔出石斧,造成100%攻击的伤害"},
6020:{uuid:6020,name:"冰暴",for_hero:true,sp_name:"bingyu",path:"3135",quality:Quality.BLUE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:90,
debuff:4,deV:0,deC:0,deR:100,in:4,ap:80,cd:5,hit:1,hited:1,shield:0,speed:720,hero:0,cost:10,info:"射出能量暴风箭攻击最前方范围敌人,每波造成80%攻击的伤害"},
debuff:4,deV:0,deC:0,deR:100,in:4,ap:80,cd:5,hit:1,hited:1,shield:0,heal:0,speed:720,hero:0,cost:10,info:"射出能量暴风箭攻击最前方范围敌人,每波造成80%攻击的伤害"},
6021:{uuid:6021,name:"火龙",for_hero:true,sp_name:"firequan",path:"3061",quality:Quality.BLUE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.timeEnd,fname:"max",flash:false,with:90,
debuff:0,deV:0,deC:0,deR:100,in:10,ap:100,cd:5,hit:1,hited:1,shield:0,speed:80,hero:0,cost:10,info:"召唤烈焰攻击前方敌人,造成200%攻击的伤害,烈焰维持3秒"},
debuff:0,deV:0,deC:0,deR:100,in:10,ap:100,cd:5,hit:1,hited:1,shield:0,heal:0,speed:80,hero:0,cost:10,info:"召唤烈焰攻击前方敌人,造成200%攻击的伤害,烈焰维持3秒"},
6022:{uuid:6022,name:"大火球" ,for_hero:true,sp_name:"fire",path:"3039",quality:Quality.GREEN, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
debuff:DebuffAttr.STUN,deV:20,deC:1,deR:100,in:1,ap:100,cd:5,hit:2,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"},
debuff:DebuffAttr.STUN,deV:20,deC:1,deR:100,in:1,ap:100,cd:5,hit:2,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"},
6023:{uuid:6023,name:"龙卷风",for_hero:true, sp_name:"bwind",path:"3065",quality:Quality.GREEN, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"max",DTType:DTType.single,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:1,shield:0,speed:360,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"},
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:1,shield:0,heal:0,speed:360,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"},
6024:{uuid:6024,name:"寒冰箭",for_hero:true, sp_name:"arrow_blue",path:"3060",quality:Quality.GREEN, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
debuff:DebuffAttr.FROST,deV:1,deC:0,deR:100,in:1,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
debuff:DebuffAttr.FROST,deV:1,deC:0,deR:100,in:1,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
6025:{uuid:6025,name:"烈焰射击",for_hero:false,sp_name:"arrow_yellow",path:"3014",quality:Quality.GREEN, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"atk",DTType:DTType.single,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
debuff:DebuffAttr.STUN,deV:0,deC:0,deR:100,in:1,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人"},
debuff:DebuffAttr.STUN,deV:0,deC:0,deR:100,in:1,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人"},
6026:{uuid:6026,name:"火墙", for_hero:true, sp_name:"firewall",path:"3040",quality:Quality.BLUE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:90,
debuff:0,deV:0,deC:0,deR:100,in:10,ap:50,cd:5,hit:1,hited:1,shield:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤一堵火墙,持续10秒,每秒造成50%攻击伤害"},
debuff:0,deV:0,deC:0,deR:100,in:10,ap:50,cd:5,hit:1,hited:1,shield:0,heal:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤一堵火墙,持续10秒,每秒造成50%攻击伤害"},
6027:{uuid:6027,name:"冰刺",for_hero:true,sp_name:"icez",path:"3049",quality:Quality.BLUE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90,
debuff:DebuffAttr.FROST,deV:0,deC:0,deR:100,in:1,ap:300,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
debuff:DebuffAttr.FROST,deV:0,deC:0,deR:100,in:1,ap:300,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
6028:{uuid:6028,name:"潮汐", for_hero:true, sp_name:"watert",path:"3070",quality:Quality.BLUE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90,
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"},
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"},
6029:{uuid:6029,name:"陨石术",for_hero:true, sp_name:"fireys",path:"3123",quality:Quality.BLUE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90,
debuff:0,deV:0,deC:0,deR:100,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"},
6030:{uuid:6030,name:"冰墙", for_hero:false, sp_name:"icet",path:"3050",quality:Quality.GREEN, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Enemy,SType:SType.damage,act:"max",DTType:DTType.range,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.animationEnd,fname:"max",flash:false,with:90,
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:1,ap:400,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"},
6031:{uuid:6031,name:"召唤仆从",for_hero:true,sp_name:"zhaohuan",path:"3018",quality:Quality.PURPLE, TType:TType.Frontline,maxC:1,
TGroup:TGroup.Self,SType:SType.damage,act:"max",DTType:DTType.single,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.animationEnd,fname:"max_blue",flash:true,with:90,
debuff:0,deV:0,deC:0,deR:100,in:2,ap:70,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:5211,cost:10,info:"召唤一个与施法者等级相同的骷髅战士为我方而战"},
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:1,ap:400,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"},
//召唤取消
// 6031:{uuid:6031,name:"召唤骷髅",for_hero:true,sp_name:"zhaohuan",path:"3018",quality:Quality.GREEN, TType:TType.Frontline,maxC:1,
// TGroup:TGroup.Self,SType:SType.zhaohuan,act:"max",DTType:DTType.single,CdType:2,AType:AType.fixedStart,RType:RType.fixed,EType:EType.animationEnd,fname:"max_blue",flash:true,with:90,
// debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:70,cd:60,hit:1,hited:1,shield:0,heal:0,speed:720,hero:5221,cost:10,info:"召唤一个骷髅战士为我方而战"},
6032:{uuid:6032,name:"陨石风暴",for_hero:true, sp_name:"fireys",path:"3101",quality:Quality.PURPLE, TType:TType.Frontline,maxC:5,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90,
debuff:0,deV:0,deC:0,deR:100,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"},
debuff:0,deV:0,deC:0,deR:100,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,heal:0,speed:720,hero:0,cost:10,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"},
6033:{uuid:6033,name:"龙卷风爆",for_hero:true, sp_name:"bwind",path:"3069",quality:Quality.PURPLE, TType:TType.Frontline,maxC:5,
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.single,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:1,shield:0,speed:360,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"},
TGroup:TGroup.Ally,SType:SType.damage,act:"max",DTType:DTType.range,CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:1,shield:0,heal:0,speed:360,hero:0,cost:10,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"},
};

View File

@@ -195,6 +195,7 @@ export class HeroViewComp extends CCComp {
add_shield(shield:number){
this.shield =shield
if(this.shield>6) this.shield=6
if(this.shield>0) this.BUFFCOMP.show_shield(true)
}
// add_cd(cd: number){
@@ -255,19 +256,30 @@ export class HeroViewComp extends CCComp {
add_hp(hp: number = 0,is_num:boolean=true) {
this.BUFFCOMP.heathed();
let real_hp=0
let hp_max=Math.floor(this.hp_max*(100+this.buff_hp)/100)
let lost_hp=hp_max-this.hp
if(is_num){
this.hp+=Math.floor(hp);
if(lost_hp > hp){
real_hp=Math.floor(hp);
}else{
real_hp=lost_hp;
}
}else{
this.hp+=Math.floor(hp/100*this.hp_max);
if(lost_hp > hp/100*hp_max){
real_hp=Math.floor(hp/100*hp_max);
}else{
real_hp=lost_hp;
}
}
if(this.hp > this.hp_max){
this.hp = this.hp_max;
if(real_hp > 0){
this.hp+=real_hp;
this.BUFFCOMP.tooltip(TooltipTypes.health,real_hp.toFixed(0));
}
this.BUFFCOMP.tooltip(TooltipTypes.health,hp.toFixed(0));
this.BUFFCOMP.vmdata_update(true)
}
/** 静止时间 */
in_stop (dt: number) {
if(this.stop_cd > 0){

View File

@@ -87,7 +87,7 @@ export class SkillConComp extends CCComp {
target = this.node.position
break
case TGroup.Team: //所有友方
target = this.selectTeamFront()
break
case TGroup.All: //所有单位
@@ -164,7 +164,22 @@ export class SkillConComp extends CCComp {
pos=v3(this.get_front(entities),0)
return pos
}
private selectTeamFront(){
let pos=this.node.position
let entities=null
if(this.HeroView.fac==FacSet.HERO){
entities=ecs.query(ecs.allOf(HeroModelComp))
}else{
entities=ecs.query(ecs.allOf(MonModelComp))
}
if(entities.length==0){
return pos
}
let keyPos = this.HeroView.fac==FacSet.HERO ?
Math.max(...entities.map(e => e.get(HeroViewComp).node.position.x)) :
Math.min(...entities.map(e => e.get(HeroViewComp).node.position.x));
return v3(keyPos,20)
}
private selectAllyTargets( ): Vec3 {
// 敌方最前排是x坐标最大的+50我方最前排是x坐标最小的+50,若目标不存在,敌人 取320/2,我方取-320/2
let kp=0

View File

@@ -25,6 +25,7 @@ export class MissionHeroCompComp extends CCComp {
this.on(GameEvent.UseHeroCard,this.call_hero,this)
this.on(GameEvent.ChangeATK_EQUIP_SPECIAL_ATTR,this.change_equip_qpecial_attr,this)
this.on(GameEvent.FightReady,this.fight_ready,this)
this.on(GameEvent.Zhaohuan,this.zhao_huan,this)
}
start() {
@@ -47,7 +48,10 @@ export class MissionHeroCompComp extends CCComp {
change_equip_qpecial_attr(e:GameEvent,data:any){
}
private zhao_huan(event: string, args: any){
console.log("[MissionHeroComp]:zhaohuan",args)
this.addHero(args.uuid,false,true)
}
up_friend_alive_cd(less:number){
}
@@ -135,11 +139,14 @@ export class MissionHeroCompComp extends CCComp {
}
/** 添加英雄 */
private addHero(uuid:number=1001,is_master:boolean=false) {
private addHero(uuid:number=1001,is_master:boolean=false,is_zhaohuan:boolean=false) {
let hero_pos=1
if(is_master){
hero_pos=0
}
if(is_zhaohuan){
hero_pos=2
}
let info:any=this.get_info_and_remove(hero_pos,uuid)
// let info:any={ap:0,hp:0,lv:0}
let hero = ecs.getEntity<Hero>(Hero);

View File

@@ -88,6 +88,8 @@ export class Skill extends ecs.Entity {
SComp.caster_crit_d = ap_data.crit_d
SComp.puncture = ap_data.puncture
SComp.puncture_damage = ap_data.puncture_damage
SComp.heal = config.heal
SComp.shield = config.shield
// 设置技能组件属性
Object.assign(SComp, {
s_uuid: uuid,
@@ -101,7 +103,7 @@ export class Skill extends ecs.Entity {
group: caster.box_group,
fac: caster.fac,
scale: caster.scale,
animName: config.animName
animName: config.animName,
});
this.add(SComp);

View File

@@ -4,7 +4,7 @@ import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/modu
import { smc } from "../common/SingletonModuleComp";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { GameEvent } from "../common/config/GameEvent";
import { AType, EType, RType, SkillSet } from "../common/config/SkillSet";
import { AType, DTType, EType, RType, SkillSet, SType, TGroup } from "../common/config/SkillSet";
import { BoxSet, FacSet } from "../common/config/BoxSet";
import { HeroFac, HeroSet } from "../common/config/heroSet";
import { HeroViewComp } from "../hero/HeroViewComp";
@@ -42,6 +42,8 @@ export class SkillCom extends CCComp {
distance_x:number=0;
distance_y:number=0;
ap:number=0;
heal:number=0;
shield:number=0;
FIGHTCON:FightConComp=null;
run_time:number=0;
hited_time:number=0;
@@ -110,6 +112,13 @@ export class SkillCom extends CCComp {
}
}
break;
case AType.fixedStart:
this.node.setPosition(this.startPos.x,this.startPos.y,0)
this.scheduleOnce(()=>{
this.do_buff()
console.log("[SkillCom]:fixedStart",SkillSet[this.s_uuid].in-0.2)
},SkillSet[this.s_uuid].in-0.2)
break;
}
@@ -150,7 +159,7 @@ export class SkillCom extends CCComp {
target.add_debuff(debuff.debuff,dev,deC,deR)
}
this.hit_count++
if(this.hit_count>=(SkillSet[this.s_uuid].hit+this.puncture)&&(this.EType!=EType.animationEnd&&this.EType!=EType.timeEnd)) this.is_destroy=true // 技能命中次数
if(this.hit_count>=(SkillSet[this.s_uuid].hit+this.puncture)&&(SkillSet[this.s_uuid].DTType!=DTType.range)) this.is_destroy=true // 技能命中次数
}
onBeginContact (seCol: Collider2D, oCol: Collider2D) {
@@ -179,7 +188,7 @@ export class SkillCom extends CCComp {
* 执行2段位移先升高然后移到目的地
*/
private executeTwoStageMovement() {
const totalDuration = SkillSet[this.s_uuid].in;
const totalDuration = SkillSet[this.s_uuid].in-0.1
const firstStageDuration = totalDuration * 0.4; // 第一段占40%时间
const secondStageDuration = totalDuration * 0.6; // 第二段占60%时间
@@ -204,9 +213,25 @@ export class SkillCom extends CCComp {
})
.start();
}
do_buff(){
private do_buff(){
console.log("[SkillCom]:do_buff")
let teams=ecs.query(ecs.allOf(HeroModelComp))
if(this.fac==FacSet.MON) teams=ecs.query(ecs.allOf(MonModelComp))
if(SkillSet[this.s_uuid].TGroup==TGroup.Team||SkillSet[this.s_uuid].TGroup==TGroup.Self) {
teams.forEach(entity => {
let view=entity.get(HeroViewComp)
if(view.node.position.x==this.targetPos.x){
if(SkillSet[this.s_uuid].SType==SType.heal){
view.add_hp(this.heal,false)
}
if(SkillSet[this.s_uuid].SType==SType.shield){
view.add_shield(this.shield)
}
}
});
}
}
private startLinearMove(dt: number) {
if (!this.speed || this.is_destroy) return;
if(this.s_uuid == 6005){
@@ -243,7 +268,7 @@ export class SkillCom extends CCComp {
}
//范围伤害
this.hited_time+=deltaTime
if(this.hited_time>config.hited&&(config.EType==EType.animationEnd||config.EType==EType.timeEnd)){
if(this.hited_time>config.hited&&(SkillSet[this.s_uuid].DTType==DTType.range)){
this.hited_time=0
this.range_damage()
}