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