UFO: Alien Invasion
Loading...
Searching...
No Matches
cp_mission_terror.cpp File Reference

Campaign mission code. More...

#include "../../../DateTime.h"
#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"
Include dependency graph for cp_mission_terror.cpp:

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.
void CP_TerrorMissionIsFailure (mission_t *mission)
 Terror attack mission is over and is a failure: change interest values.
void CP_TerrorMissionOnSpawn (void)
 Run when the mission is spawned.
void CP_TerrorMissionStart (mission_t *mission)
 Start Terror attack mission.
static city_tCP_ChooseCity (void)
 Choose a city for terror mission.
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.
void CP_TerrorMissionNextStage (mission_t *mission)
 Determine what action should be performed when a Terror attack mission stage ends.

Detailed Description

Campaign mission code.

Definition in file cp_mission_terror.cpp.

Function Documentation

◆ CP_ChooseCity()

city_t * CP_ChooseCity ( void )
static

Choose a city for terror mission.

Returns
chosen city in ccs.cities

Definition at line 97 of file cp_mission_terror.cpp.

References ccs, and cgi.

Referenced by CP_TerrorMissionGo().

◆ CP_TerrorInCity()

const mission_t * CP_TerrorInCity ( const city_t * city)
static

◆ CP_TerrorMissionGo()

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 127 of file cp_mission_terror.cpp.

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

Referenced by CP_TerrorMissionNextStage().

◆ CP_TerrorMissionIsFailure()

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 53 of file cp_mission_terror.cpp.

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

Referenced by CP_MissionIsOver().

◆ CP_TerrorMissionIsSuccess()

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 41 of file cp_mission_terror.cpp.

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

Referenced by CP_TerrorMissionNextStage().

◆ 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 173 of file cp_mission_terror.cpp.

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

Referenced by CP_MissionStageEnd().

◆ CP_TerrorMissionOnSpawn()

void CP_TerrorMissionOnSpawn ( void )

Run when the mission is spawned.

Definition at line 67 of file cp_mission_terror.cpp.

References INT_ChangeIndividualInterest(), and INTERESTCATEGORY_TERROR_ATTACK.

Referenced by CP_CreateNewMission().

◆ CP_TerrorMissionStart()

void CP_TerrorMissionStart ( mission_t * mission)

Start Terror attack mission.

Note
Terror attack mission – Stage 2

Definition at line 78 of file cp_mission_terror.cpp.

References ccs, CP_MissionAddToGeoscape(), CP_UFORemoveFromGeoscape(), Date_Random(), mission_t::finalDate, mission_t::stage, STAGE_TERROR_MISSION, and mission_t::ufo.

Referenced by CP_TerrorMissionNextStage().