diff --git a/script/character/battle.gd b/script/character/battle.gd index d3708d0..482150e 100644 --- a/script/character/battle.gd +++ b/script/character/battle.gd @@ -114,7 +114,11 @@ func settle(hit_info:HitInfo): #mp累加 character_from.add_mp(damage * cfg_from.mp.add_rate_attack) + character_from.remove_buff("mp_recover") + character_from.add_buff("mp_recover_cd",status.cfg.mp.recover_cd) character_to.add_mp(damage * cfg_to.mp.add_rate_hit) + character_to.remove_buff("mp_recover") + character_to.add_buff("mp_recover_cd",status.cfg.mp.recover_cd) #硬直等级 var break_level_def = cfg_to.shield.break_level_on if has_shield else cfg_to.shield.break_level_off @@ -186,8 +190,8 @@ func add_mp(value:float): if mp_add > 0: character.set_status("mp",mp+mp_add) character.set_status("mp_sub",0) + else: + character.remove_buff("mp_recover_cd") + character.remove_buff("mp_recover") else: character.set_status("mp_sub",mp_sub+value) - - character.remove_buff("mp_recover") - character.add_buff("mp_recover_cd",status.cfg.mp.recover_cd) diff --git a/script/character/buff.gd b/script/character/buff.gd index ec01902..809d94b 100644 --- a/script/character/buff.gd +++ b/script/character/buff.gd @@ -100,14 +100,13 @@ func on_update_mp_recover(rate): if mp_add == 0: remove_buff("mp_recover") elif mp_add > 0: - mp_add = min(status.mp_max - status.mp,mp_add) - if mp_add == status.mp_max - status.mp: - remove_buff("mp_recover") + mp_add = min(status.mp_sub_max - status.mp_sub,mp_add) + character.add_mp(mp_add) elif mp_add < 0: - mp_add = max(status.mp + mp_add,0) + mp_add = max(-status.mp_sub , mp_add) if mp_add == 0: remove_buff("mp_recover") - character.set_status("mp_sub",status.mp+mp_add) + character.set_status("mp_sub",status.mp_sub+mp_add) func on_end_stun_recover_break_cd(rate):add_buff("stun_recover_break",-1) func on_update_stun_recover_break(rate): diff --git a/script/ui/headbar/headbar_page.gd b/script/ui/headbar/headbar_page.gd index 1a4e48f..14eea55 100644 --- a/script/ui/headbar/headbar_page.gd +++ b/script/ui/headbar/headbar_page.gd @@ -26,8 +26,8 @@ func _process(delta): headbar_meta.headbar.position = camera.unproject_position(headbar_meta.pos) func on_character_create(id:int,team:Enum.ETeam,pos:Vector3): - if team == Enum.ETeam.Player: - return + #if team == Enum.ETeam.Player: + # return var new_headbar_meta = HeadbarMeta.new() new_headbar_meta.pos = pos var new_headbar = headbar_scene.instantiate()