using System; using System.Collections.Generic; public static class SkillKeywordInfo { public enum SkillKeyword { damage_modifier, attach_skill, attack_by_life, attack_count, banish, cant_activate_fanfare, cant_activate_shortage_deck_win, cant_attack, cant_play, cant_summon, change_affiliation, change_cemetery, change_rally_count, update_deck, chant_count_change, consume_ep_modifier, cost_change, damage, damage_cut, destroy, discard, drain, draw, evolve, extra_turn, force_berserk, force_skill_target, attract_skill_target, force_avarice, force_wrath, guard, heal, ignore_guard, independent, not_be_debuffed, indestructible, killer, lose, metamorphose, fusion_metamorphose, transform, none, not_be_attacked, play_count_change, possess_ep_modifier, power_down, powerup, power_modifier, pp_fixeduse, pp_modifier, bp_modifier, quick, reflection, remove_by_banish, remove_by_destroy, return_card, rush, select, shield, sneak, special_win, special_lose, spell_charge, summon_card, summon_token, token_draw, special_token_draw, trigger, turn_start_fixed_pp, unite, untouchable, repeat_skill, choice, shortage_deck_win, generic_value_modifier, change_union_burst_count, change_skybound_art_count, change_super_skybound_art_count, change_white_ritual_stack, stack_white_ritual, rob_skill, random_array, no_duplication_random_array, cant_evolution, invoke_skill, token_draw_modifier, fusion, random_attack, clear_destroyed_and_discarded_card_list, clear_summoned_card_list, geton, getoff, not_decrease_pp, heal_modifier, life_zero_activate_leon_skill, copy_skill, loop_skill, evolve_to_other, not_attached_resident_chant_count_change, invoke_emote, invoke_voice, can_play_self } public static Dictionary Keyword2StringDictionary; static SkillKeywordInfo() { SetupStatic(); } private static void SetupStatic() { if (Keyword2StringDictionary != null) { return; } Keyword2StringDictionary = new Dictionary(Enum.GetValues(typeof(SkillKeyword)).Length); foreach (SkillKeyword value in Enum.GetValues(typeof(SkillKeyword))) { Keyword2StringDictionary.Add(value.ToString(), value); } } public static SkillKeyword GetKeyword(string info) { if (!Keyword2StringDictionary.TryGetValue(info, out var value)) { return SkillKeyword.none; } return value; } }