mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-03-01 00:35:36 +08:00
胡桃等角色重击耐力消耗策略修复
This commit is contained in:
@@ -73,12 +73,17 @@ func (g *GameManager) HandleAbilityStamina(player *model.Player, entry *proto.Ab
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 距离技能开始过去的时间
|
// 距离技能开始过去的时间
|
||||||
pastTime := time.Now().UnixMilli() - player.StaminaInfo.LastSkillTime
|
startPastTime := time.Now().UnixMilli() - player.StaminaInfo.LastSkillTime
|
||||||
// 法器角色轻击也会算触发重击消耗
|
// 距离上次技能消耗的时间
|
||||||
// 所以通过策略判断 必须距离技能开始过去200ms才算重击
|
changePastTime := time.Now().UnixMilli() - player.StaminaInfo.LastSkillChargeTime
|
||||||
if player.StaminaInfo.LastSkillId == uint32(avatarAbility.AvatarSkillId) && pastTime > 200 {
|
// 法器角色轻击也会算触发重击消耗 胡桃等角色重击一次会多次消耗
|
||||||
|
// 所以通过策略判断 必须距离技能开始过去200ms才算重击 两次技能耐力消耗之间需间隔500ms
|
||||||
|
|
||||||
|
// 暂时就这样实现重击消耗 以后应该还会有更好的办法~
|
||||||
|
if player.StaminaInfo.LastSkillId == uint32(avatarAbility.AvatarSkillId) && startPastTime > 200 && changePastTime > 500 {
|
||||||
// 重击对应的耐力消耗
|
// 重击对应的耐力消耗
|
||||||
g.ChargedAttackStamina(player, worldAvatar, avatarAbility)
|
g.ChargedAttackStamina(player, worldAvatar, avatarAbility)
|
||||||
|
player.StaminaInfo.LastSkillChargeTime = time.Now().UnixMilli()
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ type StaminaInfo struct {
|
|||||||
LastSkillId uint32 // 最后释放的技能Id
|
LastSkillId uint32 // 最后释放的技能Id
|
||||||
LastSkillTime int64 // 最后释放技能的时间
|
LastSkillTime int64 // 最后释放技能的时间
|
||||||
LastSkillStartTime int64 // 最后执行开始技能耐力消耗的时间
|
LastSkillStartTime int64 // 最后执行开始技能耐力消耗的时间
|
||||||
|
LastSkillChargeTime int64 // 最后执行技能耐力消耗的时间
|
||||||
DrownBackDelay uint8 // 溺水返回安全点延时
|
DrownBackDelay uint8 // 溺水返回安全点延时
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user