dd
This commit is contained in:
@@ -150,15 +150,15 @@ export const SuperCards={
|
||||
info:"攻击触发提高英雄/伙伴属性的效果,额外添加+1攻击力"},
|
||||
3002:{uuid:3002,name:"附魔宝典",quality:Quality.WHITE,path:"3002",type:SuperCardsType.SPECIAL,value1:1,value2:0,value3:0,
|
||||
info:"攻击触发高英雄/伙伴属性的效果,额外添加+1生命值"},
|
||||
3101:{uuid:3101,name:"陨石术",quality:Quality.GREEN,path:"3101",type:SuperCardsType.AOE,value1:SkillSet[6019].uuid,value2:3,value3:0,
|
||||
3101:{uuid:3101,name:"陨石术",quality:Quality.GREEN,path:"3101",type:SuperCardsType.AOE,value1:SkillSet[6019].uuid,value2:10,value3:0,
|
||||
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
|
||||
3102:{uuid:3102,name:"冰刺",quality:Quality.BLUE,path:"3102",type:SuperCardsType.AOE,value1:SkillSet[6017].uuid,value2:3,value3:0,
|
||||
3102:{uuid:3102,name:"冰刺",quality:Quality.BLUE,path:"3102",type:SuperCardsType.AOE,value1:SkillSet[6017].uuid,value2:10,value3:0,
|
||||
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
|
||||
3103:{uuid:3103,name:"潮汐",quality:Quality.BLUE,path:"3103",type:SuperCardsType.AOE,value1:SkillSet[6018].uuid,value2:3,value3:0,
|
||||
3103:{uuid:3103,name:"潮汐",quality:Quality.BLUE,path:"3103",type:SuperCardsType.AOE,value1:SkillSet[6018].uuid,value2:10,value3:0,
|
||||
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
|
||||
3104:{uuid:3104,name:"龙卷风",quality:Quality.BLUE,path:"3104",type:SuperCardsType.AOE,value1:SkillSet[6013].uuid,value2:3,value3:0,
|
||||
3104:{uuid:3104,name:"龙卷风",quality:Quality.BLUE,path:"3104",type:SuperCardsType.AOE,value1:SkillSet[6013].uuid,value2:10,value3:0,
|
||||
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
|
||||
3105:{uuid:3105,name:"火球风暴",quality:Quality.PURPLE,path:"3105",type:SuperCardsType.AOE,value1:SkillSet[6012].uuid,value2:3,value3:0,
|
||||
3105:{uuid:3105,name:"火球风暴",quality:Quality.PURPLE,path:"3105",type:SuperCardsType.AOE,value1:SkillSet[6012].uuid,value2:10,value3:0,
|
||||
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
|
||||
3106:{uuid:3106,name:"冰雨",quality:Quality.PURPLE,path:"3106",type:SuperCardsType.AOE,value1:SkillSet[6020].uuid,value2:3,value3:0,
|
||||
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { app } from "electron";
|
||||
import { BuffAttr, DebuffAttr } from "./SkillSet";
|
||||
import { BuffAttr } from "./SkillSet";
|
||||
|
||||
// 装备类型
|
||||
export enum EquipType {
|
||||
@@ -21,9 +21,9 @@ export enum SkillTarget {
|
||||
WATER = 2,
|
||||
EARTH = 3,
|
||||
WIND = 4,
|
||||
LIGHT = 5,
|
||||
DARK = 6,
|
||||
}
|
||||
LIGHT = 5,
|
||||
DARK = 6,
|
||||
}
|
||||
//特殊属性
|
||||
export enum EquipSpecialAttr {
|
||||
ICE=1, //普通技能变冰系冰冻
|
||||
@@ -36,7 +36,7 @@ export enum EquipSpecialAttr {
|
||||
ATK_ADD_MASTER_ATK=8, //主将攻击力增加
|
||||
ATK_ADD_MASTER_HP=9, //主将生命值增加
|
||||
DOUBLE_DEAD=10, //双倍死亡触发
|
||||
DOUBLE_ATKED=11, //双倍受击触发
|
||||
DOUBLE_ATKED=11, //双倍受击触发\
|
||||
}
|
||||
export enum Quality {
|
||||
WHITE = 1,
|
||||
@@ -56,15 +56,11 @@ export interface EquipAttribute {
|
||||
value: number; // 属性值
|
||||
target?: EquipAttrTarget; // 属性作用目标(可选)
|
||||
}
|
||||
|
||||
export interface EquipSpecialAttrData {
|
||||
special_attr: EquipSpecialAttr; // 特殊属性
|
||||
special_attr_value: number; // 特殊属性值
|
||||
}
|
||||
export interface EquipDebuffAttribute {
|
||||
type: DebuffAttr; // 属性类型
|
||||
value: number; // 属性值
|
||||
target?: EquipAttrTarget; // 属性作用目标(可选)
|
||||
}
|
||||
|
||||
// 装备基础接口
|
||||
export interface EquipData {
|
||||
|
||||
@@ -92,6 +92,8 @@ export enum BuffAttr {
|
||||
DODGE_NO = 13, //闪避免疫
|
||||
DEBUFF_COUNT = 14, //debuff次数
|
||||
DEBUFF_VALUE = 15, //debuff效果
|
||||
DEBUFF_UP = 16, //debuff概率提升
|
||||
DEBUFF_DOWN = 17, //被debuff概率降低
|
||||
}
|
||||
|
||||
export const geDebuffNum=()=>{
|
||||
@@ -128,6 +130,8 @@ export const getBuffNum=()=>{
|
||||
DODGE_NO:0, //闪避免疫
|
||||
DEBUFF_COUNT:0, //debuff次数
|
||||
DEBUFF_VALUE:0, //debuff效果
|
||||
DEBUFF_UP:0, //debuff概率提升
|
||||
DEBUFF_DOWN:0, //被debuff概率降低
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +148,7 @@ path: 图片地址
|
||||
depb:触发比率
|
||||
debtime :持续时间
|
||||
derate:伤害比率
|
||||
deV:0,deC:0,in:持续时间
|
||||
deV:0,deC:0,deR:100,in:持续时间
|
||||
count:触发次数
|
||||
def:增加防御比例
|
||||
apup:增加攻击比例
|
||||
@@ -158,92 +162,92 @@ speed:移动速度
|
||||
sonsk:子技能id
|
||||
hero:召唤物英雄id
|
||||
info:技能描述
|
||||
|
||||
debuff 按次数进行结算,在多次生效内,有一定的叠加,debuff.deC为次数,debuff.deV为效果
|
||||
*/
|
||||
export const HeroSkillList = [6001,6001,6001,6001,6001,6001]
|
||||
export const SkillSet = {
|
||||
6001:{uuid:6001,name:"凛冬之触",sp_name:"greenball",path:"6001",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害"},
|
||||
|
||||
6002:{uuid:6002,name:"穿心箭矢",sp_name:"arrow",path:"6006",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放箭矢,造成100%攻击的伤害"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放箭矢,造成100%攻击的伤害"},
|
||||
|
||||
6003:{uuid:6003,name:"神圣护盾",sp_name:"shield",path:"6018",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Self,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:EType.animationEnd,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:30,speed:720,sonsk:0,hero:0,info:"召唤圣盾保护自己,可以抵御3次攻击"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:30,speed:720,sonsk:0,hero:0,info:"召唤圣盾保护自己,可以抵御3次攻击"},
|
||||
|
||||
6004:{uuid:6004,name:"自愈", sp_name:"heath_small",path:"6032",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Self,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:EType.animationEnd,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:2,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"主动:自己回复自身5%最大生命值的生命"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:2,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"主动:自己回复自身5%最大生命值的生命"},
|
||||
|
||||
6007:{uuid:6007,name:"铁斧打击",sp_name:"mon_ft",path:"6007",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
|
||||
6008:{uuid:6008,name:"木棍打击",sp_name:"mon_ly",path:"6008",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出木棍,造成100%攻击的伤害"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出木棍,造成100%攻击的伤害"},
|
||||
6009:{uuid:6009,name:"飞刀打击",sp_name:"mon_xd",path:"6009",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出飞刀,造成100%攻击的伤害"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出飞刀,造成100%攻击的伤害"},
|
||||
6010:{uuid:6010,name:"石斧打击",sp_name:"mon_sf",path:"6010",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出石斧,造成100%攻击的伤害"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:0.8,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出石斧,造成100%攻击的伤害"},
|
||||
|
||||
|
||||
6012:{uuid:6012,name:"大火球" ,sp_name:"fire",path:"6012",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"atk",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:DebuffAttr.BURN,deV:20,deC:1,in:1,ap:100,cd:5,hit:2,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"},
|
||||
debuff:DebuffAttr.STUN,deV:20,deC:1,deR:100,in:1,ap:100,cd:5,hit:2,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"},
|
||||
|
||||
6013:{uuid:6013,name:"龙卷风", sp_name:"bwind",path:"6016",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:DebuffAttr.BACK,deV:0,deC:0,in:3,ap:100,cd:5,hit:1,hited:1,shield:0,speed:360,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"},
|
||||
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:1,shield:0,speed:360,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"},
|
||||
|
||||
6014:{uuid:6014,name:"寒冰箭", sp_name:"arrow_blue",path:"6014",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"atk",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:DebuffAttr.FROST,deV:1,deC:0,in:1,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,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,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
|
||||
|
||||
6015:{uuid:6015,name:"烈焰射击",sp_name:"arrow_yellow",path:"6015",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"atk",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:EType.collision,fname:"max",flash:false,with:90,
|
||||
debuff:DebuffAttr.STUN,deV:0,deC:0,in:1,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,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,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人"},
|
||||
|
||||
6016:{uuid:6016,name:"火墙", sp_name:"firewall",path:"6013",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:10,ap:50,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤一堵火墙,持续10秒,每秒造成50%攻击伤害"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:10,ap:50,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤一堵火墙,持续10秒,每秒造成50%攻击伤害"},
|
||||
|
||||
6017:{uuid:6017,name:"冰刺",sp_name:"icez",path:"6022",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90,
|
||||
debuff:DebuffAttr.FROST,deV:0,deC:0,in:1,ap:300,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,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,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
|
||||
6018:{uuid:6018,name:"潮汐", sp_name:"watert",path:"6026",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90,
|
||||
debuff:DebuffAttr.BACK,deV:0,deC:0,in:3,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,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,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"},
|
||||
6019:{uuid:6019,name:"陨石术", sp_name:"fireys",path:"6029",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.animationEnd,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"},
|
||||
|
||||
6020:{uuid:6020,name:"冰暴",sp_name:"bingyu",path:"6034",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.fixed,EType:EType.timeEnd,fname:"max",flash:false,with:90,
|
||||
debuff:4,deV:0,deC:0,in:4,ap:80,cd:5,hit:1,hited:1,shield:0,speed:720,sonsk:0,hero:0,info:"射出能量暴风箭攻击最前方范围敌人,每波造成80%攻击的伤害"},
|
||||
debuff:4,deV:0,deC:0,deR:100,in:4,ap:80,cd:5,hit:1,hited:1,shield:0,speed:720,sonsk:0,hero:0,info:"射出能量暴风箭攻击最前方范围敌人,每波造成80%攻击的伤害"},
|
||||
|
||||
6021:{uuid:6021,name:"烈火呼吸",sp_name:"firequan",path:"6011",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Ally,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.timeEnd,fname:"max",flash:false,with:90,
|
||||
debuff:0,deV:0,deC:0,in:3,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤烈焰攻击前方敌人,造成200%攻击的伤害,烈焰维持3秒"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:3,ap:100,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤烈焰攻击前方敌人,造成200%攻击的伤害,烈焰维持3秒"},
|
||||
|
||||
|
||||
|
||||
6023:{uuid:6023,name:"冰墙", sp_name:"icet",path:"6023",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:EType.animationEnd,fname:"max",flash:false,with:90,
|
||||
debuff:DebuffAttr.BACK,deV:0,deC:0,in:1,ap:400,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"},
|
||||
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:1,ap:400,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"},
|
||||
|
||||
6025:{uuid:6025,name:"火焰漩涡",sp_name:"fireball",path:"6025",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Enemy,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:EType.timeEnd,fname:"max",flash:false,with:90,
|
||||
debuff:DebuffAttr.BACK,deV:0,deC:0,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤一个能量球射向前方敌人,对遇到的第一个敌人造成500%攻击的伤害,并击退"},
|
||||
debuff:DebuffAttr.BACK,deV:0,deC:0,deR:100,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤一个能量球射向前方敌人,对遇到的第一个敌人造成500%攻击的伤害,并击退"},
|
||||
|
||||
|
||||
6031:{uuid:6031,name:"召唤仆从",sp_name:"zhaohuan",path:"6031",quality:Quality.WHITE, TType:TType.Frontline,
|
||||
TGroup:TGroup.Self,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:EType.animationEnd,fname:"max_blue",flash:true,with:90,
|
||||
debuff:0,deV:0,deC:0,in:2,ap:70,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:5211,info:"召唤一个与施法者等级相同的骷髅战士为我方而战"},
|
||||
debuff:0,deV:0,deC:0,deR:100,in:2,ap:70,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:5211,info:"召唤一个与施法者等级相同的骷髅战士为我方而战"},
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -162,6 +162,12 @@ export class BuffComp extends Component {
|
||||
node.parent = this.node;
|
||||
}
|
||||
|
||||
lv_up(){
|
||||
var path = "game/skills/lvup";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
node.parent = this.node;
|
||||
}
|
||||
show_do_buff(name:string){
|
||||
var path = "game/skills/"+name;
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
@@ -187,6 +193,7 @@ export class BuffComp extends Component {
|
||||
node.parent = this.node;
|
||||
}
|
||||
in_iced(t:number=1,ap:number=0) {
|
||||
console.log("[buffcomp]:in_iced",this.HeroView.hero_name,t,ap)
|
||||
var path = "game/skills/iced";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
|
||||
@@ -15,6 +15,7 @@ import { FightSet } from "../common/config/Mission";
|
||||
import { getApIncrease, getHpIncrease, getUpExp, HeroPos } from "../common/config/heroSet";
|
||||
import { FriendModelComp } from "./FriendModel";
|
||||
import { MasterModelComp } from "./MasterModel";
|
||||
import { RandomManager } from "db://oops-framework/core/common/random/RandomManager";
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
|
||||
@@ -84,15 +85,17 @@ export class HeroViewComp extends CCComp {
|
||||
double_dead:boolean=false
|
||||
double_atked:boolean=false
|
||||
|
||||
BUFF_DEFS: Array<{value: number, count: number}> = []
|
||||
BUFF_ATKS: Array<{value: number, count: number}> = []
|
||||
BUFF_CDS: Array<{value: number, count: number}> = []
|
||||
DEBUFF_BURNS: Array<{value: number, count: number}> = []
|
||||
DEBUFF_DEATKS: Array<{value: number, count: number}> = []
|
||||
DEBUFF_DECDS: Array<{value: number, count: number}> = []
|
||||
DEBUFF_SLOW: number = 0;
|
||||
DEBUFF_FROST: number = 0;
|
||||
DEBUFF_STUN: number = 0;
|
||||
BUFF_DEFS: Array<{value: number, count: number}> = [] //防御提升
|
||||
BUFF_ATKS: Array<{value: number, count: number}> = [] //攻击提升
|
||||
BUFF_CDS: Array<{value: number, count: number}> = [] //攻击加速
|
||||
BUFF_DEDOWN:Array<{value: number, count: number}> = [] //debuff 概率降低
|
||||
|
||||
DEBUFF_BURNS: Array<{value: number, count: number}> = [] //易伤
|
||||
DEBUFF_DEATKS: Array<{value: number, count: number}> = [] //减攻击
|
||||
DEBUFF_DECDS: Array<{value: number, count: number}> = [] //减攻击速度
|
||||
DEBUFF_SLOW: number = 0; //减速
|
||||
DEBUFF_FROST: number = 0; //冰冻
|
||||
DEBUFF_STUN: number = 0; //眩晕
|
||||
|
||||
private damageQueue: Array<{
|
||||
damage: number,
|
||||
@@ -336,8 +339,37 @@ export class HeroViewComp extends CCComp {
|
||||
oops.message.dispatchEvent(GameEvent.FightEnd,{victory:false})
|
||||
}
|
||||
}
|
||||
get_buff(){
|
||||
let buff=null
|
||||
if(this.is_master) buff=this.FIGHTCON.hero_buff
|
||||
if(this.is_friend) buff=this.FIGHTCON.friend_buff
|
||||
if(this.is_boss) buff=this.FIGHTCON.enemy_buff
|
||||
if(this.is_kalami) buff=this.FIGHTCON.enemy_buff
|
||||
if(buff==null) return
|
||||
return buff
|
||||
}
|
||||
get_debuff(){
|
||||
|
||||
}
|
||||
add_debuff(type:number,deV:number,deC:number,deR:number){
|
||||
let DEBUFF_DOWN=0
|
||||
let buff_debuff_down=0
|
||||
let buff=this.get_buff()
|
||||
if(buff!==null) buff_debuff_down=buff.DEBUFF_DOWN
|
||||
for(let i=0;i<this.BUFF_DEDOWN.length;i++){
|
||||
DEBUFF_DOWN+=this.BUFF_DEDOWN[i].value
|
||||
this.BUFF_DEDOWN[i].count-=1
|
||||
if(this.BUFF_DEDOWN[i].count<=0){
|
||||
this.BUFF_DEDOWN.splice(i,1)
|
||||
}
|
||||
}
|
||||
let n_deR=deR-DEBUFF_DOWN-buff_debuff_down
|
||||
let r=RandomManager.instance.getRandomInt(0,100)
|
||||
if(r > n_deR) {
|
||||
this.BUFFCOMP.tooltip(5,"*抵抗*")
|
||||
return
|
||||
}
|
||||
|
||||
add_debuff(type:number,deV:number,deC:number,){
|
||||
switch(type){
|
||||
case DebuffAttr.BURN:
|
||||
this.DEBUFF_BURNS.push({value:deV,count:deC})
|
||||
@@ -382,11 +414,21 @@ export class HeroViewComp extends CCComp {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
add_buff(buff:number,count:number,type:number){
|
||||
switch(type){
|
||||
case BuffAttr.DEF:
|
||||
this.BUFF_DEFS.push({value:buff,count:count})
|
||||
break
|
||||
case BuffAttr.ATK:
|
||||
this.BUFF_ATKS.push({value:buff,count:count})
|
||||
break
|
||||
case BuffAttr.ATK_CD:
|
||||
this.BUFF_CDS.push({value:buff,count:count})
|
||||
break
|
||||
case BuffAttr.DEBUFF_DOWN:
|
||||
this.BUFF_DEDOWN.push({value:buff,count:count})
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
@@ -439,13 +481,12 @@ export class HeroViewComp extends CCComp {
|
||||
this.BUFF_DEFS.splice(i,1)
|
||||
}
|
||||
}
|
||||
let buff=null
|
||||
if(this.is_master) buff=this.FIGHTCON.hero_buff
|
||||
if(this.is_friend) buff=this.FIGHTCON.friend_buff
|
||||
if(this.is_boss) buff=this.FIGHTCON.enemy_buff
|
||||
if(this.is_kalami) buff=this.FIGHTCON.enemy_buff
|
||||
if(buff==null) return
|
||||
damage=remainingDamage*(100-(buff.DEF+def)+Burn)/100
|
||||
// buff 防御 即免伤
|
||||
let buff_def=0
|
||||
let buff=this.get_buff()
|
||||
if(buff!==null) buff_def=buff.DEF
|
||||
|
||||
damage=remainingDamage*(100-(buff_def+def)+Burn)/100
|
||||
|
||||
return Math.floor(damage)
|
||||
}
|
||||
@@ -591,6 +632,7 @@ export class HeroViewComp extends CCComp {
|
||||
this.next_exp=getUpExp(this.lv)
|
||||
console.log("[HeroViewComp]:up ap,hp",getApIncrease(this.hero_uuid,this.lv,this.lv+1),getHpIncrease(this.hero_uuid,this.lv,this.lv+1))
|
||||
this.BUFFCOMP.vmdata_update()
|
||||
this.BUFFCOMP.lv_up()
|
||||
//@todo 需要添加 升级动画
|
||||
}
|
||||
/** 显示伤害数字 */
|
||||
|
||||
@@ -14,7 +14,7 @@ const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('FightConComp')
|
||||
export class FightConComp extends Component {
|
||||
//装备 及 光环效果 物品存在生效
|
||||
//装备 及 光环效果 物品存在生效 enemy_buff 是针对 怪物的debuff 偶尔也有buff 需要注意
|
||||
hero_buff=getBuffNum()
|
||||
friend_buff=getBuffNum()
|
||||
enemy_buff=getBuffNum()
|
||||
@@ -36,8 +36,9 @@ export class FightConComp extends Component {
|
||||
|
||||
|
||||
aoe_queues:any[]=[] // 范围伤害技能执行队列
|
||||
private aoe_timer: number = 0; // 技能执行计时器
|
||||
private aoe_timers: Map<number, number> = new Map(); // 每个技能的独立计时器
|
||||
private readonly AOE_INTERVAL: number = 0.4; // 执行间隔,单位秒
|
||||
private skill_id_counter: number = 0; // 技能ID计数器
|
||||
|
||||
aoe_pos:Vec3=new Vec3(-280,20,0)
|
||||
aoe_target_pos:Vec3=new Vec3(180,0,0)
|
||||
@@ -119,10 +120,14 @@ export class FightConComp extends Component {
|
||||
}
|
||||
break
|
||||
case SuperCardsType.AOE:
|
||||
this.skill_id_counter++;
|
||||
this.aoe_queues.push({
|
||||
id: this.skill_id_counter,
|
||||
s_uuid:SuperCards[data.uuid].value1,
|
||||
count:SuperCards[data.uuid].value2,
|
||||
damage:SuperCards[data.uuid].value3})
|
||||
// 初始化该技能的计时器
|
||||
this.aoe_timers.set(this.skill_id_counter, 0);
|
||||
break
|
||||
case SuperCardsType.BUFF:
|
||||
|
||||
@@ -169,6 +174,7 @@ export class FightConComp extends Component {
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/** 随机选择目标 */
|
||||
private pickRandomTarget(count: number=1): ecs.Entity[] {
|
||||
let entities = ecs.query(ecs.allOf(MonModelComp))
|
||||
@@ -191,20 +197,37 @@ export class FightConComp extends Component {
|
||||
this.card_atk_add=0
|
||||
this.card_hp_add=0
|
||||
this.aoe_queues = [] // 清空技能队列
|
||||
this.aoe_timer = 0 // 重置计时器
|
||||
this.aoe_timers = new Map(); // 重置计时器
|
||||
this.skill_id_counter = 0; // 重置技能ID计数器
|
||||
}
|
||||
|
||||
update(deltaTime: number) {
|
||||
// 更新技能执行计时器
|
||||
// 并行执行多个技能
|
||||
if (this.aoe_queues.length > 0) {
|
||||
this.aoe_timer += deltaTime;
|
||||
if (this.aoe_timer >= this.AOE_INTERVAL) {
|
||||
this.aoe_timer = 0;
|
||||
let skill = this.aoe_queues[0];
|
||||
this.aoe_skill_execute(skill);
|
||||
skill.count--;
|
||||
if (skill.count <= 0) {
|
||||
this.aoe_queues.shift(); // 移除已完成的技能
|
||||
console.log("[FightConComp]:aoe_queues:",this.aoe_queues)
|
||||
|
||||
// 遍历所有技能,更新它们的计时器
|
||||
for (let i = this.aoe_queues.length - 1; i >= 0; i--) {
|
||||
let skill = this.aoe_queues[i];
|
||||
let timer = this.aoe_timers.get(skill.id) || 0;
|
||||
|
||||
timer += deltaTime;
|
||||
this.aoe_timers.set(skill.id, timer);
|
||||
|
||||
// 检查是否到达执行间隔
|
||||
if (timer >= this.AOE_INTERVAL) {
|
||||
// 重置计时器
|
||||
this.aoe_timers.set(skill.id, 0);
|
||||
|
||||
// 执行技能
|
||||
this.aoe_skill_execute(skill);
|
||||
skill.count--;
|
||||
|
||||
// 如果技能执行完毕,从队列中移除
|
||||
if (skill.count <= 0) {
|
||||
this.aoe_queues.splice(i, 1);
|
||||
this.aoe_timers.delete(skill.id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,20 +139,27 @@ export class SkillCom extends CCComp {
|
||||
if(view){
|
||||
let dis =Math.abs(this.node.position.x-view.node.position.x)
|
||||
if(dis > SkillSet[this.s_uuid].with) return
|
||||
view.do_atked(this.ap,this.caster_crit,this.caster_crit_d)
|
||||
this.single_damage(view)
|
||||
}
|
||||
});
|
||||
}
|
||||
//单体伤害
|
||||
single_damage(target:HeroViewComp,crit:number=0,crit_d:number=0){
|
||||
single_damage(target:HeroViewComp){
|
||||
this.hit_count++
|
||||
console.log("[SkillCom]:onBeginContact hit_count:",this.hit_count,SkillSet[this.s_uuid].hit)
|
||||
if(this.hit_count>=SkillSet[this.s_uuid].hit) this.is_destroy=true // 技能命中次数
|
||||
if(target == null) return;
|
||||
target.do_atked(this.ap,crit,crit_d)
|
||||
|
||||
target.do_atked(this.ap,this.caster_crit,this.caster_crit_d) // ap 及暴击 属性已经在skill.ts 处理
|
||||
if(SkillSet[this.s_uuid].debuff>0){
|
||||
let debuff =this.get_debuff()
|
||||
target.add_debuff(SkillSet[this.s_uuid].debuff,debuff.deV,debuff.deC)
|
||||
let deUP =this.get_debuff() // 因为不是每个技能都需要,debuff的增益在这里处理, ap 及暴击 属性已经在skill.ts 处理
|
||||
let debuff=SkillSet[this.s_uuid]
|
||||
let dev=debuff.deV*(100+deUP.deV)/100
|
||||
let deR=debuff.deR+deUP.deR
|
||||
dev=Math.round(dev*100)/100
|
||||
let deC=debuff.deC+deUP.deC //dec只作为次数叠加
|
||||
console.log("[SkillCom]:debuff",SkillSet[this.s_uuid].name,debuff.debuff,deUP.deV,deUP.deC)
|
||||
target.add_debuff(debuff.debuff,dev,deC,deR)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,12 +168,12 @@ export class SkillCom extends CCComp {
|
||||
let target = oCol.getComponent(HeroViewComp)
|
||||
if(oCol.group!=this.group){
|
||||
if(target == null) return;
|
||||
this.single_damage(target,this.caster_crit,this.caster_crit_d)
|
||||
this.single_damage(target)
|
||||
// this.ent.destroy()
|
||||
}
|
||||
}
|
||||
get_debuff(){ //debuff 加成
|
||||
let debuff = {deV:0,deC:0}
|
||||
let debuff = {deV:0,deC:0,deR:0}
|
||||
let buff=null
|
||||
if(this.caster.is_master) buff = this.FIGHTCON.hero_buff
|
||||
if(this.caster.is_friend) buff = this.FIGHTCON.friend_buff
|
||||
@@ -174,6 +181,7 @@ export class SkillCom extends CCComp {
|
||||
if(buff==null) return debuff
|
||||
debuff.deV=buff.DEBUFF_VALUE
|
||||
debuff.deC=buff.DEBUFF_COUNT
|
||||
debuff.deR=buff.DEBUFF_UP
|
||||
return debuff
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user