diff --git a/L2J_Mobius_C6_Interlude/dist/game/config/AccessLevels.xml b/L2J_Mobius_C6_Interlude/dist/game/config/AccessLevels.xml index de35bfa959..7dcc265ebb 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/config/AccessLevels.xml +++ b/L2J_Mobius_C6_Interlude/dist/game/config/AccessLevels.xml @@ -1,10 +1,11 @@ - + + \ No newline at end of file diff --git a/L2J_Mobius_C6_Interlude/dist/game/config/main/Access.ini b/L2J_Mobius_C6_Interlude/dist/game/config/main/Access.ini index e4d93df4e9..e986a6e126 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/config/main/Access.ini +++ b/L2J_Mobius_C6_Interlude/dist/game/config/main/Access.ini @@ -3,43 +3,13 @@ # --------------------------------------------------------------------------- -# --------------------------------------------------------------------------- -# Admin Rights -# --------------------------------------------------------------------------- # If next switch set to true every created character will have Admin access. EverybodyHasAdminRights = False -# This option will set the default AccessLevel for MasterAccess -# Pls be carefully with that. Chars with this AccessLevel have -# right to execute every AdminCommand ingame. -# Default = 100 - Max. 255 -MasterAccessLevel = 100 - -# This option will set the default AccessLevel for UserAccess -# Chars with this AccessLevel have user rights -# Default = 0 - Max. 255 -UserAccessLevel = 0 - - -# --------------------------------------------------------------------------- -# GM Rights -# --------------------------------------------------------------------------- # The way //admin panel looks can be "modern" or "classic" # (default is modern while classic provides more compatibility) GMAdminMenuStyle = modern -#Turn on MasterNameColor config. -MasterNameColorEnabled = True - -# This option will set the Default NameColor for MasterAccess -MasterNameColor = 00CCFF - -# Turn on MasterTitleColor config. -MasterTitleColorEnabled = True - -# This option will set the Default TitleColor for MasterAccess -MasterTitleColor = 00CCFF - # Enable GMs to have the glowing aura of a Hero character. GMHeroAura = False diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/Config.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/Config.java index 918be0e674..614ef4f129 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/Config.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/Config.java @@ -112,12 +112,6 @@ public class Config public static ServerMode SERVER_MODE = ServerMode.NONE; public static boolean EVERYBODY_HAS_ADMIN_RIGHTS; - public static int MASTERACCESS_LEVEL; - public static int USERACCESS_LEVEL; - public static boolean MASTERACCESS_NAME_COLOR_ENABLED; - public static boolean MASTERACCESS_TITLE_COLOR_ENABLED; - public static int MASTERACCESS_NAME_COLOR; - public static int MASTERACCESS_TITLE_COLOR; public static boolean SHOW_GM_LOGIN; public static boolean GM_STARTUP_INVISIBLE; public static boolean GM_SPECIAL_EFFECT; @@ -1172,12 +1166,6 @@ public class Config is.close(); EVERYBODY_HAS_ADMIN_RIGHTS = Boolean.parseBoolean(accessSettings.getProperty("EverybodyHasAdminRights", "false")); - MASTERACCESS_LEVEL = Integer.parseInt(accessSettings.getProperty("MasterAccessLevel", "1")); - MASTERACCESS_NAME_COLOR_ENABLED = Boolean.parseBoolean(accessSettings.getProperty("MasterNameColorEnabled", "false")); - MASTERACCESS_TITLE_COLOR_ENABLED = Boolean.parseBoolean(accessSettings.getProperty("MasterTitleColorEnabled", "false")); - MASTERACCESS_NAME_COLOR = Integer.decode("0x" + accessSettings.getProperty("MasterNameColor", "00FF00")); - MASTERACCESS_TITLE_COLOR = Integer.decode("0x" + accessSettings.getProperty("MasterTitleColor", "00FF00")); - USERACCESS_LEVEL = Integer.parseInt(accessSettings.getProperty("UserAccessLevel", "0")); GM_STARTUP_AUTO_LIST = Boolean.parseBoolean(accessSettings.getProperty("GMStartupAutoList", "true")); GM_ADMIN_MENU_STYLE = accessSettings.getProperty("GMAdminMenuStyle", "modern"); GM_HERO_AURA = Boolean.parseBoolean(accessSettings.getProperty("GMHeroAura", "false")); diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/datatables/xml/AdminData.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/datatables/xml/AdminData.java index f16be23b69..64171ef3b5 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/datatables/xml/AdminData.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/datatables/xml/AdminData.java @@ -28,7 +28,6 @@ import java.util.logging.Logger; import org.w3c.dom.Document; import org.w3c.dom.Node; -import org.l2jmobius.Config; import org.l2jmobius.commons.util.IXmlReader; import org.l2jmobius.gameserver.model.AccessLevel; import org.l2jmobius.gameserver.model.StatSet; @@ -45,8 +44,6 @@ public class AdminData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AdminData.class.getName()); - public AccessLevel _masterAccessLevel; - public AccessLevel _userAccessLevel; private final Map _accessLevels = new HashMap<>(); private final Map _adminCommandAccessRights = new HashMap<>(); private final Map _gmList = new ConcurrentHashMap<>(); @@ -60,12 +57,8 @@ public class AdminData implements IXmlReader public void load() { _accessLevels.clear(); - _masterAccessLevel = new AccessLevel(Config.MASTERACCESS_LEVEL, "Master Access", Config.MASTERACCESS_NAME_COLOR, Config.MASTERACCESS_TITLE_COLOR, true, true, true, true, true, true, true, true, true, true, true); - _userAccessLevel = new AccessLevel(Config.USERACCESS_LEVEL, "User", Integer.decode("0xFFFFFF"), Integer.decode("0xFFFFFF"), false, false, false, true, false, true, true, true, true, true, false); parseDatapackFile("config/AccessLevels.xml"); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _accessLevels.size() + " access levels."); - LOGGER.info(getClass().getSimpleName() + ": Master access level is " + Config.MASTERACCESS_LEVEL + "."); - LOGGER.info(getClass().getSimpleName() + ": User access level is " + Config.USERACCESS_LEVEL + "."); _adminCommandAccessRights.clear(); parseDatapackFile("config/AdminCommands.xml"); @@ -106,17 +99,7 @@ public class AdminData implements IXmlReader accessLevel = set.getInt("level"); name = set.getString("name"); - if (accessLevel == Config.USERACCESS_LEVEL) - { - LOGGER.info(getClass().getSimpleName() + ": Access level with name " + name + " is using reserved user access level " + Config.USERACCESS_LEVEL + ". Ignoring it..."); - continue; - } - else if (accessLevel == Config.MASTERACCESS_LEVEL) - { - LOGGER.info(getClass().getSimpleName() + ": Access level with name " + name + " is using reserved master access level " + Config.MASTERACCESS_LEVEL + ". Ignoring it..."); - continue; - } - else if (accessLevel < 0) + if (accessLevel < 0) { LOGGER.info(getClass().getSimpleName() + ": Access level with name " + name + " is using banned access level state(below 0). Ignoring it..."); continue; @@ -196,7 +179,6 @@ public class AdminData implements IXmlReader public AccessLevel getAccessLevel(int accessLevelNum) { AccessLevel accessLevel = null; - synchronized (_accessLevels) { accessLevel = _accessLevels.get(accessLevelNum); @@ -212,7 +194,6 @@ public class AdminData implements IXmlReader { return; } - _accessLevels.put(accessLevel, new AccessLevel(accessLevel, "Banned", Integer.decode("0x000000"), Integer.decode("0x000000"), false, false, false, false, false, false, false, false, false, false, false)); } } @@ -239,11 +220,6 @@ public class AdminData implements IXmlReader return false; } - if (accessLevel.getLevel() == Config.MASTERACCESS_LEVEL) - { - return true; - } - String command = adminCommand; if (adminCommand.indexOf(' ') != -1) { @@ -261,20 +237,13 @@ public class AdminData implements IXmlReader LOGGER.warning("Admin Access Rights: No rights defined for admin command " + command + "."); return false; } - else if (acar >= accessLevel.getLevel()) - { - return true; - } - else - { - return false; - } + + return accessLevel.getLevel() >= acar; } public List getAllGms(boolean includeHidden) { final List tmpGmList = new ArrayList<>(); - for (Entry n : _gmList.entrySet()) { if (includeHidden || !n.getValue()) @@ -288,7 +257,6 @@ public class AdminData implements IXmlReader public List getAllGmNames(boolean includeHidden) { final List tmpGmList = new ArrayList<>(); - for (Entry n : _gmList.entrySet()) { if (!n.getValue()) @@ -387,10 +355,6 @@ public class AdminData implements IXmlReader } } - /** - * Gets the single instance of AdminTable. - * @return AccessLevels: the one and only instance of this class
- */ public static AdminData getInstance() { return SingletonHolder.INSTANCE; diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/Inventory.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/Inventory.java index 9a459f3709..69358a49c7 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/Inventory.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/Inventory.java @@ -1587,7 +1587,6 @@ public abstract class Inventory extends ItemContainer final int objectId = inv.getInt(1); item = ItemInstance.restoreFromDb(objectId); - if (item == null) { continue; diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/PlayerInventory.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/PlayerInventory.java index efc2a286ad..0749b109c8 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/PlayerInventory.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/PlayerInventory.java @@ -689,7 +689,7 @@ public class PlayerInventory extends Inventory } catch (Exception e) { - LOGGER.warning("could not restore inventory: " + e); + LOGGER.warning("Could not restore inventory: " + e); } return paperdoll; } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index aca32c5bf3..3529fd33f5 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -8202,9 +8202,8 @@ public class PlayerInstance extends Playable } /** - * Return true if the PlayerInstance is a GM.
- *
- * @return true, if is gM + * Return true if the PlayerInstance is a GM. + * @return true, if is GM */ public boolean isGM() { @@ -8212,37 +8211,7 @@ public class PlayerInstance extends Playable } /** - * Return true if the PlayerInstance is a Administrator.
- *
- * @return true, if is administrator - */ - public boolean isAdministrator() - { - return getAccessLevel().getLevel() == Config.MASTERACCESS_LEVEL; - } - - /** - * Return true if the PlayerInstance is a User.
- *
- * @return true, if is user - */ - public boolean isUser() - { - return getAccessLevel().getLevel() == Config.USERACCESS_LEVEL; - } - - /** - * Checks if is normal gm. - * @return true, if is normal gm - */ - public boolean isNormalGm() - { - return !isAdministrator() && !isUser(); - } - - /** - * Manage the Leave Party task of the PlayerInstance.
- *
+ * Manage the Leave Party task of the PlayerInstance. */ public void leaveParty() { @@ -8254,8 +8223,7 @@ public class PlayerInstance extends Playable } /** - * Return the _party object of the PlayerInstance.
- *
+ * Return the _party object of the PlayerInstance. * @return the party */ @Override @@ -8322,49 +8290,37 @@ public class PlayerInstance extends Playable */ public void setAccessLevel(int level) { - if (level == Config.MASTERACCESS_LEVEL) + if (level > 0) { LOGGER.warning("Access level " + level + " set for character " + getName() + "! Just a warning ;)"); - _accessLevel = AdminData.getInstance()._masterAccessLevel; } - else if (level == Config.USERACCESS_LEVEL) + + final AccessLevel accessLevel = AdminData.getInstance().getAccessLevel(level); + if (accessLevel == null) { - _accessLevel = AdminData.getInstance()._userAccessLevel; - } - else - { - if (level > 0) + if (level < 0) { - LOGGER.warning("Access level " + level + " set for character " + getName() + "! Just a warning ;)"); - } - final AccessLevel accessLevel = AdminData.getInstance().getAccessLevel(level); - - if (accessLevel == null) - { - if (level < 0) - { - AdminData.getInstance().addBanAccessLevel(level); - _accessLevel = AdminData.getInstance().getAccessLevel(level); - } - else - { - LOGGER.warning("Tried to set unregistered access level " + level + " to character " + getName() + ". Setting access level without privileges!"); - _accessLevel = AdminData.getInstance()._userAccessLevel; - } + AdminData.getInstance().addBanAccessLevel(level); + _accessLevel = AdminData.getInstance().getAccessLevel(level); } else { - _accessLevel = accessLevel; + LOGGER.warning("Tried to set unregistered access level " + level + " to character " + getName() + ". Setting access level without privileges!"); + _accessLevel = AdminData.getInstance().getAccessLevel(0); } } - - if (_accessLevel != AdminData.getInstance()._userAccessLevel) + else { - if (getAccessLevel().useNameColor()) + _accessLevel = accessLevel; + } + + if (_accessLevel.isGm()) + { + if (_accessLevel.useNameColor()) { getAppearance().setNameColor(_accessLevel.getNameColor()); } - if (getAccessLevel().useTitleColor()) + if (_accessLevel.useTitleColor()) { getAppearance().setTitleColor(_accessLevel.getTitleColor()); } @@ -8390,11 +8346,11 @@ public class PlayerInstance extends Playable { if (Config.EVERYBODY_HAS_ADMIN_RIGHTS) { - return AdminData.getInstance()._masterAccessLevel; + return AdminData.getInstance().getAccessLevel(100); } else if (_accessLevel == null) { - setAccessLevel(Config.USERACCESS_LEVEL); + setAccessLevel(0); } return _accessLevel; } @@ -8575,8 +8531,7 @@ public class PlayerInstance extends Playable } /** - * Create a new player in the characters table of the database.
- *
+ * Create a new player in the characters table of the database. * @return true, if successful */ private boolean createDb() @@ -8763,7 +8718,6 @@ public class PlayerInstance extends Playable player.setDeleteTimer(rset.getLong("deletetime")); player.setTitle(rset.getString("title")); - player.setAccessLevel(rset.getInt("accesslevel")); player.setFistsWeaponItem(player.findFistsWeaponItem(activeClassId)); player.setUptime(System.currentTimeMillis()); @@ -8832,6 +8786,8 @@ public class PlayerInstance extends Playable // leave them as default } + player.setAccessLevel(rset.getInt("accesslevel")); + CursedWeaponsManager.getInstance().checkPlayer(player); player.setAllianceWithVarkaKetra(rset.getInt("varka_ketra_ally")); @@ -11930,6 +11886,7 @@ public class PlayerInstance extends Playable getAppearance().setNameColor(Config.L2JMOD_WEDDING_NAME_COLOR_NORMAL); } } + /** Updates title and name color of a donator **/ if (Config.DONATOR_NAME_COLOR_ENABLED && isDonator()) { @@ -11938,65 +11895,13 @@ public class PlayerInstance extends Playable } } - /** - * Update gm name title color. - */ - public void updateGmNameTitleColor() - { - // if this is a GM but has disabled his gM status, so we clear name / title - if (isGM() && !hasGmStatusActive()) - { - getAppearance().setNameColor(0xFFFFFF); - getAppearance().setTitleColor(0xFFFF77); - } - // this is a GM but has GM status enabled, so we must set proper values - else if (isGM() && hasGmStatusActive()) - { - // Nick Updates - if (getAccessLevel().useNameColor()) - { - // this is a normal GM - if (isNormalGm()) - { - getAppearance().setNameColor(getAccessLevel().getNameColor()); - } - else if (isAdministrator()) - { - getAppearance().setNameColor(Config.MASTERACCESS_NAME_COLOR); - } - } - else - { - getAppearance().setNameColor(0xFFFFFF); - } - - // Title Updates - if (getAccessLevel().useTitleColor()) - { - // this is a normal GM - if (isNormalGm()) - { - getAppearance().setTitleColor(getAccessLevel().getTitleColor()); - } - else if (isAdministrator()) - { - getAppearance().setTitleColor(Config.MASTERACCESS_TITLE_COLOR); - } - } - else - { - getAppearance().setTitleColor(0xFFFF77); - } - } - } - /** * Sets the olympiad side. - * @param i the new olympiad side + * @param value the new olympiad side */ - public void setOlympiadSide(int i) + public void setOlympiadSide(int value) { - _olympiadSide = i; + _olympiadSide = value; } /** diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 899c127ab5..ae5f680847 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -615,16 +615,6 @@ public class EnterWorld extends GameClientPacket { Announcements.getInstance().announceToAll("GM " + player.getName() + " has logged on."); } - - if (Config.MASTERACCESS_NAME_COLOR_ENABLED) - { - player.getAppearance().setNameColor(Config.MASTERACCESS_NAME_COLOR); - } - - if (Config.MASTERACCESS_TITLE_COLOR_ENABLED) - { - player.getAppearance().setTitleColor(Config.MASTERACCESS_TITLE_COLOR); - } } } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/Die.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/Die.java index 5751b2152a..1e02c03182 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/Die.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/Die.java @@ -16,44 +16,36 @@ */ package org.l2jmobius.gameserver.network.serverpackets; -import org.l2jmobius.gameserver.datatables.xml.AdminData; import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.FortManager; -import org.l2jmobius.gameserver.model.AccessLevel; import org.l2jmobius.gameserver.model.SiegeClan; import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.clan.Clan; import org.l2jmobius.gameserver.model.entity.event.CTF; import org.l2jmobius.gameserver.model.entity.event.DM; import org.l2jmobius.gameserver.model.entity.event.TvT; import org.l2jmobius.gameserver.model.entity.siege.Castle; import org.l2jmobius.gameserver.model.entity.siege.Fort; -/** - * sample 0b 952a1048 objectId 00000000 00000000 00000000 00000000 00000000 00000000 format dddddd rev 377 format ddddddd rev 417 - * @version $Revision: 1.3.3 $ $Date: 2009/04/29 00:46:18 $ - */ public class Die extends GameServerPacket { private final int _objectId; private final boolean _fake; private boolean _sweepable; private boolean _canTeleport; - private AccessLevel _access = AdminData.getInstance()._userAccessLevel; - private org.l2jmobius.gameserver.model.clan.Clan _clan; + private boolean _allowFixedRes; + private Clan _clan; Creature _creature; - /** - * @param creature - */ public Die(Creature creature) { _creature = creature; if (creature instanceof PlayerInstance) { - final PlayerInstance player = (PlayerInstance) creature; - _access = player.getAccessLevel(); + final PlayerInstance player = creature.getActingPlayer(); + _allowFixedRes = player.getAccessLevel().allowFixedRes(); _clan = player.getClan(); _canTeleport = ((!TvT.isStarted() || !player._inEventTvT) && (!DM.hasStarted() || !player._inEventDM) && (!CTF.isStarted() || !player._inEventCTF) && !player.isInFunEvent() && !player.isPendingRevive()); } @@ -74,8 +66,8 @@ public class Die extends GameServerPacket } writeC(0x06); - writeD(_objectId); + // NOTE: // 6d 00 00 00 00 - to nearest village // 6d 01 00 00 00 - to hide away @@ -124,6 +116,6 @@ public class Die extends GameServerPacket } writeD(_sweepable ? 0x01 : 0x00); // sweepable (blue glow) - writeD(_access.allowFixedRes() ? 0x01 : 0x00); // 6d 04 00 00 00 - to FIXED + writeD(_allowFixedRes ? 0x01 : 0x00); // 6d 04 00 00 00 - to FIXED } }