UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
cp_mission_terror.cpp File Reference

Campaign mission code. More...

#include "../../../cl_shared.h"
#include "../cp_campaign.h"
#include "../cp_geoscape.h"
#include "../cp_ufo.h"
#include "../cp_missions.h"
#include "../cp_time.h"
#include "../cp_alien_interest.h"
#include "cp_mission_recon.h"
#include "cp_mission_terror.h"

Go to the source code of this file.

Functions

void CP_TerrorMissionIsSuccess (mission_t *mission)
 Terror attack mission is over and is a success: change interest values. More...
 
void CP_TerrorMissionIsFailure (mission_t *mission)
 Terror attack mission is over and is a failure: change interest values. More...
 
void CP_TerrorMissionOnSpawn (void)
 Run when the mission is spawned. More...
 
void CP_TerrorMissionStart (mission_t *mission)
 Start Terror attack mission. More...
 
static city_tCP_ChooseCity (void)
 Choose a city for terror mission. More...
 
static const mission_tCP_TerrorInCity (const city_t *city)
 
static void CP_TerrorMissionGo (mission_t *mission)
 Set Terror attack mission, and go to Terror attack mission pos. More...
 
void CP_TerrorMissionNextStage (mission_t *mission)
 Determine what action should be performed when a Terror attack mission stage ends. More...
 

Detailed Description

Campaign mission code.

Definition in file cp_mission_terror.cpp.

Function Documentation

static city_t* CP_ChooseCity ( void  )
static

Choose a city for terror mission.

Returns
chosen city in ccs.cities

Definition at line 96 of file cp_mission_terror.cpp.

References ccs, cgi, ccs_s::cities, cgame_import_s::LIST_GetByIdx(), and ccs_s::numCities.

Referenced by CP_TerrorMissionGo().

static const mission_t* CP_TerrorInCity ( const city_t city)
static
static void CP_TerrorMissionGo ( mission_t mission)
static

Set Terror attack mission, and go to Terror attack mission pos.

Note
Terror attack mission – Stage 1
Terror missions can only take place in city: pick one in ccs.cities.

Definition at line 126 of file cp_mission_terror.cpp.

References ccs, cgi, mission_s::missionData_t::city, CP_ChooseCity(), CP_ChooseMap(), CP_MissionDisableTimeLimit(), CP_MissionRemove(), CP_TerrorInCity(), mission_s::data, ccs_s::date, DEBUG_CLIENT, mission_s::finalDate, GEO_PositionCloseToBase(), MAX_POS_LOOP, city_s::pos, mission_s::pos, mission_s::posAssigned, mission_s::stage, STAGE_MISSION_GOTO, mission_s::ufo, UFO_SendToDestination(), and Vector2Copy.

Referenced by CP_TerrorMissionNextStage().

void CP_TerrorMissionIsFailure ( mission_t mission)

Terror attack mission is over and is a failure: change interest values.

Note
Terror attack mission

Definition at line 52 of file cp_mission_terror.cpp.

References CP_MissionRemove(), f, INT_ChangeIndividualInterest(), INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_INTERCEPT, and INTERESTCATEGORY_TERROR_ATTACK.

Referenced by CP_MissionIsOver().

void CP_TerrorMissionIsSuccess ( mission_t mission)

Terror attack mission is over and is a success: change interest values.

Note
Terror attack mission

Definition at line 40 of file cp_mission_terror.cpp.

References CP_MissionRemove(), f, INT_ChangeIndividualInterest(), INTERESTCATEGORY_BASE_ATTACK, and INTERESTCATEGORY_HARVEST.

Referenced by CP_TerrorMissionNextStage().

void CP_TerrorMissionNextStage ( mission_t mission)

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

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

Definition at line 172 of file cp_mission_terror.cpp.

References cgi, CP_MissionBegin(), CP_MissionRemove(), CP_ReconMissionLeave(), CP_TerrorMissionGo(), CP_TerrorMissionIsSuccess(), CP_TerrorMissionStart(), mission_s::stage, STAGE_COME_FROM_ORBIT, STAGE_MISSION_GOTO, STAGE_NOT_ACTIVE, STAGE_RETURN_TO_ORBIT, and STAGE_TERROR_MISSION.

Referenced by CP_MissionStageEnd().

void CP_TerrorMissionOnSpawn ( void  )

Run when the mission is spawned.

Definition at line 66 of file cp_mission_terror.cpp.

References f, INT_ChangeIndividualInterest(), and INTERESTCATEGORY_TERROR_ATTACK.

Referenced by CP_CreateNewMission().

void CP_TerrorMissionStart ( mission_t mission)

Start Terror attack mission.

Note
Terror attack mission – Stage 2

Definition at line 77 of file cp_mission_terror.cpp.

References ccs, CP_MissionAddToGeoscape(), CP_UFORemoveFromGeoscape(), ccs_s::date, Date_Add(), Date_Random(), mission_s::finalDate, mission_s::stage, STAGE_TERROR_MISSION, and mission_s::ufo.

Referenced by CP_TerrorMissionNextStage().