MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / insideRadarRange

Method insideRadarRange

src/Savegame/Base.cpp:400–417  ·  view source on GitHub ↗

* Returns if a certain target is inside the base's * radar range, taking in account the positions of both. * @param target Pointer to target to compare. * @return 0 - outside radar range, 1 - inside conventional radar range, 2 - inside hyper-wave decoder range. */

Source from the content-addressed store, hash-verified

398 * @return 0 - outside radar range, 1 - inside conventional radar range, 2 - inside hyper-wave decoder range.
399 */
400int Base::insideRadarRange(Target *target) const
401{
402 bool insideRange = false;
403 double distance = getDistance(target) * 60.0 * (180.0 / M_PI);
404 for (std::vector<BaseFacility*>::const_iterator i = _facilities.begin(); i != _facilities.end(); ++i)
405 {
406 if ((*i)->getRules()->getRadarRange() >= distance && (*i)->getBuildTime() == 0)
407 {
408 if ((*i)->getRules()->isHyperwave())
409 {
410 return 2;
411 }
412 insideRange = true;
413 }
414 }
415
416 return insideRange? 1 : 0;
417}
418
419/**
420 * Returns the amount of soldiers contained

Callers 1

time30MinutesMethod · 0.80

Calls 4

isHyperwaveMethod · 0.80
getRadarRangeMethod · 0.45
getRulesMethod · 0.45
getBuildTimeMethod · 0.45

Tested by

no test coverage detected