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