Better pacing method for revalidate zones.
This commit is contained in:
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1785,23 +1785,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1791,23 +1791,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1793,23 +1793,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1803,23 +1803,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1796,23 +1796,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1796,23 +1796,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1796,23 +1796,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3138,23 +3138,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1808,23 +1808,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3138,23 +3138,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1803,23 +1803,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3138,23 +3138,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1803,23 +1803,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+5
-16
@@ -200,6 +200,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
|||||||
private boolean _blocked;
|
private boolean _blocked;
|
||||||
private boolean _meditated;
|
private boolean _meditated;
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
private boolean _advanceFlag = false;
|
private boolean _advanceFlag = false;
|
||||||
private int _advanceMultiplier = 1;
|
private int _advanceMultiplier = 1;
|
||||||
|
|
||||||
@@ -584,8 +585,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
|||||||
revalidateZone(true);
|
revalidateZone(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected byte _zoneValidateCounter = 4;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Revalidate zone.
|
* Revalidate zone.
|
||||||
* @param force the force
|
* @param force the force
|
||||||
@@ -598,23 +597,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (getDistanceSq(_lastZoneValidateLocation.getX(), _lastZoneValidateLocation.getY(), _lastZoneValidateLocation.getZ()) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE * Config.MAX_DRIFT_RANGE : 10000)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(getX(), getY(), getZ());
|
||||||
|
|
||||||
region.revalidateZones(this);
|
region.revalidateZones(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+12
-22
@@ -115,6 +115,7 @@ import org.l2jmobius.gameserver.model.Timestamp;
|
|||||||
import org.l2jmobius.gameserver.model.TradeList;
|
import org.l2jmobius.gameserver.model.TradeList;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
|
import org.l2jmobius.gameserver.model.WorldRegion;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Playable;
|
import org.l2jmobius.gameserver.model.actor.Playable;
|
||||||
@@ -304,7 +305,6 @@ public class PlayerInstance extends Playable
|
|||||||
private long _pvpFlagLasts;
|
private long _pvpFlagLasts;
|
||||||
private byte _siegeState = 0;
|
private byte _siegeState = 0;
|
||||||
private int _curWeightPenalty = 0;
|
private int _curWeightPenalty = 0;
|
||||||
private byte _zoneValidateCounter = 4;
|
|
||||||
private boolean _isIn7sDungeon = false;
|
private boolean _isIn7sDungeon = false;
|
||||||
private int _heroConsecutiveKillCount = 0;
|
private int _heroConsecutiveKillCount = 0;
|
||||||
private boolean _isPvpHero = false;
|
private boolean _isPvpHero = false;
|
||||||
@@ -1720,35 +1720,25 @@ public class PlayerInstance extends Playable
|
|||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// Cannot validate if not in a world region (happens during teleport)
|
// Cannot validate if not in a world region (happens during teleport)
|
||||||
if (getWorldRegion() == null)
|
final WorldRegion region = getWorldRegion();
|
||||||
|
if (region == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This function is called too often from movement code.
|
||||||
|
if (!force && (getDistanceSq(_lastZoneValidateLocation.getX(), _lastZoneValidateLocation.getY(), _lastZoneValidateLocation.getZ()) < 10000))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_lastZoneValidateLocation.setXYZ(getX(), getY(), getZ());
|
||||||
|
|
||||||
|
region.revalidateZones(this);
|
||||||
|
|
||||||
if (Config.ALLOW_WATER)
|
if (Config.ALLOW_WATER)
|
||||||
{
|
{
|
||||||
checkWaterState();
|
checkWaterState();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called very often from movement code
|
|
||||||
if (force)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getWorldRegion().revalidateZones(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -202,6 +202,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
|||||||
private boolean _blocked;
|
private boolean _blocked;
|
||||||
private boolean _meditated;
|
private boolean _meditated;
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
private boolean _advanceFlag = false;
|
private boolean _advanceFlag = false;
|
||||||
private int _advanceMultiplier = 1;
|
private int _advanceMultiplier = 1;
|
||||||
|
|
||||||
@@ -586,8 +587,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
|||||||
revalidateZone(true);
|
revalidateZone(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected byte _zoneValidateCounter = 4;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Revalidate zone.
|
* Revalidate zone.
|
||||||
* @param force the force
|
* @param force the force
|
||||||
@@ -600,23 +599,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (getDistanceSq(_lastZoneValidateLocation.getX(), _lastZoneValidateLocation.getY(), _lastZoneValidateLocation.getZ()) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE * Config.MAX_DRIFT_RANGE : 10000)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(getX(), getY(), getZ());
|
||||||
|
|
||||||
region.revalidateZones(this);
|
region.revalidateZones(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+12
-22
@@ -118,6 +118,7 @@ import org.l2jmobius.gameserver.model.Timestamp;
|
|||||||
import org.l2jmobius.gameserver.model.TradeList;
|
import org.l2jmobius.gameserver.model.TradeList;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
|
import org.l2jmobius.gameserver.model.WorldRegion;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Playable;
|
import org.l2jmobius.gameserver.model.actor.Playable;
|
||||||
@@ -313,7 +314,6 @@ public class PlayerInstance extends Playable
|
|||||||
private byte _siegeState = 0;
|
private byte _siegeState = 0;
|
||||||
private int _curWeightPenalty = 0;
|
private int _curWeightPenalty = 0;
|
||||||
private int _lastCompassZone; // the last compass zone update send to the client
|
private int _lastCompassZone; // the last compass zone update send to the client
|
||||||
private byte _zoneValidateCounter = 4;
|
|
||||||
private boolean _isIn7sDungeon = false;
|
private boolean _isIn7sDungeon = false;
|
||||||
private int _heroConsecutiveKillCount = 0;
|
private int _heroConsecutiveKillCount = 0;
|
||||||
private boolean _isPvpHero = false;
|
private boolean _isPvpHero = false;
|
||||||
@@ -1734,36 +1734,26 @@ public class PlayerInstance extends Playable
|
|||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// Cannot validate if not in a world region (happens during teleport)
|
// Cannot validate if not in a world region (happens during teleport)
|
||||||
if (getWorldRegion() == null)
|
final WorldRegion region = getWorldRegion();
|
||||||
|
if (region == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This function is called too often from movement code.
|
||||||
|
if (!force && (getDistanceSq(_lastZoneValidateLocation.getX(), _lastZoneValidateLocation.getY(), _lastZoneValidateLocation.getZ()) < 10000))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_lastZoneValidateLocation.setXYZ(getX(), getY(), getZ());
|
||||||
|
|
||||||
|
region.revalidateZones(this);
|
||||||
|
|
||||||
if (Config.ALLOW_WATER)
|
if (Config.ALLOW_WATER)
|
||||||
{
|
{
|
||||||
checkWaterState();
|
checkWaterState();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called very often from movement code
|
|
||||||
if (force)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getWorldRegion().revalidateZones(this);
|
|
||||||
|
|
||||||
if (isInsideZone(ZoneId.SIEGE))
|
if (isInsideZone(ZoneId.SIEGE))
|
||||||
{
|
{
|
||||||
if (_lastCompassZone == ExSetCompassZoneCode.SIEGEWARZONE2)
|
if (_lastCompassZone == ExSetCompassZoneCode.SIEGEWARZONE2)
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -4073,23 +4073,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1701,23 +1701,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -4075,23 +4075,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1722,23 +1722,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1749,23 +1749,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1749,23 +1749,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1747,23 +1747,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -224,7 +224,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3152,23 +3152,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1757,23 +1757,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -224,7 +224,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3152,23 +3152,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1757,23 +1757,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -224,7 +224,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3151,23 +3151,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1770,23 +1770,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -223,7 +223,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3139,23 +3139,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1751,23 +1751,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -224,7 +224,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3154,23 +3154,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1806,23 +1806,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -224,7 +224,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
private boolean _allSkillsDisabled;
|
private boolean _allSkillsDisabled;
|
||||||
|
|
||||||
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
private final byte[] _zones = new byte[ZoneId.getZoneCount()];
|
||||||
protected byte _zoneValidateCounter = 4;
|
protected final Location _lastZoneValidateLocation = new Location(getX(), getY(), getZ());
|
||||||
|
|
||||||
private final StampedLock _attackLock = new StampedLock();
|
private final StampedLock _attackLock = new StampedLock();
|
||||||
|
|
||||||
@@ -3161,23 +3161,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
public void revalidateZone(boolean force)
|
public void revalidateZone(boolean force)
|
||||||
{
|
{
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < (isNpc() && !isInCombat() ? Config.MAX_DRIFT_RANGE : 100)))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
final ZoneRegion region = ZoneManager.getInstance().getRegion(this);
|
||||||
if (region != null)
|
if (region != null)
|
||||||
|
|||||||
+3
-14
@@ -1806,23 +1806,12 @@ public class PlayerInstance extends Playable
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called too often from movement code
|
// This function is called too often from movement code.
|
||||||
if (force)
|
if (!force && (calculateDistance3D(_lastZoneValidateLocation) < 100))
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_zoneValidateCounter--;
|
|
||||||
if (_zoneValidateCounter < 0)
|
|
||||||
{
|
|
||||||
_zoneValidateCounter = 4;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
_lastZoneValidateLocation.setXYZ(this);
|
||||||
|
|
||||||
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
ZoneManager.getInstance().getRegion(this).revalidateZones(this);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user