forked from mirror/Archipelago
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
91 lines
2.1 KiB
Python
91 lines
2.1 KiB
Python
import typing
|
|
from BaseClasses import Entrance, Item, Location, Region
|
|
from . import constants
|
|
|
|
# Zoom in... Zoom zoom
|
|
|
|
class S1HubRegion(Region):
|
|
game = "Sonic the Hedgehog 1"
|
|
|
|
class S1HubEntrance(Entrance):
|
|
pass
|
|
|
|
class S1Region(Region):
|
|
game = "Sonic the Hedgehog 1"
|
|
monitors: typing.Dict
|
|
checkpoints: typing.Dict
|
|
|
|
gated = False
|
|
zone = "Mystery"
|
|
act = 1
|
|
name = "Mystery 1"
|
|
beaten = False
|
|
has_boss = False
|
|
has_emerald = False
|
|
|
|
def __init__(self, zone: constants._zoneraw, act: int, player, multiworld):
|
|
if len(zone.acts) > 1:
|
|
name = f"{zone.long} {act}"
|
|
self.zone = f"{zone.zone}{act}"
|
|
else:
|
|
name = zone.long
|
|
self.zone = zone.zone
|
|
super().__init__(name, player, multiworld)
|
|
self.act = act
|
|
self.monitors = {}
|
|
self.checkpoints = {}
|
|
|
|
|
|
class S1Item(Item):
|
|
game = "Sonic the Hedgehog 1"
|
|
|
|
class S1Location(Location):
|
|
game: str = "Sonic the Hedgehog 1"
|
|
checked = False
|
|
|
|
def __init__(self, player, name, address, parent, zone):
|
|
super().__init__(player, name, address, parent)
|
|
self.zone = zone
|
|
|
|
class S1A1Entrance(Entrance):
|
|
pass
|
|
|
|
class S1A2Entrance(Entrance):
|
|
pass
|
|
|
|
class S1A3Entrance(Entrance):
|
|
pass
|
|
|
|
class S1SSEntrance(Entrance):
|
|
pass
|
|
|
|
class S1FinalEntrance(Entrance):
|
|
pass
|
|
|
|
class S1Monitor(S1Location):
|
|
broken = False
|
|
raw: constants._monitor
|
|
|
|
def __init__(self, player, monitor: constants._monitor, parent):
|
|
super().__init__(player, monitor.name, monitor.id, parent, parent.name)
|
|
self.broken = False
|
|
self.raw = monitor
|
|
|
|
class S1Boss(S1Location):
|
|
beaten = False
|
|
raw: constants._boss
|
|
|
|
def __init__(self, player, boss: constants._boss, parent):
|
|
super().__init__(player, boss.name, boss.id, parent, parent.name)
|
|
self.raw = boss
|
|
|
|
class S1Special(S1Location):
|
|
beaten = False
|
|
raw: constants._special
|
|
|
|
def __init__(self, player, special: constants._special, parent):
|
|
super().__init__(player, special.name, special.id, parent, parent.name)
|
|
self.raw = special
|
|
|
|
class S1VictoryToken(S1Item):
|
|
pass |