基础主将添加+ 修复第一次伤害计算为穿刺伤害bug
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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; /** 角色移动速度 */
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user