5

When I've done rescue missions, I've always had less than 4 agents, so the prisoner always seemed to end up being an agent that I could add to my team.

Once I've reached the max of 4 agents, is it possible to add more agents as "reserve" agents by doing more rescue missions, or do the rescue missions only have sellable hostages at that point?

If I end up having to leave my 4th agent behind on a mission, does the next rescue mission have that agent being held prisoner, or is it a new random agent, or is it a sellable hostage?

6

Once I've reached the max of 4 agents, is it possible to add more agents as "reserve" agents by doing more rescue missions, or do the rescue missions only have sellable hostages at that point?

The game actually does a neat trick (at least from what I've could read in five minutes). Per default, the mission will contain only a prisoner. Only when you open the actual room, the game will randomly decide whether the prisoner is an agent or a regular hostage.

The associated file contains the following lines in the swapping function (mission_detention_centre.lua):

local unit = mission_util.findUnitByTag( sim, "prisoner" )
if unit == nil then
    return -- No prisoner to swap?!
end

if #sim:getPC():getAgents() >= simdefs.AGENT_LIMIT then
    return -- Maxxed out agents
end

whereas AGENT_LIMIT is set to 4 in simdefs.lua. So if you have four agents then a rescue missions will always contain a sellable hostage.

4
  • Good answer, though I wouldn't have thought to say "The game actually does a neat trick" - I'd've said something like "The game (predictably/uninterestingly) always does what you suspected. Despite the description of uncertainty, there's always an agent if you have less than 4, and never one if you have 4."
    – Dronz
    Aug 8 '15 at 17:49
  • I think the "neat trick" part is from the idea that the prisoner/agent logic is decided when you open the room or maybe the fact that a prisoner might be swapped with an agent. Nov 22 '15 at 21:22
  • mission_detention_centre.lua has a getLostAgent() method commented with "-- Get the earliest captured agent from the list." So it does seem you can get MIA agents back. Two other variables make me think you might randomly not get an agent, even if you have less than 4: simdefs.NORMAL_DIFFICULTY and CHANCE_OF_AGENT_IN_DETENTION, which is set to 50%. Someone more familiar with .lua files and the game variables can check in the checkPrisonerAgentSwap() method that @Zeta mentions. Nov 22 '15 at 22:06
  • You can get an agent back, and they still have all the augmentations and equipment they had when you lost them.
    – Aaron F
    Jun 22 '19 at 2:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.