Initial changes.

This commit is contained in:
MobiusDevelopment 2022-10-20 21:42:01 +00:00
parent d9b0d3a5bb
commit c532b6a0b5
24 changed files with 413 additions and 249 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>L2J_Mobius_Essence_6.2_Vanguard</name>
<name>L2J_Mobius_Essence_6.3_Crusader</name>
<comment></comment>
<projects>
</projects>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<project name="L2J_Mobius_Essence_6.2_Vanguard" default="cleanup" basedir=".">
<project name="L2J_Mobius_Essence_6.3_Crusader" default="cleanup" basedir=".">
<description>
This file is part of the L2J Mobius project.
@ -134,15 +134,15 @@
</target>
<target name="adding-core" depends="jar" description="Adding the compiled jars to the Zip file.">
<zip destfile="${build}/L2J_Mobius_Essence_6.2_Vanguard.zip" basedir="${build.dist}" level="9" />
<zip destfile="${build}/L2J_Mobius_Essence_6.3_Crusader.zip" basedir="${build.dist}" level="9" />
</target>
<target name="adding-datapack" depends="adding-core" description="Updating the Zip file with datapack content.">
<zip destfile="${build}/L2J_Mobius_Essence_6.2_Vanguard.zip" basedir="${datapack}" excludes="**/*-sources.jar" update="true" level="9" />
<zip destfile="${build}/L2J_Mobius_Essence_6.3_Crusader.zip" basedir="${datapack}" excludes="**/*-sources.jar" update="true" level="9" />
</target>
<target name="adding-readme" depends="adding-datapack" description="Adding readme.txt to the Zip file.">
<zip destfile="${build}/L2J_Mobius_Essence_6.2_Vanguard.zip" basedir="." includes="readme.txt" update="true" level="9" />
<zip destfile="${build}/L2J_Mobius_Essence_6.3_Crusader.zip" basedir="." includes="readme.txt" update="true" level="9" />
</target>
<target name="cleanup" depends="adding-readme" description="Cleaning the build folder.">

View File

@ -101,8 +101,8 @@ MaximumOnlineUsers = 2000
# Numbers of protocol revisions that server allows to connect.
# Delimiter is ;
# WARNING: <u><b><font color="red">Changing the protocol revision may result in incompatible communication and many errors in game!</font></b></u>
# Vanguard: 362
AllowedProtocolRevisions = 362
# Crusader: 388
AllowedProtocolRevisions = 388
# Displays server type next to the server name on character selection.
# Notes:

View File

@ -129,6 +129,7 @@ import org.l2jmobius.gameserver.network.clientpackets.newhenna.RequestNewHennaLi
import org.l2jmobius.gameserver.network.clientpackets.newhenna.RequestNewHennaPotenEnchant;
import org.l2jmobius.gameserver.network.clientpackets.newhenna.RequestNewHennaPotenSelect;
import org.l2jmobius.gameserver.network.clientpackets.newhenna.RequestNewHennaUnequip;
import org.l2jmobius.gameserver.network.clientpackets.newhenna.RequestNewHennaUnequipInfo;
import org.l2jmobius.gameserver.network.clientpackets.pet.ExEvolvePet;
import org.l2jmobius.gameserver.network.clientpackets.pet.ExPetEquipItem;
import org.l2jmobius.gameserver.network.clientpackets.pet.ExPetUnequipItem;
@ -605,211 +606,232 @@ public enum ExIncomingPackets implements IIncomingPackets<GameClient>
EX_GACHA_SHOP_GACHA_ITEM(0x17E, null, ConnectionState.IN_GAME),
EX_TIME_RESTRICT_FIELD_LIST(0x17F, ExTimedHuntingZoneList::new, ConnectionState.IN_GAME),
EX_TIME_RESTRICT_FIELD_USER_ENTER(0x180, ExTimedHuntingZoneEnter::new, ConnectionState.IN_GAME),
EX_RANKING_CHAR_INFO(0x181, RequestRankingCharInfo::new, ConnectionState.IN_GAME),
EX_RANKING_CHAR_HISTORY(0x182, null, ConnectionState.IN_GAME),
EX_RANKING_CHAR_RANKERS(0x183, RequestRankingCharRankers::new, ConnectionState.IN_GAME),
EX_RANKING_CHAR_SPAWN_BUFFZONE_NPC(0x184, RequestExRankingCharSpawnBuffzoneNpc::new, ConnectionState.IN_GAME),
EX_RANKING_CHAR_BUFFZONE_NPC_POSITION(0x185, RequestExRankingCharBuffzoneNpcPosition::new, ConnectionState.IN_GAME),
EX_PLEDGE_MERCENARY_RECRUIT_INFO_SET(0x186, null, ConnectionState.IN_GAME),
EX_MERCENARY_CASTLEWAR_CASTLE_INFO(0x187, ExMCWCastleInfo::new, ConnectionState.IN_GAME),
EX_MERCENARY_CASTLEWAR_CASTLE_SIEGE_INFO(0x188, null, ConnectionState.IN_GAME),
EX_MERCENARY_CASTLEWAR_CASTLE_SIEGE_ATTACKER_LIST(0x189, null, ConnectionState.IN_GAME),
EX_MERCENARY_CASTLEWAR_CASTLE_SIEGE_DEFENDER_LIST(0x18A, null, ConnectionState.IN_GAME),
EX_PLEDGE_MERCENARY_MEMBER_LIST(0x18B, null, ConnectionState.IN_GAME),
EX_PLEDGE_MERCENARY_MEMBER_JOIN(0x18C, null, ConnectionState.IN_GAME),
EX_PVP_BOOK_LIST(0x18D, ExPvpBookList::new, ConnectionState.IN_GAME),
EX_PVPBOOK_KILLER_LOCATION(0x18E, null, ConnectionState.IN_GAME),
EX_PVPBOOK_TELEPORT_TO_KILLER(0x18F, null, ConnectionState.IN_GAME),
EX_LETTER_COLLECTOR_TAKE_REWARD(0x190, ExLetterCollectorTakeReward::new, ConnectionState.IN_GAME),
EX_SET_STATUS_BONUS(0x191, ExSetStatusBonus::new, ConnectionState.IN_GAME),
EX_RESET_STATUS_BONUS(0x192, ExResetStatusBonus::new, ConnectionState.IN_GAME),
EX_OLYMPIAD_MY_RANKING_INFO(0x193, RequestOlympiadMyRankingInfo::new, ConnectionState.IN_GAME),
EX_OLYMPIAD_RANKING_INFO(0x194, RequestOlympiadRankingInfo::new, ConnectionState.IN_GAME),
EX_OLYMPIAD_HERO_AND_LEGEND_INFO(0x195, RequestOlympiadHeroAndLegendInfo::new, ConnectionState.IN_GAME),
EX_CASTLEWAR_OBSERVER_START(0x196, null, ConnectionState.IN_GAME),
EX_RAID_TELEPORT_INFO(0x197, RequestRaidTeleportInfo::new, ConnectionState.IN_GAME),
EX_TELEPORT_TO_RAID_POSITION(0x198, ExTeleportToRaidPosition::new, ConnectionState.IN_GAME),
EX_CRAFT_EXTRACT(0x199, ExRequestRandomCraftExtract::new, ConnectionState.IN_GAME),
EX_CRAFT_RANDOM_INFO(0x19A, ExRequestRandomCraftInfo::new, ConnectionState.IN_GAME),
EX_CRAFT_RANDOM_LOCK_SLOTEX_CRAFT_RANDOM_INFO(0x19B, ExRequestRandomCraftLockSlot::new, ConnectionState.IN_GAME),
EX_CRAFT_RANDOM_REFRESH(0x19C, ExRequestRandomCraftRefresh::new, ConnectionState.IN_GAME),
EX_CRAFT_RANDOM_MAKE(0x19D, ExRequestRandomCraftMake::new, ConnectionState.IN_GAME),
EX_MULTI_SELL_LIST(0x19E, null, ConnectionState.IN_GAME),
EX_SAVE_ITEM_ANNOUNCE_SETTING(0x19F, ExSaveItemAnnounceSetting::new, ConnectionState.IN_GAME),
EX_OLYMPIAD_UI(0x1A0, null, ConnectionState.IN_GAME),
EX_TIME_RESTRICT_FIELD_USER_LEAVE(0x181, null, ConnectionState.IN_GAME),
EX_RANKING_CHAR_INFO(0x182, RequestRankingCharInfo::new, ConnectionState.IN_GAME),
EX_RANKING_CHAR_HISTORY(0x183, null, ConnectionState.IN_GAME),
EX_RANKING_CHAR_RANKERS(0x184, RequestRankingCharRankers::new, ConnectionState.IN_GAME),
EX_RANKING_CHAR_SPAWN_BUFFZONE_NPC(0x185, RequestExRankingCharSpawnBuffzoneNpc::new, ConnectionState.IN_GAME),
EX_RANKING_CHAR_BUFFZONE_NPC_POSITION(0x186, RequestExRankingCharBuffzoneNpcPosition::new, ConnectionState.IN_GAME),
EX_PLEDGE_MERCENARY_RECRUIT_INFO_SET(0x187, null, ConnectionState.IN_GAME),
EX_MERCENARY_CASTLEWAR_CASTLE_INFO(0x188, ExMCWCastleInfo::new, ConnectionState.IN_GAME),
EX_MERCENARY_CASTLEWAR_CASTLE_SIEGE_INFO(0x189, null, ConnectionState.IN_GAME),
EX_MERCENARY_CASTLEWAR_CASTLE_SIEGE_ATTACKER_LIST(0x18A, null, ConnectionState.IN_GAME),
EX_MERCENARY_CASTLEWAR_CASTLE_SIEGE_DEFENDER_LIST(0x18B, null, ConnectionState.IN_GAME),
EX_PLEDGE_MERCENARY_MEMBER_LIST(0x18C, null, ConnectionState.IN_GAME),
EX_PLEDGE_MERCENARY_MEMBER_JOIN(0x18D, null, ConnectionState.IN_GAME),
EX_PVP_BOOK_LIST(0x18E, ExPvpBookList::new, ConnectionState.IN_GAME),
EX_PVPBOOK_KILLER_LOCATION(0x18F, null, ConnectionState.IN_GAME),
EX_PVPBOOK_TELEPORT_TO_KILLER(0x190, null, ConnectionState.IN_GAME),
EX_LETTER_COLLECTOR_TAKE_REWARD(0x191, ExLetterCollectorTakeReward::new, ConnectionState.IN_GAME),
EX_SET_STATUS_BONUS(0x192, ExSetStatusBonus::new, ConnectionState.IN_GAME),
EX_RESET_STATUS_BONUS(0x193, ExResetStatusBonus::new, ConnectionState.IN_GAME),
EX_OLYMPIAD_MY_RANKING_INFO(0x194, RequestOlympiadMyRankingInfo::new, ConnectionState.IN_GAME),
EX_OLYMPIAD_RANKING_INFO(0x195, RequestOlympiadRankingInfo::new, ConnectionState.IN_GAME),
EX_OLYMPIAD_HERO_AND_LEGEND_INFO(0x196, RequestOlympiadHeroAndLegendInfo::new, ConnectionState.IN_GAME),
EX_CASTLEWAR_OBSERVER_START(0x197, null, ConnectionState.IN_GAME),
EX_RAID_TELEPORT_INFO(0x198, RequestRaidTeleportInfo::new, ConnectionState.IN_GAME),
EX_TELEPORT_TO_RAID_POSITION(0x199, ExTeleportToRaidPosition::new, ConnectionState.IN_GAME),
EX_CRAFT_EXTRACT(0x19A, ExRequestRandomCraftExtract::new, ConnectionState.IN_GAME),
EX_CRAFT_RANDOM_INFO(0x19B, ExRequestRandomCraftInfo::new, ConnectionState.IN_GAME),
EX_CRAFT_RANDOM_LOCK_SLOTEX_CRAFT_RANDOM_INFO(0x19C, ExRequestRandomCraftLockSlot::new, ConnectionState.IN_GAME),
EX_CRAFT_RANDOM_REFRESH(0x19D, ExRequestRandomCraftRefresh::new, ConnectionState.IN_GAME),
EX_CRAFT_RANDOM_MAKE(0x19E, ExRequestRandomCraftMake::new, ConnectionState.IN_GAME),
EX_MULTI_SELL_LIST(0x19F, null, ConnectionState.IN_GAME),
EX_SAVE_ITEM_ANNOUNCE_SETTING(0x1A0, ExSaveItemAnnounceSetting::new, ConnectionState.IN_GAME),
EX_OLYMPIAD_UI(0x1A1, null, ConnectionState.IN_GAME),
// 270
EX_SHARED_POSITION_SHARING_UI(0x1A1, ExRequestSharingLocationUi::new, ConnectionState.IN_GAME),
EX_SHARED_POSITION_TELEPORT_UI(0x1A2, ExRequestSharedLocationTeleportUi::new, ConnectionState.IN_GAME),
EX_SHARED_POSITION_TELEPORT(0x1A3, ExRequestSharedLocationTeleport::new, ConnectionState.IN_GAME),
EX_AUTH_RECONNECT(0x1A4, null, ConnectionState.IN_GAME),
EX_PET_EQUIP_ITEM(0x1A5, ExPetEquipItem::new, ConnectionState.IN_GAME),
EX_PET_UNEQUIP_ITEM(0x1A6, ExPetUnequipItem::new, ConnectionState.IN_GAME),
EX_SHOW_HOMUNCULUS_INFO(0x1A7, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_CREATE_START(0x1A8, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_INSERT(0x1A9, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_SUMMON(0x1AA, null, ConnectionState.IN_GAME),
EX_DELETE_HOMUNCULUS_DATA(0x1AB, null, ConnectionState.IN_GAME),
EX_REQUEST_ACTIVATE_HOMUNCULUS(0x1AC, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_GET_ENCHANT_POINT(0x1AD, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_INIT_POINT(0x1AE, null, ConnectionState.IN_GAME),
EX_EVOLVE_PET(0x1AF, ExEvolvePet::new, ConnectionState.IN_GAME),
EX_ENCHANT_HOMUNCULUS_SKILL(0x1B0, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_ENCHANT_EXP(0x1B1, null, ConnectionState.IN_GAME),
EX_TELEPORT_FAVORITES_LIST(0x1B2, ExRequestTeleportFavoriteList::new, ConnectionState.IN_GAME),
EX_TELEPORT_FAVORITES_UI_TOGGLE(0x1B3, ExRequestTeleportFavoritesUIToggle::new, ConnectionState.IN_GAME),
EX_TELEPORT_FAVORITES_ADD_DEL(0x1B4, ExRequestTeleportFavoritesAddDel::new, ConnectionState.IN_GAME),
EX_ANTIBOT(0x1B5, null, ConnectionState.IN_GAME),
EX_DPSVR(0x1B6, null, ConnectionState.IN_GAME),
EX_TENPROTECT_DECRYPT_ERROR(0x1B7, null, ConnectionState.IN_GAME),
EX_NET_LATENCY(0x1B8, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_OPEN(0x1B9, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_ROLL_DICE(0x1BA, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_POPUP_OK(0x1BB, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_RESET(0x1BC, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_CLOSE(0x1BD, null, ConnectionState.IN_GAME),
EX_RETURN_TO_ORIGIN(0x1BE, null, ConnectionState.IN_GAME),
EX_PK_PENALTY_LIST(0x1BF, null, ConnectionState.IN_GAME),
EX_PK_PENALTY_LIST_ONLY_LOC(0x1C0, null, ConnectionState.IN_GAME),
EX_BLESS_OPTION_PUT_ITEM(0x1C1, RequestBlessOptionPutItem::new, ConnectionState.IN_GAME),
EX_BLESS_OPTION_ENCHANT(0x1C2, RequestBlessOptionEnchant::new, ConnectionState.IN_GAME),
EX_BLESS_OPTION_CANCEL(0x1C3, RequestBlessOptionCancel::new, ConnectionState.IN_GAME),
EX_PVP_RANKING_MY_INFO(0x1C4, RequestPvpRankingMyInfo::new, ConnectionState.IN_GAME),
EX_PVP_RANKING_LIST(0x1C5, RequestPvpRankingList::new, ConnectionState.IN_GAME),
EX_ACQUIRE_PET_SKILL(0x1C6, RequestExAcquirePetSkill::new, ConnectionState.IN_GAME),
EX_PLEDGE_V3_INFO(0x1C7, RequestExPledgeV3Info::new, ConnectionState.IN_GAME),
EX_PLEDGE_ENEMY_INFO_LIST(0x1C8, RequestExPledgeEnemyInfoList::new, ConnectionState.IN_GAME),
EX_PLEDGE_ENEMY_REGISTER(0x1C9, RequestExPledgeEnemyRegister::new, ConnectionState.IN_GAME),
EX_PLEDGE_ENEMY_DELETE(0x1CA, RequestExPledgeEnemyDelete::new, ConnectionState.IN_GAME),
EX_TRY_PET_EXTRACT_SYSTEM(0x1CB, null, ConnectionState.IN_GAME),
EX_PLEDGE_V3_SET_ANNOUNCE(0x1CC, RequestExPledgeV3SetAnnounce::new, ConnectionState.IN_GAME),
EX_SHARED_POSITION_SHARING_UI(0x1A2, ExRequestSharingLocationUi::new, ConnectionState.IN_GAME),
EX_SHARED_POSITION_TELEPORT_UI(0x1A3, ExRequestSharedLocationTeleportUi::new, ConnectionState.IN_GAME),
EX_SHARED_POSITION_TELEPORT(0x1A4, ExRequestSharedLocationTeleport::new, ConnectionState.IN_GAME),
EX_AUTH_RECONNECT(0x1A5, null, ConnectionState.IN_GAME),
EX_PET_EQUIP_ITEM(0x1A6, ExPetEquipItem::new, ConnectionState.IN_GAME),
EX_PET_UNEQUIP_ITEM(0x1A7, ExPetUnequipItem::new, ConnectionState.IN_GAME),
EX_SHOW_HOMUNCULUS_INFO(0x1A8, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_CREATE_START(0x1A9, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_INSERT(0x1AA, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_SUMMON(0x1AB, null, ConnectionState.IN_GAME),
EX_DELETE_HOMUNCULUS_DATA(0x1AC, null, ConnectionState.IN_GAME),
EX_REQUEST_ACTIVATE_HOMUNCULUS(0x1AD, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_GET_ENCHANT_POINT(0x1AE, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_INIT_POINT(0x1AF, null, ConnectionState.IN_GAME),
EX_EVOLVE_PET(0x1B0, ExEvolvePet::new, ConnectionState.IN_GAME),
EX_ENCHANT_HOMUNCULUS_SKILL(0x1B1, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_ENCHANT_EXP(0x1B2, null, ConnectionState.IN_GAME),
EX_TELEPORT_FAVORITES_LIST(0x1B3, ExRequestTeleportFavoriteList::new, ConnectionState.IN_GAME),
EX_TELEPORT_FAVORITES_UI_TOGGLE(0x1B4, ExRequestTeleportFavoritesUIToggle::new, ConnectionState.IN_GAME),
EX_TELEPORT_FAVORITES_ADD_DEL(0x1B5, ExRequestTeleportFavoritesAddDel::new, ConnectionState.IN_GAME),
EX_ANTIBOT(0x1B6, null, ConnectionState.IN_GAME),
EX_DPSVR(0x1B7, null, ConnectionState.IN_GAME),
EX_TENPROTECT_DECRYPT_ERROR(0x1B8, null, ConnectionState.IN_GAME),
EX_NET_LATENCY(0x1B9, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_OPEN(0x1BA, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_ROLL_DICE(0x1BB, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_POPUP_OK(0x1BC, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_RESET(0x1BD, null, ConnectionState.IN_GAME),
EX_MABLE_GAME_CLOSE(0x1BE, null, ConnectionState.IN_GAME),
EX_RETURN_TO_ORIGIN(0x1BF, null, ConnectionState.IN_GAME),
EX_PK_PENALTY_LIST(0x1C0, null, ConnectionState.IN_GAME),
EX_PK_PENALTY_LIST_ONLY_LOC(0x1C1, null, ConnectionState.IN_GAME),
EX_BLESS_OPTION_PUT_ITEM(0x1C2, RequestBlessOptionPutItem::new, ConnectionState.IN_GAME),
EX_BLESS_OPTION_ENCHANT(0x1C3, RequestBlessOptionEnchant::new, ConnectionState.IN_GAME),
EX_BLESS_OPTION_CANCEL(0x1C4, RequestBlessOptionCancel::new, ConnectionState.IN_GAME),
EX_PVP_RANKING_MY_INFO(0x1C5, RequestPvpRankingMyInfo::new, ConnectionState.IN_GAME),
EX_PVP_RANKING_LIST(0x1C6, RequestPvpRankingList::new, ConnectionState.IN_GAME),
EX_ACQUIRE_PET_SKILL(0x1C7, RequestExAcquirePetSkill::new, ConnectionState.IN_GAME),
EX_PLEDGE_V3_INFO(0x1C8, RequestExPledgeV3Info::new, ConnectionState.IN_GAME),
EX_PLEDGE_ENEMY_INFO_LIST(0x1C9, RequestExPledgeEnemyInfoList::new, ConnectionState.IN_GAME),
EX_PLEDGE_ENEMY_REGISTER(0x1CA, RequestExPledgeEnemyRegister::new, ConnectionState.IN_GAME),
EX_PLEDGE_ENEMY_DELETE(0x1CB, RequestExPledgeEnemyDelete::new, ConnectionState.IN_GAME),
EX_TRY_PET_EXTRACT_SYSTEM(0x1CC, null, ConnectionState.IN_GAME),
EX_PLEDGE_V3_SET_ANNOUNCE(0x1CD, RequestExPledgeV3SetAnnounce::new, ConnectionState.IN_GAME),
// 306
EX_RANKING_FESTIVAL_OPEN(0x1CD, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_BUY(0x1CE, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_BONUS(0x1CF, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_RANKING(0x1D0, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_MY_RECEIVED_BONUS(0x1D1, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_REWARD(0x1D2, null, ConnectionState.IN_GAME),
EX_TIMER_CHECK(0x1D3, null, ConnectionState.IN_GAME),
EX_STEADY_BOX_LOAD(0x1D4, null, ConnectionState.IN_GAME),
EX_STEADY_OPEN_SLOT(0x1D5, null, ConnectionState.IN_GAME),
EX_STEADY_OPEN_BOX(0x1D6, null, ConnectionState.IN_GAME),
EX_STEADY_GET_REWARD(0x1D7, null, ConnectionState.IN_GAME),
EX_PET_RANKING_MY_INFO(0x1D8, RequestPetRankingMyInfo::new, ConnectionState.IN_GAME),
EX_PET_RANKING_LIST(0x1D9, RequestPetRankingList::new, ConnectionState.IN_GAME),
EX_COLLECTION_OPEN_UI(0x1DA, RequestExCollectionOpenUI::new, ConnectionState.IN_GAME),
EX_COLLECTION_CLOSE_UI(0x1DB, RequestCollectionCloseUI::new, ConnectionState.IN_GAME),
EX_COLLECTION_LIST(0x1DC, RequestExCollectionList::new, ConnectionState.IN_GAME),
EX_COLLECTION_UPDATE_FAVORITE(0x1DD, RequestCollectionUpdateFavorite::new, ConnectionState.IN_GAME),
EX_COLLECTION_FAVORITE_LIST(0x1DE, RequestCollectionFavoriteList::new, ConnectionState.IN_GAME),
EX_COLLECTION_SUMMARY(0x1DF, null, ConnectionState.IN_GAME),
EX_COLLECTION_REGISTER(0x1E0, RequestCollectionRegister::new, ConnectionState.IN_GAME),
EX_COLLECTION_RECEIVE_REWARD(0x1E1, RequestCollectionReceiveReward::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_LIST(0x1E2, RequestExPvpBookShareRevengeList::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_REQ_SHARE_REVENGEINFO(0x1E3, RequestExPvpBookShareRevengeReqShareRevengeInfo::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_KILLER_LOCATION(0x1E4, RequestExPvpBookShareRevengeKillerLocation::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_TELEPORT_TO_KILLER(0x1E5, RequestExPvpBookShareRevengeTeleportToKiller::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_SHARED_TELEPORT_TO_KILLER(0x1E6, RequestExPvpBookShareRevengeSharedTeleportToKiller::new, ConnectionState.IN_GAME),
EX_PENALTY_ITEM_LIST(0x1E7, null, ConnectionState.IN_GAME),
EX_PENALTY_ITEM_RESTORE(0x1E8, null, ConnectionState.IN_GAME),
EX_USER_WATCHER_TARGET_LIST(0x1E9, null, ConnectionState.IN_GAME),
EX_USER_WATCHER_ADD(0x1EA, null, ConnectionState.IN_GAME),
EX_USER_WATCHER_DELETE(0x1EB, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_ACTIVATE_SLOT(0x1EC, null, ConnectionState.IN_GAME),
EX_SUMMON_HOMUNCULUS_COUPON(0x1ED, null, ConnectionState.IN_GAME),
EX_SUBJUGATION_LIST(0x1EE, RequestSubjugationList::new, ConnectionState.IN_GAME),
EX_SUBJUGATION_RANKING(0x1EF, RequestSubjugationRanking::new, ConnectionState.IN_GAME),
EX_SUBJUGATION_GACHA_UI(0x1F0, RequestSubjugationGachaUI::new, ConnectionState.IN_GAME),
EX_SUBJUGATION_GACHA(0x1F1, RequestSubjugationGacha::new, ConnectionState.IN_GAME),
EX_PLEDGE_DONATION_INFO(0x1F2, RequestExPledgeDonationInfo::new, ConnectionState.IN_GAME),
EX_PLEDGE_DONATION_REQUEST(0x1F3, RequestExPledgeDonationRequest::new, ConnectionState.IN_GAME),
EX_PLEDGE_CONTRIBUTION_LIST(0x1F4, RequestExPledgeContributionList::new, ConnectionState.IN_GAME),
EX_PLEDGE_RANKING_MY_INFO(0x1F5, RequestPledgeRankingMyInfo::new, ConnectionState.IN_GAME),
EX_PLEDGE_RANKING_LIST(0x1F6, RequestPledgeRankingList::new, ConnectionState.IN_GAME),
EX_ITEM_RESTORE_LIST(0x1F7, null, ConnectionState.IN_GAME),
EX_ITEM_RESTORE(0x1F8, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_OPEN(0x1CE, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_BUY(0x1CF, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_BONUS(0x1D0, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_RANKING(0x1D1, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_MY_RECEIVED_BONUS(0x1D2, null, ConnectionState.IN_GAME),
EX_RANKING_FESTIVAL_REWARD(0x1D3, null, ConnectionState.IN_GAME),
EX_TIMER_CHECK(0x1D4, null, ConnectionState.IN_GAME),
EX_STEADY_BOX_LOAD(0x1D5, null, ConnectionState.IN_GAME),
EX_STEADY_OPEN_SLOT(0x1D6, null, ConnectionState.IN_GAME),
EX_STEADY_OPEN_BOX(0x1D7, null, ConnectionState.IN_GAME),
EX_STEADY_GET_REWARD(0x1D8, null, ConnectionState.IN_GAME),
EX_PET_RANKING_MY_INFO(0x1D9, RequestPetRankingMyInfo::new, ConnectionState.IN_GAME),
EX_PET_RANKING_LIST(0x1DA, RequestPetRankingList::new, ConnectionState.IN_GAME),
EX_COLLECTION_OPEN_UI(0x1DB, RequestExCollectionOpenUI::new, ConnectionState.IN_GAME),
EX_COLLECTION_CLOSE_UI(0x1DC, RequestCollectionCloseUI::new, ConnectionState.IN_GAME),
EX_COLLECTION_LIST(0x1DD, RequestExCollectionList::new, ConnectionState.IN_GAME),
EX_COLLECTION_UPDATE_FAVORITE(0x1DE, RequestCollectionUpdateFavorite::new, ConnectionState.IN_GAME),
EX_COLLECTION_FAVORITE_LIST(0x1DF, RequestCollectionFavoriteList::new, ConnectionState.IN_GAME),
EX_COLLECTION_SUMMARY(0x1E0, null, ConnectionState.IN_GAME),
EX_COLLECTION_REGISTER(0x1E1, RequestCollectionRegister::new, ConnectionState.IN_GAME),
EX_COLLECTION_RECEIVE_REWARD(0x1E2, RequestCollectionReceiveReward::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_LIST(0x1E3, RequestExPvpBookShareRevengeList::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_REQ_SHARE_REVENGEINFO(0x1E4, RequestExPvpBookShareRevengeReqShareRevengeInfo::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_KILLER_LOCATION(0x1E5, RequestExPvpBookShareRevengeKillerLocation::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_TELEPORT_TO_KILLER(0x1E6, RequestExPvpBookShareRevengeTeleportToKiller::new, ConnectionState.IN_GAME),
EX_PVPBOOK_SHARE_REVENGE_SHARED_TELEPORT_TO_KILLER(0x1E7, RequestExPvpBookShareRevengeSharedTeleportToKiller::new, ConnectionState.IN_GAME),
EX_PENALTY_ITEM_LIST(0x1E8, null, ConnectionState.IN_GAME),
EX_PENALTY_ITEM_RESTORE(0x1E9, null, ConnectionState.IN_GAME),
EX_USER_WATCHER_TARGET_LIST(0x1EA, null, ConnectionState.IN_GAME),
EX_USER_WATCHER_ADD(0x1EB, null, ConnectionState.IN_GAME),
EX_USER_WATCHER_DELETE(0x1EC, null, ConnectionState.IN_GAME),
EX_HOMUNCULUS_ACTIVATE_SLOT(0x1ED, null, ConnectionState.IN_GAME),
EX_SUMMON_HOMUNCULUS_COUPON(0x1EE, null, ConnectionState.IN_GAME),
EX_SUBJUGATION_LIST(0x1EF, RequestSubjugationList::new, ConnectionState.IN_GAME),
EX_SUBJUGATION_RANKING(0x1F0, RequestSubjugationRanking::new, ConnectionState.IN_GAME),
EX_SUBJUGATION_GACHA_UI(0x1F1, RequestSubjugationGachaUI::new, ConnectionState.IN_GAME),
EX_SUBJUGATION_GACHA(0x1F2, RequestSubjugationGacha::new, ConnectionState.IN_GAME),
EX_PLEDGE_DONATION_INFO(0x1F3, RequestExPledgeDonationInfo::new, ConnectionState.IN_GAME),
EX_PLEDGE_DONATION_REQUEST(0x1F4, RequestExPledgeDonationRequest::new, ConnectionState.IN_GAME),
EX_PLEDGE_CONTRIBUTION_LIST(0x1F5, RequestExPledgeContributionList::new, ConnectionState.IN_GAME),
EX_PLEDGE_RANKING_MY_INFO(0x1F6, RequestPledgeRankingMyInfo::new, ConnectionState.IN_GAME),
EX_PLEDGE_RANKING_LIST(0x1F7, RequestPledgeRankingList::new, ConnectionState.IN_GAME),
EX_ITEM_RESTORE_LIST(0x1F8, null, ConnectionState.IN_GAME),
EX_ITEM_RESTORE(0x1F9, null, ConnectionState.IN_GAME),
// 338
EX_DETHRONE_INFO(0x1F9, null, ConnectionState.IN_GAME),
EX_DETHRONE_RANKING_INFO(0x1FA, null, ConnectionState.IN_GAME),
EX_DETHRONE_SERVER_INFO(0x1FB, null, ConnectionState.IN_GAME),
EX_DETHRONE_DISTRICT_OCCUPATION_INFO(0x1FC, null, ConnectionState.IN_GAME),
EX_DETHRONE_DAILY_MISSION_INFO(0x1FD, null, ConnectionState.IN_GAME),
EX_DETHRONE_DAILY_MISSION_GET_REWARD(0x1FE, null, ConnectionState.IN_GAME),
EX_DETHRONE_PREV_SEASON_INFO(0x1FF, null, ConnectionState.IN_GAME),
EX_DETHRONE_GET_REWARD(0x200, null, ConnectionState.IN_GAME),
EX_DETHRONE_ENTER(0x201, null, ConnectionState.IN_GAME),
EX_DETHRONE_LEAVE(0x202, null, ConnectionState.IN_GAME),
EX_DETHRONE_CHECK_NAME(0x203, null, ConnectionState.IN_GAME),
EX_DETHRONE_CHANGE_NAME(0x204, null, ConnectionState.IN_GAME),
EX_DETHRONE_CONNECT_CASTLE(0x205, null, ConnectionState.IN_GAME),
EX_DETHRONE_DISCONNECT_CASTLE(0x206, null, ConnectionState.IN_GAME),
EX_CHANGE_NICKNAME_COLOR_ICON(0x207, RequestChangeNicknameEmote::new, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_MOVE_TO_HOST(0x208, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_RETURN_TO_ORIGIN_PEER(0x209, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_INFO(0x20A, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_INFO(0x20B, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_JOIN(0x20C, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_ATTACKER_LIST(0x20D, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_PLEDGE_MERCENARY_RECRUIT_INFO_SET(0x20E, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_PLEDGE_MERCENARY_MEMBER_LIST(0x20F, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_PLEDGE_MERCENARY_MEMBER_JOIN(0x210, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_TELEPORT(0x211, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_OBSERVER_START(0x212, null, ConnectionState.IN_GAME),
EX_PRIVATE_STORE_SEARCH_LIST(0x213, null, ConnectionState.IN_GAME),
EX_PRIVATE_STORE_SEARCH_STATISTICS(0x214, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_HOST_CASTLE_SIEGE_RANKING_INFO(0x215, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_RANKING_INFO(0x216, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_SIEGE_MAINBATTLE_HUD_INFO(0x217, null, ConnectionState.IN_GAME),
EX_NEW_HENNA_LIST(0x218, RequestNewHennaList::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_EQUIP(0x219, RequestNewHennaEquip::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_UNEQUIP(0x21A, RequestNewHennaUnequip::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_POTEN_SELECT(0x21B, RequestNewHennaPotenSelect::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_POTEN_ENCHANT(0x21C, RequestNewHennaPotenEnchant::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_COMPOSE(0x21D, RequestNewHennaCompose::new, ConnectionState.IN_GAME),
EX_REQUEST_INVITE_PARTY(0x21E, null, ConnectionState.IN_GAME),
EX_ITEM_USABLE_LIST(0x21F, null, ConnectionState.IN_GAME),
EX_PACKETREADCOUNTPERSECOND(0x220, null, ConnectionState.IN_GAME),
EX_SELECT_GLOBAL_EVENT_UI(0x221, null, ConnectionState.IN_GAME),
EX_L2PASS_INFO(0x222, RequestHuntPassInfo::new, ConnectionState.IN_GAME),
EX_L2PASS_REQUEST_REWARD(0x223, RequestHuntPassReward::new, ConnectionState.IN_GAME),
EX_L2PASS_REQUEST_REWARD_ALL(0x224, RequestHuntPassRewardAll::new, ConnectionState.IN_GAME),
EX_L2PASS_BUY_PREMIUM(0x225, RequestHuntPassBuyPremium::new, ConnectionState.IN_GAME),
EX_SAYHAS_SUPPORT_TOGGLE(0x226, HuntpassSayhasToggle::new, ConnectionState.IN_GAME),
EX_DETHRONE_INFO(0x1FA, null, ConnectionState.IN_GAME),
EX_DETHRONE_RANKING_INFO(0x1FB, null, ConnectionState.IN_GAME),
EX_DETHRONE_SERVER_INFO(0x1FC, null, ConnectionState.IN_GAME),
EX_DETHRONE_DISTRICT_OCCUPATION_INFO(0x1FD, null, ConnectionState.IN_GAME),
EX_DETHRONE_DAILY_MISSION_INFO(0x1FE, null, ConnectionState.IN_GAME),
EX_DETHRONE_DAILY_MISSION_GET_REWARD(0x1FF, null, ConnectionState.IN_GAME),
EX_DETHRONE_PREV_SEASON_INFO(0x200, null, ConnectionState.IN_GAME),
EX_DETHRONE_GET_REWARD(0x201, null, ConnectionState.IN_GAME),
EX_DETHRONE_ENTER(0x202, null, ConnectionState.IN_GAME),
EX_DETHRONE_LEAVE(0x203, null, ConnectionState.IN_GAME),
EX_DETHRONE_CHECK_NAME(0x204, null, ConnectionState.IN_GAME),
EX_DETHRONE_CHANGE_NAME(0x205, null, ConnectionState.IN_GAME),
EX_DETHRONE_CONNECT_CASTLE(0x206, null, ConnectionState.IN_GAME),
EX_DETHRONE_DISCONNECT_CASTLE(0x207, null, ConnectionState.IN_GAME),
EX_CHANGE_NICKNAME_COLOR_ICON(0x208, RequestChangeNicknameEmote::new, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_MOVE_TO_HOST(0x209, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_RETURN_TO_ORIGIN_PEER(0x20A, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_INFO(0x20B, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_INFO(0x20C, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_JOIN(0x20D, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_ATTACKER_LIST(0x20E, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_PLEDGE_MERCENARY_RECRUIT_INFO_SET(0x20F, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_PLEDGE_MERCENARY_MEMBER_LIST(0x210, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_PLEDGE_MERCENARY_MEMBER_JOIN(0x211, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_TELEPORT(0x212, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_OBSERVER_START(0x213, null, ConnectionState.IN_GAME),
EX_PRIVATE_STORE_SEARCH_LIST(0x214, null, ConnectionState.IN_GAME),
EX_PRIVATE_STORE_SEARCH_STATISTICS(0x215, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_HOST_CASTLE_SIEGE_RANKING_INFO(0x216, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_RANKING_INFO(0x217, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_SIEGE_MAINBATTLE_HUD_INFO(0x218, null, ConnectionState.IN_GAME),
EX_NEW_HENNA_LIST(0x219, RequestNewHennaList::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_EQUIP(0x21A, RequestNewHennaEquip::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_UNEQUIP(0x21B, RequestNewHennaUnequip::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_POTEN_SELECT(0x21C, RequestNewHennaPotenSelect::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_POTEN_ENCHANT(0x21D, RequestNewHennaPotenEnchant::new, ConnectionState.IN_GAME),
EX_NEW_HENNA_COMPOSE(0x21E, RequestNewHennaCompose::new, ConnectionState.IN_GAME),
EX_REQUEST_INVITE_PARTY(0x21F, null, ConnectionState.IN_GAME),
EX_ITEM_USABLE_LIST(0x220, null, ConnectionState.IN_GAME),
EX_PACKETREADCOUNTPERSECOND(0x221, null, ConnectionState.IN_GAME),
EX_SELECT_GLOBAL_EVENT_UI(0x222, null, ConnectionState.IN_GAME),
EX_L2PASS_INFO(0x223, RequestHuntPassInfo::new, ConnectionState.IN_GAME),
EX_L2PASS_REQUEST_REWARD(0x224, RequestHuntPassReward::new, ConnectionState.IN_GAME),
EX_L2PASS_REQUEST_REWARD_ALL(0x225, RequestHuntPassRewardAll::new, ConnectionState.IN_GAME),
EX_L2PASS_BUY_PREMIUM(0x226, RequestHuntPassBuyPremium::new, ConnectionState.IN_GAME),
EX_SAYHAS_SUPPORT_TOGGLE(0x227, HuntpassSayhasToggle::new, ConnectionState.IN_GAME),
// 362
EX_REQ_ENCHANT_FAIL_REWARD_INFO(0x227, ExRequestEnchantFailRewardInfo::new, ConnectionState.IN_GAME),
EX_SET_ENCHANT_CHALLENGE_POINT(0x228, null, ConnectionState.IN_GAME),
EX_RESET_ENCHANT_CHALLENGE_POINT(0x229, null, ConnectionState.IN_GAME),
EX_REQ_VIEW_ENCHANT_RESULT(0x22A, ExRequestViewEnchantResult::new, ConnectionState.IN_GAME),
EX_REQ_START_MULTI_ENCHANT_SCROLL(0x22B, ExRequestStartMultiEnchantScroll::new, ConnectionState.IN_GAME),
EX_REQ_VIEW_MULTI_ENCHANT_RESULT(0x22C, ExRequestViewMultiEnchantResult::new, ConnectionState.IN_GAME),
EX_REQ_FINISH_MULTI_ENCHANT_SCROLL(0x22D, ExRequestFinishMultiEnchantScroll::new, ConnectionState.IN_GAME),
EX_REQ_CHANGE_MULTI_ENCHANT_SCROLL(0x22E, null, ConnectionState.IN_GAME),
EX_REQ_SET_MULTI_ENCHANT_ITEM_LIST(0x22F, ExRequestSetMultiEnchantItemList::new, ConnectionState.IN_GAME),
EX_REQ_MULTI_ENCHANT_ITEM_LIST(0x230, ExRequestMultiEnchantItemList::new, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_SUPPORT_PLEDGE_FLAG_SET(0x231, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_SUPPORT_PLEDGE_INFO_SET(0x232, null, ConnectionState.IN_GAME),
EX_REQ_HOMUNCULUS_PROB_LIST(0x233, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_HOST_CASTLE_SIEGE_ALL_RANKING_INFO(0x234, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_ALL_RANKING_INFO(0x235, null, ConnectionState.IN_GAME),
EX_MISSION_LEVEL_REWARD_LIST(0x236, RequestMissionRewardList::new, ConnectionState.IN_GAME),
EX_MISSION_LEVEL_RECEIVE_REWARD(0x237, RequestMissionLevelReceiveReward::new, ConnectionState.IN_GAME),
EX_BALROGWAR_TELEPORT(0x238, null, ConnectionState.IN_GAME),
EX_BALROGWAR_SHOW_UI(0x239, null, ConnectionState.IN_GAME),
EX_BALROGWAR_SHOW_RANKING(0x23A, null, ConnectionState.IN_GAME),
EX_BALROGWAR_GET_REWARD(0x23B, null, ConnectionState.IN_GAME),
EX_USER_RESTART_LOCKER_UPDATE(0x23C, null, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_ITEM_LIST(0x23D, ExWorldExchangeItemList::new, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_REGI_ITEM(0x23E, ExWorldExchangeRegisterItem::new, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_BUY_ITEM(0x23F, ExWorldExchangeBuyItem::new, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_SETTLE_LIST(0x240, ExWorldExchangeSettleList::new, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_SETTLE_RECV_RESULT(0x241, ExWorldExchangeSettleRecvResult::new, ConnectionState.IN_GAME),
EX_READY_ITEM_AUTO_PEEL(0x242, ExRequestReadyItemAutoPeel::new, ConnectionState.IN_GAME),
EX_REQUEST_ITEM_AUTO_PEEL(0x243, ExRequestItemAutoPeel::new, ConnectionState.IN_GAME),
EX_STOP_ITEM_AUTO_PEEL(0x244, ExRequestStopItemAutoPeel::new, ConnectionState.IN_GAME),
EX_VARIATION_OPEN_UI(0x245, ExVariationOpenUi::new, ConnectionState.IN_GAME),
EX_VARIATION_CLOSE_UI(0x246, ExVariationCloseUi::new, ConnectionState.IN_GAME),
EX_APPLY_VARIATION_OPTION(0x247, ExApplyVariationOption::new, ConnectionState.IN_GAME),
EX_BR_VERSION(0x248, RequestBRVersion::new, ConnectionState.AUTHENTICATED, ConnectionState.CONNECTED),
EX_MAX(0x249, null, ConnectionState.IN_GAME);
EX_REQ_ENCHANT_FAIL_REWARD_INFO(0x228, ExRequestEnchantFailRewardInfo::new, ConnectionState.IN_GAME),
EX_SET_ENCHANT_CHALLENGE_POINT(0x229, null, ConnectionState.IN_GAME),
EX_RESET_ENCHANT_CHALLENGE_POINT(0x22A, null, ConnectionState.IN_GAME),
EX_REQ_VIEW_ENCHANT_RESULT(0x22B, ExRequestViewEnchantResult::new, ConnectionState.IN_GAME),
EX_REQ_START_MULTI_ENCHANT_SCROLL(0x22C, ExRequestStartMultiEnchantScroll::new, ConnectionState.IN_GAME),
EX_REQ_VIEW_MULTI_ENCHANT_RESULT(0x22D, ExRequestViewMultiEnchantResult::new, ConnectionState.IN_GAME),
EX_REQ_FINISH_MULTI_ENCHANT_SCROLL(0x22E, ExRequestFinishMultiEnchantScroll::new, ConnectionState.IN_GAME),
EX_REQ_CHANGE_MULTI_ENCHANT_SCROLL(0x22F, null, ConnectionState.IN_GAME),
EX_REQ_SET_MULTI_ENCHANT_ITEM_LIST(0x230, ExRequestSetMultiEnchantItemList::new, ConnectionState.IN_GAME),
EX_REQ_MULTI_ENCHANT_ITEM_LIST(0x231, ExRequestMultiEnchantItemList::new, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_SUPPORT_PLEDGE_FLAG_SET(0x232, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_SUPPORT_PLEDGE_INFO_SET(0x233, null, ConnectionState.IN_GAME),
EX_REQ_HOMUNCULUS_PROB_LIST(0x234, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_HOST_CASTLE_SIEGE_ALL_RANKING_INFO(0x235, null, ConnectionState.IN_GAME),
EX_WORLDCASTLEWAR_CASTLE_SIEGE_ALL_RANKING_INFO(0x236, null, ConnectionState.IN_GAME),
EX_MISSION_LEVEL_REWARD_LIST(0x237, RequestMissionRewardList::new, ConnectionState.IN_GAME),
EX_MISSION_LEVEL_RECEIVE_REWARD(0x238, RequestMissionLevelReceiveReward::new, ConnectionState.IN_GAME),
EX_BALROGWAR_TELEPORT(0x239, null, ConnectionState.IN_GAME),
EX_BALROGWAR_SHOW_UI(0x23A, null, ConnectionState.IN_GAME),
EX_BALROGWAR_SHOW_RANKING(0x23B, null, ConnectionState.IN_GAME),
EX_BALROGWAR_GET_REWARD(0x23C, null, ConnectionState.IN_GAME),
EX_USER_RESTART_LOCKER_UPDATE(0x23D, null, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_ITEM_LIST(0x23E, ExWorldExchangeItemList::new, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_REGI_ITEM(0x23F, ExWorldExchangeRegisterItem::new, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_BUY_ITEM(0x240, ExWorldExchangeBuyItem::new, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_SETTLE_LIST(0x241, ExWorldExchangeSettleList::new, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_SETTLE_RECV_RESULT(0x242, ExWorldExchangeSettleRecvResult::new, ConnectionState.IN_GAME),
EX_READY_ITEM_AUTO_PEEL(0x243, ExRequestReadyItemAutoPeel::new, ConnectionState.IN_GAME),
EX_REQUEST_ITEM_AUTO_PEEL(0x244, ExRequestItemAutoPeel::new, ConnectionState.IN_GAME),
EX_STOP_ITEM_AUTO_PEEL(0x245, ExRequestStopItemAutoPeel::new, ConnectionState.IN_GAME),
EX_VARIATION_OPEN_UI(0x246, ExVariationOpenUi::new, ConnectionState.IN_GAME),
EX_VARIATION_CLOSE_UI(0x247, ExVariationCloseUi::new, ConnectionState.IN_GAME),
EX_APPLY_VARIATION_OPTION(0x248, ExApplyVariationOption::new, ConnectionState.IN_GAME),
EX_REQUEST_AUDIO_LOG_SAVE(0x249, null, ConnectionState.IN_GAME),
EX_BR_VERSION(0x24A, RequestBRVersion::new, ConnectionState.AUTHENTICATED, ConnectionState.CONNECTED),
// 388
EX_WRANKING_FESTIVAL_INFO(0x24B, null, ConnectionState.IN_GAME),
EX_WRANKING_FESTIVAL_OPEN(0x24C, null, ConnectionState.IN_GAME),
EX_WRANKING_FESTIVAL_BUY(0x24D, null, ConnectionState.IN_GAME),
EX_WRANKING_FESTIVAL_BONUS(0x24E, null, ConnectionState.IN_GAME),
EX_WRANKING_FESTIVAL_RANKING(0x24F, null, ConnectionState.IN_GAME),
EX_WRANKING_FESTIVAL_MY_RECEIVED_BONUS(0x250, null, ConnectionState.IN_GAME),
EX_WRANKING_FESTIVAL_REWARD(0x251, null, ConnectionState.IN_GAME),
EX_HENNA_UNEQUIP_INFO(0x252, RequestNewHennaUnequipInfo::new, ConnectionState.IN_GAME),
EX_HERO_BOOK_CHARGE(0x253, null, ConnectionState.IN_GAME),
EX_HERO_BOOK_ENCHANT(0x254, null, ConnectionState.IN_GAME),
EX_TELEPORT_UI(0x255, null, ConnectionState.IN_GAME),
EX_GOODS_GIFT_LIST_INFO(0x256, null, ConnectionState.IN_GAME),
EX_GOODS_GIFT_ACCEPT(0x257, null, ConnectionState.IN_GAME),
EX_GOODS_GIFT_REFUSE(0x258, null, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_AVERAGE_PRICE(0x259, null, ConnectionState.IN_GAME),
EX_WORLD_EXCHANGE_TOTAL_LIST(0x25A, null, ConnectionState.IN_GAME),
EX_PRISON_USER_INFO(0x25B, null, ConnectionState.IN_GAME),
EX_PRISON_USER_DONATION(0x25C, null, ConnectionState.IN_GAME),
EX_MAX(0x25D, null, ConnectionState.IN_GAME);
public static final ExIncomingPackets[] PACKET_ARRAY;

View File

@ -1065,8 +1065,41 @@ public enum OutgoingPackets
EX_STOP_ITEM_AUTO_PEEL(0xFE, 0x305),
EX_TIME_RESTRICT_FIELD_DIE_LIMT_TIME(0xFE, 0x306),
EX_APPLY_VARIATION_OPTION(0xFE, 0x307),
EX_BR_VERSION(0xFE, 0x308),
EX_MAX(0xFE, 0x309);
EX_REQUEST_AUDIO_LOG_SAVE(0xFE, 0x308),
EX_BR_VERSION(0xFE, 0x309),
// 388
EX_NOTIFY_ATTENDANCE(0xFE, 0x30A),
EX_WRANKING_FESTIVAL_INFO(0xFE, 0x30B),
EX_WRANKING_FESTIVAL_SIDEBAR_INFO(0xFE, 0x30C),
EX_WRANKING_FESTIVAL_BU(0xFE, 0x30D),
EX_WRANKING_FESTIVAL_BONUS(0xFE, 0x30E),
EX_WRANKING_FESTIVAL_RANKING(0xFE, 0x30F),
EX_WRANKING_FESTIVAL_MYINFO(0xFE, 0x310),
EX_WRANKING_FESTIVAL_MY_RECEIVED_BONUS(0xFE, 0x311),
EX_WRANKING_FESTIVAL_REWARD(0xFE, 0x312),
EX_TOOLTIP_PARAM(0xFE, 0x313),
EX_RECEIVED_POST_LIST(0xFE, 0x314),
EX_TIME_RESTRICT_FIELD_ENTER_INFO(0xFE, 0x315),
EX_TIME_RESTRICT_FIELD_SERVER_GROUP(0xFE, 0x316),
EX_WORLD_EXCHANGE_SETTLE_ALARM(0xFE, 0x317),
EX_HERO_BOOK_INFO(0xFE, 0x318),
EX_HERO_BOOK_UI(0xFE, 0x319),
EX_HERO_BOOK_CHARGE(0xFE, 0x31A),
EX_HERO_BOOK_ENCHANT(0xFE, 0x31B),
EX_TELEPORT_UI(0xFE, 0x31C),
EX_GOODS_GIFT_CHANGED_NOTIFICATION(0xFE, 0x31D),
EX_GOODS_GIFT_LIST_INFO(0xFE, 0x31E),
EX_GOODS_GIFT_ACCEPT_RESULT(0xFE, 0x31F),
EX_GOODS_GIFT_REFUSE_RESULT(0xFE, 0x320),
EX_NONPVPSERVER_NOTIFY_ACTIVATEFLAG(0xFE, 0x321),
EX_WORLD_EXCHANGE_AVERAGE_PRICE(0xFE, 0x322),
EX_WORLD_EXCHANGE_TOTAL_LIST(0xFE, 0x323),
EX_PRISON_USER_ENTER(0xFE, 0x324),
EX_PRISON_USER_EXIT(0xFE, 0x325),
EX_PRISON_USER_INFO(0xFE, 0x326),
EX_PRISON_USER_DONATION(0xFE, 0x327),
EX_ITEM_RESTORE_OPEN(0xFE, 0x328),
EX_MAX(0xFE, 0x329);
private final int _id1;
private final int _id2;

View File

@ -57,7 +57,7 @@ public class RequestClanAskJoinByName implements IClientIncomingPacket
return;
}
invitedPlayer.sendPacket(new AskJoinPledge(player, _pledgeType, player.getClan().getName()));
invitedPlayer.sendPacket(new AskJoinPledge(player, player.getClan().getName()));
}
public int getPledgeType()

View File

@ -110,7 +110,7 @@ public class RequestJoinPledge implements IClientIncomingPacket
}
final String pledgeName = player.getClan().getName();
target.sendPacket(new AskJoinPledge(player, _pledgeType, pledgeName));
target.sendPacket(new AskJoinPledge(player, pledgeName));
}
public int getPledgeType()

View File

@ -81,6 +81,9 @@ public class RequestPurchaseLimitShopItemBuy implements IClientIncomingPacket
}
}
packet.readD(); // SuccessionItemSID
packet.readD(); // MaterialItemSID
return true;
}

View File

@ -0,0 +1,85 @@
/*
* This file is part of the L2J Mobius project.
*
* This program 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.
*
* This program 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 org.l2jmobius.gameserver.network.clientpackets.newhenna;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.item.henna.Henna;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import org.l2jmobius.gameserver.network.serverpackets.newhenna.NewHennaUnequip;
/**
* @author Index
*/
public class RequestNewHennaUnequipInfo implements IClientIncomingPacket
{
private int _hennaId;
@Override
public boolean read(GameClient client, PacketReader packet)
{
_hennaId = packet.readD();
return true;
}
@Override
public void run(GameClient client)
{
final Player player = client.getPlayer();
if (player == null)
{
return;
}
Henna henna = null;
int slotId = 0;
for (int slot = 1; slot <= 4; slot++)
{
if (player.getHenna(slot) == null)
{
continue;
}
if (player.getHenna(slot).getDyeId() == _hennaId)
{
henna = player.getHenna(slot);
slotId = slot;
break;
}
}
if ((henna == null) || !client.getFloodProtectors().canPerformTransaction())
{
player.sendPacket(ActionFailed.STATIC_PACKET);
player.sendPacket(new NewHennaUnequip(slotId, 0));
return;
}
if (player.getAdena() >= henna.getCancelFee())
{
player.removeHenna(slotId);
player.sendPacket(new NewHennaUnequip(slotId, 1));
}
else
{
player.sendPacket(SystemMessageId.NOT_ENOUGH_ADENA);
player.sendPacket(ActionFailed.STATIC_PACKET);
player.sendPacket(new NewHennaUnequip(slotId, 0));
}
}
}

View File

@ -30,22 +30,20 @@ import org.l2jmobius.gameserver.network.serverpackets.ExVariationResult;
import org.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
/**
* Format:(ch) dddd
* @author -Wooden-
* Format:(ch) ddc
* @author -Wooden-, Index
*/
public class RequestRefine extends AbstractRefinePacket
{
private int _targetItemObjId;
private int _mineralItemObjId;
private long _feeCount;
@Override
public boolean read(GameClient client, PacketReader packet)
{
_targetItemObjId = packet.readD();
_mineralItemObjId = packet.readD();
packet.readD(); // _feeItemObjId
_feeCount = packet.readQ();
packet.readC(); // is event
return true;
}
@ -89,7 +87,7 @@ public class RequestRefine extends AbstractRefinePacket
return;
}
if (_feeCount <= 0)
if (fee.getAdenaFee() <= 0)
{
player.sendPacket(ExVariationResult.FAIL);
player.sendPacket(SystemMessageId.AUGMENTATION_FAILED_DUE_TO_INAPPROPRIATE_CONDITIONS);
@ -157,7 +155,7 @@ public class RequestRefine extends AbstractRefinePacket
// Consume the gemstones.
if (feeItem != null)
{
player.destroyItem("RequestRefine", feeItem, _feeCount, null, false);
player.destroyItem("RequestRefine", feeItem, fee.getAdenaFee(), null, false);
}
// Consume Adena.

View File

@ -23,13 +23,11 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
public class AskJoinPledge implements IClientOutgoingPacket
{
private final Player _requestor;
private final int _pledgeType;
private final String _pledgeName;
public AskJoinPledge(Player requestor, int pledgeType, String pledgeName)
public AskJoinPledge(Player requestor, String pledgeName)
{
_requestor = requestor;
_pledgeType = pledgeType;
_pledgeName = pledgeName;
}
@ -38,12 +36,10 @@ public class AskJoinPledge implements IClientOutgoingPacket
{
OutgoingPackets.ASK_JOIN_PLEDGE.writeId(packet);
packet.writeD(_requestor.getObjectId());
packet.writeS(_requestor.getName());
packet.writeS("");
packet.writeS(_pledgeName);
if (_pledgeType != 0)
{
packet.writeD(_pledgeType);
}
packet.writeD(0);
packet.writeS("");
return true;
}
}

View File

@ -49,11 +49,13 @@ public class DropItem implements IClientOutgoingPacket
// only show item count if it is a stackable item
packet.writeC(_item.isStackable() ? 1 : 0);
packet.writeQ(_item.getCount());
packet.writeC(0);
// packet.writeD(1); if above C == true (1) then packet.readD()
packet.writeD(0);
packet.writeC(_item.getEnchantLevel() > 0 ? 1 : 0);
packet.writeD(0);
packet.writeC(_item.getEnchantLevel()); // Grand Crusade
packet.writeC(_item.getAugmentation() != null ? 1 : 0); // Grand Crusade
packet.writeC(_item.getSpecialAbilities().size()); // Grand Crusade
packet.writeC(0);
return true;
}
}

View File

@ -92,9 +92,15 @@ public class GMViewCharacterInfo implements IClientOutgoingPacket
packet.writeD(augment != null ? augment.getOption1Id() : 0); // Confirmed
packet.writeD(augment != null ? augment.getOption2Id() : 0); // Confirmed
}
for (int index = 0; index < 98; index++)
{
packet.writeD(0); // unk
}
packet.writeC(0); // unk
packet.writeC(0); // unk
packet.writeC(_player.getInventory().getTalismanSlots()); // CT2.3
packet.writeC(_player.getInventory().canEquipCloak() ? 1 : 0); // CT2.3
packet.writeD(0);
packet.writeC(0);
packet.writeH(0);
packet.writeD(_player.getPAtk());
packet.writeD(_player.getPAtkSpd());

View File

@ -62,7 +62,7 @@ public class HennaItemRemoveInfo implements IClientOutgoingPacket
packet.writeH(0); // equip LUC
packet.writeD(0); // current CHA
packet.writeH(0); // equip CHA
packet.writeD(0);
packet.writeD(_henna.getDuration() * 60000);
return true;
}
}

View File

@ -50,7 +50,8 @@ public class ShortCutRegister implements IClientOutgoingPacket
packet.writeD(0); // unknown
packet.writeD(0); // unknown
packet.writeD(0); // item augment id
packet.writeD(0); // TODO: Find me, item visual id ?
packet.writeD(0); // item augment id
packet.writeD(0); // visual id
break;
}
case SKILL:
@ -61,8 +62,8 @@ public class ShortCutRegister implements IClientOutgoingPacket
packet.writeD(_shortcut.getSharedReuseGroup());
packet.writeC(0); // C5
packet.writeD(_shortcut.getCharacterType());
packet.writeD(0); // TODO: Find me
packet.writeD(0); // TODO: Find me
packet.writeD(0); // if 1 - cant use
packet.writeD(0); // reuse delay ?
break;
}
case ACTION:

View File

@ -45,6 +45,7 @@ public class SpawnItem implements IClientOutgoingPacket
packet.writeC(_item.getEnchantLevel()); // Grand Crusade
packet.writeC(_item.getAugmentation() != null ? 1 : 0); // Grand Crusade
packet.writeC(_item.getSpecialAbilities().size()); // Grand Crusade
packet.writeC(0);
return true;
}
}

View File

@ -45,7 +45,8 @@ public class ExCollectionRegister implements IClientOutgoingPacket
OutgoingPackets.EX_COLLECTION_REGISTER.writeId(packet);
packet.writeH(_collectionId);
packet.writeC(_success); // success
packet.writeH(250); // 256 - size so far
packet.writeC(0); // recursive reward
packet.writeH(249); // 256 - size so far
packet.writeC(_index); // slot index
packet.writeD(_collectionInfo.getId()); // item classId
packet.writeH(_collectionInfo.getEnchantLevel()); // enchant level

View File

@ -47,7 +47,13 @@ public class TimedHuntingZoneList implements IClientOutgoingPacket
packet.writeD(TimedHuntingZoneData.getInstance().getSize()); // zone count
for (TimedHuntingZoneHolder holder : TimedHuntingZoneData.getInstance().getAllHuntingZones())
{
packet.writeD(holder.getEntryFee() == 0 ? 0 : 1); // required item count
final boolean isFree = holder.getEntryFee() == 0;
packet.writeD(isFree ? 0 : 1); // size of array - required item count
if (!isFree) // is array
{
packet.writeD(holder.getEntryItemId());
packet.writeQ(holder.getEntryFee());
}
packet.writeD(holder.getEntryItemId());
packet.writeQ(holder.getEntryFee());
packet.writeD(holder.isWeekly() ? 0 : 1); // reset cycle
@ -70,6 +76,8 @@ public class TimedHuntingZoneList implements IClientOutgoingPacket
packet.writeC(0); // bIsInZonePCCafeUserOnly
packet.writeC(0); // bIsPCCafeUser
packet.writeC(holder.useWorldPrefix() ? 1 : 0); // bWorldInZone
packet.writeC(0); // bCanUseEntranceTicket
packet.writeD(0); // nEntranceCount
}
return true;
}

View File

@ -59,6 +59,8 @@ public class NewHennaList implements IClientOutgoingPacket
packet.writeH(hennaPoten.getEnchantLevel());
packet.writeD(hennaPoten.getEnchantExp());
packet.writeH(hennaPoten.getActiveStep());
packet.writeH(_dailyStep);
packet.writeH(_dailyCount);
}
return true;
}

View File

@ -55,6 +55,8 @@ public class NewHennaPotenEnchant implements IClientOutgoingPacket
packet.writeH(_dailyCount);
packet.writeH(_activeStep);
packet.writeC(_success ? 1 : 0);
packet.writeH(_dailyStep);
packet.writeH(_dailyCount);
return true;
}
}

View File

@ -41,12 +41,13 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
public boolean write(PacketWriter packet)
{
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
packet.writeD(0); // BossRespawnFactor
packet.writeD(_statuses.size()); // count
for (Entry<Integer, RaidBossStatus> entry : _statuses.entrySet())
{
packet.writeD(entry.getKey());
packet.writeD(entry.getValue().ordinal());
packet.writeD(0);
packet.writeD(0); // DeadDateTime
}
return true;
}

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/GameServer.java"/>
<listEntry value="/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/GameServer.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
@ -12,7 +12,7 @@
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.l2jmobius.gameserver.GameServer"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="L2J_Mobius_Essence_6.2_Vanguard"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Essence_6.2_Vanguard"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Essence_6.2_Vanguard}/dist/game/"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="L2J_Mobius_Essence_6.3_Crusader"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Essence_6.3_Crusader"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Essence_6.3_Crusader}/dist/game/"/>
</launchConfiguration>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/loginserver/LoginServer.java"/>
<listEntry value="/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/loginserver/LoginServer.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
@ -13,7 +13,7 @@
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.l2jmobius.loginserver.LoginServer"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="L2J_Mobius_Essence_6.2_Vanguard"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Essence_6.2_Vanguard"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Essence_6.2_Vanguard}/dist/login/"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="L2J_Mobius_Essence_6.3_Crusader"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="L2J_Mobius_Essence_6.3_Crusader"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:L2J_Mobius_Essence_6.3_Crusader}/dist/login/"/>
</launchConfiguration>

View File

@ -1,12 +1,12 @@
L2J-Mobius Vanguard
L2J-Mobius Crusader
JDK: https://www.mediafire.com/file/kb2nfx54wojys4f/bellsoft-jdk17.0.2%252B9-windows-amd64.msi
XAMPP: https://www.mediafire.com/file/hkehxpyjn81ybsw/xampp-windows-x64-8.0.11-2-VS16-installer.exe
Eclipse: https://www.mediafire.com/file/j208qw3s7zwx7c7/eclipse-java-2021-12-R-win32-x86_64.zip
Geodata: https://www.mediafire.com/file/p1mcjh74p8fn09p/L2J_Mobius_Essence_6.2_Vanguard_Geodata.zip
Geodata:
Client (password L2jMobius): https://drive.google.com/u/0/uc?id=1-8CWkwP7ZZlcmiykFdL_B9WvdSYXaKvI&export=download
System: https://mega.nz/file/oxl2mBQC#yt6P9XkfTbp7Sko7TG54-9vk6r5mAm732mwhbNhwO88
Client (password L2jMobius):
System:
All provided download links are for personal use. Redistribution of these links is bannable.
@ -147,6 +147,9 @@ Vanguard: https://eu.4game.com/patchnotes/lineage2essence/387/
-New enchant system
-Chest and box auto-use
Crusader: https://eu.4game.com/patchnotes/lineage2essence/416/
-Login support
Customs:
-Newbie Helper NPC location info
-Newbie Helper buff support until 40 level