196 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			196 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from dataclasses import dataclass | ||
|  | 
 | ||
|  | from Options import Choice, DefaultOnToggle, PerGameCommonOptions, Range, Toggle | ||
|  | 
 | ||
|  | 
 | ||
|  | class StructureDeck(Choice): | ||
|  |     """Which Structure Deck you start with""" | ||
|  | 
 | ||
|  |     display_name = "Structure Deck" | ||
|  |     option_dragons_roar = 0 | ||
|  |     option_zombie_madness = 1 | ||
|  |     option_blazing_destruction = 2 | ||
|  |     option_fury_from_the_deep = 3 | ||
|  |     option_warriors_triumph = 4 | ||
|  |     option_spellcasters_judgement = 5 | ||
|  |     option_none = 6 | ||
|  |     option_random_deck = 7 | ||
|  |     default = 7 | ||
|  | 
 | ||
|  | 
 | ||
|  | class Banlist(Choice): | ||
|  |     """Which Banlist you start with""" | ||
|  | 
 | ||
|  |     display_name = "Banlist" | ||
|  |     option_no_banlist = 0 | ||
|  |     option_september_2003 = 1 | ||
|  |     option_march_2004 = 2 | ||
|  |     option_september_2004 = 3 | ||
|  |     option_march_2005 = 4 | ||
|  |     option_september_2005 = 5 | ||
|  |     default = option_september_2005 | ||
|  | 
 | ||
|  | 
 | ||
|  | class FinalCampaignBossUnlockCondition(Choice): | ||
|  |     """How to unlock the final campaign boss and goal for the world""" | ||
|  | 
 | ||
|  |     display_name = "Final Campaign Boss unlock Condition" | ||
|  |     option_campaign_opponents = 0 | ||
|  |     option_challenges = 1 | ||
|  | 
 | ||
|  | 
 | ||
|  | class FourthTier5UnlockCondition(Choice): | ||
|  |     """How to unlock the fourth campaign boss""" | ||
|  | 
 | ||
|  |     display_name = "Fourth Tier 5 Campaign Boss unlock Condition" | ||
|  |     option_campaign_opponents = 0 | ||
|  |     option_challenges = 1 | ||
|  | 
 | ||
|  | 
 | ||
|  | class ThirdTier5UnlockCondition(Choice): | ||
|  |     """How to unlock the third campaign boss""" | ||
|  | 
 | ||
|  |     display_name = "Third Tier 5 Campaign Boss unlock Condition" | ||
|  |     option_campaign_opponents = 0 | ||
|  |     option_challenges = 1 | ||
|  | 
 | ||
|  | 
 | ||
|  | class FinalCampaignBossChallenges(Range): | ||
|  |     """Number of Limited/Theme Duels completed for the Final Campaign Boss to appear""" | ||
|  | 
 | ||
|  |     display_name = "Final Campaign Boss challenges unlock amount" | ||
|  |     range_start = 0 | ||
|  |     range_end = 91 | ||
|  |     default = 10 | ||
|  | 
 | ||
|  | 
 | ||
|  | class FourthTier5CampaignBossChallenges(Range): | ||
|  |     """Number of Limited/Theme Duels completed for the Fourth Level 5 Campaign Opponent to appear""" | ||
|  | 
 | ||
|  |     display_name = "Fourth Tier 5 Campaign Boss unlock amount" | ||
|  |     range_start = 0 | ||
|  |     range_end = 91 | ||
|  |     default = 5 | ||
|  | 
 | ||
|  | 
 | ||
|  | class ThirdTier5CampaignBossChallenges(Range): | ||
|  |     """Number of Limited/Theme Duels completed for the Third Level 5 Campaign Opponent to appear""" | ||
|  | 
 | ||
|  |     display_name = "Third Tier 5 Campaign Boss unlock amount" | ||
|  |     range_start = 0 | ||
|  |     range_end = 91 | ||
|  |     default = 2 | ||
|  | 
 | ||
|  | 
 | ||
|  | class FinalCampaignBossCampaignOpponents(Range): | ||
|  |     """Number of Campaign Opponents Duels defeated for the Final Campaign Boss to appear""" | ||
|  | 
 | ||
|  |     display_name = "Final Campaign Boss campaign opponent unlock amount" | ||
|  |     range_start = 0 | ||
|  |     range_end = 24 | ||
|  |     default = 12 | ||
|  | 
 | ||
|  | 
 | ||
|  | class FourthTier5CampaignBossCampaignOpponents(Range): | ||
|  |     """Number of Campaign Opponents Duels defeated for the Fourth Level 5 Campaign Opponent to appear""" | ||
|  | 
 | ||
|  |     display_name = "Fourth Tier 5 Campaign Boss campaign opponent unlock amount" | ||
|  |     range_start = 0 | ||
|  |     range_end = 23 | ||
|  |     default = 7 | ||
|  | 
 | ||
|  | 
 | ||
|  | class ThirdTier5CampaignBossCampaignOpponents(Range): | ||
|  |     """Number of Campaign Opponents Duels defeated for the Third Level 5 Campaign Opponent to appear""" | ||
|  | 
 | ||
|  |     display_name = "Third Tier 5 Campaign Boss campaign opponent unlock amount" | ||
|  |     range_start = 0 | ||
|  |     range_end = 22 | ||
|  |     default = 3 | ||
|  | 
 | ||
|  | 
 | ||
|  | class NumberOfChallenges(Range): | ||
|  |     """Number of random Limited/Theme Duels that are included. The rest will be inaccessible.""" | ||
|  | 
 | ||
|  |     display_name = "Number of Challenges" | ||
|  |     range_start = 0 | ||
|  |     range_end = 91 | ||
|  |     default = 10 | ||
|  | 
 | ||
|  | 
 | ||
|  | class StartingMoney(Range): | ||
|  |     """The amount of money you start with""" | ||
|  | 
 | ||
|  |     display_name = "Starting Money" | ||
|  |     range_start = 0 | ||
|  |     range_end = 100000 | ||
|  |     default = 3000 | ||
|  | 
 | ||
|  | 
 | ||
|  | class MoneyRewardMultiplier(Range): | ||
|  |     """By which amount the campaign reward money is multiplied""" | ||
|  | 
 | ||
|  |     display_name = "Money Reward Multiplier" | ||
|  |     range_start = 1 | ||
|  |     range_end = 255 | ||
|  |     default = 20 | ||
|  | 
 | ||
|  | 
 | ||
|  | class NormalizeBoostersPacks(DefaultOnToggle): | ||
|  |     """If enabled every booster pack costs the same otherwise vanilla cost is used""" | ||
|  | 
 | ||
|  |     display_name = "Normalize Booster Packs" | ||
|  | 
 | ||
|  | 
 | ||
|  | class BoosterPackPrices(Range): | ||
|  |     """
 | ||
|  |     Only Works if normalize booster packs is enabled. | ||
|  |     Sets the amount that what every booster pack costs. | ||
|  |     """
 | ||
|  | 
 | ||
|  |     display_name = "Booster Pack Prices" | ||
|  |     range_start = 1 | ||
|  |     range_end = 3000 | ||
|  |     default = 100 | ||
|  | 
 | ||
|  | 
 | ||
|  | class AddEmptyBanList(Toggle): | ||
|  |     """Adds a Ban List where everything is at 3 to the item pool""" | ||
|  | 
 | ||
|  |     display_name = "Add Empty Ban List" | ||
|  | 
 | ||
|  | 
 | ||
|  | class CampaignOpponentsShuffle(Toggle): | ||
|  |     """Replaces the campaign with random opponents from the entire game""" | ||
|  | 
 | ||
|  |     display_name = "Campaign Opponents Shuffle" | ||
|  | 
 | ||
|  | 
 | ||
|  | class OCGArts(Toggle): | ||
|  |     """Always use the OCG artworks for cards""" | ||
|  | 
 | ||
|  |     display_name = "OCG Arts" | ||
|  | 
 | ||
|  | 
 | ||
|  | @dataclass | ||
|  | class Yugioh06Options(PerGameCommonOptions): | ||
|  |     structure_deck: StructureDeck | ||
|  |     banlist: Banlist | ||
|  |     final_campaign_boss_unlock_condition: FinalCampaignBossUnlockCondition | ||
|  |     fourth_tier_5_campaign_boss_unlock_condition: FourthTier5UnlockCondition | ||
|  |     third_tier_5_campaign_boss_unlock_condition: ThirdTier5UnlockCondition | ||
|  |     final_campaign_boss_challenges: FinalCampaignBossChallenges | ||
|  |     fourth_tier_5_campaign_boss_challenges: FourthTier5CampaignBossChallenges | ||
|  |     third_tier_5_campaign_boss_challenges: ThirdTier5CampaignBossChallenges | ||
|  |     final_campaign_boss_campaign_opponents: FinalCampaignBossCampaignOpponents | ||
|  |     fourth_tier_5_campaign_boss_campaign_opponents: FourthTier5CampaignBossCampaignOpponents | ||
|  |     third_tier_5_campaign_boss_campaign_opponents: ThirdTier5CampaignBossCampaignOpponents | ||
|  |     number_of_challenges: NumberOfChallenges | ||
|  |     starting_money: StartingMoney | ||
|  |     money_reward_multiplier: MoneyRewardMultiplier | ||
|  |     normalize_boosters_packs: NormalizeBoostersPacks | ||
|  |     booster_pack_prices: BoosterPackPrices | ||
|  |     add_empty_banlist: AddEmptyBanList | ||
|  |     campaign_opponents_shuffle: CampaignOpponentsShuffle | ||
|  |     ocg_arts: OCGArts |