forked from mirror/Archipelago
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
96 lines
3.5 KiB
Python
96 lines
3.5 KiB
Python
from typing import Dict
|
|
from dataclasses import dataclass
|
|
from Options import Choice, Toggle, PerGameCommonOptions
|
|
|
|
|
|
class AllowSeitengrat(Toggle):
|
|
"""Allow Seitengrat to appear in the item pool and bazaars."""
|
|
display_name = "Allow Seitengrat"
|
|
default = 0
|
|
|
|
|
|
class ShuffleMainParty(Toggle):
|
|
"""Shuffle the 6 main party members around."""
|
|
display_name = "Shuffle Main Party"
|
|
default = 1
|
|
|
|
|
|
class ProgressiveScaling(Toggle):
|
|
"""In addition to the progression scaling, also scale the progression based on the number of party members,
|
|
the second license board has been unlocked, and progressive access to slightly easier regions to unlock more difficult areas."""
|
|
display_name = "Difficulty Progressive Scaling"
|
|
default = 1
|
|
|
|
|
|
class IncludeTreasures(Toggle):
|
|
"""Allows treasures to contain progression and useful items."""
|
|
display_name = "Treasures"
|
|
default = 0
|
|
|
|
|
|
class IncludeChops(Toggle):
|
|
"""Allows pinewood chops and sandalwood chop checks to contain progression and useful items.
|
|
Note: The Bahamut Unlock Goal for collecting pinewood chops will still
|
|
require the player to collect the 28 chops for the Writ of Transit."""
|
|
display_name = "Chops"
|
|
default = 0
|
|
|
|
|
|
class IncludeBlackOrbs(Toggle):
|
|
"""Allows Pharos floor 1 and Subterra black orb checks to contain progression and useful items."""
|
|
display_name = "Black Orbs"
|
|
default = 0
|
|
|
|
|
|
class IncludeTrophyRareGames(Toggle):
|
|
"""Allows trophy rare game checks to contain progression and useful items.
|
|
Includes: Rare Game drops and Number of Rare Game Killed checks."""
|
|
display_name = "Trophy Rare Games"
|
|
default = 0
|
|
|
|
|
|
class IncludeHuntRewards(Toggle):
|
|
"""Allows Hunt rewards and drops to contain progression and useful items."""
|
|
display_name = "Hunt Rewards and Drops"
|
|
default = 0
|
|
|
|
|
|
class IncludeClanHallRewards(Toggle):
|
|
"""Allows Clan Hall rewards to contain progression and useful items."""
|
|
display_name = "Clan Hall Rewards"
|
|
default = 0
|
|
|
|
|
|
class BahamutUnlock(Choice):
|
|
"""Determines where the Writ of Transit is placed to unlock travel to the Bahamut to beat the game.
|
|
Defeat Cid 2: Climb the Pharos and defeat Cid 2 (Requires 2 magicites and 1 story sword).
|
|
Collect Pinewood Chops: Collect 28 pinewood chops from the multiworld and turn in for the Sandalwood Chop check.
|
|
Collect Espers: Collect all 13 espers and turn in for the Clan Hall Control 13 Espers check.
|
|
Defeat Shadowseer: Defeat the Shadowseer in the Pharos and turn in for the Hunt 44: Shadowseer check.
|
|
Defeat Yiazmat: Defeat Yiazmat in Ridorana and turn in for the Hunt 45: Yiazmat check.
|
|
Defeat Omega: Defeat Omega Mark XII in the Great Crystal and turn in for the Clan Boss: Omega Mark XII check.
|
|
Random Location: The Writ of Transit can be anywhere in the multiworld."""
|
|
display_name = "Bahamut Unlock Goal"
|
|
option_defeat_cid_2 = 0
|
|
option_collect_pinewood_chops = 1
|
|
option_collect_espers = 2
|
|
option_defeat_shadowseer = 3
|
|
option_defeat_yiazmat = 4
|
|
option_defeat_omega = 5
|
|
option_random_location = 6
|
|
default = 0
|
|
|
|
|
|
@dataclass
|
|
class FF12OpenWorldGameOptions(PerGameCommonOptions):
|
|
shuffle_main_party: ShuffleMainParty
|
|
difficulty_progressive_scaling: ProgressiveScaling
|
|
include_treasures: IncludeTreasures
|
|
include_chops: IncludeChops
|
|
include_black_orbs: IncludeBlackOrbs
|
|
include_trophy_rare_games: IncludeTrophyRareGames
|
|
include_hunt_rewards: IncludeHuntRewards
|
|
include_clan_hall_rewards: IncludeClanHallRewards
|
|
allow_seitengrat: AllowSeitengrat
|
|
bahamut_unlock: BahamutUnlock
|