- if not(is_from_contents || is_from_owner || exception)
- return FALSE; // only self damage or damage from contents or exceptions is allowed
-
- // -2 or lower disables all damage including exceptions
- // 2 or higher automatically allows all damage normally
+ {
+ if(is_from_exception)
+ return (exception); // if exception is detected, allow it to override
+ else if not(is_from_contents || is_from_owner)
+ return FALSE; // otherwise, only allow self damage and damage from contents
+ }
+ else if(autocvar_g_projectiles_damage == 2) // allow any damage, but override for exceptions
+ {
+ if(is_from_exception)
+ return (exception); // if exception is detected, allow it to override
+ }