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