/*
 * Copyright (c) 2013 L2jMobius
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
 * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
package org.l2jmobius.gameserver.mechanics.skill;

/**
 * Abnormal type enumerate.
 * @author Zoey76, Mobius
 */
public enum AbnormalType
{
	ABILITY_CHANGE,
	ABNORMAL_INVINCIBILITY,
	ABNORMAL_ITEM,
	AB_HAWK_EYE,
	ALL_ATTACK_DOWN,
	ALL_REGEN_UP,
	ALL_SPEED_DOWN,
	ANESTHESIA,
	ANTARAS_DEBUFF,
	APELLA,
	ARCHER_SPECIAL,
	ARCHER_SPECIAL_I,
	ARMOR_EARTH,
	ARMOR_FIRE,
	ARMOR_HOLY,
	ARMOR_UNHOLY,
	ARMOR_WATER,
	ARMOR_WIND,
	ARROW_RAIN,
	ATTACK_SPEED_UP_BOW,
	ATTACK_TIME_DOWN,
	ATTACK_TIME_DOWN_SPECIAL,
	ATTACK_TIME_UP,
	ATTRIBUTE_POTION,
	AVOID_DOWN,
	AVOID_SKILL,
	AVOID_UP,
	AVOID_UP_SPECIAL,
	BERSERKER,
	BETRAYAL_MARK,
	BIG_BODY,
	BIG_HEAD,
	BLEEDING,
	BLESS_THE_BLOOD,
	BLOCK_RESURRECTION,
	BLOCK_SHIELD_UP,
	BLOCK_SPEED_UP,
	BLOCK_TRANSFORM,
	BLOOD_CONSTRACT,
	BR_EVENT_BUF1,
	BR_EVENT_BUF10,
	BR_EVENT_BUF2,
	BR_EVENT_BUF3,
	BR_EVENT_BUF5,
	BR_EVENT_BUF6,
	BR_EVENT_BUF7,
	BUFF_QUEEN_OF_CAT,
	BUFF_UNICORN_SERAPHIM,
	CANCEL_PROB_DOWN,
	CASTING_TIME_DOWN,
	CASTING_TIME_UP,
	CHEAP_MAGIC,
	COMBINATION,
	COUNTER_CRITICAL,
	COUNTER_CRITICAL_TRIGGER,
	COUNTER_SKILL,
	CP_UP,
	CRITICAL_DMG_DOWN,
	CRITICAL_DMG_UP,
	CRITICAL_POISON,
	CRITICAL_PROB_DOWN,
	CRITICAL_PROB_UP,
	CURSE_LIFE_FLOW,
	DAMAGE_AMPLIFY,
	DANCE_DEFENCE_MOTION1,
	DANCE_OF_ALIGNMENT,
	DANCE_OF_AQUA_GUARD,
	DANCE_OF_BERSERKER,
	DANCE_OF_BLADESTORM,
	DANCE_OF_CONCENTRATION,
	DANCE_OF_EARTH_GUARD,
	DANCE_OF_FIRE,
	DANCE_OF_FURY,
	DANCE_OF_INSPIRATION,
	DANCE_OF_LIGHT,
	DANCE_OF_MYSTIC,
	DANCE_OF_PROTECTION,
	DANCE_OF_SHADOW,
	DANCE_OF_SIREN,
	DANCE_OF_VAMPIRE,
	DANCE_OF_WARRIOR,
	DARK_SEED,
	DD_RESIST,
	DEATHWORM,
	DEATH_CLACK,
	DEATH_MARK,
	DEATH_PENALTY,
	DEBUFF_NIGHTSHADE,
	DEBUFF_SHIELD,
	DECREASE_WEIGHT_PENALTY,
	DERANGEMENT,
	DETECT_WEAKNESS,
	DISARM,
	DISTRUST,
	DMG_SHIELD,
	DOT_ATTR,
	DOT_MP,
	DRAGON_BUFF,
	DRAGON_BREATH,
	DUELIST_SPIRIT,
	DWARF_ATTACK_BUFF,
	DWARF_DEFENCE_BUFF,
	ELEMENTAL_ARMOR,
	ENERVATION,
	ENTRY_FOR_GAME,
	EVASION_BUFF,
	EVENT_GAWI,
	EVENT_SANTA_REWARD,
	EVENT_TERRITORY,
	EVENT_WIN,
	EVIL_BLOOD,
	EXPOSE_WEAK_POINT,
	FATAL_POISON,
	FINAL_SECRET,
	FIRE_DOT,
	FISHING_MASTERY_DOWN,
	FLAME_HAWK,
	FLY_AWAY,
	FOCUS_DAGGER,
	FORCE_MEDITATION,
	FORCE_OF_DESTRUCTION,
	FREEZING,
	GHOST_PIERCING,
	HEAL_EFFECT_DOWN,
	HEAL_EFFECT_UP,
	HEAL_POWER_UP,
	HERO_BUFF,
	HERO_DEBUFF,
	HIDE,
	HIT_DOWN,
	HIT_UP,
	HOLY_ATTACK,
	HOT_GROUND,
	HP_RECOVER,
	HP_REGEN_DOWN,
	HP_REGEN_UP,
	IMPROVE_CRT_RATE_DMG_UP,
	IMPROVE_HIT_DEFENCE_CRT_RATE_UP,
	IMPROVE_HP_MP_UP,
	IMPROVE_MA_MD_UP,
	IMPROVE_PA_PD_UP,
	IMPROVE_SHIELD_RATE_DEFENCE_UP,
	IMPROVE_SPEED_AVOID_UP,
	IMPROVE_VAMPIRIC_HASTE,
	INSTINCT,
	INVINCIBILITY,
	IRON_SHIELD,
	IRON_SHIELD_I,
	KNIGHT_AURA,
	LIFE_FORCE_ORC,
	LIFE_FORCE_OTHERS,
	LIMIT,
	MAGICAL_STANCE,
	MAGIC_CRITICAL_UP,
	MAJESTY,
	MAXIMUM_ABILITY,
	MAX_BREATH_UP,
	MAX_HP_DOWN,
	MAX_HP_UP,
	MAX_HP_CP_UP,
	MAX_MP_UP,
	MA_DOWN,
	MA_MD_UP,
	MA_UP,
	MA_UP_HERB,
	MA_UP_SPECIAL,
	MD_DOWN,
	MD_UP,
	MD_UP_ATTR,
	MENTAL_IMPOVERISH,
	METEOR,
	MIGHT_MORTAL,
	MIRAGE,
	MIRAGE_TRAP,
	MP_COST_DOWN,
	MP_COST_UP,
	MP_REGEN_UP,
	MULTI_BUFF,
	MULTI_BUFF_A,
	MULTI_DEBUFF,
	MULTI_DEBUFF_A,
	MULTI_DEBUFF_B,
	MULTI_DEBUFF_C,
	MULTI_DEBUFF_D,
	MULTI_DEBUFF_E,
	MULTI_DEBUFF_F,
	MULTI_DEBUFF_FIRE,
	MULTI_DEBUFF_G,
	MULTI_DEBUFF_HOLY,
	MULTI_DEBUFF_SOUL,
	MULTI_DEBUFF_UNHOLY,
	MULTI_DEBUFF_WATER,
	MULTI_DEBUFF_WIND,
	NONE,
	NORMAL_ATTACK_BLOCK,
	OBLIVION,
	PARALYZE,
	PATIENCE,
	PA_DOWN,
	PA_PD_UP,
	PA_UP,
	PA_UP_HERB,
	PA_UP_SPECIAL,
	PD_DOWN,
	PD_UP,
	PD_UP_BOW,
	PD_UP_SPECIAL,
	PHYSICAL_STANCE,
	PINCH,
	PK_PROTECT,
	POISON,
	POLEARM_ATTACK,
	POSSESSION,
	POTION_OF_GENESIS,
	PRESERVE_ABNORMAL,
	PROTECTION,
	PUBLIC_SLOT,
	PVP_DMG_DOWN,
	PVP_WEAPON_BUFF,
	PVP_WEAPON_DEBUFF,
	RAGE_MIGHT,
	REAL_TARGET,
	RECHARGE_UP,
	REDUCE_DROP_PENALTY,
	REFLECT_ABNORMAL,
	REFLECT_MAGIC_DD,
	RESIST_BLEEDING,
	RESIST_DEBUFF_DISPEL,
	RESIST_DERANGEMENT,
	RESIST_HOLY_UNHOLY,
	RESIST_POISON,
	RESIST_SHOCK,
	RESIST_SPIRITLESS,
	RESURRECTION_SPECIAL,
	REUSE_DELAY_DOWN,
	REUSE_DELAY_UP,
	ROOT_MAGICALLY,
	ROOT_PHYSICALLY,
	SEED_OF_CRITICAL,
	SEED_OF_KNIGHT,
	SEIZURE_A,
	SEIZURE_B,
	SEIZURE_C,
	SEIZURE_PENALTY,
	SHIELD_DEFENCE_UP,
	SHIELD_PROB_UP,
	SIGNAL_A,
	SIGNAL_B,
	SIGNAL_C,
	SIGNAL_D,
	SIGNAL_E,
	SILENCE,
	SILENCE_ALL,
	SILENCE_PHYSICAL,
	SKILL_IGNORE,
	SLEEP,
	SNIPE,
	SONG_BATTLE_WHISPER,
	SONG_OF_CHAMPION,
	SONG_OF_EARTH,
	SONG_OF_ELEMENTAL,
	SONG_OF_FLAME_GUARD,
	SONG_OF_HUNTER,
	SONG_OF_INVOCATION,
	SONG_OF_LIFE,
	SONG_OF_MEDITATION,
	SONG_OF_PURIFICATION,
	SONG_OF_RENEWAL,
	SONG_OF_STORM_GUARD,
	SONG_OF_VENGEANCE,
	SONG_OF_VITALITY,
	SONG_OF_WARDING,
	SONG_OF_WATER,
	SONG_OF_WIND,
	SONG_OF_WINDSTORM,
	SPA_DISEASE_A,
	SPA_DISEASE_B,
	SPA_DISEASE_C,
	SPA_DISEASE_D,
	SPEED_DOWN,
	SPEED_UP,
	SPEED_UP_SPECIAL,
	SPITE,
	SPOIL_BOMB,
	SSQ_TOWN_BLESSING,
	SSQ_TOWN_CURSE,
	STAR_FALL,
	STEALTH,
	STIGMA_A,
	STIGMA_OF_SILEN,
	STUN,
	SUB_TRIGGER_CRT_RATE_UP,
	SUB_TRIGGER_DEFENCE,
	SUB_TRIGGER_HASTE,
	SUB_TRIGGER_SPIRIT,
	SUMMON_CONDITION,
	TALISMAN,
	TARGET_LOCK,
	THIN_SKIN,
	THRILL_FIGHT,
	TIME_CHECK,
	TOUCH_OF_DEATH,
	TOUCH_OF_LIFE,
	TRANSFER_DAMAGE,
	TURN_FLEE,
	TURN_PASSIVE,
	TURN_STONE,
	T_CRT_DMG_DOWN,
	T_CRT_DMG_UP,
	T_CRT_RATE_UP,
	ULTIMATE_BUFF,
	ULTIMATE_DEBUFF,
	VALAKAS_ITEM,
	VAMPIRIC_ATTACK,
	VAMPIRIC_ATTACK_SPECIAL,
	VIBRATION,
	VOTE,
	VP_KEEP,
	VP_UP,
	WATCHER_GAZE,
	WATER_DOT,
	WEAK_CONSTITUTION,
	WEAPON_MASTERY,
	WILL,
	WIND_DOT,
	WP_CHANGE_EVENT;
	
	/**
	 * Get the enumerate for the given String.
	 * @param type the abnormal type to get
	 * @return the abnormal type
	 */
	public static AbnormalType getAbnormalType(String type)
	{
		try
		{
			return Enum.valueOf(AbnormalType.class, type);
		}
		catch (Exception e)
		{
			return NONE;
		}
	}
	
	/**
	 * Verify if this enumerate is default.
	 * @return {@code true} if this enumerate is none, {@code false} otherwise
	 */
	public boolean isNone()
	{
		return this == NONE;
	}
}
