package handling; import constants.GameConstants; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; public enum SendPacketOpcode implements WritableIntValueHolder { PING, LOGIN_STATUS, LOGIN_SECOND, CLIENT_AUTH, PIN_OPERATION, PHANTOM_CARD, FARM_OPEN, LUMINOUS_COMBO, UNLOCK_SKILL, SECONDPW_ERROR, SERVERLIST, SERVERSTATUS, SERVER_IP, CHARLIST, TARGET_SKILL_MENU, EQUIPPED_SKILL, CHAR_NAME_RESPONSE, ADD_NEW_CHAR_ENTRY, DELETE_CHAR_RESPONSE, CHANNEL_SELECTED, ALL_CHARLIST, STEAL_SKILL, RSA_KEY, ENABLE_RECOMMENDED, SEND_RECOMMENDED, LOGIN_WELCOME, CHANGE_NAME_CHECK, CHANGE_NAME_RESPONSE, GACHAPON_STAMPS, FREE_CASH_ITEM, INNER_ABILITY_RESET_MSG, ONE_A_DAY, CHANGE_CHANNEL, SHOW_TITLE, UPDATE_STATS, DoJang_Rank, CS_CHARGE_CASH, LOCK_CHARGE_SKILL, UNLOCK_CHARGE_SKILL, FAME_RESPONSE, OWL_RESULT, USE_CASH_PET_FOOD, WEDDING_GIFT, UPDATE_SKILLS, SHOW_SPECIAL_EFFECT, YOUR_INFORMATION, CARD_DROPS, PINKBEAN_CHOCO, MULUNG_DOJO_RANKING, AUTO_CC_MSG, ALIEN_SOCKET_CREATOR, MULUNG_MESSAGE, SHOW_FUSION_EFFECT, UPDATE_IMP_TIME, FIND_FRIEND, BOMB_LIE_DETECTOR, REPORT_RESPONSE, REPORT_TIME, RANDOM_MESOBAG_SUCCESS, BUFF_ZONE_EFFECT, TIME_BOMB_ATTACK, REISSUE_MEDAL, RANDOM_MESOBAG_FAILURE, POTION_BONUS, DISABLE_NPC, ENABLE_POTENTIAL_EFF, REPORT_STATUS, SHOW_FIREWORKS_EFFECT, SHOW_MAGNIFYING_EFFECT, SHOW_NEBULITE_EFFECT, SHEEP_RANCH_INFO, SHEEP_RANCH_CLOTHES, AP_RESET, ARIANT_SCOREBOARD, ARIANT_SCORE_UPDATE, BOAT_MOVE, BOAT_STATE, WITCH_TOWER, PYRAMID_KILL_COUNT, AZWAN_FAME, QUICK_MOVE, PVP_DAMAGED, ANDROID_UPDATE, SHOW_PQ_REWARD, PVP_DETAILS, NETT_PYRAMID, EXPAND_CHARACTER_SLOTS, WARP_TO_MAP, SERVERMESSAGE, ECHO_MESSAGE, AVATAR_MEGA, SPAWN_NPC, REMOVE_NPC, SPAWN_NPC_REQUEST_CONTROLLER, SPAWN_MONSTER, SPAWN_MONSTER_CONTROL, MOVE_MONSTER_RESPONSE, CHATTEXT, SHOW_STATUS_INFO, SHOW_MESO_GAIN, SHOW_QUEST_COMPLETION, WHISPER, SPAWN_PLAYER, ANNOUNCE_PLAYER_SHOP, SHOW_SCROLL_EFFECT, SHOW_ITEM_GAIN_INCHAT, CURRENT_MAP_WARP, KILL_MONSTER, DROP_ITEM_FROM_MAPOBJECT, FACIAL_EXPRESSION, MOVE_PLAYER, MOVE_MONSTER, CLOSE_RANGE_ATTACK, RANGED_ATTACK, MAGIC_ATTACK, ENERGY_ATTACK, OPEN_NPC_SHOP, CONFIRM_SHOP_TRANSACTION, OPEN_STORAGE, INVENTORY_OPERATION, SCroll_MSG, REMOVE_PLAYER_FROM_MAP, REMOVE_ITEM_FROM_MAP, UPDATE_CHAR_LOOK, SHOW_FOREIGN_EFFECT, GIVE_FOREIGN_BUFF, CANCEL_FOREIGN_BUFF, DAMAGE_PLAYER, CHAR_INFO, UPDATE_QUEST_INFO, GIVE_BUFF, CANCEL_BUFF, PLAYER_INTERACTION, UPDATE_CHAR_BOX, NPC_TALK, KEYMAP, SHOW_MONSTER_HP, PARTY_OPERATION, UPDATE_PARTYMEMBER_HP, MULTICHAT, APPLY_MONSTER_STATUS, CANCEL_MONSTER_STATUS, CLOCK, SPAWN_PORTAL, SPAWN_DOOR, REMOVE_DOOR, SPAWN_SUMMON, REMOVE_SUMMON, SUMMON_ATTACK, MOVE_SUMMON, SPAWN_MIST, REMOVE_MIST, DAMAGE_SUMMON, DAMAGE_MONSTER, BUDDYLIST, SHOW_ITEM_EFFECT, ANGELIC_CHANGE, SHOW_CHAIR, CANCEL_CHAIR, SKILL_EFFECT, CANCEL_SKILL_EFFECT, BOSS_ENV, BOSS_ENV1, BOSS_ENV2, BOSS_ENV3, BOSS_ENV4, REACTOR_SPAWN, REACTOR_HIT, REACTOR_DESTROY, MAP_EFFECT, GUILD_OPERATION, ALLIANCE_OPERATION, BBS_OPERATION, FAMILY, EARN_TITLE_MSG, SHOW_MAGNET, MERCH_ITEM_MSG, MERCH_ITEM_STORE, MESSENGER, NPC_ACTION, SPAWN_PET, MOVE_PET, PET_CHAT, PET_COMMAND, PET_NAMECHANGE, PET_AUTO_HP, PET_AUTO_MP, PET_UPDATE, COOLDOWN, PLAYER_HINT, SUMMON_HINT, SUMMON_HINT_MSG, CYGNUS_INTRO_DISABLE_UI, CYGNUS_INTRO_LOCK, USE_SKILL_BOOK, SHOW_EQUIP_EFFECT, SKILL_MACRO, CS_OPEN, CS_UPDATE, CS_OPERATION, CS_OPENMORE, MTS_OPEN, PLAYER_NPC, SHOW_NOTES, SUMMON_SKILL, ARIANT_PQ_START, CATCH_MONSTER, CATCH_MOB, ENGLISH_QUIZ, BOAT_EFFECT, CHALKBOARD, RENAME_FAMILIAR, DUEY, TROCK_LOCATIONS, HONOUR_LEVEL_UP, UPDATE_CORE_AURA, MONSTER_CARNIVAL_START, MONSTER_CARNIVAL_OBTAINED_CP, MONSTER_CARNIVAL_PARTY_CP, MONSTER_CARNIVAL_SUMMON, MONSTER_CARNIVAL_DIED, SPAWN_HIRED_MERCHANT, UPDATE_HIRED_MERCHANT, SEND_TITLE_BOX, DESTROY_HIRED_MERCHANT, UPDATE_MOUNT, EXP_BONUS, VICIOUS_HAMMER, FISHING_BOARD_UPDATE, FISHING_CAUGHT, OX_QUIZ, ROLL_SNOWBALL, HIT_SNOWBALL, SNOWBALL_MESSAGE, LEFT_KNOCK_BACK, FINISH_SORT, FINISH_GATHER, SEND_PEDIGREE, OPEN_FAMILY, FAMILY_MESSAGE, FAMILY_INVITE, FAMILY_JUNIOR, SENIOR_MESSAGE, REP_INCREASE, FAMILY_LOGGEDIN, FAMILY_BUFF, FAMILY_USE_REQUEST, YELLOW_CHAT, PIGMI_REWARD, GM_EFFECT, HIT_COCONUT, COCONUT_SCORE, LEVEL_UPDATE, MARRIAGE_UPDATE, JOB_UPDATE, HORNTAIL_SHRINE, STOP_CLOCK, MESOBAG_SUCCESS, MESOBAG_FAILURE, SERVER_BLOCKED, SPAWN_HAKU, Haku_CHANGE_0, Haku_CHANGE_1, Haku_CHANGE, DRAGON_MOVE, DRAGON_REMOVE, DRAGON_SPAWN, ARAN_COMBO, TOP_MSG, TEMP_STATS, TEMP_STATS_RESET, OPEN_UI, OPEN_UI_OPTION, PYRAMID_UPDATE, PYRAMID_RESULT, SESSION_VALUE, GET_MTS_TOKENS, MTS_OPERATION, CS_OPENMORE_ITEM, SHOW_POTENTIAL_EFFECT, SHOW_POTENTIAL_RESET, CHAOS_ZAKUM_SHRINE, CHAOS_HORNTAIL_SHRINE, GAME_POLL_QUESTION, GAME_POLL_REPLY, GMEVENT_INSTRUCTIONS, BOAT_EFF, OWL_OF_MINERVA, XMAS_SURPRISE, CASH_SONG, INVENTORY_GROW, FOLLOW_REQUEST, FOLLOW_EFFECT, FOLLOW_MOVE, FOLLOW_MSG, TALK_MONSTER, REMOVE_TALK_MONSTER, MONSTER_PROPERTIES, MOVE_PLATFORM, MOVE_ENV, UPDATE_ENV, ENGAGE_REQUEST, PARTY_VALUE, MAP_VALUE, ENGAGE_RESULT, UPDATE_JAGUAR, EXPEDITION_OPERATION, LOGIN_AUTH, TESLA_TRIANGLE, MECH_PORTAL, MECH_DOOR_SPAWN, MECH_DOOR_REMOVE, PET_FLAG_CHANGE, PAMS_SONG, PLAYER_DAMAGED, SP_RESET, REPORT, ULTIMATE_EXPLORER, GM_POLICE, PAM_SONG, CS_USE, CS_USE1, DRAGON_BLINK, HARVESTED, SHOW_HARVEST, GAME_MESSAGE, ITEM_POT, SPAWN_EXTRACTOR, REMOVE_EXTRACTOR, CRAFT_COMPLETE, CRAFT_EFFECT, HARVEST_MESSAGE, OPEN_BAG, BUFF_BAR, MID_MSG, NPC_SCRIPTABLE, SHOP_DISCOUNT, GET_CARD, CARD_SET, BOOK_STATS, ANDROID_SPAWN, ANDROID_MOVE, Haku_MOVE, ANDROID_EMOTION, ANDROID_REMOVE, ANDROID_DEACTIVATED, PENDANT_SLOT, BOOK_INFO, PARTY_SEARCH, MEMBER_SEARCH, ARAN_COMBO_RECHARGE, R_MESOBAG_SUCCESS, R_MESOBAG_FAILURE, LOAD_GUILD_NAME, LOAD_GUILD_ICON, SPOUSE_CHAT, MAP_BLOCKED, RESET_SCREEN, CHANGE_BACKGROUND, VISITOR, UPDATE_GENDER, AZWAN_SPAWN_MONSTER_CONTROL, AZWAN_SPAWN_MONSTER, AZWAN_KILL_MONSTER, REGISTER_FAMILIAR, SPAWN_FAMILIAR, RESPAWN_FAMILIAR, MOVE_FAMILIAR, ATTACK_FAMILIAR, UPDATE_FAMILIAR, TOUCH_FAMILIAR, SIDEKICK_OPERATION, RESET_MINIMAP, ACHIEVEMENT_RATIO, CREATE_ULTIMATE, PROFESSION_INFO, QUICK_SLOT, BOOSTER_FAMILIAR, BOOSTER_PACK, FAMILIAR_INFO, PVP_INFO, PVP_SCOREBOARD, PVP_RESULT, PVP_ENABLED, PVP_MODE, PVP_TYPE, PVP_TEAM, PVP_SCORE, PVP_KILLED, PVP_SUMMON, PVP_ATTACK, PVP_POINTS, PVP_HP, PVP_MIST, PVP_ICEKNIGHT, PVP_COOL, PVP_ICEGAGE, PVP_TRANSFORM, LOAD_TEAM, CAPTURE_FLAGS, CAPTURE_POSITION, CAPTURE_RESET, CLEAR_MID_MSG, PUBLIC_NPC, PVP_BLOCKED, PLAY_MOVIE, DIRECTION_INFO, DIRECTION_STATUS, GAIN_FORCE, CYGNUS_INTRO_ENABLE_UI, MONSTER_CARNIVAL_LEAVE, MONSTER_CARNIVAL_STATS, MONSTER_CARNIVAL_RESULT, MONSTER_CARNIVAL_RANKING, MOB_TO_MOB_DAMAGE, SKILL_EFFECT_MOB, ITEM_EFFECT_MOB, CYGNUS_ATTACK, SPECIAL_CREATION, MONSTER_RESIST, PET_EXCEPTION_LIST, UPDATE_STOLEN_SKILLS, TARGET_SKILL, REPLACE_SKILLS, RPS_GAME, ENTER_AZWAN, wtfop, FARM_OP1, FARM_OP2, FARM_OP3, FARM_OP4, FARM_OP5, FARM_OP6, OwnFarm, FARM_OP8, FARM_OP9, YesterdayInfo, FARM_OP11; private int code = -2; @Override public void setValue(int code) { this.code = code; } public static String getOpcodeName(int value) { for (SendPacketOpcode opcode : values()) { if (opcode.getValue() == value) { System.out.println("DEBUG[SEND]: " + opcode.name()); return opcode.name(); } } return "UNKNOWN"; } @Override public int getValue() { return this.code; } public static Properties getDefaultProperties() throws FileNotFoundException, IOException { Properties props = new Properties(); FileInputStream fileInputStream = new FileInputStream(GameConstants.GMS ? "sendopsGMS.properties" : "sendops.properties"); props.load(fileInputStream); fileInputStream.close(); return props; } public static final void reloadValues() { try { ExternalCodeTableGetter.populateValues(getDefaultProperties(), values()); } catch (IOException e) { throw new RuntimeException("Failed to load sendops", e); } } static { reloadValues(); } }