Include example trigger for legacy weapons
This commit is contained in:
parent
3858a12f26
commit
9aef76767a
|
@ -396,7 +396,7 @@ def roll_linked_options(weights: dict) -> dict:
|
||||||
def roll_triggers(weights: dict) -> dict:
|
def roll_triggers(weights: dict) -> dict:
|
||||||
weights = weights.copy() # make sure we don't write back to other weights sets in same_settings
|
weights = weights.copy() # make sure we don't write back to other weights sets in same_settings
|
||||||
weights["_Generator_Version"] = "Archipelago" # Some means for triggers to know if the seed is on main or doors.
|
weights["_Generator_Version"] = "Archipelago" # Some means for triggers to know if the seed is on main or doors.
|
||||||
for option_set in weights["triggers"]:
|
for i, option_set in enumerate(weights["triggers"]):
|
||||||
try:
|
try:
|
||||||
key = get_choice("option_name", option_set)
|
key = get_choice("option_name", option_set)
|
||||||
if key not in weights:
|
if key not in weights:
|
||||||
|
@ -408,6 +408,7 @@ def roll_triggers(weights: dict) -> dict:
|
||||||
if result == trigger_result and roll_percentage(get_choice("percentage", option_set, 100)):
|
if result == trigger_result and roll_percentage(get_choice("percentage", option_set, 100)):
|
||||||
if "options" in option_set:
|
if "options" in option_set:
|
||||||
weights = update_weights(weights, option_set["options"], "Triggered", option_set["option_name"])
|
weights = update_weights(weights, option_set["options"], "Triggered", option_set["option_name"])
|
||||||
|
|
||||||
if "rom_options" in option_set:
|
if "rom_options" in option_set:
|
||||||
rom_weights = weights.get("rom", dict())
|
rom_weights = weights.get("rom", dict())
|
||||||
rom_weights = update_weights(rom_weights, option_set["rom_options"], "Triggered Rom",
|
rom_weights = update_weights(rom_weights, option_set["rom_options"], "Triggered Rom",
|
||||||
|
@ -415,7 +416,7 @@ def roll_triggers(weights: dict) -> dict:
|
||||||
weights["rom"] = rom_weights
|
weights["rom"] = rom_weights
|
||||||
weights[key] = result
|
weights[key] = result
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise ValueError(f"A trigger is destroyed. "
|
raise ValueError(f"Your trigger number {i+1} is destroyed. "
|
||||||
f"Please fix your triggers.") from e
|
f"Please fix your triggers.") from e
|
||||||
return weights
|
return weights
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,8 @@ progression_balancing:
|
||||||
tech_tree_layout:
|
tech_tree_layout:
|
||||||
single: 1
|
single: 1
|
||||||
small_diamonds: 1
|
small_diamonds: 1
|
||||||
|
medium_diamonds: 1
|
||||||
|
pyramid: 1
|
||||||
max_science_pack:
|
max_science_pack:
|
||||||
automation_science_pack: 0
|
automation_science_pack: 0
|
||||||
logistic_science_pack: 0
|
logistic_science_pack: 0
|
||||||
|
@ -197,10 +199,6 @@ retro:
|
||||||
hints:
|
hints:
|
||||||
'on': 50 # Hint tiles sometimes give item location hints
|
'on': 50 # Hint tiles sometimes give item location hints
|
||||||
'off': 0 # Hint tiles provide gameplay tips
|
'off': 0 # Hint tiles provide gameplay tips
|
||||||
swords:
|
|
||||||
randomized: 50 # Swords are placed randomly throughout the world
|
|
||||||
assured: 0 # Begin with a sword, the rest are placed randomly throughout the world
|
|
||||||
vanilla: 0 # Swords are placed in vanilla locations in your own game (Uncle, Pyramid Fairy, Smiths, Pedestal)
|
|
||||||
swordless:
|
swordless:
|
||||||
on: 0 # Your swords are replaced by rupees. Gameplay changes have been made to accommodate this change
|
on: 0 # Your swords are replaced by rupees. Gameplay changes have been made to accommodate this change
|
||||||
off: 1
|
off: 1
|
||||||
|
@ -355,9 +353,9 @@ linked_options:
|
||||||
- name: enemizer
|
- name: enemizer
|
||||||
options:
|
options:
|
||||||
boss_shuffle: # Subchances can be injected too, which then get rolled
|
boss_shuffle: # Subchances can be injected too, which then get rolled
|
||||||
simple: 1
|
basic: 1
|
||||||
full: 1
|
full: 1
|
||||||
random: 1
|
chaos: 1
|
||||||
singularity: 1
|
singularity: 1
|
||||||
enemy_damage:
|
enemy_damage:
|
||||||
shuffled: 1
|
shuffled: 1
|
||||||
|
@ -368,12 +366,46 @@ linked_options:
|
||||||
expert: 1
|
expert: 1
|
||||||
percentage: 0 # Set this to the percentage chance you want enemizer
|
percentage: 0 # Set this to the percentage chance you want enemizer
|
||||||
# triggers that replace options upon rolling certain options
|
# triggers that replace options upon rolling certain options
|
||||||
|
legacy_weapons: # this is not an actual option, just a set of weights to trigger from
|
||||||
|
trigger_disabled: 50
|
||||||
|
randomized: 0 # Swords are placed randomly throughout the world
|
||||||
|
assured: 0 # Begin with a sword, the rest are placed randomly throughout the world
|
||||||
|
vanilla: 0 # Swords are placed in vanilla locations in your own game (Uncle, Pyramid Fairy, Smiths, Pedestal)
|
||||||
|
swordless: 0 # swordless mode
|
||||||
triggers:
|
triggers:
|
||||||
|
# trigger block for legacy weapons mode, to enable these add weights to legacy_weapons
|
||||||
|
- option_name: legacy_weapons
|
||||||
|
option_result: randomized
|
||||||
|
options:
|
||||||
|
swordless: off
|
||||||
|
- option_name: legacy_weapons
|
||||||
|
option_result: assured
|
||||||
|
options:
|
||||||
|
swordless: off
|
||||||
|
startinventory:
|
||||||
|
Progressive Sword: 1
|
||||||
|
- option_name: legacy_weapons
|
||||||
|
option_result: vanilla
|
||||||
|
options:
|
||||||
|
swordless: off
|
||||||
|
plando_items:
|
||||||
|
- items:
|
||||||
|
Progressive Sword: 4
|
||||||
|
locations:
|
||||||
|
- Master Sword Pedestal
|
||||||
|
- Pyramid Fairy - Left
|
||||||
|
- Blacksmith
|
||||||
|
- Link's Uncle
|
||||||
|
- option_name: legacy_weapons
|
||||||
|
option_result: swordless
|
||||||
|
options:
|
||||||
|
swordless: on
|
||||||
|
# end of legacy weapons block
|
||||||
- option_name: enemy_damage # targets enemy_damage
|
- option_name: enemy_damage # targets enemy_damage
|
||||||
option_result: shuffled # if it rolls shuffled
|
option_result: shuffled # if it rolls shuffled
|
||||||
percentage: 0 # AND has a 0 percent chance (meaning this is default disabled, just to show how it works)
|
percentage: 0 # AND has a 0 percent chance (meaning this is default disabled, just to show how it works)
|
||||||
options: # then inserts these options
|
options: # then inserts these options
|
||||||
swords: assured
|
swordless: off
|
||||||
### door rando only options (not supported at all yet on this branch) ###
|
### door rando only options (not supported at all yet on this branch) ###
|
||||||
door_shuffle: # Only available if the host uses the doors branch, it is ignored otherwise
|
door_shuffle: # Only available if the host uses the doors branch, it is ignored otherwise
|
||||||
vanilla: 50 # Everything should be like in vanilla
|
vanilla: 50 # Everything should be like in vanilla
|
||||||
|
|
1
setup.py
1
setup.py
|
@ -57,7 +57,6 @@ def manifest_creation():
|
||||||
scripts = {"LttPClient.py": "ArchipelagoLttPClient",
|
scripts = {"LttPClient.py": "ArchipelagoLttPClient",
|
||||||
"MultiMystery.py": "ArchipelagoMultiMystery",
|
"MultiMystery.py": "ArchipelagoMultiMystery",
|
||||||
"MultiServer.py": "ArchipelagoServer",
|
"MultiServer.py": "ArchipelagoServer",
|
||||||
"gui.py": "ArchipelagoLttPCreator",
|
|
||||||
"Mystery.py": "ArchipelagoMystery",
|
"Mystery.py": "ArchipelagoMystery",
|
||||||
"LttPAdjuster.py": "ArchipelagoLttPAdjuster",
|
"LttPAdjuster.py": "ArchipelagoLttPAdjuster",
|
||||||
"FactorioClient.py": "ArchipelagoFactorioClient"}
|
"FactorioClient.py": "ArchipelagoFactorioClient"}
|
||||||
|
|
Loading…
Reference in New Issue