Zieh die HP nur ab, wenn eine Variable (nennen wie sie mal is_invincible) auf false steht - und setz sie beim Getroffen-werden auf true und aktivier einen Alarm, der sie am Ende wieder auf false setzt. Im Prinzip ne ganz einfache Sache.
Du deklarierst eine Variable, die angibt, ob dein Charakter verwundet werden kann. z.B. unverwundbar = false;
Im Collision-Event mit dem Stachel fragst du ab, ob unverwundbar == false ist, setzt, falls ja, unverwundbar auf "true" und machst einen Alarm, der unverwundbar wieder auf "false" setzt.