mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Added world for ArchipIDLE
This commit is contained in:
33
worlds/archipidle/Rules.py
Normal file
33
worlds/archipidle/Rules.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from BaseClasses import MultiWorld
|
||||
from ..AutoWorld import LogicMixin
|
||||
from ..generic.Rules import set_rule
|
||||
|
||||
|
||||
class ArchipIDLELogic(LogicMixin):
|
||||
def _archipidle_location_is_accessible(self, player_id, items_required):
|
||||
items_received = 0
|
||||
for item in self.prog_items:
|
||||
if item[1] == player_id:
|
||||
items_received += 1
|
||||
|
||||
return items_received >= items_required
|
||||
|
||||
|
||||
def set_rules(world: MultiWorld, player: int):
|
||||
for i in range(1, 11):
|
||||
set_rule(
|
||||
world.get_location(f"Location {i}", player),
|
||||
lambda state: state._archipidle_location_is_accessible(player, 0)
|
||||
)
|
||||
|
||||
for i in range(11, 31):
|
||||
set_rule(
|
||||
world.get_location(f"Location {i}", player),
|
||||
lambda state: state._archipidle_location_is_accessible(player, 4)
|
||||
)
|
||||
|
||||
for i in range(31, 51):
|
||||
set_rule(
|
||||
world.get_location(f"Location {i}", player),
|
||||
lambda state: state._archipidle_location_is_accessible(player, 20)
|
||||
)
|
||||
Reference in New Issue
Block a user