添加了 英雄专门处理 装备加成的文件,接下来 去掉原先的光环类文件 FightCon
This commit is contained in:
@@ -53,10 +53,12 @@ export class HeroViewComp extends CCComp {
|
||||
hp: number = 100; /** 血量 */
|
||||
hp_max: number = 100; /** 最大血量 */
|
||||
buff_hp:number=0;
|
||||
hp_base:number=0;
|
||||
|
||||
pwt:Timer = new Timer(1); //计时器
|
||||
ap: number = 10; /**攻击力 */
|
||||
buff_ap:number=0;
|
||||
ap_base:number=0;
|
||||
// atk_speed: number = 1;
|
||||
cd: number = 1.3; /**攻击速度 攻击间隔 */
|
||||
dis: number = 80;
|
||||
@@ -118,7 +120,6 @@ export class HeroViewComp extends CCComp {
|
||||
this.FIGHTCON=this.node.parent.getComponent(FightConComp);
|
||||
//console.log("[HeroViewComp]:hero view comp ",this.FIGHTCON)
|
||||
this.on(GameEvent.ChangeATK_EQUIP_SPECIAL_ATTR,this.change_atk,this)
|
||||
this.on(GameEvent.UpdateHP,this.update_hp,this)
|
||||
this.on(GameEvent.EXPUP,this.exp_up,this)
|
||||
this.on(GameEvent.UseEnhancement,this.use_enhancement,this)
|
||||
const collider = this.node.getComponent(BoxCollider2D);
|
||||
@@ -218,11 +219,14 @@ export class HeroViewComp extends CCComp {
|
||||
add_ap(ap: number,is_num:boolean=true){
|
||||
//console.log("[HeroViewComp]:add_ap add:",ap,this.ap)
|
||||
if(is_num){
|
||||
this.ap += Math.floor(ap);
|
||||
this.ap_base += Math.floor(ap);
|
||||
}else{
|
||||
this.ap += Math.floor(ap/100*this.ap);
|
||||
this.buff_ap += Math.floor(ap/100*this.ap);
|
||||
}
|
||||
this.BUFFCOMP.tooltip(TooltipTypes.apup,ap.toFixed(0));
|
||||
let diff=Math.floor(this.ap_base*(100+this.buff_ap)/100)-this.ap
|
||||
this.ap = Math.floor(this.ap_base*(100+this.buff_ap)/100)
|
||||
|
||||
this.BUFFCOMP.tooltip(TooltipTypes.apup,diff.toFixed(0));
|
||||
|
||||
if(this.is_master) {
|
||||
this.BUFFCOMP.vmdata_update();
|
||||
@@ -233,35 +237,37 @@ export class HeroViewComp extends CCComp {
|
||||
de_ap(ap: number,is_num:boolean=true){
|
||||
//console.log("[HeroViewComp]:de_ap de:",ap,this.ap)
|
||||
if(is_num){
|
||||
this.ap -= Math.floor(ap);
|
||||
this.ap_base -= Math.floor(ap);
|
||||
}else{
|
||||
this.ap -= Math.floor(ap/100*this.ap);
|
||||
this.buff_ap -= Math.floor(ap/100*this.ap);
|
||||
}
|
||||
let diff=Math.floor(this.ap_base*(100+this.buff_ap)/100)-this.ap
|
||||
this.ap = Math.floor(this.ap_base*(100+this.buff_ap)/100)
|
||||
|
||||
this.BUFFCOMP.tooltip(TooltipTypes.apup,diff.toFixed(0));
|
||||
|
||||
if(this.is_master) this.BUFFCOMP.vmdata_update()
|
||||
}
|
||||
update_hp(e:GameEvent,data:any){
|
||||
//console.log("[HeroViewComp]:update_hp",data)
|
||||
if(this.is_master===data.is_master&&this.fac===FacSet.HERO){
|
||||
this.buff_hp += data.hp
|
||||
if(data.hp > 0){
|
||||
this.hp += this.hp_max*data.hp/100
|
||||
if(this.hp > this.hp_max*(100+this.buff_hp)/100){
|
||||
this.hp=this.hp_max*(100+this.buff_hp)/100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
add_hp_max(hp: number=0,is_num:boolean=true){
|
||||
this.hp_max += Math.floor(hp) ;
|
||||
this.hp += Math.floor(hp*(100+this.buff_hp)/100) ;
|
||||
if(this.is_master) this.BUFFCOMP.vmdata_update(true)
|
||||
this.BUFFCOMP.tooltip(TooltipTypes.hpup,hp.toFixed(0));
|
||||
|
||||
add_hp_max(hp: number=0,is_num:boolean=false){
|
||||
if(is_num){
|
||||
this.hp_base += Math.floor(hp) ;
|
||||
}else{
|
||||
this.buff_hp+=hp
|
||||
}
|
||||
let diff=Math.floor(this.hp_base*(100+this.buff_hp)/100)-this.hp_max
|
||||
this.hp_max =Math.floor(this.hp_base*(100+this.buff_hp)/100)
|
||||
this.hp+=diff
|
||||
if(this.is_master) this.BUFFCOMP.vmdata_update(true)
|
||||
this.BUFFCOMP.tooltip(TooltipTypes.hpup,diff.toFixed(0));
|
||||
}
|
||||
|
||||
de_hp_max(hp: number=0,is_num:boolean=true){ //最大值 只存在数值添加, 比例通过buff_hp处理
|
||||
//console.log("[HeroViewComp]:de_hp_max de:",hp,this.hp_max)
|
||||
this.hp_max -= Math.floor(hp) ;
|
||||
this.hp_base -= Math.floor(hp) ;
|
||||
let diff=Math.floor(this.hp_base*(100+this.buff_hp)/100)-this.hp_max
|
||||
this.hp_max =Math.floor(this.hp_base*(100+this.buff_hp)/100)
|
||||
this.hp+=diff
|
||||
if(this.is_master) this.BUFFCOMP.vmdata_update(true)
|
||||
}
|
||||
|
||||
@@ -332,13 +338,8 @@ export class HeroViewComp extends CCComp {
|
||||
|
||||
if(this.fac==FacSet.MON){
|
||||
let exp=getExpDrops(HeroInfo[this.hero_uuid].quality,this.lv)
|
||||
let stone=getStoneDrops(HeroInfo[this.hero_uuid].quality,this.lv)
|
||||
oops.message.dispatchEvent(GameEvent.EXPUP,{exp:exp})
|
||||
if(stone.type=="equip"){
|
||||
oops.message.dispatchEvent(GameEvent.EQUIP_STONE_UP,stone.count)
|
||||
}else{
|
||||
oops.message.dispatchEvent(GameEvent.SKILL_STONE_UP,stone.count)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(this.fac==FacSet.HERO){
|
||||
@@ -659,12 +660,12 @@ export class HeroViewComp extends CCComp {
|
||||
}
|
||||
to_update(){
|
||||
if(!this.is_master) return
|
||||
// oops.message.dispatchEvent(GameEvent.HeroLvUp,{lv:this.lv})
|
||||
|
||||
|
||||
smc.vmdata.hero.exp = smc.vmdata.hero.exp-smc.vmdata.hero.next_exp
|
||||
smc.vmdata.hero.lv = smc.vmdata.hero.lv+1
|
||||
smc.vmdata.hero.next_exp=getUpExp(smc.vmdata.hero.lv)
|
||||
|
||||
oops.message.dispatchEvent(GameEvent.HeroLvUp,{lv:smc.vmdata.hero.lv})
|
||||
this.BUFFCOMP.lv_up()
|
||||
this.BUFFCOMP.tooltip(TooltipTypes.lvup)
|
||||
//@todo 需要添加 升级动画
|
||||
|
||||
Reference in New Issue
Block a user