From 215fcaa1b4edb62a4b07880337964eef4660abcd Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 13 Sep 2017 20:04:42 +0000 Subject: [PATCH] Retail Agent of Chaos behavior. --- .../dist/game/config/Character.ini | 18 +++++++++-- .../Hardin/33870-no_olympiad.html | 5 ++++ .../ai/areas/TalkingIsland/Hardin/Hardin.java | 30 +++++++++++++++++-- .../admincommandhandlers/AdminEditChar.java | 4 +++ .../java/com/l2jmobius/Config.java | 6 +++- .../model/actor/instance/L2PcInstance.java | 27 +++++++++++++++++ .../network/serverpackets/UserInfo.java | 2 +- .../dist/game/config/Character.ini | 18 +++++++++-- .../Hardin/33870-no_olympiad.html | 5 ++++ .../ai/areas/TalkingIsland/Hardin/Hardin.java | 30 +++++++++++++++++-- .../admincommandhandlers/AdminEditChar.java | 4 +++ .../java/com/l2jmobius/Config.java | 6 +++- .../model/actor/instance/L2PcInstance.java | 27 +++++++++++++++++ .../network/serverpackets/UserInfo.java | 2 +- .../dist/game/config/Character.ini | 18 +++++++++-- .../Hardin/33870-no_olympiad.html | 5 ++++ .../ai/areas/TalkingIsland/Hardin/Hardin.java | 30 +++++++++++++++++-- .../admincommandhandlers/AdminEditChar.java | 4 +++ .../java/com/l2jmobius/Config.java | 6 +++- .../model/actor/instance/L2PcInstance.java | 27 +++++++++++++++++ .../network/serverpackets/UserInfo.java | 2 +- .../network/serverpackets/UserInfo.java | 2 +- 22 files changed, 256 insertions(+), 22 deletions(-) create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/33870-no_olympiad.html create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/33870-no_olympiad.html create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/33870-no_olympiad.html diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini b/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini index 2f3fa88ff9..dc52986fec 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini +++ b/L2J_Mobius_1.0_Ertheia/dist/game/config/Character.ini @@ -180,20 +180,32 @@ FeeDeleteDualClassSkills = 20000000 # --------------------------------------------------------------------------- # Hardin (Agent of Chaos) # --------------------------------------------------------------------------- +# NOTE: Base player class race remains the same. + # Enable classes from all races. -# NOTE: Will change player race accordingly. -# Default: False -HardinEnableAllRaces = False +# Default: True +HardinEnableAllRaces = True # Disable mage-fighter class differentiation. # Default: False HardinEnableAllSpecs = False +# Select classes from same Awaken group. +# Default: True +HardinSameAwakenGroup = True + +# Retail limitations. +# -Only Dwarves can awaken into Tyrr Maestros. +# -Only Orcs can awaken into Iss Dominators. +# Default: True +HardinRetailLimitations = True + # Enable above checks for dual classes as well. # Default: True HardinEnableDualClassChecks = True # Enable Hardin for Ertheia race characters. +# Note: HardinSameAwakenGroup must be disabled. # Default: False HardinEnableErtheias = False diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/33870-no_olympiad.html b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/33870-no_olympiad.html new file mode 100644 index 0000000000..28794ef9f1 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/33870-no_olympiad.html @@ -0,0 +1,5 @@ +Hardin:
+You are involved with the Olympiad.
+Leave.
+(Players involved with the current Olympiad games cannot use Chaos Essences.) + \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java index 702d61e759..2c4bc51193 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java @@ -27,6 +27,7 @@ import com.l2jmobius.gameserver.model.L2SkillLearn; import com.l2jmobius.gameserver.model.actor.L2Npc; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.base.ClassId; +import com.l2jmobius.gameserver.model.olympiad.Olympiad; import com.l2jmobius.gameserver.model.quest.QuestState; import com.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo; import com.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight; @@ -86,6 +87,26 @@ public final class Hardin extends AbstractNpcAI { continue; } + if (Config.HARDIN_SAME_AWAKEN_GROUP) + { + final String original = c.toString().contains("_") ? c.toString().substring(0, c.toString().indexOf("_") - 1) : c.toString(); + final String search = player.getClassId().toString().contains("_") ? player.getClassId().toString().substring(0, player.getClassId().toString().indexOf("_") - 1) : player.getClassId().toString(); + if (!original.equals(search)) + { + continue; + } + } + if (Config.HARDIN_RETAIL_LIMITATIONS) + { + if (c.equals(ClassId.TYRR_MAESTRO) && (player.getRace() != Race.DWARF)) + { + continue; + } + if (c.equals(ClassId.ISS_DOMINATOR) && (player.getRace() != Race.ORC)) + { + continue; + } + } } classes.append("