IF
CharacterTurnStarted(CHARACTER_Ulfred_Gatekeeper_Boss)
AND
CharacterGetHitpointsPercentage(CHARACTER_Ulfred_Gatekeeper_Boss, _Health)
AND
_Health < 50
THEN
Stuff
You want to be using IF rather than PROC. You would also need a way to make sure that it only runs once.