|  | @@ -80,6 +80,7 @@ func _ready() -> void:
 | 
	
		
			
				|  |  |  	Game.reload_time = RELOAD_TIME # seconds
 | 
	
		
			
				|  |  |  	Game.max_ammo = 1 # shots
 | 
	
		
			
				|  |  |  	Game.base_accuracy = 0.33 # percent
 | 
	
		
			
				|  |  | +	GlobalInput.dragging_disabled = false
 | 
	
		
			
				|  |  |  	waves_completed = 0
 | 
	
		
			
				|  |  |  	phase = Phase.PHASE_SETUP
 | 
	
		
			
				|  |  |  	overlay.visible = true
 | 
	
	
		
			
				|  | @@ -126,6 +127,7 @@ func spawn_bot(spawn: Marker2D, index: int) -> void:
 | 
	
		
			
				|  |  |  	bot.name = "Bot #%d" % (index + 1)
 | 
	
		
			
				|  |  |  	bot.speed += waves_completed
 | 
	
		
			
				|  |  |  	bot.visible = false
 | 
	
		
			
				|  |  | +	bot.health += waves_completed / 30
 | 
	
		
			
				|  |  |  	spawn.add_child(bot)
 | 
	
		
			
				|  |  |  	bot.position = Vector2.ZERO
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -201,10 +203,32 @@ func start_combat() -> void:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const LOOT_SURVIVOR: String = "+1 SURVIVOR"
 | 
	
		
			
				|  |  |  const LOOT_HEALTH: String = "+3 HEALTH"
 | 
	
		
			
				|  |  | +const LOOT_FULL_HEALTH: String = "FULL HEALTH"
 | 
	
		
			
				|  |  |  const LOOT_AMMO: String = "BIGGER MAGAZINES"
 | 
	
		
			
				|  |  |  const LOOT_RELOAD_TIME: String = "FASTER RELOADING"
 | 
	
		
			
				|  |  |  const LOOT_ACCURACY: String = "HIGHER ACCURACY"
 | 
	
		
			
				|  |  | -const LOOTS: Array[String] = [LOOT_SURVIVOR, LOOT_HEALTH, LOOT_AMMO, LOOT_RELOAD_TIME, LOOT_ACCURACY]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func determine_loot_options() -> Array[String]:
 | 
	
		
			
				|  |  | +	var loots: Array[String] = []
 | 
	
		
			
				|  |  | +	if get_survivors().size() < 6: # this is, so the player has a reason to move survivors even later
 | 
	
		
			
				|  |  | +		loots.push_back(LOOT_SURVIVOR)
 | 
	
		
			
				|  |  | +	if Game.base_accuracy < 0.67:
 | 
	
		
			
				|  |  | +		loots.push_back(LOOT_ACCURACY)
 | 
	
		
			
				|  |  | +	if Game.reload_time > 1.5:
 | 
	
		
			
				|  |  | +		loots.push_back(LOOT_RELOAD_TIME)
 | 
	
		
			
				|  |  | +	if Game.max_ammo < 9:
 | 
	
		
			
				|  |  | +		loots.push_back(LOOT_AMMO)
 | 
	
		
			
				|  |  | +	var health = health_bar.health
 | 
	
		
			
				|  |  | +	if health < HealthBar.MAX_HEALTH:
 | 
	
		
			
				|  |  | +		if health == 1:
 | 
	
		
			
				|  |  | +			loots.push_back(LOOT_FULL_HEALTH)
 | 
	
		
			
				|  |  | +		else:
 | 
	
		
			
				|  |  | +			loots.push_back(LOOT_HEALTH)
 | 
	
		
			
				|  |  | +	loots.shuffle()
 | 
	
		
			
				|  |  | +	if loots.size() < 3:
 | 
	
		
			
				|  |  | +		for n in (3-loots.size()):
 | 
	
		
			
				|  |  | +			loots.push_back("NOTHING")
 | 
	
		
			
				|  |  | +	return loots
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func end_combat() -> void:
 | 
	
		
			
				|  |  |  	phase = Phase.PHASE_LOOT
 | 
	
	
		
			
				|  | @@ -212,11 +236,7 @@ func end_combat() -> void:
 | 
	
		
			
				|  |  |  	await get_tree().create_timer(1.5).timeout
 | 
	
		
			
				|  |  |  	var vs: Victory = victory_scene.instantiate()
 | 
	
		
			
				|  |  |  	ui_root.add_child(vs)
 | 
	
		
			
				|  |  | -	var loots: Array[String] = []
 | 
	
		
			
				|  |  | -	loots.assign(LOOTS)
 | 
	
		
			
				|  |  | -	if get_survivors().size() >= 6: # this is, so the player has a reason to move survivors even later
 | 
	
		
			
				|  |  | -		loots.erase(LOOT_SURVIVOR)
 | 
	
		
			
				|  |  | -	loots.shuffle()
 | 
	
		
			
				|  |  | +	var loots: Array[String] = determine_loot_options()
 | 
	
		
			
				|  |  |  	vs.set_loot_options(loots[0], loots[1], loots[2])
 | 
	
		
			
				|  |  |  	await vs.loot_selected
 | 
	
		
			
				|  |  |  	var loot: String = loots[vs.selection]
 | 
	
	
		
			
				|  | @@ -231,12 +251,14 @@ func end_combat() -> void:
 | 
	
		
			
				|  |  |  				self.player_spawn.add_survivor()
 | 
	
		
			
				|  |  |  			LOOT_HEALTH:
 | 
	
		
			
				|  |  |  				self.health_bar.health += 3
 | 
	
		
			
				|  |  | +			LOOT_FULL_HEALTH:
 | 
	
		
			
				|  |  | +				self.health_bar.health = HealthBar.MAX_HEALTH
 | 
	
		
			
				|  |  |  			LOOT_RELOAD_TIME:
 | 
	
		
			
				|  |  |  				Game.reload_time *= 0.9
 | 
	
		
			
				|  |  |  			LOOT_AMMO:
 | 
	
		
			
				|  |  |  				Game.max_ammo += 1
 | 
	
		
			
				|  |  |  			LOOT_ACCURACY:
 | 
	
		
			
				|  |  | -				Game.base_accuracy += 0.1
 | 
	
		
			
				|  |  | +				Game.base_accuracy += 0.01
 | 
	
		
			
				|  |  |  		self.reset_survivors()
 | 
	
		
			
				|  |  |  		self.start_setup()
 | 
	
		
			
				|  |  |  	)
 |