public override void SetLocation(Point3D loc, bool isTeleport)
{
if (!isTeleport && AccessLevel == AccessLevel.Player)
{
// moving, not teleporting
int zDrop = (this.Location.Z - loc.Z);
if (zDrop > 20) // we fell more than one story
Hits -= ((zDrop / 20) * 10) - 5; // deal some damage; does not kill, disrupt, etc
}
base.SetLocation(loc, isTeleport);
if (isTeleport || --m_NextProtectionCheck == 0)
RecheckTownProtection();
}