UFO: Alien Invasion
|
Campaign mission code. More...
#include "../../../cl_shared.h"
#include "../../../ui/ui_dataids.h"
#include "../cp_campaign.h"
#include "../cp_capacity.h"
#include "../cp_geoscape.h"
#include "../cp_ufo.h"
#include "../cp_missions.h"
#include "../cp_time.h"
#include "../cp_popup.h"
#include "../cp_alien_interest.h"
#include "cp_mission_baseattack.h"
Go to the source code of this file.
Functions | |
void | CP_BaseAttackMissionIsSuccess (mission_t *mission) |
Base attack mission is over and is a success (from an alien point of view): change interest values. More... | |
void | CP_BaseAttackMissionIsFailure (mission_t *mission) |
Base attack mission is over and is a failure (from an alien point of view): change interest values. More... | |
void | CP_BaseAttackMissionOnSpawn (void) |
Run when the mission is spawned. More... | |
void | CP_BaseAttackMissionLeave (mission_t *mission) |
Base attack mission ends: UFO leave earth. More... | |
void | CP_BaseAttackMissionDestroyBase (mission_t *mission) |
Base attack mission ends: UFO leave earth. More... | |
static void | CP_BaseAttackPrepareBattle (mission_t *mission) |
Prepare things for baseattack battle. More... | |
void | CP_BaseAttackStartMission (mission_t *mission) |
Start Base Attack. More... | |
void | CP_CheckBaseAttacks (void) |
Check and start baseattack missions. More... | |
static base_t * | CP_BaseAttackChooseBase (void) |
Choose Base that will be attacked. More... | |
static void | CP_BaseAttackGoToBase (mission_t *mission) |
Set base attack mission, and go to base position. More... | |
void | CP_BaseAttackMissionNextStage (mission_t *mission) |
Determine what action should be performed when a Base Attack mission stage ends. More... | |
Variables | |
static aircraft_t | baseAttackFakeAircraft |
This fake aircraft is used to assign soldiers for a base attack mission. More... | |
Campaign mission code.
Definition in file cp_mission_baseattack.cpp.
Choose Base that will be attacked.
Definition at line 250 of file cp_mission_baseattack.cpp.
References base_s::alienInterest, B_COMMAND, B_GetBuildingStatus(), B_GetNext(), B_IsUnderAttack, and frand().
Referenced by CP_BaseAttackGoToBase().
Set base attack mission, and go to base position.
Definition at line 283 of file cp_mission_baseattack.cpp.
References mission_s::missionData_t::base, ccs, cgi, cgame_import_s::Com_GetMapDefinitionByID(), CP_BaseAttackChooseBase(), CP_MissionDisableTimeLimit(), CP_MissionRemove(), mission_s::data, ccs_s::date, ERR_DROP, mission_s::finalDate, mission_s::mapDef, base_s::pos, mission_s::pos, mission_s::posAssigned, mission_s::stage, STAGE_MISSION_GOTO, mission_s::ufo, UFO_SendToDestination(), and Vector2Copy.
Referenced by CP_BaseAttackMissionNextStage().
Base attack mission ends: UFO leave earth.
Definition at line 120 of file cp_mission_baseattack.cpp.
References _, aircraft_s::acTeam, base_s::aircraftCurrent, B_Destroy(), mission_s::missionData_t::base, BASE_WORKING, base_s::baseStatus, CAP_UpdateStorageCap(), cgi, Com_sprintf(), CP_GameTimeStop(), cp_messageBuffer, mission_s::data, GEO_SetMissionAircraft, aircraft_s::mission, MS_AddNewMessage(), and base_s::name.
Referenced by CP_BaseAttackMissionNextStage(), CP_BaseAttackStartMission(), and CP_MissionEndActions().
Base attack mission is over and is a failure (from an alien point of view): change interest values.
Definition at line 62 of file cp_mission_baseattack.cpp.
References aircraft_s::acTeam, AIR_GetFirstFromBase(), base_s::aircraftCurrent, mission_s::missionData_t::base, BASE_WORKING, base_s::baseStatus, cgi, CP_MissionRemove(), mission_s::data, f, GEO_NotifyMissionRemoved(), GEO_SetMissionAircraft, INT_ChangeIndividualInterest(), INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, and aircraft_s::mission.
Referenced by CP_MissionEndActions(), and CP_MissionIsOver().
Base attack mission is over and is a success (from an alien point of view): change interest values.
Definition at line 49 of file cp_mission_baseattack.cpp.
References CP_MissionRemove(), f, INT_ChangeIndividualInterest(), INTERESTCATEGORY_HARVEST, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_RECON, and INTERESTCATEGORY_TERROR_ATTACK.
Referenced by CP_BaseAttackMissionNextStage(), and CP_MissionIsOver().
Base attack mission ends: UFO leave earth.
Definition at line 100 of file cp_mission_baseattack.cpp.
References ccs, CP_MissionDisableTimeLimit(), ccs_s::date, mission_s::finalDate, aircraft_s::landed, mission_s::stage, STAGE_RETURN_TO_ORBIT, mission_s::ufo, and UFO_SetRandomDest().
Referenced by CP_MissionNotifyBaseDestroyed().
Determine what action should be performed when a Base Attack mission stage ends.
[in] | mission | Pointer to the mission which stage ended. |
Definition at line 320 of file cp_mission_baseattack.cpp.
References cgi, CP_BaseAttackGoToBase(), CP_BaseAttackMissionDestroyBase(), CP_BaseAttackMissionIsSuccess(), CP_BaseAttackStartMission(), CP_MissionBegin(), CP_MissionRemove(), mission_s::stage, STAGE_BASE_ATTACK, STAGE_COME_FROM_ORBIT, STAGE_MISSION_GOTO, STAGE_NOT_ACTIVE, and STAGE_RETURN_TO_ORBIT.
Referenced by CP_MissionStageEnd().
Run when the mission is spawned.
Definition at line 90 of file cp_mission_baseattack.cpp.
References f, INT_ChangeIndividualInterest(), and INTERESTCATEGORY_BASE_ATTACK.
Referenced by CP_CreateNewMission().
Prepare things for baseattack battle.
[in] | mission | Mission to prepare battle for |
Definition at line 147 of file cp_mission_baseattack.cpp.
References _, mission_s::active, base_s::aircraftCurrent, B_SetCurrentSelectedBase(), mission_s::missionData_t::base, baseAttackFakeAircraft, cgi, Com_sprintf(), CP_GameTimeStop(), mission_s::data, DEBUG_CLIENT, E_CountByType(), EMPL_ROBOT, EMPL_SOLDIER, GEO_SelectMission(), GEO_SetInterceptorAircraft, GEO_SetMissionAircraft, aircraft_s::homebase, mission_s::id, MAX_ACTIVETEAM, aircraft_s::maxTeamSize, aircraft_s::mission, base_s::name, OBJZERO, popupText, base_s::pos, mission_s::pos, aircraft_s::pos, TEXT_POPUP, and VectorCopy.
Referenced by CP_BaseAttackStartMission(), and CP_CheckBaseAttacks().
Start Base Attack.
[in] | mission | Pointer to the baseattack mission |
Definition at line 187 of file cp_mission_baseattack.cpp.
References _, B_COMMAND, B_GetNumberOfBuildingsInBaseByBuildingType(), mission_s::missionData_t::base, BASE_UNDER_ATTACK, stats_s::basesAttacked, base_s::baseStatus, ccs_s::campaignStats, ccs, cgi, CP_BaseAttackMissionDestroyBase(), CP_BaseAttackPrepareBattle(), CP_MissionDisableTimeLimit(), CP_UFORemoveFromGeoscape(), mission_s::data, DEBUG_CLIENT, E_Foreach, EMPL_SOLDIER, MSG_BASEATTACK, MSO_CheckAddNewMessage(), base_s::name, NT_BASE_ATTACK, mission_s::stage, STAGE_BASE_ATTACK, mission_s::ufo, and va().
Referenced by CP_BaseAttackMissionNextStage().
Check and start baseattack missions.
Definition at line 237 of file cp_mission_baseattack.cpp.
References CP_BaseAttackPrepareBattle(), INTERESTCATEGORY_BASE_ATTACK, MIS_Foreach, and STAGE_BASE_ATTACK.
Referenced by CP_CampaignRun(), and SAV_GameQuickLoad_f().
|
static |
This fake aircraft is used to assign soldiers for a base attack mission.
Definition at line 42 of file cp_mission_baseattack.cpp.
Referenced by CP_BaseAttackPrepareBattle().