2022-07-20 10:48:14 +00:00
|
|
|
import typing
|
2023-02-26 05:35:03 +00:00
|
|
|
from Options import Toggle, Option, Range, Choice, DeathLink
|
2022-07-20 10:48:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
class AutoEquipOption(Toggle):
|
|
|
|
"""Automatically equips any received armor or left/right weapons."""
|
|
|
|
display_name = "Auto-equip"
|
|
|
|
|
|
|
|
|
|
|
|
class LockEquipOption(Toggle):
|
|
|
|
"""Lock the equipment slots so you cannot change your armor or your left/right weapons. Works great with the
|
|
|
|
Auto-equip option."""
|
|
|
|
display_name = "Lock Equipement Slots"
|
|
|
|
|
|
|
|
|
|
|
|
class NoWeaponRequirementsOption(Toggle):
|
|
|
|
"""Disable the weapon requirements by removing any movement or damage penalties.
|
|
|
|
Permitting you to use any weapon early"""
|
|
|
|
display_name = "No Weapon Requirements"
|
|
|
|
|
|
|
|
|
DS3: Add progressive locations, fix the randomize_weapons_level option and add some options ( Deathlink ) (#1206)
* Update items_data.py
added `Red and White Round Shield`, `Crystal Scroll`, `Magic Stoneplate Ring`, and `Outrider Knight` gear.
* Update locations_data.py
Added `US: Red and White Round Shield`, `CKG: Magic Stoneplate Ring`, `GA: Outrider Knight` set, and `GA: Crystal Scroll`
* Update __init__.py
Add `Karla's Ashes` requirements
* Update items_data.py
Add `Irithyll Rapier, Hollow's Ashes, Irina's Ashes, Karla's Ashes, Cornyx's Ashes, and Orbeck's Ashes`
* Update locations_data.py
Add `Irithyll Rapier, Hollow's Ashes, Irina's Ashes, Karla's Ashes, Orbeck's Ashes, and Cornyx's Ashes`
* Update items_data.py
removed "hollows ashes"
* Update locations_data.py
remove "hollows ashes"
* Revert "WebHost: Add the DarkSouls3 entry to upload and download the client file"
This reverts commit 5e7c2d4cee485e373ffe60932134013548192c8e.
* ds3: setup progressive locations
* ds3: Use fill_slot_data instead of generate_output
* ds3: Add no_spell_requirements, no_equip_load and death_link option
* ds3: Add some progressive locations
* DS3: Increment data_version
* DS3: Fix item name in rule
* DS3: Set required client version to 0.3.6 and added offsets between items and location tables for backward compatibility
* DS3: Resolve Python 3.8 compatibility
* DS3: Removed useless region for locations IDs consistency
* DS3: Changed i in loop
* DS3: Remove AP.json from the documentation
* DS3: Put back json upload and download
* DS3: Avoid empty downloads
* DS3: Fix randomize_weapons_level option
* DS3: Remove options duplicate entries
* DS3: Change location rule according to review
Co-authored-by: Br00ty <83629348+Br00ty@users.noreply.github.com>
2022-11-09 00:17:43 +00:00
|
|
|
class NoSpellRequirementsOption(Toggle):
|
|
|
|
"""Disable the spell requirements permitting you to use any spell"""
|
|
|
|
display_name = "No Spell Requirements"
|
|
|
|
|
|
|
|
|
|
|
|
class NoEquipLoadOption(Toggle):
|
|
|
|
"""Disable the equip load constraint from the game"""
|
|
|
|
display_name = "No Equip load"
|
|
|
|
|
|
|
|
|
2023-02-26 05:35:03 +00:00
|
|
|
class RandomizeWeaponsLevelOption(Choice):
|
|
|
|
"""Enable this option to upgrade a percentage of the pool of weapons to a random value between the minimum and
|
|
|
|
maximum levels defined.
|
|
|
|
all: All weapons are eligible, both basic and epic
|
|
|
|
basic: Only weapons that can be upgraded to +10
|
|
|
|
epic: Only weapons that can be upgraded to +5"""
|
2022-07-20 10:48:14 +00:00
|
|
|
display_name = "Randomize weapons level"
|
2023-02-26 05:35:03 +00:00
|
|
|
option_none = 0
|
|
|
|
option_all = 1
|
|
|
|
option_basic = 2
|
|
|
|
option_epic = 3
|
|
|
|
|
|
|
|
|
|
|
|
class RandomizeWeaponsLevelPercentageOption(Range):
|
|
|
|
"""The percentage of weapons in the pool to be upgraded if randomize weapons level is toggled"""
|
|
|
|
display_name = "Percentage of randomized weapons"
|
|
|
|
range_start = 1
|
|
|
|
range_end = 100
|
|
|
|
default = 33
|
|
|
|
|
|
|
|
|
|
|
|
class MinLevelsIn5WeaponPoolOption(Range):
|
|
|
|
"""The minimum upgraded value of a weapon in the pool of weapons that can only reach +5"""
|
|
|
|
display_name = "Minimum level of +5 weapons"
|
|
|
|
range_start = 1
|
|
|
|
range_end = 5
|
|
|
|
default = 1
|
|
|
|
|
|
|
|
|
|
|
|
class MaxLevelsIn5WeaponPoolOption(Range):
|
|
|
|
"""The maximum upgraded value of a weapon in the pool of weapons that can only reach +5"""
|
|
|
|
display_name = "Maximum level of +5 weapons"
|
|
|
|
range_start = 1
|
|
|
|
range_end = 5
|
|
|
|
default = 5
|
|
|
|
|
|
|
|
|
|
|
|
class MinLevelsIn10WeaponPoolOption(Range):
|
|
|
|
"""The minimum upgraded value of a weapon in the pool of weapons that can reach +10"""
|
|
|
|
display_name = "Minimum level of +10 weapons"
|
|
|
|
range_start = 1
|
|
|
|
range_end = 10
|
|
|
|
default = 1
|
|
|
|
|
|
|
|
|
|
|
|
class MaxLevelsIn10WeaponPoolOption(Range):
|
|
|
|
"""The maximum upgraded value of a weapon in the pool of weapons that can reach +10"""
|
|
|
|
display_name = "Maximum level of +10 weapons"
|
|
|
|
range_start = 1
|
|
|
|
range_end = 10
|
|
|
|
default = 10
|
2022-07-20 10:48:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
class LateBasinOfVowsOption(Toggle):
|
|
|
|
"""Force the Basin of Vows to be located as a reward of defeating Pontiff Sulyvahn. It permits to ease the
|
|
|
|
progression by preventing having to kill the Dancer of the Boreal Valley as the first boss"""
|
|
|
|
display_name = "Late Basin of Vows"
|
|
|
|
|
|
|
|
|
2023-02-26 05:35:03 +00:00
|
|
|
class EnableProgressiveLocationsOption(Toggle):
|
|
|
|
"""Randomize upgrade materials such as the titanite shards, the estus shards and the consumables"""
|
|
|
|
display_name = "Randomize materials, Estus shards and consumables (+196 checks/items)"
|
|
|
|
|
|
|
|
|
|
|
|
class EnableDLCOption(Toggle):
|
|
|
|
"""To use this option, you must own both the ASHES OF ARIANDEL and the RINGED CITY DLC"""
|
|
|
|
display_name = "Add the DLC Items and Locations to the pool (+81 checks/items)"
|
|
|
|
|
|
|
|
|
2022-07-20 10:48:14 +00:00
|
|
|
dark_souls_options: typing.Dict[str, type(Option)] = {
|
|
|
|
"auto_equip": AutoEquipOption,
|
|
|
|
"lock_equip": LockEquipOption,
|
|
|
|
"no_weapon_requirements": NoWeaponRequirementsOption,
|
|
|
|
"randomize_weapons_level": RandomizeWeaponsLevelOption,
|
2023-02-26 05:35:03 +00:00
|
|
|
"randomize_weapons_percentage": RandomizeWeaponsLevelPercentageOption,
|
|
|
|
"min_levels_in_5": MinLevelsIn5WeaponPoolOption,
|
|
|
|
"max_levels_in_5": MaxLevelsIn5WeaponPoolOption,
|
|
|
|
"min_levels_in_10": MinLevelsIn10WeaponPoolOption,
|
|
|
|
"max_levels_in_10": MaxLevelsIn10WeaponPoolOption,
|
2022-07-20 10:48:14 +00:00
|
|
|
"late_basin_of_vows": LateBasinOfVowsOption,
|
DS3: Add progressive locations, fix the randomize_weapons_level option and add some options ( Deathlink ) (#1206)
* Update items_data.py
added `Red and White Round Shield`, `Crystal Scroll`, `Magic Stoneplate Ring`, and `Outrider Knight` gear.
* Update locations_data.py
Added `US: Red and White Round Shield`, `CKG: Magic Stoneplate Ring`, `GA: Outrider Knight` set, and `GA: Crystal Scroll`
* Update __init__.py
Add `Karla's Ashes` requirements
* Update items_data.py
Add `Irithyll Rapier, Hollow's Ashes, Irina's Ashes, Karla's Ashes, Cornyx's Ashes, and Orbeck's Ashes`
* Update locations_data.py
Add `Irithyll Rapier, Hollow's Ashes, Irina's Ashes, Karla's Ashes, Orbeck's Ashes, and Cornyx's Ashes`
* Update items_data.py
removed "hollows ashes"
* Update locations_data.py
remove "hollows ashes"
* Revert "WebHost: Add the DarkSouls3 entry to upload and download the client file"
This reverts commit 5e7c2d4cee485e373ffe60932134013548192c8e.
* ds3: setup progressive locations
* ds3: Use fill_slot_data instead of generate_output
* ds3: Add no_spell_requirements, no_equip_load and death_link option
* ds3: Add some progressive locations
* DS3: Increment data_version
* DS3: Fix item name in rule
* DS3: Set required client version to 0.3.6 and added offsets between items and location tables for backward compatibility
* DS3: Resolve Python 3.8 compatibility
* DS3: Removed useless region for locations IDs consistency
* DS3: Changed i in loop
* DS3: Remove AP.json from the documentation
* DS3: Put back json upload and download
* DS3: Avoid empty downloads
* DS3: Fix randomize_weapons_level option
* DS3: Remove options duplicate entries
* DS3: Change location rule according to review
Co-authored-by: Br00ty <83629348+Br00ty@users.noreply.github.com>
2022-11-09 00:17:43 +00:00
|
|
|
"no_spell_requirements": NoSpellRequirementsOption,
|
|
|
|
"no_equip_load": NoEquipLoadOption,
|
|
|
|
"death_link": DeathLink,
|
2023-02-26 05:35:03 +00:00
|
|
|
"enable_progressive_locations": EnableProgressiveLocationsOption,
|
|
|
|
"enable_dlc": EnableDLCOption,
|
2022-07-20 10:48:14 +00:00
|
|
|
}
|
|
|
|
|