UFO: Alien Invasion
|
Go to the source code of this file.
Data Structures | |
struct | alienBase_s |
Alien Base. More... | |
Macros | |
#define | AB_Foreach(var) LIST_Foreach(ccs.alienBases, alienBase_t, var) |
#define | AB_Exists() (!cgi->LIST_IsEmpty(ccs.alienBases)) |
Typedefs | |
typedef struct alienBase_s | alienBase_t |
Alien Base. More... | |
Functions | |
alienBase_t * | AB_GetByIDX (int baseIDX) |
Get Alien Base per Idx. More... | |
void | AB_SetAlienBasePosition (vec2_t pos) |
Set new base position. More... | |
alienBase_t * | AB_BuildBase (const vec2_t pos) |
Build a new alien base. More... | |
void | AB_DestroyBase (alienBase_t *base) |
Destroy an alien base. More... | |
void | AB_UpdateStealthForAllBase (void) |
Update stealth value of every base for every aircraft. More... | |
void | AB_BaseSearchedByNations (void) |
Nations help in searching alien base. More... | |
bool | AB_CheckSupplyMissionPossible (void) |
Check if a supply mission is possible. More... | |
alienBase_t * | AB_ChooseBaseToSupply (void) |
Choose Alien Base that should be supplied. More... | |
void | AB_SupplyBase (alienBase_t *base, bool decreaseStealth) |
Supply a base. More... | |
int | AB_GetAlienBaseNumber (void) |
Check number of alien bases. More... | |
void | CP_SpawnAlienBaseMission (alienBase_t *alienBase) |
Spawn a new alien base mission after it has been discovered. More... | |
void | AB_InitStartup (void) |
Init actions for alienbase-subsystem. More... | |
void | AB_Shutdown (void) |
Closing actions for alienbase-subsystem. More... | |
#define AB_Exists | ( | ) | (!cgi->LIST_IsEmpty(ccs.alienBases)) |
Definition at line 39 of file cp_alienbase.h.
Referenced by AB_CheckSupplyMissionPossible(), AB_DestroyBase(), and AB_SetAlienBasePosition().
#define AB_Foreach | ( | var | ) | LIST_Foreach(ccs.alienBases, alienBase_t, var) |
Definition at line 36 of file cp_alienbase.h.
Referenced by AB_BaseSearchedByNations(), AB_ChooseBaseToSupply(), AB_GetByIDX(), AB_SaveXML(), AB_SetAlienBasePosition(), and AB_UpdateStealthForAllBase().
typedef struct alienBase_s alienBase_t |
Alien Base.
Nations help in searching alien base.
daysPerWeek
day < delay (in days) between base stealth update
< base probability, will be modified below
< xviInfection value of nation that will divide probability to find alien base by 2
Definition at line 232 of file cp_alienbase.cpp.
References AB_Foreach, ccs, ccs_s::date, date_s::day, GEO_GetNation(), NAT_GetCurrentMonthInfo(), and nationInfo_s::xviInfection.
Referenced by CP_CampaignRun().
alienBase_t* AB_BuildBase | ( | const vec2_t | pos | ) |
Build a new alien base.
[in] | pos | Position of the new base. |
< How hard PHALANX will find the base
Definition at line 90 of file cp_alienbase.cpp.
References ccs_s::alienBases, stats_s::alienBasesBuilt, ccs_s::campaignStats, ccs, alienBase_s::idx, LIST_Add(), OBJZERO, alienBase_s::pos, alienBase_s::stealth, and Vector2Copy.
Referenced by CP_BuildBaseSetUpBase().
bool AB_CheckSupplyMissionPossible | ( | void | ) |
Check if a supply mission is possible.
Definition at line 264 of file cp_alienbase.cpp.
References AB_Exists.
Referenced by CP_SupplyGoToBase(), CP_SupplyMissionCreate(), and CP_SupplySetStayAtBase().
alienBase_t* AB_ChooseBaseToSupply | ( | void | ) |
Choose Alien Base that should be supplied.
Definition at line 273 of file cp_alienbase.cpp.
References AB_Foreach, AB_GetAlienBaseNumber(), cgi, and i.
Referenced by CP_SupplyGoToBase().
void AB_DestroyBase | ( | alienBase_t * | base | ) |
Destroy an alien base.
[in] | base | Pointer to the alien base. |
Definition at line 107 of file cp_alienbase.cpp.
References AB_Exists, ccs_s::alienBases, ccs, cgi, ccs_s::interest, and INTERESTCATEGORY_SUPPLY.
Referenced by CP_BuildBaseMissionBaseDestroyed().
Check number of alien bases.
Definition at line 313 of file cp_alienbase.cpp.
References ccs_s::alienBases, ccs, and cgi.
Referenced by AB_ChooseBaseToSupply(), CP_ReconMissionIsSuccess(), and CP_SpawnNewMissions().
alienBase_t* AB_GetByIDX | ( | int | baseIDX | ) |
Get Alien Base per Idx.
[in] | baseIDX | The unique IDX of the alien Base. |
Definition at line 123 of file cp_alienbase.cpp.
References AB_Foreach.
Referenced by MIS_LoadXML().
Init actions for alienbase-subsystem.
Definition at line 413 of file cp_alienbase.cpp.
References cgi.
Referenced by CP_InitStartup().
Set new base position.
[out] | pos | Position of the new base. |
maxLoopPosition
random positions, and select among those the one that is the farthest from every other alien bases. This is intended to get a rather uniform distribution of alien bases, while still keeping a random base localisation. < distance between current selected alien base
< Number of random position among which the final one will be selected
Definition at line 41 of file cp_alienbase.cpp.
References AB_Exists, AB_Foreach, CP_GetRandomPosOnGeoscape(), GEO_PositionCloseToBase(), GetDistanceOnGlobe(), and Vector2Copy.
Referenced by CP_BuildBaseGoToBase().
Closing actions for alienbase-subsystem.
Definition at line 421 of file cp_alienbase.cpp.
References ccs_s::alienBases, ccs, and cgi.
Referenced by CP_Shutdown().
void AB_SupplyBase | ( | alienBase_t * | base, |
bool | decreaseStealth | ||
) |
Supply a base.
[in] | base | Pointer to the supplied base. |
[in] | decreaseStealth | If the stealth level of the base should be decreased. |
< How much stealth is reduced because Supply UFO was seen
Definition at line 298 of file cp_alienbase.cpp.
References alienBase_s::stealth, and alienBase_s::supply.
Referenced by CP_SupplySetStayAtBase().
Update stealth value of every base for every aircraft.
DETECTION_INTERVAL
Definition at line 212 of file cp_alienbase.cpp.
References AB_Foreach, AB_UpdateStealthForOneBase(), AIR_ForeachFromBase, AIR_IsAircraftOnGeoscape(), and B_GetNext().
Referenced by CP_CampaignFunctionPeriodicCall().
void CP_SpawnAlienBaseMission | ( | alienBase_t * | alienBase | ) |
Spawn a new alien base mission after it has been discovered.
Definition at line 135 of file cp_alienbase.cpp.
References mission_s::missionData_t::alienBase, ALIENBASE_DISCOVERED, cgi, cgame_import_s::Com_GetMapDefinitionByID(), CP_CreateNewMission(), CP_MissionAddToGeoscape(), CP_MissionDisableTimeLimit(), CP_TriggerEvent(), mission_s::data, ERR_FATAL, INTERESTCATEGORY_ALIENBASE, mission_s::mapDef, MAPDEF_ALIENBASE, alienBase_s::pos, mission_s::pos, mission_s::posAssigned, mission_s::stage, STAGE_BASE_DISCOVERED, and Vector2Copy.
Referenced by AB_UpdateStealthForOneBase().