public static bool? CanHitNPC(Projectile projectile, NPC target)
{
bool? flag = null;
foreach (var hook in HookCanHitNPC)
{
bool? canHit = hook(projectile, target);
if (canHit.HasValue && !canHit.Value)
{
return false;
}
if (canHit.HasValue)
{
flag = canHit.Value;
}
}
if (projectile.modProjectile != null)
{
bool? canHit = projectile.modProjectile.CanHitNPC(target);
if (canHit.HasValue && !canHit.Value)
{
return false;
}
if (canHit.HasValue)
{
flag = canHit.Value;
}
}
return flag;
}