解决了狐狸大招冷却和消耗的问题
This commit is contained in:
@ -11,12 +11,18 @@ function FoxUltimate:ctor()
|
||||
self.ultimate_phase = 1 -- 大招阶段
|
||||
self.active_recast_handle = nil
|
||||
self.active_accelerate_handle = nil
|
||||
|
||||
self.tag_add_or_remove_delegate = nil
|
||||
end
|
||||
|
||||
|
||||
function FoxUltimate:K2_ActivateAbilityFromEvent(EventData)
|
||||
print("FoxUltimate:K2_ActivateAbilityFromEvent", self.ultimate_phase)
|
||||
|
||||
if not self:K2_CommitAbilityCost(false) then
|
||||
return self:K2_EndAbility()
|
||||
end
|
||||
|
||||
local owner = self:GetOwningActorFromActorInfo()
|
||||
self.movement = owner.MovementComponent
|
||||
self.animation = owner.SpineAnimationComponent
|
||||
@ -25,8 +31,17 @@ function FoxUltimate:K2_ActivateAbilityFromEvent(EventData)
|
||||
|
||||
local asc = self.asc
|
||||
|
||||
if self.tag_add_or_remove_delegate == nil then
|
||||
self.tag_add_or_remove_delegate = slua.createDelegate(function(tag, is_add)
|
||||
if is_add == 0 and not self.bIsActive then
|
||||
self.ultimate_phase = 1
|
||||
self:K2_CommitAbilityCooldown(false, false)
|
||||
end
|
||||
end)
|
||||
owner:BindGameplayTagAddOrRemove(self.recast_tag, self.tag_add_or_remove_delegate)
|
||||
end
|
||||
|
||||
if self.ultimate_phase == 1 or asc:HasMatchingGameplayTag(self.recast_tag) then
|
||||
print("triggered")
|
||||
self:TriggerUltimate(asc)
|
||||
else
|
||||
self:K2_EndAbility()
|
||||
@ -134,7 +149,19 @@ end
|
||||
|
||||
|
||||
function FoxUltimate:OnAnimationComplete(entry)
|
||||
self.ultimate_phase = self.ultimate_phase + 1
|
||||
local new_phase = self.ultimate_phase + 1
|
||||
if new_phase > 3 then
|
||||
self.ultimate_phase = 1
|
||||
else
|
||||
self.ultimate_phase = new_phase
|
||||
end
|
||||
print("FoxUltimate:OnAnimationComplete", self.ultimate_phase)
|
||||
|
||||
if not self.asc:HasMatchingGameplayTag(self.recast_tag) then
|
||||
self.ultimate_phase = 1
|
||||
self:K2_CommitAbilityCooldown(false, false)
|
||||
end
|
||||
|
||||
entry.AnimationComplete:Clear()
|
||||
entry.AnimationEvent:Clear()
|
||||
self:K2_EndAbility()
|
||||
|
||||
Reference in New Issue
Block a user