基础主将添加+ 修复第一次伤害计算为穿刺伤害bug

This commit is contained in:
2025-07-06 23:58:10 +08:00
parent 9ebf620ed8
commit f7c231de00
60 changed files with 9355 additions and 414 deletions

View File

@@ -2,7 +2,7 @@
CardList type: 1:伙伴 2:技能 3:装备
*/
import { HeroList } from "./heroSet"
import { getHeroList, HeroList } from "./heroSet"
import { HeroSkillList, SkillSet } from "./SkillSet"
import { equip_list, weapons, armors, accessorys, getEquipUUIDsByTypeAndLevel } from "./Equips"
@@ -100,20 +100,20 @@ export function getRandomCardUUIDByType(type: number): number {
export function getRandomCardsByType(
type: number,
count: number,
equipSubType?: number, // 新增参数:装备子类型 1:武器 2:防具 3:饰品 0或undefined:全部
data?: number, // 新增参数:装备子类型 1:武器 2:防具 3:饰品 0或undefined:全部
level?: number // 新增参数:装备等级 1-5
): { type: number; uuid: number }[] {
let cardList: number[] = [];
switch (type) {
case cardType.HERO:
cardList = HeroList;
cardList = getHeroList(data);
break;
case cardType.SKILL:
cardList = HeroSkillList; // 直接使用HeroSkillList数组
break;
case cardType.EQUIP:
// 根据装备子类型筛选
cardList=getEquipUUIDsByTypeAndLevel(equipSubType,level)
cardList=getEquipUUIDsByTypeAndLevel(data,level)
break;
case cardType.SPECIAL:
cardList = SuperCardsList;
@@ -153,15 +153,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:10,value3:0,
3101:{uuid:3101,name:"陨石术",quality:Quality.GREEN,path:"3101",type:SuperCardsType.AOE,value1:SkillSet[6029].uuid,value2:10,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3102:{uuid:3102,name:"冰刺",quality:Quality.BLUE,path:"3102",type:SuperCardsType.AOE,value1:SkillSet[6017].uuid,value2:10,value3:0,
3102:{uuid:3102,name:"冰刺",quality:Quality.BLUE,path:"3102",type:SuperCardsType.AOE,value1:SkillSet[6027].uuid,value2:10,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3103:{uuid:3103,name:"潮汐",quality:Quality.BLUE,path:"3103",type:SuperCardsType.AOE,value1:SkillSet[6018].uuid,value2:10,value3:0,
3103:{uuid:3103,name:"潮汐",quality:Quality.BLUE,path:"3103",type:SuperCardsType.AOE,value1:SkillSet[6028].uuid,value2:10,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3104:{uuid:3104,name:"龙卷风",quality:Quality.BLUE,path:"3104",type:SuperCardsType.AOE,value1:SkillSet[6013].uuid,value2:10,value3:0,
3104:{uuid:3104,name:"龙卷风",quality:Quality.BLUE,path:"3104",type:SuperCardsType.AOE,value1:SkillSet[6023].uuid,value2:10,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3105:{uuid:3105,name:"火球风暴",quality:Quality.PURPLE,path:"3105",type:SuperCardsType.AOE,value1:SkillSet[6012].uuid,value2:10,value3:0,
3105:{uuid:3105,name:"火球风暴",quality:Quality.PURPLE,path:"3105",type:SuperCardsType.AOE,value1:SkillSet[6022].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%伤害"},

View File

@@ -92,6 +92,20 @@ export const hammerWeapons = [
1501, 1502, 1503, // 绿、蓝、紫
];
// 刀类武器UUID列表 - 根据wp.md配置
export const knifeWeapons = [
// 等级1
6101, 6102, 6103, // 绿、蓝、紫
// 等级2
6201, 6202, 6203, // 绿、蓝、紫
// 等级3
6301, 6302, 6303, // 绿、蓝、紫
// 等级4
6401, 6402, 6403, // 绿、蓝、紫
// 等级5
6501, 6502, 6503, // 绿、蓝、紫
];
// 盾牌装备UUID列表 - 根据wp.md配置
export const shieldArmors = [
// 闪避型盾牌
@@ -166,10 +180,10 @@ export const accessoryItems = [
7447, 7547,
];
export const weapons = [...swordWeapons, ...axeWeapons, ...hammerWeapons];
export const weapons = [...swordWeapons, ...axeWeapons, ...hammerWeapons, ...knifeWeapons];
export const armors = [...shieldArmors];
export const accessorys = [...accessoryItems];
export const equip_list = [...swordWeapons, ...axeWeapons, ...hammerWeapons, ...shieldArmors, ...accessoryItems];
export const equip_list = [...swordWeapons, ...axeWeapons, ...hammerWeapons, ...knifeWeapons, ...shieldArmors, ...accessoryItems];
@@ -1012,6 +1026,248 @@ export const EquipInfo: { [key: number]: EquipData } = {
],
},
// === 刀类武器配置 ===
// 等级1 刀类武器
6101: {
uuid: 6101,
name: "影刃(Lv1)",
type: EquipType.WEAPON,
quality: Quality.GREEN,
lv: 1,
path: "6101",
info: "攻击力增加60%易伤加成15%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 60, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 15, target: EquipAttrTarget.HERO }, // 易伤加成15%
],
},
6102: {
uuid: 6102,
name: "寒月双刃(Lv1)",
type: EquipType.WEAPON,
quality: Quality.BLUE,
lv: 1,
path: "6102",
info: "攻击力增加85%易伤加成20%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 85, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 20, target: EquipAttrTarget.HERO }, // 易伤加成20%
],
},
6103: {
uuid: 6103,
name: "霜魂切割者(Lv1)",
type: EquipType.WEAPON,
quality: Quality.PURPLE,
lv: 1,
path: "6103",
info: "攻击力增加115%易伤加成25%冰冻概率15%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 115, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 25, target: EquipAttrTarget.HERO }, // 易伤加成25%
{ type: BuffAttr.FROST_RATIO, value: 15, target: EquipAttrTarget.HERO }, // 冰冻概率15%
],
},
// 等级2 刀类武器
6201: {
uuid: 6201,
name: "影刃(Lv2)",
type: EquipType.WEAPON,
quality: Quality.GREEN,
lv: 2,
path: "6101",
info: "攻击力增加90%易伤加成17%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 90, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 17, target: EquipAttrTarget.HERO }, // 易伤加成17%
],
},
6202: {
uuid: 6202,
name: "寒月双刃(Lv2)",
type: EquipType.WEAPON,
quality: Quality.BLUE,
lv: 2,
path: "6102",
info: "攻击力增加125%易伤加成23%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 125, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 23, target: EquipAttrTarget.HERO }, // 易伤加成23%
],
},
6203: {
uuid: 6203,
name: "霜魂切割者(Lv2)",
type: EquipType.WEAPON,
quality: Quality.PURPLE,
lv: 2,
path: "6103",
info: "攻击力增加160%易伤加成29%冰冻概率18%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 160, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 29, target: EquipAttrTarget.HERO }, // 易伤加成29%
{ type: BuffAttr.FROST_RATIO, value: 18, target: EquipAttrTarget.HERO }, // 冰冻概率18%
],
},
// 等级3 刀类武器
6301: {
uuid: 6301,
name: "影刃(Lv3)",
type: EquipType.WEAPON,
quality: Quality.GREEN,
lv: 3,
path: "6101",
info: "攻击力增加120%易伤加成19%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 120, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 19, target: EquipAttrTarget.HERO }, // 易伤加成19%
],
},
6302: {
uuid: 6302,
name: "寒月双刃(Lv3)",
type: EquipType.WEAPON,
quality: Quality.BLUE,
lv: 3,
path: "6102",
info: "攻击力增加165%易伤加成26%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 165, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 26, target: EquipAttrTarget.HERO }, // 易伤加成26%
],
},
6303: {
uuid: 6303,
name: "霜魂切割者(Lv3)",
type: EquipType.WEAPON,
quality: Quality.PURPLE,
lv: 3,
path: "6103",
info: "攻击力增加205%易伤加成33%冰冻概率21%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 205, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 33, target: EquipAttrTarget.HERO }, // 易伤加成33%
{ type: BuffAttr.FROST_RATIO, value: 21, target: EquipAttrTarget.HERO }, // 冰冻概率21%
],
},
// 等级4 刀类武器
6401: {
uuid: 6401,
name: "影刃(Lv4)",
type: EquipType.WEAPON,
quality: Quality.GREEN,
lv: 4,
path: "6101",
info: "攻击力增加150%易伤加成21%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 150, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 21, target: EquipAttrTarget.HERO }, // 易伤加成21%
],
},
6402: {
uuid: 6402,
name: "寒月双刃(Lv4)",
type: EquipType.WEAPON,
quality: Quality.BLUE,
lv: 4,
path: "6102",
info: "攻击力增加205%易伤加成29%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 205, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 29, target: EquipAttrTarget.HERO }, // 易伤加成29%
],
},
6403: {
uuid: 6403,
name: "霜魂切割者(Lv4)",
type: EquipType.WEAPON,
quality: Quality.PURPLE,
lv: 4,
path: "6103",
info: "攻击力增加250%易伤加成37%冰冻概率24%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 250, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 37, target: EquipAttrTarget.HERO }, // 易伤加成37%
{ type: BuffAttr.FROST_RATIO, value: 24, target: EquipAttrTarget.HERO }, // 冰冻概率24%
],
},
// 等级5 刀类武器
6501: {
uuid: 6501,
name: "影刃(Lv5)",
type: EquipType.WEAPON,
quality: Quality.GREEN,
lv: 5,
path: "6101",
info: "攻击力增加180%易伤加成25%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 180, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 25, target: EquipAttrTarget.HERO }, // 易伤加成25%
],
},
6502: {
uuid: 6502,
name: "寒月双刃(Lv5)",
type: EquipType.WEAPON,
quality: Quality.BLUE,
lv: 5,
path: "6102",
info: "攻击力增加245%易伤加成35%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 245, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 35, target: EquipAttrTarget.HERO }, // 易伤加成35%
],
},
6503: {
uuid: 6503,
name: "霜魂切割者(Lv5)",
type: EquipType.WEAPON,
quality: Quality.PURPLE,
lv: 5,
path: "6103",
info: "攻击力增加300%易伤加成45%冰冻概率27%",
special_attr: [],
buff: [
{ type: BuffAttr.ATK, value: 300, target: EquipAttrTarget.HERO },
{ type: BuffAttr.ATK_CD, value: -26.7, target: EquipAttrTarget.HERO }, // CD修正-26.7%
{ type: BuffAttr.DEBUFF_VALUE, value: 45, target: EquipAttrTarget.HERO }, // 易伤加成45%
{ type: BuffAttr.FROST_RATIO, value: 27, target: EquipAttrTarget.HERO }, // 冰冻概率27%
],
},
// === 盾牌装备配置 ===
// === 闪避型盾牌 ===

View File

@@ -99,6 +99,7 @@ export enum BuffAttr {
FROST_RATIO = 20, //冰冻比率
REFLECT = 21, //反伤比率
KNOCKBACK = 22, //击退概率
BURN_COUNT = 23, //易伤额外次数
}
export const geDebuffNum=()=>{
@@ -143,6 +144,7 @@ export const getBuffNum=()=>{
FROST_RATIO:0, //冰冻比率
REFLECT:0, //反伤比率
KNOCKBACK:0, //击退概率
BURN_COUNT:0, //易伤额外次数
}
}
@@ -178,62 +180,75 @@ debuff 按次数进行结算,在多次生效内,有一定的叠加,debuff.deC为
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,
TGroup:TGroup.Enemy,act:"atk",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,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,
TGroup:TGroup.Enemy,act:"atk",CdType:1,AType:AType.parabolic,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,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,
TGroup:TGroup.Self,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.animationEnd,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: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,
TGroup:TGroup.Self,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.animationEnd,fname:"max",flash:false,with:90,
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,
6005:{uuid:6005,name:"基础打击",sp_name:"base1",path:"6007",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"atk",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,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,
6006:{uuid:6006,name:"基础打击",sp_name:"base2",path:"6007",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"atk",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,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6007:{uuid:6007,name:"基础打击",sp_name:"base3",path:"6007",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"atk",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,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6008:{uuid:6008,name:"基础打击",sp_name:"base4",path:"6007",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"atk",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,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6009:{uuid:6009,name:"铁斧打击",sp_name:"base_ft",path:"6007",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"atk",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,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6010:{uuid:6010,name:"木棍打击",sp_name:"base_mg",path:"6008",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"atk",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,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,
6011:{uuid:6011,name:"飞刀打击",sp_name:"mon_xd",path:"6009",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"atk",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,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,
6012:{uuid:6012,name:"石斧打击",sp_name:"base_sf",path:"6010",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"atk",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,sonsk:0,hero:0,info:"向最前方敌人扔出石斧,造成100%攻击的伤害"},
6012:{uuid:6012,name:"大火球" ,sp_name:"fire",path:"6012",quality:Quality.WHITE, TType:TType.Frontline,
6022:{uuid:6022,name:"大火球" ,sp_name:"fire",path:"6022",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.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,
6023:{uuid:6023,name:"龙卷风", sp_name:"bwind",path:"6026",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,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,
6024:{uuid:6024,name:"寒冰箭", sp_name:"arrow_blue",path:"6024",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,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,
6025:{uuid:6025,name:"烈焰射击",sp_name:"arrow_yellow",path:"6025",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.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,
6026:{uuid:6026,name:"火墙", sp_name:"firewall",path:"6023",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,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,
6027:{uuid:6027,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,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,
6028:{uuid:6028,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,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,
6029:{uuid:6029,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,deR:100,in:3,ap:500,cd:5,hit:1,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"},
@@ -247,17 +262,17 @@ export const SkillSet = {
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,
6030:{uuid:6030,name:"冰墙", sp_name:"icet",path:"6023",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"max",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,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,
6032:{uuid:6032,name:"火焰漩涡",sp_name:"fireball",path:"6025",quality:Quality.WHITE, TType:TType.Frontline,
TGroup:TGroup.Enemy,act:"max",CdType:2,AType:AType.linear,RType:RType.linear,EType:EType.timeEnd,fname:"max",flash:false,with:90,
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,
TGroup:TGroup.Self,act:"max",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,sonsk:0,hero:5211,info:"召唤一个与施法者等级相同的骷髅战士为我方而战"},

View File

@@ -1,5 +1,6 @@
import { v3 } from "cc"
import { Quality } from "./CardSet"
import { BuffAttr } from "./SkillSet"
/**
* kind 1:烈焰 2:寒冰 3:自然 4:暗影 5:神圣
@@ -32,8 +33,17 @@ export enum HeroFac {
hero = 0,
enemy = 1,
}
export const HeroList = [5001,5002,5003,5004,5005,5006,5008,5009,5010,5011]
export const getHeroList = (is_master:number=0)=>{
if(is_master==1){
return Masters
}else{
return HeroList
}
}
export const HeroList = [5021,5022,5023,5024,5025,5026,5027,5028]
export const MonList = [5201,5202,5203,5204,5205,5206,5216,5217,5218,5219,5220,5221,5222,5223,5224,5225,5226,5227]
export const Masters = [5001,5002,5003,5004]
export const HeroSet = {
Start_x:[-200,-260,-320],
Start_y:[70,0,-70]
@@ -215,90 +225,208 @@ export const getGrowthModeDescription = (heroType: HType): string => {
};
export const HeroInfo = {
5001:{uuid:5001,name:"神圣守护",path:"k2", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:50,ap:10,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5002:{uuid:5002,name:"幻影剑豪",path:"k1", quality:HQuality.BLUE,lv:1,kind:2,type:HType.warrior,hp:50,ap:10,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5003:{uuid:5003,name:"战争领主",path:"k5", quality:HQuality.BLUE,lv:1,kind:2,type:HType.warrior,hp:50,ap:10,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5004:{uuid:5004,name:"混沌法师",path:"zh1", quality:HQuality.BLUE,lv:1,kind:2,type:HType.mage,hp:50,ap:10,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5005:{uuid:5005,name:"火焰法师",path:"zh2", quality:HQuality.BLUE,lv:1,kind:2,type:HType.mage,hp:50,ap:15,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5006:{uuid:5006,name:"风暴精灵",path:"m4", quality:HQuality.BLUE,lv:1,kind:2,type:HType.mage,hp:50,ap:15,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5008:{uuid:5008,name:"战争祭祀",path:"d2", quality:HQuality.BLUE,lv:1,kind:2,type:HType.mage,hp:50,ap:10,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5009:{uuid:5009,name:"暴风射手",path:"a5", quality:HQuality.BLUE,lv:1,kind:2,type:HType.remote,hp:50,ap:15,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
5010:{uuid:5010,name:"苍穹射手",path:"a3", quality:HQuality.BLUE,lv:1,kind:1,type:HType.remote,hp:50,ap:15,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
5011:{uuid:5011,name:"幽灵射手",path:"a4", quality:HQuality.BLUE,lv:1,kind:2,type:HType.remote,hp:50,ap:15,dis:700,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
//主将
5001:{uuid:5001,name:"刺心.艾吉斯",path:"k1", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6005],
buff:[
{buff_type:BuffAttr.PUNCTURE,value:10},
],info:"剑类专精,穿刺伤害额外+10%"},
5002:{uuid:5002,name:"飓风.格罗姆",path:"k2", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6006],
buff:[
{buff_type:BuffAttr.WFUNY,value:10},
],info:"斧类专精,风怒概率增加10%"},
5003:{uuid:5003,name:"碎颅.赫克托",path:"k4", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6007],
buff:[
{buff_type:BuffAttr.CRITICAL,value:10},
],info:"锤类专精,暴击概率增加10%"},
5004:{uuid:5004,name:"裂伤.塔米拉",path:"k3", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6008],
buff:[
{buff_type:BuffAttr.BURN_COUNT,value:1},
],info:"刀类专精,易伤效果额外持续1次"},
5005:{uuid:5005,name:"烈焰.艾尔文",path:"zh1", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6005],
buff:[
],info:"说明"},
5006:{uuid:5006,name:"风暴.艾尔文",path:"zh2", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6005],
buff:[
],info:"说明"},
5007:{uuid:5007,name:"战争.艾尔文",path:"zh3", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6005],
buff:[
],info:"说明"},
//伙伴
5021:{uuid:5021,name:"幽灵射手",path:"a4", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.remote,hp:50,ap:15,dis:700,cd:1.5,speed:50,skills:[6002],
buff:[
],info:"说明"},
5022:{uuid:5022,name:"战争领主",path:"k5", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.warrior,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6001],
buff:[
],info:"说明"},
5023:{uuid:5023,name:"混沌法师",path:"zh1", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6001],
buff:[
],info:"说明"},
5024:{uuid:5024,name:"火焰法师",path:"zh2", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:50,ap:15,dis:700,cd:1.5,speed:50,skills:[6001],
buff:[
],info:"说明"},
5025:{uuid:5025,name:"风暴精灵",path:"m4", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:50,ap:15,dis:700,cd:1.5,speed:50,skills:[6001],
buff:[
],info:"说明"},
5026:{uuid:5026,name:"战争祭祀",path:"d2", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.mage,hp:50,ap:10,dis:700,cd:1.5,speed:50,skills:[6001],
buff:[
],info:"说明"},
5027:{uuid:5027,name:"暴风射手",path:"a5", quality:HQuality.BLUE,lv:1,kind:2,
type:HType.remote,hp:50,ap:15,dis:700,cd:1.5,speed:50,skills:[6002],
buff:[
],info:"说明"},
5028:{uuid:5028,name:"苍穹射手",path:"a3", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.remote,hp:50,ap:15,dis:700,cd:1.5,speed:50,skills:[6002],
buff:[
],info:"说明"},
//怪物
5201:{uuid:5201,name:"兽人战士",path:"mor1", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5201:{uuid:5201,name:"兽人战士",path:"mor1", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5202:{uuid:5202,name:"兽人刺客",path:"mor2", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5202:{uuid:5202,name:"兽人刺客",path:"mor2", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5203:{uuid:5203,name:"兽人护卫",path:"mor3", quality:HQuality.BLUE,lv:1,kind:1,type:HType.remote,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5203:{uuid:5203,name:"兽人护卫",path:"mor3", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.remote,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5204:{uuid:5204,name:"石卫", path:"mgem1",quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5204:{uuid:5204,name:"石卫", path:"mgem1",quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5205:{uuid:5205,name:"土卫", path:"mgem2",quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5205:{uuid:5205,name:"土卫", path:"mgem2",quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5206:{uuid:5206,name:"树人", path:"mgem3",quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5206:{uuid:5206,name:"树人", path:"mgem3",quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5216:{uuid:5216,name:"元素1", path:"my1", quality:HQuality.BLUE,lv:2,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5216:{uuid:5216,name:"元素1", path:"my1", quality:HQuality.BLUE,lv:2,kind:1,
type:HType.mage,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5217:{uuid:5217,name:"元素2", path:"my2", quality:HQuality.BLUE,lv:2,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5217:{uuid:5217,name:"元素2", path:"my2", quality:HQuality.BLUE,lv:2,kind:1,
type:HType.mage,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5218:{uuid:5218,name:"元素3", path:"my3", quality:HQuality.BLUE,lv:2,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5218:{uuid:5218,name:"元素3", path:"my3", quality:HQuality.BLUE,lv:2,kind:1,
type:HType.mage,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5219:{uuid:5219,name:"牛头战士",path:"mn1", quality:HQuality.BLUE,lv:2,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5219:{uuid:5219,name:"牛头战士",path:"mn1", quality:HQuality.BLUE,lv:2,kind:1,
type:HType.warrior,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5220:{uuid:5220,name:"牛头战士",path:"mn2", quality:HQuality.BLUE,lv:1,kind:1,type:HType.remote,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5220:{uuid:5220,name:"牛头战士",path:"mn2", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.remote,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5221:{uuid:5221,name:"牛头战士",path:"mn3", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5221:{uuid:5221,name:"牛头战士",path:"mn3", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5222:{uuid:5222,name:"独眼巨人",path:"md1", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5222:{uuid:5222,name:"独眼巨人",path:"md1", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5223:{uuid:5223,name:"独眼巨人",path:"md2", quality:HQuality.BLUE,lv:1,kind:1,type:HType.warrior,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5223:{uuid:5223,name:"独眼巨人",path:"md2", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.warrior,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5224:{uuid:5224,name:"独眼巨人",path:"md3", quality:HQuality.BLUE,lv:1,kind:1,type:HType.remote,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5224:{uuid:5224,name:"独眼巨人",path:"md3", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.remote,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5225:{uuid:5225,name:"精英独眼",path:"md4", quality:HQuality.BLUE,lv:1,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5225:{uuid:5225,name:"精英独眼",path:"md4", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.mage,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5226:{uuid:5226,name:"精英牛头",path:"mn4", quality:HQuality.BLUE,lv:1,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
5226:{uuid:5226,name:"精英牛头",path:"mn4", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.mage,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"},
5227:{uuid:5227,name:"精英兽人",path:"mor4", quality:HQuality.BLUE,lv:1,kind:1,type:HType.mage,hp:200,ap:5,dis:400,cd:1.5,
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"}
5227:{uuid:5227,name:"精英兽人",path:"mor4", quality:HQuality.BLUE,lv:1,kind:1,
type:HType.mage,hp:200,ap:5,dis:250,cd:1.5,speed:50,skills:[6007],
buff:[
],info:"说明"}
};

View File

@@ -11,6 +11,7 @@ import { SkillConComp } from "./SkillConComp";
import { FriendModelComp } from "./FriendModel";
import { MasterModelComp } from "./MasterModel";
import { GameEvent } from "../common/config/GameEvent";
import { BuffAttr } from "../common/config/SkillSet";
/** 角色实体 */
@ecs.register(`Hero`)
@@ -39,7 +40,6 @@ export class Hero extends ecs.Entity {
}
hart_load(uuid:number=5004) {
console.log("主体加载")
let box_group=BoxSet.HERO
var path = "game/heros/"+HeroInfo[uuid].path;
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
@@ -60,7 +60,6 @@ export class Hero extends ecs.Entity {
load(pos: Vec3 = Vec3.ZERO,scale:number = 1,uuid:number=1001,info:any={ap:0,hp:0,lv:1,crit:0,crit_d:0,dod:0,dod_no:false,crit_no:false},fight_pos:number=1) {
// console.log("英雄加载:",uuid,pos,scale,info)
scale = 1
let box_group=BoxSet.HERO
var path = "game/heros/"+HeroInfo[uuid].path;
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
@@ -93,11 +92,49 @@ export class Hero extends ecs.Entity {
hv.cd = hero.cd
hv.hp= hv.hp_max =hero.hp+info.hp
hv.ap = hero.ap+info.ap;
hv.crit=hero.crit+info.crit
hv.crit_d=hero.crit_d+info.crit_d
hv.dod=hero.dod+info.dod
hv.dod_no=info.dod_no
hv.crit_no=info.crit_no
hero.buff.forEach((buff:any)=>{
switch(buff.buff_type){
case BuffAttr.CRITICAL:
hv.crit=buff.value
break
case BuffAttr.CRITICAL_DMG:
hv.crit_d=buff.value
break
case BuffAttr.DODGE:
hv.dod=buff.value
break
case BuffAttr.DODGE_NO:
hv.dod_no=buff.value
break
case BuffAttr.CRITICAL_NO:
hv.crit_no=buff.value
break
case BuffAttr.BURN_COUNT:
hv.burn_count=buff.value
break
case BuffAttr.PUNCTURE:
hv.puncture=buff.value
break
case BuffAttr.PUNCTURE_DMG:
hv.puncture_damage=buff.value
break
case BuffAttr.WFUNY:
hv.wfuny=buff.value
break
case BuffAttr.ATK_CD:
hv.cd=hv.cd*(100-buff.value)/100
break
case BuffAttr.HP:
hv.hp_max=hv.hp_max*(100+buff.value)/100
break
case BuffAttr.DEF:
hv.def=buff.value
break
case BuffAttr.ATK:
hv.ap=hv.ap*(100+buff.value)/100
break
}
})
hv.atk_skill=hero.skills[0]
return hv
}

View File

@@ -65,12 +65,15 @@ export class HeroViewComp extends CCComp {
puncture_damage:number=0; //后伤害加成
def: number = 0; //防御
vun: number = 0; //易伤
burn_count:number=0; //易伤次数
dod: number = 10; //闪避率
dod: number = 0; //闪避率
dod_no:boolean=false;
crit:number=0; //暴击率
crit_no:boolean=false; //暴击免疫
crit_d:number=0; //暴击伤害
wfuny:number=0; //风怒概率
shield:number = 0; //护盾,免伤1次减1
speed: number = 100; /** 角色移动速度 */

View File

@@ -8,6 +8,7 @@ import { HeroInfo } from "../common/config/heroSet";
import { MonModelComp } from "./MonModelComp";
import { BattleMoveComp } from "../common/ecs/position/BattleMoveComp";
import { SkillConComp } from "./SkillConComp";
import { BuffAttr } from "../common/config/SkillSet";
/** 角色实体 */
@ecs.register(`Monster`)
export class Monster extends ecs.Entity {
@@ -70,13 +71,50 @@ export class Monster extends ecs.Entity {
hv.hp= hv.hp_max =hero.hp;
hv.ap = hero.ap;
hv.cd = hero.cd
hv.crit=hero.crit
hv.crit_d=hero.crit_d
hv.dod=hero.dod
hv.dod_no=hero.dod_no
hv.crit_no=hero.crit_no
hv.atk_skill=hero.skills[0]
hero.buff.forEach((buff:any)=>{
switch(buff.buff_type){
case BuffAttr.CRITICAL:
hv.crit=buff.value
break
case BuffAttr.CRITICAL_DMG:
hv.crit_d=buff.value
break
case BuffAttr.DODGE:
hv.dod=buff.value
break
case BuffAttr.DODGE_NO:
hv.dod_no=buff.value
break
case BuffAttr.CRITICAL_NO:
hv.crit_no=buff.value
break
case BuffAttr.BURN_COUNT:
hv.burn_count=buff.value
break
case BuffAttr.PUNCTURE:
hv.puncture=buff.value
break
case BuffAttr.PUNCTURE_DMG:
hv.puncture_damage=buff.value
break
case BuffAttr.WFUNY:
hv.wfuny=buff.value
break
case BuffAttr.ATK_CD:
hv.cd=hv.cd*(100-buff.value)/100
break
case BuffAttr.HP:
hv.hp_max=hv.hp_max*(100+buff.value)/100
break
case BuffAttr.DEF:
hv.def=buff.value
break
case BuffAttr.ATK:
hv.ap=hv.ap*(100+buff.value)/100
break
}
})
this.add(hv);
}

View File

@@ -25,6 +25,7 @@ export class CardComp extends CCComp {
cost_gold:number=0;
skill_slot:string="skill1"
equip_slot:string="weapon"
is_master:boolean=false;
onLoad(){
// this.on(GameEvent.HeroSelect,this.hero_select,this)
}
@@ -37,11 +38,13 @@ export class CardComp extends CCComp {
this.node.getChildByName("Button").active=false
this.node.getChildByName("show").active=false
}
hero_select(args: any){
hero_select(args: any,is_master:boolean=false){
console.log("[cardcomp]:card hero_select",args,is_master)
this.c_type=cardType.HERO
this.c_uuid=args.uuid
console.log("[cardcomp]:card hero_select c_uuid:"+this.c_uuid)
this.show_hero(this.c_uuid)
this.is_master=is_master
this.show_hero(this.c_uuid,is_master)
this.node.getChildByName("show").active=false
this.node.getChildByName("anim").getChildByName("up").getComponent(Animation).play('carsup')
this.scheduleOnce(() => {
@@ -113,7 +116,7 @@ export class CardComp extends CCComp {
show.getChildByName("info").getComponent(Label).string=SkillSet[uuid].info
}
show_hero(uuid:number){
show_hero(uuid:number,is_master:boolean=false){
let show=this.node.getChildByName("show")
show.getChildByName("name").getChildByName("name").getComponent(Label).string=HeroInfo[uuid].name
this.do_card_bg_show(HeroInfo[uuid].quality)
@@ -274,7 +277,7 @@ export class CardComp extends CCComp {
use_card(){
switch(this.c_type){
case cardType.HERO:
oops.message.dispatchEvent(GameEvent.UseHeroCard,{uuid:this.c_uuid})
oops.message.dispatchEvent(GameEvent.UseHeroCard,{uuid:this.c_uuid,is_master:this.is_master})
oops.message.dispatchEvent(GameEvent.CardsClose)
break
case cardType.SKILL:

View File

@@ -55,12 +55,51 @@ export class CardsCompComp extends CCComp {
}
hero_select(){
let list=getRandomCardsByType(cardType.HERO,3)
show_cards(e:GameEvent,data:any,is_refresh:boolean=false){
this.node.getChildByName("btns").getChildByName("cancel").active=false
switch(e){
case GameEvent.HeroSelect:
console.log("[CardsComp]:显示英雄选择卡牌",data)
let title="选择伙伴"
if(data.is_master) title="选择英雄"
this.node.getChildByName("top").getChildByName("title").getChildByName("Label").getComponent(Label).string=title
this.hero_select(data)
break
case GameEvent.HeroSkillSelect:
console.log("[CardsComp]:显示技能选择卡牌")
this.node.getChildByName("top").getChildByName("title").getChildByName("Label").getComponent(Label).string="选择技能"
this.hero_skill_select(data)
break
case GameEvent.FuncSelect:
console.log("[CardsComp]:显示功能卡牌")
this.node.getChildByName("btns").getChildByName("cancel").active=true
this.node.getChildByName("top").getChildByName("title").getChildByName("Label").getComponent(Label).string="选择卡牌"
this.func_select()
break
case GameEvent.EquipSelect:
console.log("[CardsComp]:显示装备选择卡牌")
this.node.getChildByName("btns").getChildByName("cancel").active=true
this.node.getChildByName("top").getChildByName("title").getChildByName("Label").getComponent(Label).string="选择装备"
this.equip_select(data)
break
}
if(!is_refresh) this.show()
}
hero_select(data:any){
let list=[]
if(data.is_master){ //1是主将,0 是伙伴
list=getRandomCardsByType(cardType.HERO,3,1)
}else{
list=getRandomCardsByType(cardType.HERO,3,0)
}
console.log("[CardsComp]:英雄选择卡牌列表",list)
this.card1c.hero_select(list[0])
this.card2c.hero_select(list[1])
this.card3c.hero_select(list[2])
this.card1c.hero_select(list[0],data.is_master)
this.card2c.hero_select(list[1],data.is_master)
this.card3c.hero_select(list[2],data.is_master)
// this.card4c.hero_select(list[3])
}
@@ -125,32 +164,7 @@ export class CardsCompComp extends CCComp {
this.show_cards(nextCard.type, nextCard.data);
}
show_cards(e:GameEvent,data:any,is_refresh:boolean=false){
this.node.getChildByName("btns").getChildByName("cancel").active=false
switch(e){
case GameEvent.HeroSelect:
console.log("[CardsComp]:显示英雄选择卡牌")
this.hero_select()
break
case GameEvent.HeroSkillSelect:
console.log("[CardsComp]:显示技能选择卡牌")
this.hero_skill_select(data)
break
case GameEvent.FuncSelect:
console.log("[CardsComp]:显示功能卡牌")
this.node.getChildByName("btns").getChildByName("cancel").active=true
this.func_select()
break
case GameEvent.EquipSelect:
console.log("[CardsComp]:显示装备选择卡牌")
this.node.getChildByName("btns").getChildByName("cancel").active=true
this.equip_select(data)
break
}
if(!is_refresh) this.show()
}
close_cards(e:GameEvent,data:any){
switch(e){
case GameEvent.HeroSelect:

View File

@@ -63,22 +63,21 @@ export class MissionComp extends CCComp {
oops.message.dispatchEvent(GameEvent.FightReady)
this.node.active=true
this.data_init()
this.hart_hero_load()
// this.hart_hero_load()
let loading=this.node.parent.getChildByName("loading")
loading.active=true
this.scheduleOnce(()=>{
this.to_ready()
this.to_fight()
loading.active=false
},0.5)
this.to_ready()
this.to_fight()
}
to_ready(){
console.log("英雄技能选择")
// oops.message.dispatchEvent(GameEvent.HeroSkillSelect)
oops.message.dispatchEvent(GameEvent.HeroSelect,{is_master:true})
}
to_call_friend(){
oops.message.dispatchEvent(GameEvent.HeroSelect)
oops.message.dispatchEvent(GameEvent.HeroSelect,{is_master:false})
}
to_fight(){
@@ -145,7 +144,7 @@ export class MissionComp extends CCComp {
}
call_friend_card(){
oops.message.dispatchEvent(GameEvent.HeroSelect)
oops.message.dispatchEvent(GameEvent.HeroSelect,{is_master:false})
}

View File

@@ -52,22 +52,30 @@ export class MissionHeroCompComp extends CCComp {
}
private call_friend(event: string, args: any,freind_pos:number=1){
console.log("[MissionHeroComp]:call_hero addHero",args.uuid)
private call_friend(event: string, args: any,is_master:boolean=false){
console.log("[MissionHeroComp]:call_hero addHero",args.uuid,is_master)
let hero_pos=1
if(is_master){
hero_pos=0
}
let info:any={ap:0,hp:0,lv:0}
let hero = ecs.getEntity<Hero>(Hero);
let scale = 1
let heros=ecs.query(ecs.allOf(HeroViewComp))
for(let hero of heros){
let hv = hero.get(HeroViewComp)
if(hv.fight_pos==freind_pos){
freind_pos=2
if(hv.fight_pos==hero_pos){
hero_pos=2
break
}
}
console.log("[MissionHeroComp]:call_friend",heros)
let pos:Vec3 = HeroPos[freind_pos].pos;
hero.load(pos,scale,args.uuid,info,freind_pos);
let pos:Vec3 = HeroPos[hero_pos].pos;
if(is_master){
hero.hart_load(args.uuid)
}else{
hero.load(pos,scale,args.uuid,info,hero_pos);
}
}
@@ -123,17 +131,25 @@ export class MissionHeroCompComp extends CCComp {
// let x=RandomManager.instance.getRandomInt(0,hero_list.length,1)
// // let uuid=args.uuid
// // console.log("call_hero",uuid)
this.addHero(args.uuid)
this.addHero(args.uuid,args.is_master)
}
/** 添加英雄 */
private addHero(uuid:number=1001,freind_pos:number=1) {
let info:any=this.get_info_and_remove(freind_pos,uuid)
private addHero(uuid:number=1001,is_master:boolean=false) {
let hero_pos=1
if(is_master){
hero_pos=0
}
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);
let scale = 1
let pos:Vec3 = HeroPos[freind_pos].pos;
hero.load(pos,scale,uuid,info,freind_pos);
let pos:Vec3 = HeroPos[hero_pos].pos;
if(is_master){
hero.hart_load(uuid)
}else{
hero.load(pos,scale,uuid,info,hero_pos);
}
}
get_info_and_remove(fight_pos:number,uuid:number){

View File

@@ -1,6 +1,6 @@
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { BoxSet } from "../common/config/BoxSet";
import { BoxSet, FacSet } from "../common/config/BoxSet";
import { SkillSet } from "../common/config/SkillSet";
import { smc } from "../common/SingletonModuleComp";
import { HeroViewComp } from "../hero/HeroViewComp";
@@ -58,6 +58,9 @@ export class Skill extends ecs.Entity {
// 设置节点属性
node.parent = parent;
node.setPosition(startPos);
if(caster.fac==FacSet.MON){
node.scale=v3(node.scale.x*-1,1,1)
}
node.angle+=angle
// 添加技能组件
const SComp = node.getComponent(SkillCom); // 初始化技能参数
@@ -97,6 +100,7 @@ export class Skill extends ecs.Entity {
prefabName: config.sp_name,
group: caster.box_group,
fac: caster.fac,
scale: caster.scale,
animName: config.animName
});

View File

@@ -88,19 +88,6 @@ export class SkillCom extends CCComp {
if(this.group==BoxSet.MONSTER) bm.controlPointSide=-1
bm.moveTo(this.targetPos)
break;
case AType.linear:
// this.distance_x=SkillSet[this.s_uuid].in*this.speed
// this.t_end_x =400
// if(this.group==BoxSet.MONSTER){
// this.t_end_x=-400
// this.node.scale=v3(this.node.scale.x*-1,1,1)
// }
// this.tweenInstance = tween(this.node).to(SkillSet[this.s_uuid].in, { position:v3(this.t_end_x,this.node.position.y,0)},{
// onComplete: (target?: object) => {
// // this.node.setPosition(tx,this.node.position.y-300,0)
// }
// }).start()
break;
case AType.fixedStart:
break;
@@ -126,7 +113,6 @@ export class SkillCom extends CCComp {
}
onAnimationFinished(){
if(SkillSet[this.s_uuid].EType==EType.timeEnd) return
this.is_destroy=true
@@ -146,12 +132,11 @@ export class SkillCom extends CCComp {
}
//单体伤害
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.puncture)) this.is_destroy=true // 技能命中次数
if(target == null) return;
// console.log("[SkillCom]:onBeginContact hit_count:",this.hit_count,SkillSet[this.s_uuid].hit)
if(this.hit_count > 0) this.ap=this.ap*(50+this.puncture_damage)/100 // 穿刺后 伤害减半
if(target == null) return;
target.do_atked(this.ap,this.caster_crit,this.caster_crit_d) // ap 及暴击 属性已经在skill.ts 处理
console.log("[SkillCom]:single_damage",this.ap,this.caster_crit,this.caster_crit_d)
if(SkillSet[this.s_uuid].debuff>0){
let deUP =this.get_debuff() // 因为不是每个技能都需要,debuff的增益在这里处理, ap 及暴击 属性已经在skill.ts 处理
let debuff=SkillSet[this.s_uuid]
@@ -162,6 +147,8 @@ export class SkillCom extends CCComp {
console.log("[SkillCom]:debuff",SkillSet[this.s_uuid].name,debuff.debuff,deUP.deV,deUP.deC)
target.add_debuff(debuff.debuff,dev,deC,deR)
}
this.hit_count++
if(this.hit_count>=(SkillSet[this.s_uuid].hit+this.puncture)) this.is_destroy=true // 技能命中次数
}
onBeginContact (seCol: Collider2D, oCol: Collider2D) {
@@ -188,9 +175,11 @@ export class SkillCom extends CCComp {
private startLinearMove(dt: number) {
if (!this.speed || this.is_destroy) return;
if(this.s_uuid == 6005){
console.log("[SkillCom]:startLinearMove",this.node.position.x)
}
// 使用角度方向移动
const newX = this.node.position.x + this.speed * dt;
const newX = this.node.position.x + this.speed * dt*this.scale;
const newY = this.node.position.y;
this.node.setPosition(newX, this.node.position.y, this.node.position.z);