UFO: Alien Invasion
cp_mission_rescue.cpp File Reference

Campaign mission code. More...

#include "../../../DateTime.h"
#include "../../../cl_shared.h"
#include "../cp_campaign.h"
#include "../cp_missions.h"
#include "../cp_time.h"
#include "../cp_ufo.h"
#include "cp_mission_rescue.h"
Include dependency graph for cp_mission_rescue.cpp:

Go to the source code of this file.

Functions

static void CP_BeginRescueMission (mission_t *mission)
 Actions to be done when UFO arrived at rescue mission location. More...
 
void CP_EndRescueMission (mission_t *mission, aircraft_t *aircraft, bool won)
 Actions to be done when rescue mission finished/expired. More...
 
static void CP_LeaveRescueMission (mission_t *mission)
 Rescue mission expired, UFO leave earth. More...
 
void CP_RescueNextStage (mission_t *mission)
 Determine what action should be performed when a Rescue mission stage ends. More...
 

Detailed Description

Campaign mission code.

Definition in file cp_mission_rescue.cpp.

Function Documentation

◆ CP_BeginRescueMission()

static void CP_BeginRescueMission ( mission_t mission)
static

Actions to be done when UFO arrived at rescue mission location.

Parameters
[in,out]missionPointer to the finished mission

Definition at line 37 of file cp_mission_rescue.cpp.

References ccs, cgi, cgame_import_t::Com_GetMapDefinitionByID(), CP_MissionAddToGeoscape(), CP_MissionRemove(), ccs_t::date, Date_Random(), ERR_DROP, mission_t::finalDate, aircraft_t::landed, mission_t::mapDef, mission_t::posAssigned, mission_t::stage, STAGE_RECON_GROUND, and mission_t::ufo.

Referenced by CP_RescueNextStage().

◆ CP_EndRescueMission()

void CP_EndRescueMission ( mission_t mission,
aircraft_t aircraft,
bool  won 
)

Actions to be done when rescue mission finished/expired.

Parameters
[in,out]missionPointer to the finished mission
[in,out]aircraftPointer to the dropship done the mission
[in]wonBoolean flag if thew mission was successful (from PHALANX's PoV)
Todo:
it should be dumped to the cargo loot of the dropship done the rescue mission not the base directly

Definition at line 66 of file cp_mission_rescue.cpp.

References aircraft_t::acTeam, AIR_DestroyAircraft(), AIR_RemoveEmployee(), mission_t::missionData_t::aircraft, B_DumpAircraftToHomeBase(), ccs, CP_CheckMissionLimitedInTime(), mission_t::data, ccs_t::date, mission_t::finalDate, LIST_Foreach, and aircraft_t::pilot.

Referenced by CP_LeaveRescueMission(), and CP_MissionEndActions().

◆ CP_LeaveRescueMission()

static void CP_LeaveRescueMission ( mission_t mission)
static

Rescue mission expired, UFO leave earth.

Parameters
[in,out]missionPointer to the mission

Definition at line 95 of file cp_mission_rescue.cpp.

References ccs, CP_EndRescueMission(), CP_MissionDisableTimeLimit(), CP_MissionRemoveFromGeoscape(), ccs_t::date, mission_t::finalDate, aircraft_t::landed, mission_t::stage, STAGE_RETURN_TO_ORBIT, mission_t::ufo, and UFO_SetRandomDest().

Referenced by CP_RescueNextStage().

◆ CP_RescueNextStage()

void CP_RescueNextStage ( mission_t mission)

Determine what action should be performed when a Rescue mission stage ends.

Parameters
[in,out]missionPointer to the mission which stage ended.

Definition at line 116 of file cp_mission_rescue.cpp.

References cgi, CP_BeginRescueMission(), CP_LeaveRescueMission(), CP_MissionRemove(), mission_t::stage, STAGE_MISSION_GOTO, STAGE_RECON_GROUND, and STAGE_RETURN_TO_ORBIT.

Referenced by CP_MissionStageEnd().