public void reset() { handlers = new MaplePacketHandler[handlers.length]; registerHandler(RecvOpcode.PONG, new KeepAliveHandler()); registerHandler(RecvOpcode.CUSTOM_PACKET, new CustomPacketHandler()); // LOGIN HANDLERS registerHandler(RecvOpcode.ACCEPT_TOS, new AcceptToSHandler()); registerHandler(RecvOpcode.AFTER_LOGIN, new AfterLoginHandler()); registerHandler(RecvOpcode.SERVERLIST_REREQUEST, new ServerlistRequestHandler()); registerHandler(RecvOpcode.CHARLIST_REQUEST, new CharlistRequestHandler()); registerHandler(RecvOpcode.CHAR_SELECT, new CharSelectedHandler()); registerHandler(RecvOpcode.LOGIN_PASSWORD, new LoginPasswordHandler()); registerHandler(RecvOpcode.RELOG, new RelogRequestHandler()); registerHandler(RecvOpcode.SERVERLIST_REQUEST, new ServerlistRequestHandler()); registerHandler(RecvOpcode.SERVERSTATUS_REQUEST, new ServerStatusRequestHandler()); registerHandler(RecvOpcode.CHECK_CHAR_NAME, new CheckCharNameHandler()); registerHandler(RecvOpcode.CREATE_CHAR, new CreateCharHandler()); registerHandler(RecvOpcode.DELETE_CHAR, new DeleteCharHandler()); registerHandler(RecvOpcode.VIEW_ALL_CHAR, new ViewCharHandler()); registerHandler(RecvOpcode.PICK_ALL_CHAR, new PickCharHandler()); registerHandler(RecvOpcode.REGISTER_PIN, new RegisterPinHandler()); registerHandler(RecvOpcode.GUEST_LOGIN, new GuestLoginHandler()); registerHandler(RecvOpcode.REGISTER_PIC, new RegisterPicHandler()); registerHandler(RecvOpcode.CHAR_SELECT_WITH_PIC, new CharSelectedWithPicHandler()); registerHandler(RecvOpcode.SET_GENDER, new SetGenderHandler()); registerHandler(RecvOpcode.VIEW_ALL_WITH_PIC, new ViewAllCharSelectedWithPicHandler()); registerHandler(RecvOpcode.VIEW_ALL_PIC_REGISTER, new ViewAllPicRegisterHandler()); // CHANNEL HANDLERS registerHandler(RecvOpcode.CHANGE_CHANNEL, new ChangeChannelHandler()); registerHandler(RecvOpcode.STRANGE_DATA, LoginRequiringNoOpHandler.getInstance()); registerHandler(RecvOpcode.GENERAL_CHAT, new GeneralChatHandler()); registerHandler(RecvOpcode.WHISPER, new WhisperHandler()); registerHandler(RecvOpcode.NPC_TALK, new NPCTalkHandler()); registerHandler(RecvOpcode.NPC_TALK_MORE, new NPCMoreTalkHandler()); registerHandler(RecvOpcode.QUEST_ACTION, new QuestActionHandler()); registerHandler(RecvOpcode.NPC_SHOP, new NPCShopHandler()); registerHandler(RecvOpcode.ITEM_SORT, new ItemSortHandler()); registerHandler(RecvOpcode.ITEM_MOVE, new ItemMoveHandler()); registerHandler(RecvOpcode.MESO_DROP, new MesoDropHandler()); registerHandler(RecvOpcode.PLAYER_LOGGEDIN, new PlayerLoggedinHandler()); registerHandler(RecvOpcode.CHANGE_MAP, new ChangeMapHandler()); registerHandler(RecvOpcode.MOVE_LIFE, new MoveLifeHandler()); registerHandler(RecvOpcode.CLOSE_RANGE_ATTACK, new CloseRangeDamageHandler()); registerHandler(RecvOpcode.RANGED_ATTACK, new RangedAttackHandler()); registerHandler(RecvOpcode.MAGIC_ATTACK, new MagicDamageHandler()); registerHandler(RecvOpcode.TAKE_DAMAGE, new TakeDamageHandler()); registerHandler(RecvOpcode.MOVE_PLAYER, new MovePlayerHandler()); registerHandler(RecvOpcode.USE_CASH_ITEM, new UseCashItemHandler()); registerHandler(RecvOpcode.USE_ITEM, new UseItemHandler()); registerHandler(RecvOpcode.USE_RETURN_SCROLL, new UseItemHandler()); registerHandler(RecvOpcode.USE_UPGRADE_SCROLL, new ScrollHandler()); registerHandler(RecvOpcode.USE_SUMMON_BAG, new UseSummonBag()); registerHandler(RecvOpcode.FACE_EXPRESSION, new FaceExpressionHandler()); registerHandler(RecvOpcode.HEAL_OVER_TIME, new HealOvertimeHandler()); registerHandler(RecvOpcode.ITEM_PICKUP, new ItemPickupHandler()); registerHandler(RecvOpcode.CHAR_INFO_REQUEST, new CharInfoRequestHandler()); registerHandler(RecvOpcode.SPECIAL_MOVE, new SpecialMoveHandler()); registerHandler(RecvOpcode.USE_INNER_PORTAL, new InnerPortalHandler()); registerHandler(RecvOpcode.CANCEL_BUFF, new CancelBuffHandler()); registerHandler(RecvOpcode.CANCEL_ITEM_EFFECT, new CancelItemEffectHandler()); registerHandler(RecvOpcode.PLAYER_INTERACTION, new PlayerInteractionHandler()); registerHandler(RecvOpcode.DISTRIBUTE_AP, new DistributeAPHandler()); registerHandler(RecvOpcode.DISTRIBUTE_SP, new DistributeSPHandler()); registerHandler(RecvOpcode.CHANGE_KEYMAP, new KeymapChangeHandler()); registerHandler(RecvOpcode.CHANGE_MAP_SPECIAL, new ChangeMapSpecialHandler()); registerHandler(RecvOpcode.STORAGE, new StorageHandler()); registerHandler(RecvOpcode.GIVE_FAME, new GiveFameHandler()); registerHandler(RecvOpcode.PARTY_OPERATION, new PartyOperationHandler()); registerHandler(RecvOpcode.DENY_PARTY_REQUEST, new DenyPartyRequestHandler()); registerHandler(RecvOpcode.PARTYCHAT, new PartyChatHandler()); registerHandler(RecvOpcode.USE_DOOR, new DoorHandler()); registerHandler(RecvOpcode.ENTER_MTS, new EnterMTSHandler()); registerHandler(RecvOpcode.ENTER_CASHSHOP, new EnterCashShopHandler()); registerHandler(RecvOpcode.DAMAGE_SUMMON, new DamageSummonHandler()); registerHandler(RecvOpcode.MOVE_SUMMON, new MoveSummonHandler()); registerHandler(RecvOpcode.SUMMON_ATTACK, new SummonDamageHandler()); registerHandler(RecvOpcode.BUDDYLIST_MODIFY, new BuddylistModifyHandler()); registerHandler(RecvOpcode.USE_ITEMEFFECT, new UseItemEffectHandler()); registerHandler(RecvOpcode.USE_CHAIR, new UseChairHandler()); registerHandler(RecvOpcode.CANCEL_CHAIR, new CancelChairHandler()); registerHandler(RecvOpcode.DAMAGE_REACTOR, new ReactorHitHandler()); registerHandler(RecvOpcode.GUILD_OPERATION, new GuildOperationHandler()); registerHandler(RecvOpcode.DENY_GUILD_REQUEST, new DenyGuildRequestHandler()); registerHandler(RecvOpcode.BBS_OPERATION, new BBSOperationHandler()); registerHandler(RecvOpcode.SKILL_EFFECT, new SkillEffectHandler()); registerHandler(RecvOpcode.MESSENGER, new MessengerHandler()); registerHandler(RecvOpcode.NPC_ACTION, new NPCAnimation()); registerHandler(RecvOpcode.CHECK_CASH, new TouchingCashShopHandler()); registerHandler(RecvOpcode.CASHSHOP_OPERATION, new CashOperationHandler()); registerHandler(RecvOpcode.COUPON_CODE, new CouponCodeHandler()); registerHandler(RecvOpcode.SPAWN_PET, new SpawnPetHandler()); registerHandler(RecvOpcode.MOVE_PET, new MovePetHandler()); registerHandler(RecvOpcode.PET_CHAT, new PetChatHandler()); registerHandler(RecvOpcode.PET_COMMAND, new PetCommandHandler()); registerHandler(RecvOpcode.PET_FOOD, new PetFoodHandler()); registerHandler(RecvOpcode.PET_LOOT, new PetLootHandler()); registerHandler(RecvOpcode.AUTO_AGGRO, new AutoAggroHandler()); registerHandler(RecvOpcode.MONSTER_BOMB, new MonsterBombHandler()); registerHandler(RecvOpcode.CANCEL_DEBUFF, new CancelDebuffHandler()); registerHandler(RecvOpcode.USE_SKILL_BOOK, new SkillBookHandler()); registerHandler(RecvOpcode.SKILL_MACRO, new SkillMacroHandler()); registerHandler(RecvOpcode.NOTE_ACTION, new NoteActionHandler()); registerHandler(RecvOpcode.CLOSE_CHALKBOARD, new CloseChalkboardHandler()); registerHandler(RecvOpcode.USE_MOUNT_FOOD, new UseMountFoodHandler()); registerHandler(RecvOpcode.MTS_OPERATION, new MTSHandler()); registerHandler(RecvOpcode.RING_ACTION, new RingActionHandler()); registerHandler(RecvOpcode.SPOUSE_CHAT, new SpouseChatHandler()); registerHandler(RecvOpcode.PET_AUTO_POT, new PetAutoPotHandler()); registerHandler(RecvOpcode.PET_EXCLUDE_ITEMS, new PetExcludeItemsHandler()); registerHandler(RecvOpcode.TOUCH_MONSTER_ATTACK, new TouchMonsterDamageHandler()); registerHandler(RecvOpcode.TROCK_ADD_MAP, new TrockAddMapHandler()); registerHandler(RecvOpcode.HIRED_MERCHANT_REQUEST, new HiredMerchantRequest()); registerHandler(RecvOpcode.MOB_DAMAGE_MOB, new MobDamageMobHandler()); registerHandler(RecvOpcode.REPORT, new ReportHandler()); registerHandler(RecvOpcode.MONSTER_BOOK_COVER, new MonsterBookCoverHandler()); registerHandler(RecvOpcode.AUTO_DISTRIBUTE_AP, new AutoAssignHandler()); registerHandler(RecvOpcode.MAKER_SKILL, new MakerSkillHandler()); registerHandler(RecvOpcode.ADD_FAMILY, new FamilyAddHandler()); registerHandler(RecvOpcode.USE_FAMILY, new FamilyUseHandler()); registerHandler(RecvOpcode.USE_HAMMER, new UseHammerHandler()); registerHandler(RecvOpcode.SCRIPTED_ITEM, new ScriptedItemHandler()); registerHandler(RecvOpcode.TOUCHING_REACTOR, new TouchReactorHandler()); registerHandler(RecvOpcode.BEHOLDER, new BeholderHandler()); registerHandler(RecvOpcode.ADMIN_COMMAND, new AdminCommandHandler()); registerHandler(RecvOpcode.ADMIN_LOG, new AdminLogHandler()); registerHandler(RecvOpcode.ALLIANCE_OPERATION, new AllianceOperationHandler()); registerHandler(RecvOpcode.USE_SOLOMON_ITEM, new UseSolomonHandler()); registerHandler(RecvOpcode.USE_GACHA_EXP, new UseGachaExpHandler()); registerHandler(RecvOpcode.USE_ITEM_REWARD, new ItemRewardHandler()); registerHandler(RecvOpcode.USE_REMOTE, new RemoteGachaponHandler()); registerHandler(RecvOpcode.ACCEPT_FAMILY, new AcceptFamilyHandler()); registerHandler(RecvOpcode.DUEY_ACTION, new DueyHandler()); registerHandler(RecvOpcode.USE_DEATHITEM, new UseDeathItemHandler()); // registerHandler(RecvOpcode.PLAYER_UPDATE, new // PlayerUpdateHandler());don't use unused stuff registerHandler(RecvOpcode.USE_MAPLELIFE, new UseMapleLifeHandler()); registerHandler(RecvOpcode.USE_CATCH_ITEM, new UseCatchItemHandler()); registerHandler(RecvOpcode.MOB_DAMAGE_MOB_FRIENDLY, new MobDamageMobFriendlyHandler()); registerHandler(RecvOpcode.PARTY_SEARCH_REGISTER, new PartySearchRegisterHandler()); registerHandler(RecvOpcode.PARTY_SEARCH_START, new PartySearchStartHandler()); registerHandler(RecvOpcode.ITEM_SORT2, new ItemIdSortHandler()); registerHandler(RecvOpcode.LEFT_KNOCKBACK, new LeftKnockbackHandler()); registerHandler(RecvOpcode.SNOWBALL, new SnowballHandler()); registerHandler(RecvOpcode.COCONUT, new CoconutHandler()); registerHandler(RecvOpcode.TEMP_SKILL, new TempSkillHandler()); registerHandler(RecvOpcode.ARAN_COMBO_COUNTER, new AranComboHandler()); registerHandler(RecvOpcode.CLICK_GUIDE, new ClickGuideHandler()); registerHandler(RecvOpcode.FREDRICK_ACTION, new FredrickHandler()); registerHandler(RecvOpcode.MONSTER_CARNIVAL, new MonsterCarnivalHandler()); registerHandler(RecvOpcode.REMOTE_STORE, new RemoteStoreHandler()); registerHandler(RecvOpcode.WEDDING_ACTION, new WeddingHandler()); }
public void reset(Mode mode) { registerHandler(RecvPacketOpcode.PONG, new KeepAliveHandler()); if (mode == Mode.LOGINSERVER) { registerHandler(RecvPacketOpcode.AFTER_LOGIN, new AfterLoginHandler()); registerHandler(RecvPacketOpcode.SERVERLIST_REREQUEST, new ServerlistRequestHandler()); registerHandler(RecvPacketOpcode.CHARLIST_REQUEST, new CharlistRequestHandler()); registerHandler(RecvPacketOpcode.CHAR_SELECT, new CharSelectedHandler()); registerHandler(RecvPacketOpcode.LOGIN_PASSWORD, new LoginPasswordHandler()); registerHandler(RecvPacketOpcode.RELOG, new RelogRequestHandler()); registerHandler(RecvPacketOpcode.SERVERLIST_REQUEST, new ServerlistRequestHandler()); registerHandler(RecvPacketOpcode.SERVERSTATUS_REQUEST, new ServerStatusRequestHandler()); registerHandler(RecvPacketOpcode.CHECK_CHAR_NAME, new CheckCharNameHandler()); registerHandler(RecvPacketOpcode.CREATE_CHAR, new CreateCharHandler()); registerHandler(RecvPacketOpcode.DELETE_CHAR, new DeleteCharHandler()); registerHandler(RecvPacketOpcode.VIEW_ALL_CHAR, new ViewCharHandler()); registerHandler(RecvPacketOpcode.PICK_ALL_CHAR, new PickCharHandler()); } else if (mode == Mode.CHANNELSERVER) { registerHandler(RecvPacketOpcode.CHANGE_CHANNEL, new ChangeChannelHandler()); registerHandler(RecvPacketOpcode.STRANGE_DATA, LoginRequiringNoOpHandler.getInstance()); registerHandler(RecvPacketOpcode.GENERAL_CHAT, new GeneralchatHandler()); registerHandler(RecvPacketOpcode.WHISPER, new WhisperHandler()); registerHandler(RecvPacketOpcode.NPC_TALK, new NPCTalkHandler()); registerHandler(RecvPacketOpcode.NPC_TALK_MORE, new NPCMoreTalkHandler()); registerHandler(RecvPacketOpcode.QUEST_ACTION, new QuestActionHandler()); registerHandler(RecvPacketOpcode.NPC_SHOP, new NPCShopHandler()); registerHandler(RecvPacketOpcode.ITEM_SORT, new ItemSortHandler()); registerHandler(RecvPacketOpcode.ITEM_MOVE, new ItemMoveHandler()); registerHandler(RecvPacketOpcode.MESO_DROP, new MesoDropHandler()); registerHandler(RecvPacketOpcode.PLAYER_LOGGEDIN, new PlayerLoggedinHandler()); registerHandler(RecvPacketOpcode.CHANGE_MAP, new ChangeMapHandler()); registerHandler(RecvPacketOpcode.MOVE_LIFE, new MoveLifeHandler()); registerHandler(RecvPacketOpcode.CLOSE_RANGE_ATTACK, new CloseRangeDamageHandler()); registerHandler(RecvPacketOpcode.RANGED_ATTACK, new RangedAttackHandler()); registerHandler(RecvPacketOpcode.MAGIC_ATTACK, new MagicDamageHandler()); registerHandler(RecvPacketOpcode.TAKE_DAMAGE, new TakeDamageHandler()); registerHandler(RecvPacketOpcode.MOVE_PLAYER, new MovePlayerHandler()); registerHandler(RecvPacketOpcode.USE_CASH_ITEM, new UseCashItemHandler()); registerHandler(RecvPacketOpcode.USE_ITEM, new UseItemHandler()); registerHandler(RecvPacketOpcode.USE_RETURN_SCROLL, new UseItemHandler()); registerHandler(RecvPacketOpcode.USE_UPGRADE_SCROLL, new ScrollHandler()); registerHandler(RecvPacketOpcode.USE_SUMMON_BAG, new UseSummonBag()); registerHandler(RecvPacketOpcode.FACE_EXPRESSION, new FaceExpressionHandler()); registerHandler(RecvPacketOpcode.HEAL_OVER_TIME, new HealOvertimeHandler()); registerHandler(RecvPacketOpcode.ITEM_PICKUP, new ItemPickupHandler()); registerHandler(RecvPacketOpcode.CHAR_INFO_REQUEST, new CharInfoRequestHandler()); registerHandler(RecvPacketOpcode.SPECIAL_MOVE, new SpecialMoveHandler()); registerHandler(RecvPacketOpcode.USE_INNER_PORTAL, new InnerPortalHandler()); registerHandler(RecvPacketOpcode.TROCK_ADD_MAP, new VIPRockAddMapHandler()); registerHandler(RecvPacketOpcode.CANCEL_BUFF, new CancelBuffHandler()); registerHandler(RecvPacketOpcode.CANCEL_ITEM_EFFECT, new CancelItemEffectHandler()); registerHandler(RecvPacketOpcode.PLAYER_INTERACTION, new PlayerInteractionHandler()); registerHandler(RecvPacketOpcode.DISTRIBUTE_AP, new DistributeAPHandler()); registerHandler(RecvPacketOpcode.DISTRIBUTE_SP, new DistributeSPHandler()); registerHandler(RecvPacketOpcode.CHANGE_KEYMAP, new KeymapChangeHandler()); registerHandler(RecvPacketOpcode.CHANGE_MAP_SPECIAL, new ChangeMapSpecialHandler()); registerHandler(RecvPacketOpcode.STORAGE, new StorageHandler()); registerHandler(RecvPacketOpcode.GIVE_FAME, new GiveFameHandler()); registerHandler(RecvPacketOpcode.PARTY_OPERATION, new PartyOperationHandler()); registerHandler(RecvPacketOpcode.DENY_PARTY_REQUEST, new DenyPartyRequestHandler()); registerHandler(RecvPacketOpcode.PARTYCHAT, new PartychatHandler()); registerHandler(RecvPacketOpcode.USE_DOOR, new DoorHandler()); registerHandler(RecvPacketOpcode.ENTER_MTS, new EnterMTSHandler()); registerHandler(RecvPacketOpcode.ENTER_CASH_SHOP, new EnterCashShopHandler()); registerHandler(RecvPacketOpcode.DAMAGE_SUMMON, new DamageSummonHandler()); registerHandler(RecvPacketOpcode.MOVE_SUMMON, new MoveSummonHandler()); registerHandler(RecvPacketOpcode.SUMMON_ATTACK, new SummonDamageHandler()); registerHandler(RecvPacketOpcode.BUDDYLIST_MODIFY, new BuddylistModifyHandler()); registerHandler(RecvPacketOpcode.USE_ITEMEFFECT, new UseItemEffectHandler()); registerHandler(RecvPacketOpcode.USE_CHAIR, new UseChairHandler()); registerHandler(RecvPacketOpcode.CANCEL_CHAIR, new CancelChairHandler()); registerHandler(RecvPacketOpcode.DAMAGE_REACTOR, new ReactorHitHandler()); registerHandler(RecvPacketOpcode.GUILD_OPERATION, new GuildOperationHandler()); registerHandler(RecvPacketOpcode.DENY_GUILD_REQUEST, new DenyGuildRequestHandler()); registerHandler(RecvPacketOpcode.BBS_OPERATION, new BBSOperationHandler()); registerHandler(RecvPacketOpcode.SKILL_EFFECT, new SkillEffectHandler()); registerHandler(RecvPacketOpcode.MESSENGER, new MessengerHandler()); registerHandler(RecvPacketOpcode.NPC_ACTION, new NPCAnimation()); registerHandler(RecvPacketOpcode.TOUCHING_CS, new TouchingCashShopHandler()); registerHandler(RecvPacketOpcode.BUY_CS_ITEM, new BuyCSItemHandler()); registerHandler(RecvPacketOpcode.COUPON_CODE, new CouponCodeHandler()); registerHandler(RecvPacketOpcode.SPAWN_PET, new SpawnPetHandler()); registerHandler(RecvPacketOpcode.MOVE_PET, new MovePetHandler()); registerHandler(RecvPacketOpcode.PET_CHAT, new PetChatHandler()); registerHandler(RecvPacketOpcode.PET_COMMAND, new PetCommandHandler()); registerHandler(RecvPacketOpcode.PET_FOOD, new PetFoodHandler()); registerHandler(RecvPacketOpcode.PET_LOOT, new PetLootHandler()); registerHandler(RecvPacketOpcode.AUTO_AGGRO, new AutoAggroHandler()); registerHandler(RecvPacketOpcode.MONSTER_BOMB, new MonsterBombHandler()); registerHandler(RecvPacketOpcode.CANCEL_DEBUFF, new CancelDebuffHandler()); registerHandler(RecvPacketOpcode.USE_SKILL_BOOK, new SkillBookHandler()); registerHandler(RecvPacketOpcode.SKILL_MACRO, new SkillMacroHandler()); registerHandler(RecvPacketOpcode.NOTE_ACTION, new NoteActionHandler()); registerHandler(RecvPacketOpcode.MAPLETV, new MapleTVHandler()); registerHandler(RecvPacketOpcode.ENABLE_ACTION, new EnableActionHandler()); registerHandler(RecvPacketOpcode.USE_CATCH_ITEM, new UseCatchItemHandler()); registerHandler(RecvPacketOpcode.USE_MOUNT_FOOD, new UseMountFoodHandler()); registerHandler(RecvPacketOpcode.CLOSE_CHALKBOARD, new CloseChalkboardHandler()); registerHandler(RecvPacketOpcode.DUEY_ACTION, new DueyHandler()); registerHandler(RecvPacketOpcode.MONSTER_CARNIVAL, new MonsterCarnivalHandler()); registerHandler(RecvPacketOpcode.RING_ACTION, new RingActionHandler()); registerHandler(RecvPacketOpcode.SPOUSE_CHAT, new SpouseChatHandler()); registerHandler(RecvPacketOpcode.REPORT_PLAYER, new ReportHandler()); registerHandler(RecvPacketOpcode.PASSIVE_ENERGY, new PassiveEnergyHandler()); registerHandler(RecvPacketOpcode.UNSTUCK, new UnstuckHandler()); registerHandler(RecvPacketOpcode.MOB_DAMAGE_MOB, new MobDamageMobHandler()); registerHandler(RecvPacketOpcode.MTS_OP, new MTSHandler()); registerHandler(RecvPacketOpcode.DISCONNECT, new DisconnectHandler()); registerHandler(RecvPacketOpcode.ALLIANCE_OPERATION, new AllianceOperationHandler()); registerHandler(RecvPacketOpcode.PET_AUTO_POT, new PetAutoPotHandler()); registerHandler(RecvPacketOpcode.HIRED_MERCHANT, new OpenHiredHandler()); registerHandler(RecvPacketOpcode.HIRED_MERCHANT_REQUEST, new HiredMerchantRequest()); registerHandler(RecvPacketOpcode.SILVER_BOX, new SilverBox()); } else { throw new RuntimeException("Cannot find packet handler."); } }