def test_export_unique_dragon(asset_manager: AssetManager):
    chara_data = asset_manager.asset_chara_data.get_data_by_id(10550502)
    entries, _ = export_normal_attack_info_chara(chara_data,
                                                 asset_manager,
                                                 skip_unparsable=False)

    # 2nd entry is the unique dragon
    # 1 for normal, 1 for enhanced
    assert len(entries[1].chain_branches) == 2
Beispiel #2
0
def test_export_unique_dragon_combo_chain(asset_manager: AssetManager):
    chara_data_tiki = asset_manager.asset_chara_data.get_data_by_id(10350203)
    entries, _ = export_normal_attack_info_chara(chara_data_tiki, asset_manager, skip_unparsable=False)

    chain_names_expected = {
        asset_manager.asset_text_website.get_text(Language.EN, label)
        for label in ("NORMAL_ATTACK_COMBO_CHAIN_0", "NORMAL_ATTACK_COMBO_CHAIN_-1")
    }
    chain_names_actual = {entry.chain_name.text_dict[Language.EN] for entry in entries}

    assert chain_names_expected == chain_names_actual
Beispiel #3
0
def test_normal_attack_chain(asset_manager: AssetManager):
    # Gala Audric (10450405)
    chains, skipped = export_normal_attack_info_chara(
        asset_manager.asset_chara_data.get_data_by_id(10450405),
        asset_manager, skip_unparsable=False
    )

    if skipped:
        pytest.fail(f"Skipped message available: {skipped}")

    if not chains:
        pytest.fail("No chain available.")

    chain = chains[0]

    if not chain.chain_branches:
        pytest.fail("Chain branch unavailable.")
Beispiel #4
0
def test_s2_effective_chain(asset_manager: AssetManager):
    # Megaman (10750102)
    chains, skipped = export_normal_attack_info_chara(
        asset_manager.asset_chara_data.get_data_by_id(10750102),
        asset_manager,
        skip_unparsable=False)

    if skipped:
        pytest.fail(f"Skipped message available: {skipped}")

    if not chains:
        pytest.fail("No chain available.")

    # Chain for S2 effective
    chain = chains[2]

    if not chain.chain_branches:
        pytest.fail("Chain branch unavailable.")
Beispiel #5
0
def test_normal_attack_chain(asset_manager: AssetManager):
    # Yukata Curran (10350404)
    # - Uses dagger normal attack despite modes available
    chains, skipped = export_normal_attack_info_chara(
        asset_manager.asset_chara_data.get_data_by_id(10350404),
        asset_manager, skip_unparsable=False
    )

    if skipped:
        pytest.fail(f"Skipped message available: {skipped}")

    if not chains:
        pytest.fail("No chain available.")

    chain = chains[0]

    if not chain.chain_branches:
        pytest.fail("Chain branch unavailable.")
def test_normal_attack_chain(asset_manager: AssetManager):
    # Gala Zethia (10250504)
    chains, skipped = export_normal_attack_info_chara(
        asset_manager.asset_chara_data.get_data_by_id(10250504),
        asset_manager, skip_unparsable=False
    )

    if skipped:
        pytest.fail(f"Skipped message available: {skipped}")

    if not chains:
        pytest.fail("No chain available.")

    # Normal, w/ Bahamut, Bahamut's normal
    assert len(chains) == 3

    if any(not chain.chain_branches for chain in chains):
        pytest.fail("Chain branch unavailable.")
Beispiel #7
0
def test_normal_attack_chain(asset_manager: AssetManager):
    # Farren (10350405)
    # - Mode 113: Unique Transform
    # - Unique Combo 71
    # - Action ID 301800
    chains, skipped = export_normal_attack_info_chara(
        asset_manager.asset_chara_data.get_data_by_id(10350405),
        asset_manager,
        skip_unparsable=False)

    if skipped:
        pytest.fail(f"Skipped message available: {skipped}")

    if not chains:
        pytest.fail("No chain available.")

    assert len(chains) == 2  # 1 for normal, 1 for enhanced

    if not all(chain.chain_branches for chain in chains):
        pytest.fail("Chain branch unavailable.")