Avoid packet flood from class change.
This commit is contained in:
@@ -2482,6 +2482,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9575,6 +9577,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9671,6 +9675,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9942,6 +9948,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2484,6 +2484,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9578,6 +9580,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9674,6 +9678,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9945,6 +9951,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2486,6 +2486,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9580,6 +9582,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9676,6 +9680,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9947,6 +9953,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2494,6 +2494,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9571,6 +9573,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9667,6 +9671,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9938,6 +9944,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2523,6 +2523,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9595,6 +9597,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9691,6 +9695,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9962,6 +9968,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2523,6 +2523,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9595,6 +9597,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9691,6 +9695,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9962,6 +9968,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2523,6 +2523,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9601,6 +9603,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9697,6 +9701,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9968,6 +9974,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2459,6 +2459,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9616,6 +9618,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9712,6 +9716,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9990,6 +9996,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2490,6 +2490,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9718,6 +9720,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9814,6 +9818,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -10092,6 +10098,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -2507,6 +2507,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9744,6 +9746,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9840,6 +9844,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -10118,6 +10124,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2509,6 +2509,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9794,6 +9796,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9890,6 +9894,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -10168,6 +10174,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2449,6 +2449,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9477,6 +9479,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9573,6 +9577,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9844,6 +9850,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2449,6 +2449,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9477,6 +9479,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9573,6 +9577,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9844,6 +9850,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2447,6 +2447,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9463,6 +9465,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9559,6 +9563,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9830,6 +9836,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -2461,6 +2461,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9490,6 +9492,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9586,6 +9590,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9857,6 +9863,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -2461,6 +2461,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9490,6 +9492,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9586,6 +9590,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9857,6 +9863,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2387,6 +2387,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9444,6 +9446,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9540,6 +9544,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9813,6 +9819,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2446,6 +2446,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9465,6 +9467,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9561,6 +9565,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9832,6 +9838,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -2464,6 +2464,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9609,6 +9611,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9705,6 +9709,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -9978,6 +9984,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2495,6 +2495,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9675,6 +9677,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9771,6 +9775,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -10044,6 +10050,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -2495,6 +2495,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9675,6 +9677,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9771,6 +9775,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return addSubClass(newClassId, classIndex, isDualClass);
|
return addSubClass(newClassId, classIndex, isDualClass);
|
||||||
@@ -10044,6 +10050,8 @@ public class Player extends Playable
|
|||||||
{
|
{
|
||||||
_subclassLock = false;
|
_subclassLock = false;
|
||||||
getStat().recalculateStats(false);
|
getStat().recalculateStats(false);
|
||||||
|
updateAbnormalVisualEffects();
|
||||||
|
sendSkillList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-18
@@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||||
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
import org.l2jmobius.gameserver.model.holders.ClientHardwareInfoHolder;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoAbnormalVisualEffect;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SkillList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
import org.l2jmobius.gameserver.security.SecondaryPasswordAuth;
|
||||||
import org.l2jmobius.gameserver.util.FloodProtectors;
|
import org.l2jmobius.gameserver.util.FloodProtectors;
|
||||||
@@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Set as parameter to packets used?
|
if (_player != null)
|
||||||
if (Config.MULTILANG_ENABLE && (_player != null))
|
|
||||||
{
|
{
|
||||||
final String lang = _player.getLang();
|
// Avoid flood from class change.
|
||||||
if ((lang != null) && !lang.equals("en"))
|
if (_player.isChangingClass() && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
if (packet instanceof SystemMessage)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Set as parameter to packets used?
|
||||||
|
if (Config.MULTILANG_ENABLE)
|
||||||
|
{
|
||||||
|
final String lang = _player.getLang();
|
||||||
|
if ((lang != null) && !lang.equals("en"))
|
||||||
{
|
{
|
||||||
((SystemMessage) packet).setLang(lang);
|
if (packet instanceof SystemMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcSay)
|
((SystemMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcSay) packet).setLang(lang);
|
else if (packet instanceof NpcSay)
|
||||||
}
|
{
|
||||||
else if (packet instanceof ExShowScreenMessage)
|
((NpcSay) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((ExShowScreenMessage) packet).setLang(lang);
|
else if (packet instanceof ExShowScreenMessage)
|
||||||
}
|
{
|
||||||
else if (packet instanceof NpcInfo)
|
((ExShowScreenMessage) packet).setLang(lang);
|
||||||
{
|
}
|
||||||
((NpcInfo) packet).setLang(lang);
|
else if (packet instanceof NpcInfo)
|
||||||
|
{
|
||||||
|
((NpcInfo) packet).setLang(lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user