From 61e8ed92b17bfc63b0b2db6674f901adca484664 Mon Sep 17 00:00:00 2001 From: UnKownOwO <80520429@qq.com> Date: Tue, 20 Dec 2022 08:58:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=95=E5=99=A8=E8=A7=92=E8=89=B2=E8=BD=BB?= =?UTF-8?q?=E5=87=BB=E6=B6=88=E8=80=97=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gs/game/tick_manager.go | 8 +++++--- gs/game/user_stamina.go | 10 ++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/gs/game/tick_manager.go b/gs/game/tick_manager.go index e79bf63e..cab74735 100644 --- a/gs/game/tick_manager.go +++ b/gs/game/tick_manager.go @@ -229,9 +229,11 @@ func (t *TickManager) onTickSecond(now int64) { func (t *TickManager) onTick200MilliSecond(now int64) { // 耐力消耗 - for _, player := range USER_MANAGER.GetAllOnlineUserList() { - GAME_MANAGER.SustainStaminaHandler(player) - GAME_MANAGER.VehicleRestoreStaminaHandler(player) + for _, world := range WORLD_MANAGER.worldMap { + for _, player := range world.playerMap { + GAME_MANAGER.SustainStaminaHandler(player) + GAME_MANAGER.VehicleRestoreStaminaHandler(player) + } } } diff --git a/gs/game/user_stamina.go b/gs/game/user_stamina.go index 673ead92..b3690d60 100644 --- a/gs/game/user_stamina.go +++ b/gs/game/user_stamina.go @@ -58,8 +58,14 @@ func (g *GameManager) HandleAbilityStamina(player *model.Player, entry *proto.Ab if avatarAbility == nil { return } - // 重击对应的耐力消耗 - g.ChargedAttackStamina(player, worldAvatar, avatarAbility) + // 距离技能开始过去的时间 + pastTime := time.Now().UnixMilli() - player.StaminaInfo.LastSkillTime + // 法器角色轻击也会算触发重击消耗 + // 所以通过策略判断 必须距离技能开始过去200ms才算重击 + if player.StaminaInfo.LastSkillId == uint32(avatarAbility.AvatarSkillId) && pastTime > 200 { + // 重击对应的耐力消耗 + g.ChargedAttackStamina(player, worldAvatar, avatarAbility) + } default: break }