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)
 |