From 64c22448773a1e445b7e62c42c30a941b32b2134 Mon Sep 17 00:00:00 2001 From: UnKownOwO <80520429@qq.com> Date: Tue, 20 Dec 2022 08:40:16 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=8A=80=E8=83=BD=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E6=B6=88=E8=80=97=E8=80=90=E5=8A=9B=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gs/game/user_stamina.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gs/game/user_stamina.go b/gs/game/user_stamina.go index bdf76a3d..673ead92 100644 --- a/gs/game/user_stamina.go +++ b/gs/game/user_stamina.go @@ -1,6 +1,7 @@ package game import ( + "strings" "time" "hk4e/gdconf" @@ -57,14 +58,8 @@ func (g *GameManager) HandleAbilityStamina(player *model.Player, entry *proto.Ab if avatarAbility == nil { return } - // 距离技能开始过去的时间 - pastTime := time.Now().UnixMilli() - player.StaminaInfo.LastSkillTime - // 法器角色轻击也会算触发重击消耗 - // 所以通过策略判断 必须距离技能开始过去200ms才算重击 - if player.StaminaInfo.LastSkillId == uint32(avatarAbility.AvatarSkillId) && pastTime > 200 { - // 重击对应的耐力消耗 - g.ChargedAttackStamina(player, worldAvatar, avatarAbility) - } + // 重击对应的耐力消耗 + g.ChargedAttackStamina(player, worldAvatar, avatarAbility) default: break } @@ -205,6 +200,10 @@ func (g *GameManager) SkillSustainStamina(player *model.Player, isSwim bool) { // ChargedAttackStamina 处理重击技能即时耐力消耗 func (g *GameManager) ChargedAttackStamina(player *model.Player, worldAvatar *WorldAvatar, skillData *gdconf.AvatarSkillData) { + // 确保技能为重击 + if !strings.Contains(skillData.AbilityName, "ExtraAttack") { + return + } // 获取现行角色的配置表 avatarDataConfig, ok := gdconf.CONF.AvatarDataMap[int32(worldAvatar.avatarId)] if !ok {