Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Eclipse Workspace Patch 1.0
- #P Orionwins
- diff --git files/game/config/L2jServer/ExtraSettings.properties files/game/config/L2jServer/ExtraSettings.properties
- index 2af9e38..eea7e5b 100644
- --- files/game/config/L2jServer/ExtraSettings.properties
- +++ files/game/config/L2jServer/ExtraSettings.properties
- @@ -273,5 +273,20 @@
- RandromCraftConsumeCreate = 300000
- +#==========================================================================
- +# GAME MODE SYSTEM - PVE - PVP - NORMAL - WITH BONUS
- +#==========================================================================
- +GameModeSystemEnable = True
- +
- +PVPModeXpSpRate = 50
- +NormalModeXpSpRate = 20
- +PVPModeSpoilRate = 50
- +NormalModeSpoilRate = 20
- +PVPModeDropRate = 50
- +NormalModeDropRate = 20
- +PVPModeAdenaRate = 25
- +NormalModeAdenaRate = 20
- +PVPModeDropSealStonesRate = 5
- +NormalDropSealStonesRate = 2
- diff --git files/game/data/html/mods/ChangeModeSystem/ModeSystem.htm files/game/data/html/mods/ChangeModeSystem/ModeSystem.htm
- new file mode 100644
- index 0000000..6e94618
- --- /dev/null
- +++ files/game/data/html/mods/ChangeModeSystem/ModeSystem.htm
- @@ -0,0 +1,57 @@
- +<html>
- +<head>
- + <title>L2Wins - Modos De Juego</title>
- +</head>
- +<body>
- +
- + <center><font color="00FF00">Bienvenido a L2Wins.</font></center>
- + <br>
- + <center><font color="00FF00">Elige tu Modo de Juego.</font></center>
- +<center>
- +<br1>
- +<font color="00FF00">Por Defecto Entras En Normal Mode.</font>
- +<br1>
- +<font color="00FF00">Puedes Cambiarlo Escribiendo - .pve - .pvp - .normal</font>
- +<br1>
- +<font color="00FF00">Los Modos De Juego PvP - Normal Mode.</font>
- +<br1>
- +<font color="00FF00">Tienen Un Bonus General de EXP-SP-DROP-ADENA.</font>
- +<br1>
- +<font color="00FF00">En el Modo PvE No Podran Matarte.</font>
- +<br1>
- +<font color="00FF00">Tampoco Podras Atacar A Otro Jugador.</font>
- +<br1>
- +<font color="00FF00">Solo Podras Estar En Party Con Gente.</font>
- +<br1>
- +<font color="00FF00">Que Tenga Tu Mismo Modo De Juego.</font>
- +
- +</center>
- +
- + <br>
- +
- + <table>
- + <tr>
- + <td width="160" align="center"><font color="FFFF00">PvE Mode</font></td>
- + <td width="160" align="center"><font color="800080">PvP Mode</font></td>
- + <td width="160" align="center"><font color="CCFFCC"><font color="FF6600">Normal Mode</font></font></td>
- + </tr>
- +</table>
- + <table>
- + <tr>
- + <td width="160" align="center"><font color="FFFF00">Bonus 0%</font></td>
- + <td width="160" align="center"><font color="800080">Bonus 50%</font></td>
- + <td width="160" align="center"><font color="CCFFCC"><font color="FF6600">Bonus 20%</font></font></td>
- + </tr>
- +</table>
- +
- +
- +<br>
- +<table>
- + <tr>
- + <td width="160" align="center"><button value="Use" action="bypass -h PvEMode" width="75" height="21" back="L2UI.DefaultButton_click" fore="L2UI.DefaultButton"></td>
- + <td width="160" align="center"><button value="Use" action="bypass -h PvPMode" width="75" height="21" back="L2UI.DefaultButton_click" fore="L2UI.DefaultButton"></td>
- + <td width="160" align="center"><button value="Use" action="bypass -h NormalMode" width="75" height="21" back="L2UI.DefaultButton_click" fore="L2UI.DefaultButton"></td>
- + </tr>
- + </table>
- +</body>
- +</html>
- diff --git src/Base/ModeSystem/ChangeModeManager.java src/Base/ModeSystem/ChangeModeManager.java
- new file mode 100644
- index 0000000..282394f
- --- /dev/null
- +++ src/Base/ModeSystem/ChangeModeManager.java
- @@ -0,0 +1,204 @@
- +package Base.ModeSystem;
- +
- +import l2jwins.Config;
- +import l2jwins.game.model.actor.instance.L2PcInstance;
- +import l2jwins.game.model.zone.ZoneId;
- +
- +public class ChangeModeManager
- +{
- + public static boolean verifyChangeMode(L2PcInstance activeChar)
- + {
- + if (activeChar == null)
- + {
- + return false;
- + }
- +
- + if (!Config.GAME_MODE_ENABLE)
- + {
- + activeChar.sendMessage("El Change Mode System Esta Desactivado.");
- + return false;
- + }
- +
- + if (activeChar.isMoving())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Te Estas Moviendo");
- + return false;
- + }
- +
- + if (activeChar.isInParty())
- + {
- + activeChar.sendMessage("Sal De La Party Para Cambiar de Modo De Juego");
- + return false;
- + }
- +
- + if (activeChar.isInDuel())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInArena())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInArenaEvent())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInJail())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInPartyMatchRoom())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInCraftMode())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInHideoutSiege())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_BOSS))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_CASTLE))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_DANGERAREA))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_FLAG))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_NOSUMMONFRIEND))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_JAIL))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_MONSTERTRACK))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_OLY))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_PVP))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_RAID_LIMIT))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_RANDOM))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_SIEGE))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_NORESTART))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isIn7sDungeon())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isDungeon())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas En Una Dungeon");
- + return false;
- + }
- +
- + if (activeChar.isInOlympiadMode())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas En Olympiadas");
- + return false;
- + }
- +
- + if (activeChar.isRegisteredInCTFEvent() || activeChar.isRegisteredInDMEvent() || activeChar.isRegisteredInFunEvent() || activeChar.isRegisteredInTVTEvent() || activeChar.isRegisteredInVIPEvent())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas Registrado En Un Evento");
- + return false;
- + }
- +
- + if (activeChar.inObserverMode())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas en ObserverMode");
- + return false;
- + }
- +
- + if (activeChar.isCastingNow())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas Casteando un Skill");
- + return false;
- + }
- +
- + if (activeChar.isInCombat())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Si Estas en Combate");
- + return false;
- + }
- +
- + if (activeChar.isAttackingNow())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas Atacando");
- + return false;
- + }
- +
- + return true;
- + }
- +}
- diff --git src/l2jwins/Config.java src/l2jwins/Config.java
- index 90bd833..9201857 100644
- --- src/l2jwins/Config.java
- +++ src/l2jwins/Config.java
- @@ -287,6 +287,23 @@
- public static int RANDOM_CRAFT_ITEM_CONSUME_REFRESH;
- public static int RANDOM_CRAFT_ITEM_CONSUME_CREATE;
- + public static boolean GAME_MODE_ENABLE;
- +
- + public static float PVP_MODE_XPSP_RATE;
- + public static float NORMAL_MODE_XPSP_RATE;
- +
- + public static float PVP_MODE_SPOIL_RATE;
- + public static float NORMAL_MODE_SPOIL_RATE;
- +
- + public static float PVP_MODE_DROP_RATE;
- + public static float NORMAL_MODE_DROP_RATE;
- +
- + public static float PVP_MODE_ADENA_RATE;
- + public static float NORMAL_MODE_ADENA_RATE;
- +
- + public static float PVP_MODE_SS_RATE;
- + public static float NORMAL_MODE_SS_RATE;
- +
- // ===================================================================================================================================//
- public static void loadExtraSettingsConfig()
- @@ -306,6 +323,23 @@
- // ===================================================================================================================================//
- + GAME_MODE_ENABLE = Boolean.parseBoolean(ExtraSettings.getProperty("GameModeSystemEnable", "True"));
- +
- + PVP_MODE_XPSP_RATE = Float.parseFloat(ExtraSettings.getProperty("PVPModeXpSpRate", "1.5"));
- + NORMAL_MODE_XPSP_RATE = Float.parseFloat(ExtraSettings.getProperty("NormalModeXpSpRate", "1.5"));
- +
- + PVP_MODE_SPOIL_RATE = Float.parseFloat(ExtraSettings.getProperty("PVPModeSpoilRate", "1.5"));
- + NORMAL_MODE_SPOIL_RATE = Float.parseFloat(ExtraSettings.getProperty("NormalSpoilRate", "1.5"));
- +
- + PVP_MODE_DROP_RATE = Float.parseFloat(ExtraSettings.getProperty("PVPModeDropRate", "1.5"));
- + NORMAL_MODE_DROP_RATE = Float.parseFloat(ExtraSettings.getProperty("NormalDropRate", "1.5"));
- +
- + PVP_MODE_ADENA_RATE = Float.parseFloat(ExtraSettings.getProperty("PVPModeAdenaRate", "1.5"));
- + NORMAL_MODE_ADENA_RATE = Float.parseFloat(ExtraSettings.getProperty("NormalAdenaRate", "1.5"));
- +
- + PVP_MODE_SS_RATE = Float.parseFloat(ExtraSettings.getProperty("PVPModeDropSealStonesRate", "1.5"));
- + NORMAL_MODE_SS_RATE = Float.parseFloat(ExtraSettings.getProperty("NormalDropSealStonesRate", "1.5"));
- +
- SERVER_NAME = ExtraSettings.getProperty("ServerName", "L2-Pain");
- AFK_TIMER = Integer.parseInt(ExtraSettings.getProperty("TimerAFK", "10"));
- diff --git src/l2jwins/game/handler/VoicedCommandHandler.java src/l2jwins/game/handler/VoicedCommandHandler.java
- index 901615a..5c191e9 100644
- --- src/l2jwins/game/handler/VoicedCommandHandler.java
- +++ src/l2jwins/game/handler/VoicedCommandHandler.java
- @@ -13,6 +13,7 @@
- import l2jwins.game.handler.voice.Event_DM;
- import l2jwins.game.handler.voice.Event_TVT;
- import l2jwins.game.handler.voice.ExpireItems;
- +import l2jwins.game.handler.voice.GameMode;
- import l2jwins.game.handler.voice.OfflineShop;
- import l2jwins.game.handler.voice.Online;
- import l2jwins.game.handler.voice.PartyTeleport;
- @@ -97,6 +98,7 @@
- registerVoicedCommandHandler(new BossEventCMD());
- registerVoicedCommandHandler(new BufferAuto());
- registerVoicedCommandHandler(new elixir());
- + registerVoicedCommandHandler(new GameMode());
- CustomBypassHandler.getInstance().registerCustomBypassHandler(new ExpireItems());
- LOG.info("VoicedCommandHandler: Loaded " + _datatable.size() + " handlers");
- diff --git src/l2jwins/game/handler/voice/GameMode.java src/l2jwins/game/handler/voice/GameMode.java
- new file mode 100644
- index 0000000..b944522
- --- /dev/null
- +++ src/l2jwins/game/handler/voice/GameMode.java
- @@ -0,0 +1,375 @@
- +package l2jwins.game.handler.voice;
- +
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.SQLException;
- +
- +import l2jwins.Config;
- +import l2jwins.game.handler.IVoicedCommandHandler;
- +import l2jwins.game.model.L2World;
- +import l2jwins.game.model.actor.instance.L2PcInstance;
- +import l2jwins.game.model.zone.ZoneId;
- +import l2jwins.game.network.serverpackets.NpcHtmlMessage;
- +import l2jwins.util.database.L2DatabaseFactory;
- +
- +public class GameMode implements IVoicedCommandHandler
- +{
- + private static final String[] VOICED_COMMANDS =
- + {
- + "pve",
- + "pvp",
- + "normal",
- + "mode"
- + };
- +
- + @Override
- + public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
- + {
- + if (activeChar == null)
- + {
- + return false;
- + }
- +
- + if (!Config.GAME_MODE_ENABLE)
- + {
- + activeChar.sendMessage("El Change Mode System Esta Desactivado.");
- + return false;
- + }
- +
- + if (activeChar.isMoving())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Te Estas Moviendo");
- + return false;
- + }
- +
- + if (activeChar.isInParty())
- + {
- +
- + activeChar.sendMessage("Sal De La Party Para Cambiar de Modo De Juego");
- + return false;
- + }
- +
- + if (activeChar.isInDuel())
- + {
- +
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInArena())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInArenaEvent())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInJail())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInPartyMatchRoom())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInCraftMode())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInHideoutSiege())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInHideoutSiege())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_BOSS))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_CASTLE))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_DANGERAREA))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_FLAG))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_NOSUMMONFRIEND))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_JAIL))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_MONSTERTRACK))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_OLY))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_PVP))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_RAID_LIMIT))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_RANDOM))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_SIEGE))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isInsideZone(ZoneId.ZONE_NORESTART))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isIn7sDungeon())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Ahora");
- + return false;
- + }
- +
- + if (activeChar.isDungeon())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas En Una Dungeon");
- + return false;
- + }
- +
- + if (activeChar.isInOlympiadMode())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas En Olympiadas");
- + return false;
- + }
- + if (activeChar.isRegisteredInCTFEvent() || activeChar.isRegisteredInDMEvent() || activeChar.isRegisteredInFunEvent() || activeChar.isRegisteredInTVTEvent() || activeChar.isRegisteredInVIPEvent())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas Registrado En Un Evento");
- + return false;
- + }
- +
- + if (activeChar.inObserverMode())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas ObserverMode");
- + return false;
- + }
- +
- + if (activeChar.isCastingNow())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas Cast Un Skill");
- + return false;
- + }
- +
- + if ((activeChar.isInCombat()))
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego Si Estas En Combate");
- + return false;
- + }
- +
- + if (activeChar.isAttackingNow())
- + {
- + activeChar.sendMessage("No Puedes Cambiar El Modo De Juego SI Estas Atacando");
- + return false;
- + }
- +
- + if (command.equalsIgnoreCase(VOICED_COMMANDS[0]))
- + { // PVE Mode
- +
- + if (activeChar.isPVEMode())
- + {
- + activeChar.sendMessage("Ya estas en el modo PVE.");
- + return false;
- + }
- +
- + if (activeChar.getPvpFlag() == 0 && activeChar.getKarma() == 0)
- + {
- + activeChar.setPVEMode(true);
- + activeChar.setPVPMode(false);
- + activeChar.setNormalMode(false);
- + setActiveCharGameMode(activeChar, "PVE MODE");
- + activeChar.sendMessage("Has cambiado al modo PVE. - No Podran Matarte Otros Jugadores");
- + activeChar.sendMessage("Tampoco Podras Atacar a Otros Jugadores - No Obtendras El Bonus");
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + return true;
- + }
- + activeChar.sendMessage(" Estas con Flag o Tienes Karma No puedes Activar el modo PvE Con Karma o Flag");
- + return false;
- +
- + }
- + else if (command.equalsIgnoreCase(VOICED_COMMANDS[1]))
- + { // PVP Mode
- +
- + if (activeChar.isPVPMode())
- + {
- + activeChar.sendMessage("Ya estas en el modo PVP.");
- + return false;
- + }
- +
- + if (activeChar.getLevel() < 76)
- + {
- + activeChar.sendMessage("Necesitas Minimo Ser LvL 76 Para Activar El Modo PvP");
- + return false;
- + }
- +
- + if (!activeChar.isInsideZone(ZoneId.ZONE_PEACE))
- + {
- + activeChar.sendMessage("Solo Puedes Cambiar El Modo En Una Zone Peace.");
- + return false;
- + }
- +
- + activeChar.stopPvPFlag();
- + activeChar.setPvpFlag(1);
- + activeChar.setPVEMode(false);
- + activeChar.setPVPMode(true);
- + activeChar.setNormalMode(false);
- + setActiveCharGameMode(activeChar, "PVP MODE");
- + activeChar.sendMessage("Has cambiado al modo PVP. - Obtendras un Bonus de 50%");
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + return true;
- + }
- + else if (command.equalsIgnoreCase(VOICED_COMMANDS[2]))
- + {
- +
- + if (activeChar.isNormalMode())
- + {
- + activeChar.sendMessage("Ya estas en el modo Normal.");
- + return false;
- + }
- +
- + if (!activeChar.isInsideZone(ZoneId.ZONE_PEACE))
- + {
- + activeChar.sendMessage("Solo Puedes Cambiar El Modo En Una Zone Peace.");
- + return false;
- + }
- +
- + if (activeChar.getPvpFlag() > 0)
- + {
- + activeChar.stopPvPFlag();
- + activeChar.updatePvPStatus();
- + activeChar.setPVEMode(false);
- + activeChar.setPVPMode(false);
- + activeChar.setNormalMode(true);
- + activeChar.sendMessage("Has cambiado al modo Normal. - Obtendras un Bonus de 20%");
- +
- + setActiveCharGameMode(activeChar, "NORMAL MODE");
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- +
- + }
- + else
- + {
- + activeChar.setPvpFlag(0);
- + activeChar.setPVEMode(false);
- + activeChar.setPVPMode(false);
- + activeChar.setNormalMode(true);
- + setActiveCharGameMode(activeChar, "NORMAL MODE");
- + activeChar.sendMessage("Has cambiado al modo Normal. - Obtendras un Bonus de 20%");
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + return true;
- + }
- +
- + }
- +
- + else if (command.equalsIgnoreCase(VOICED_COMMANDS[3]))
- + { // PVP Mode
- + showModeSystemHTML(activeChar);
- + return true;
- + }
- +
- + return false;
- + }
- +
- + private void setActiveCharGameMode(L2PcInstance activeChar, String gameMode)
- + {
- + try (Connection con = L2DatabaseFactory.getInstance().getConnection())
- + {
- + String sql = "REPLACE INTO Character_Game_Mode (object_id, char_name, game_mode) VALUES (?, ?, ?)";
- + try (PreparedStatement ps = con.prepareStatement(sql))
- + {
- + ps.setInt(1, activeChar.getObjectId());
- + ps.setString(2, activeChar.getName());
- + ps.setString(3, gameMode);
- + ps.execute();
- + }
- + }
- + catch (SQLException e)
- + {
- + // Manejo de excepciones
- + }
- + }
- +
- + private void showModeSystemHTML(L2PcInstance player)
- + {
- + NpcHtmlMessage html = new NpcHtmlMessage(0);
- + html.setFile("data/html/mods/ChangeModeSystem/ModeSystem.htm");
- + player.sendPacket(html);
- + }
- +
- + @Override
- + public String[] getVoicedCommandList()
- + {
- + return VOICED_COMMANDS;
- + }
- +}
- diff --git src/l2jwins/game/model/L2Attackable.java src/l2jwins/game/model/L2Attackable.java
- index 0615b26..c25553d 100644
- --- src/l2jwins/game/model/L2Attackable.java
- +++ src/l2jwins/game/model/L2Attackable.java
- @@ -651,6 +651,19 @@
- exp = (long) (exp * Config.PREMIUM_XPSP_RATE);
- sp = (int) (sp * Config.PREMIUM_XPSP_RATE);
- }
- +
- + if (((L2PcInstance) attacker).isPVPMode())
- + {
- + exp = (long) (exp * Config.PVP_MODE_XPSP_RATE);
- + sp = (int) (sp * Config.PVP_MODE_XPSP_RATE);
- + }
- +
- + if (((L2PcInstance) attacker).isNormalMode())
- + {
- + exp = (long) (exp * Config.NORMAL_MODE_XPSP_RATE);
- + sp = (int) (sp * Config.NORMAL_MODE_XPSP_RATE);
- + }
- +
- }
- // Distribute the Exp and SP between the L2PcInstance and its L2Summon
- @@ -1158,6 +1171,16 @@
- dropChance *= Config.PREMIUM_SPOIL_RATE;
- }
- + if (lastAttacker.isPVPMode())
- + {
- + dropChance *= Config.PVP_MODE_SPOIL_RATE;
- + }
- +
- + if (lastAttacker.isNormalMode())
- + {
- + dropChance *= Config.NORMAL_MODE_SPOIL_RATE;
- + }
- +
- }
- dropChance = (int) ((dropChance * lastAttacker.calcStat(Stats.SPOIL_RATE, 100, null, null)) / 100);
- }
- @@ -1183,6 +1206,15 @@
- {
- dropChance *= Config.PREMIUM_DROP_RATE;
- }
- +
- + if (lastAttacker.isPVPMode())
- + {
- + dropChance *= Config.PVP_MODE_DROP_RATE;
- + }
- + if (lastAttacker.isNormalMode())
- + {
- + dropChance *= Config.NORMAL_MODE_DROP_RATE;
- + }
- }
- }
- @@ -1271,6 +1303,15 @@
- {
- itemCount *= Config.PREMIUM_ADENA_RATE;
- }
- +
- + if (lastAttacker.isPVPMode())
- + {
- + itemCount *= Config.PVP_MODE_ADENA_RATE;
- + }
- + if (lastAttacker.isNormalMode())
- + {
- + itemCount *= Config.NORMAL_MODE_ADENA_RATE;
- + }
- }
- }
- @@ -1327,6 +1368,16 @@
- {
- categoryDropChance *= Config.PREMIUM_SS_RATE;
- }
- +
- + if (lastAttacker.isPVPMode())
- + {
- + categoryDropChance *= Config.PVP_MODE_SS_RATE;
- + }
- +
- + if (lastAttacker.isNormalMode())
- + {
- + categoryDropChance *= Config.NORMAL_MODE_SS_RATE;
- + }
- }
- else
- {
- @@ -1394,6 +1445,15 @@
- {
- dropChance *= Config.PREMIUM_DROP_RATE;
- }
- +
- + if (lastAttacker.isPVPMode())
- + {
- + dropChance *= Config.PVP_MODE_DROP_RATE;
- + }
- + if (lastAttacker.isNormalMode())
- + {
- + dropChance *= Config.NORMAL_MODE_DROP_RATE;
- + }
- }
- }
- @@ -1453,6 +1513,16 @@
- {
- itemCount *= Config.PREMIUM_SS_RATE;
- }
- + if (lastAttacker.isPVPMode())
- + {
- + itemCount *= Config.PVP_MODE_SS_RATE;
- + }
- +
- + if (lastAttacker.isNormalMode())
- + {
- + itemCount *= Config.NORMAL_MODE_SS_RATE;
- + }
- +
- }
- if (drop.getItemId() == 57)
- @@ -1477,6 +1547,14 @@
- {
- itemCount *= Config.PREMIUM_ADENA_RATE;
- }
- + if (lastAttacker.isPVPMode())
- + {
- + itemCount *= Config.PVP_MODE_ADENA_RATE;
- + }
- + if (lastAttacker.isNormalMode())
- + {
- + itemCount *= Config.NORMAL_MODE_ADENA_RATE;
- + }
- }
- }
- diff --git src/l2jwins/game/model/actor/instance/L2PcInstance.java src/l2jwins/game/model/actor/instance/L2PcInstance.java
- index 5a34ade..93095fd 100644
- --- src/l2jwins/game/model/actor/instance/L2PcInstance.java
- +++ src/l2jwins/game/model/actor/instance/L2PcInstance.java
- @@ -327,7 +327,12 @@
- private String _autofarm_mode = "None";
- private Location _autofarm_distance;
- + private boolean isPVEMode = false;
- + private boolean isPVPMode = false;
- + private boolean isNormalMode = false;
- +
- private boolean isTryingSkin = false;
- +
- private boolean isTryingSkinPremium = false;
- private List<Integer> _armorSkins = new CopyOnWriteArrayList<>();
- private List<Integer> _weaponSkins = new CopyOnWriteArrayList<>();
- @@ -11745,6 +11755,22 @@
- return;
- }
- + // Check if target is in PVE mode
- + if (target instanceof L2PcInstance && ((L2PcInstance) target).isPVEMode())
- + {
- + sendPacket(ActionFailed.STATIC_PACKET);
- + this.sendMessage("No Puedes Atacar a " + target.getName() + " Por Que Esta en PVE MODE");
- + return;
- + }
- +
- + // Check if attacker is in PVE mode and target is a player
- + if (this.isPVEMode() && target instanceof L2PcInstance)
- + {
- + sendPacket(ActionFailed.STATIC_PACKET);
- + this.sendMessage("Desactiva El Modo PVE");
- + return;
- + }
- +
- // Check if the spell consume an item
- if (skill.getItemConsume() > 0)
- {
- @@ -11857,6 +11883,7 @@
- sendPacket(sm);
- return;
- }
- +
- }
- // Like L2OFF if you are mounted on wyvern you can't use own skills
- @@ -19769,6 +19796,36 @@
- return isTryingSkin;
- }
- + public boolean isPVEMode()
- + {
- + return isPVEMode;
- + }
- +
- + public void setPVEMode(boolean b)
- + {
- + isPVEMode = b;
- + }
- +
- + public boolean isPVPMode()
- + {
- + return isPVPMode;
- + }
- +
- + public void setPVPMode(boolean b)
- + {
- + isPVPMode = b;
- + }
- +
- + public boolean isNormalMode()
- + {
- + return isNormalMode;
- + }
- +
- + public void setNormalMode(boolean b)
- + {
- + isNormalMode = b;
- + }
- +
- public void setIsTryingSkin(boolean b)
- {
- isTryingSkin = b;
- @@ -20801,6 +20858,31 @@
- }
- }
- + public String getGameMode()
- + {
- + try (Connection con = L2DatabaseFactory.getInstance().getConnection())
- + {
- + String sql = "SELECT game_mode FROM Character_Game_Mode WHERE object_id = ?";
- + try (PreparedStatement ps = con.prepareStatement(sql))
- + {
- + ps.setInt(1, getObjectId());
- + try (ResultSet rs = ps.executeQuery())
- + {
- + if (rs.next())
- + {
- + return rs.getString("game_mode");
- + }
- + }
- + }
- + }
- + catch (SQLException e)
- + {
- + // Manejo de excepciones
- + }
- +
- + return "Desconocido";
- + }
- +
- public void updateLastAction()
- {
- _lastAction = System.currentTimeMillis() + TimeUnit.MINUTES.toMillis(Config.AFK_TIMER);
- diff --git src/l2jwins/game/network/clientpackets/AttackRequest.java src/l2jwins/game/network/clientpackets/AttackRequest.java
- index 291a214..5ecca8e 100644
- --- src/l2jwins/game/network/clientpackets/AttackRequest.java
- +++ src/l2jwins/game/network/clientpackets/AttackRequest.java
- @@ -71,6 +71,22 @@
- return;
- }
- + // Check if target is in PVE mode
- + if (target instanceof L2PcInstance && ((L2PcInstance) target).isPVEMode() && !activeChar.isGM())
- + {
- + activeChar.sendMessage("El Usuario: " + target.getName() + " esta en modo PvE");
- + activeChar.sendPacket(ActionFailed.STATIC_PACKET);
- + return;
- + }
- +
- + // Check if attacker is in PVE mode
- + if (activeChar.isPVEMode() && !activeChar.isGM())
- + {
- + activeChar.sendMessage("Debes desactivar el modo PvE para atacar a otros jugadores");
- + activeChar.sendPacket(ActionFailed.STATIC_PACKET);
- + return;
- + }
- +
- // Players can't attack objects in the other instances except from multiverse
- if (target.getInstanceId() != activeChar.getInstanceId() && activeChar.getInstanceId() != -1)
- {
- diff --git src/l2jwins/game/network/clientpackets/EnterWorld.java src/l2jwins/game/network/clientpackets/EnterWorld.java
- index aeae263..89370b4 100644
- --- src/l2jwins/game/network/clientpackets/EnterWorld.java
- +++ src/l2jwins/game/network/clientpackets/EnterWorld.java
- @@ -24,7 +24,6 @@
- import java.util.regex.PatternSyntaxException;
- import Base.Rank.RankManager;
- -import Base.custom.DailyRewardManager;
- import Base.data.Dolls;
- import l2jwins.Config;
- import l2jwins.game.GameServer;
- @@ -203,6 +202,62 @@
- activeChar.restoreEffects();
- }
- + if (Config.GAME_MODE_ENABLE)
- + {
- +
- + String gameMode = activeChar.getGameMode();
- + if (gameMode.equalsIgnoreCase("PVE MODE"))
- + {
- + activeChar.setPVEMode(true);
- + activeChar.setPVPMode(false);
- + activeChar.setNormalMode(false);
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.sendMessage("Estas En PvE Mode - Los jugadores no podran atacarte");
- + activeChar.sendMessage("Puedes Cambiarlo Con: - .pve - .pvp - .normal");
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + }
- + else if (gameMode.equalsIgnoreCase("PVP MODE"))
- + {
- + activeChar.stopPvPFlag();
- + activeChar.updatePvPFlag(1);
- + activeChar.setPVEMode(false);
- + activeChar.setPVPMode(true);
- + activeChar.setNormalMode(false);
- + activeChar.sendMessage("Estas En PVP Mode - Recibes un bonus de 50% de Exp - Sp - Drop - Adena");
- + activeChar.sendMessage("Puedes Cambiarlo Con: - .pve - .pvp - .normal");
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + }
- + else if (gameMode.equalsIgnoreCase("NORMAL MODE"))
- + {
- + activeChar.setPvpFlag(0);
- + activeChar.setPVEMode(false);
- + activeChar.setPVPMode(false);
- + activeChar.setNormalMode(true);
- + activeChar.sendMessage("Estas En Normal Mode - Recibes un bonus de 20% de Exp - Sp - Drop - Adena");
- + activeChar.sendMessage("Puedes Cambiarlo Con: - .pve - .pvp - .normal");
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + }
- +
- + if (activeChar.getFirstLog())
- + {
- + activeChar.setNormalMode(true);
- + activeChar.sendMessage("Estas En Normal Mode - Recibes un bonus de 20% de Exp - Sp - Drop - Adena");
- + activeChar.sendMessage("Puedes Cambiarlo Con: - .pve - .pvp - .normal");
- +
- + showModeSystemHTML(activeChar);
- +
- + }
- +
- + }
- +
- // Apply augmentation bonus for equipped items
- for (L2ItemInstance temp : activeChar.getInventory().getAugmentedItems())
- {
- @@ -1209,6 +1262,13 @@
- }
- + private void showModeSystemHTML(L2PcInstance player)
- + {
- + NpcHtmlMessage html = new NpcHtmlMessage(0);
- + html.setFile("data/html/mods/ChangeModeSystem/ModeSystem.htm");
- + player.sendPacket(html);
- + }
- +
- private void notifyCastleOwner(L2PcInstance activeChar)
- {
- L2Clan clan = activeChar.getClan();
- diff --git src/l2jwins/game/network/clientpackets/RequestBypassToServer.java src/l2jwins/game/network/clientpackets/RequestBypassToServer.java
- index d179afd..95a5544 100644
- --- src/l2jwins/game/network/clientpackets/RequestBypassToServer.java
- +++ src/l2jwins/game/network/clientpackets/RequestBypassToServer.java
- @@ -30,6 +30,7 @@
- import java.util.stream.Stream;
- import Base.ItemRecover.ItemRecoveryManager;
- +import Base.ModeSystem.ChangeModeManager;
- import Base.WinsStats.WinsStatSystem;
- import Base.custom.Board.BoardManager;
- import javolution.text.TextBuilder;
- @@ -76,6 +77,7 @@
- import l2jwins.game.model.entity.event.TvT;
- import l2jwins.game.model.entity.event.VIP;
- import l2jwins.game.model.olympiad.OlympiadManager;
- +import l2jwins.game.model.zone.ZoneId;
- import l2jwins.game.network.PacketClient;
- import l2jwins.game.network.SystemMessageId;
- import l2jwins.game.network.serverpackets.ActionFailed;
- @@ -342,6 +344,119 @@
- activeChar.broadcastUserInfo();
- activeChar.broadcastTitleInfo();
- }
- +
- + else if (bp.bypass.startsWith("PvEMode"))
- + {
- +
- + if (ChangeModeManager.verifyChangeMode(activeChar))
- + {
- +
- + if (activeChar.isPVEMode())
- + {
- + activeChar.sendMessage("Ya estas en el modo PVE.");
- + return;
- + }
- +
- + if (activeChar.getPvpFlag() == 0 && activeChar.getKarma() == 0)
- + {
- + activeChar.setPVEMode(true);
- + activeChar.setPVPMode(false);
- + activeChar.setNormalMode(false);
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.sendMessage("Estas En PvE Mode - Los jugadores no podran atacarte");
- + activeChar.sendMessage("Puedes Cambiarlo Con: - .pve - .pvp - .normal");
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + }
- + else
- + {
- + activeChar.sendMessage(" Estas con Flag o Tienes Karma No puedes Activar el modo PvE Con Karma o Flag");
- + }
- + }
- +
- + }
- +
- + else if (bp.bypass.startsWith("PvPMode"))
- + {
- +
- + if (ChangeModeManager.verifyChangeMode(activeChar))
- + {
- + if (activeChar.isPVPMode())
- + {
- + activeChar.sendMessage("Ya estas en el modo PVP.");
- + return;
- + }
- +
- + if (!activeChar.isInsideZone(ZoneId.ZONE_PEACE))
- + {
- + activeChar.sendMessage("Solo Puedes Cambiar El Modo En Una Zone Peace.");
- + return;
- + }
- +
- + if (activeChar.getLevel() < 76)
- + {
- + activeChar.sendMessage("Necesitas Minimo Ser LvL 76 Para Activar El Modo PvP.");
- + return;
- + }
- +
- + activeChar.stopPvPFlag();
- + activeChar.setPvpFlag(1);
- + activeChar.setPVEMode(false);
- + activeChar.setPVPMode(true);
- + activeChar.setNormalMode(false);
- + activeChar.sendMessage("Has cambiado al modo PVP. - Obtendras un Bonus de 50%");
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + }
- +
- + }
- +
- + else if (bp.bypass.startsWith("NormalMode"))
- + {
- + if (ChangeModeManager.verifyChangeMode(activeChar))
- + {
- +
- + if (activeChar.isNormalMode())
- + {
- + activeChar.sendMessage("Ya estas en el modo Normal.");
- + return;
- + }
- +
- + if (!activeChar.isInsideZone(ZoneId.ZONE_PEACE))
- + {
- + activeChar.sendMessage("Solo Puedes Cambiar El Modo En Una Zone Peace.");
- + return;
- + }
- +
- + if (activeChar.getPvpFlag() > 0)
- + {
- + activeChar.stopPvPFlag();
- + activeChar.updatePvPStatus();
- + activeChar.setPVEMode(false);
- + activeChar.setPVPMode(false);
- + activeChar.setNormalMode(true);
- + activeChar.sendMessage("Has cambiado al modo Normal. - Obtendras un Bonus de 20%");
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + }
- + activeChar.setPvpFlag(0);
- + activeChar.setPVEMode(false);
- + activeChar.setPVPMode(false);
- + activeChar.setNormalMode(true);
- + activeChar.sendMessage("Has cambiado al modo Normal. - Obtendras un Bonus de 20%");
- + activeChar.decayMe();
- + L2World.getInstance().addPlayerToWorld(activeChar);
- + activeChar.broadcastUserInfo();
- + activeChar.spawnMe();
- + }
- +
- + }
- +
- else if (bp.bypass.startsWith("player_help "))
- {
- playerHelp(activeChar, bp.bypass.substring(12));
- diff --git src/l2jwins/game/network/clientpackets/RequestDuelAnswerStart.java src/l2jwins/game/network/clientpackets/RequestDuelAnswerStart.java
- index 8b957eb..416ba62 100644
- --- src/l2jwins/game/network/clientpackets/RequestDuelAnswerStart.java
- +++ src/l2jwins/game/network/clientpackets/RequestDuelAnswerStart.java
- @@ -19,6 +19,7 @@
- */
- package l2jwins.game.network.clientpackets;
- +import l2jwins.Config;
- import l2jwins.game.managers.DuelManager;
- import l2jwins.game.model.actor.instance.L2PcInstance;
- import l2jwins.game.network.PacketClient;
- @@ -56,6 +57,15 @@
- return;
- }
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (requestor.isPVEMode())
- + {
- + player.sendMessage("Estas en PVE MODE o el jugador que intentas retar a un duelo lo esta");
- + return;
- + }
- + }
- +
- if (_response == 1)
- {
- SystemMessage msg1 = null, msg2 = null;
- diff --git src/l2jwins/game/network/clientpackets/RequestDuelStart.java src/l2jwins/game/network/clientpackets/RequestDuelStart.java
- index d808b43..7855025 100644
- --- src/l2jwins/game/network/clientpackets/RequestDuelStart.java
- +++ src/l2jwins/game/network/clientpackets/RequestDuelStart.java
- @@ -65,6 +65,21 @@
- return;
- }
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (activeChar.isPVEMode())
- + {
- + activeChar.sendMessage("Desactiva El PVE MODE");
- + return;
- + }
- +
- + if (targetChar.isPVEMode())
- + {
- + activeChar.sendMessage("El Jugador: " + targetChar.getName() + " Esta en PvE Mode");
- + return;
- + }
- + }
- +
- // Check if duel is possible
- if (!activeChar.canDuel())
- {
- diff --git src/l2jwins/game/network/clientpackets/RequestJoinParty.java src/l2jwins/game/network/clientpackets/RequestJoinParty.java
- index 76a96d3..ff31b1a 100644
- --- src/l2jwins/game/network/clientpackets/RequestJoinParty.java
- +++ src/l2jwins/game/network/clientpackets/RequestJoinParty.java
- @@ -71,6 +71,16 @@
- return;
- }
- + if (Config.GAME_MODE_ENABLE)
- + {
- +
- + if (requestor.getGameMode().equals(target.getGameMode()))
- + {
- + requestor.sendMessage("No puedes invitar a la party a un jugador con un modo de juego diferente.");
- + return;
- + }
- + }
- +
- if ((requestor._inEventDM && (DM.is_teleport() || DM.is_started())) || (target._inEventDM && (DM.is_teleport() || DM.is_started())))
- {
- requestor.sendMessage("You can't invite that player in party!");
- diff --git src/l2jwins/game/network/clientpackets/RequestJoinSiege.java src/l2jwins/game/network/clientpackets/RequestJoinSiege.java
- index 644f078..a785d0e 100644
- --- src/l2jwins/game/network/clientpackets/RequestJoinSiege.java
- +++ src/l2jwins/game/network/clientpackets/RequestJoinSiege.java
- @@ -20,6 +20,7 @@
- package l2jwins.game.network.clientpackets;
- +import l2jwins.Config;
- import l2jwins.game.managers.CHSiegeManager;
- import l2jwins.game.managers.CastleManager;
- import l2jwins.game.managers.FortManager;
- @@ -62,6 +63,15 @@
- return;
- }
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (player.isPVEMode())
- + {
- + player.sendMessage("Desactiva El PVE MODE");
- + return;
- + }
- + }
- +
- L2Clan clan = player.getClan();
- if (clan == null)
- {
- diff --git src/l2jwins/game/network/clientpackets/RequestOlympiadMatchList.java src/l2jwins/game/network/clientpackets/RequestOlympiadMatchList.java
- index 3f271ba..43803ee 100644
- --- src/l2jwins/game/network/clientpackets/RequestOlympiadMatchList.java
- +++ src/l2jwins/game/network/clientpackets/RequestOlympiadMatchList.java
- @@ -20,6 +20,7 @@
- */
- package l2jwins.game.network.clientpackets;
- +import l2jwins.Config;
- import l2jwins.game.model.actor.instance.L2PcInstance;
- import l2jwins.game.model.olympiad.Olympiad;
- import l2jwins.game.model.olympiad.OlympiadGameManager;
- @@ -46,6 +47,15 @@
- return;
- }
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (activeChar.isPVEMode())
- + {
- + activeChar.sendMessage("Desactiva El PVE MODE");
- + return;
- + }
- + }
- +
- int i = 0;
- final StringBuilder sb = new StringBuilder(1500);
- diff --git src/l2jwins/game/network/clientpackets/RequestOlympiadObserverEnd.java src/l2jwins/game/network/clientpackets/RequestOlympiadObserverEnd.java
- index 14201b7..f94a4be 100644
- --- src/l2jwins/game/network/clientpackets/RequestOlympiadObserverEnd.java
- +++ src/l2jwins/game/network/clientpackets/RequestOlympiadObserverEnd.java
- @@ -20,6 +20,7 @@
- */
- package l2jwins.game.network.clientpackets;
- +import l2jwins.Config;
- import l2jwins.game.model.actor.instance.L2PcInstance;
- import l2jwins.game.network.PacketClient;
- @@ -39,6 +40,15 @@
- return;
- }
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (activeChar.isPVEMode())
- + {
- + activeChar.sendMessage("Desactiva El PVE MODE");
- + return;
- + }
- + }
- +
- if (activeChar.inObserverMode())
- {
- activeChar.leaveOlympiadObserverMode();
- diff --git src/l2jwins/game/network/clientpackets/RequestStartPledgeWar.java src/l2jwins/game/network/clientpackets/RequestStartPledgeWar.java
- index 68b6a38..2c9642f 100644
- --- src/l2jwins/game/network/clientpackets/RequestStartPledgeWar.java
- +++ src/l2jwins/game/network/clientpackets/RequestStartPledgeWar.java
- @@ -70,6 +70,15 @@
- return;
- }
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (player.isPVEMode())
- + {
- + player.sendMessage("Desactiva El PVE MODE");
- + return;
- + }
- + }
- +
- final L2Clan clan = ClanTable.getInstance().getClanByName(_pledgeName);
- if (clan == null)
- {
- diff --git src/l2jwins/game/network/clientpackets/RequestStopPledgeWar.java src/l2jwins/game/network/clientpackets/RequestStopPledgeWar.java
- index 3cda6f7..2827035 100644
- --- src/l2jwins/game/network/clientpackets/RequestStopPledgeWar.java
- +++ src/l2jwins/game/network/clientpackets/RequestStopPledgeWar.java
- @@ -19,6 +19,7 @@
- */
- package l2jwins.game.network.clientpackets;
- +import l2jwins.Config;
- import l2jwins.game.datatables.sql.ClanTable;
- import l2jwins.game.model.L2Clan;
- import l2jwins.game.model.L2World;
- @@ -61,6 +62,15 @@
- return;
- }
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (player.isPVEMode())
- + {
- + player.sendMessage("Desactiva El PVE MODE");
- + return;
- + }
- + }
- +
- if (!playerClan.isAtWarWith(clan.getClanId()))
- {
- player.sendMessage("You aren't at war with this clan.");
- diff --git src/l2jwins/game/network/clientpackets/RequestSurrenderPledgeWar.java src/l2jwins/game/network/clientpackets/RequestSurrenderPledgeWar.java
- index 70bb1c9..320e4b8 100644
- --- src/l2jwins/game/network/clientpackets/RequestSurrenderPledgeWar.java
- +++ src/l2jwins/game/network/clientpackets/RequestSurrenderPledgeWar.java
- @@ -19,6 +19,7 @@
- */
- package l2jwins.game.network.clientpackets;
- +import l2jwins.Config;
- import l2jwins.game.datatables.sql.ClanTable;
- import l2jwins.game.model.L2Clan;
- import l2jwins.game.model.actor.instance.L2PcInstance;
- @@ -48,11 +49,24 @@
- {
- _activeChar = getClient().getActiveChar();
- if (_activeChar == null)
- + {
- return;
- + }
- +
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (_activeChar.isPVEMode())
- + {
- + _activeChar.sendMessage("Desactiva El PVE MODE");
- + return;
- + }
- + }
- _clan = _activeChar.getClan();
- if (_clan == null)
- + {
- return;
- + }
- final L2Clan clan = ClanTable.getInstance().getClanByName(_pledgeName);
- if (clan == null)
- diff --git src/l2jwins/game/network/serverpackets/CharInfo.java src/l2jwins/game/network/serverpackets/CharInfo.java
- index 1b85818..dadf1f4 100644
- --- src/l2jwins/game/network/serverpackets/CharInfo.java
- +++ src/l2jwins/game/network/serverpackets/CharInfo.java
- @@ -74,10 +74,8 @@
- _swimWalkSpd = _flWalkSpd = _flyWalkSpd = _walkSpd;
- _maxCp = player.getMaxCp();
- - if (!hideInfo())
- + if (!GameModeInfo())
- {
- - _name = player.getName();
- -
- if (player.getAppearance().getInvisible())
- {
- _title = "Invisible";
- @@ -87,9 +85,19 @@
- _title = _activeChar.getTitle();
- }
- + _titleColor = player.getAppearance().getTitleColor();
- + }
- + else
- + {
- + _title = "PVE MODE";
- + _titleColor = 0x00FFFF;
- + }
- +
- + if (!hideInfo())
- + {
- + _name = player.getName();
- _nameColor = player.getAppearance().getNameColor();
- - _titleColor = player.getAppearance().getTitleColor();
- _clanId = player.getClanId();
- _clanCrestId = player.getClanCrestId();
- _allyId = player.getAllyId();
- @@ -98,9 +106,8 @@
- else
- {
- _name = Config.PLAYER_FAKE_NAME;
- - _title = "";
- +
- _nameColor = 0xFFFFFF;
- - _titleColor = 0xFFFF77;
- _clanId = 0;
- _clanCrestId = 0;
- _allyId = 0;
- @@ -511,6 +518,18 @@
- return false;
- }
- + public boolean GameModeInfo()
- + {
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (_activeChar.isPVEMode())
- + {
- + return true;
- + }
- + }
- + return false;
- + }
- +
- @Override
- public String getType()
- {
- diff --git src/l2jwins/game/network/serverpackets/UserInfo.java src/l2jwins/game/network/serverpackets/UserInfo.java
- index e0a682f..ca47b8b 100644
- --- src/l2jwins/game/network/serverpackets/UserInfo.java
- +++ src/l2jwins/game/network/serverpackets/UserInfo.java
- @@ -29,6 +29,9 @@
- private int _flyWalkSpd;
- private int _relation;
- private float _moveMultiplier;
- + private String _title;
- +
- + private int _titleColor;
- // Your own character info
- public UserInfo(L2PcInstance character)
- @@ -52,6 +55,26 @@
- _walkSpd = (int) (_activeChar.getWalkSpeed() / _moveMultiplier);
- _swimRunSpd = _flRunSpd = _flyRunSpd = _runSpd;
- _swimWalkSpd = _flWalkSpd = _flyWalkSpd = _walkSpd;
- +
- + if (!GameModeInfo())
- + {
- + if (character.getAppearance().getInvisible())
- + {
- + _title = "Invisible";
- + }
- + else
- + {
- +
- + _title = _activeChar.getTitle();
- + }
- + _titleColor = character.getAppearance().getTitleColor();
- + }
- + else
- + {
- + _title = "PVE MODE";
- + _titleColor = 0x00FFFF;
- + }
- +
- }
- @Override
- @@ -379,20 +402,15 @@
- writeD(_activeChar.getAppearance().getFace());
- writeD(_activeChar.isGM() ? 1 : 0); // builder level
- - String title = _activeChar.getTitle();
- - if (_activeChar.getAppearance().getInvisible() && _activeChar.isGM())
- - {
- - title = "Invisible";
- - }
- if (_activeChar.getPoly().isMorphed())
- {
- final L2NpcTemplate polyObj = NpcTable.getInstance().getTemplate(_activeChar.getPoly().getPolyId());
- if (polyObj != null)
- {
- - title += " - " + polyObj.name;
- + _title += " - " + polyObj.name;
- }
- }
- - writeS(title);
- + writeS(_title);
- writeD(_activeChar.getClanId());
- writeD(_activeChar.getClanCrestId());
- @@ -461,7 +479,7 @@
- writeD(_activeChar.getPledgeClass()); // changes the text above CP on Status Window
- writeD(_activeChar.getPledgeType());
- - writeD(_activeChar.getAppearance().getTitleColor());
- + writeD(_titleColor);
- if (_activeChar.isCursedWeaponEquiped())
- {
- @@ -515,6 +533,18 @@
- return false;
- }
- + public boolean GameModeInfo()
- + {
- + if (Config.GAME_MODE_ENABLE)
- + {
- + if (_activeChar.isPVEMode())
- + {
- + return true;
- + }
- + }
- + return false;
- + }
- +
- @Override
- public String getType()
- {
Add Comment
Please, Sign In to add comment