Updated clan privileges to match latest client.
Contributed by CostyKiller.
This commit is contained in:
@@ -68,7 +68,7 @@ public class Nottingale extends AbstractNpcAI
|
||||
{
|
||||
if (player.getClan() != null)
|
||||
{
|
||||
if (player.hasClanPrivilege(ClanPrivilege.CL_SUMMON_AIRSHIP) && AirShipManager.getInstance().hasAirShipLicense(player.getClanId()) && !AirShipManager.getInstance().hasAirShip(player.getClanId()))
|
||||
if (player.hasClanPrivilege(ClanPrivilege.CL_USE_FUNCTIONS) && AirShipManager.getInstance().hasAirShipLicense(player.getClanId()) && !AirShipManager.getInstance().hasAirShip(player.getClanId()))
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
|
@@ -19,7 +19,9 @@ package ai.areas.Rune.Roiental;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.clan.ClanPrivilege;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@@ -57,14 +59,22 @@ public class Roiental extends AbstractNpcAI
|
||||
{
|
||||
htmltext = "Roiental-NoLevel.html";
|
||||
}
|
||||
else if ((player.getClan() == null) || (player.getClan().getLevel() < CLAN_MIN_LVL_GB))
|
||||
else if (player.getClan() == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_BELONG_TO_ANY_CLAN);
|
||||
}
|
||||
else if ((player.getClan().getLevel() < CLAN_MIN_LVL_GB))
|
||||
{
|
||||
htmltext = "Roiental-03a.html";
|
||||
}
|
||||
else if ((player.getClan() == null) || player.getClan().getVariables().hasVariable("TOH_DONE"))
|
||||
else if (player.getClan().getVariables().hasVariable("TOH_DONE"))
|
||||
{
|
||||
htmltext = "Roiental-AlreadyDone.html";
|
||||
}
|
||||
else if (!player.hasClanPrivilege(ClanPrivilege.CL_THRONE_OF_HEROES))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "Roiental-01a.html";
|
||||
@@ -76,14 +86,22 @@ public class Roiental extends AbstractNpcAI
|
||||
{
|
||||
htmltext = "Roiental-NoLevel.html";
|
||||
}
|
||||
else if ((player.getClan() == null) || (player.getClan().getLevel() < CLAN_MIN_LVL_MR))
|
||||
else if (player.getClan() == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_BELONG_TO_ANY_CLAN);
|
||||
}
|
||||
else if ((player.getClan().getLevel() < CLAN_MIN_LVL_MR))
|
||||
{
|
||||
htmltext = "Roiental-03b.html";
|
||||
}
|
||||
else if ((player.getClan() == null) || player.getClan().getVariables().hasVariable("TOH_DONE"))
|
||||
else if (player.getClan().getVariables().hasVariable("TOH_DONE"))
|
||||
{
|
||||
htmltext = "Roiental-AlreadyDone.html";
|
||||
}
|
||||
else if (!player.hasClanPrivilege(ClanPrivilege.CL_THRONE_OF_HEROES))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "Roiental-01b.html";
|
||||
@@ -95,14 +113,22 @@ public class Roiental extends AbstractNpcAI
|
||||
{
|
||||
htmltext = "Roiental-NoLevel.html";
|
||||
}
|
||||
else if ((player.getClan() == null) || (player.getClan().getLevel() < CLAN_MIN_LVL_TA))
|
||||
else if (player.getClan() == null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_BELONG_TO_ANY_CLAN);
|
||||
}
|
||||
else if ((player.getClan().getLevel() < CLAN_MIN_LVL_TA))
|
||||
{
|
||||
htmltext = "Roiental-03c.html";
|
||||
}
|
||||
else if ((player.getClan() == null) || player.getClan().getVariables().hasVariable("TOH_DONE"))
|
||||
else if (player.getClan().getVariables().hasVariable("TOH_DONE"))
|
||||
{
|
||||
htmltext = "Roiental-AlreadyDone.html";
|
||||
}
|
||||
else if (!player.hasClanPrivilege(ClanPrivilege.CL_THRONE_OF_HEROES))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "Roiental-01c.html";
|
||||
|
@@ -151,7 +151,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
|
||||
private final String funcConfirmHtml(Player player, Npc npc, Castle castle, int func, int level)
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
final NpcHtmlMessage html;
|
||||
final String fstring = (func == Castle.FUNC_TELEPORT) ? "9" : "10";
|
||||
@@ -461,7 +461,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "siege_functions":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
if (castle.getSiege().isInProgress())
|
||||
{
|
||||
@@ -484,7 +484,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "manage_doors":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
if (st.hasMoreTokens())
|
||||
{
|
||||
@@ -511,7 +511,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "upgrade_doors":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
final int type = Integer.parseInt(st.nextToken());
|
||||
final int level = Integer.parseInt(st.nextToken());
|
||||
@@ -528,7 +528,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "upgrade_doors_confirm":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
if (castle.getSiege().isInProgress())
|
||||
{
|
||||
@@ -579,7 +579,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "manage_trap":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
if (st.hasMoreTokens())
|
||||
{
|
||||
@@ -608,7 +608,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "upgrade_trap":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
final String trapIndex = st.nextToken();
|
||||
final int level = Integer.parseInt(st.nextToken());
|
||||
@@ -626,7 +626,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "upgrade_trap_confirm":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
if (castle.getSiege().isInProgress())
|
||||
{
|
||||
@@ -688,7 +688,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "manage_vault":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_TAXES))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_MANAGE_TAXES))
|
||||
{
|
||||
final NpcHtmlMessage html = getHtmlPacket(player, npc, "castlemanagevault.html");
|
||||
html.replace("%tax_income%", Util.formatAdena(castle.getTreasury()));
|
||||
@@ -702,7 +702,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "manage_vault_deposit":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_TAXES))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_MANAGE_TAXES))
|
||||
{
|
||||
final NpcHtmlMessage html = getHtmlPacket(player, npc, "castlemanagevault_deposit.html");
|
||||
html.replace("%tax_income%", Util.formatAdena(castle.getTreasury()));
|
||||
@@ -716,7 +716,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "manage_vault_withdraw":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_TAXES))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_MANAGE_TAXES))
|
||||
{
|
||||
final NpcHtmlMessage html = getHtmlPacket(player, npc, "castlemanagevault_withdraw.html");
|
||||
html.replace("%tax_income%", Util.formatAdena(castle.getTreasury()));
|
||||
@@ -730,7 +730,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "deposit":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_TAXES))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_MANAGE_TAXES))
|
||||
{
|
||||
final long amount = (st.hasMoreTokens()) ? Long.parseLong(st.nextToken()) : 0;
|
||||
if ((amount > 0) && (amount < Inventory.MAX_ADENA))
|
||||
@@ -755,7 +755,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "withdraw":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_TAXES))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_MANAGE_TAXES))
|
||||
{
|
||||
final long amount = (st.hasMoreTokens()) ? Long.parseLong(st.nextToken()) : 0;
|
||||
if (amount <= castle.getTreasury())
|
||||
@@ -832,7 +832,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "doors":
|
||||
{
|
||||
if (!isOwner(player, npc) || !player.hasClanPrivilege(ClanPrivilege.CS_OPEN_DOOR))
|
||||
if (!isOwner(player, npc) || !player.hasClanPrivilege(ClanPrivilege.CS_ENTRY_EXIT_RIGHTS))
|
||||
{
|
||||
htmltext = "chamberlain-21.html";
|
||||
}
|
||||
@@ -848,7 +848,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "operate_door":
|
||||
{
|
||||
if (!isOwner(player, npc) || !player.hasClanPrivilege(ClanPrivilege.CS_OPEN_DOOR))
|
||||
if (!isOwner(player, npc) || !player.hasClanPrivilege(ClanPrivilege.CS_ENTRY_EXIT_RIGHTS))
|
||||
{
|
||||
htmltext = "chamberlain-21.html";
|
||||
}
|
||||
@@ -869,12 +869,12 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "additional_functions":
|
||||
{
|
||||
htmltext = (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS)) ? "castletdecomanage.html" : "chamberlain-21.html";
|
||||
htmltext = (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS)) ? "castletdecomanage.html" : "chamberlain-21.html";
|
||||
break;
|
||||
}
|
||||
case "recovery":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
final NpcHtmlMessage html = getHtmlPacket(player, npc, "castledeco-AR01.html");
|
||||
funcReplace(castle, html, Castle.FUNC_RESTORE_HP, "HP");
|
||||
@@ -890,7 +890,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "other":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
final NpcHtmlMessage html = getHtmlPacket(player, npc, "castledeco-AE01.html");
|
||||
funcReplace(castle, html, Castle.FUNC_TELEPORT, "TP");
|
||||
@@ -935,7 +935,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "set_func":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SET_FUNCTIONS))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SETTINGS))
|
||||
{
|
||||
final int func = Integer.parseInt(st.nextToken());
|
||||
final int level = Integer.parseInt(st.nextToken());
|
||||
@@ -1081,7 +1081,7 @@ public class CastleChamberlain extends AbstractNpcAI
|
||||
}
|
||||
case "list_siege_clans":
|
||||
{
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_MANAGE_SIEGE))
|
||||
if (isOwner(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_SIEGE_WAR))
|
||||
{
|
||||
castle.getSiege().listRegisterClan(player);
|
||||
}
|
||||
|
@@ -340,7 +340,7 @@ public class CastleCourtMagician extends AbstractNpcAI
|
||||
}
|
||||
case "squadSkill":
|
||||
{
|
||||
if (player.isClanLeader() || player.hasClanPrivilege(ClanPrivilege.CL_TROOPS_FAME))
|
||||
if (player.isClanLeader() || player.hasClanPrivilege(ClanPrivilege.CL_SETTINGS))
|
||||
{
|
||||
RequestAcquireSkill.showSubUnitSkillList(player);
|
||||
}
|
||||
|
@@ -136,7 +136,7 @@ public class CastleDoorManager extends AbstractNpcAI
|
||||
@Override
|
||||
public String onFirstTalk(Npc npc, Player player)
|
||||
{
|
||||
return isOwningClan(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_OPEN_DOOR) ? getHtmlName(npc) + ".html" : getHtmlName(npc) + "-no.html";
|
||||
return isOwningClan(player, npc) && player.hasClanPrivilege(ClanPrivilege.CS_ENTRY_EXIT_RIGHTS) ? getHtmlName(npc) + ".html" : getHtmlName(npc) + "-no.html";
|
||||
}
|
||||
|
||||
private String getHtmlName(Npc npc)
|
||||
|
@@ -74,7 +74,7 @@ public class ClanHallDoorManager extends AbstractNpcAI
|
||||
}
|
||||
case "manageDoors":
|
||||
{
|
||||
if (isOwningClan(player, npc) && st.hasMoreTokens() && player.hasClanPrivilege(ClanPrivilege.CH_OPEN_DOOR))
|
||||
if (isOwningClan(player, npc) && st.hasMoreTokens() && player.hasClanPrivilege(ClanPrivilege.CH_ENTRY_EXIT_RIGHTS))
|
||||
{
|
||||
final boolean open = st.nextToken().equals("1");
|
||||
clanHall.openCloseDoors(open);
|
||||
|
@@ -134,7 +134,7 @@ public class ClanHallManager extends AbstractNpcAI
|
||||
}
|
||||
case "manageDoors":
|
||||
{
|
||||
if (player.hasClanPrivilege(ClanPrivilege.CH_OPEN_DOOR))
|
||||
if (player.hasClanPrivilege(ClanPrivilege.CH_ENTRY_EXIT_RIGHTS))
|
||||
{
|
||||
if (st.hasMoreTokens())
|
||||
{
|
||||
@@ -175,7 +175,7 @@ public class ClanHallManager extends AbstractNpcAI
|
||||
}
|
||||
case "useFunctions":
|
||||
{
|
||||
if (player.hasClanPrivilege(ClanPrivilege.CH_OTHER_RIGHTS))
|
||||
if (player.hasClanPrivilege(ClanPrivilege.CH_USE_FUNCTIONS))
|
||||
{
|
||||
if (!st.hasMoreTokens())
|
||||
{
|
||||
@@ -303,7 +303,7 @@ public class ClanHallManager extends AbstractNpcAI
|
||||
}
|
||||
case "manageFunctions":
|
||||
{
|
||||
if (player.hasClanPrivilege(ClanPrivilege.CH_SET_FUNCTIONS))
|
||||
if (player.hasClanPrivilege(ClanPrivilege.CH_SETTTINGS))
|
||||
{
|
||||
if (!st.hasMoreTokens())
|
||||
{
|
||||
|
@@ -100,7 +100,7 @@ public class FortressSiegeManager extends AbstractNpcAI
|
||||
html.replace("%clanName%", fortress.getOwnerClan().getName());
|
||||
return html.getHtml();
|
||||
}
|
||||
else if (!player.hasClanPrivilege(ClanPrivilege.CS_MANAGE_SIEGE))
|
||||
else if (!player.hasClanPrivilege(ClanPrivilege.CS_SIEGE_WAR))
|
||||
{
|
||||
htmltext = "FortressSiegeManager-10.html";
|
||||
}
|
||||
@@ -169,7 +169,7 @@ public class FortressSiegeManager extends AbstractNpcAI
|
||||
html.replace("%clanName%", fortress.getOwnerClan().getName());
|
||||
return html.getHtml();
|
||||
}
|
||||
else if (!player.hasClanPrivilege(ClanPrivilege.CS_MANAGE_SIEGE))
|
||||
else if (!player.hasClanPrivilege(ClanPrivilege.CS_SIEGE_WAR))
|
||||
{
|
||||
htmltext = "FortressSiegeManager-10.html";
|
||||
}
|
||||
|
@@ -254,7 +254,7 @@ public class SupportUnitCaptain extends AbstractNpcAI
|
||||
}
|
||||
case "squadSkill":
|
||||
{
|
||||
if (player.isClanLeader() || player.hasClanPrivilege(ClanPrivilege.CL_TROOPS_FAME))
|
||||
if (player.isClanLeader() || player.hasClanPrivilege(ClanPrivilege.CL_SETTINGS))
|
||||
{
|
||||
RequestAcquireSkill.showSubUnitSkillList(player);
|
||||
}
|
||||
|
@@ -80,7 +80,7 @@ public class ClanWarehouse implements IBypassHandler
|
||||
{
|
||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
|
||||
if (!player.hasClanPrivilege(ClanPrivilege.CL_VIEW_WAREHOUSE))
|
||||
if (!player.hasClanPrivilege(ClanPrivilege.CL_WAREHOUSE_SEARCH))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_THE_RIGHT_TO_USE_THE_CLAN_WAREHOUSE);
|
||||
return true;
|
||||
|
@@ -134,7 +134,7 @@ public abstract class AirShipController extends AbstractNpcAI
|
||||
player.sendPacket(SystemMessageId.ANOTHER_AIRSHIP_HAS_BEEN_SUMMONED_TO_THE_WHARF_PLEASE_TRY_AGAIN_LATER);
|
||||
return null;
|
||||
}
|
||||
if (!player.hasClanPrivilege(ClanPrivilege.CL_SUMMON_AIRSHIP))
|
||||
if (!player.hasClanPrivilege(ClanPrivilege.CL_USE_FUNCTIONS))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.AIRSHIP_SUMMON_LICENSE_REGISTRATION_CAN_ONLY_BE_DONE_BY_THE_CLAN_LEADER);
|
||||
return null;
|
||||
|
Reference in New Issue
Block a user