From f67b7dbd1a3273f10bb1eabe941d4fc6f4660c4a Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sun, 15 Oct 2017 01:35:17 +0000 Subject: [PATCH] Addition of exalted noble status. --- .../ai/others/ClassMaster/ClassMaster.java | 4 +-- .../MonumentOfHeroes/MonumentOfHeroes.java | 2 +- .../ai/others/OlyManager/OlyManager.java | 2 +- .../custom/FactionSystem/FactionSystem.java | 4 +-- .../admincommandhandlers/AdminEditChar.java | 6 ++-- .../admincommandhandlers/AdminOlympiad.java | 6 ++-- .../usercommandhandlers/OlympiadStat.java | 2 +- .../usercommandhandlers/SiegeStatus.java | 2 +- .../Q00551_OlympiadStarter.java | 4 +-- .../Q00553_OlympiadUndefeated.java | 4 +-- .../Q10369_NoblesseSoulTesting.java | 2 +- .../Q10461_TappingThePowerWithin.java | 2 +- .../Q10811_ExaltedOneWhoFacesTheLimit.java | 2 +- .../Q10827_StepUpToLead.java | 6 ++++ .../instancemanager/SiegeManager.java | 4 +-- .../l2jmobius/gameserver/model/L2Clan.java | 2 +- .../gameserver/model/L2ClanMember.java | 2 +- .../gameserver/model/actor/L2Attackable.java | 4 +-- .../gameserver/model/actor/L2Npc.java | 4 +-- .../model/actor/instance/L2PcInstance.java | 29 ++++++++++--------- .../actor/instance/L2TeleporterInstance.java | 8 ++--- .../gameserver/model/actor/stat/PcStat.java | 2 +- .../gameserver/model/entity/Siege.java | 2 +- .../model/olympiad/OlympiadManager.java | 2 +- .../clientpackets/RequestGiveNickName.java | 2 +- .../ability/RequestAbilityList.java | 2 +- .../ability/RequestAbilityWndClose.java | 2 +- .../ability/RequestAbilityWndOpen.java | 2 +- .../ability/RequestAcquireAbilityList.java | 2 +- .../ability/RequestChangeAbilityPoint.java | 2 +- .../ability/RequestResetAbilityPoint.java | 2 +- .../network/serverpackets/CharInfo.java | 2 +- .../serverpackets/GMViewCharacterInfo.java | 2 +- .../network/serverpackets/UserInfo.java | 2 +- .../ability/ExAcquireAPSkillList.java | 2 +- .../ai/others/ClassMaster/ClassMaster.java | 4 +-- .../MonumentOfHeroes/MonumentOfHeroes.java | 2 +- .../ai/others/OlyManager/OlyManager.java | 2 +- .../custom/FactionSystem/FactionSystem.java | 4 +-- .../admincommandhandlers/AdminEditChar.java | 6 ++-- .../admincommandhandlers/AdminOlympiad.java | 6 ++-- .../usercommandhandlers/OlympiadStat.java | 2 +- .../usercommandhandlers/SiegeStatus.java | 2 +- .../Q00551_OlympiadStarter.java | 4 +-- .../Q00553_OlympiadUndefeated.java | 4 +-- .../Q10369_NoblesseSoulTesting.java | 2 +- .../Q10461_TappingThePowerWithin.java | 2 +- .../Q10811_ExaltedOneWhoFacesTheLimit.java | 2 +- .../Q10827_StepUpToLead.java | 6 ++++ .../instancemanager/SiegeManager.java | 4 +-- .../l2jmobius/gameserver/model/L2Clan.java | 2 +- .../gameserver/model/L2ClanMember.java | 2 +- .../gameserver/model/actor/L2Attackable.java | 4 +-- .../gameserver/model/actor/L2Npc.java | 4 +-- .../model/actor/instance/L2PcInstance.java | 29 ++++++++++--------- .../actor/instance/L2TeleporterInstance.java | 8 ++--- .../gameserver/model/actor/stat/PcStat.java | 2 +- .../gameserver/model/entity/Siege.java | 2 +- .../model/olympiad/OlympiadManager.java | 2 +- .../clientpackets/RequestGiveNickName.java | 2 +- .../ability/RequestAbilityList.java | 2 +- .../ability/RequestAbilityWndClose.java | 2 +- .../ability/RequestAbilityWndOpen.java | 2 +- .../ability/RequestAcquireAbilityList.java | 2 +- .../ability/RequestChangeAbilityPoint.java | 2 +- .../ability/RequestResetAbilityPoint.java | 2 +- .../network/serverpackets/CharInfo.java | 2 +- .../serverpackets/GMViewCharacterInfo.java | 2 +- .../network/serverpackets/UserInfo.java | 2 +- .../ability/ExAcquireAPSkillList.java | 2 +- 70 files changed, 138 insertions(+), 120 deletions(-) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java index ea5b550f76..1d7d3318fb 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java @@ -256,7 +256,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader } case "setnoble": { - if (player.isNoble()) + if (player.getNobleLevel() > 0) { htmltext = "test_server_helper025b.html"; } @@ -266,7 +266,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader } else { - player.setNoble(true); + player.setNoble(1); player.broadcastUserInfo(); // TODO: SetOneTimeQuestFlag(talker, 10385, 1); htmltext = "test_server_helper025.html"; diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/MonumentOfHeroes/MonumentOfHeroes.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/MonumentOfHeroes/MonumentOfHeroes.java index 37aa1851df..6c25cbfdcf 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/MonumentOfHeroes/MonumentOfHeroes.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/MonumentOfHeroes/MonumentOfHeroes.java @@ -254,7 +254,7 @@ public final class MonumentOfHeroes extends AbstractNpcAI @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { - return player.isNoble() ? "MonumentOfHeroes-noblesse.html" : "MonumentOfHeroes-noNoblesse.html"; + return player.getNobleLevel() > 0 ? "MonumentOfHeroes-noblesse.html" : "MonumentOfHeroes-noNoblesse.html"; } private int getOlympiadRank(L2PcInstance player) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/OlyManager/OlyManager.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/OlyManager/OlyManager.java index d22a8b9b16..073b459591 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/OlyManager/OlyManager.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/OlyManager/OlyManager.java @@ -311,7 +311,7 @@ public final class OlyManager extends AbstractNpcAI implements IBypassHandler if (!player.isCursedWeaponEquipped()) { - htmltext = player.isNoble() ? "OlyManager-noble.html" : "OlyManager-noNoble.html"; + htmltext = player.getNobleLevel() > 0 ? "OlyManager-noble.html" : "OlyManager-noNoble.html"; } else { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/FactionSystem/FactionSystem.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/FactionSystem/FactionSystem.java index e770572210..c8e1732192 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/FactionSystem/FactionSystem.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/FactionSystem/FactionSystem.java @@ -76,7 +76,7 @@ public final class FactionSystem extends AbstractNpcAI } if (Config.FACTION_AUTO_NOBLESS) { - player.setNoble(true); + player.setNoble(1); } player.setGood(); player.getAppearance().setNameColor(Config.FACTION_GOOD_NAME_COLOR); @@ -103,7 +103,7 @@ public final class FactionSystem extends AbstractNpcAI } if (Config.FACTION_AUTO_NOBLESS) { - player.setNoble(true); + player.setNoble(1); } player.setEvil(); player.getAppearance().setNameColor(Config.FACTION_EVIL_NAME_COLOR); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java index b9f0ab5ed6..607a4beb8f 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java @@ -860,7 +860,8 @@ public class AdminEditChar implements IAdminCommandHandler if (player != null) { - player.setNoble(!player.isNoble()); + final int nobleLevel = player.getNobleLevel(); + player.setNoble(nobleLevel == 2 ? 0 : nobleLevel + 1); if (player.getObjectId() != activeChar.getObjectId()) { activeChar.sendMessage("You've changed nobless status of: " + player.getName()); @@ -1169,7 +1170,8 @@ public class AdminEditChar implements IAdminCommandHandler adminReply.replace("%hwid%", (player.getClient() != null) && (player.getClient().getHardwareInfo() != null) ? player.getClient().getHardwareInfo().getMacAddress() : "Unknown"); adminReply.replace("%ai%", player.getAI().getIntention().name()); adminReply.replace("%inst%", player.isInInstance() ? "InstanceId:" + player.getInstanceId() + "" : ""); - adminReply.replace("%noblesse%", player.isNoble() ? "Yes" : "No"); + final int nobleLevel = player.getNobleLevel(); + adminReply.replace("%noblesse%", nobleLevel == 0 ? "No" : nobleLevel == 1 ? "Noble" : "Exalted"); activeChar.sendPacket(adminReply); } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminOlympiad.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminOlympiad.java index 8797840e8a..cb29b6d922 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminOlympiad.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminOlympiad.java @@ -111,7 +111,7 @@ public class AdminOlympiad implements IAdminCommandHandler return false; } - if (player.isNoble()) + if (player.getNobleLevel() > 0) { final StatsSet statDat = getPlayerSet(player); final int oldpoints = Olympiad.getInstance().getNoblePoints(player); @@ -152,7 +152,7 @@ public class AdminOlympiad implements IAdminCommandHandler return false; } - if (player.isNoble()) + if (player.getNobleLevel() > 0) { final StatsSet playerStat = Olympiad.getNobleStats(player.getObjectId()); if (playerStat == null) @@ -194,7 +194,7 @@ public class AdminOlympiad implements IAdminCommandHandler return false; } - if (player.isNoble()) + if (player.getNobleLevel() > 0) { final StatsSet statDat = getPlayerSet(player); final int oldpoints = Olympiad.getInstance().getNoblePoints(player); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java index cdf5982fb5..3940b0b253 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java @@ -44,7 +44,7 @@ public class OlympiadStat implements IUserCommandHandler final int nobleObjId = activeChar.getObjectId(); final L2Object target = activeChar.getTarget(); - if ((target == null) || !target.isPlayer() || !target.getActingPlayer().isNoble()) + if ((target == null) || !target.isPlayer() || (target.getActingPlayer().getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.THIS_COMMAND_CAN_ONLY_BE_USED_WHEN_THE_TARGET_IS_AN_AWAKENED_NOBLESSE_EXALTED); return false; diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/usercommandhandlers/SiegeStatus.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/usercommandhandlers/SiegeStatus.java index 47c8112fbe..953e68a8ed 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/usercommandhandlers/SiegeStatus.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/usercommandhandlers/SiegeStatus.java @@ -46,7 +46,7 @@ public class SiegeStatus implements IUserCommandHandler return false; } - if (!activeChar.isNoble() || !activeChar.isClanLeader()) + if ((activeChar.getNobleLevel() == 0) || !activeChar.isClanLeader()) { activeChar.sendPacket(SystemMessageId.ONLY_A_CLAN_LEADER_THAT_IS_A_NOBLESSE_EXALTED_CAN_VIEW_THE_SIEGE_WAR_STATUS_WINDOW_DURING_A_SIEGE_WAR); return false; diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java index 90665125e8..06c1d4dd79 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java @@ -222,7 +222,7 @@ public class Q00551_OlympiadStarter extends Quest final QuestState qs = getQuestState(player, true); String htmltext = getNoQuestMsg(player); - if ((player.getLevel() < 75) || !player.isNoble()) + if ((player.getLevel() < 75) || (player.getNobleLevel() == 0)) { htmltext = "31688-00.htm"; } @@ -235,7 +235,7 @@ public class Q00551_OlympiadStarter extends Quest if (qs.isNowAvailable()) { qs.setState(State.CREATED); - htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm"; + htmltext = (player.getLevel() < 75) || (player.getNobleLevel() == 0) ? "31688-00.htm" : "31688-01.htm"; } else { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java index 5646eb5dfd..83fee71c5b 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java @@ -156,7 +156,7 @@ public class Q00553_OlympiadUndefeated extends Quest String htmltext = getNoQuestMsg(player); final QuestState qs = getQuestState(player, true); - if ((player.getLevel() < 75) || !player.isNoble()) + if ((player.getLevel() < 75) || (player.getNobleLevel() == 0)) { htmltext = "31688-00.htm"; } @@ -169,7 +169,7 @@ public class Q00553_OlympiadUndefeated extends Quest if (qs.isNowAvailable()) { qs.setState(State.CREATED); - htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm"; + htmltext = (player.getLevel() < 75) || (player.getNobleLevel() == 0) ? "31688-00.htm" : "31688-01.htm"; } else { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java index 6bdcb9797f..5f76df3412 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java @@ -361,7 +361,7 @@ public final class Q10369_NoblesseSoulTesting extends Quest { player.doCast(NOBLESSE_PRESENTATION.getSkill()); showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 5000); - player.setNoble(true); + player.setNoble(1); player.broadcastUserInfo(); giveItems(player, DIMENSIONAL_DIAMOND, 10); giveItems(player, NOBLESSE_TIARA, 1); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10461_TappingThePowerWithin/Q10461_TappingThePowerWithin.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10461_TappingThePowerWithin/Q10461_TappingThePowerWithin.java index a1644bd81c..2256a4b1ca 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10461_TappingThePowerWithin/Q10461_TappingThePowerWithin.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10461_TappingThePowerWithin/Q10461_TappingThePowerWithin.java @@ -98,7 +98,7 @@ public final class Q10461_TappingThePowerWithin extends Quest { case State.CREATED: { - if (((player.getLevel() >= MIN_LEVEL) && player.isNoble())) + if (((player.getLevel() >= MIN_LEVEL) && (player.getNobleLevel() > 0))) { htmltext = "33907-01.htm"; break; diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/Q10811_ExaltedOneWhoFacesTheLimit.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/Q10811_ExaltedOneWhoFacesTheLimit.java index fefb09d834..23f25a9570 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/Q10811_ExaltedOneWhoFacesTheLimit.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/Q10811_ExaltedOneWhoFacesTheLimit.java @@ -119,7 +119,7 @@ public final class Q10811_ExaltedOneWhoFacesTheLimit extends Quest { case State.CREATED: { - htmltext = (player.getLevel() >= MIN_LEVEL) && player.isNoble() ? "33383-01.htm" : "33383-07.htm"; + htmltext = (player.getLevel() >= MIN_LEVEL) && (player.getNobleLevel() > 0) ? "33383-01.htm" : "33383-07.htm"; break; } case State.STARTED: diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java index 298eff777e..affcf1380e 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java @@ -97,6 +97,12 @@ public final class Q10827_StepUpToLead extends Quest } giveItems(player, GUSTAV_CERTIFICATE, 1); giveItems(player, SPELLBOOK_FAVOR_OF_THE_EXALTED, 1); + + // Give Exalted status here? + // https://l2wiki.com/Noblesse + player.setNoble(2); + player.broadcastUserInfo(); + qs.exitQuest(false, true); } else diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/SiegeManager.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/SiegeManager.java index 0cef166f06..728cb6ca44 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/SiegeManager.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/SiegeManager.java @@ -64,7 +64,7 @@ public final class SiegeManager public final void addSiegeSkills(L2PcInstance character) { - for (Skill sk : SkillData.getInstance().getSiegeSkills(character.isNoble(), character.getClan().getCastleId() > 0)) + for (Skill sk : SkillData.getInstance().getSiegeSkills(character.getNobleLevel() > 0, character.getClan().getCastleId() > 0)) { character.addSkill(sk, false); } @@ -110,7 +110,7 @@ public final class SiegeManager public final void removeSiegeSkills(L2PcInstance character) { - for (Skill sk : SkillData.getInstance().getSiegeSkills(character.isNoble(), character.getClan().getCastleId() > 0)) + for (Skill sk : SkillData.getInstance().getSiegeSkills(character.getNobleLevel() > 0, character.getClan().getCastleId() > 0)) { character.removeSkill(sk); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2Clan.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2Clan.java index 8b2c358800..d274d275d8 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2Clan.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2Clan.java @@ -486,7 +486,7 @@ public class L2Clan implements IIdentifiable, INamable if (exMember.isOnline()) { final L2PcInstance player = exMember.getPlayerInstance(); - if (!player.isNoble()) + if (player.getNobleLevel() == 0) { player.setTitle(""); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2ClanMember.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2ClanMember.java index daef76108a..02d3c77259 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2ClanMember.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2ClanMember.java @@ -801,7 +801,7 @@ public class L2ClanMember } } - if (player.isNoble() && (pledgeClass < 5)) + if ((player.getNobleLevel() > 0) && (pledgeClass < 5)) { pledgeClass = 5; } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java index 1f14847338..9d12eccfd5 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java @@ -406,7 +406,7 @@ public class L2Attackable extends L2Npc p.increaseRaidbossPoints(points); p.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_EARNED_S1_RAID_POINT_S).addInt(points)); - if (p.isNoble()) + if (p.getNobleLevel() > 0) { Hero.getInstance().setRBkilled(p.getObjectId(), getId()); } @@ -417,7 +417,7 @@ public class L2Attackable extends L2Npc final int points = Math.max(raidbossPoints, 1); player.increaseRaidbossPoints(points); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_EARNED_S1_RAID_POINT_S).addInt(points)); - if (player.isNoble()) + if (player.getNobleLevel() > 0) { Hero.getInstance().setRBkilled(player.getObjectId(), getId()); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Npc.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Npc.java index aa4830fcbe..f2b3f03c92 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Npc.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Npc.java @@ -750,7 +750,7 @@ public class L2Npc extends L2Character { case 31688: { - if (player.isNoble()) + if (player.getNobleLevel() > 0) { filename = Olympiad.OLYMPIAD_HTML_PATH + "noble_main.htm"; } @@ -766,7 +766,7 @@ public class L2Npc extends L2Character case 31771: case 31772: { - if (player.isHero() || player.isNoble()) + if (player.isHero() || (player.getNobleLevel() > 0)) { filename = Olympiad.OLYMPIAD_HTML_PATH + "hero_main.htm"; } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java index 599d6c1cc1..066c4e3ee7 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java @@ -562,7 +562,7 @@ public final class L2PcInstance extends L2Playable // Multisell private PreparedListContainer _currentMultiSell = null; - private boolean _noble = false; + private int _nobleLevel = 0; private boolean _hero = false; private boolean _trueHero = false; @@ -2555,9 +2555,9 @@ public final class L2PcInstance extends L2Playable // Do not call this on enterworld or char load // Add noble skills if noble - if (isNoble()) + if (_nobleLevel > 0) { - setNoble(true); + setNoble(_nobleLevel); } // Add Hero skills if hero @@ -6514,7 +6514,7 @@ public final class L2PcInstance extends L2Playable statement.setInt(30, getClanPrivileges().getBitmask()); statement.setInt(31, getWantsPeace()); statement.setInt(32, getBaseClass()); - statement.setInt(33, isNoble() ? 1 : 0); + statement.setInt(33, _nobleLevel); statement.setLong(34, 0); statement.setInt(35, PcStat.MIN_VITALITY_POINTS); statement.setDate(36, new Date(getCreateDate().getTimeInMillis())); @@ -6576,7 +6576,8 @@ public final class L2PcInstance extends L2Playable player.setPvpKills(rset.getInt("pvpkills")); player.setPkKills(rset.getInt("pkkills")); player.setOnlineTime(rset.getLong("onlinetime")); - player.setNoble(rset.getInt("nobless") == 1); + final int nobleLevel = rset.getInt("nobless"); + player.setNoble(nobleLevel); final int factionId = rset.getInt("faction"); if (factionId == 1) @@ -6634,7 +6635,7 @@ public final class L2PcInstance extends L2Playable } else { - if (player.isNoble()) + if (nobleLevel > 0) { player.setPledgeClass(5); } @@ -7162,7 +7163,7 @@ public final class L2PcInstance extends L2Playable } statement.setLong(34, totalOnlineTime); - statement.setInt(35, isNoble() ? 1 : 0); + statement.setInt(35, _nobleLevel); statement.setInt(36, getPowerGrade()); statement.setInt(37, getPledgeType()); statement.setInt(38, getLvlJoinedAcademy()); @@ -8454,7 +8455,7 @@ public final class L2PcInstance extends L2Playable } case STRIDER: // Strider { - if (isNoble()) + if (_nobleLevel > 0) { addSkill(CommonSkill.STRIDER_SIEGE_ASSAULT.getSkill(), false); } @@ -9318,15 +9319,15 @@ public final class L2PcInstance extends L2Playable return true; } - public boolean isNoble() + public int getNobleLevel() { - return _noble; + return _nobleLevel; } - public void setNoble(boolean val) + public void setNoble(int level) { final Collection nobleSkillTree = SkillTreesData.getInstance().getNobleSkillTree().values(); - if (val) + if (level != 0) { for (Skill skill : nobleSkillTree) { @@ -9341,10 +9342,10 @@ public final class L2PcInstance extends L2Playable } } - _noble = val; + _nobleLevel = level; sendSkillList(); - if (val && (getLevel() >= 99)) + if ((level != 0) && (getLevel() >= 99)) { sendPacket(new ExAcquireAPSkillList(this)); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2TeleporterInstance.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2TeleporterInstance.java index acf49aff2c..c305885ece 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2TeleporterInstance.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2TeleporterInstance.java @@ -80,7 +80,7 @@ public final class L2TeleporterInstance extends L2Npc case "showNoblesSelect": { final NpcHtmlMessage msg = new NpcHtmlMessage(getObjectId()); - msg.setFile(player.getHtmlPrefix(), "data/html/teleporter/" + (player.isNoble() ? "nobles_select" : "not_nobles") + ".htm"); + msg.setFile(player.getHtmlPrefix(), "data/html/teleporter/" + (player.getNobleLevel() > 0 ? "nobles_select" : "not_nobles") + ".htm"); msg.replace("%objectId%", getObjectId()); player.sendPacket(msg); break; @@ -88,7 +88,7 @@ public final class L2TeleporterInstance extends L2Npc case "showTeleports": { final TeleportType type = parseTeleportType(st); - if (((type == TeleportType.NOBLES_TOKEN) || (type == TeleportType.NOBLES_ADENA)) && !player.isNoble()) + if (((type == TeleportType.NOBLES_TOKEN) || (type == TeleportType.NOBLES_ADENA)) && (player.getNobleLevel() == 0)) { _log.warning(player + " attempted to use nobles teleport without being nobles!"); break; @@ -148,7 +148,7 @@ public final class L2TeleporterInstance extends L2Npc } final TeleportType type = TeleportType.values()[typeId]; - if (((type == TeleportType.NOBLES_TOKEN) || (type == TeleportType.NOBLES_ADENA)) && !player.isNoble()) + if (((type == TeleportType.NOBLES_TOKEN) || (type == TeleportType.NOBLES_ADENA)) && (player.getNobleLevel() == 0)) { _log.warning(player + " attempted to use nobles teleport without being nobles!"); break; @@ -481,7 +481,7 @@ public final class L2TeleporterInstance extends L2Npc player.sendPacket(SystemMessageId.YOU_CANNOT_TELEPORT_WHILE_IN_POSSESSION_OF_A_WARD); return; } - else if (list.getIsForNoble() && !player.isNoble()) + else if (list.getIsForNoble() && (player.getNobleLevel() == 0)) { final String filename = "data/html/teleporter/nobleteleporter-no.htm"; final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/stat/PcStat.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/stat/PcStat.java index e9561cde00..ed3c6a8f62 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/stat/PcStat.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/stat/PcStat.java @@ -294,7 +294,7 @@ public class PcStat extends PlayableStat // Send acquirable skill list getActiveChar().sendPacket(new AcquireSkillList(getActiveChar())); getActiveChar().sendPacket(new ExVoteSystemInfo(getActiveChar())); - if ((getLevel() >= 99) && getActiveChar().isNoble()) + if ((getLevel() >= 99) && (getActiveChar().getNobleLevel() > 0)) { getActiveChar().sendPacket(new ExAcquireAPSkillList(getActiveChar())); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/entity/Siege.java index 4d1d933e3a..25e31c2dfd 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/entity/Siege.java @@ -271,7 +271,7 @@ public class Siege implements Siegable if (member != null) { final L2PcInstance player = member.getPlayerInstance(); - if ((player != null) && player.isNoble()) + if ((player != null) && (player.getNobleLevel() > 0)) { Hero.getInstance().setCastleTaken(player.getObjectId(), getCastle().getResidenceId()); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/olympiad/OlympiadManager.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/olympiad/OlympiadManager.java index b1a3037b05..84a104a610 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/olympiad/OlympiadManager.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/olympiad/OlympiadManager.java @@ -269,7 +269,7 @@ public class OlympiadManager return false; } - if (!noble.isNoble()) + if (noble.getNobleLevel() == 0) { final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_DOES_NOT_MEET_THE_PARTICIPATION_REQUIREMENTS_ONLY_NOBLESSE_EXALTED_CHARACTERS_CAN_PARTICIPATE_IN_THE_OLYMPIAD); sm.addString(noble.getName()); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestGiveNickName.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestGiveNickName.java index ca5edd5824..766def128f 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestGiveNickName.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestGiveNickName.java @@ -46,7 +46,7 @@ public class RequestGiveNickName implements IClientIncomingPacket } // Noblesse can bestow a title to themselves - if (activeChar.isNoble() && _target.equalsIgnoreCase(activeChar.getName())) + if ((activeChar.getNobleLevel() > 0) && _target.equalsIgnoreCase(activeChar.getName())) { activeChar.setTitle(_title); client.sendPacket(SystemMessageId.YOUR_TITLE_HAS_BEEN_CHANGED); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityList.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityList.java index d83cfc8b0d..20cfe2b43f 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityList.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityList.java @@ -48,7 +48,7 @@ public class RequestAbilityList implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndClose.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndClose.java index 24accfb7f5..bba56abdc8 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndClose.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndClose.java @@ -44,7 +44,7 @@ public class RequestAbilityWndClose implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndOpen.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndOpen.java index 3d5dea3364..bd5039b381 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndOpen.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndOpen.java @@ -44,7 +44,7 @@ public class RequestAbilityWndOpen implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAcquireAbilityList.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAcquireAbilityList.java index c715881866..9a65c0b9ab 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAcquireAbilityList.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAcquireAbilityList.java @@ -90,7 +90,7 @@ public class RequestAcquireAbilityList implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestChangeAbilityPoint.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestChangeAbilityPoint.java index 0fbb6cf615..2f7a122e79 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestChangeAbilityPoint.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestChangeAbilityPoint.java @@ -54,7 +54,7 @@ public class RequestChangeAbilityPoint implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestResetAbilityPoint.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestResetAbilityPoint.java index 708bd16eaa..ed43c52c44 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestResetAbilityPoint.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestResetAbilityPoint.java @@ -58,7 +58,7 @@ public class RequestResetAbilityPoint implements IClientIncomingPacket { return; } - else if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + else if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { client.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/CharInfo.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/CharInfo.java index 293338cdb6..9b55dceadd 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/CharInfo.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/CharInfo.java @@ -201,7 +201,7 @@ public class CharInfo implements IClientOutgoingPacket packet.writeC(_activeChar.getTeam().getId()); // Confirmed packet.writeD(_activeChar.getClanCrestLargeId()); - packet.writeC(_activeChar.isNoble() ? 1 : 0); // Confirmed + packet.writeC(_activeChar.getNobleLevel()); // Confirmed packet.writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); // Confirmed packet.writeC(_activeChar.isFishing() ? 1 : 0); // Confirmed diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java index fa4191961a..d67302fa42 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java @@ -154,7 +154,7 @@ public class GMViewCharacterInfo implements IClientOutgoingPacket packet.writeD(_activeChar.getPledgeClass()); // changes the text above CP on Status Window - packet.writeC(_activeChar.isNoble() ? 0x01 : 0x00); + packet.writeC(_activeChar.getNobleLevel()); packet.writeC(_activeChar.isHero() ? 0x01 : 0x00); packet.writeD(_activeChar.getAppearance().getNameColor()); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/UserInfo.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/UserInfo.java index 837c0809e7..7edc073b87 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/UserInfo.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/UserInfo.java @@ -303,7 +303,7 @@ public class UserInfo extends AbstractMaskPacket packet.writeH(22); packet.writeC(_activeChar.getPvpFlag()); packet.writeD(_activeChar.getReputation()); // Reputation - packet.writeC(_activeChar.isNoble() ? 0x01 : 0x00); + packet.writeC(_activeChar.getNobleLevel()); packet.writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); packet.writeC(_activeChar.getPledgeClass()); packet.writeD(_activeChar.getPkKills()); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/ability/ExAcquireAPSkillList.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/ability/ExAcquireAPSkillList.java index 5cb12538ab..03d4955c37 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/ability/ExAcquireAPSkillList.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/ability/ExAcquireAPSkillList.java @@ -55,7 +55,7 @@ public class ExAcquireAPSkillList implements IClientOutgoingPacket } } } - _enable = (!activeChar.isSubClassActive() || activeChar.isDualClassActive()) && (activeChar.getLevel() >= 99) && activeChar.isNoble(); + _enable = (!activeChar.isSubClassActive() || activeChar.isDualClassActive()) && (activeChar.getLevel() >= 99) && (activeChar.getNobleLevel() > 0); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java index fbc1b2f271..6938a9e60f 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java @@ -256,7 +256,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader } case "setnoble": { - if (player.isNoble()) + if (player.getNobleLevel() > 0) { htmltext = "test_server_helper025b.html"; } @@ -266,7 +266,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader } else { - player.setNoble(true); + player.setNoble(1); player.broadcastUserInfo(); // TODO: SetOneTimeQuestFlag(talker, 10385, 1); htmltext = "test_server_helper025.html"; diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/MonumentOfHeroes/MonumentOfHeroes.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/MonumentOfHeroes/MonumentOfHeroes.java index 37aa1851df..6c25cbfdcf 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/MonumentOfHeroes/MonumentOfHeroes.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/MonumentOfHeroes/MonumentOfHeroes.java @@ -254,7 +254,7 @@ public final class MonumentOfHeroes extends AbstractNpcAI @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { - return player.isNoble() ? "MonumentOfHeroes-noblesse.html" : "MonumentOfHeroes-noNoblesse.html"; + return player.getNobleLevel() > 0 ? "MonumentOfHeroes-noblesse.html" : "MonumentOfHeroes-noNoblesse.html"; } private int getOlympiadRank(L2PcInstance player) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/OlyManager/OlyManager.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/OlyManager/OlyManager.java index d22a8b9b16..073b459591 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/OlyManager/OlyManager.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/OlyManager/OlyManager.java @@ -311,7 +311,7 @@ public final class OlyManager extends AbstractNpcAI implements IBypassHandler if (!player.isCursedWeaponEquipped()) { - htmltext = player.isNoble() ? "OlyManager-noble.html" : "OlyManager-noNoble.html"; + htmltext = player.getNobleLevel() > 0 ? "OlyManager-noble.html" : "OlyManager-noNoble.html"; } else { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/FactionSystem/FactionSystem.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/FactionSystem/FactionSystem.java index e770572210..c8e1732192 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/FactionSystem/FactionSystem.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/FactionSystem/FactionSystem.java @@ -76,7 +76,7 @@ public final class FactionSystem extends AbstractNpcAI } if (Config.FACTION_AUTO_NOBLESS) { - player.setNoble(true); + player.setNoble(1); } player.setGood(); player.getAppearance().setNameColor(Config.FACTION_GOOD_NAME_COLOR); @@ -103,7 +103,7 @@ public final class FactionSystem extends AbstractNpcAI } if (Config.FACTION_AUTO_NOBLESS) { - player.setNoble(true); + player.setNoble(1); } player.setEvil(); player.getAppearance().setNameColor(Config.FACTION_EVIL_NAME_COLOR); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java index b9f0ab5ed6..607a4beb8f 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java @@ -860,7 +860,8 @@ public class AdminEditChar implements IAdminCommandHandler if (player != null) { - player.setNoble(!player.isNoble()); + final int nobleLevel = player.getNobleLevel(); + player.setNoble(nobleLevel == 2 ? 0 : nobleLevel + 1); if (player.getObjectId() != activeChar.getObjectId()) { activeChar.sendMessage("You've changed nobless status of: " + player.getName()); @@ -1169,7 +1170,8 @@ public class AdminEditChar implements IAdminCommandHandler adminReply.replace("%hwid%", (player.getClient() != null) && (player.getClient().getHardwareInfo() != null) ? player.getClient().getHardwareInfo().getMacAddress() : "Unknown"); adminReply.replace("%ai%", player.getAI().getIntention().name()); adminReply.replace("%inst%", player.isInInstance() ? "InstanceId:" + player.getInstanceId() + "" : ""); - adminReply.replace("%noblesse%", player.isNoble() ? "Yes" : "No"); + final int nobleLevel = player.getNobleLevel(); + adminReply.replace("%noblesse%", nobleLevel == 0 ? "No" : nobleLevel == 1 ? "Noble" : "Exalted"); activeChar.sendPacket(adminReply); } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminOlympiad.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminOlympiad.java index 8797840e8a..cb29b6d922 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminOlympiad.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminOlympiad.java @@ -111,7 +111,7 @@ public class AdminOlympiad implements IAdminCommandHandler return false; } - if (player.isNoble()) + if (player.getNobleLevel() > 0) { final StatsSet statDat = getPlayerSet(player); final int oldpoints = Olympiad.getInstance().getNoblePoints(player); @@ -152,7 +152,7 @@ public class AdminOlympiad implements IAdminCommandHandler return false; } - if (player.isNoble()) + if (player.getNobleLevel() > 0) { final StatsSet playerStat = Olympiad.getNobleStats(player.getObjectId()); if (playerStat == null) @@ -194,7 +194,7 @@ public class AdminOlympiad implements IAdminCommandHandler return false; } - if (player.isNoble()) + if (player.getNobleLevel() > 0) { final StatsSet statDat = getPlayerSet(player); final int oldpoints = Olympiad.getInstance().getNoblePoints(player); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java index cdf5982fb5..3940b0b253 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java @@ -44,7 +44,7 @@ public class OlympiadStat implements IUserCommandHandler final int nobleObjId = activeChar.getObjectId(); final L2Object target = activeChar.getTarget(); - if ((target == null) || !target.isPlayer() || !target.getActingPlayer().isNoble()) + if ((target == null) || !target.isPlayer() || (target.getActingPlayer().getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.THIS_COMMAND_CAN_ONLY_BE_USED_WHEN_THE_TARGET_IS_AN_AWAKENED_NOBLESSE_EXALTED); return false; diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/usercommandhandlers/SiegeStatus.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/usercommandhandlers/SiegeStatus.java index 47c8112fbe..953e68a8ed 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/usercommandhandlers/SiegeStatus.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/usercommandhandlers/SiegeStatus.java @@ -46,7 +46,7 @@ public class SiegeStatus implements IUserCommandHandler return false; } - if (!activeChar.isNoble() || !activeChar.isClanLeader()) + if ((activeChar.getNobleLevel() == 0) || !activeChar.isClanLeader()) { activeChar.sendPacket(SystemMessageId.ONLY_A_CLAN_LEADER_THAT_IS_A_NOBLESSE_EXALTED_CAN_VIEW_THE_SIEGE_WAR_STATUS_WINDOW_DURING_A_SIEGE_WAR); return false; diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java index 90665125e8..06c1d4dd79 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java @@ -222,7 +222,7 @@ public class Q00551_OlympiadStarter extends Quest final QuestState qs = getQuestState(player, true); String htmltext = getNoQuestMsg(player); - if ((player.getLevel() < 75) || !player.isNoble()) + if ((player.getLevel() < 75) || (player.getNobleLevel() == 0)) { htmltext = "31688-00.htm"; } @@ -235,7 +235,7 @@ public class Q00551_OlympiadStarter extends Quest if (qs.isNowAvailable()) { qs.setState(State.CREATED); - htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm"; + htmltext = (player.getLevel() < 75) || (player.getNobleLevel() == 0) ? "31688-00.htm" : "31688-01.htm"; } else { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java index 5646eb5dfd..83fee71c5b 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java @@ -156,7 +156,7 @@ public class Q00553_OlympiadUndefeated extends Quest String htmltext = getNoQuestMsg(player); final QuestState qs = getQuestState(player, true); - if ((player.getLevel() < 75) || !player.isNoble()) + if ((player.getLevel() < 75) || (player.getNobleLevel() == 0)) { htmltext = "31688-00.htm"; } @@ -169,7 +169,7 @@ public class Q00553_OlympiadUndefeated extends Quest if (qs.isNowAvailable()) { qs.setState(State.CREATED); - htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm"; + htmltext = (player.getLevel() < 75) || (player.getNobleLevel() == 0) ? "31688-00.htm" : "31688-01.htm"; } else { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java index 6bdcb9797f..5f76df3412 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java @@ -361,7 +361,7 @@ public final class Q10369_NoblesseSoulTesting extends Quest { player.doCast(NOBLESSE_PRESENTATION.getSkill()); showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 5000); - player.setNoble(true); + player.setNoble(1); player.broadcastUserInfo(); giveItems(player, DIMENSIONAL_DIAMOND, 10); giveItems(player, NOBLESSE_TIARA, 1); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10461_TappingThePowerWithin/Q10461_TappingThePowerWithin.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10461_TappingThePowerWithin/Q10461_TappingThePowerWithin.java index a1644bd81c..2256a4b1ca 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10461_TappingThePowerWithin/Q10461_TappingThePowerWithin.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10461_TappingThePowerWithin/Q10461_TappingThePowerWithin.java @@ -98,7 +98,7 @@ public final class Q10461_TappingThePowerWithin extends Quest { case State.CREATED: { - if (((player.getLevel() >= MIN_LEVEL) && player.isNoble())) + if (((player.getLevel() >= MIN_LEVEL) && (player.getNobleLevel() > 0))) { htmltext = "33907-01.htm"; break; diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/Q10811_ExaltedOneWhoFacesTheLimit.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/Q10811_ExaltedOneWhoFacesTheLimit.java index fefb09d834..23f25a9570 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/Q10811_ExaltedOneWhoFacesTheLimit.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10811_ExaltedOneWhoFacesTheLimit/Q10811_ExaltedOneWhoFacesTheLimit.java @@ -119,7 +119,7 @@ public final class Q10811_ExaltedOneWhoFacesTheLimit extends Quest { case State.CREATED: { - htmltext = (player.getLevel() >= MIN_LEVEL) && player.isNoble() ? "33383-01.htm" : "33383-07.htm"; + htmltext = (player.getLevel() >= MIN_LEVEL) && (player.getNobleLevel() > 0) ? "33383-01.htm" : "33383-07.htm"; break; } case State.STARTED: diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java index 298eff777e..affcf1380e 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10827_StepUpToLead/Q10827_StepUpToLead.java @@ -97,6 +97,12 @@ public final class Q10827_StepUpToLead extends Quest } giveItems(player, GUSTAV_CERTIFICATE, 1); giveItems(player, SPELLBOOK_FAVOR_OF_THE_EXALTED, 1); + + // Give Exalted status here? + // https://l2wiki.com/Noblesse + player.setNoble(2); + player.broadcastUserInfo(); + qs.exitQuest(false, true); } else diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/SiegeManager.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/SiegeManager.java index 0cef166f06..728cb6ca44 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/SiegeManager.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/SiegeManager.java @@ -64,7 +64,7 @@ public final class SiegeManager public final void addSiegeSkills(L2PcInstance character) { - for (Skill sk : SkillData.getInstance().getSiegeSkills(character.isNoble(), character.getClan().getCastleId() > 0)) + for (Skill sk : SkillData.getInstance().getSiegeSkills(character.getNobleLevel() > 0, character.getClan().getCastleId() > 0)) { character.addSkill(sk, false); } @@ -110,7 +110,7 @@ public final class SiegeManager public final void removeSiegeSkills(L2PcInstance character) { - for (Skill sk : SkillData.getInstance().getSiegeSkills(character.isNoble(), character.getClan().getCastleId() > 0)) + for (Skill sk : SkillData.getInstance().getSiegeSkills(character.getNobleLevel() > 0, character.getClan().getCastleId() > 0)) { character.removeSkill(sk); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2Clan.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2Clan.java index 8b2c358800..d274d275d8 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2Clan.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2Clan.java @@ -486,7 +486,7 @@ public class L2Clan implements IIdentifiable, INamable if (exMember.isOnline()) { final L2PcInstance player = exMember.getPlayerInstance(); - if (!player.isNoble()) + if (player.getNobleLevel() == 0) { player.setTitle(""); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2ClanMember.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2ClanMember.java index daef76108a..02d3c77259 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2ClanMember.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2ClanMember.java @@ -801,7 +801,7 @@ public class L2ClanMember } } - if (player.isNoble() && (pledgeClass < 5)) + if ((player.getNobleLevel() > 0) && (pledgeClass < 5)) { pledgeClass = 5; } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java index 1f14847338..9d12eccfd5 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Attackable.java @@ -406,7 +406,7 @@ public class L2Attackable extends L2Npc p.increaseRaidbossPoints(points); p.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_EARNED_S1_RAID_POINT_S).addInt(points)); - if (p.isNoble()) + if (p.getNobleLevel() > 0) { Hero.getInstance().setRBkilled(p.getObjectId(), getId()); } @@ -417,7 +417,7 @@ public class L2Attackable extends L2Npc final int points = Math.max(raidbossPoints, 1); player.increaseRaidbossPoints(points); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_EARNED_S1_RAID_POINT_S).addInt(points)); - if (player.isNoble()) + if (player.getNobleLevel() > 0) { Hero.getInstance().setRBkilled(player.getObjectId(), getId()); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Npc.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Npc.java index aa4830fcbe..f2b3f03c92 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Npc.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Npc.java @@ -750,7 +750,7 @@ public class L2Npc extends L2Character { case 31688: { - if (player.isNoble()) + if (player.getNobleLevel() > 0) { filename = Olympiad.OLYMPIAD_HTML_PATH + "noble_main.htm"; } @@ -766,7 +766,7 @@ public class L2Npc extends L2Character case 31771: case 31772: { - if (player.isHero() || player.isNoble()) + if (player.isHero() || (player.getNobleLevel() > 0)) { filename = Olympiad.OLYMPIAD_HTML_PATH + "hero_main.htm"; } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java index 268de03686..a938a6ffb4 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java @@ -564,7 +564,7 @@ public final class L2PcInstance extends L2Playable // Multisell private PreparedListContainer _currentMultiSell = null; - private boolean _noble = false; + private int _nobleLevel = 0; private boolean _hero = false; private boolean _trueHero = false; @@ -2557,9 +2557,9 @@ public final class L2PcInstance extends L2Playable // Do not call this on enterworld or char load // Add noble skills if noble - if (isNoble()) + if (_nobleLevel > 0) { - setNoble(true); + setNoble(_nobleLevel); } // Add Hero skills if hero @@ -6516,7 +6516,7 @@ public final class L2PcInstance extends L2Playable statement.setInt(30, getClanPrivileges().getBitmask()); statement.setInt(31, getWantsPeace()); statement.setInt(32, getBaseClass()); - statement.setInt(33, isNoble() ? 1 : 0); + statement.setInt(33, _nobleLevel); statement.setLong(34, 0); statement.setInt(35, PcStat.MIN_VITALITY_POINTS); statement.setDate(36, new Date(getCreateDate().getTimeInMillis())); @@ -6578,7 +6578,8 @@ public final class L2PcInstance extends L2Playable player.setPvpKills(rset.getInt("pvpkills")); player.setPkKills(rset.getInt("pkkills")); player.setOnlineTime(rset.getLong("onlinetime")); - player.setNoble(rset.getInt("nobless") == 1); + final int nobleLevel = rset.getInt("nobless"); + player.setNoble(nobleLevel); final int factionId = rset.getInt("faction"); if (factionId == 1) @@ -6636,7 +6637,7 @@ public final class L2PcInstance extends L2Playable } else { - if (player.isNoble()) + if (nobleLevel > 0) { player.setPledgeClass(5); } @@ -7164,7 +7165,7 @@ public final class L2PcInstance extends L2Playable } statement.setLong(34, totalOnlineTime); - statement.setInt(35, isNoble() ? 1 : 0); + statement.setInt(35, _nobleLevel); statement.setInt(36, getPowerGrade()); statement.setInt(37, getPledgeType()); statement.setInt(38, getLvlJoinedAcademy()); @@ -8456,7 +8457,7 @@ public final class L2PcInstance extends L2Playable } case STRIDER: // Strider { - if (isNoble()) + if (_nobleLevel > 0) { addSkill(CommonSkill.STRIDER_SIEGE_ASSAULT.getSkill(), false); } @@ -9328,15 +9329,15 @@ public final class L2PcInstance extends L2Playable return true; } - public boolean isNoble() + public int getNobleLevel() { - return _noble; + return _nobleLevel; } - public void setNoble(boolean val) + public void setNoble(int level) { final Collection nobleSkillTree = SkillTreesData.getInstance().getNobleSkillTree().values(); - if (val) + if (level != 0) { for (Skill skill : nobleSkillTree) { @@ -9351,10 +9352,10 @@ public final class L2PcInstance extends L2Playable } } - _noble = val; + _nobleLevel = level; sendSkillList(); - if (val && (getLevel() >= 99)) + if ((level != 0) && (getLevel() >= 99)) { sendPacket(new ExAcquireAPSkillList(this)); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2TeleporterInstance.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2TeleporterInstance.java index acf49aff2c..c305885ece 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2TeleporterInstance.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2TeleporterInstance.java @@ -80,7 +80,7 @@ public final class L2TeleporterInstance extends L2Npc case "showNoblesSelect": { final NpcHtmlMessage msg = new NpcHtmlMessage(getObjectId()); - msg.setFile(player.getHtmlPrefix(), "data/html/teleporter/" + (player.isNoble() ? "nobles_select" : "not_nobles") + ".htm"); + msg.setFile(player.getHtmlPrefix(), "data/html/teleporter/" + (player.getNobleLevel() > 0 ? "nobles_select" : "not_nobles") + ".htm"); msg.replace("%objectId%", getObjectId()); player.sendPacket(msg); break; @@ -88,7 +88,7 @@ public final class L2TeleporterInstance extends L2Npc case "showTeleports": { final TeleportType type = parseTeleportType(st); - if (((type == TeleportType.NOBLES_TOKEN) || (type == TeleportType.NOBLES_ADENA)) && !player.isNoble()) + if (((type == TeleportType.NOBLES_TOKEN) || (type == TeleportType.NOBLES_ADENA)) && (player.getNobleLevel() == 0)) { _log.warning(player + " attempted to use nobles teleport without being nobles!"); break; @@ -148,7 +148,7 @@ public final class L2TeleporterInstance extends L2Npc } final TeleportType type = TeleportType.values()[typeId]; - if (((type == TeleportType.NOBLES_TOKEN) || (type == TeleportType.NOBLES_ADENA)) && !player.isNoble()) + if (((type == TeleportType.NOBLES_TOKEN) || (type == TeleportType.NOBLES_ADENA)) && (player.getNobleLevel() == 0)) { _log.warning(player + " attempted to use nobles teleport without being nobles!"); break; @@ -481,7 +481,7 @@ public final class L2TeleporterInstance extends L2Npc player.sendPacket(SystemMessageId.YOU_CANNOT_TELEPORT_WHILE_IN_POSSESSION_OF_A_WARD); return; } - else if (list.getIsForNoble() && !player.isNoble()) + else if (list.getIsForNoble() && (player.getNobleLevel() == 0)) { final String filename = "data/html/teleporter/nobleteleporter-no.htm"; final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/stat/PcStat.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/stat/PcStat.java index e9561cde00..ed3c6a8f62 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/stat/PcStat.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/stat/PcStat.java @@ -294,7 +294,7 @@ public class PcStat extends PlayableStat // Send acquirable skill list getActiveChar().sendPacket(new AcquireSkillList(getActiveChar())); getActiveChar().sendPacket(new ExVoteSystemInfo(getActiveChar())); - if ((getLevel() >= 99) && getActiveChar().isNoble()) + if ((getLevel() >= 99) && (getActiveChar().getNobleLevel() > 0)) { getActiveChar().sendPacket(new ExAcquireAPSkillList(getActiveChar())); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/entity/Siege.java index 4d1d933e3a..25e31c2dfd 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/entity/Siege.java @@ -271,7 +271,7 @@ public class Siege implements Siegable if (member != null) { final L2PcInstance player = member.getPlayerInstance(); - if ((player != null) && player.isNoble()) + if ((player != null) && (player.getNobleLevel() > 0)) { Hero.getInstance().setCastleTaken(player.getObjectId(), getCastle().getResidenceId()); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/olympiad/OlympiadManager.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/olympiad/OlympiadManager.java index b1a3037b05..84a104a610 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/olympiad/OlympiadManager.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/olympiad/OlympiadManager.java @@ -269,7 +269,7 @@ public class OlympiadManager return false; } - if (!noble.isNoble()) + if (noble.getNobleLevel() == 0) { final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_DOES_NOT_MEET_THE_PARTICIPATION_REQUIREMENTS_ONLY_NOBLESSE_EXALTED_CHARACTERS_CAN_PARTICIPATE_IN_THE_OLYMPIAD); sm.addString(noble.getName()); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestGiveNickName.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestGiveNickName.java index ca5edd5824..766def128f 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestGiveNickName.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestGiveNickName.java @@ -46,7 +46,7 @@ public class RequestGiveNickName implements IClientIncomingPacket } // Noblesse can bestow a title to themselves - if (activeChar.isNoble() && _target.equalsIgnoreCase(activeChar.getName())) + if ((activeChar.getNobleLevel() > 0) && _target.equalsIgnoreCase(activeChar.getName())) { activeChar.setTitle(_title); client.sendPacket(SystemMessageId.YOUR_TITLE_HAS_BEEN_CHANGED); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityList.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityList.java index d83cfc8b0d..20cfe2b43f 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityList.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityList.java @@ -48,7 +48,7 @@ public class RequestAbilityList implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndClose.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndClose.java index 24accfb7f5..bba56abdc8 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndClose.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndClose.java @@ -44,7 +44,7 @@ public class RequestAbilityWndClose implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndOpen.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndOpen.java index 3d5dea3364..bd5039b381 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndOpen.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAbilityWndOpen.java @@ -44,7 +44,7 @@ public class RequestAbilityWndOpen implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAcquireAbilityList.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAcquireAbilityList.java index c715881866..9a65c0b9ab 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAcquireAbilityList.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestAcquireAbilityList.java @@ -90,7 +90,7 @@ public class RequestAcquireAbilityList implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestChangeAbilityPoint.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestChangeAbilityPoint.java index 0fbb6cf615..2f7a122e79 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestChangeAbilityPoint.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestChangeAbilityPoint.java @@ -54,7 +54,7 @@ public class RequestChangeAbilityPoint implements IClientIncomingPacket return; } - if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { activeChar.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestResetAbilityPoint.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestResetAbilityPoint.java index 708bd16eaa..ed43c52c44 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestResetAbilityPoint.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/ability/RequestResetAbilityPoint.java @@ -58,7 +58,7 @@ public class RequestResetAbilityPoint implements IClientIncomingPacket { return; } - else if ((activeChar.getLevel() < 99) || !activeChar.isNoble()) + else if ((activeChar.getLevel() < 99) || (activeChar.getNobleLevel() == 0)) { client.sendPacket(SystemMessageId.ABILITIES_CAN_BE_USED_BY_NOBLESSE_EXALTED_LV_99_OR_ABOVE); return; diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/CharInfo.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/CharInfo.java index 293338cdb6..9b55dceadd 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/CharInfo.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/CharInfo.java @@ -201,7 +201,7 @@ public class CharInfo implements IClientOutgoingPacket packet.writeC(_activeChar.getTeam().getId()); // Confirmed packet.writeD(_activeChar.getClanCrestLargeId()); - packet.writeC(_activeChar.isNoble() ? 1 : 0); // Confirmed + packet.writeC(_activeChar.getNobleLevel()); // Confirmed packet.writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); // Confirmed packet.writeC(_activeChar.isFishing() ? 1 : 0); // Confirmed diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java index fa4191961a..d67302fa42 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java @@ -154,7 +154,7 @@ public class GMViewCharacterInfo implements IClientOutgoingPacket packet.writeD(_activeChar.getPledgeClass()); // changes the text above CP on Status Window - packet.writeC(_activeChar.isNoble() ? 0x01 : 0x00); + packet.writeC(_activeChar.getNobleLevel()); packet.writeC(_activeChar.isHero() ? 0x01 : 0x00); packet.writeD(_activeChar.getAppearance().getNameColor()); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/UserInfo.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/UserInfo.java index 837c0809e7..7edc073b87 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/UserInfo.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/UserInfo.java @@ -303,7 +303,7 @@ public class UserInfo extends AbstractMaskPacket packet.writeH(22); packet.writeC(_activeChar.getPvpFlag()); packet.writeD(_activeChar.getReputation()); // Reputation - packet.writeC(_activeChar.isNoble() ? 0x01 : 0x00); + packet.writeC(_activeChar.getNobleLevel()); packet.writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); packet.writeC(_activeChar.getPledgeClass()); packet.writeD(_activeChar.getPkKills()); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/ability/ExAcquireAPSkillList.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/ability/ExAcquireAPSkillList.java index 5cb12538ab..03d4955c37 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/ability/ExAcquireAPSkillList.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/ability/ExAcquireAPSkillList.java @@ -55,7 +55,7 @@ public class ExAcquireAPSkillList implements IClientOutgoingPacket } } } - _enable = (!activeChar.isSubClassActive() || activeChar.isDualClassActive()) && (activeChar.getLevel() >= 99) && activeChar.isNoble(); + _enable = (!activeChar.isSubClassActive() || activeChar.isDualClassActive()) && (activeChar.getLevel() >= 99) && (activeChar.getNobleLevel() > 0); } @Override