As specified in the Docs this hook has "No return behaviour", and has a return type "void", but in the Hammer class is obviously specified, that DoAttackShared checks for non-null return type before applying the attack. Fix the docs mb?
public override void DoAttackShared(HitInfo info)
{
BasePlayer ownerPlayer = GetOwnerPlayer();
BaseCombatEntity baseCombatEntity = info.HitEntity as BaseCombatEntity;
if (baseCombatEntity != null)
{
if (Interface.CallHook("OnHammerHit", ownerPlayer, info) != null)
{
return;
}
if (ownerPlayer != null && base.isServer)
{
using (TimeWarning.New("DoRepair", 50L))
{
baseCombatEntity.DoRepair(ownerPlayer);
}
}
}
if (base.isServer)
{
Effect.server.ImpactEffect(info);
}
else
{
Effect.client.ImpactEffect(info);
}
}