局内技能 ui + 局内英雄卡片

This commit is contained in:
2024-12-10 00:44:46 +08:00
parent 0b42d41862
commit 6d25c04628
23 changed files with 24206 additions and 22594 deletions

View File

@@ -11,6 +11,7 @@ import { GameMap } from "../map/GameMap";
import { BoxSet } from "./config/BoxSet";
import { v3 } from "cc";
import { Skill } from "../skills/Skill";
import { dead } from "../skills/oncend";
// import { Role } from "../role/Role";
// import { data } from "../data/data";
@@ -78,13 +79,20 @@ export class SingletonModuleComp extends ecs.Comp {
exp_max:100,
m_exp:0,
m_exp_max:100,
msk:1001,
mmsk:1001,
hp:0,
ap:0,
def:0,
crit:0,
dodge:0,
dead:0,
mhp:0,
map:0,
mdef:0,
mcrit:0,
mdodge:0,
mdead:0,
hp_up:0,
ap_up:0,
@@ -94,13 +102,6 @@ export class SingletonModuleComp extends ecs.Comp {
map_up:0,
mdef_up:0,
hp_exp:0,
ap_exp:0,
def_exp:0,
mhp_exp:0,
map_exp:0,
mdef_exp:0,
reward_num:0, //怪物死亡数
reward_gold:0,

View File

@@ -28,40 +28,40 @@ run:number = 0; // 0有目标 带方向1贝塞尔曲线 2 不动 ,3 直线
*/
export const SkillSet={
1001:{uuid: 1001,path: "1001",type: 1,tg:3,angle:true,level: 1,name: "火球术",sp_name:"fire",info:"释放一个火球术攻击敌人",
1001:{uuid: 1001,path: "1001",type: 1,tg:3,angle:true,exp:30,level: 1,name: "火球术",sp_name:"fire",info:"释放一个火球术攻击敌人",
dis:1,count:1,in:0,run:0,ap:10,hp:0,shield:0,sd:10,cd:3,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:600, },
1002:{uuid: 1002,path: "1002",type: 1,tg:3,angle:true,level: 3,name: "寒冰箭",sp_name:"ice",info:"释放一个寒冰箭攻击敌人",
1002:{uuid: 1002,path: "1002",type: 1,tg:3,angle:true,exp:30,level: 3,name: "寒冰箭",sp_name:"ice",info:"释放一个寒冰箭攻击敌人",
dis:1,count:1,in:0,run:0,ap:10,hp:0,shield:0,sd:10,cd:1,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:600, },
1003:{uuid: 1003,path: "1003",type: 1,tg:3,angle:true,level: 3,name: "强效射击",sp_name:"b_arrow",info:"释放一个火球术攻击敌人",
1003:{uuid: 1003,path: "1003",type: 1,tg:3,angle:true,exp:30,level: 3,name: "强效射击",sp_name:"b_arrow",info:"释放一个火球术攻击敌人",
dis:1,count:1,in:0,run:1,ap:10,hp:0,shield:0,sd:10,cd:1,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:600, },
1004:{uuid: 1004,path: "1004",type: 1,tg:3,angle:true,level: 3,name: "奥术冲击",sp_name:"bm_ball",info:"释放一个寒冰箭攻击敌人",
1004:{uuid: 1004,path: "1004",type: 1,tg:3,angle:true,exp:30,level: 3,name: "奥术冲击",sp_name:"bm_ball",info:"释放一个寒冰箭攻击敌人",
dis:1,count:1,in:0,run:0,ap:10,hp:0,shield:0,sd:10,cd:1,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:600, },
2001:{uuid: 2001,path: "2001",type: 91,tg:1,angle:false,level: 1,name: "治愈术",sp_name:"heath",info:"释放一个寒冰箭攻击敌人",
2001:{uuid: 2001,path: "2001",type: 91,tg:1,angle:false,exp:30,level: 1,name: "治愈术",sp_name:"heath",info:"释放一个寒冰箭攻击敌人",
dis:1,count:1,in:0,run:1,ap:0,hp:3,shield:0,sd:10,cd:1,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:450, },
2002:{uuid: 2002,path: "2002",type: 91,tg:0,angle:false,level: 1,name: "魔法盾",sp_name:"shield",info:"释放一个寒冰箭攻击敌人",
2002:{uuid: 2002,path: "2002",type: 91,tg:0,angle:false,exp:30,level: 1,name: "魔法盾",sp_name:"shield",info:"释放一个寒冰箭攻击敌人",
dis:1,count:1,in:0.2,run:2,ap:0,hp:0,shield:1,sd:0,cd:0,bsd:8,bcd:0,sk_uuid:1001,sk_count:0,speed:450, },
2003:{uuid: 2003,path: "2003",type: 91,tg:0,angle:false,level: 1,name: "狂暴",sp_name:"atkup",info:"释放一个寒冰箭攻击敌人",
2003:{uuid: 2003,path: "2003",type: 91,tg:0,angle:false,exp:30,level: 1,name: "狂暴",sp_name:"atkup",info:"释放一个寒冰箭攻击敌人",
dis:1,count:1,in:0.2,run:2,ap:1,hp:0,shield:0,sd:0,cd:0,bsd:8,bcd:0,sk_uuid:1001,sk_count:0,speed:450, },
3001:{uuid: 3001,path: "3001",type: 1,tg:3,angle:true,level: 1,name: "三连击",sp_name:"patk",info:"释放一个魔法球攻击敌人",
3001:{uuid: 3001,path: "3001",type: 1,tg:3,angle:true,exp:30,level: 1,name: "三连击",sp_name:"patk",info:"释放一个魔法球攻击敌人",
dis:1,count:3,in:0.3,run:2,ap:0,hp:0,shield:0,sd:0,cd:0,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:600,},
4011:{uuid: 4011,path: "1011",type: 11,tg:3,angle:true,level: 3,name: "火焰风暴",sp_name:"fire",info:"释放多个个火球术攻击敌人",
4011:{uuid: 4011,path: "1011",type: 11,tg:3,angle:true,exp:30,level: 3,name: "火焰风暴",sp_name:"fire",info:"释放多个个火球术攻击敌人",
dis:1,count:5,in:0,run:0,ap:10,hp:0,shield:0,sd:10,cd:2,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:600, },
4012:{uuid: 4012,path: "1012",type: 11,tg:3,angle:true,level: 3,name: "冰晶风暴",sp_name:"ice",info:"释放多个个寒冰箭攻击敌人",
4012:{uuid: 4012,path: "1012",type: 11,tg:3,angle:true,exp:30,level: 3,name: "冰晶风暴",sp_name:"ice",info:"释放多个个寒冰箭攻击敌人",
dis:1,count:5,in:0,run:0,ap:10,hp:0,shield:0,sd:10,cd:2,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:600, },
9001:{uuid: 9001,path: "1001",type: 1,tg:3,angle:true,level: 1,name: "普攻",sp_name:"patk",info:"释放一个魔法球攻击敌人",
9001:{uuid: 9001,path: "1001",type: 1,tg:3,angle:true,exp:30,level: 1,name: "普攻",sp_name:"patk",info:"释放一个魔法球攻击敌人",
dis:1,count:1,in:0,run:0,ap:0,hp:0,shield:0,sd:0,cd:0,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:1000,},
9002:{uuid: 9002,path: "1001",type: 1,tg:3,angle:true,level: 1,name: "魔法小球",sp_name:"mball",info:"释放一个魔法球攻击敌人",
9002:{uuid: 9002,path: "1001",type: 1,tg:3,angle:true,exp:30,level: 1,name: "魔法小球",sp_name:"mball",info:"释放一个魔法球攻击敌人",
dis:1,count:1,in:0,run:0,ap:0,hp:0,shield:0,sd:0,cd:0,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:600,},
9003:{uuid: 9003,path: "1001",type: 1,tg:3,angle:true,level: 1,name: "射击",sp_name:"arrow",info:"释放一个魔法球攻击敌人",
9003:{uuid: 9003,path: "1001",type: 1,tg:3,angle:true,exp:30,level: 1,name: "射击",sp_name:"arrow",info:"释放一个魔法球攻击敌人",
dis:1,count:1,in:0,run:1,ap:0,hp:0,shield:0,sd:0,cd:0,bsd:0,bcd:0,sk_uuid:1001,sk_count:0,speed:600,},
8001:{uuid: 8001,path: "8001",type: 1,tg:3,angle:true,level: 1,name: "飞刀",sp_name:"sword1",info:"释放一个魔法球攻击敌人",
8001:{uuid: 8001,path: "8001",type: 1,tg:3,angle:true,exp:30,level: 1,name: "飞刀",sp_name:"sword1",info:"释放一个魔法球攻击敌人",
dis:1,count:1,in:0,run:0,ap:0,hp:0,shield:0,sd:0,cd:0,bsd:0,bcd:0,sk_uuid:8001,sk_count:0,speed:600,},
}

View File

@@ -52,14 +52,14 @@ export const HeroInfo = {
tals:["这是一级说明","这是二级说明","这是三级说明","这是四级说明","这是五级说明"]
},
9002: {
uuid:9001,name: "狂暴骑士",path:"k2",type:1,hp: 100, hp_up:10, shp_up:20,def:10,def_up:1,sdef_up:20,ap:20,ap_up:2,sap_up:20,atp:1,vun:0,crit:20,crit_add:0,ucr:0,dodge:0,dis:100,a_cd:1.5,
uuid:9002,name: "狂暴骑士",path:"k2",type:1,hp: 100, hp_up:10, shp_up:20,def:10,def_up:1,sdef_up:20,ap:20,ap_up:2,sap_up:20,atp:1,vun:0,crit:20,crit_add:0,ucr:0,dodge:0,dis:100,a_cd:1.5,
lvexp:0,slvexp:0, speed: 100,aexp:5,uaexp:1,cexp:10,doexp:10,dexp:20,sk1:[9001,9001,9001,9001,9001],sk2:[2002,2002,2002,2002,2002],sk3:[2002,2002,2002,2002,2002],pw:0,pwm:150,pws:10,apw:0,uapw:0,cpw:0,dpw:0,dopw:0,
akr:[10,20,30,40,50],akc:[1,1,1,1,1],uar:[10,20,30,40,50],uac:[1,1,1,1,1],dgr:[10,20,30,40,50],dgc:[1,1,1,1,1],crr:[10,20,30,40,50],crc:[1,1,1,1,1],
abh:0,abc:0,uabh:0,uabc:0,cbh:0,cbc:0,aua:0,auc:0,uaua:0,uauc:0,cua:0,cuc:0,wp:1001,arm:2001,ring:3001,shoes:4001,
tals:["这是一级说明","这是二级说明","这是三级说明","这是四级说明","这是五级说明"]
},
9003: {
uuid:9001,name: "防御骑士",path:"k3",type:1,hp: 100, hp_up:10, shp_up:20,def:10,def_up:1,sdef_up:20,ap:20,ap_up:2,sap_up:20,atp:1,vun:0,crit:20,crit_add:0,ucr:0,dodge:0,dis:100,a_cd:1.5,
uuid:9003,name: "防御骑士",path:"k3",type:1,hp: 100, hp_up:10, shp_up:20,def:10,def_up:1,sdef_up:20,ap:20,ap_up:2,sap_up:20,atp:1,vun:0,crit:20,crit_add:0,ucr:0,dodge:0,dis:100,a_cd:1.5,
lvexp:0,slvexp:0, speed: 100,aexp:5,uaexp:1,cexp:10,doexp:10,dexp:20,sk1:[9001,9001,9001,9001,9001],sk2:[2002,2002,2002,2002,2002],sk3:[2002,2002,2002,2002,2002],pw:0,pwm:150,pws:10,apw:0,uapw:0,cpw:0,dpw:0,dopw:0,
akr:[10,20,30,40,50],akc:[1,1,1,1,1],uar:[10,20,30,40,50],uac:[1,1,1,1,1],dgr:[10,20,30,40,50],dgc:[1,1,1,1,1],crr:[10,20,30,40,50],crc:[1,1,1,1,1],
abh:0,abc:0,uabh:0,uabc:0,cbh:0,cbc:0,aua:0,auc:0,uaua:0,uauc:0,cua:0,cuc:0,wp:1001,arm:2001,ring:3001,shoes:4001,

View File

@@ -252,8 +252,12 @@ export class HeroViewComp extends CCComp {
let pos =v3(-999,this.node.position.y)
if(this.box_group == BoxSet.MONSTER){
pos =v3(999,this.node.position.y)
smc.vmdata.mission.mdead +=1
}else{
smc.vmdata.mission.dead +=1
}
this.node.setPosition(pos)
}
//是否在墓地
in_grave(){
@@ -359,7 +363,11 @@ export class HeroViewComp extends CCComp {
//暴击判断
check_crit(){
let i = RandomManager.instance.getRandomInt(0,100,3)
if(i < this.crit){
let crit=this.crit+smc.vmdata.mission.crit
if(this.box_group == BoxSet.MONSTER){
crit = this.crit+smc.vmdata.mission.mcrit
}
if(i < crit){
this.tooltip(5,"*会心一击*");
this.crit_count += 1
this.exp_add(this.cexp) // 暴击经验
@@ -372,8 +380,12 @@ export class HeroViewComp extends CCComp {
//闪避判断
check_dodge(){
let i = RandomManager.instance.getRandomInt(0,100,3)
if(i < this.dodge){
console.log("闪避触发: i="+i+":dodge="+this.dodge);
let dodge=this.dodge+smc.vmdata.mission.dodge;
if(this.box_group == BoxSet.MONSTER){
dodge = this.dodge+smc.vmdata.mission.mdodge;
}
if(i < dodge){
// console.log("闪避触发: i="+i+":dodge="+dodge);
this.tooltip(5,"闪避");
this.exp_add(this.doexp) // 闪避经验
this.power_add(this.dopw)

View File

@@ -34,6 +34,7 @@ export class HCardComp extends CCComp {
this.life=this.node.getChildByName("life").getComponent(ProgressBar)!
this.pw=this.node.getChildByName("pow").getComponent(ProgressBar)!
this.hc_name.string= this.heros[this.hi].HeroView.hero_name
// this.node.getChildByName("lv").getComponent(Label).string=this.heros[this.hi].HeroView.lv.toString()+"级";
console.log("hcard start")
}
protected update(dt: number): void {

View File

@@ -1,4 +1,4 @@
import { _decorator,Button,EventHandler,EventTouch,Label,NodeEventType,resources,Sprite,SpriteAtlas,tween,UITransform,v3, Vec3 } from "cc";
import { _decorator,Button,EventHandler,EventTouch,Label,NodeEventType,resources,Sprite,SpriteAtlas,tween,UITransform,v3, Vec3,Animation } from "cc";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { smc } from "../common/SingletonModuleComp";
@@ -43,18 +43,8 @@ export class MissionComp extends CCComp {
mission_buff_type:number = 1 // 1 攻击 2 防御 3 HP
m_mission_buff_type:number = 1 // 1 攻击 2 防御 3 HP
mission_buff_up_exp:number = 99999999
msk:any={
on :false,
uuid:1001,
type:1,
lv: 1
}
mmsk:any={
on :false,
uuid:1001,
type:1,
lv: 1
}
msk:any=null
mmsk:any=null
onLoad(){
}
@@ -94,35 +84,21 @@ export class MissionComp extends CCComp {
smc.vmdata.mission.ap=0
smc.vmdata.mission.hp=0
smc.vmdata.mission.def=0
smc.vmdata.mission.crit=0
smc.vmdata.mission.dodge=0
smc.vmdata.mission.dead=0
smc.vmdata.mission.map=0
smc.vmdata.mission.mhp=0
smc.vmdata.mission.mdef=0
this.msk={ on :false, uuid:1001,type:1,lv: 1}
this.mmsk={ on :false, uuid:1001,type:1,lv: 1}
switch(smc.vmdata.mission.mbt){
case 1:
smc.vmdata.mission.exp_max=MBSet.ap_exp-smc.vmdata.mission.ap_exp;
break;
case 2:
smc.vmdata.mission.exp_max=MBSet.def_exp-smc.vmdata.mission.def_exp;
break;
case 3:
smc.vmdata.mission.exp_max=MBSet.hp_exp-smc.vmdata.mission.hp_exp;
break;
}
switch(smc.vmdata.mission.mmbt){
case 1:
smc.vmdata.mission.m_exp_max=MBSet.ap_exp+smc.vmdata.mission.map_exp;
break;
case 2:
smc.vmdata.mission.m_exp_max=MBSet.def_exp+smc.vmdata.mission.mdef_exp;
break;
case 3:
smc.vmdata.mission.m_exp_max=MBSet.hp_exp+smc.vmdata.mission.mhp_exp;
break;
}
smc.vmdata.mission.mcrit=0
smc.vmdata.mission.mdead=0
smc.vmdata.mission.mdodge=0
this.msk=SkillSet[smc.vmdata.mission.msk]
this.mmsk=SkillSet[smc.vmdata.mission.mmsk]
smc.vmdata.mission.exp_max=this.msk.exp;
smc.vmdata.mission.m_exp_max=this.mmsk.exp;
this.mon_refresh()
this.heros_call()
}
@@ -165,46 +141,14 @@ export class MissionComp extends CCComp {
check_buff(){
if(smc.vmdata.mission.exp >= smc.vmdata.mission.exp_max){
smc.vmdata.mission.exp-=smc.vmdata.mission.exp_max
switch(smc.vmdata.mission.mbt){
case 1:
smc.vmdata.mission.ap+=smc.vmdata.mission.ap_up+MBSet.ap_add
console.log("mission ap",smc.vmdata.mission.ap)
this.node.getChildByName("exp").getChildByName("ap").getChildByName("data").setScale(1.3,1.3)
this.scheduleOnce(function(){
this.node.getChildByName("exp").getChildByName("ap").getChildByName("data").setScale(1,1)
},0.2)
break;
case 2:
smc.vmdata.mission.def+=smc.vmdata.mission.def_up+MBSet.def_add
this.node.getChildByName("exp").getChildByName("def").getChildByName("data").setScale(1.3,1.3)
this.scheduleOnce(function(){
this.node.getChildByName("exp").getChildByName("def").getChildByName("data").setScale(1,1)
},0.2)
break;
case 3:
smc.vmdata.mission.hp+=smc.vmdata.mission.hp_up+MBSet.hp_add
this.node.getChildByName("exp").getChildByName("hp").getChildByName("data").setScale(1.3,1.3)
this.scheduleOnce(function(){
this.node.getChildByName("exp").getChildByName("hp").getChildByName("data").setScale(1,1)
},0.2)
break;
}
this.node.getChildByName("msk").getChildByName("flash").getComponent(Animation).play()
console.log("tudo 局内技能")
}
if(smc.vmdata.mission.m_exp >= smc.vmdata.mission.m_exp_max){
smc.vmdata.mission.m_exp-=smc.vmdata.mission.m_exp_max
switch(smc.vmdata.mission.mmbt){
case 1:
smc.vmdata.mission.map+=smc.vmdata.mission.map_up+MBSet.ap_add
break;
case 2:
smc.vmdata.mission.mdef+=smc.vmdata.mission.mdef_up+MBSet.def_add
break;
case 3:
smc.vmdata.mission.mhp+=smc.vmdata.mission.mhp_up+MBSet.hp_add
break;
}
}
this.node.getChildByName("mmsk").getChildByName("flash").getComponent(Animation).play()
console.log("tudo 敌方局内技能")
}
}
check_mon_num(){