todo 技能存在时间准确性问题

This commit is contained in:
2025-01-10 11:07:53 +08:00
parent b4158a0a29
commit 1d9af24c66
20 changed files with 315 additions and 457 deletions

View File

@@ -318,14 +318,8 @@ export class HeroViewComp extends CCComp {
let l_hp=this.check_less(skill.ap,skill.is_crit,skill.crit_add)
this.check_debuff(skill,l_hp*skill.derate)
if(this.shield > 0){
let l_shield=this.shield-l_hp
if(l_shield < 0){
this.shield = 0
l_hp = Math.abs(l_shield)
}else{
this.shield = l_shield
l_hp = 0
}
this.shield -=1
l_hp = 0
}
this.hp_less(l_hp,skill.is_crit);
}
@@ -557,7 +551,7 @@ export class HeroViewComp extends CCComp {
let pos =this.node.position
let is_crit=this.check_crit()
this.to_console(this.scale+this.hero_name+"使用技能:"+sk+SkillSet[sk].name+" pos:"+pos+" t_pos:"+t_pos+" box:"+this.box_group,);
skill.load(pos,this.box_group,this.node,sk,this.ap_max,t_pos,is_crit,this.crit_add);
skill.load(pos,this.box_group,this.node,sk,this.ap_max,t_pos,is_crit,this.crit_add,this.rhp_max);
}
check_heros(){
@@ -699,7 +693,7 @@ export class HeroViewComp extends CCComp {
let t_pos = pos
this.to_console("to_all_buff:"+sk)
let is_crit=this.check_crit()
skill.load(pos,this.box_group,this.node,sk,this.ap_max,t_pos,is_crit,this.crit_add);
skill.load(pos,this.box_group,this.node,sk,this.ap_max,t_pos,is_crit,this.crit_add,this.rhp_max);
this.to_console("使用buff:"+sk+" t_pos:"+t_pos+" box:"+this.box_group);
}
@@ -709,7 +703,7 @@ export class HeroViewComp extends CCComp {
let pos = this.node.position
this.to_console("do_add_buff:"+hero.hero_name+" "+sk);
let is_crit=this.check_crit()
skill.load(pos,this.box_group,this.node,sk,this.ap_max,t_pos,is_crit,this.crit_add);
skill.load(pos,this.box_group,this.node,sk,this.ap_max,t_pos,is_crit,this.crit_add,this.rhp_max);
this.to_console(this.scale+this.hero_name+"使用buff:"+sk+SkillSet[sk].name+" t_pos:"+t_pos+" box:"+this.box_group,);
}
@@ -743,10 +737,15 @@ export class HeroViewComp extends CCComp {
}
this.BUFFCOMP.tooltip(2,hp.toFixed(0));
}
add_hp_max(hp: number=0){
this.BUFFCOMP.show_buff(0.5)
this.hp += Math.floor(hp/100*this.hp_max) ;
add_hp2(hprate: number=0){
this.hp += Math.floor(hprate/100*this.hp_max) ;
}
add_hp_max(hprate: number=0){
this.BUFFCOMP.show_hp(0.5)
this.hp_max += Math.floor(hprate/100*this.rhp_max) ;
this.add_hp2(hprate)
}
hp_less(hp: number,is_crit:boolean=false){
if(this.is_dead) return
hp=Math.floor(hp)