Escape assist: only get infinite bombs with enemizer or bombs/cane/bow start + high hp
This commit is contained in:
		
							parent
							
								
									6c9fde8bee
								
							
						
					
					
						commit
						7aa9622c5e
					
				
							
								
								
									
										37
									
								
								ItemList.py
								
								
								
								
							
							
						
						
									
										37
									
								
								ItemList.py
								
								
								
								
							| 
						 | 
					@ -182,24 +182,27 @@ def generate_itempool(world, player):
 | 
				
			||||||
    for item in precollected_items:
 | 
					    for item in precollected_items:
 | 
				
			||||||
        world.push_precollected(ItemFactory(item, player))
 | 
					        world.push_precollected(ItemFactory(item, player))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if world.mode[player] == 'standard' and not world.state.has_blunt_weapon(player) and "Link's Uncle" not in placed_items:
 | 
					    if world.mode[player] == 'standard' and not world.state.has_blunt_weapon(player):
 | 
				
			||||||
        found_sword = False
 | 
					        if "Link's Uncle" not in placed_items:
 | 
				
			||||||
        found_bow = False
 | 
					            found_sword = False
 | 
				
			||||||
        possible_weapons = []
 | 
					            found_bow = False
 | 
				
			||||||
        for item in pool:
 | 
					            possible_weapons = []
 | 
				
			||||||
            if item in ['Progressive Sword', 'Fighter Sword', 'Master Sword', 'Tempered Sword', 'Golden Sword']:
 | 
					            for item in pool:
 | 
				
			||||||
                if not found_sword and world.swords[player] != 'swordless':
 | 
					                if item in ['Progressive Sword', 'Fighter Sword', 'Master Sword', 'Tempered Sword', 'Golden Sword']:
 | 
				
			||||||
                    found_sword = True
 | 
					                    if not found_sword and world.swords[player] != 'swordless':
 | 
				
			||||||
 | 
					                        found_sword = True
 | 
				
			||||||
 | 
					                        possible_weapons.append(item)
 | 
				
			||||||
 | 
					                if item in ['Progressive Bow', 'Bow'] and not found_bow:
 | 
				
			||||||
 | 
					                    found_bow = True
 | 
				
			||||||
                    possible_weapons.append(item)
 | 
					                    possible_weapons.append(item)
 | 
				
			||||||
            if item in ['Progressive Bow', 'Bow'] and not found_bow:
 | 
					                if item in ['Hammer', 'Bombs (10)', 'Fire Rod', 'Cane of Somaria', 'Cane of Byrna']:
 | 
				
			||||||
                found_bow = True
 | 
					                    if item not in possible_weapons:
 | 
				
			||||||
                possible_weapons.append(item)
 | 
					                        possible_weapons.append(item)
 | 
				
			||||||
            if item in ['Hammer', 'Bombs (10)', 'Fire Rod', 'Cane of Somaria', 'Cane of Byrna']:
 | 
					            starting_weapon = random.choice(possible_weapons)
 | 
				
			||||||
                if item not in possible_weapons:
 | 
					            placed_items["Link's Uncle"] = starting_weapon
 | 
				
			||||||
                    possible_weapons.append(item)
 | 
					            pool.remove(starting_weapon)
 | 
				
			||||||
        starting_weapon = random.choice(possible_weapons)
 | 
					        if placed_items["Link's Uncle"] in ['Bow', 'Progressive Bow', 'Bombs (10)', 'Cane of Somaria', 'Cane of Byrna'] and world.enemy_health[player] not in ['default', 'easy']:
 | 
				
			||||||
        placed_items["Link's Uncle"] = starting_weapon
 | 
					            world.escape_assist[player].append('bombs')
 | 
				
			||||||
        pool.remove(starting_weapon)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (location, item) in placed_items.items():
 | 
					    for (location, item) in placed_items.items():
 | 
				
			||||||
        world.push_item(world.get_location(location, player), ItemFactory(item, player), False)
 | 
					        world.push_item(world.get_location(location, player), ItemFactory(item, player), False)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								Main.py
								
								
								
								
							
							
						
						
									
										2
									
								
								Main.py
								
								
								
								
							| 
						 | 
					@ -61,7 +61,7 @@ def main(args, seed=None):
 | 
				
			||||||
    for player in range(1, world.players + 1):
 | 
					    for player in range(1, world.players + 1):
 | 
				
			||||||
        world.difficulty_requirements[player] = difficulties[world.difficulty[player]]
 | 
					        world.difficulty_requirements[player] = difficulties[world.difficulty[player]]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if world.mode[player] == 'standard' and (world.enemy_shuffle[player] != 'none' or world.enemy_health[player] not in ['default', 'easy']):
 | 
					        if world.mode[player] == 'standard' and world.enemy_shuffle[player] != 'none':
 | 
				
			||||||
            world.escape_assist[player].append('bombs') # enemized escape assumes infinite bombs available and will likely be unbeatable without it
 | 
					            world.escape_assist[player].append('bombs') # enemized escape assumes infinite bombs available and will likely be unbeatable without it
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if world.mode[player] != 'inverted':
 | 
					        if world.mode[player] != 'inverted':
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue