コード例 #1
0
def test_forecast():
    d2.at_ability = d2.Ability.Forecast
    d2.weather = d2.Weather.Sunny
    d2.mv_type = d2.Type.Fire
    assert d2.calc() == 98
    d2.weather = d2.Weather.Calm
    assert d2.calc() == 54
コード例 #2
0
def test_plus_minus():
    d2.at_ability = d2.Ability.Plus
    d2.at_with_minus = True
    assert d2.calc() == 81
    d2.df_ability = d2.Ability.Minus
    d2.df_with_plus = True
    assert d2.calc() == 54
コード例 #3
0
def test_ion_deluge():
    d2.ion_deluge = True
    d2.mv_type = d2.Type.Normal
    d2.df_type = {d2.Type.Ground}
    assert d2.calc() == 0
    d2.df_type = {d2.Type.Water, d2.Type.Flying}
    assert d2.calc() == 219
コード例 #4
0
def test_levitate():
    d2.at_ability = d2.Ability.Levitate
    d2.mv_type = d2.Type.Electric
    d2.terrain = d2.Terrain.Electric
    assert d2.calc() == STANDARD
    d2.gravity = True
    assert d2.calc() == 81
コード例 #5
0
def test_rivalry():
    d2.at_ability = d2.Ability.Rivalry
    assert d2.calc() == 54
    d2.at_sex = d2.Sex.Male
    d2.df_sex = d2.Sex.Male
    assert d2.calc() == 68
    d2.df_sex = d2.Sex.Female
    assert d2.calc() == 41
コード例 #6
0
def test_protean():
    d2.at_ability = d2.Ability.Protean
    d2.mv_type = d2.Type.Fire
    assert d2.calc() == 65
    d2.mv_type = d2.Type.Water
    assert d2.calc() == 65
    d2.mv_type = d2.Type.Bug
    assert d2.calc() == 65
コード例 #7
0
def test_gravity():
    d2.mv_type = d2.Type.Ground
    d2.df_type = {d2.Type.Flying}
    assert d2.calc() == 0
    d2.gravity = True
    assert d2.calc() == STANDARD
    d2.gravity = False
    assert d2.calc() == 0
コード例 #8
0
def test_electric_terrain():
    d2.mv_type = d2.Type.Electric
    d2.terrain = d2.Terrain.Electric
    assert d2.calc() == 81
    d2.at_type = {d2.Type.Flying}
    assert d2.calc() == STANDARD
    d2.gravity = True
    assert d2.calc() == 81
コード例 #9
0
def test_technician():
    d2.at_ability = d2.Ability.Technician
    d2.mv_power = 60
    assert d2.calc() == 41
    d2.mv_power = 70
    assert d2.calc() == 32
    d2.mv_power = 90
    assert d2.calc() == 41
コード例 #10
0
def test_inverse_battle():
    d2.inverse_battle = True
    d2.mv_type = d2.Type.Ground
    d2.df_type = {d2.Type.Flying}
    assert d2.calc() == SUPER_EFFECT_2
    # 重力と複合した場合は地面:飛行が等倍になる(重力が先に反映される)
    d2.gravity = True
    assert d2.calc() == STANDARD
コード例 #11
0
def test_flower_gift():
    # d2.at_with_flower_gift = True
    d2.at_ability = d2.Ability.FlowerGift
    d2.weather = d2.Weather.Drought
    d2.mv_form = d2.MoveForm.Physical
    assert d2.calc() == 81
    # 本来は特防に補正がかかるので物理技に対して効果がない
    d2.df_with_flower_gift = True
    assert d2.calc() == 54
コード例 #12
0
def test_critical_effect():
    d2.critical_hit = True
    d2.at_rank = -1
    d2.df_rank = 1
    assert d2.calc() == 82
    d2.at_rank = 1
    assert d2.calc() == 121
    d2.df_rank = -2
    assert d2.calc() == 240
コード例 #13
0
def test_normalize_and_ion_deluge():
    d2.at_ability = d2.Ability.Normalize
    d2.ion_deluge = True
    d2.mv_type = d2.Type.Water
    d2.df_type = {d2.Type.Water}
    # プラズマシャワーが適用される
    assert d2.calc() == 130
コード例 #14
0
def test_rank_bonus():
    d2.at_rank = 1
    d2.df_rank = -2
    assert d2.calc() == 160
コード例 #15
0
def test_yoga_power():
    d2.at_ability = d2.Ability.YogaPower
    d2.mv_form = d2.MoveForm.Physical
    assert d2.calc() == 107
コード例 #16
0
def test_water_bubble_for_defender():
    d2.mv_type = d2.Type.Fire
    d2.df_ability = d2.Ability.WaterBubble
    assert d2.calc() == 28
コード例 #17
0
def test_levitate_for_defender():
    d2.df_ability = d2.Ability.Levitate
    d2.mv_type = d2.Type.Ground
    assert d2.calc() == 0
    d2.gravity = True
    assert d2.calc() == STANDARD
コード例 #18
0
def test_adaptability():
    d2.at_ability = d2.Ability.Adaptability
    d2.at_type = {d2.Type.Normal}
    d2.mv_type = d2.Type.Normal
    assert d2.calc() == 109
コード例 #19
0
def test_strong_jaw():
    d2.at_ability = d2.Ability.StrongJaw
    d2.mv_style = d2.MoveStyle.Fang
    assert d2.calc() == 81
コード例 #20
0
def test_weather_effect():
    d2.weather = d2.Weather.Sunny
    d2.mv_type = d2.Type.Water
    assert d2.calc() == 27
    d2.mv_type = d2.Type.Fire
    assert d2.calc() == 82
コード例 #21
0
def test_brain_force():
    d2.at_ability = d2.Ability.BrainForce
    d2.mv_type = d2.Type.Bug
    d2.df_type = {d2.Type.Grass}
    assert d2.calc() == 131
コード例 #22
0
def test_infiltrator():
    d2.at_ability = d2.Ability.Infiltrator
    d2.df_with_reflect = True
    d2.df_with_light_screen = True
    assert d2.calc() == STANDARD
コード例 #23
0
def test_unaware_for_attacker():
    d2.at_ability = d2.Ability.Unaware
    d2.df_rank = 6
    assert d2.calc() == 54
    d2.at_rank = 2
    assert d2.calc() == 107
コード例 #24
0
def test_type_effect():
    d2.mv_type = d2.Type.Dragon
    d2.df_type = {d2.Type.Dragon, d2.Type.Fairy}
    assert d2.calc() == 0
コード例 #25
0
def test_water_bubble_for_attacker():
    d2.at_ability = d2.Ability.WaterBubble
    d2.mv_type = d2.Type.Water
    assert d2.calc() == 107
コード例 #26
0
def test_sand_force():
    d2.at_ability = d2.Ability.SandForce
    d2.mv_type = d2.Type.Rock
    d2.weather = d2.Weather.Sandstorm
    assert d2.calc() == 70
コード例 #27
0
def test_solar_power():
    d2.at_ability = d2.Ability.SolarPower
    assert d2.calc() == 54
    d2.weather = d2.Weather.Sunny
    assert d2.calc() == 81
コード例 #28
0
def test_reckless():
    d2.at_ability = d2.Ability.Reckless
    d2.mv_reckless = True
    assert d2.calc() == 65
コード例 #29
0
def test_unaware_for_defender():
    d2.df_ability = d2.Ability.Unaware
    d2.at_rank = 6
    assert d2.calc() == 54
    d2.df_rank = 2
    assert d2.calc() == 28
コード例 #30
0
def test_sniper():
    d2.at_ability = d2.Ability.Sniper
    d2.critical_hit = True
    assert d2.calc() == 123