public static bool? CanBeHitByProjectile(NPC npc, Projectile projectile)
{
bool? flag = null;
foreach (var hook in HookCanBeHitByProjectile)
{
bool? canHit = hook(npc, projectile);
if (canHit.HasValue && !canHit.Value)
{
return false;
}
if (canHit.HasValue)
{
flag = canHit.Value;
}
}
if (npc.modNPC != null)
{
bool? canHit = npc.modNPC.CanBeHitByProjectile(projectile);
if (canHit.HasValue && !canHit.Value)
{
return false;
}
if (canHit.HasValue)
{
flag = canHit.Value;
}
}
return flag;
}