98 lines
4.8 KiB
Python
98 lines
4.8 KiB
Python
from ... import options
|
|
from ...test import SVTestBase
|
|
|
|
|
|
class TestArcadeMachinesLogic(SVTestBase):
|
|
options = {
|
|
options.ArcadeMachineLocations.internal_name: options.ArcadeMachineLocations.option_full_shuffling,
|
|
}
|
|
|
|
def test_prairie_king(self):
|
|
self.assertFalse(self.world.logic.region.can_reach("JotPK World 1")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach("JotPK World 2")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach("JotPK World 3")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach_location("Journey of the Prairie King Victory")(self.multiworld.state))
|
|
|
|
boots = self.create_item("JotPK: Progressive Boots")
|
|
gun = self.create_item("JotPK: Progressive Gun")
|
|
ammo = self.create_item("JotPK: Progressive Ammo")
|
|
life = self.create_item("JotPK: Extra Life")
|
|
drop = self.create_item("JotPK: Increased Drop Rate")
|
|
|
|
self.multiworld.state.collect(boots)
|
|
self.multiworld.state.collect(gun)
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 1")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach("JotPK World 2")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach("JotPK World 3")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach_location("Journey of the Prairie King Victory")(self.multiworld.state))
|
|
self.remove(boots)
|
|
self.remove(gun)
|
|
|
|
self.multiworld.state.collect(boots)
|
|
self.multiworld.state.collect(boots)
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 1")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach("JotPK World 2")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach("JotPK World 3")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach_location("Journey of the Prairie King Victory")(self.multiworld.state))
|
|
self.remove(boots)
|
|
self.remove(boots)
|
|
|
|
self.multiworld.state.collect(boots)
|
|
self.multiworld.state.collect(gun)
|
|
self.multiworld.state.collect(ammo)
|
|
self.multiworld.state.collect(life)
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 1")(self.multiworld.state))
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 2")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach("JotPK World 3")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach_location("Journey of the Prairie King Victory")(self.multiworld.state))
|
|
self.remove(boots)
|
|
self.remove(gun)
|
|
self.remove(ammo)
|
|
self.remove(life)
|
|
|
|
self.multiworld.state.collect(boots)
|
|
self.multiworld.state.collect(gun)
|
|
self.multiworld.state.collect(gun)
|
|
self.multiworld.state.collect(ammo)
|
|
self.multiworld.state.collect(ammo)
|
|
self.multiworld.state.collect(life)
|
|
self.multiworld.state.collect(drop)
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 1")(self.multiworld.state))
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 2")(self.multiworld.state))
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 3")(self.multiworld.state))
|
|
self.assertFalse(self.world.logic.region.can_reach_location("Journey of the Prairie King Victory")(self.multiworld.state))
|
|
self.remove(boots)
|
|
self.remove(gun)
|
|
self.remove(gun)
|
|
self.remove(ammo)
|
|
self.remove(ammo)
|
|
self.remove(life)
|
|
self.remove(drop)
|
|
|
|
self.multiworld.state.collect(boots)
|
|
self.multiworld.state.collect(boots)
|
|
self.multiworld.state.collect(gun)
|
|
self.multiworld.state.collect(gun)
|
|
self.multiworld.state.collect(gun)
|
|
self.multiworld.state.collect(gun)
|
|
self.multiworld.state.collect(ammo)
|
|
self.multiworld.state.collect(ammo)
|
|
self.multiworld.state.collect(ammo)
|
|
self.multiworld.state.collect(life)
|
|
self.multiworld.state.collect(drop)
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 1")(self.multiworld.state))
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 2")(self.multiworld.state))
|
|
self.assertTrue(self.world.logic.region.can_reach("JotPK World 3")(self.multiworld.state))
|
|
self.assertTrue(self.world.logic.region.can_reach_location("Journey of the Prairie King Victory")(self.multiworld.state))
|
|
self.remove(boots)
|
|
self.remove(boots)
|
|
self.remove(gun)
|
|
self.remove(gun)
|
|
self.remove(gun)
|
|
self.remove(gun)
|
|
self.remove(ammo)
|
|
self.remove(ammo)
|
|
self.remove(ammo)
|
|
self.remove(life)
|
|
self.remove(drop)
|