package handling;
import constants.GameConstants;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
public enum RecvPacketOpcode
implements WritableIntValueHolder {
PONG(false),
CLIENT_HELLO(false),
LOGIN_REDIRECTOR(false),
LOGIN_PASSWORD(false),
CLIENT_START(false),
LOGIN_PASSWORD2(false),
CLIENT_AUTH(false),
SEND_ENCRYPTED(false),
CLIENT_ERROR(false),
SERVERLIST_REQUEST,
GOLD_HAMMER,
REDISPLAY_SERVERLIST,
CHARLIST_REQUEST,
SERVERSTATUS_REQUEST,
CHECK_CHAR_NAME,
UPDATE_ENV,
CREATE_CHAR,
DELETE_CHAR,
STRANGE_DATA,
CHARACTER_CARDS,
CHOOSE_SKILL,
CHAR_SELECT,
AUTH_SECOND_PASSWORD,
VIEW_ALL_CHAR,
VIEW_REGISTER_PIC,
ENABLE_SPECIAL_CREATION,
CREATE_SPECIAL_CHAR,
MONSTER_BOOK_DROPS,
VIEW_SELECT_PIC,
PICK_ALL_CHAR,
TWIN_DRAGON_EGG,
XMAS_SURPRISE,
VICIOUS_HAMMER,
USE_ALIEN_SOCKET,
MAGIC_WHEEL,
USE_ALIEN_SOCKET_RESPONSE,
USE_NEBULITE_FUSION,
CHAR_SELECT_NO_PIC,
VIEW_SERVERLIST,
RSA_KEY(false),
CLIENT_FAILED(false),
PLAYER_LOGGEDIN(false),
CHANGE_MAP,
CHANGE_CHANNEL,
CHANGE_ROOM_CHANNEL,
ENTER_CASH_SHOP,
ENTER_FARM(false),
MOVE_PLAYER,
CANCEL_CHAIR,
USE_TITLE,
ANGELIC_CHANGE,
USE_CHAIR,
CLOSE_RANGE_ATTACK,
RANGED_ATTACK,
MAGIC_ATTACK,
PASSIVE_ENERGY,
TAKE_DAMAGE,
GENERAL_CHAT,
CLOSE_CHALKBOARD,
USE_NEBULITE,
FACE_EXPRESSION,
USE_ITEMEFFECT,
WHEEL_OF_FORTUNE,
NPC_TALK,
NPC_TALK_MORE,
NPC_SHOP,
STORAGE,
USE_HIRED_MERCHANT,
MERCH_ITEM_STORE,
DUEY_ACTION,
ITEM_SORT,
ITEM_GATHER,
ITEM_MOVE,
ITEM_MAKER,
USE_ITEM,
CANCEL_ITEM_EFFECT,
USE_SUMMON_BAG,
PET_FOOD,
USE_MOUNT_FOOD,
USE_SCRIPTED_NPC_ITEM,
USE_CASH_ITEM,
USE_CATCH_ITEM,
USE_SKILL_BOOK,
USE_RETURN_SCROLL,
USE_UPGRADE_SCROLL,
DISTRIBUTE_AP,
AUTO_ASSIGN_AP,
HEAL_OVER_TIME,
DISTRIBUTE_SP,
SPECIAL_MOVE,
CANCEL_BUFF,
SKILL_EFFECT,
MESO_DROP,
GIVE_FAME,
CHAR_INFO_REQUEST,
SPAWN_PET,
CANCEL_DEBUFF,
CHANGE_MAP_SPECIAL,
USE_INNER_PORTAL,
TROCK_ADD_MAP,
QUEST_ACTION,
SKILL_MACRO,
REWARD_ITEM,
USE_TREASURE_CHEST,
PARTYCHAT,
WHISPER,
MESSENGER,
PLAYER_INTERACTION,
PARTY_OPERATION,
DENY_PARTY_REQUEST,
GUILD_OPERATION,
DENY_GUILD_REQUEST,
BUDDYLIST_MODIFY,
NOTE_ACTION,
USE_DOOR,
MECH_UNLOCK,
CHANGE_KEYMAP,
ENTER_MTS,
ALLIANCE_OPERATION,
DENY_ALLIANCE_REQUEST,
REQUEST_FAMILY,
OPEN_FAMILY,
FAMILY_OPERATION,
DELETE_JUNIOR,
DELETE_SENIOR,
ACCEPT_FAMILY,
USE_FAMILY,
FAMILY_PRECEPT,
FAMILY_SUMMON,
CYGNUS_SUMMON,
ARAN_COMBO,
BBS_OPERATION,
TRANSFORM_PLAYER,
MOVE_PET,
PET_CHAT,
PET_COMMAND,
PET_LOOT,
PET_AUTO_POT,
MOVE_SUMMON,
SUMMON_ATTACK,
DAMAGE_SUMMON,
MOVE_LIFE,
AUTO_AGGRO,
FRIENDLY_DAMAGE,
MONSTER_BOMB,
HYPNOTIZE_DMG,
NPC_ACTION,
ITEM_PICKUP,
DAMAGE_REACTOR,
SNOWBALL,
LEFT_KNOCK_BACK,
COCONUT,
MONSTER_CARNIVAL,
SHIP_OBJECT,
CS_UPDATE,
BUY_CS_ITEM,
CS_UPDATE_ITEM,
COUPON_CODE,
MAPLETV,
MOVE_DRAGON,
REPAIR,
REPAIR_ALL,
TOUCHING_MTS,
USE_MAGNIFY_GLASS,
USE_POTENTIAL_SCROLL,
USE_EQUIP_SCROLL,
GAME_POLL,
OWL,
OWL_WARP,
USE_OWL_MINERVA,
RPS_GAME,
UPDATE_QUEST,
USE_ITEM_QUEST,
FOLLOW_REQUEST,
FOLLOW_REPLY,
MOB_NODE,
DISPLAY_NODE,
TOUCH_REACTOR,
RING_ACTION,
SOLOMON,
GACH_EXP,
EXPEDITION_OPERATION,
EXPEDITION_LISTING,
PARTY_SEARCH_START,
PARTY_SEARCH_STOP,
USE_TELE_ROCK,
SUB_SUMMON,
USE_MECH_DOOR,
MECH_CANCEL,
REMOVE_SUMMON,
AUTO_FOLLOW_REPLY,
REPORT,
INNER_CIRCULATOR,
MOB_BOMB,
CREATE_ULTIMATE,
PAM_SONG,
USE_POT,
CLEAR_POT,
FEED_POT,
CURE_POT,
CRAFT_MAKE,
CRAFT_DONE,
RESET_CORE_AURA,
CRAFT_EFFECT,
STOP_HARVEST,
START_HARVEST,
MOVE_BAG,
USE_BAG,
CHANGE_SET,
GET_BOOK_INFO,
MOVE_HAKU,
CHANGE_HAKU,
MOVE_ANDROID,
FACE_ANDROID,
REISSUE_MEDAL,
CLICK_REACTOR,
USE_RECIPE,
USE_FAMILIAR,
SPAWN_FAMILIAR,
RENAME_FAMILIAR,
MOVE_FAMILIAR,
TOUCH_FAMILIAR,
ATTACK_FAMILIAR,
SIDEKICK_OPERATION,
DENY_SIDEKICK_REQUEST,
ALLOW_PARTY_INVITE,
PROFESSION_INFO,
QUICK_SLOT,
MAKE_EXTRACTOR,
USE_COSMETIC,
USE_FLAG_SCROLL,
SWITCH_BAG,
REWARD_POT,
PVP_INFO,
ENTER_PVP,
ENTER_PVP_PARTY,
LEAVE_PVP,
PVP_RESPAWN,
PVP_ATTACK,
PVP_SUMMON,
PUBLIC_NPC,
ENTER_AZWAN,
MANAGE_STOLEN_SKILLS,
SKILL_SWIPE,
VIEW_SKILLS,
CANCEL_OUT_SWIPE,
MTS_TAB;
private int code = -2;
private boolean CheckState;
@Override
public void setValue(int code) {
this.code = code;
}
@Override
public final int getValue() {
return this.code;
}
private RecvPacketOpcode() {
this.CheckState = true;
}
private RecvPacketOpcode(boolean CheckState) {
this.CheckState = CheckState;
}
public final boolean NeedsChecking() {
return this.CheckState;
}
public static Properties getDefaultProperties() throws FileNotFoundException, IOException {
Properties props = new Properties();
FileInputStream fileInputStream = new FileInputStream(GameConstants.GMS ? "recvopsGMS.properties" : "recvops.properties");
props.load(fileInputStream);
fileInputStream.close();
return props;
}
public static void reloadValues() {
try {
ExternalCodeTableGetter.populateValues(getDefaultProperties(), values());
} catch (IOException e) {
throw new RuntimeException("Failed to load recvops", e);
}
}
static {
reloadValues();
}
}