* SC2: Fixed nondeterminism resulting from early unit placement
* SC2: Renamed "world" arguments to "multiworld"
* SC2: Fixed All-In Ground including anti-air in defense score, fixed error in beats_protoss_deathball
* SC2: Fixed No Logic using logic on Beat events
* SC2: Fixed /unfinished command failing when All-In available
Early Unit: Now respects Excluded Items when selecting a random unit.
Units Always Have Upgrades: Changed removal cascade behavior; now additionally checks to see if an associated item is already locked when attempting to remove, and locks associated items if so. Occasionally caused issues with starter items in the past, frequently caused issues with yaml-defined Locked Items.
* Fix wrapping too early if docstring is within 120 characters and re-indent other lines.
* Remove auto-word wrapping and tweaked all worlds' option docstrings formatting.
Options should wrap around the 120 character mark to prevent template files from being too long horizontally. This also allows manual-indentation to work again.
* Fix missing '#' on empty lines in output from docstring.
* rename references to `Multiworld` in core to `multiworld` instead of `world`
* fix smz3
* fix oot
* fix low hanging fruit
* revert mysteriously broken spacing in world api.md
* fix more randomly broken spacing
* hate
* that better be all of it
* begrudgingly move over smw
* ._.
* missed some worlds
* this is getting tedious now
* Missed some self.world definitions
Co-authored-by: espeon65536 <espeon65536@gmail.com>
Co-authored-by: Zach Parks <zach@alliware.com>
* Switched mission item group to a list comprehension to fix missile shuffle errors
* Logic for reducing mission and item counts
* SC2: Piercing the Shroud/Maw of the Void requirements now DRY
* SC2: Logic for All-In, may need further refinement
* SC2: Additional mission orders and starting locations
* SC2: New Mission Order options for shorter campaigns and smaller item pools
* Using location table for hardcoded starter unit
* SC2: Options to curate random item pool and control early unit placement
* SC2: Proper All-In logic
* SC2: Grid, Mini Grid and Blitz mission orders
* SC2: Required Tactics and Unit Upgrade options, better connected item handling
* SC2: Client compatibility with Grid settings
* SC2: Mission rando now uses world random
* SC2: Alternate final missions, new logic, fixes
* SC2: Handling alternate final missions, identifying final mission on client
* SC2: Minor changes to handle edge-case generation failures
* SC2: Removed invalid type hints for Python 3.8
* Revert "SC2: Removed invalid type hints for Python 3.8"
This reverts commit 7851b9f7a39396c8ee1d85d4e4e46e61e8dc80f6.
* SC2: Removed invalid type hints for Python 3.8
* SC2: Removed invalid type hints for Python 3.8
* SC2: Removed invalid type hints for Python 3.8
* SC2: Removed invalid type hints for Python 3.8
* SC2: Changed location loop to enumerate
* SC2: Passing category names through slot data
* SC2: Cleaned up unnecessary _create_items method
* SC2: Removed vestigial extra_locations field from MissionInfo
* SC2: Client backwards compatibility
* SC2: Fixed item generation issue where item is present in both locked and unlocked inventories
* SC2: Removed Missile Turret from defense rating on maps without air
* SC2: No logic locations point to same access rule
Co-authored-by: michaelasantiago <michael.alec.santiago@gmail.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
SC2 client now relies almost entirely on the map file and server for the locations and just facilitates them, should make it significantly more resilient to objectives being added or removed
* SC2: fix client crash on printjson messages with more [ than ]
* SC2: move text to queue, that actually clears memory
* SC2: Announce which mission is being loaded
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
People seem to be on the mission long enough to get attacked by Mutalisks, so Victory should require anti air.
Optional Objectives are doable quite comfortably before Mutalisks show up, allowing the anti-air to be on them for later in the mission.
* SC2: Functioning Starcraft 2 Mission Launcher UI
* AutoWorld: add .__file__ attribute to AutoWorlds
This tries to help with a recurring easy to make mistake, where ./worlds/myworld does not exist in frozen form and is instead ./lib/worlds/myworld
* SC2: get .kv file path correctly when frozen too
Co-authored-by: TheCondor07 <TheCondorian07@gmail.com>
Co-authored-by: Fabian Dill <fabian.dill@web.de>