Avoid packet flood from class change.

This commit is contained in:
MobiusDevelopment 2021-12-28 01:38:52 +00:00
parent 744c8ba9e5
commit bfb606730d
42 changed files with 840 additions and 378 deletions

View File

@ -2482,6 +2482,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9575,6 +9577,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9671,6 +9675,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9942,6 +9948,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2484,6 +2484,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9578,6 +9580,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9674,6 +9678,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9945,6 +9951,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2486,6 +2486,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9580,6 +9582,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9676,6 +9680,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9947,6 +9953,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2494,6 +2494,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9571,6 +9573,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9667,6 +9671,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9938,6 +9944,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2523,6 +2523,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9595,6 +9597,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9691,6 +9695,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9962,6 +9968,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2523,6 +2523,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9595,6 +9597,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9691,6 +9695,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9962,6 +9968,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2523,6 +2523,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9601,6 +9603,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9697,6 +9701,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9968,6 +9974,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2459,6 +2459,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9616,6 +9618,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9712,6 +9716,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9990,6 +9996,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2490,6 +2490,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9718,6 +9720,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9814,6 +9818,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -10092,6 +10098,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2507,6 +2507,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9744,6 +9746,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9840,6 +9844,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -10118,6 +10124,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2509,6 +2509,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9794,6 +9796,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9890,6 +9894,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -10168,6 +10174,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2449,6 +2449,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9477,6 +9479,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9573,6 +9577,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9844,6 +9850,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2449,6 +2449,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9477,6 +9479,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9573,6 +9577,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9844,6 +9850,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2447,6 +2447,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9463,6 +9465,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9559,6 +9563,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9830,6 +9836,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2461,6 +2461,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9490,6 +9492,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9586,6 +9590,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9857,6 +9863,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2461,6 +2461,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9490,6 +9492,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9586,6 +9590,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9857,6 +9863,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2387,6 +2387,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9444,6 +9446,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9540,6 +9544,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9813,6 +9819,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2446,6 +2446,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9465,6 +9467,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9561,6 +9565,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9832,6 +9838,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2464,6 +2464,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9609,6 +9611,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9705,6 +9709,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -9978,6 +9984,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2495,6 +2495,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9675,6 +9677,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9771,6 +9775,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -10044,6 +10050,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}

View File

@ -2495,6 +2495,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9675,6 +9677,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}
@ -9771,6 +9775,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
return addSubClass(newClassId, classIndex, isDualClass);
@ -10044,6 +10050,8 @@ public class Player extends Playable
{
_subclassLock = false;
getStat().recalculateStats(false);
updateAbnormalVisualEffects();
sendSkillList();
}
}

View File

@ -46,11 +46,16 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.clan.Clan;
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.ExUserInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
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.security.SecondaryPasswordAuth;
import org.l2jmobius.gameserver.util.FloodProtectors;
@ -222,27 +227,36 @@ public class GameClient extends ChannelInboundHandler<GameClient>
return;
}
// TODO: Set as parameter to packets used?
if (Config.MULTILANG_ENABLE && (_player != null))
if (_player != null)
{
final String lang = _player.getLang();
if ((lang != null) && !lang.equals("en"))
// Avoid flood from class change.
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);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
if (packet instanceof SystemMessage)
{
((SystemMessage) packet).setLang(lang);
}
else if (packet instanceof NpcSay)
{
((NpcSay) packet).setLang(lang);
}
else if (packet instanceof ExShowScreenMessage)
{
((ExShowScreenMessage) packet).setLang(lang);
}
else if (packet instanceof NpcInfo)
{
((NpcInfo) packet).setLang(lang);
}
}
}
}