diff --git a/Mystery.py b/Mystery.py index 8a0e0b1b..2a62a05a 100644 --- a/Mystery.py +++ b/Mystery.py @@ -396,7 +396,7 @@ def roll_linked_options(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["_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: key = get_choice("option_name", option_set) 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 "options" in option_set: weights = update_weights(weights, option_set["options"], "Triggered", option_set["option_name"]) + if "rom_options" in option_set: rom_weights = weights.get("rom", dict()) 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[key] = result 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 return weights diff --git a/playerSettings.yaml b/playerSettings.yaml index 4691998a..4ea47641 100644 --- a/playerSettings.yaml +++ b/playerSettings.yaml @@ -39,6 +39,8 @@ progression_balancing: tech_tree_layout: single: 1 small_diamonds: 1 + medium_diamonds: 1 + pyramid: 1 max_science_pack: automation_science_pack: 0 logistic_science_pack: 0 @@ -197,10 +199,6 @@ retro: hints: 'on': 50 # Hint tiles sometimes give item location hints '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: on: 0 # Your swords are replaced by rupees. Gameplay changes have been made to accommodate this change off: 1 @@ -355,9 +353,9 @@ linked_options: - name: enemizer options: boss_shuffle: # Subchances can be injected too, which then get rolled - simple: 1 + basic: 1 full: 1 - random: 1 + chaos: 1 singularity: 1 enemy_damage: shuffled: 1 @@ -368,12 +366,46 @@ linked_options: expert: 1 percentage: 0 # Set this to the percentage chance you want enemizer # 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: + # 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_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) options: # then inserts these options - swords: assured + swordless: off ### 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 vanilla: 50 # Everything should be like in vanilla diff --git a/setup.py b/setup.py index a4a3a135..aec1e1ec 100644 --- a/setup.py +++ b/setup.py @@ -57,7 +57,6 @@ def manifest_creation(): scripts = {"LttPClient.py": "ArchipelagoLttPClient", "MultiMystery.py": "ArchipelagoMultiMystery", "MultiServer.py": "ArchipelagoServer", - "gui.py": "ArchipelagoLttPCreator", "Mystery.py": "ArchipelagoMystery", "LttPAdjuster.py": "ArchipelagoLttPAdjuster", "FactorioClient.py": "ArchipelagoFactorioClient"}