If I cast this spell, then cast a different spell, then cast this spell again, it casts the other spell. Since I didn't make the other spell I'm guessing it's mine that's messing up so... 'lil help please. Don't give me to much criticism, despite how awful it may be. 

-
Divine Blessing
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Divine Blessing
-
-
Actions
-
-------- ------------------------------------------------ --------
-
-------- Seting Spell Constants --------
-
-------- ------------------------------------------------ --------
-
Set DivineBlessing_Caster = (Casting unit)
-
Set DivineBlessing_Owner = (Owner of DivineBlessing_Caster)
-
Set DivineBlessing_Target = (Target unit of ability being cast)
-
-------- ------------------------------------------------ --------
-
-------- Setting Invulnerability Variables --------
-
-------- ------------------------------------------------ --------
-
Set DivineBlessing_Ability = Divine Blessing
-
Set DivineBlessing_AbilityLevel = (Real((Level of Divine Blessing for DivineBlessing_Caster)))
-
-------- ------------------------------------------------ --------
-
-------- Setting Special Effects --------
-
-------- ------------------------------------------------ --------
-
Special Effect - Create a special effect attached to the overhead of DivineBlessing_Target using Abilities\Spells\Human\Resurrect\ResurrectCaster.mdl
-
Set DivineBlessing_SpecialEffect = (Last created special effect)
-
-------- ------------------------------------------------ --------
-
-------- Setting Invulnerability --------
-
-------- ------------------------------------------------ --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Divine Blessing for (Triggering unit)) Equal to 1
-
-
Then - Actions
-
Special Effect - Create a special effect attached to the overhead of DivineBlessing_Target using Abilities\Spells\Human\Resurrect\ResurrectCaster.mdl
-
Special Effect - Destroy DivineBlessing_SpecialEffect
-
Unit - Make DivineBlessing_Target Invulnerable
-
Wait 15.00 seconds
-
Unit - Make DivineBlessing_Target Vulnerable
-
-
Else - Actions
-
Do nothing
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Divine Blessing for (Triggering unit)) Equal to 2
-
-
Then - Actions
-
Special Effect - Create a special effect attached to the overhead of DivineBlessing_Target using Abilities\Spells\Human\Resurrect\ResurrectCaster.mdl
-
Special Effect - Destroy DivineBlessing_SpecialEffect
-
Unit - Make DivineBlessing_Target Invulnerable
-
Wait 30.00 seconds
-
Unit - Make DivineBlessing_Target Vulnerable
-
-
Else - Actions
-
Do nothing
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Divine Blessing for (Triggering unit)) Equal to 3
-
-
Then - Actions
-
Special Effect - Create a special effect attached to the overhead of DivineBlessing_Target using Abilities\Spells\Human\Resurrect\ResurrectCaster.mdl
-
Special Effect - Destroy DivineBlessing_SpecialEffect
-
Unit - Make DivineBlessing_Target Invulnerable
-
Wait 45.00 seconds
-
Unit - Make DivineBlessing_Target Vulnerable
-
-
Else - Actions
-
Do nothing
-
-
-
-