- if(time >= actor.mage_shield_time && GetResource(actor, RES_ARMOR))
- M_Mage_Defend_Shield_Remove(actor);
-
- if(actor.enemy)
- if(GetResource(actor, RES_HEALTH) < actor.max_health)
- if(time >= actor.mage_shield_delay)
- if(random() < 0.5)
+ if(actor.enemy && time >= actor.mage_shield_delay && random() < 0.5)
+ if(GetResource(actor, RES_HEALTH) < actor.max_health && !StatusEffects_active(STATUSEFFECT_Shield, actor))