aoe技能继续添加

This commit is contained in:
2025-06-20 16:29:11 +08:00
parent 211dd26ca3
commit 6ce9fc4c48
14 changed files with 178 additions and 226 deletions

View File

@@ -2,7 +2,7 @@ import { VM } from "../../../../extensions/oops-plugin-framework/assets/libs/mod
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { Initialize } from "../initialize/Initialize";
import { GameMap } from "../map/GameMap";
import { MissionData, MissionMons, Missions } from "./config/Mission";
import { MissionData } from "./config/Mission";
// import { Role } from "../role/Role";

View File

@@ -137,13 +137,17 @@ export const SuperCardsType={
BUFF:3, //buff技能 范围buff
DEBUFF:4, //debuff技能 范围debuff
}
export const SuperCardsList=[3001,3002,3101,3201,3301];
export const SuperCardsList=[3001,3002,3101,3102,3103,3201,3301];
export const SuperCards={
3001:{uuid:3001,name:"附魔宝典",path:"3001",type:SuperCardsType.SPECIAL,value1:1,value2:0,value3:0,
info:"攻击触发提高英雄/伙伴属性的效果,额外添加+1攻击力"},
3002:{uuid:3002,name:"附魔宝典",path:"3002",type:SuperCardsType.SPECIAL,value1:1,value2:0,value3:0,
info:"攻击触发高英雄/伙伴属性的效果,额外添加+1生命值"},
3101:{uuid:3101,name:"火球风暴",path:"3101",type:SuperCardsType.AOE,value1:SkillSet[6029].uuid,value2:3,value3:0,
3101:{uuid:3101,name:"陨石术",path:"3101",type:SuperCardsType.AOE,value1:SkillSet[6019].uuid,value2:3,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3102:{uuid:3102,name:"冰刺",path:"3102",type:SuperCardsType.AOE,value1:SkillSet[6017].uuid,value2:3,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3103:{uuid:3103,name:"潮汐",path:"3103",type:SuperCardsType.AOE,value1:SkillSet[6018].uuid,value2:3,value3:0,
info:"召唤大量火球攻击敌人,每个火球对敌人造成英雄攻击力的300%伤害"},
3201:{uuid:3201,name:"极速充能",path:"3201",type:SuperCardsType.BUFF,value1:10,value2:100,value3:0,
info:"你的英雄/伙伴接下来的10次普通攻击速度提升100%"},

View File

@@ -12,15 +12,15 @@ export const BossList = {
}
}
export const MissionNum = 3 //对应关卡数MissionMons 的索引
export const MonNum = [3,4,5]//对应关卡数MissionMons 的索引
export const MissionMons = [
[5201,5202,5203,5204,5205,5206,5210,5211,5212],
[5213,5214,5215],
[5201,5202,5203,5204,5205,5206],
[5201],
[5201],
]
export const Missions = [
[5201,5202,5203,5204,5205,5206,5210,5211,5212,5219,5220,5221],
[5213,5214,5215,5216,5217,5218],
[5201,5202,5203,5204,5205,5206,5219,5220,5221],
[5216,5217,5218],
[5225,5226,5227],
]
export const MissionReward = {
@@ -53,7 +53,7 @@ export const MissionStatus = {
}
export enum FightSet {
FRIEND_WAVE_UP=2, //伙伴登场波次
MON_WAVE_TIME=10,//怪物波次时间
MON_WAVE_TIME=30,//怪物波次时间
FRIEND_LIVE_CD=10,//伙伴复活时间
ATK_ADD_FRIEND_COUNT=4,//伙伴攻击力增加
ATK_ADD_GLOD=1,//金币增加
@@ -71,7 +71,7 @@ export enum FightSet {
// AP_CHANGE_RATE=0,
}
export const MissionData = {
gold:10,//金币
gold:1000,//金币
score:0,//分数
refrsh_time:5, //刷新时间
refresh_gold:3,//刷新金币

View File

@@ -1,11 +1,11 @@
export enum TargetGroup {
export enum TGroup {
Self = 0, // 自身
Ally = 1, // 所有敌人
Team = 2, // 所有友方
Enemy = 3, // 敌方单位
All = 4 // 所有单位
}
export enum TargetType {
export enum TType {
/** 前排目标(最靠近敌方阵营的单位) */
Frontline = 1, // 最前排单位
/** 后排目标(离敌方阵营最远的单位) */
@@ -39,20 +39,20 @@ export enum CdType {
//技能释放cd: 0:技能配置的cd,1:HeroViewComp.cd 值,2:HeroViewComp.pw:0值,当HeroViewComppw==HeroViewComp.pwm值是 释放
export enum AnimType {
export enum AType {
linear = 0, // 直线
parabolic = 1, // 抛射物
fixedStart = 2, // 固定在出发点
fixedEnd = 3, // 固定在终点
}
export enum RunType {
export enum RType {
linear = 0, //直线
bezier = 1, //贝塞尔
fixed = 2, //固定
}
export enum endType {
export enum EType {
animationEnd = 0,
timeEnd = 1,
distanceEnd = 2,
@@ -126,9 +126,7 @@ ap:施法者攻击
mhp:增加最大生命比例
hp:增加当前生命比例
cd:buff/debuff持续时间
/debuff触发时间
hited:伤害时间
/debhited:伤害时间
shield:增加护盾占最大生命比例
speed:移动速度
sonsk:子技能id
@@ -138,136 +136,91 @@ info:技能描述
*/
export const HeroSkillList = [6001,6001,6001,6001,6001,6001]
export const SkillSet = {
6001:{uuid:6001,name:"凛冬之触",sp_name:"greenball",path:"6001",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害"},
6002:{uuid:6002,name:"烈焰之怒",sp_name:"greenball",path:"6002",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放火焰弹,造成100%攻击的伤害"},
6003:{uuid:6003,name:"奥术冲击",sp_name:"greenball",path:"6003",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放魔法弹,造成100%攻击的伤害"},
6004:{uuid:6004,name:"神圣裁决",sp_name:"greenball",path:"6004",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放圣光弹,造成100%攻击的伤害"},
6005:{uuid:6005,name:"破空斩击",sp_name:"patk",path:"6005",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:50,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"攻击前方直线100码内的敌人造成50%伤害"},
6006:{uuid:6006,name:"穿心箭矢",sp_name:"arrow",path:"6006",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.linear,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放箭矢,造成100%攻击的伤害"},
6007:{uuid:6007,name:"铁斧打击",sp_name:"mon_ft",path:"6007",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出斧,造成100%攻击的伤害"},
6008:{uuid:6008,name:"木棍打击",sp_name:"mon_ly",path:"6008",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出木棍,造成100%攻击的伤害"},
6009:{uuid:6009,name:"飞刀打击",sp_name:"mon_xd",path:"6009",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出飞刀,造成100%攻击的伤害"},
6010:{uuid:6010,name:"石斧打击",sp_name:"mon_sf",path:"6010",TargetType:TargetType.Frontline,
TargetGroup:3,act:"atk",CdType:1,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:3,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出石斧,造成100%攻击的伤害"},
6011:{uuid:6011,name:"烈火呼吸",sp_name:"firequan",path:"6011",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:0,in:3,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤烈焰攻击前方敌人,造成200%攻击的伤害,烈焰维持3秒"},
6012:{uuid:6012,name:"大火球" ,sp_name:"fire",path:"6012",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.linear,endType:1,fname:"max",flash:false,with:50,
debuff:2,in:1,ap:300,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"},
6013:{uuid:6013,name:"火墙", sp_name:"firewall",path:"6013",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.fixedEnd,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:0,in:10,ap:50,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤一堵火墙,持续10秒,每秒造成50%攻击伤害"},
6014:{uuid:6014,name:"寒冰箭", sp_name:"arrow_blue",path:"6014",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:1,in:1,ap:200,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
6015:{uuid:6015,name:"烈焰射击",sp_name:"arrow_yellow",path:"6015",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:3,in:1,ap:200,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人"},
6016:{uuid:6016,name:"龙卷风", sp_name:"bwind",path:"6016",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:8,in:1,ap:200,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"},
6017:{uuid:6017,name:"生命之泉",sp_name:"heath",path:"6017",TargetType:TargetType.Frontline,
TargetGroup:2,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max_blue",flash:true,with:50,
debuff:0,in:5,ap:100,hp:3,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"5秒持续为全体友方恢复施法者最大生命值15%的生命"},
6018:{uuid:6018,name:"神圣护盾",sp_name:"shield",path:"6018",TargetType:TargetType.Frontline,
TargetGroup:0,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:0,in:0.8,ap:100,cd:5,
hited:0.3,shield:30,speed:720,sonsk:0,hero:0,info:"召唤圣盾保护自己,可以抵御3次攻击"},
6019:{uuid:6019,name:"战争咆哮",sp_name:"apup",path:"6019",TargetType:TargetType.Frontline,
TargetGroup:2,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max_red",flash:true,with:50,
debuff:0,in:1,def:0,apup:20,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"为全体友方增加施法者攻击力20%的攻击"},
6021:{uuid:6021,name:"死亡射击",sp_name:"shoot2",path:"6021",TargetType:2,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.fixedEnd,RunType:RunType.bezier,endType:0,fname:"max_blue",flash:true,with:50,
debuff:0,in:1,ap:600,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"攻击最后方的敌人,造成600%攻击的伤害"},
6022:{uuid:6022,name:"寒霜之矛",sp_name:"icez",path:"6022",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:1,in:1,ap:300,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
6023:{uuid:6023,name:"冰墙", sp_name:"icet",path:"6023",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:8,in:1,ap:400,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"},
6024:{uuid:6024,name:"旋风斩", sp_name:"fwind",path:"6024",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.fixedStart,RunType:RunType.bezier,endType:1,fname:"max_red",flash:false,with:50,
debuff:8,in:2,ap:80,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"旋转武器对周围的敌人造成80%攻击,2秒内旋转4次"},
6025:{uuid:6025,name:"火焰漩涡",sp_name:"fireball",path:"6025",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:8,in:3,ap:500,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤一个能量球射向前方敌人,对遇到的第一个敌人造成500%攻击的伤害,并击退"},
6026:{uuid:6026,name:"潮汐", sp_name:"watert",path:"6026",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:8,in:3,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"},
6027:{uuid:6027,name:"国王霸气",sp_name:"kingba",path:"6027",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.fixedStart,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:8,in:3,ap:400,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"释放霸气攻击周围敌人,造成400%伤害,并100%几率击退敌人"},
6028:{uuid:6028,name:"自然庇佑",sp_name:"heath2",path:"6028",TargetType:TargetType.Frontline,
TargetGroup:2,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max_blue",flash:true,with:50,
debuff:0,in:2,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"为全体友方恢复施法者最大生命值10%的生命,和抵御1次攻击的护盾"},
6029:{uuid:6029,name:"陨石术", sp_name:"fireys",path:"6029",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.fixedEnd,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:8,in:3,ap:500,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"},
6030:{uuid:6030,name:"闪电呼吸",sp_name:"dianquan",path:"6030",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:0,in:3,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤闪电攻击前方敌人,造成200%攻击的伤害,烈焰维持3秒"},
6031:{uuid:6031,name:"召唤仆从",sp_name:"zhaohuan",path:"6031",TargetType:TargetType.Frontline,
TargetGroup:0,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max_blue",flash:true,with:50,
debuff:0,in:2,ap:70,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:5211,info:"召唤一个与施法者等级相同的骷髅战士为我方而战"},
6032:{uuid:6032,name:"自愈", sp_name:"heath_small",path:"6032",TargetType:TargetType.Frontline,
TargetGroup:0,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:0,in:2,ap:100,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"主动:自己回复自身5%最大生命值的生命"},
6033:{uuid:6033,name:"震地裂击",sp_name:"cuida",path:"6033",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:4,in:1,ap:500,cd:5,
hited:0.3,shield:0,speed:720,sonsk:6035,hero:0,info:"捶爆前方目标造成300%攻击的伤害震慑敌人本局内全部敌方降低对方10%攻击力"},
6034:{uuid:6034,name:"风暴之矢",sp_name:"bingyu",path:"6034",TargetType:TargetType.Frontline,
TargetGroup:3,act:"max",CdType:2,AnimType:AnimType.parabolic,RunType:RunType.bezier,endType:1,fname:"max",flash:false,with:50,
debuff:4,in:1,ap:80,cd:5,
hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"射出能量暴风箭攻击最前方范围敌人,每波造成80%攻击的伤害"}
6001:{uuid:6001,name:"凛冬之触",sp_name:"greenball",path:"6001",TType:TType.Frontline,
TGroup:3,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:3,fname:"max",flash:false,with:90,
debuff:0,in:0.8,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放寒冰弹,造成100%攻击的伤害"},
6002:{uuid:6002,name:"穿心箭矢",sp_name:"arrow",path:"6006",TType:TType.Frontline,
TGroup:3,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:3,fname:"max",flash:false,with:90,
debuff:0,in:0.8,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人释放箭矢,造成100%攻击的伤害"},
6003:{uuid:6003,name:"神圣护盾",sp_name:"shield",path:"6018",TType:TType.Frontline,
TGroup:0,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:0,in:0.8,ap:100,cd:5,hited:0.3,shield:30,speed:720,sonsk:0,hero:0,info:"召唤圣盾保护自己,可以抵御3次攻击"},
6004:{uuid:6004,name:"自愈", sp_name:"heath_small",path:"6032",TType:TType.Frontline,
TGroup:0,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:0,in:2,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"主动:自己回复自身5%最大生命值的生命"},
6007:{uuid:6007,name:"铁斧打击",sp_name:"mon_ft",path:"6007",TType:TType.Frontline,
TGroup:3,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:3,fname:"max",flash:false,with:90,
debuff:0,in:0.8,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出铁斧,造成100%攻击的伤害"},
6008:{uuid:6008,name:"木棍打击",sp_name:"mon_ly",path:"6008",TType:TType.Frontline,
TGroup:3,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:3,fname:"max",flash:false,with:90,
debuff:0,in:0.8,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出木棍,造成100%攻击的伤害"},
6009:{uuid:6009,name:"飞刀打击",sp_name:"mon_xd",path:"6009",TType:TType.Frontline,
TGroup:3,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:3,fname:"max",flash:false,with:90,
debuff:0,in:0.8,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出飞刀,造成100%攻击的伤害"},
6010:{uuid:6010,name:"石斧打击",sp_name:"mon_sf",path:"6010",TType:TType.Frontline,
TGroup:3,act:"atk",CdType:1,AType:AType.parabolic,RType:RType.bezier,EType:3,fname:"max",flash:false,with:90,
debuff:0,in:0.8,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"向最前方敌人扔出斧,造成100%攻击的伤害"},
6011:{uuid:6011,name:"烈火呼吸",sp_name:"firequan",path:"6011",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:0,in:3,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤烈焰攻击前方敌人,造成200%攻击的伤害,烈焰维持3秒"},
6012:{uuid:6012,name:"大火球" ,sp_name:"fire",path:"6012",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.parabolic,RType:RType.linear,EType:1,fname:"max",flash:false,with:90,
debuff:2,in:1,ap:300,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成300%攻击的伤害,有一定几率施加灼烧"},
6013:{uuid:6013,name:"火墙", sp_name:"firewall",path:"6013",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:0,in:10,ap:50,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤一堵火墙,持续10秒,每秒造成50%攻击伤害"},
6014:{uuid:6014,name:"寒冰箭", sp_name:"arrow_blue",path:"6014",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:1,in:1,ap:200,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
6015:{uuid:6015,name:"烈焰射击",sp_name:"arrow_yellow",path:"6015",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:3,in:1,ap:200,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,20%几率眩晕敌人"},
6016:{uuid:6016,name:"龙卷风", sp_name:"bwind",path:"6016",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:8,in:1,ap:200,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤大火球攻击前方所有敌人,造成200%攻击的伤害,50%几率击退敌人"},
6017:{uuid:6017,name:"冰刺",sp_name:"icez",path:"6022",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.linear,EType:1,fname:"max",flash:false,with:90,
debuff:1,in:1,ap:300,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤冰刺攻击敌人,造成200%攻击的伤害,20%几率冰冻敌人"},
6018:{uuid:6018,name:"潮汐", sp_name:"watert",path:"6026",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.linear,EType:1,fname:"max",flash:false,with:90,
debuff:8,in:3,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤水柱攻击敌人,每秒造成100%攻击的伤害,50%几率击退敌人"},
6019:{uuid:6019,name:"陨石术", sp_name:"fireys",path:"6029",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.fixedEnd,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:8,in:3,ap:500,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤陨石攻击敌人,造成500%攻击的伤害"},
6023:{uuid:6023,name:"冰墙", sp_name:"icet",path:"6023",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:8,in:1,ap:400,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"在最前方敌人位置,召唤冰墙攻击敌人,造成200%攻击的伤害,50%几率击退敌人"},
6025:{uuid:6025,name:"火焰漩涡",sp_name:"fireball",path:"6025",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:8,in:3,ap:500,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤一个能量球射向前方敌人,对遇到的第一个敌人造成500%攻击的伤害,并击退"},
6030:{uuid:6030,name:"闪电呼吸",sp_name:"dianquan",path:"6030",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:0,in:3,ap:100,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"召唤闪电攻击前方敌人,造成200%攻击的伤害,烈焰维持3秒"},
6031:{uuid:6031,name:"召唤仆从",sp_name:"zhaohuan",path:"6031",TType:TType.Frontline,
TGroup:0,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max_blue",flash:true,with:90,
debuff:0,in:2,ap:70,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:5211,info:"召唤一个与施法者等级相同的骷髅战士为我方而战"},
6034:{uuid:6034,name:"风暴之矢",sp_name:"bingyu",path:"6034",TType:TType.Frontline,
TGroup:3,act:"max",CdType:2,AType:AType.parabolic,RType:RType.bezier,EType:1,fname:"max",flash:false,with:90,
debuff:4,in:1,ap:80,cd:5,hited:0.3,shield:0,speed:720,sonsk:0,hero:0,info:"射出能量暴风箭攻击最前方范围敌人,每波造成80%攻击的伤害"}
};

View File

@@ -32,7 +32,7 @@ export enum HeroFac {
enemy = 1,
}
export const HeroList = [5001,5002,5003,5004,5005,5006,5007,5008,5009,5010,5011]
export const MonList = [5201,5202,5203,5204,5205,5206,5210,5211,5212,5213,5214,5215,5216,5217,5218,5219,5220,5221,5222,5223,5224,5225,5226,5227]
export const MonList = [5201,5202,5203,5204,5205,5206,5216,5217,5218,5219,5220,5221,5222,5223,5224,5225,5226,5227]
export const HeroSet = {
Start_x:[-200,-260,-320],
Start_y:[70,0,-70]
@@ -56,21 +56,17 @@ export const HeroInfo = {
5006:{uuid:5006,name:"风暴精灵",path:"m4", lv:3,kind:2,type:2,hp:50,ap:15,dis:700,a_cd:1.5,speed:30,skills:[6001],info:"说明"},
5007:{uuid:5007,name:"生命圣者",path:"d1", lv:3,kind:2,type:2,hp:50,ap:10,dis:700,a_cd:1.5,speed:30,skills:[6001],info:"说明"},
5008:{uuid:5008,name:"战争祭祀",path:"d2", lv:3,kind:2,type:2,hp:50,ap:10,dis:700,a_cd:1.5,speed:30,skills:[6001],info:"说明"},
5009:{uuid:5009,name:"暴风射手",path:"a5", lv:3,kind:2,type:1,hp:50,ap:15,dis:700,a_cd:1.2,speed:30,skills:[6006],info:"说明"},
5010:{uuid:5010,name:"苍穹射手",path:"a3", lv:3,kind:1,type:1,hp:50,ap:15,dis:700,a_cd:1.2,speed:30,skills:[6006],info:"说明"},
5011:{uuid:5011,name:"幽灵射手",path:"a4", lv:3,kind:2,type:1,hp:50,ap:15,dis:700,a_cd:1.2,speed:30,skills:[6006],info:"说明"},
5009:{uuid:5009,name:"暴风射手",path:"a5", lv:3,kind:2,type:1,hp:50,ap:15,dis:700,a_cd:1.2,speed:30,skills:[6002],info:"说明"},
5010:{uuid:5010,name:"苍穹射手",path:"a3", lv:3,kind:1,type:1,hp:50,ap:15,dis:700,a_cd:1.2,speed:30,skills:[6002],info:"说明"},
5011:{uuid:5011,name:"幽灵射手",path:"a4", lv:3,kind:2,type:1,hp:50,ap:15,dis:700,a_cd:1.2,speed:30,skills:[6002],info:"说明"},
5201:{uuid:5201,name:"兽人战士",path:"mor1", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:1,speed:30,skills:[6001],info:"说明"},
5202:{uuid:5202,name:"兽人刺客",path:"mor2", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:1,speed:30,skills:[6001],info:"说明"},
5203:{uuid:5203,name:"兽人护卫",path:"mor3", lv:1,kind:1,type:1,hp:200,ap:5,dis:400,a_cd:1.2,speed:30,skills:[6001],info:"说明"},
5204:{uuid:5204,name:"石卫", path:"mgem1",lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:1,speed:30,skills:[6001],info:"说明"},
5205:{uuid:5205,name:"土卫", path:"mgem2",lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:1,speed:30,skills:[6001],info:"说明"},
5206:{uuid:5206,name:"树人", path:"mgem3",lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:1,speed:30,skills:[6001],info:"说明"},
5210:{uuid:5210,name:"骷髅战士",path:"mkl4", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:1,speed:30,skills:[6001],info:"说明"},
5211:{uuid:5211,name:"骷髅战士",path:"mkl5", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:1,speed:30,skills:[6001],info:"说明"},
5212:{uuid:5212,name:"骷髅战士",path:"mkl6", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:1,speed:30,skills:[6001],info:"说明"},
5213:{uuid:5213,name:"骷髅射手",path:"mkla1",lv:1,kind:1,type:1,hp:200,ap:5,dis:400,a_cd:1.2,speed:30,skills:[6001],info:"说明"},
5214:{uuid:5214,name:"骷髅射手",path:"mkla2",lv:1,kind:1,type:1,hp:200,ap:5,dis:400,a_cd:1.2,speed:30,skills:[6001],info:"说明"},
5215:{uuid:5215,name:"骷髅射手",path:"mkla3",lv:1,kind:1,type:1,hp:200,ap:5,dis:400,a_cd:1.2,speed:30,skills:[6001],info:"说明"},
5216:{uuid:5216,name:"元素1", path:"my1", lv:2,kind:1,type:2,hp:200,ap:5,dis:400,a_cd:1.5,speed:30,skills:[6001],info:"说明"},
5217:{uuid:5217,name:"元素2", path:"my2", lv:2,kind:1,type:2,hp:200,ap:5,dis:400,a_cd:1.5,speed:30,skills:[6001],info:"说明"},
5218:{uuid:5218,name:"元素3", path:"my3", lv:2,kind:1,type:2,hp:200,ap:5,dis:400,a_cd:1.5,speed:30,skills:[6001],info:"说明"},

View File

@@ -5,7 +5,7 @@ import { HeroSpine } from "./HeroSpine";
import { BoxSet, FacSet } from "../common/config/BoxSet";
import { smc } from "../common/SingletonModuleComp";
import { Timer } from "../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer";
import { SkillSet, TargetGroup, TargetType } from "../common/config/SkillSet";
import { SkillSet, TGroup, TType } from "../common/config/SkillSet";
import { BuffComp } from "./BuffComp";
import { oops } from "db://oops-framework/core/Oops";
import { GameEvent } from "../common/config/GameEvent";

View File

@@ -1,6 +1,6 @@
import { _decorator, Component, Node, Vec3 } from 'cc';
import { HeroViewComp } from './HeroViewComp';
import { SkillSet, TargetGroup, TargetType } from '../common/config/SkillSet';
import { SkillSet, TGroup, TType } from '../common/config/SkillSet';
import { Skill } from '../skills/Skill';
import { ecs } from 'db://oops-framework/libs/ecs/ECS';
import { oops } from 'db://oops-framework/core/Oops';
@@ -100,25 +100,25 @@ export class SkillConComp extends CCComp {
return;
}
let targets:any=null
switch(config.TargetGroup){
case TargetGroup.Enemy: //单个敌人
switch(config.TGroup){
case TGroup.Enemy: //单个敌人
targets = this.filterFrontRow();
break
case TargetGroup.Ally: //所有敌人
case TGroup.Ally: //所有敌人
targets = this.selectAllyTargets();
break
case TargetGroup.Self: //自身
case TGroup.Self: //自身
targets = this.HeroView.ent
break
case TargetGroup.Team: //所有友方
case TGroup.Team: //所有友方
break
case TargetGroup.All: //所有单位
case TGroup.All: //所有单位
break
}
this.HeroView.playSkillEffect(config.uuid)
const skillEntity = ecs.getEntity<Skill>(Skill);
if (targets.length === 0) return;

View File

@@ -4,7 +4,7 @@ import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/modu
import { Monster } from "../hero/Mon";
import { BoxSet } from "../common/config/BoxSet";
import { HeroSet, MonSet } from "../common/config/heroSet";
import { FightSet, Missions } from "../common/config/Mission";
import { FightSet, Missions, MonNum } from "../common/config/Mission";
import { RandomManager } from "db://oops-framework/core/common/random/RandomManager";
import { Timer } from "db://oops-framework/core/common/timer/Timer";
import { smc } from "../common/SingletonModuleComp";
@@ -17,11 +17,11 @@ const { ccclass, property } = _decorator;
@ccclass('MissionMonCompComp')
@ecs.register('MissionMonComp', false)
export class MissionMonCompComp extends CCComp {
timer:Timer=new Timer(10)
timer:Timer=new Timer(1)
// 添加刷怪队列
private monsterQueue: Array<{uuid: number, position: number, isBoss: boolean}> = [];
private isSpawning: boolean = false;// 是否正在生成怪物
private spawnInterval: number = 1; // 每个怪物生成间隔时间
private spawnInterval: number = 5; // 每个怪物生成间隔时间
private spawnTimer: number = 0; // 生成计时器
private is_fight:boolean = false;
onLoad(){
@@ -64,11 +64,12 @@ export class MissionMonCompComp extends CCComp {
do_mon_wave(){
oops.message.dispatchEvent(GameEvent.WaveUpdate)
console.log("[MissionMonComp]:怪物登场,当前波次 :",smc.vmdata.mission_data.current_wave)
let positions = [0, 1, 2];
positions.forEach(pos => {
let mon_num = RandomManager.instance.getRandomInt(0, MonNum.length, 1);
for(let i=0;i<2;i++){
let x = RandomManager.instance.getRandomInt(0, Missions[0].length, 1);
this.addToSpawnQueue(Missions[0][x], pos, false);
});
this.addToSpawnQueue(Missions[0][x], 0, false);
}
}

View File

@@ -1,13 +1,13 @@
// import { Node, UI, UITransform, Vec3 } from "cc";
// import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
// import { HeroViewComp } from "../hero/HeroViewComp";
// import { SkillSet, TargetGroup, TargetType } from "../common/config/SkillSet";
// import { SkillSet, TGroup, TType } from "../common/config/SkillSet";
// import { CdType } from "../common/config/SkillSet";
// import { oops } from "db://oops-framework/core/Oops";
// import { GameEvent } from "../common/config/GameEvent";
// import { Skill } from "../skills/Skill";
// import { SkillCom } from "../skills/SkillCom";
// import { AnimType } from "../common/config/SkillSet";
// import { AType } from "../common/config/SkillSet";
// import { BoxSet } from "../common/config/BoxSet";
@@ -43,17 +43,17 @@
// private castSkill(caster: ecs.Entity, skillId: number, config: typeof SkillSet[keyof typeof SkillSet]) {
// const view = caster.get(HeroViewComp);
// console.log(view.uuid+"=>"+view.hero_name+"施放技能:"+config.uuid);
// if (config.TargetGroup === TargetGroup.Enemy) {
// if (config.TGroup === TGroup.Enemy) {
// caster.get(HeroViewComp).playSkillEffect(config.uuid);
// this.doSkill(caster,config);
// }
// if (config.TargetGroup === TargetGroup.Ally) {
// if (config.TGroup === TGroup.Ally) {
// const targets = this.selectAllyTargets(caster, config);
// if (targets.length === 0) return;
// }
// if (config.TargetGroup === TargetGroup.Self) {
// if (config.TGroup === TGroup.Self) {
// }
@@ -86,14 +86,14 @@
// const team = casterView.fac;
// const candidates= ecs.query(ecs.allOf(HeroViewComp)).filter(e => e.get(HeroViewComp).fac === team);
// // 第二阶段:位置/血量等精细筛选
// switch(config.TargetType) {
// case TargetType.Melee:
// switch(config.TType) {
// case TType.Melee:
// return candidates.filter(e => e.get(HeroViewComp).type === 0);
// case TargetType.Ranged:
// case TType.Ranged:
// return candidates.filter(e => e.get(HeroViewComp).type === 1);
// case TargetType.SupportClass:
// case TType.SupportClass:
// return candidates.filter(e => e.get(HeroViewComp).type === 2);
// case TargetType.Random:
// case TType.Random:
// return this.pickRandomTarget(candidates, config.count || 1);
// default:
// return candidates;

View File

@@ -94,7 +94,7 @@ export class Skill extends ecs.Entity {
// 设置技能组件属性
Object.assign(SComp, {
s_uuid: uuid,
animType: config.AnimType,
AType: config.AType,
speed: config.speed,
atk_count: 0,
startPos: startPos,

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 { AnimType, endType, RunType, SkillSet } from "../common/config/SkillSet";
import { AType, EType, RType, SkillSet } from "../common/config/SkillSet";
import { BoxSet } from "../common/config/BoxSet";
import { HeroFac, HeroSet } from "../common/config/heroSet";
import { HeroViewComp } from "../hero/HeroViewComp";
@@ -28,7 +28,7 @@ export class SkillCom extends CCComp {
atk_count:number = 0;
is_destroy:boolean = false;
enemys:any = [];
animType: number = 0; // 运动类型
AType: number = 0; // 运动类型
startPos: Vec3 = v3(); // 起始位置
targetPos: Vec3 = v3(); // 目标位置
duration: number = 0; // 技能持续时间
@@ -60,17 +60,17 @@ export class SkillCom extends CCComp {
collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
}
// console.log(this.group +"技能 collider ",collider);
switch(SkillSet[this.s_uuid].AnimType){
case AnimType.parabolic:
switch(SkillSet[this.s_uuid].AType){
case AType.parabolic:
this.node.angle +=10
let bm=this.node.getComponent(BezierMove)
// bm.speed=700
if(this.group==BoxSet.MONSTER) bm.controlPointSide=-1
if(SkillSet[this.s_uuid].RunType==RunType.linear) bm.controlPointOffset=0
if(SkillSet[this.s_uuid].RType==RType.linear) bm.controlPointOffset=0
bm.moveTo(this.targetPos)
break;
case AnimType.linear:
case AType.linear:
let tx =400
if(this.group==BoxSet.MONSTER){
tx=-400
@@ -82,10 +82,10 @@ export class SkillCom extends CCComp {
}
}).start()
break;
case AnimType.fixedStart:
case AType.fixedStart:
break;
case AnimType.fixedEnd:
case AType.fixedEnd:
this.node.setPosition(this.targetPos.x,this.targetPos.y,0)
if(this.node.getComponent(Animation)){
let anim = this.node.getComponent(Animation);
@@ -120,6 +120,8 @@ export class SkillCom extends CCComp {
enemys.forEach(entity => {
let view=entity.get(HeroViewComp)
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(remainingDamage)
}
});
@@ -167,14 +169,15 @@ export class SkillCom extends CCComp {
}
update(deltaTime: number) {
let config=SkillSet[this.s_uuid]
if(smc.mission.pause) return;
if (!this.node || !this.node.isValid) return;
this.hited_time+=deltaTime
if(this.hited_time>SkillSet[this.s_uuid].hited&&this.animType==AnimType.fixedEnd&&this.hit_count==0){
if(this.hited_time>config.hited&&this.AType==AType.fixedEnd&&this.hit_count == 0){
this.hited_time=0
this.onAnimationFinished()
}
// if(this.animType == AnimType.linear) this.startLinearMove(deltaTime);
// if(this.AType == AType.linear) this.startLinearMove(deltaTime);
this.toDestroy();
}
toDestroy() {
@@ -196,7 +199,7 @@ export class SkillCom extends CCComp {
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
reset() {
this.is_destroy = false;
this.animType = 0;
this.AType = 0;
this.speed = 0;
this.startPos.set();
this.targetPos.set();