crt 改为crit
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -39,6 +39,31 @@ export class SingletonModuleComp extends ecs.Comp {
|
||||
mission_data:{
|
||||
|
||||
},
|
||||
hero_info:{
|
||||
hp:0,
|
||||
ap:0,
|
||||
def:0,
|
||||
crit:0,
|
||||
dod:0,
|
||||
|
||||
equip_ap:0,
|
||||
buff_ap:0,
|
||||
debuff_ap:0,
|
||||
},
|
||||
friend_info:{
|
||||
hp:0,
|
||||
ap:0,
|
||||
equip_ap:0,
|
||||
buff_ap:0,
|
||||
debuff_ap:0,
|
||||
},
|
||||
boss_info:{
|
||||
hp:0,
|
||||
ap:0,
|
||||
equip_ap:0,
|
||||
buff_ap:0,
|
||||
debuff_ap:0,
|
||||
},
|
||||
};
|
||||
vmAdd() {
|
||||
this.vmdata.mission_data=MissionData
|
||||
|
||||
@@ -64,89 +64,89 @@ export const MonSet = {
|
||||
}
|
||||
export const HeroInfo = {
|
||||
5001:{uuid:5001,name:"神圣守护",path:"k2", lv:1,kind:1,type:0,hp:50,ap:10,dis:700,a_cd:3,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5002:{uuid:5002,name:"幻影剑豪",path:"k1", lv:1,kind:2,type:0,hp:50,ap:10,dis:700,a_cd:3,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5003:{uuid:5003,name:"战争领主",path:"k5", lv:1,kind:2,type:0,hp:50,ap:10,dis:700,a_cd:3,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5004:{uuid:5004,name:"混沌法师",path:"zh1", lv:1,kind:2,type:2,hp:50,ap:10,dis:700,a_cd:3.5,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5005:{uuid:5005,name:"火焰法师",path:"zh2", lv:1,kind:2,type:2,hp:50,ap:15,dis:700,a_cd:3.5,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5006:{uuid:5006,name:"风暴精灵",path:"m4", lv:1,kind:2,type:2,hp:50,ap:15,dis:700,a_cd:3.5,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5008:{uuid:5008,name:"战争祭祀",path:"d2", lv:1,kind:2,type:2,hp:50,ap:10,dis:700,a_cd:3.5,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5009:{uuid:5009,name:"暴风射手",path:"a5", lv:1,kind:2,type:1,hp:50,ap:15,dis:700,a_cd:3.2,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
|
||||
|
||||
5010:{uuid:5010,name:"苍穹射手",path:"a3", lv:1,kind:1,type:1,hp:50,ap:15,dis:700,a_cd:3.2,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
|
||||
|
||||
5011:{uuid:5011,name:"幽灵射手",path:"a4", lv:1,kind:2,type:1,hp:50,ap:15,dis:700,a_cd:3.2,quality:HeroQuality.BLUE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6002],info:"说明"},
|
||||
|
||||
//怪物
|
||||
5201:{uuid:5201,name:"兽人战士",path:"mor1", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5202:{uuid:5202,name:"兽人刺客",path:"mor2", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5203:{uuid:5203,name:"兽人护卫",path:"mor3", lv:1,kind:1,type:1,hp:200,ap:5,dis:400,a_cd:3.2,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5204:{uuid:5204,name:"石卫", path:"mgem1",lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5205:{uuid:5205,name:"土卫", path:"mgem2",lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5206:{uuid:5206,name:"树人", path:"mgem3",lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
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", lv:2,kind:1,type:2,hp:200,ap:5,dis:400,a_cd:3.5,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
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", lv:2,kind:1,type:2,hp:200,ap:5,dis:400,a_cd:3.5,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
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", lv:2,kind:1,type:2,hp:200,ap:5,dis:400,a_cd:3.5,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5219:{uuid:5219,name:"牛头战士",path:"mn1", lv:2,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5220:{uuid:5220,name:"牛头战士",path:"mn2", lv:1,kind:1,type:1,hp:200,ap:5,dis:400,a_cd:3.2,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5221:{uuid:5221,name:"牛头战士",path:"mn3", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5222:{uuid:5222,name:"独眼巨人",path:"md1", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5223:{uuid:5223,name:"独眼巨人",path:"md2", lv:1,kind:1,type:0,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5224:{uuid:5224,name:"独眼巨人",path:"md3", lv:1,kind:1,type:1,hp:200,ap:5,dis:400,a_cd:3.2,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5225:{uuid:5225,name:"精英独眼",path:"md4", lv:1,kind:1,type:2,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5226:{uuid:5226,name:"精英牛头",path:"mn4", lv:1,kind:1,type:2,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"},
|
||||
|
||||
5227:{uuid:5227,name:"精英兽人",path:"mor4", lv:1,kind:1,type:2,hp:200,ap:5,dis:400,a_cd:3,quality:HeroQuality.WHITE,
|
||||
crt:5,crt_d:0,crt_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"}
|
||||
crit:5,crit_d:0,crit_no:false,dod:0,dod_no:false,speed:50,skills:[6001],info:"说明"}
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ 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,crt:0,crt_d:0,dod:0,dod_no:false,crt_no:false},fight_pos:number=1) {
|
||||
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
|
||||
@@ -78,7 +78,7 @@ export class Hero extends ecs.Entity {
|
||||
console.log("[Hero]:friend",hv)
|
||||
|
||||
}
|
||||
hero_init(uuid:number=1001,node:Node,info:any={ap:0,hp:0,lv:1,crt:0,crt_d:0,dod:0,dod_no:false,crt_no:false}) {
|
||||
hero_init(uuid:number=1001,node:Node,info:any={ap:0,hp:0,lv:1,crit:0,crit_d:0,dod:0,dod_no:false,crit_no:false}) {
|
||||
var hv = node.getComponent(HeroViewComp)!;
|
||||
let hero= HeroInfo[uuid] // 共用英雄数据
|
||||
hv.scale = 1;
|
||||
@@ -93,11 +93,11 @@ export class Hero extends ecs.Entity {
|
||||
hv.cd = hero.a_cd
|
||||
hv.hp= hv.hp_max =hero.hp+info.hp
|
||||
hv.ap = hero.ap+info.ap;
|
||||
hv.crt=hero.crt+info.crt
|
||||
hv.crt_d=hero.crt_d+info.crt_d
|
||||
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.crt_no=info.crt_no
|
||||
hv.crit_no=info.crit_no
|
||||
hv.atk_skill=hero.skills[0]
|
||||
return hv
|
||||
}
|
||||
|
||||
@@ -64,9 +64,9 @@ export class HeroViewComp extends CCComp {
|
||||
|
||||
dod: number = 10; //闪避率
|
||||
dod_no:boolean=false;
|
||||
crt:number=0; //暴击率
|
||||
crt_no:boolean=false; //暴击免疫
|
||||
crt_d:number=0; //暴击伤害
|
||||
crit:number=0; //暴击率
|
||||
crit_no:boolean=false; //暴击免疫
|
||||
crit_d:number=0; //暴击伤害
|
||||
|
||||
shield:number = 0; //护盾,免伤1次减1
|
||||
speed: number = 100; /** 角色移动速度 */
|
||||
@@ -373,17 +373,17 @@ export class HeroViewComp extends CCComp {
|
||||
}
|
||||
}
|
||||
|
||||
do_atked(remainingDamage:number,crt:number=0,crt_d:number=0){
|
||||
do_atked(remainingDamage:number,crit:number=0,crit_d:number=0){
|
||||
this.do_atked_trigger()
|
||||
|
||||
if(this.check_shield()) return
|
||||
if(this.check_dodge()) return
|
||||
let is_crit = this.check_crit(crt)
|
||||
let is_crit = this.check_crit(crit)
|
||||
|
||||
if(this == null) return;
|
||||
let damage = this.count_damage(remainingDamage)
|
||||
if(is_crit) {
|
||||
damage = Math.floor(damage * (1 + (FightSet.CRIT_DAMAGE+crt_d)/100))
|
||||
damage = Math.floor(damage * (1 + (FightSet.CRIT_DAMAGE+crit_d)/100))
|
||||
}
|
||||
this.hp -= damage;
|
||||
if(this.hp <= 0) {
|
||||
@@ -454,16 +454,16 @@ export class HeroViewComp extends CCComp {
|
||||
return false
|
||||
}
|
||||
|
||||
check_crit(crt:number=0){
|
||||
if(this.crt_no) return false
|
||||
if(crt > 0){
|
||||
check_crit(crit:number=0){
|
||||
if(this.crit_no) return false
|
||||
if(crit > 0){
|
||||
let random = Math.random()*100
|
||||
if(random < crt) {
|
||||
console.log("[HeroViewComp]:crit",crt,random)
|
||||
if(random < crit) {
|
||||
console.log("[HeroViewComp]:crit",crit,random)
|
||||
return true
|
||||
}
|
||||
}
|
||||
console.log("[HeroViewComp]:crit",crt)
|
||||
console.log("[HeroViewComp]:crit",crit)
|
||||
return false
|
||||
}
|
||||
// dead(){
|
||||
|
||||
@@ -67,11 +67,11 @@ export class Monster extends ecs.Entity {
|
||||
hv.hp= hv.hp_max =hero.hp;
|
||||
hv.ap = hero.ap;
|
||||
hv.cd = hero.a_cd
|
||||
hv.crt=hero.crt
|
||||
hv.crt_d=hero.crt_d
|
||||
hv.crit=hero.crit
|
||||
hv.crit_d=hero.crit_d
|
||||
hv.dod=hero.dod
|
||||
hv.dod_no=hero.dod_no
|
||||
hv.crt_no=hero.crt_no
|
||||
hv.crit_no=hero.crit_no
|
||||
hv.atk_skill=hero.skills[0]
|
||||
this.add(hv);
|
||||
}
|
||||
|
||||
29
assets/script/game/map/BarBossComp.ts
Normal file
29
assets/script/game/map/BarBossComp.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { _decorator } from "cc";
|
||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
/** 视图层对象 */
|
||||
@ccclass('BarBossCompComp')
|
||||
@ecs.register('BarBossComp', false)
|
||||
export class BarBossCompComp extends CCComp {
|
||||
/** 视图层逻辑代码分离演示 */
|
||||
start() {
|
||||
// var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象
|
||||
// this.on(ModuleEvent.Cmd, this.onHandler, this);
|
||||
}
|
||||
|
||||
/** 全局消息逻辑处理 */
|
||||
// private onHandler(event: string, args: any) {
|
||||
// switch (event) {
|
||||
// case ModuleEvent.Cmd:
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
|
||||
reset() {
|
||||
this.node.destroy();
|
||||
}
|
||||
}
|
||||
9
assets/script/game/map/BarBossComp.ts.meta
Normal file
9
assets/script/game/map/BarBossComp.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "fad26a63-4765-435a-bab6-daf8fa8476e1",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,6 +1,11 @@
|
||||
import { _decorator } from "cc";
|
||||
import { _decorator, Label, Node, ProgressBar } 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 { GameEvent } from "../common/config/GameEvent";
|
||||
import { HeroViewComp } from "../hero/HeroViewComp";
|
||||
import { HeroModelComp } from "../hero/HeroModelComp";
|
||||
import { MasterModelComp } from "../hero/MasterModel";
|
||||
import { FriendModelComp } from "../hero/FriendModel";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@@ -8,12 +13,56 @@ const { ccclass, property } = _decorator;
|
||||
@ccclass('BarCompComp')
|
||||
@ecs.register('BarComp', false)
|
||||
export class BarCompComp extends CCComp {
|
||||
hero_bar:Node = null;
|
||||
friend_bar:Node = null;
|
||||
boss_bar:Node = null;
|
||||
hero:HeroViewComp = null;
|
||||
friend:HeroViewComp = null;
|
||||
boss:HeroViewComp = null;
|
||||
/** 视图层逻辑代码分离演示 */
|
||||
protected onLoad(): void {
|
||||
this.on(GameEvent.FightReady,this.readay,this)
|
||||
}
|
||||
start() {
|
||||
this.hero_bar = this.node.getChildByName("bar");
|
||||
this.friend_bar = this.node.getChildByName("fbar");
|
||||
this.boss_bar = this.node.getChildByName("bar");
|
||||
// var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象
|
||||
// this.on(ModuleEvent.Cmd, this.onHandler, this);
|
||||
}
|
||||
private readay(){
|
||||
this.hero_bar.active = this.get_hero()
|
||||
this.friend_bar.active = this.get_friend()
|
||||
}
|
||||
|
||||
private get_hero(){
|
||||
let heros = ecs.query(ecs.allOf(MasterModelComp))
|
||||
if(heros.length > 0){
|
||||
this.hero = heros[0].get(HeroViewComp)
|
||||
return true
|
||||
}else{
|
||||
this.hero = null
|
||||
return false
|
||||
}
|
||||
}
|
||||
private get_friend(){
|
||||
let friend = ecs.query(ecs.allOf(FriendModelComp))
|
||||
if(friend.length > 0){
|
||||
this.friend = friend[0].get(HeroViewComp)
|
||||
return true
|
||||
}else{
|
||||
this.friend = null
|
||||
return false
|
||||
}
|
||||
}
|
||||
update_bar(){
|
||||
if(!this.get_hero()) return
|
||||
let hp_bar = this.hero_bar.getChildByName("hp").getChildByName("bar").getComponent(ProgressBar)
|
||||
let ap_bar = this.hero_bar.getChildByName("ap").getChildByName("val").getComponent(Label)
|
||||
let ap =this.hero.ap+"("+this.hero.ap_ur+")"
|
||||
hp_bar.progress = this.hero.hp/this.hero.hp_max
|
||||
ap_bar.string = ap.toString()
|
||||
}
|
||||
/** 全局消息逻辑处理 */
|
||||
// private onHandler(event: string, args: any) {
|
||||
// switch (event) {
|
||||
|
||||
@@ -138,7 +138,7 @@ export class MissionHeroCompComp extends CCComp {
|
||||
}
|
||||
|
||||
get_info_and_remove(fight_pos:number,uuid:number){
|
||||
let info:any={ap:0,hp:0,lv:1,crt:0,crt_d:0,dod:0,dod_no:false,crt_no:false}
|
||||
let info:any={ap:0,hp:0,lv:1,crit:0,crit_d:0,dod:0,dod_no:false,crit_no:false}
|
||||
let heros=ecs.query(ecs.allOf(FriendModelComp))
|
||||
if(heros.length>0){
|
||||
let hero = heros[0]
|
||||
@@ -146,11 +146,11 @@ export class MissionHeroCompComp extends CCComp {
|
||||
info.ap=hv.ap
|
||||
info.hp=hv.hp_max
|
||||
info.lv=hv.lv
|
||||
info.crt=hv.crt
|
||||
info.crt_d=hv.crt_d
|
||||
info.crit=hv.crit
|
||||
info.crit_d=hv.crit_d
|
||||
info.dod=hv.dod
|
||||
info.dod_no=hv.dod_no
|
||||
info.crt_no=hv.crt_no
|
||||
info.crit_no=hv.crit_no
|
||||
hero.destroy()
|
||||
return info
|
||||
|
||||
|
||||
@@ -50,8 +50,8 @@ export class SkillCom extends CCComp {
|
||||
anim:Animation=null;
|
||||
tweenInstance:Tween<any> = null;
|
||||
t_end_x:number=0;
|
||||
caster_crt:number=0;
|
||||
caster_crt_d:number=0;
|
||||
caster_crit:number=0;
|
||||
caster_crit_d:number=0;
|
||||
private moveDirection: Vec3 | null = null; // 添加一个属性来存储移动方向
|
||||
|
||||
protected onLoad(): void {
|
||||
@@ -72,15 +72,15 @@ export class SkillCom extends CCComp {
|
||||
console.log("[SkillCom]:caster",this.caster)
|
||||
if(this.caster.fac==FacSet.HERO){
|
||||
if(this.caster.is_master){
|
||||
this.caster_crt = this.caster.crt+this.FIGHTCON.hero_buff.CRITICAL+this.FIGHTCON.hero_debuff.CRITICAL
|
||||
this.caster_crt_d = this.caster.crt_d+this.FIGHTCON.hero_buff.CRITICAL_DMG
|
||||
this.caster_crit = this.caster.crit+this.FIGHTCON.hero_buff.CRITICAL+this.FIGHTCON.hero_debuff.CRITICAL
|
||||
this.caster_crit_d = this.caster.crit_d+this.FIGHTCON.hero_buff.CRITICAL_DMG
|
||||
}else{
|
||||
this.caster_crt = this.caster.crt+this.FIGHTCON.friend_buff.CRITICAL+this.FIGHTCON.hero_debuff.CRITICAL
|
||||
this.caster_crt_d = this.caster.crt_d+this.FIGHTCON.friend_buff.CRITICAL_DMG
|
||||
this.caster_crit = this.caster.crit+this.FIGHTCON.friend_buff.CRITICAL+this.FIGHTCON.hero_debuff.CRITICAL
|
||||
this.caster_crit_d = this.caster.crit_d+this.FIGHTCON.friend_buff.CRITICAL_DMG
|
||||
}
|
||||
}else{
|
||||
this.caster_crt = this.caster.crt+this.FIGHTCON.enemy_buff.CRITICAL+this.FIGHTCON.enemy_debuff.CRITICAL
|
||||
this.caster_crt_d = this.caster.crt_d+this.FIGHTCON.enemy_buff.CRITICAL_DMG
|
||||
this.caster_crit = this.caster.crit+this.FIGHTCON.enemy_buff.CRITICAL+this.FIGHTCON.enemy_debuff.CRITICAL
|
||||
this.caster_crit_d = this.caster.crit_d+this.FIGHTCON.enemy_buff.CRITICAL_DMG
|
||||
}
|
||||
let collider = this.getComponent(Collider2D);
|
||||
if(collider) {
|
||||
@@ -149,17 +149,17 @@ export class SkillCom extends CCComp {
|
||||
if(view){
|
||||
let dis =Math.abs(this.node.position.x-view.node.position.x)
|
||||
if(dis > SkillSet[this.s_uuid].with) return
|
||||
view.do_atked(this.ap,this.caster_crt,this.caster_crt_d)
|
||||
view.do_atked(this.ap,this.caster_crit,this.caster_crit_d)
|
||||
}
|
||||
});
|
||||
}
|
||||
//单体伤害
|
||||
single_damage(target:HeroViewComp,crt:number=0,crt_d:number=0){
|
||||
single_damage(target:HeroViewComp,crit:number=0,crit_d:number=0){
|
||||
this.hit_count++
|
||||
console.log("[SkillCom]:onBeginContact hit_count:",this.hit_count,SkillSet[this.s_uuid].hit)
|
||||
if(this.hit_count>=SkillSet[this.s_uuid].hit) this.is_destroy=true // 技能命中次数
|
||||
if(target == null) return;
|
||||
target.do_atked(this.ap,crt,crt_d)
|
||||
target.do_atked(this.ap,crit,crit_d)
|
||||
if(SkillSet[this.s_uuid].debuff>0){
|
||||
target.add_debuff(SkillSet[this.s_uuid].debuff,SkillSet[this.s_uuid].deV,SkillSet[this.s_uuid].deC)
|
||||
}
|
||||
@@ -170,7 +170,7 @@ export class SkillCom extends CCComp {
|
||||
let target = oCol.getComponent(HeroViewComp)
|
||||
if(oCol.group!=this.group){
|
||||
if(target == null) return;
|
||||
this.single_damage(target,this.caster_crt,this.caster_crt_d)
|
||||
this.single_damage(target,this.caster_crit,this.caster_crit_d)
|
||||
// this.ent.destroy()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,8 +34,9 @@
|
||||
- [x] 广告拿紫色品质, 紫色品质 一定几率出现,出现后 10秒后消失
|
||||
- [ ] 装备设定,借助AI,各品质装备 属性相差20% ,
|
||||
- [ ] 添加玩家自主 激活额外boss 按钮,额外boss 有特殊事件
|
||||
- [ ]
|
||||
|
||||
- [ ] 主将信息面板
|
||||
- [ ] 伙伴信息面板
|
||||
- [ ] boss信息面板
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user