From 48542559904d17b3efb2bf128406513885fa4b46 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 25 Dec 2024 23:37:38 -0600 Subject: [PATCH 1/3] Documentation typo --- docs/Customizer.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/Customizer.md b/docs/Customizer.md index 7616a749..03908ea2 100644 --- a/docs/Customizer.md +++ b/docs/Customizer.md @@ -81,17 +81,17 @@ You may list each location for a player and the item you wish to place there. A This must be defined by player. Each player number should be listed with the appropriate section. Each section is a list of placement rules. Each placement rule has a specific type. -Supported Types: PlacementGroup, NotPlacmentGroup, PreferredLocationGroup +Supported Types: LocationGroup, NotLocationGroup, PreferredLocationGroup -#### PlacementGroup +#### LocationGroup You may define an item, and a list of locations. The locations may be weighted if desired. The item will be placed at one of the listed locations - this currently ignores logic. The item will be placed there. The special location 'Random' indicates that the item should be placed randomly, without any other consideration. This may be repeated for placement of multiple items like multiple bows or swords. -#### NotPlacementGroup +#### NotLocationGroup You may define an item and a list of locations that an item should not be placed at. This will apply to all items of that type. The logic is considered for this. If it is otherwise impossible, the item will be considered for the listed locations. This is important for small key layouts mostly, but it will try other locations first. -#### PreferredPlacementGroup +#### PreferredLocationGroup You may define a list of items and a list of locations. Those items will be considered first for placements and the logic will attempt to place those items in those locations first. If there are more item than locations or vice versa, the leftover items or location will be treated normally. (Although, the leftover items will be placed earlier by the algorithm than those not listed) From 246ce7e75cc39273dee0f058701d9243f6b05867 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Fri, 27 Dec 2024 00:31:14 -0600 Subject: [PATCH 2/3] Backwards compatibility for new dungeon item shuffle structure in customizer --- source/classes/CustomSettings.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/source/classes/CustomSettings.py b/source/classes/CustomSettings.py index 17d66946..a636a776 100644 --- a/source/classes/CustomSettings.py +++ b/source/classes/CustomSettings.py @@ -146,14 +146,23 @@ class CustomSettings(object): args.mapshuffle[p] = get_setting(settings['mapshuffle'], args.mapshuffle[p]) args.compassshuffle[p] = get_setting(settings['compassshuffle'], args.compassshuffle[p]) + dungeon_item_map = { 0: 'none', + 1: 'wild' } + if args.mapshuffle[p] in dungeon_item_map: + args.mapshuffle[p] = dungeon_item_map[args.mapshuffle[p]] + if args.compassshuffle[p] in dungeon_item_map: + args.compassshuffle[p] = dungeon_item_map[args.compassshuffle[p]] + if args.bigkeyshuffle[p] in dungeon_item_map: + args.bigkeyshuffle[p] = dungeon_item_map[args.bigkeyshuffle[p]] + if get_setting(settings['keysanity'], args.keysanity): - if args.bigkeyshuffle[p] == 'none': + if args.bigkeyshuffle[p] in ['none', 0]: args.bigkeyshuffle[p] = 'wild' if args.keyshuffle[p] == 'none': args.keyshuffle[p] = 'wild' - if args.mapshuffle[p] == 'none': + if args.mapshuffle[p] in ['none', 0]: args.mapshuffle[p] = 'wild' - if args.compassshuffle[p] == 'none': + if args.compassshuffle[p] in ['none', 0]: args.compassshuffle[p] = 'wild' args.shufflebosses[p] = get_setting(settings['boss_shuffle'], get_setting(settings['shufflebosses'], args.shufflebosses[p])) From 8a9df7a8ef8731cc053111aefe904ddade691592 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Fri, 27 Dec 2024 00:50:56 -0600 Subject: [PATCH 3/3] Version bump 0.5.1.1 --- CHANGELOG.md | 2 +- OverworldShuffle.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8427f9be..f913b845 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 0.5.1.0 +## 0.5.1.0 (+ Hotfix 0.5.1.1) - New "Nearby" Dungeon Item Shuffle option - Fixed issue with smith follower getting deleted incorrectly on s+q - Various generation and logic fixes for HMG/NL diff --git a/OverworldShuffle.py b/OverworldShuffle.py index 6aefd0d6..8d61630d 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -8,7 +8,7 @@ from OWEdges import OWTileRegions, OWEdgeGroups, OWEdgeGroupsTerrain, OWExitType from OverworldGlitchRules import create_owg_connections from Utils import bidict -version_number = '0.5.1.0' +version_number = '0.5.1.1' # branch indicator is intentionally different across branches version_branch = '-u'