noob island guard aggro
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
|
||||
package engine.mobileAI;
|
||||
|
||||
import engine.InterestManagement.RealmMap;
|
||||
import engine.InterestManagement.WorldGrid;
|
||||
import engine.gameManager.*;
|
||||
import engine.math.Vector3f;
|
||||
@@ -972,19 +973,34 @@ public class MobAI {
|
||||
}
|
||||
|
||||
private static void hamletGuardAggro(Mob mob) {
|
||||
HashSet<AbstractWorldObject> loadedPlayers = WorldGrid.getObjectsInRangePartial(mob.loc,MobAIThread.AI_BASE_AGGRO_RANGE,MBServerStatics.MASK_PLAYER);
|
||||
for(AbstractWorldObject awo : loadedPlayers){
|
||||
PlayerCharacter pc = (PlayerCharacter) awo;
|
||||
if(!pc.isAlive() || !pc.isActive())
|
||||
continue;
|
||||
if(pc.guild.equals(Guild.getErrantGuild())) {
|
||||
City city = ZoneManager.getCityAtLocation(mob.bindLoc);
|
||||
if(city != null && city.isNoobIsle == 1){
|
||||
//noob island guards only aggro to mobs
|
||||
HashSet<AbstractWorldObject> loadedMobs = WorldGrid.getObjectsInRangePartial(mob.loc, MobAIThread.AI_BASE_AGGRO_RANGE, MBServerStatics.MASK_MOB);
|
||||
for (AbstractWorldObject awo : loadedMobs) {
|
||||
Mob targetMob = (Mob) awo;
|
||||
if (!targetMob.isAlive() || targetMob.despawned)
|
||||
continue;
|
||||
if (targetMob.isPet())
|
||||
continue;
|
||||
mob.combatTarget = targetMob;
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
HashSet<AbstractWorldObject> loadedPlayers = WorldGrid.getObjectsInRangePartial(mob.loc, MobAIThread.AI_BASE_AGGRO_RANGE, MBServerStatics.MASK_PLAYER);
|
||||
for (AbstractWorldObject awo : loadedPlayers) {
|
||||
PlayerCharacter pc = (PlayerCharacter) awo;
|
||||
if (!pc.isAlive() || !pc.isActive())
|
||||
continue;
|
||||
if (pc.guild.equals(Guild.getErrantGuild())) {
|
||||
mob.combatTarget = pc;
|
||||
return;
|
||||
}
|
||||
if (pc.guild.charter.equals(mob.guild.charter))
|
||||
continue;
|
||||
mob.combatTarget = pc;
|
||||
return;
|
||||
}
|
||||
if(pc.guild.charter.equals(mob.guild.charter))
|
||||
continue;
|
||||
mob.combatTarget = pc;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ public class City extends AbstractWorldObject {
|
||||
private String cityName;
|
||||
private String motto;
|
||||
private String description;
|
||||
private int isNoobIsle; //1: noob, 0: not noob: -1: not noob, no teleport
|
||||
public int isNoobIsle; //1: noob, 0: not noob: -1: not noob, no teleport
|
||||
private int population = 0;
|
||||
private int siegesWithstood = 0;
|
||||
private int radiusType;
|
||||
|
||||
Reference in New Issue
Block a user