Sync with L2JServer Jan 12th 2015.
This commit is contained in:
@@ -19,7 +19,6 @@
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.UserInfo;
|
||||
|
||||
/**
|
||||
@@ -55,7 +54,6 @@ public final class Appearing extends L2GameClientPacket
|
||||
}
|
||||
|
||||
sendPacket(new UserInfo(activeChar));
|
||||
sendPacket(new ExBrExtraUserInfo(activeChar));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -117,7 +117,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
{
|
||||
activeChar.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||
activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
||||
activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.ERROR, 0, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
{
|
||||
Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " use autoenchant program ", Config.DEFAULT_PUNISH);
|
||||
activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
||||
activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.ERROR, 0, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
activeChar.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT2);
|
||||
Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " tried to enchant with a scroll he doesn't have", Config.DEFAULT_PUNISH);
|
||||
activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
||||
activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.ERROR, 0, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
activeChar.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT2);
|
||||
Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " tried to enchant with a support item he doesn't have", Config.DEFAULT_PUNISH);
|
||||
activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
||||
activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.ERROR, 0, 0));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -163,7 +163,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
{
|
||||
activeChar.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||
activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
||||
activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.ERROR, 0, 0));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
{
|
||||
activeChar.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||
activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
||||
activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.ERROR, 0, 0));
|
||||
break;
|
||||
}
|
||||
case SUCCESS:
|
||||
@@ -187,7 +187,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
item.setEnchantLevel(item.getEnchantLevel() + 1);
|
||||
item.updateDatabase();
|
||||
}
|
||||
activeChar.sendPacket(new EnchantResult(0, 0, 0, item.getEnchantLevel()));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.SUCCESS, item));
|
||||
|
||||
if (Config.LOG_ITEM_ENCHANTS)
|
||||
{
|
||||
@@ -239,7 +239,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
{
|
||||
// safe enchant - remain old value
|
||||
activeChar.sendPacket(SystemMessageId.ENCHANT_FAILED_THE_ENCHANT_SKILL_FOR_THE_CORRESPONDING_ITEM_WILL_BE_EXACTLY_RETAINED);
|
||||
activeChar.sendPacket(new EnchantResult(5, 0, 0, item.getEnchantLevel()));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.SAFE_FAIL, item));
|
||||
|
||||
if (Config.LOG_ITEM_ENCHANTS)
|
||||
{
|
||||
@@ -291,7 +291,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
|
||||
item.setEnchantLevel(0);
|
||||
item.updateDatabase();
|
||||
activeChar.sendPacket(new EnchantResult(3, 0, 0));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.BLESSED_FAIL, 0, 0));
|
||||
|
||||
if (Config.LOG_ITEM_ENCHANTS)
|
||||
{
|
||||
@@ -323,7 +323,7 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
// unable to destroy item, cheater ?
|
||||
Util.handleIllegalPlayerAction(activeChar, "Unable to delete item on enchant failure from player " + activeChar.getName() + ", possible cheater !", Config.DEFAULT_PUNISH);
|
||||
activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
||||
activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.ERROR, 0, 0));
|
||||
|
||||
if (Config.LOG_ITEM_ENCHANTS)
|
||||
{
|
||||
@@ -363,11 +363,11 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
||||
|
||||
if (crystalId == 0)
|
||||
{
|
||||
activeChar.sendPacket(new EnchantResult(4, 0, 0));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.NO_CRYSTAL, 0, 0));
|
||||
}
|
||||
else
|
||||
{
|
||||
activeChar.sendPacket(new EnchantResult(1, crystalId, count));
|
||||
activeChar.sendPacket(new EnchantResult(EnchantResult.FAIL, crystalId, count));
|
||||
}
|
||||
|
||||
if (Config.LOG_ITEM_ENCHANTS)
|
||||
|
||||
@@ -32,7 +32,6 @@ import com.l2jserver.gameserver.model.itemcontainer.Inventory;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillInfoDetail;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillResult;
|
||||
@@ -196,7 +195,6 @@ public final class RequestExEnchantSkill extends L2GameClientPacket
|
||||
}
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
player.sendPacket(new ExBrExtraUserInfo(player));
|
||||
player.sendSkillList();
|
||||
final int afterEnchantSkillLevel = player.getSkillLevel(_skillId);
|
||||
player.sendPacket(new ExEnchantSkillInfo(_skillId, afterEnchantSkillLevel));
|
||||
|
||||
@@ -32,7 +32,6 @@ import com.l2jserver.gameserver.model.itemcontainer.Inventory;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillInfoDetail;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillResult;
|
||||
@@ -191,7 +190,6 @@ public final class RequestExEnchantSkillRouteChange extends L2GameClientPacket
|
||||
}
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
player.sendPacket(new ExBrExtraUserInfo(player));
|
||||
|
||||
if (levelPenalty == 0)
|
||||
{
|
||||
|
||||
@@ -32,7 +32,6 @@ import com.l2jserver.gameserver.model.itemcontainer.Inventory;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillInfoDetail;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillResult;
|
||||
@@ -196,7 +195,6 @@ public final class RequestExEnchantSkillSafe extends L2GameClientPacket
|
||||
}
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
player.sendPacket(new ExBrExtraUserInfo(player));
|
||||
player.sendSkillList();
|
||||
final int afterEnchantSkillLevel = player.getSkillLevel(_skillId);
|
||||
player.sendPacket(new ExEnchantSkillInfo(_skillId, afterEnchantSkillLevel));
|
||||
|
||||
@@ -32,7 +32,6 @@ import com.l2jserver.gameserver.model.itemcontainer.Inventory;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillInfoDetail;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExEnchantSkillResult;
|
||||
@@ -174,7 +173,6 @@ public final class RequestExEnchantSkillUntrain extends L2GameClientPacket
|
||||
}
|
||||
|
||||
player.sendPacket(new UserInfo(player));
|
||||
player.sendPacket(new ExBrExtraUserInfo(player));
|
||||
|
||||
if (_skillLvl > 100)
|
||||
{
|
||||
|
||||
@@ -52,13 +52,13 @@ public final class RequestExPledgeCrestLarge extends L2GameClientPacket
|
||||
{
|
||||
final byte[] fullChunk = new byte[14336];
|
||||
System.arraycopy(data, (14336 * i), fullChunk, 0, 14336);
|
||||
sendPacket(new ExPledgeEmblem(_crestId, fullChunk, _clanId, i, 14336));
|
||||
sendPacket(new ExPledgeEmblem(_crestId, fullChunk, _clanId, i));
|
||||
}
|
||||
else
|
||||
{
|
||||
final byte[] lastChunk = new byte[8320];
|
||||
System.arraycopy(data, (14336 * i), lastChunk, 0, 8320);
|
||||
sendPacket(new ExPledgeEmblem(_crestId, lastChunk, _clanId, i, 8320));
|
||||
sendPacket(new ExPledgeEmblem(_crestId, lastChunk, _clanId, i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public class RequestExRemoveEnchantSupportItem extends L2GameClientPacket
|
||||
|
||||
if ((supportItem == null) || (supportItem.getCount() < 1))
|
||||
{
|
||||
activeChar.sendPacket(new ExRemoveEnchantSupportItemResult());
|
||||
activeChar.sendPacket(ExRemoveEnchantSupportItemResult.STATIC_PACKET);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ package com.l2jserver.gameserver.network.clientpackets;
|
||||
|
||||
import com.l2jserver.gameserver.network.L2GameClient;
|
||||
import com.l2jserver.gameserver.network.serverpackets.CharSelectionInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExLoginVitalityEffectInfo;
|
||||
|
||||
/**
|
||||
* (ch)
|
||||
@@ -39,6 +40,7 @@ public class RequestGotoLobby extends L2GameClientPacket
|
||||
protected void runImpl()
|
||||
{
|
||||
L2GameClient client = getClient();
|
||||
client.sendPacket(new ExLoginVitalityEffectInfo(client));
|
||||
client.sendPacket(new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1));
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.l2jserver.gameserver.datatables.SkillData;
|
||||
import com.l2jserver.gameserver.datatables.SkillTreesData;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.effects.L2EffectType;
|
||||
import com.l2jserver.gameserver.model.skills.CommonSkill;
|
||||
import com.l2jserver.gameserver.model.skills.Skill;
|
||||
import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
@@ -63,7 +64,7 @@ public final class RequestMagicSkillUse extends L2GameClientPacket
|
||||
skill = activeChar.getCustomSkill(_magicId);
|
||||
if (skill == null)
|
||||
{
|
||||
if (SkillTreesData.getInstance().isSubClassChangeSkill(_magicId, 1))
|
||||
if ((_magicId == CommonSkill.HAIR_ACCESSORY_SET.getId()) || SkillTreesData.getInstance().isSubClassChangeSkill(_magicId, 1))
|
||||
{
|
||||
skill = SkillData.getInstance().getSkill(_magicId, 1);
|
||||
}
|
||||
|
||||
@@ -80,9 +80,9 @@ public class RequestPledgeRecruitBoardAccess extends L2GameClientPacket
|
||||
ClanEntryManager.getInstance().removeFromClanList(clan.getId());
|
||||
break;
|
||||
}
|
||||
case 1: // update
|
||||
case 1: // add
|
||||
{
|
||||
if (ClanEntryManager.getInstance().updateClanList(clan.getId(), pledgeRecruitInfo))
|
||||
if (ClanEntryManager.getInstance().addToClanList(clan.getId(), pledgeRecruitInfo))
|
||||
{
|
||||
activeChar.sendPacket(SystemMessageId.ENTRY_APPLICATION_COMPLETE_USE_ENTRY_APPLICATION_INFO_TO_CHECK_OR_CANCEL_YOUR_APPLICATION_APPLICATION_IS_AUTOMATICALLY_CANCELLED_AFTER_30_DAYS_IF_YOU_CANCEL_APPLICATION_YOU_CANNOT_APPLY_AGAIN_FOR_5_MINUTES);
|
||||
}
|
||||
@@ -94,9 +94,9 @@ public class RequestPledgeRecruitBoardAccess extends L2GameClientPacket
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: // add
|
||||
case 2: // update
|
||||
{
|
||||
if (ClanEntryManager.getInstance().addToClanList(clan.getId(), pledgeRecruitInfo))
|
||||
if (ClanEntryManager.getInstance().updateClanList(clan.getId(), pledgeRecruitInfo))
|
||||
{
|
||||
activeChar.sendPacket(SystemMessageId.ENTRY_APPLICATION_COMPLETE_USE_ENTRY_APPLICATION_INFO_TO_CHECK_OR_CANCEL_YOUR_APPLICATION_APPLICATION_IS_AUTOMATICALLY_CANCELLED_AFTER_30_DAYS_IF_YOU_CANCEL_APPLICATION_YOU_CANNOT_APPLY_AGAIN_FOR_5_MINUTES);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import java.util.Collection;
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SpawnItem;
|
||||
import com.l2jserver.gameserver.network.serverpackets.UserInfo;
|
||||
|
||||
@@ -47,7 +46,6 @@ public class RequestRecordInfo extends L2GameClientPacket
|
||||
}
|
||||
|
||||
activeChar.sendPacket(new UserInfo(activeChar));
|
||||
activeChar.sendPacket(new ExBrExtraUserInfo(activeChar));
|
||||
|
||||
Collection<L2Object> objs = activeChar.getKnownList().getKnownObjects().values();
|
||||
for (L2Object object : objs)
|
||||
|
||||
@@ -21,7 +21,6 @@ package com.l2jserver.gameserver.network.clientpackets;
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExVoteSystemInfo;
|
||||
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.UserInfo;
|
||||
@@ -99,7 +98,6 @@ public final class RequestVoteNew extends L2GameClientPacket
|
||||
target.sendPacket(sm);
|
||||
|
||||
activeChar.sendPacket(new UserInfo(activeChar));
|
||||
sendPacket(new ExBrExtraUserInfo(activeChar));
|
||||
target.broadcastUserInfo();
|
||||
|
||||
activeChar.sendPacket(new ExVoteSystemInfo(activeChar));
|
||||
|
||||
@@ -18,12 +18,9 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.serverpackets;
|
||||
|
||||
import com.l2jserver.gameserver.model.PcCondOverride;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2TrapInstance;
|
||||
import com.l2jserver.gameserver.model.skills.AbnormalVisualEffect;
|
||||
import com.l2jserver.gameserver.model.zone.ZoneId;
|
||||
|
||||
public abstract class AbstractNpcInfo extends L2GameServerPacket
|
||||
@@ -125,7 +122,7 @@ public abstract class AbstractNpcInfo extends L2GameServerPacket
|
||||
writeD(_trap.getPvpFlag());
|
||||
writeD(_trap.getKarma());
|
||||
|
||||
writeD(_trap.isInvisible() ? _trap.getAbnormalVisualEffects() | AbnormalVisualEffect.STEALTH.getMask() : _trap.getAbnormalVisualEffects());
|
||||
writeD(0); // was AVE and was adding stealth
|
||||
writeD(0x00); // clan id
|
||||
writeD(0x00); // crest id
|
||||
writeD(0000); // C2
|
||||
@@ -178,16 +175,6 @@ public abstract class AbstractNpcInfo extends L2GameServerPacket
|
||||
@Override
|
||||
protected void writeImpl()
|
||||
{
|
||||
boolean gmSeeInvis = false;
|
||||
if (isInvisible())
|
||||
{
|
||||
final L2PcInstance activeChar = getClient().getActiveChar();
|
||||
if ((activeChar != null) && activeChar.canOverrideCond(PcCondOverride.SEE_ALL_PLAYERS))
|
||||
{
|
||||
gmSeeInvis = true;
|
||||
}
|
||||
}
|
||||
|
||||
writeC(0x0c);
|
||||
writeD(_summon.getObjectId());
|
||||
writeD(_idTemplate + 1000000); // npctype id
|
||||
@@ -228,7 +215,7 @@ public abstract class AbstractNpcInfo extends L2GameServerPacket
|
||||
writeD(_summon.getPvpFlag());
|
||||
writeD(_summon.getKarma());
|
||||
|
||||
writeD(gmSeeInvis ? _summon.getAbnormalVisualEffects() | AbnormalVisualEffect.STEALTH.getMask() : _summon.getAbnormalVisualEffects());
|
||||
writeD(0); // was AVE and was adding stealth
|
||||
|
||||
writeD(0x00); // clan id
|
||||
writeD(0x00); // crest id
|
||||
@@ -246,7 +233,7 @@ public abstract class AbstractNpcInfo extends L2GameServerPacket
|
||||
writeD(_form); // CT1.5 Pet form and skills
|
||||
writeC(0x01);
|
||||
writeC(0x01);
|
||||
writeD(_summon.getAbnormalVisualEffectSpecial());
|
||||
// writeD(_summon.getAbnormalVisualEffectSpecial());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,12 +18,15 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager;
|
||||
import com.l2jserver.gameserver.model.PcCondOverride;
|
||||
import com.l2jserver.gameserver.model.actor.L2Decoy;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.itemcontainer.Inventory;
|
||||
import com.l2jserver.gameserver.model.skills.AbnormalVisualEffect;
|
||||
import com.l2jserver.gameserver.model.zone.ZoneId;
|
||||
|
||||
public class CharInfo extends L2GameServerPacket
|
||||
@@ -252,10 +255,11 @@ public class CharInfo extends L2GameServerPacket
|
||||
writeD((int) Math.round(_activeChar.getCurrentMp())); // Confirmed
|
||||
|
||||
writeC(0x00); // TODO: Find me!
|
||||
writeD(_activeChar.getAbnormalVisualEffectsList().size()); // Confirmed
|
||||
for (int abnormalId : _activeChar.getAbnormalVisualEffectsList())
|
||||
final Set<AbnormalVisualEffect> abnormalVisualEffects = _activeChar.getCurrentAbnormalVisualEffects();
|
||||
writeD(abnormalVisualEffects.size()); // Confirmed
|
||||
for (AbnormalVisualEffect abnormalVisualEffect : abnormalVisualEffects)
|
||||
{
|
||||
writeH(abnormalId); // Confirmed
|
||||
writeH(abnormalVisualEffect.getClientId()); // Confirmed
|
||||
}
|
||||
writeC(0x00); // TODO: Find me!
|
||||
writeC(_activeChar.isHairAccessoryEnabled() ? 0x01 : 0x00); // Hair accessory
|
||||
|
||||
@@ -62,9 +62,8 @@ public class CharSelected extends L2GameServerPacket
|
||||
writeD(_activeChar.getKarma()); // thx evill33t
|
||||
writeD(_activeChar.getPkKills());
|
||||
writeD(GameTimeController.getInstance().getGameTime() % (24 * 60)); // "reset" on 24th hour
|
||||
writeD(_activeChar.getClassId().getId());
|
||||
|
||||
writeD(0x00);
|
||||
writeD(_activeChar.getClassId().getId());
|
||||
|
||||
writeB(new byte[16]);
|
||||
|
||||
|
||||
@@ -18,24 +18,39 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.serverpackets;
|
||||
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
|
||||
public class EnchantResult extends L2GameServerPacket
|
||||
{
|
||||
public static int SUCCESS = 0;
|
||||
public static int FAIL = 1;
|
||||
public static int ERROR = 2;
|
||||
public static int BLESSED_FAIL = 3;
|
||||
public static int NO_CRYSTAL = 4;
|
||||
public static int SAFE_FAIL = 5;
|
||||
private final int _result;
|
||||
private final int _crystal;
|
||||
private final int _count;
|
||||
private final int _enchantLevel;
|
||||
private final int[] _enchantOptions;
|
||||
|
||||
public EnchantResult(int result, int crystal, int count)
|
||||
{
|
||||
this(result, crystal, count, 0);
|
||||
}
|
||||
|
||||
public EnchantResult(int result, int crystal, int count, int enchantLevel)
|
||||
public EnchantResult(int result, int crystal, int count, int enchantLevel, int[] options)
|
||||
{
|
||||
_result = result;
|
||||
_crystal = crystal;
|
||||
_count = count;
|
||||
_enchantLevel = enchantLevel;
|
||||
_enchantOptions = options;
|
||||
}
|
||||
|
||||
public EnchantResult(int result, int crystal, int count)
|
||||
{
|
||||
this(result, crystal, count, 0, L2ItemInstance.DEFAULT_ENCHANT_OPTIONS);
|
||||
}
|
||||
|
||||
public EnchantResult(int result, L2ItemInstance item)
|
||||
{
|
||||
this(result, 0, 0, 0, item.getEnchantOptions());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -46,8 +61,9 @@ public class EnchantResult extends L2GameServerPacket
|
||||
writeD(_crystal);
|
||||
writeQ(_count);
|
||||
writeD(_enchantLevel);
|
||||
writeH(0x00);
|
||||
writeH(0x00);
|
||||
writeH(0x00);
|
||||
for (int option : _enchantOptions)
|
||||
{
|
||||
writeH(option);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,53 +1,53 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J Server
|
||||
*
|
||||
*
|
||||
* This file is part of L2J Server.
|
||||
*
|
||||
*
|
||||
* L2J Server is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* L2J Server is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.serverpackets;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.model.actor.stat.PcStat;
|
||||
import com.l2jserver.gameserver.model.variables.AccountVariables;
|
||||
import com.l2jserver.gameserver.network.L2GameClient;
|
||||
|
||||
/**
|
||||
* ExBrExtraUserInfo server packet implementation.
|
||||
* @author Kerberos, Zoey76
|
||||
* @author Sdw
|
||||
*/
|
||||
public class ExBrExtraUserInfo extends L2GameServerPacket
|
||||
public class ExLoginVitalityEffectInfo extends L2GameServerPacket
|
||||
{
|
||||
/** Player object ID. */
|
||||
private final int _charObjId;
|
||||
/** Event abnormal visual effects map. */
|
||||
private final int _abnormalVisualEffectsEvent;
|
||||
/** Lecture mark. */
|
||||
private final int _lectureMark;
|
||||
private final int _points;
|
||||
|
||||
public ExBrExtraUserInfo(L2PcInstance player)
|
||||
public ExLoginVitalityEffectInfo(L2GameClient client)
|
||||
{
|
||||
_charObjId = player.getObjectId();
|
||||
_abnormalVisualEffectsEvent = player.getAbnormalVisualEffectEvent();
|
||||
_lectureMark = 1; // TODO: Implement.
|
||||
setInvisible(player.isInvisible());
|
||||
final AccountVariables vars = new AccountVariables(client.getAccountName());
|
||||
_points = vars.getInt(PcStat.VITALITY_VARIABLE, Config.STARTING_VITALITY_POINTS);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected final void writeImpl()
|
||||
{
|
||||
writeC(0xFE);
|
||||
writeH(0xDB);
|
||||
writeD(_charObjId);
|
||||
writeD(_abnormalVisualEffectsEvent);
|
||||
writeC(_lectureMark);
|
||||
writeH(0x119);
|
||||
|
||||
writeD((int) (Config.RATE_VITALITY_EXP_MULTIPLIER * 100));
|
||||
writeD(5); // Remaining item counts
|
||||
|
||||
writeD(_points);
|
||||
writeD(0);
|
||||
writeD(0);
|
||||
writeD(0);
|
||||
}
|
||||
}
|
||||
@@ -29,16 +29,14 @@ public class ExPledgeEmblem extends L2GameServerPacket
|
||||
private final int _clanId;
|
||||
private final byte[] _data;
|
||||
private final int _chunkId;
|
||||
private final int _chunkSize;
|
||||
private static final int TOTAL_SIZE = 65664;
|
||||
|
||||
public ExPledgeEmblem(int crestId, byte[] chunkedData, int clanId, int chunkId, int chunkSize)
|
||||
public ExPledgeEmblem(int crestId, byte[] chunkedData, int clanId, int chunkId)
|
||||
{
|
||||
_crestId = crestId;
|
||||
_data = chunkedData;
|
||||
_clanId = clanId;
|
||||
_chunkId = chunkId;
|
||||
_chunkSize = chunkSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -51,7 +49,6 @@ public class ExPledgeEmblem extends L2GameServerPacket
|
||||
writeD(_crestId);
|
||||
writeD(_chunkId);
|
||||
writeD(TOTAL_SIZE);
|
||||
writeD(_chunkSize);
|
||||
if (_data != null)
|
||||
{
|
||||
writeD(_data.length);
|
||||
|
||||
@@ -23,6 +23,8 @@ package com.l2jserver.gameserver.network.serverpackets;
|
||||
*/
|
||||
public class ExRemoveEnchantSupportItemResult extends L2GameServerPacket
|
||||
{
|
||||
public static final ExRemoveEnchantSupportItemResult STATIC_PACKET = new ExRemoveEnchantSupportItemResult();
|
||||
|
||||
public ExRemoveEnchantSupportItemResult()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -18,7 +18,10 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.skills.AbnormalVisualEffect;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
@@ -40,11 +43,12 @@ public class ExUserInfoAbnormalVisualEffect extends L2GameServerPacket
|
||||
|
||||
writeD(_activeChar.getObjectId());
|
||||
writeD(_activeChar.getTransformationId());
|
||||
writeD(_activeChar.getAbnormalVisualEffectsList().size());
|
||||
|
||||
for (int abnormalVisualEffectId : _activeChar.getAbnormalVisualEffectsList())
|
||||
final Set<AbnormalVisualEffect> abnormalVisualEffects = _activeChar.getCurrentAbnormalVisualEffects();
|
||||
writeD(abnormalVisualEffects.size());
|
||||
for (AbnormalVisualEffect abnormalVisualEffect : abnormalVisualEffects)
|
||||
{
|
||||
writeH(abnormalVisualEffectId);
|
||||
writeH(abnormalVisualEffect.getClientId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,8 +55,8 @@ public final class HennaInfo extends L2GameServerPacket
|
||||
writeC(_activeChar.getHennaStatMEN()); // equip MEN
|
||||
writeC(_activeChar.getHennaStatDEX()); // equip DEX
|
||||
writeC(_activeChar.getHennaStatWIT()); // equip WIT
|
||||
writeC(0x00); // equip LUC
|
||||
writeC(0x00); // equip CHA
|
||||
writeC(_activeChar.getHennaStatLUC()); // equip LUC
|
||||
writeC(_activeChar.getHennaStatCHA()); // equip CHA
|
||||
writeD(3 - _activeChar.getHennaEmptySlots()); // Slots
|
||||
writeD(_hennas.size()); // Size
|
||||
for (L2Henna henna : _hennas)
|
||||
|
||||
@@ -57,10 +57,10 @@ public class HennaItemDrawInfo extends L2GameServerPacket
|
||||
writeC(_activeChar.getDEX() + _henna.getStatDEX()); // equip DEX
|
||||
writeD(_activeChar.getWIT()); // current WIT
|
||||
writeC(_activeChar.getWIT() + _henna.getStatWIT()); // equip WIT
|
||||
writeD(0x00); // current LUC
|
||||
writeC(0x00); // equip LUC
|
||||
writeD(0x00); // current CHA
|
||||
writeC(0x00); // equip CHA
|
||||
writeD(_activeChar.getLUC()); // current LUC
|
||||
writeC(_activeChar.getLUC() + _henna.getStatLUC()); // equip LUC
|
||||
writeD(_activeChar.getCHA()); // current CHA
|
||||
writeC(_activeChar.getCHA() + _henna.getStatCHA()); // equip CHA
|
||||
writeD(0x00); // TODO: Find me!
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,10 +57,10 @@ public final class HennaItemRemoveInfo extends L2GameServerPacket
|
||||
writeC(_activeChar.getDEX() - _henna.getStatDEX()); // equip DEX
|
||||
writeD(_activeChar.getWIT()); // current WIT
|
||||
writeC(_activeChar.getWIT() - _henna.getStatWIT()); // equip WIT
|
||||
writeD(0x00); // current LUC
|
||||
writeC(0x00); // equip LUC
|
||||
writeD(0x00); // current CHA
|
||||
writeC(0x00); // equip CHA
|
||||
writeD(_activeChar.getLUC()); // current LUC
|
||||
writeC(_activeChar.getLUC() - _henna.getStatLUC()); // equip LUC
|
||||
writeD(_activeChar.getCHA()); // current CHA
|
||||
writeC(_activeChar.getCHA() - _henna.getStatCHA()); // equip CHA
|
||||
writeD(0x00);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.l2jserver.gameserver.instancemanager.TownManager;
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2GuardInstance;
|
||||
import com.l2jserver.gameserver.model.skills.AbnormalVisualEffect;
|
||||
import com.l2jserver.gameserver.model.zone.ZoneId;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
|
||||
(byte) 0x0C,
|
||||
(byte) 0x0C,
|
||||
(byte) 0x00,
|
||||
(byte) 0x04
|
||||
(byte) 0x00
|
||||
};
|
||||
|
||||
private int _initSize = 0;
|
||||
@@ -54,10 +55,12 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
|
||||
private int _allyId = 0;
|
||||
private int _clanId = 0;
|
||||
private int _statusMask = 0;
|
||||
private final Set<AbnormalVisualEffect> _abnormalVisualEffects;
|
||||
|
||||
public NpcInfo(L2Npc npc)
|
||||
{
|
||||
_npc = npc;
|
||||
_abnormalVisualEffects = npc.getCurrentAbnormalVisualEffects();
|
||||
|
||||
if (npc.getTemplate().getDisplayId() != npc.getTemplate().getId())
|
||||
{
|
||||
@@ -131,7 +134,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
|
||||
addComponentType(NpcInfoType.NAME);
|
||||
}
|
||||
|
||||
if (!npc.getAbnormalVisualEffectsList().isEmpty())
|
||||
if (!_abnormalVisualEffects.isEmpty())
|
||||
{
|
||||
addComponentType(NpcInfoType.ABNORMALS);
|
||||
}
|
||||
@@ -182,8 +185,10 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
|
||||
_statusMask |= 0x08;
|
||||
}
|
||||
|
||||
// Add one byte.
|
||||
_blockSize++;
|
||||
if (_statusMask != 0)
|
||||
{
|
||||
addComponentType(NpcInfoType.VISUAL_STATE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -382,15 +387,17 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
|
||||
writeD(_allyCrest);
|
||||
}
|
||||
|
||||
writeC(_statusMask);
|
||||
if (containsMask(NpcInfoType.VISUAL_STATE))
|
||||
{
|
||||
writeC(_statusMask);
|
||||
}
|
||||
|
||||
if (containsMask(NpcInfoType.ABNORMALS))
|
||||
{
|
||||
final Set<Integer> visualEffects = _npc.getAbnormalVisualEffectsList();
|
||||
writeH(visualEffects.size());
|
||||
for (int visualEffect : visualEffects)
|
||||
writeH(_abnormalVisualEffects.size());
|
||||
for (AbnormalVisualEffect abnormalVisualEffect : _abnormalVisualEffects)
|
||||
{
|
||||
writeH(visualEffect);
|
||||
writeH(abnormalVisualEffect.getClientId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,9 +18,12 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2ServitorInstance;
|
||||
import com.l2jserver.gameserver.model.skills.AbnormalVisualEffect;
|
||||
|
||||
public class PetInfo extends L2GameServerPacket
|
||||
{
|
||||
@@ -160,12 +163,13 @@ public class PetInfo extends L2GameServerPacket
|
||||
writeC(0x00); // Used Summon Points
|
||||
writeC(0x00); // Maximum Summon Points
|
||||
|
||||
writeH(_summon.getAbnormalVisualEffectsList().size()); // Confirmed
|
||||
for (int abnormalId : _summon.getAbnormalVisualEffectsList())
|
||||
final Set<AbnormalVisualEffect> aves = _summon.getCurrentAbnormalVisualEffects();
|
||||
writeH(aves.size()); // Confirmed
|
||||
for (AbnormalVisualEffect ave : aves)
|
||||
{
|
||||
writeH(abnormalId); // Confirmed
|
||||
writeH(ave.getClientId()); // Confirmed
|
||||
}
|
||||
|
||||
writeC(0x00); // TODO: Find me
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user