Merge remote-tracking branch 'origin/magicbox-1.5.2' into feature-workorder
This commit is contained in:
@@ -657,7 +657,7 @@ public class MobAI {
|
||||
for (Entry playerEntry : loadedPlayers.entrySet()) {
|
||||
|
||||
int playerID = (int) playerEntry.getKey();
|
||||
PlayerCharacter loadedPlayer = PlayerCharacter.getFromCache(playerID);
|
||||
PlayerCharacter loadedPlayer = PlayerCharacter.getPlayerCharacter(playerID);
|
||||
|
||||
//Player is null, let's remove them from the list.
|
||||
|
||||
@@ -736,7 +736,7 @@ public class MobAI {
|
||||
//mob no longer has its owner loaded, translate pet to owner
|
||||
|
||||
if (!mob.playerAgroMap.containsKey(mob.guardCaptain.getObjectUUID())) {
|
||||
MovementManager.translocate(mob, mob.guardCaptain.getLoc(), null);
|
||||
MovementManager.translocate(mob, mob.guardCaptain.getLoc());
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -896,6 +896,13 @@ public class MobAI {
|
||||
|
||||
try {
|
||||
|
||||
if(mob.getTimestamps().containsKey("lastChase") == false)
|
||||
mob.getTimestamps().put("lastChase",System.currentTimeMillis());
|
||||
else if(System.currentTimeMillis() < mob.getTimestamps().get("lastChase").longValue() + (750 + ThreadLocalRandom.current().nextInt(0,500)))
|
||||
return;
|
||||
|
||||
mob.getTimestamps().put("lastChase",System.currentTimeMillis());
|
||||
|
||||
if (CombatUtilities.inRange2D(mob, mob.getCombatTarget(), mob.getRange()) == false) {
|
||||
if (mob.getRange() > 15) {
|
||||
mob.destination = mob.getCombatTarget().getLoc();
|
||||
@@ -991,7 +998,7 @@ public class MobAI {
|
||||
try {
|
||||
|
||||
if (mob.guardCaptain == null && mob.isNecroPet() == false && mob.isSiege() == false)
|
||||
if (ZoneManager.getSeaFloor().zoneMobSet.contains(mob))
|
||||
if (ZoneManager.seaFloor.zoneMobSet.contains(mob))
|
||||
mob.killCharacter("no owner");
|
||||
|
||||
if (MovementUtilities.canMove(mob) && mob.behaviourType.canRoam)
|
||||
@@ -1098,7 +1105,7 @@ public class MobAI {
|
||||
for (Entry playerEntry : loadedPlayers.entrySet()) {
|
||||
|
||||
int playerID = (int) playerEntry.getKey();
|
||||
PlayerCharacter loadedPlayer = PlayerCharacter.getFromCache(playerID);
|
||||
PlayerCharacter loadedPlayer = PlayerCharacter.getPlayerCharacter(playerID);
|
||||
|
||||
//Player is null, let's remove them from the list.
|
||||
|
||||
@@ -1168,17 +1175,17 @@ public class MobAI {
|
||||
|
||||
//target is listed individually
|
||||
|
||||
if (entry.getValue().getPlayerUID() == target.getObjectUUID() && entry.getValue().isActive())
|
||||
if (entry.getValue().playerUID == target.getObjectUUID() && entry.getValue().active)
|
||||
return false;
|
||||
|
||||
//target's guild is listed
|
||||
|
||||
if (Guild.getGuild(entry.getValue().getGuildUID()) == target.getGuild())
|
||||
if (Guild.getGuild(entry.getValue().guildUID) == target.getGuild())
|
||||
return false;
|
||||
|
||||
//target's nation is listed
|
||||
|
||||
if (Guild.getGuild(entry.getValue().getGuildUID()) == target.getGuild().getNation())
|
||||
if (Guild.getGuild(entry.getValue().guildUID) == target.getGuild().getNation())
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -1190,17 +1197,17 @@ public class MobAI {
|
||||
|
||||
//target is listed individually
|
||||
|
||||
if (entry.getValue().getPlayerUID() == target.getObjectUUID() && entry.getValue().isActive())
|
||||
if (entry.getValue().playerUID == target.getObjectUUID() && entry.getValue().active)
|
||||
return true;
|
||||
|
||||
//target's guild is listed
|
||||
|
||||
if (Guild.getGuild(entry.getValue().getGuildUID()) == target.getGuild())
|
||||
if (Guild.getGuild(entry.getValue().guildUID) == target.getGuild())
|
||||
return true;
|
||||
|
||||
//target's nation is listed
|
||||
|
||||
if (Guild.getGuild(entry.getValue().getGuildUID()) == target.getGuild().getNation())
|
||||
if (Guild.getGuild(entry.getValue().guildUID) == target.getGuild().getNation())
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1256,7 +1263,7 @@ public class MobAI {
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: randomGuardPatrolPoints" + " " + e.getMessage());
|
||||
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: randomGuardPatrolPoints" + " " + e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1273,7 +1280,7 @@ public class MobAI {
|
||||
|
||||
for (Entry playerEntry : mob.playerAgroMap.entrySet()) {
|
||||
|
||||
PlayerCharacter potentialTarget = PlayerCharacter.getFromCache((int) playerEntry.getKey());
|
||||
PlayerCharacter potentialTarget = PlayerCharacter.getPlayerCharacter((int) playerEntry.getKey());
|
||||
|
||||
if (potentialTarget.equals(mob.getCombatTarget()))
|
||||
continue;
|
||||
|
||||
@@ -51,7 +51,7 @@ public class MovementUtilities {
|
||||
|
||||
//Guards recall distance = 814.
|
||||
if (tol != null) {
|
||||
return !(agent.getLoc().distanceSquared2D(tol.getLoc()) > sqr(Enum.CityBoundsType.ZONE.extents));
|
||||
return !(agent.getLoc().distanceSquared2D(tol.getLoc()) > sqr(Enum.CityBoundsType.ZONE.halfExtents));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -68,8 +68,8 @@ public class MovementUtilities {
|
||||
float zoneRange = 250;
|
||||
|
||||
if (agent.getParentZone() != null) {
|
||||
if (agent.getParentZone().getBounds() != null)
|
||||
zoneRange = agent.getParentZone().getBounds().getHalfExtents().x * 2;
|
||||
if (agent.getParentZone().bounds != null)
|
||||
zoneRange = agent.getParentZone().bounds.getHalfExtents().x * 2;
|
||||
}
|
||||
|
||||
if (zoneRange > 300)
|
||||
|
||||
Reference in New Issue
Block a user