def test_atk_up_by_dragons_claws(transformer_ability: AbilityTransformer): # Gala Mym - 10550101 # https://dragalialost.wiki/w/Gala_Mym ex_ability_data = transformer_ability.transform_chained_ex_ability( 400000012) expected_info = { AbilityEffectInfo( 400000012, ConditionComposite( [Condition.TARGET_FLAME, Condition.SELF_SHAPESHIFTED_1_TIME]), BuffParameter.ATK_BUFF, 0.1), AbilityEffectInfo( 400000012, ConditionComposite( [Condition.TARGET_FLAME, Condition.SELF_SHAPESHIFTED_2_TIMES]), BuffParameter.ATK_BUFF, 0.1), AbilityEffectInfo( 400000012, ConditionComposite( [Condition.TARGET_FLAME, Condition.SELF_SHAPESHIFTED_3_TIMES]), BuffParameter.ATK_BUFF, 0.15), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test(transformer_ability: AbilityTransformer): # Veronica (AB3 @ Max - Skill prep & skill fill 5%) # https://dragalialost.wiki/w/Veronica ability_data = transformer_ability.transform_ability(721) cond_quest_start = ConditionComposite(Condition.QUEST_START) cond_skill_used = ConditionComposite(Condition.SKILL_USED_ALL) expected_info = { AbilityEffectInfo(721, cond_quest_start, BuffParameter.SP_CHARGE_PCT_S1, 1), AbilityEffectInfo(721, cond_quest_start, BuffParameter.SP_CHARGE_PCT_S2, 1), AbilityEffectInfo(721, cond_quest_start, BuffParameter.SP_CHARGE_PCT_S3, 1), AbilityEffectInfo(721, cond_quest_start, BuffParameter.SP_CHARGE_PCT_S4, 1), AbilityEffectInfo(723, cond_skill_used, BuffParameter.SP_CHARGE_PCT_S1, 0.05), AbilityEffectInfo(723, cond_skill_used, BuffParameter.SP_CHARGE_PCT_S2, 0.05), AbilityEffectInfo(723, cond_skill_used, BuffParameter.SP_CHARGE_PCT_S3, 0.05), AbilityEffectInfo(723, cond_skill_used, BuffParameter.SP_CHARGE_PCT_S4, 0.05), } check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_dummy(transformer_ability: AbilityTransformer): # Gala Leonidas (AB1 @ Lv1 - Nothing) # https://dragalialost.wiki/w/Gala_Leonidas ability_data = transformer_ability.transform_ability(1460) expected_info = set() check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_atk_up_on_def_buffed(transformer_ability: AbilityTransformer): # Valentine's Orion (AB1 @ Max - DEF doublebuff - ATK +15% (Buff)) # https://dragalialost.wiki/w/Valentine%27s_Orion ability_data = transformer_ability.transform_ability(210000607) expected_info = { AbilityEffectInfo(210000607, ConditionComposite(Condition.ON_BUFFED_DEF), BuffParameter.ATK_BUFF, 0.15), } check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_player_exp(transformer_ability: AbilityTransformer): # Euden (AB3 @ Lv2 - Player EXP +15%) # https://dragalialost.wiki/w/The_Prince ability_data = transformer_ability.transform_ability(110150003) expected_info = { AbilityEffectInfo(110150003, ConditionComposite(), BuffParameter.PLAYER_EXP, 0.15), } check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_sp_rate_up(transformer_ability: AbilityTransformer): # Marty (AB1 @ Max - SP Rate +10%) # https://dragalialost.wiki/w/Marty ability_data = transformer_ability.transform_ability(938) expected_info = { AbilityEffectInfo(938, ConditionComposite(), BuffParameter.SP_RATE, 0.1), } check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_resist_1(transformer_ability: AbilityTransformer): # Marty (AB3 @ Max - Stun Res +50%) # https://dragalialost.wiki/w/Marty ability_data = transformer_ability.transform_ability(110020604) expected_info = { AbilityEffectInfo(110020604, ConditionComposite(), BuffParameter.RESISTANCE_STUN, 0.5), } check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_resist_2(transformer_ability: AbilityTransformer): # Wedding Elisanne (AB2 @ Max - Bog Res +100%) # https://dragalialost.wiki/w/Wedding_Elisanne ability_data = transformer_ability.transform_ability(110020906) expected_info = { AbilityEffectInfo(110020906, ConditionComposite(), BuffParameter.RESISTANCE_BOG, 1.0), } check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_atk_up_gte_70_hp(transformer_ability: AbilityTransformer): # Karl (AB1 @ Max - RP +13% when HP = 100%) # https://dragalialost.wiki/w/Karl ability_data = transformer_ability.transform_ability(719) expected_info = { AbilityEffectInfo(719, ConditionComposite(Condition.SELF_HP_GTE_70), BuffParameter.ATK_PASSIVE, 0.15), } check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_atk_up_full_hp(transformer_ability: AbilityTransformer): # Yukata Cassandra (AB1 @ Max - ATK +20% when HP = 100%) # https://dragalialost.wiki/w/Yukata_Cassandra ability_data = transformer_ability.transform_ability(210000307) expected_info = { AbilityEffectInfo(210000307, ConditionComposite(Condition.SELF_HP_FULL), BuffParameter.ATK_PASSIVE, 0.2), } check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_def_up_on_lt_30_hp(transformer_ability: AbilityTransformer): # Raemond (AB1 @ Max - DEF +50% for 15s when HP < 30%) # https://dragalialost.wiki/w/Karl ability_data = transformer_ability.transform_ability(210001704) expected_info = { AbilityEffectInfo( 210001704, ConditionComposite(Condition.ON_HP_LT_30), BuffParameter.DEF_BUFF, 0.5, max_occurrences=1 ), } check_ability_effect_unit_match(ability_data.effect_units, expected_info)
def test_sophie(transformer_ability: AbilityTransformer): # Sophie - 10450404 # https://dragalialost.wiki/w/Sophie ex_ability_data = transformer_ability.transform_ex_ability(157570413) expected_info = { AbilityEffectInfo( 157570413, ConditionComposite(), BuffParameter.LIGHT_ELEM_DMG_UP, 0.15 ), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_joker(transformer_ability: AbilityTransformer): # Joker - 10350505 # https://dragalialost.wiki/w/Joker ex_ability_data = transformer_ability.transform_ex_ability(101100007) expected_info = { AbilityEffectInfo( 101100007, ConditionComposite(), BuffParameter.ASPD_PASSIVE, 0.07 ), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_valentines_chelsea(transformer_ability: AbilityTransformer): # Valentine's Chelsea - 10650304 # https://dragalialost.wiki/w/Valentine%27s_Chelsea ex_ability_data = transformer_ability.transform_chained_ex_ability(400000873) expected_info = { AbilityEffectInfo( 400000873, ConditionComposite([Condition.TARGET_WIND, Condition.ON_HIT_BY_ANY_AFFLICTION]), BuffParameter.SHIELD_SINGLE_DMG, 0.25, duration_count=1, cooldown_sec=20, ), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_joker(transformer_ability: AbilityTransformer): # Joker - 10350505 # https://dragalialost.wiki/w/Joker ex_ability_data = transformer_ability.transform_chained_ex_ability(400000863) expected_info = { AbilityEffectInfo( 400000863, ConditionComposite([Condition.TARGET_SHADOW, Condition.ON_COMBO_GTE_10]), BuffParameter.RESISTANCE_LIGHT_BUFF, 0.1 ), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_panther(transformer_ability: AbilityTransformer): # Panther - 10550104 # https://dragalialost.wiki/w/Panther ex_ability_data = transformer_ability.transform_chained_ex_ability(400000817) expected_info = { AbilityEffectInfo( 400000817, ConditionComposite([Condition.TARGET_FLAME]), BuffParameter.DRAGON_TIME, 0.2 ), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_mona(transformer_ability: AbilityTransformer): # Mona - 10150304 # https://dragalialost.wiki/w/Mona ex_ability_data = transformer_ability.transform_chained_ex_ability(400000879) expected_info = { AbilityEffectInfo( 400000879, ConditionComposite([Condition.TARGET_WIND, Condition.ON_COMBO_GTE_10]), BuffParameter.RESISTANCE_WATER_BUFF, 0.1 ), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_sophie(transformer_ability: AbilityTransformer): # Sophie - 10450404 # https://dragalialost.wiki/w/Sophie ex_ability_data = transformer_ability.transform_chained_ex_ability(400000868) expected_info = { AbilityEffectInfo( 400000868, ConditionComposite([Condition.TARGET_LIGHT]), BuffParameter.RP_UP, 0.2 ), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_mona(transformer_ability: AbilityTransformer): # Mona - 10150304 # https://dragalialost.wiki/w/Mona ex_ability_data = transformer_ability.transform_ex_ability(157570005) expected_info = { AbilityEffectInfo( 157570005, ConditionComposite(), BuffParameter.WIND_ELEM_DMG_UP, 0.2, max_occurrences=1 ), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_combo_time_extend(transformer_ability: AbilityTransformer): # Nobunaga - 10250103 # https://dragalialost.wiki/w/Nobunaga ex_ability_data = transformer_ability.transform_chained_ex_ability( 400000708) expected_info = { AbilityEffectInfo(400000708, ConditionComposite(Condition.TARGET_FLAME), BuffParameter.COMBO_TIME, 2.5), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_wand(transformer_ability: AbilityTransformer): # Veronica - 10750501 # https://dragalialost.wiki/w/Veronica ex_ability_data = transformer_ability.transform_ex_ability(102000010) expected_info = { AbilityEffectInfo(102000010, ConditionComposite(), BuffParameter.SKILL_DAMAGE_PASSIVE, 0.15, max_occurrences=1), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_bow(transformer_ability: AbilityTransformer): # Meene - 10650303 # https://dragalialost.wiki/w/Meene ex_ability_data = transformer_ability.transform_ex_ability(101040010) expected_info = { AbilityEffectInfo(101040010, ConditionComposite(), BuffParameter.SP_RATE, 0.15, max_occurrences=1), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_staff(transformer_ability: AbilityTransformer): # Aurien - 10830101 # https://dragalialost.wiki/w/Aurien ex_ability_data = transformer_ability.transform_ex_ability(104000010) expected_info = { AbilityEffectInfo(104000010, ConditionComposite(), BuffParameter.RP_UP, 0.2, max_occurrences=1), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_dagger(transformer_ability: AbilityTransformer): # Renee - 10340203 # https://dragalialost.wiki/w/Renee ex_ability_data = transformer_ability.transform_ex_ability(103000010) expected_info = { AbilityEffectInfo(103000010, ConditionComposite(), BuffParameter.CRT_RATE_PASSIVE, 0.1, max_occurrences=1), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_blade(transformer_ability: AbilityTransformer): # Nobunaga - 10250103 # https://dragalialost.wiki/w/Nobunaga ex_ability_data = transformer_ability.transform_ex_ability(101020010) expected_info = { AbilityEffectInfo(101020010, ConditionComposite(), BuffParameter.ATK_EX, 0.1, max_occurrences=1), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_manacaster(transformer_ability: AbilityTransformer): # Ilia - 10950401 # https://dragalialost.wiki/w/Ilia ex_ability_data = transformer_ability.transform_ex_ability(109000009) expected_info = { AbilityEffectInfo(109000009, ConditionComposite(), BuffParameter.OD_GAUGE_DAMAGE, 0.2, max_occurrences=1), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_infliction_rate_up(transformer_ability: AbilityTransformer): # Delphi - 10350502 # https://dragalialost.wiki/w/Delphi ex_ability_data = transformer_ability.transform_chained_ex_ability( 400000627) expected_info = { # The effect of clearing the action condition when the combo counter resets is omitted AbilityEffectInfo(400000627, ConditionComposite([Condition.TARGET_SHADOW]), BuffParameter.INFLICT_PROB_POISON, 0.5), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_axe(transformer_ability: AbilityTransformer): # Ramona - 10450101 # https://dragalialost.wiki/w/Ramona ex_ability_data = transformer_ability.transform_ex_ability(101030010) expected_info = { AbilityEffectInfo(101030010, ConditionComposite(), BuffParameter.DEF_PASSIVE, 0.15, max_occurrences=1), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_sword(transformer_ability: AbilityTransformer): # Wedding Elisanne - 10150302 # https://dragalialost.wiki/w/Wedding_Elisanne ex_ability_data = transformer_ability.transform_ex_ability(101050010) expected_info = { AbilityEffectInfo(101050010, ConditionComposite(), BuffParameter.DP_RATE, 0.15, max_occurrences=1), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)
def test_lance(transformer_ability: AbilityTransformer): # Gala Mym - 10550101 # https://dragalialost.wiki/w/Gala_Mym ex_ability_data = transformer_ability.transform_ex_ability(101010010) expected_info = { AbilityEffectInfo(101010010, ConditionComposite(), BuffParameter.HP_RAISE_BY_MAX, 0.15, max_occurrences=1), } check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info)