Finisher move not working

Ok so I have placed a finisher segment into the code. Just one problem: It works perfectly only twice but I had to spam the Q button at the third time.

Proof:

--Debounce & Code (P.S., This is the second debounce as you can see on the first line)--
elseif not FinisherDebounce then
		FinisherDebounce = true
		if Input.KeyCode == Enum.KeyCode.Q then
			print("Finisher Function Executed!")
			F1Anim:Play() --Animation
			Charge:Play() --SFX
			FinisherCheck = true --Just in case things go wrong
			wait(1.15)
			CanDamage4 = true
			delay(3.5, function()
				if CanDamage4 == true then
					CanDamage4 = false
				end
			end)
		end
		wait(15)
		print("Finisher has been reloaded!")
		FinisherDebounce = false
    end

So what could it be? The debounce, the animation itself? Please reply if you have the answer! Thank you. :smiley: