setHintValues(card, nKey, nValue);
// TARGET, TARGET_RESTRICTIONS, TYPE, COUNT, PLAY RESTTRICZIONS
HashMap<String, HintBundle> m = new HashMap<String, HintBundle>();
m.put("EFFECT_OPPONENT_DAMAGE", new HintBundle(TA_IS_OPPONENT, TY_DAMAGE));
m.put("EFFECT_ALL_OF_A_KIND", new HintBundle(TA_FROM_FIELD, TR_CARD_TYPE_CREATURE, CT_ALL_CARDS));
m.put("EFFECT_ONE_CREATURE_TO_GRAVE", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_FIELD_TO_GRAVE, CT_SINGLE));
m.put("EFFECT_ONE_CREATURE_DAMAGE", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_DAMAGE, CT_SINGLE));
m.put("EFFECT_ONE_CREATURE_TO_HAND", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_FIELD_TO_HAND, CT_SINGLE));
m.put("EFFECT_ONE_LAND_TO_GRAVE", new HintBundle(TA_FROM_LAND, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_LAND, TY_LAND_TO_GRAVE, CT_SINGLE));
m.put("EFFECT_ONE_PLAYER_DAMAGE", new HintBundle(TA_IS_PLAYER ,TA_IS_OPPONENT, TY_DAMAGE));
m.put("EFFECT_ONE_PLAYER_HEAL", new HintBundle(TA_IS_PLAYER ,TA_IS_OPPONENT, TY_HEAL));
m.put("EFFECT_ONE_CREATURE_TAPPED_TO_GRAVE", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TR_CARD_TAPPED_NEED, TY_FIELD_TO_GRAVE, CT_SINGLE));
m.put("EFFECT_PLAYER_CREATURE_DAMAGE", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_DAMAGE, CT_SINGLE));
m.put("EFFECT_ONE_CREATURE_TO_TAPPED", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_TO_TAP, CT_SINGLE));
m.put("EFFECT_ONE_TAP_CREATURE", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_TO_TAP, CT_SINGLE));
m.put("EFFECT_OPPONENT_ALL_CREATURE_TO_GRAVE", new HintBundle(TA_FROM_FIELD, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_FIELD_TO_GRAVE, CT_ALL_CARDS));
m.put("EFFECT_OPPONENT_HAND_TO_GRAVE", new HintBundle(TA_FROM_HAND, TR_CARD_OPPONENT, TY_HAND_TO_GRAVE, CT_SINGLE));
m.put("EFFECT_OPPONENT_CREATURE_TO_GRAVE", new HintBundle(TA_FROM_FIELD, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_FIELD_TO_GRAVE, CT_SINGLE));
m.put("EFFECT_PLAYER_HEAL", new HintBundle(TA_IS_PLAYER, TY_HEAL));
m.put("EFFECT_PLAYER_DAMAGE", new HintBundle(TA_IS_PLAYER, TY_DAMAGE));
m.put("EFFECT_ON_CREATURE_OWNER", new HintBundle(TA_IS_OWNER));
m.put("ADD_LAND_FROM_HAND", new HintBundle(TA_FROM_HAND, TR_CARD_TYPE_LAND, TY_HAND_TO_LAND, CT_SINGLE) );
m.put("ADD_LAND_FROM_LIBRARY", new HintBundle(TA_FROM_LIBRARY, TR_CARD_TYPE_LAND, TY_LIBRARY_TO_LAND, CT_SINGLE));
m.put("DAMGE_ALL_PLAYER", new HintBundle(TA_IS_PLAYER, TA_IS_OPPONENT, TY_DAMAGE, CT_ALL_PLAYERS ));
m.put("DAMAGE_ALL", new HintBundle(TA_IS_PLAYER, TA_IS_OPPONENT, TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_DAMAGE, CT_ALL_PLAYERS, CT_ALL_CARDS ));
m.put("DAMAGE_ALL_CREATURE", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_DAMAGE, CT_ALL_CARDS ));
m.put("CARD_COLORS_NEEDED", new HintBundle(TR_CARD_COLOR_NEED));
m.put("CARD_COLORS_MUST_NOT", new HintBundle(TR_CARD_COLOR_RESTRICTION ));
m.put("CARD_SUBCARD_TYPES_NEEDED", new HintBundle(TR_CARD_SUBTYPE_NEED));
m.put("CARD_TYPES_NEEDED", new HintBundle(TR_CARD_TYPE_NEED));
m.put("HEAL_AMOUNT", new HintBundle(TY_HEAL, CT_AMOUNT_COUNT ));
m.put("DAMAGE_AMOUNT", new HintBundle(TY_DAMAGE, CT_AMOUNT_COUNT ));
m.put("FROM_OPPONENT_CREATURE", new HintBundle(TA_FROM_FIELD, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE));
m.put("FROM_PLAYER_CREATURE", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE));
m.put("FROM_OPPONENT_LIBRARY", new HintBundle(TA_FROM_LIBRARY, TR_CARD_OPPONENT));
m.put("EFFECT_OPPONENT_ALL_TAPPED_CREATURE_TO_GRAVE", new HintBundle(TA_FROM_FIELD, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TR_CARD_TAPPED_NEED, TY_FIELD_TO_GRAVE, CT_ALL_CARDS));
m.put("EFFECT_ONE_CREATURE_TO_LIBRARY_TOP", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE, TY_FIELD_TO_LIBRARY, TY_LIBRARY_TOP, CT_SINGLE));
m.put("EFFECT_ONE_DRAW_CARD", new HintBundle(TA_IS_PLAYER ,TA_IS_OPPONENT, TY_LIBRARY_TO_HAND, CT_SINGLE));
m.put("EFFECT_OPPONENT_DRAW_CARD", new HintBundle(TA_IS_OPPONENT, TY_LIBRARY_TO_HAND, CT_SINGLE));
m.put("EFFECT_OPPONENT_LAND_TO_GRAVE", new HintBundle(TA_FROM_LAND, TR_CARD_OPPONENT, TR_CARD_TYPE_LAND, TY_LAND_TO_GRAVE, CT_SINGLE));
m.put("EFFECT_PLAYER_CREATURE_ABILITY_ADD", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_GENERAL_BUF ,TY_ABILITY_ADD, CT_SINGLE));
m.put("EFFECT_PLAYER_CREATURE_FROM_GRAVE_TO_HAND", new HintBundle(TA_FROM_GRAVE, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_GRAVE_TO_HAND , CT_SINGLE));
m.put("EFFECT_PLAYER_CREATURE_FROM_GRAVE_TO_LIBRARY", new HintBundle(TA_FROM_GRAVE, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_GRAVE_TO_LIBRARY , CT_SINGLE));
m.put("EFFECT_PLAYER_CREATURE_FROM_GRAVE_TO_PLAY", new HintBundle(TA_FROM_GRAVE, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_GRAVE_TO_FIELD , CT_SINGLE));
m.put("EFFECT_PLAYER_CREATURE_FROM_HAND_TO_PLAY", new HintBundle(TA_FROM_HAND, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_HAND_TO_FIELD , CT_SINGLE));
m.put("EFFECT_PLAYER_CREATURE_POWER_ADD", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_GENERAL_BUF ,TY_POWER_ADD));
m.put("EFFECT_PLAYER_CREATURE_TOUGHNESS_ADD", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_GENERAL_BUF , TY_TOUGHNESS_ADD));
m.put("EFFECT_PLAYER_CREATURE_TO_GRAVE", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_FIELD_TO_GRAVE , CT_SINGLE));
m.put("EFFECT_PLAYER_CREATURE_TO_HAND", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_FIELD_TO_HAND , CT_SINGLE));
m.put("EFFECT_PLAYER_CREATURE_UNTAP", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_TO_UNTAP , CT_SINGLE));
m.put("EFFECT_PLAYER_FROM_GRAVE_TO_LIBRARY", new HintBundle(TA_FROM_GRAVE, TR_CARD_PLAYER, TY_GRAVE_TO_LIBRARY , CT_SINGLE));
m.put("EFFECT_PLAYER_HAND_CREATURE_TO_GRAVE", new HintBundle(TA_FROM_HAND, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_HAND_TO_GRAVE , CT_SINGLE));
m.put("EFFECT_PLAYER_HAND_LAND_TO_GRAVE", new HintBundle(TA_FROM_HAND, TR_CARD_PLAYER, TR_CARD_TYPE_LAND, TY_HAND_TO_GRAVE , CT_SINGLE));
m.put("EFFECT_PLAYER_HAND_TO_GRAVE", new HintBundle(TA_FROM_HAND, TR_CARD_PLAYER, TY_HAND_TO_GRAVE , CT_SINGLE));
m.put("EFFECT_PLAYER_LAND_TO_GRAVE", new HintBundle(TA_FROM_LAND, TR_CARD_PLAYER, TR_CARD_TYPE_LAND, TY_LAND_TO_GRAVE , CT_SINGLE));
m.put("EFFECT_PLAYER_LAND_TO_HAND", new HintBundle(TA_FROM_LAND, TR_CARD_PLAYER, TR_CARD_TYPE_LAND, TY_LAND_TO_HAND , CT_SINGLE));
m.put("EFFECT_PLAYER_LIBRARY_LAND_TO_HAND", new HintBundle(TA_FROM_LIBRARY, TR_CARD_PLAYER, TR_CARD_TYPE_LAND, TY_LIBRARY_TO_HAND , CT_SINGLE));
m.put("EFFECT_PLAYER_LIBRARY_TO_CREATURE", new HintBundle(TA_FROM_LIBRARY, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_LIBRARY_TO_FIELD , CT_SINGLE));
m.put("EFFECT_PLAYER_LIBRARY_TO_HAND", new HintBundle(TA_FROM_LIBRARY, TR_CARD_PLAYER, TY_LIBRARY_TO_HAND, CT_SINGLE));
m.put("EFFECT_PLAYER_SORCERY_FROM_GRAVE_TO_HAND", new HintBundle(TA_FROM_GRAVE, TR_CARD_PLAYER, TR_CARD_TYPE_SORCERY, TY_GRAVE_TO_HAND, CT_SINGLE));
m.put("EFFECT_PLAYER_INSTANT_FROM_GRAVE_TO_HAND", new HintBundle(TA_FROM_GRAVE, TR_CARD_PLAYER, TR_CARD_TYPE_INSTANT, TY_GRAVE_TO_HAND, CT_SINGLE));
m.put("OPPONENT_ATTACKER_NEED", new HintBundle(TR_CARD_ATTACKER, TR_CARD_OPPONENT, TR_CARD_TYPE_CREATURE ));
m.put("PLAYER_CREATURE_ATTACKER_NEED", new HintBundle(TR_CARD_ATTACKER, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE ));
m.put("OPPONENT_CREATURE_NEED", new HintBundle(TA_FROM_FIELD, TR_CARD_TYPE_CREATURE , TR_CARD_OPPONENT));
m.put("OPPONENT_UNTAPPED_CREATURE_NEED", new HintBundle(TA_FROM_FIELD, TR_CARD_UNTAPPED_NEED, TR_CARD_TYPE_CREATURE, TR_CARD_OPPONENT));
m.put("OPPONENT_TAPPED_CREATURE_NEED", new HintBundle(TA_FROM_FIELD, TR_CARD_TAPPED_NEED, TR_CARD_TYPE_CREATURE, TR_CARD_OPPONENT));
m.put("PLAYER_CREATURE_NEED", new HintBundle(TA_FROM_FIELD, TR_CARD_TYPE_CREATURE, TR_CARD_PLAYER));
m.put("PLAYER_CREATURE_GRAVE_NEED", new HintBundle(TA_FROM_GRAVE, TR_CARD_TYPE_CREATURE, TR_CARD_PLAYER));
m.put("PLAYER_CREATURE_HAND_NEED", new HintBundle(TA_FROM_HAND, TR_CARD_TYPE_CREATURE, TR_CARD_PLAYER));
m.put("PLAYER_CREATURE_MAYBE", new HintBundle(TA_FROM_FIELD, TR_CARD_TYPE_CREATURE, TR_CARD_PLAYER));
m.put("PLAYER_CREATURE_TAPPED_NEED", new HintBundle(TA_FROM_FIELD, TR_CARD_TAPPED_NEED, TR_CARD_TYPE_CREATURE, TR_CARD_PLAYER));
m.put("PLAYER_CREATURE_UNTAPPED_NEED", new HintBundle(TA_FROM_FIELD, TR_CARD_UNTAPPED_NEED, TR_CARD_TYPE_CREATURE, TR_CARD_PLAYER));
m.put("OPPONENT_LAND_NEED", new HintBundle(TA_FROM_LAND, TR_CARD_TYPE_LAND, TR_CARD_OPPONENT));
m.put("OPPONENT_UNTAPPED_LAND_NEED", new HintBundle(TA_FROM_LAND, TR_CARD_UNTAPPED_NEED, TR_CARD_TYPE_LAND, TR_CARD_OPPONENT));
m.put("PLAYER_HAND_LAND_NEED", new HintBundle(TA_FROM_HAND, TR_CARD_TYPE_LAND, TR_CARD_PLAYER));
m.put("PLAYER_LAND_NEED", new HintBundle(TA_FROM_LAND, TR_CARD_TYPE_LAND, TR_CARD_PLAYER));
m.put("OPPONENT_HAND_NEED", new HintBundle(TA_FROM_HAND, TR_CARD_OPPONENT));
m.put("PLAYER_GRAVE_NEED", new HintBundle(TA_FROM_GRAVE , TR_CARD_PLAYER));
m.put("PLAYER_HAND_NEED", new HintBundle(TA_FROM_HAND, TR_CARD_PLAYER));
m.put("FROM_OPPONENT_ATTACKER", new HintBundle(TA_FROM_FIELD, TR_CARD_ATTACKER, TR_CARD_TYPE_CREATURE, TR_CARD_OPPONENT));
m.put("FROM_OPPONENT_GRAVE", new HintBundle(TA_FROM_GRAVE, TR_CARD_OPPONENT));
m.put("FROM_OPPONENT_HAND", new HintBundle(TA_FROM_HAND, TR_CARD_OPPONENT));
m.put("FROM_OPPONENT_LAND", new HintBundle(TA_FROM_LAND, TR_CARD_OPPONENT));
m.put("FROM_PLAYER_GRAVE", new HintBundle(TA_FROM_GRAVE, TR_CARD_PLAYER));
m.put("FROM_PLAYER_GRAVE_CREATURE", new HintBundle(TA_FROM_GRAVE, TR_CARD_TYPE_CREATURE, TR_CARD_PLAYER));
m.put("FROM_PLAYER_HAND", new HintBundle(TA_FROM_HAND, TR_CARD_PLAYER));
m.put("FROM_PLAYER_LAND", new HintBundle(TA_FROM_LAND, TR_CARD_PLAYER));
m.put("FROM_PLAYER_LIBRARY", new HintBundle(TA_FROM_LIBRARY, TR_CARD_PLAYER));
m.put("RETRIEVE_CREATURE_FROM_GRAVE_TO_HAND", new HintBundle(TA_FROM_GRAVE, TR_CARD_PLAYER, TR_CARD_TYPE_CREATURE, TY_GRAVE_TO_HAND , CT_SINGLE));
m.put("EFFECT_OPPONENT_CARD_TO_GRAVE", new HintBundle(TA_FROM_LIBRARY,TR_CARD_OPPONENT, TY_LIBRARY_TO_GRAVE)); // only used once, library to grave
m.put("CARD_ABILITIES_MUST_NOT", new HintBundle(TR_CARD_ABILITY_RESTRICTION ));
m.put("CARD_ABILITIES_NEEDED", new HintBundle(TR_CARD_ABILITY_NEED ));
m.put("CARD_MAX_NEED", new HintBundle(TR_CARD_COUNT_MAX ));
m.put("CARD_MIN_NEED", new HintBundle(TR_CARD_COST_MIN ));
m.put("CARD_ONLY_ONE", new HintBundle(TR_CARD_COUNT_MAX_ONE ));
m.put("CARD_POWER_MUST_LOWER", new HintBundle(TR_CARD_POWER_MAX_MINUS_ONE ));
m.put("CARD_SUBCARD_TYPES_MUST_NOT", new HintBundle(TR_CARD_SUBTYPE_RESTRICTION ));
m.put("CARD_TYPES_MUST_NOT", new HintBundle(TR_CARD_TYPE_RESTRICTION ));
m.put("INSTANT_WHEN_ATTACKING", new HintBundle(PR_REACT_ONLY_IN_ATTACKER));
m.put("INSTANT_WHEN_ATTACKING_FINAL", new HintBundle(PR_REACT_ONLY_IN_ATTACKER_FINAL));
m.put("EFFECT_OPPONENT_CREATURE_ALL_BLOCK_ONE", new HintBundle(TY_ALL_BLOCK_ONE ));
m.put("EFFECT_OPPONENT_CREATURE_ALL_MUST_ATTACK", new HintBundle(TY_ALL_MUST_ATTACK ));
m.put("EFFECT_OPPONENT_CREATURE_ONLY_ONE_BLOCK", new HintBundle(TY_ONE_ONLY_BLOCCK )); // twice
m.put("EFFECT_OPPONENT_UNTAP_DENIAL", new HintBundle(TY_UNTAP_DENIAL ));
m.put("EFFECT_OPPONENT_ATTACK_DENIAL", new HintBundle(TY_ATTACK_DENIAL ));
m.put("EFFECT_PLAYER_DOUBLE_PHASE", new HintBundle(TY_REPLAY_PHASE ));
m.put("EFFECT_PLAYER_HALF_LIFE", new HintBundle(TA_IS_PLAYER, TY_HALF_LIFE ));
m.put("EFFECT_NOT_CREATURE_DAMAGED", new HintBundle(TY_NOT_DAMAGEABLE_BY_CREATURE )); // once -> 20184
m.put("EFFECT_WHEN_ATTACKING", new HintBundle(O_WHEN_ATTACKING ));
m.put("EFFECT_WHEN_BLOCKING", new HintBundle(O_WHEN_BLOCKING));
m.put("EFFECT_WHEN_BLOCKED", new HintBundle(O_WHEN_BLOCKED));
m.put("EFFECT_WHEN_ACTIVATED", new HintBundle(O_WHEN_ATTACKED));
m.put("EFFECT_WHEN_PLAYED", new HintBundle(O_WHEN_PLAYED));
m.put("EFFECT_WHEN_DRAW_CARD", new HintBundle(O_WHEN_CARD_DRAWN ));
m.put("EFFECT_WHEN_GRAVEYARD", new HintBundle(O_WHEN_PUT_TO_GRAVEYARD ));
m.put("EFFECT_WHEN_NOT_BLOCKED", new HintBundle(O_WHEN_NOT_BLOCKED ));
m.put("EFFECT_OPPONENT_DEBUF_CREATURE", new HintBundle(TR_CARD_OPPONENT, TY_GENERAL_DEBUF ));
m.put("EFFECT_PLAYER_BUF_CREATURE", new HintBundle(TR_CARD_PLAYER, TY_GENERAL_BUF));
m.put("ATTACK_LIMITATION", new HintBundle(TY_GENERAL_ATTACK_LIMITATION));
m.put("BLOCKER_LIMITATION", new HintBundle(TY_GENERAL_BLOCKER_LIMITATION ));
m.put("BLOCK_LIMITATION", new HintBundle(TY_GENERAL_BLOCK_LIMITATION ));
m.put("BLOCKER_LIMITATION_SINGLE_ATTACKER_NOT_BLOCKABLE", new HintBundle(TY_GENERAL_BLOCKER_LIMITATION, TY_NOT_BLOCKABLE_IF_SINGLE_ATTACKER ));
m.put("BLOCK_CANT_BLOCK", new HintBundle(TY_CANT_BLOCK , TY_GENERAL_BLOCK_LIMITATION));
m.put("EFFECT_BOTH_SELECT_LIBRARY_CARD", new HintBundle(TA_FROM_LIBRARY, TR_CARD_PLAYER, TR_CARD_OPPONENT, TY_CHOSE_FROM_LIBRARY ));
m.put("EFFECT_CARD_UNBLOCKABLE", new HintBundle(TY_NOT_BLOCKABLE ));
m.put("EFFECT_SELF_DESTRUCT", new HintBundle(TY_SELF_DESTRUCT ));
m.put("EFFECT_OPPONENT_HAND_LIBRARY_SWITCH", new HintBundle(TR_CARD_OPPONENT, TY_LIBRARY_ROCHADE)); // once
m.put("EFFECT_PLAYER_HAND_LIBRARY_SWITCH", new HintBundle(TR_CARD_PLAYER, TY_LIBRARY_ROCHADE)); // once
m.put("EFFECT_BOTH_EXCHANGE_ALL_HAND_CARDS", new HintBundle(TR_CARD_OPPONENT, TR_CARD_PLAYER, TY_LIBRARY_ROCHADE)); // once
m.put("AMOUNT_CALCULATED_BY", new HintBundle()); // can not be easily translated... depends on hint settings
m.put("AMOUNT_MULTIPLYER", new HintBundle(CT_HAS_MULTIPLYER ));
m.put("COUNT", new HintBundle(CT_AMOUNT_COUNT ));
m.put("COUNT_X", new HintBundle(CT_X_COUNT));
m.put("DAMAGE_AMOUNT_COUNT_CREATURE", new HintBundle(CT_MULTIPLY_RESTRICTION_TYPE_TARGET_CREATURE ));
m.put("DAMAGE_AMOUNT_COUNT_LAND", new HintBundle(CT_MULTIPLY_RESTRICTION_TYPE_TARGET_LAND ));
m.put("DAMAGE_AMOUNT_SUBTYPE_COUNT", new HintBundle(CT_MULTIPLY_RESTRICTION_SUBTYPE ));
m.put("HEAL_AMOUNT_TYPE_COUNT_X2", new HintBundle(CT_HAS_MULTIPLYER_TWO));
m.put("EFFECT_TEMP_AURA", new HintBundle(TY_AURA));
m.put("AURA_BLOCK_MOD", new HintBundle(TY_AURA ,TY_GENERAL_BLOCK_LIMITATION ));
m.put("AURA_DURATION", new HintBundle(TY_AURA, TI_TURN_COUNT ));
m.put("AURA_EFFECT_BLOCK_PROTECTION", new HintBundle(TY_AURA, TY_GENERAL_BLOCK_LIMITATION, TY_NOT_BLOCKABLE )); // once
m.put("AURA_EFFECT_ON_COLOR", new HintBundle(TA_FROM_FIELD, TR_CARD_COLOR_NEED, TR_CARD_TYPE_CREATURE, TY_AURA));
m.put("AURA_EFFECT_PLAYER", new HintBundle(TA_IS_PLAYER,TY_PLAYER_AURA ));
m.put("AURA_EFFECT_PLAYER_CREATURES", new HintBundle(TA_FROM_FIELD, TR_CARD_PLAYER ));
m.put("AURA_POWER_MOD", new HintBundle(TY_AURA, TY_POWER_ADD, TY_GENERAL_BUF));
m.put("CARD_SELF_OK", new HintBundle(TR_CARD_SELF_NOT_ALLOWED));
m.put("INSTANT_NEGATES_CREATURE", new HintBundle(TA_FROM_STACK, TR_CARD_TYPE_CREATURE, TY_NEGATE_STACK_CARD ));
m.put("INSTANT_NEGATES_PLAYER_DAMAGE", new HintBundle(TA_FROM_STACK, TY_NEGATE_STACK_PLAYER_DAMAGE ));
m.put("INSTANT_NEGATES_SORCERY", new HintBundle(TA_FROM_STACK, TR_CARD_TYPE_SORCERY, TY_NEGATE_STACK_CARD));
m.put("IS_MULTISELECT_CARD", new HintBundle(CT_MULTI));
m.put("MAINPHASE2_NEEDED", new HintBundle(PA_MAIN2_NEEDED));
m.put("SHOULD_ATTACK", new HintBundle(PA_SHOULD_ATTACK));
m.put("INSTANT_WHEN_OPPONENT_CREATURE_PLAYED", new HintBundle(TR_CARD_TYPE_CREATURE, PR_REACT_ONLY_AFTER_CARD_PLAYED ));
m.put("INSTANT_WHEN_OPPONENT_SORCERY_PLAYED", new HintBundle(TR_CARD_TYPE_SORCERY, PR_REACT_ONLY_AFTER_CARD_PLAYED ));
// ok when empty
m.put("COMBO_PREFERED_WITH_LIST", new HintBundle()); // once- ignored combos not done with usual hints
m.put("HINT_TARGET", new HintBundle());
m.put("INSTANT_GENERAL", new HintBundle());
m.put("CAN_BE_TAPPED_INSTEAD_ATTACK", new HintBundle()); // as situation handled
m.put("CAN_BE_TAPPED_INSTEAD_BLOCK", new HintBundle()); // as situation handled
// player hints?
m.put("OPPONENT_CREATURE_MAYBE", new HintBundle());
m.put("OPPONENT_HIGHER_HEALTH_NEED", new HintBundle());
/*
m.put("OPPONENT_HAND_NEED", new HintBundle(PH_OPPONENT_HAND_NEED));
m.put("OPPONENT_CREATURE_NEED", new HintBundle(PH_OPPONENT_CREATURE_NEED));
m.put("OPPONENT_LAND_NEED", new HintBundle(PH_OPPONENT_LAND_NEED));
m.put("OPPONENT_ATTACKER_NEED", new HintBundle(PH_OPPONENT_ATTACKER_NEED));