Unhardcoded faction guards, fixed aggro and various improvements.
This commit is contained in:
@ -1097,7 +1097,6 @@ public final class Config
|
||||
public static Map<String, Location> COMMUNITY_AVAILABLE_TELEPORTS;
|
||||
public static boolean FACTION_SYSTEM_ENABLED;
|
||||
public static Location FACTION_STARTING_LOCATION;
|
||||
public static int FACTION_MANAGER_NPCID;
|
||||
public static Location FACTION_MANAGER_LOCATION;
|
||||
public static Location FACTION_GOOD_BASE_LOCATION;
|
||||
public static Location FACTION_EVIL_BASE_LOCATION;
|
||||
@ -1106,8 +1105,6 @@ public final class Config
|
||||
public static int FACTION_GOOD_NAME_COLOR;
|
||||
public static int FACTION_EVIL_NAME_COLOR;
|
||||
public static boolean FACTION_GUARDS_ENABLED;
|
||||
public static int FACTION_GOOD_GUARD_NPCID;
|
||||
public static int FACTION_EVIL_GUARD_NPCID;
|
||||
public static boolean FACTION_RESPAWN_AT_BASE;
|
||||
public static boolean FACTION_AUTO_NOBLESS;
|
||||
public static boolean FACTION_SPECIFIC_CHAT;
|
||||
@ -2483,7 +2480,6 @@ public final class Config
|
||||
FACTION_SYSTEM_ENABLED = Boolean.valueOf(FactionSystem.getBoolean("EnableFactionSystem", false));
|
||||
tempString = FactionSystem.getString("StartingLocation", "85332,16199,-1252").split(",");
|
||||
FACTION_STARTING_LOCATION = new Location(Integer.parseInt(tempString[0]), Integer.parseInt(tempString[1]), Integer.parseInt(tempString[2]));
|
||||
FACTION_MANAGER_NPCID = FactionSystem.getInt("FactionManagerNpcId", 500);
|
||||
tempString = FactionSystem.getString("ManagerSpawnLocation", "85712,15974,-1260,26808").split(",");
|
||||
FACTION_MANAGER_LOCATION = new Location(Integer.parseInt(tempString[0]), Integer.parseInt(tempString[1]), Integer.parseInt(tempString[2]), tempString[3] != null ? Integer.parseInt(tempString[3]) : 0);
|
||||
tempString = FactionSystem.getString("GoodBaseLocation", "45306,48878,-3058").split(",");
|
||||
@ -2495,8 +2491,6 @@ public final class Config
|
||||
FACTION_GOOD_NAME_COLOR = Integer.decode("0x" + FactionSystem.getString("GoodNameColor", "00FF00"));
|
||||
FACTION_EVIL_NAME_COLOR = Integer.decode("0x" + FactionSystem.getString("EvilNameColor", "0000FF"));
|
||||
FACTION_GUARDS_ENABLED = FactionSystem.getBoolean("EnableFactionGuards", true);
|
||||
FACTION_GOOD_GUARD_NPCID = FactionSystem.getInt("GoodGuardNpcId", 501);
|
||||
FACTION_EVIL_GUARD_NPCID = FactionSystem.getInt("EvilGuardNpcId", 502);
|
||||
FACTION_RESPAWN_AT_BASE = FactionSystem.getBoolean("RespawnAtFactionBase", true);
|
||||
FACTION_AUTO_NOBLESS = FactionSystem.getBoolean("FactionAutoNobless", false);
|
||||
FACTION_SPECIFIC_CHAT = FactionSystem.getBoolean("EnableFactionChat", true);
|
||||
|
@ -57,6 +57,14 @@ public class L2GuardInstance extends L2Attackable
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (Config.FACTION_SYSTEM_ENABLED && Config.FACTION_GUARDS_ENABLED && attacker.isPlayable())
|
||||
{
|
||||
L2PcInstance player = attacker.getActingPlayer();
|
||||
if ((player.isGood() && getTemplate().isClan(Config.FACTION_EVIL_TEAM_NAME)) || (player.isEvil() && getTemplate().isClan(Config.FACTION_GOOD_TEAM_NAME)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.isAutoAttackable(attacker);
|
||||
}
|
||||
|
||||
|
@ -8362,6 +8362,10 @@ public final class L2PcInstance extends L2Playable
|
||||
|
||||
if (attacker instanceof L2GuardInstance)
|
||||
{
|
||||
if (Config.FACTION_SYSTEM_ENABLED && Config.FACTION_GUARDS_ENABLED && ((_isGood && ((L2Npc) attacker).getTemplate().isClan(Config.FACTION_EVIL_TEAM_NAME)) || (_isEvil && ((L2Npc) attacker).getTemplate().isClan(Config.FACTION_GOOD_TEAM_NAME))))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return (getReputation() < 0); // Guards attack only PK players.
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user