Script wont return a statement in the output when it finds a child with a specific name

the title was probably confusing to read which i dont doubt, but heres my issue.
im making a combat system for my game and i want the script to return the message “Blocked” if it finds an accessory in the target character called “Blocking”
i’ve tested this with my friends and with dummies, and the script doesnt seem to detect the Blocked accessory being there, even though it is there. here’s the code which is supposed to do this:

Requests.DamageHumanoid.Event:Connect(function(character, target, properties)
	if character:FindFirstChildWhichIsA("ForceField") or target:FindFirstChildWhichIsA("ForceField") then return end
	if target:FindFirstChild("Knocked") then return end
	
	print(character.Name .. " has just fired damage humanoid on ".. target.Name ..".")
	
	if properties.block then
		if (target.HumanoidRootPart.Position - character.HumanoidRootPart.Position).Unit:Dot(target.HumanoidRootPart.CFrame.LookVector) >= 0.2 then
			for _,v in pairs(target:GetChildren()) do
				if v.Name == "Blocking" then
					v:Destroy()
				end
			end
		end
		
		if target:FindFirstChild("Blocking") then
			target.HumanoidRootPart["punch-block".. math.clamp(properties.combo, 1, 4) or 1]:Play()
			
			return "blocked"
		end
	end

the part in specific in this function that is causing an issue is the “if” statement at the bottom.
i would really appreciate some help as i dont really know what to do… everything else in the system works just fine though

anything would help here i really dont know what to do ive been tryna fix this for quite a while

Add the properties to your print statement to check that is being passed correctly.
I would double check the dot product if statement as well, as if that triggers it will find and destroy the blocking accessory before running the following if statement which tries to find it. It might always be returning true if the calculation is wrong.

im not quite sure how to add properties to the print statement, but i removed the punch sound effect previously while attempting to get the if statement to work and it didn’t change the outcome, so its probably not that.