Files
Grinch-AP/worlds/sc2/settings.py
Ziktofel 5f1835c546 SC2: Content update (#5312)
Feature highlights:
- Adds many content to the SC2 game
- Allows custom mission order
- Adds race-swapped missions for build missions (except Epilogue and NCO)
- Allows War Council Nerfs (Protoss units can get pre - War Council State, alternative units get another custom nerf to match the power level of base units)
- Revamps Predator's upgrade tree (never was considered strategically important)
- Adds some units and upgrades
- Locked and excluded items can specify quantity
- Key mode (if opt-in, missions require keys to be unlocked on top of their regular regular requirements
- Victory caches - Victory locations can grant multiple items to the multiworld instead of one 
- The generator is more resilient for generator failures as it validates logic for item excludes
- Fixes the following issues:
  - https://github.com/ArchipelagoMW/Archipelago/issues/3531 
  - https://github.com/ArchipelagoMW/Archipelago/issues/3548
2025-09-02 17:40:58 +02:00

50 lines
2.4 KiB
Python

from typing import Union
import settings
class Starcraft2Settings(settings.Group):
class WindowWidth(int):
"""The starting width the client window in pixels"""
class WindowHeight(int):
"""The starting height the client window in pixels"""
class GameWindowedMode(settings.Bool):
"""Controls whether the game should start in windowed mode"""
class TerranButtonColor(list):
"""Defines the colour of terran mission buttons in the launcher in rgb format (3 elements ranging from 0 to 1)"""
class ZergButtonColor(list):
"""Defines the colour of zerg mission buttons in the launcher in rgb format (3 elements ranging from 0 to 1)"""
class ProtossButtonColor(list):
"""Defines the colour of protoss mission buttons in the launcher in rgb format (3 elements ranging from 0 to 1)"""
class DisableForcedCamera(str):
"""Overrides the disable forced-camera slot option. Possible values: `true`, `false`, `default`. Default uses slot value"""
class SkipCutscenes(str):
"""Overrides the skip cutscenes slot option. Possible values: `true`, `false`, `default`. Default uses slot value"""
class GameDifficulty(str):
"""Overrides the slot's difficulty setting. Possible values: `casual`, `normal`, `hard`, `brutal`, `default`. Default uses slot value"""
class GameSpeed(str):
"""Overrides the slot's gamespeed setting. Possible values: `slower`, `slow`, `normal`, `fast`, `faster`, `default`. Default uses slot value"""
class ShowTraps(settings.Bool):
"""If set to true, in-client scouting will show traps as distinct from filler"""
window_width: WindowWidth = WindowWidth(1080)
window_height: WindowHeight = WindowHeight(720)
game_windowed_mode: Union[GameWindowedMode, bool] = False
show_traps: Union[ShowTraps, bool] = False
disable_forced_camera: DisableForcedCamera = DisableForcedCamera("default")
skip_cutscenes: SkipCutscenes = SkipCutscenes("default")
game_difficulty: GameDifficulty = GameDifficulty("default")
game_speed: GameSpeed = GameSpeed("default")
terran_button_color: TerranButtonColor = TerranButtonColor([0.0838, 0.2898, 0.2346])
zerg_button_color: ZergButtonColor = ZergButtonColor([0.345, 0.22425, 0.12765])
protoss_button_color: ProtossButtonColor = ProtossButtonColor([0.18975, 0.2415, 0.345])