Average Manatee
Arcane
- Joined
- Jan 7, 2012
- Messages
- 15,271
https://www.ufopaedia.org/index.php/MISSIONS.DAT#Retaliation
According to this page which is directly looking at the mission data for aliens, retaliation missions only target a zone, which goes by these semi-continental regions:
https://www.ufopaedia.org/index.php/File:WorldMap_RegionalZones_Ufo.png
So if you have two bases in the same zone they should both be perfectly findable for aliens. I'm not sure if it's just a case of "if the missions complete, they find a base" or if the alien ships are actually searching in a radius around their flight paths. The "Aggressive Retaliation" option for OpenXcom would seem to suggest the latter.
I checked the OpenXcom savefiles (which are plaintext) and they show the same thing about UFOs targetting zones:
EDIT: OpenXcom sources confirm that Alien UFOs have a sight radius of 80 units.
I wonder if UFOs can still detect bases outside of the target zone when they are entering and exiting the atmosphere on their usual cross-planet high speed trajectories. In that case they could certainly just randomly be within 80 units of a base.
Also interestingly, larger bases are easier to detect:
Though, a full 36 tiles taken up would only increase the detection chance from 15% to 21%. Also this detection runs every 10 minutes.
According to this page which is directly looking at the mission data for aliens, retaliation missions only target a zone, which goes by these semi-continental regions:
https://www.ufopaedia.org/index.php/File:WorldMap_RegionalZones_Ufo.png
So if you have two bases in the same zone they should both be perfectly findable for aliens. I'm not sure if it's just a case of "if the missions complete, they find a base" or if the alien ships are actually searching in a radius around their flight paths. The "Aggressive Retaliation" option for OpenXcom would seem to suggest the latter.
I checked the OpenXcom savefiles (which are plaintext) and they show the same thing about UFOs targetting zones:
Code:
- type: STR_ALIEN_RETALIATION
region: STR_CENTRAL_ASIA
race: STR_SECTOID
nextWave: 2
nextUfoCounter: 1
spawnCountdown: 10080
liveUfos: 0
uniqueID: 17
missionSiteZone: -1
EDIT: OpenXcom sources confirm that Alien UFOs have a sight radius of 80 units.
Code:
/**
* Only UFOs within detection range of the base have a chance to detect it.
* @param ufo Pointer to the UFO attempting detection.
* @return If the base is detected by @a ufo.
*/
bool DetectXCOMBase::operator()(const Ufo *ufo) const
{
if (ufo->getTrajectoryPoint() <= 1) return false;
if (ufo->getTrajectory().getZone(ufo->getTrajectoryPoint()) == 5) return false;
if ((ufo->getMission()->getRules().getObjective() != OBJECTIVE_RETALIATION && !Options::aggressiveRetaliation) || // only UFOs on retaliation missions actively scan for bases
ufo->getTrajectory().getID() == UfoTrajectory::RETALIATION_ASSAULT_RUN || // UFOs attacking a base don't detect!
ufo->isCrashed() || // Crashed UFOs don't detect!
_base.getDistance(ufo) >= Nautical(ufo->getRules()->getSightRange())) // UFOs have a detection range of 80 XCOM units. - we use a great circle fomrula and nautical miles.
{
return false;
}
return RNG::percent(_base.getDetectionChance());
}
I wonder if UFOs can still detect bases outside of the target zone when they are entering and exiting the atmosphere on their usual cross-planet high speed trajectories. In that case they could certainly just randomly be within 80 units of a base.
Also interestingly, larger bases are easier to detect:
Code:
/**
* Calculate the detection chance of this base.
* Big bases without mindshields are easier to detect.
* @param difficulty The savegame difficulty.
* @return The detection chance.
*/
size_t Base::getDetectionChance() const
{
size_t mindShields = std::count_if (_facilities.begin(), _facilities.end(), isMindShield());
size_t completedFacilities = 0;
for (std::vector<BaseFacility*>::const_iterator i = _facilities.begin(); i != _facilities.end(); ++i)
{
if ((*i)->getBuildTime() == 0)
{
completedFacilities += (*i)->getRules()->getSize() * (*i)->getRules()->getSize();
}
}
return ((completedFacilities / 6 + 15) / (mindShields + 1));
}
Though, a full 36 tiles taken up would only increase the detection chance from 15% to 21%. Also this detection runs every 10 minutes.
Last edited: