129 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import typing
 | 
						|
 | 
						|
from Options import Choice, Range, Option, Toggle, DeathLink, DefaultOnToggle
 | 
						|
 | 
						|
 | 
						|
class StartingGender(Choice):
 | 
						|
    """
 | 
						|
    Determines the gender of your initial 'Sir Lee' character.
 | 
						|
    """
 | 
						|
    displayname = "Starting Gender"
 | 
						|
    option_sir = 0
 | 
						|
    option_lady = 1
 | 
						|
    alias_male = 0
 | 
						|
    alias_female = 1
 | 
						|
    default = 0
 | 
						|
 | 
						|
 | 
						|
class StartingClass(Choice):
 | 
						|
    """
 | 
						|
    Determines the starting class of your initial 'Sir Lee' character.
 | 
						|
    """
 | 
						|
    displayname = "Starting Class"
 | 
						|
    option_knight = 0
 | 
						|
    option_mage = 1
 | 
						|
    option_barbarian = 2
 | 
						|
    option_knave = 3
 | 
						|
    default = 0
 | 
						|
 | 
						|
 | 
						|
class NewGamePlus(Choice):
 | 
						|
    """
 | 
						|
    Puts the castle in new game plus mode which vastly increases enemy level, but increases gold gain by 50%. Not
 | 
						|
    recommended for those inexperienced to Rogue Legacy!
 | 
						|
    """
 | 
						|
    displayname = "New Game Plus"
 | 
						|
    option_normal = 0
 | 
						|
    option_new_game_plus = 1
 | 
						|
    option_new_game_plus_2 = 2
 | 
						|
    alias_hard = 1
 | 
						|
    alias_brutal = 2
 | 
						|
    default = 0
 | 
						|
 | 
						|
 | 
						|
class FairyChestsPerZone(Range):
 | 
						|
    """
 | 
						|
    Determines the number of Fairy Chests in a given zone that contain items. After these have been checked, only stat
 | 
						|
    bonuses can be found in Fairy Chests.
 | 
						|
    """
 | 
						|
    displayname = "Fairy Chests Per Zone"
 | 
						|
    range_start = 5
 | 
						|
    range_end = 15
 | 
						|
    default = 5
 | 
						|
 | 
						|
 | 
						|
class ChestsPerZone(Range):
 | 
						|
    """
 | 
						|
    Determines the number of Non-Fairy Chests in a given zone that contain items. After these have been checked, only
 | 
						|
    gold or stat bonuses can be found in Chests.
 | 
						|
    """
 | 
						|
    displayname = "Chests Per Zone"
 | 
						|
    range_start = 15
 | 
						|
    range_end = 30
 | 
						|
    default = 15
 | 
						|
 | 
						|
 | 
						|
class Vendors(Choice):
 | 
						|
    """
 | 
						|
    Determines where to place the Blacksmith and Enchantress unlocks in logic (or start with them unlocked).
 | 
						|
    """
 | 
						|
    displayname = "Vendors"
 | 
						|
    option_start_unlocked = 0
 | 
						|
    option_early = 1
 | 
						|
    option_normal = 2
 | 
						|
    option_anywhere = 3
 | 
						|
    default = 1
 | 
						|
 | 
						|
 | 
						|
class DisableCharon(Toggle):
 | 
						|
    """
 | 
						|
    Prevents Charon from taking your money when you re-enter the castle. Also removes Haggling from the Item Pool.
 | 
						|
    """
 | 
						|
    displayname = "Disable Charon"
 | 
						|
 | 
						|
 | 
						|
class RequirePurchasing(DefaultOnToggle):
 | 
						|
    """
 | 
						|
    Determines where you will be required to purchase equipment and runes from the Blacksmith and Enchantress before
 | 
						|
    equipping them. If you disable require purchasing, Manor Renovations are scaled to take this into account.
 | 
						|
    """
 | 
						|
    displayname = "Require Purchasing"
 | 
						|
 | 
						|
 | 
						|
class GoldGainMultiplier(Choice):
 | 
						|
    """
 | 
						|
    Adjusts the multiplier for gaining gold from all sources.
 | 
						|
    """
 | 
						|
    displayname = "Gold Gain Multiplier"
 | 
						|
    option_normal = 0
 | 
						|
    option_quarter = 1
 | 
						|
    option_half = 2
 | 
						|
    option_double = 3
 | 
						|
    option_quadruple = 4
 | 
						|
    default = 0
 | 
						|
 | 
						|
 | 
						|
class NumberOfChildren(Range):
 | 
						|
    """
 | 
						|
    Determines the number of offspring you can choose from on the lineage screen after a death.
 | 
						|
    """
 | 
						|
    displayname = "Number of Children"
 | 
						|
    range_start = 1
 | 
						|
    range_end = 5
 | 
						|
    default = 3
 | 
						|
 | 
						|
 | 
						|
legacy_options: typing.Dict[str, type(Option)] = {
 | 
						|
    "starting_gender": StartingGender,
 | 
						|
    "starting_class": StartingClass,
 | 
						|
    "new_game_plus": NewGamePlus,
 | 
						|
    "fairy_chests_per_zone": FairyChestsPerZone,
 | 
						|
    "chests_per_zone": ChestsPerZone,
 | 
						|
    "vendors": Vendors,
 | 
						|
    "disable_charon": DisableCharon,
 | 
						|
    "require_purchasing": RequirePurchasing,
 | 
						|
    "gold_gain_multiplier": GoldGainMultiplier,
 | 
						|
    "number_of_children": NumberOfChildren,
 | 
						|
    "death_link": DeathLink,
 | 
						|
}
 |