UFO: Alien Invasion
|
contains everything related to equiping slots of aircraft or base More...
#include "../../cl_shared.h"
#include "cp_campaign.h"
#include "cp_missions.h"
#include "cp_mapfightequip.h"
#include "cp_ufo.h"
#include "save/save_fightequip.h"
Go to the source code of this file.
Macros | |
#define | UFO_RELOAD_DELAY_MULTIPLIER 2 |
#define | AIRCRAFT_RELOAD_DELAY_MULTIPLIER 2 |
#define | BASE_RELOAD_DELAY_MULTIPLIER 2 |
#define | INSTALLATION_RELOAD_DELAY_MULTIPLIER 2 |
Functions | |
technology_t ** | AII_GetCraftitemTechsByType (aircraftItemType_t type) |
Returns a list of craftitem technologies for the given type. More... | |
itemWeight_t | AII_GetItemWeightBySize (const objDef_t *od) |
Returns craftitem weight based on size. More... | |
bool | AIM_SelectableCraftItem (const aircraftSlot_t *slot, const technology_t *tech) |
Check if an aircraft item should or should not be displayed in airequip menu. More... | |
bool | AIM_PilotAssignedAircraft (const base_t *base, const Employee *pilot) |
Checks to see if the pilot is in any aircraft at this base. More... | |
void | BDEF_AddBattery (basedefenceType_t basedefType, base_t *base) |
Adds a defence system to base. More... | |
void | BDEF_RemoveBattery (base_t *base, basedefenceType_t basedefType, int idx) |
Remove a base defence sytem from base. More... | |
void | BDEF_InitialiseBaseSlots (base_t *base) |
Initialise all values of base slot defence. More... | |
void | BDEF_InitialiseInstallationSlots (installation_t *installation) |
Initialise all values of installation slot defence. More... | |
static void | AII_UpdateOneInstallationDelay (base_t *base, installation_t *installation, aircraft_t *aircraft, aircraftSlot_t *slot) |
Update the installation delay of one slot. More... | |
void | AII_UpdateInstallationDelay (void) |
Update the installation delay of all slots of a given aircraft. More... | |
void | AII_AutoAddAmmo (aircraftSlot_t *slot) |
Auto add ammo corresponding to weapon, if there is enough in storage. More... | |
void | AII_RemoveItemFromSlot (base_t *base, aircraftSlot_t *slot, bool ammo) |
Remove the item from the slot (or optionally its ammo only) and put it the base storage. More... | |
void | AII_RemoveNextItemFromSlot (base_t *base, aircraftSlot_t *slot, bool ammo) |
Cancel replacing item, move nextItem (or optionally its ammo only) back to the base storage. More... | |
bool | AII_ReloadWeapon (aircraftSlot_t *slot) |
Reloads an aircraft/defence-system weapon. More... | |
void | AII_ReloadAircraftWeapons (aircraft_t *aircraft) |
Reload the weapons of an aircraft. More... | |
bool | AII_AddAmmoToSlot (base_t *base, const technology_t *tech, aircraftSlot_t *slot) |
Add an ammo to an aircraft weapon slot. More... | |
bool | AII_AddItemToSlot (base_t *base, const technology_t *tech, aircraftSlot_t *slot, bool nextItem) |
Add an item to an aircraft slot. More... | |
void | AIM_AutoEquipAircraft (aircraft_t *aircraft) |
Auto Add weapon and ammo to an aircraft. More... | |
void | AII_InitialiseSlot (aircraftSlot_t *slot, aircraft_t *aircraftTemplate, base_t *base, installation_t *installation, aircraftItemType_t type) |
Initialise values of one slot of an aircraft or basedefence common to all types of items. More... | |
static bool | AII_CheckUpdateAircraftStats (const aircraftSlot_t *slot, int stat) |
Check if item in given slot should change one aircraft stat. More... | |
aircraftSlot_t * | BDEF_GetBaseSlotByIDX (base_t *base, aircraftItemType_t type, int idx) |
returns the aircraftSlot of a base at an index or the first free slot More... | |
aircraftSlot_t * | BDEF_GetInstallationSlotByIDX (installation_t *installation, aircraftItemType_t type, int idx) |
returns the aircraftSlot of an installaion at an index or the first free slot More... | |
aircraftSlot_t * | AII_GetAircraftSlotByIDX (aircraft_t *aircraft, aircraftItemType_t type, int idx) |
returns the aircraftSlot of an aircraft at an index or the first free slot More... | |
float | AIR_GetMaxAircraftWeaponRange (const aircraftSlot_t *slot, int maxSlot) |
Get the maximum weapon range of aircraft. More... | |
void | AII_RepairAircraft (void) |
Repair aircraft. More... | |
void | AII_UpdateAircraftStats (aircraft_t *aircraft) |
Update the value of stats array of an aircraft. More... | |
static bool | AII_WeaponsCanShoot (const baseWeapon_t *weapons, int numWeapons) |
Check if base or installation weapon can shoot. More... | |
int | AII_BaseCanShoot (const base_t *base) |
Check if the base has weapon and ammo. More... | |
bool | AII_InstallationCanShoot (const installation_t *installation) |
Check if the installation has a weapon and ammo. More... | |
static void | BDEF_AutoTarget (baseWeapon_t *weapons, int maxWeapons) |
Chooses a target for surface to air defences automatically. More... | |
void | BDEF_AutoSelectTarget (void) |
Chooses target for all base defences and sam sites. More... | |
const char * | AII_WeightToName (itemWeight_t weight) |
Translate a weight int to a translated string. More... | |
void | AII_SaveOneSlotXML (xmlNode_t *p, const aircraftSlot_t *slot, bool weapon) |
Save callback for savegames in XML Format. More... | |
void | AII_LoadOneSlotXML (xmlNode_t *node, aircraftSlot_t *slot, bool weapon) |
Loads one slot (base, installation or aircraft) More... | |
contains everything related to equiping slots of aircraft or base
Definition in file cp_mapfightequip.cpp.
#define AIRCRAFT_RELOAD_DELAY_MULTIPLIER 2 |
Definition at line 35 of file cp_mapfightequip.cpp.
Referenced by AII_ReloadWeapon().
#define BASE_RELOAD_DELAY_MULTIPLIER 2 |
Definition at line 36 of file cp_mapfightequip.cpp.
Referenced by AII_ReloadWeapon().
#define INSTALLATION_RELOAD_DELAY_MULTIPLIER 2 |
Definition at line 37 of file cp_mapfightequip.cpp.
Referenced by AII_ReloadWeapon().
#define UFO_RELOAD_DELAY_MULTIPLIER 2 |
Definition at line 34 of file cp_mapfightequip.cpp.
Referenced by AII_ReloadWeapon().
bool AII_AddAmmoToSlot | ( | base_t * | base, |
const technology_t * | tech, | ||
aircraftSlot_t * | slot | ||
) |
Add an ammo to an aircraft weapon slot.
[in] | base | Pointer to the base which provides items (nullptr if items shouldn't be removed of storage) |
[in] | tech | Pointer to the tech to add to slot |
[in] | slot | Pointer to the slot where you want to add ammos |
Definition at line 647 of file cp_mapfightequip.cpp.
References AC_ITEM_AMMO, AII_ReloadWeapon(), AII_RemoveItemFromSlot(), AII_RemoveNextItemFromSlot(), aircraftSlot_s::ammo, objDef_s::ammos, B_AddToStorage(), B_BaseHasItem(), cgi, objDef_s::craftitem, objDef_s::id, objDef_s::idx, INVSH_GetItemByID(), aircraftSlot_s::item, aircraftSlot_s::nextAmmo, aircraftSlot_s::nextItem, objDef_s::numAmmos, technology_s::provides, and craftitem_s::type.
Referenced by AII_AutoAddAmmo(), AII_LoadOneSlotXML(), and AIM_AircraftEquipAddItem_f().
bool AII_AddItemToSlot | ( | base_t * | base, |
const technology_t * | tech, | ||
aircraftSlot_t * | slot, | ||
bool | nextItem | ||
) |
Add an item to an aircraft slot.
[in] | base | Pointer to the base where item will be removed (nullptr for ufos, virtual ammos or while loading game) |
[in] | tech | Pointer to the tech that will be added in this slot. |
[in] | slot | Pointer to the aircraft, base, or installation slot. |
[in] | nextItem | False if we are changing current item in slot, true if this is the item to install after current removal is over. |
Definition at line 722 of file cp_mapfightequip.cpp.
References AC_ITEM_AMMO, AII_GetItemWeightBySize(), B_AddToStorage(), B_BaseHasItem(), cgi, objDef_s::craftitem, objDef_s::id, aircraftSlot_s::idx, aircraftSlot_s::installationTime, craftitem_s::installationTime, INVSH_GetItemByID(), aircraftSlot_s::item, aircraftSlot_s::nextItem, technology_s::provides, aircraftSlot_s::size, objDef_s::size, aircraftSlot_s::type, and craftitem_s::type.
Referenced by AII_LoadOneSlotXML(), AIM_AircraftEquipAddItem_f(), AIM_AutoEquipAircraft(), and BDEF_AddItem_f().
void AII_AutoAddAmmo | ( | aircraftSlot_t * | slot | ) |
Auto add ammo corresponding to weapon, if there is enough in storage.
[in] | slot | Pointer to the slot where you want to add ammo |
Definition at line 433 of file cp_mapfightequip.cpp.
References AC_ITEM_WEAPON, AII_AddAmmoToSlot(), AIM_SelectableCraftItem(), AIR_IsAircraftInBase(), AIR_IsUFO, aircraftSlot_s::aircraft, aircraftSlot_s::ammo, objDef_s::ammos, aircraftSlot_s::base, objDef_s::craftitem, aircraft_s::homebase, objDef_s::isVirtual, aircraftSlot_s::item, aircraftSlot_s::nextAmmo, aircraftSlot_s::nextItem, objDef_s::numAmmos, RS_GetTechForItem(), and craftitem_s::type.
Referenced by AII_ReloadWeapon(), AIM_AircraftEquipAddItem_f(), AIM_AutoEquipAircraft(), and BDEF_AddItem_f().
Check if the base has weapon and ammo.
[in] | base | Pointer to the base you want to check (may not be nullptr) |
Definition at line 1150 of file cp_mapfightequip.cpp.
References AII_WeaponsCanShoot(), B_DEFENCE_LASER, B_DEFENCE_MISSILE, B_GetBuildingStatus(), base_s::batteries, base_s::lasers, base_s::numBatteries, and base_s::numLasers.
Referenced by AIRFIGHT_CampaignRunBaseDefence(), CL_DisplayPopupInterceptUFO(), CL_PopupInterceptBaseClick_f(), and GEO_DrawMapOneBase().
|
static |
Check if item in given slot should change one aircraft stat.
[in] | slot | Pointer to the slot containing the item |
[in] | stat | the stat that should be checked |
Definition at line 875 of file cp_mapfightequip.cpp.
References objDef_s::craftitem, aircraftSlot_s::installationTime, aircraftSlot_s::item, and craftitem_s::stats.
Referenced by AII_UpdateAircraftStats(), and AIR_GetMaxAircraftWeaponRange().
aircraftSlot_t* AII_GetAircraftSlotByIDX | ( | aircraft_t * | aircraft, |
aircraftItemType_t | type, | ||
int | idx | ||
) |
returns the aircraftSlot of an aircraft at an index or the first free slot
[in] | aircraft | Pointer to aircraft |
[in] | type | base defence type, see aircraftItemType_t |
[in] | idx | index of aircraftslot |
Definition at line 964 of file cp_mapfightequip.cpp.
References AC_ITEM_ELECTRONICS, AC_ITEM_SHIELD, AC_ITEM_WEAPON, aircraft_s::electronics, i, aircraftSlot_s::item, aircraft_s::maxElectronics, aircraft_s::maxWeapons, aircraftSlot_s::nextItem, aircraft_s::shield, and aircraft_s::weapons.
technology_t** AII_GetCraftitemTechsByType | ( | aircraftItemType_t | type | ) |
Returns a list of craftitem technologies for the given type.
[in] | type | Type of the craft-items to return. |
Definition at line 44 of file cp_mapfightequip.cpp.
References cgi, objDef_s::craftitem, cgame_import_s::csi, i, INVSH_GetItemByIDX(), MAX_TECHNOLOGIES, csi_s::numODs, RS_GetTechForItem(), and craftitem_s::type.
Referenced by AIM_UpdateAircraftItemList(), BDEF_AddItem_f(), BDEF_SelectItem_f(), and BDEF_UpdateAircraftItemList().
itemWeight_t AII_GetItemWeightBySize | ( | const objDef_t * | od | ) |
Returns craftitem weight based on size.
[in] | od | Pointer to objDef_t object being craftitem. |
Definition at line 74 of file cp_mapfightequip.cpp.
References ITEM_HEAVY, ITEM_LIGHT, ITEM_MEDIUM, and objDef_s::size.
Referenced by AII_AddItemToSlot(), AIM_AutoEquipAircraft(), AIM_CheckTechnologyIntoSlot(), AIM_SelectableCraftItem(), AIR_ScriptSanityCheck(), and UP_AircraftItemDescription().
void AII_InitialiseSlot | ( | aircraftSlot_t * | slot, |
aircraft_t * | aircraftTemplate, | ||
base_t * | base, | ||
installation_t * | installation, | ||
aircraftItemType_t | type | ||
) |
Initialise values of one slot of an aircraft or basedefence common to all types of items.
[in] | slot | Pointer to the slot to initialize. |
[in] | aircraftTemplate | Template Pointer to aircraft template. |
[in] | base | Pointer to base. |
[in] | installation | Pointer to the thing being installed. |
[in] | type | The type of item that can fit in this slot. |
sa BDEF_AddBattery: it needs to be AMMO_STATUS_NOT_SET and not 0
Definition at line 847 of file cp_mapfightequip.cpp.
References aircraftSlot_s::aircraft, aircraftSlot_s::ammo, AMMO_STATUS_NOT_SET, aircraftSlot_s::ammoLeft, aircraftSlot_s::base, aircraftSlot_s::installation, aircraftSlot_s::installationTime, aircraftSlot_s::item, ITEM_HEAVY, aircraftSlot_s::nextAmmo, aircraftSlot_s::nextItem, OBJZERO, aircraftSlot_s::size, aircraftSlot_s::type, and type.
Referenced by AII_InitialiseAircraftSlots(), BDEF_InitialiseBaseSlots(), BDEF_InitialiseInstallationSlots(), and BDEF_RemoveBattery().
bool AII_InstallationCanShoot | ( | const installation_t * | installation | ) |
Check if the installation has a weapon and ammo.
[in] | installation | Pointer to the installation you want to check (may not be nullptr) |
Definition at line 1173 of file cp_mapfightequip.cpp.
References AII_WeaponsCanShoot(), installation_s::batteries, INSTALLATION_WORKING, installation_s::installationStatus, installation_s::installationTemplate, and installationTemplate_s::maxBatteries.
Referenced by AIRFIGHT_CampaignRunBaseDefence(), CL_DisplayPopupInterceptUFO(), CL_PopupInterceptBaseClick_f(), and GEO_DrawMapOneInstallation().
void AII_LoadOneSlotXML | ( | xmlNode_t * | node, |
aircraftSlot_t * | slot, | ||
bool | weapon | ||
) |
Loads one slot (base, installation or aircraft)
[in] | node | XML Node structure, where we get the information from |
[out] | slot | Pointer to the slot where item should be added. |
[in] | weapon | True if the slot is a weapon slot. |
Definition at line 1333 of file cp_mapfightequip.cpp.
References AII_AddAmmoToSlot(), AII_AddItemToSlot(), aircraftSlot_s::ammoLeft, cgi, aircraftSlot_s::delayNextShot, aircraftSlot_s::installationTime, name, RS_GetTechByProvided(), SAVE_SLOT_AMMOID, SAVE_SLOT_AMMOLEFT, SAVE_SLOT_DELAYNEXTSHOT, SAVE_SLOT_INSTALLATIONTIME, SAVE_SLOT_ITEMID, SAVE_SLOT_NEXTAMMOID, SAVE_SLOT_NEXTITEMID, and cgame_import_s::XML_GetString().
Referenced by AIR_LoadAircraftSlotsXML(), and B_LoadBaseSlotsXML().
void AII_ReloadAircraftWeapons | ( | aircraft_t * | aircraft | ) |
Reload the weapons of an aircraft.
[in,out] | aircraft | Pointer to the aircraft to reload |
Definition at line 630 of file cp_mapfightequip.cpp.
References AII_ReloadWeapon(), i, aircraft_s::maxWeapons, and aircraft_s::weapons.
Referenced by AIM_AircraftStart_f(), AIR_SendAircraftPursuingUFO(), AIR_SendAircraftToMission(), B_AircraftReturnedToHomeBase(), and UFO_AddToGeoscape().
bool AII_ReloadWeapon | ( | aircraftSlot_t * | slot | ) |
Reloads an aircraft/defence-system weapon.
[in,out] | slot | Pointer to the aircraftSlot where weapon is attached to |
Definition at line 567 of file cp_mapfightequip.cpp.
References AII_AutoAddAmmo(), AII_UpdateAircraftStats(), AIR_IsAircraftInBase(), AIR_IsUFO, aircraftSlot_s::aircraft, AIRCRAFT_RELOAD_DELAY_MULTIPLIER, aircraftSlot_s::ammo, objDef_s::ammo, aircraftSlot_s::ammoLeft, B_AddToStorage(), B_BaseHasItem(), aircraftSlot_s::base, BASE_RELOAD_DELAY_MULTIPLIER, cgi, objDef_s::craftitem, aircraftSlot_s::delayNextShot, ERR_DROP, aircraft_s::homebase, aircraftSlot_s::installation, INSTALLATION_RELOAD_DELAY_MULTIPLIER, aircraftSlot_s::item, UFO_RELOAD_DELAY_MULTIPLIER, and craftitem_s::weaponDelay.
Referenced by AII_AddAmmoToSlot(), AII_ReloadAircraftWeapons(), AIR_CampaignRun(), AIRFIGHT_AddProjectile(), and AIRFIGHT_CampaignRunBaseDefence().
void AII_RemoveItemFromSlot | ( | base_t * | base, |
aircraftSlot_t * | slot, | ||
bool | ammo | ||
) |
Remove the item from the slot (or optionally its ammo only) and put it the base storage.
[in] | base | The base to add the item to (may be nullptr if item shouldn't be removed from any base). |
[in] | slot | The slot to remove the item from. |
[in] | ammo | true if we want to remove only ammo. false if the whole item should be removed. |
Definition at line 482 of file cp_mapfightequip.cpp.
References AII_RemoveItemFromSlot(), aircraftSlot_s::ammo, objDef_s::ammo, aircraftSlot_s::ammoLeft, B_AddToStorage(), objDef_s::craftitem, aircraftSlot_s::installationTime, craftitem_s::installationTime, objDef_s::isVirtual, aircraftSlot_s::item, aircraftSlot_s::nextAmmo, and aircraftSlot_s::nextItem.
Referenced by AII_AddAmmoToSlot(), AII_RemoveItemFromSlot(), AII_UpdateOneInstallationDelay(), AIM_AircraftEquipAddItem_f(), AIM_AircraftEquipRemoveItem_f(), AIR_DeleteAircraft(), BDEF_AddItem_f(), and BDEF_RemoveItem_f().
void AII_RemoveNextItemFromSlot | ( | base_t * | base, |
aircraftSlot_t * | slot, | ||
bool | ammo | ||
) |
Cancel replacing item, move nextItem (or optionally its ammo only) back to the base storage.
[in] | base | The base to add the item to (may be nullptr if item shouldn't be removed from any base). |
[in] | slot | The slot to remove the item from. |
[in] | ammo | true if we want to remove only ammo. false if the whole item should be removed. |
Definition at line 535 of file cp_mapfightequip.cpp.
References AII_RemoveNextItemFromSlot(), B_AddToStorage(), objDef_s::isVirtual, aircraftSlot_s::nextAmmo, and aircraftSlot_s::nextItem.
Referenced by AII_AddAmmoToSlot(), AII_RemoveNextItemFromSlot(), AIM_AircraftEquipAddItem_f(), and AIM_AircraftEquipRemoveItem_f().
Repair aircraft.
< Number of damage points repaired per hour: 1% of aircraft max damage value
Definition at line 1035 of file cp_mapfightequip.cpp.
References AIR_ForeachFromBase, AIR_IsAircraftInBase(), AIR_STATS_DAMAGE, B_GetNext(), cgi, and DEBUG_CLIENT.
Referenced by CP_CampaignRun().
void AII_SaveOneSlotXML | ( | xmlNode_t * | p, |
const aircraftSlot_t * | slot, | ||
bool | weapon | ||
) |
Save callback for savegames in XML Format.
[out] | p | XML Node structure, where we write the information to |
[in] | slot | The aircraftslot to save |
[in] | weapon | True if this is a weapon slot |
Definition at line 1309 of file cp_mapfightequip.cpp.
References aircraftSlot_s::ammo, aircraftSlot_s::ammoLeft, cgi, aircraftSlot_s::delayNextShot, objDef_s::id, aircraftSlot_s::installationTime, aircraftSlot_s::item, aircraftSlot_s::nextAmmo, aircraftSlot_s::nextItem, SAVE_SLOT_AMMOID, SAVE_SLOT_AMMOLEFT, SAVE_SLOT_DELAYNEXTSHOT, SAVE_SLOT_INSTALLATIONTIME, SAVE_SLOT_ITEMID, SAVE_SLOT_NEXTAMMOID, and SAVE_SLOT_NEXTITEMID.
Referenced by AIR_SaveAircraftSlotsXML(), and B_SaveBaseSlotsXML().
void AII_UpdateAircraftStats | ( | aircraft_t * | aircraft | ) |
Update the value of stats array of an aircraft.
[in] | aircraft | Pointer to the aircraft |
Definition at line 1056 of file cp_mapfightequip.cpp.
References AII_CheckUpdateAircraftStats(), AIR_GetMaxAircraftWeaponRange(), AIR_HOME, AIR_REFUEL, AIR_STATS_DAMAGE, AIR_STATS_FUELSIZE, AIR_STATS_MAX, AIR_STATS_SPEED, AIR_STATS_WRANGE, objDef_s::craftitem, aircraft_s::damage, aircraft_s::electronics, EQUAL, aircraft_s::fuel, i, int(), aircraftSlot_s::item, aircraft_s::maxElectronics, aircraft_s::maxWeapons, aircraft_s::shield, aircraft_s::stats, craftitem_s::stats, aircraft_s::status, aircraft_s::tpl, and aircraft_s::weapons.
Referenced by AII_ReloadWeapon(), AII_UpdateOneInstallationDelay(), AIM_AircraftEquipAddItem_f(), AIM_AircraftEquipRemoveItem_f(), AIM_AutoEquipAircraft(), AIR_NewAircraft(), and UFO_AddToGeoscape().
Update the installation delay of all slots of a given aircraft.
Definition at line 392 of file cp_mapfightequip.cpp.
References AII_UpdateOneInstallationDelay(), AIR_Foreach, AIR_IsAircraftInBase(), B_GetNext(), base_s::batteries, INS_Foreach, base_s::lasers, base_s::numBatteries, base_s::numLasers, and baseWeapon_s::slot.
Referenced by CP_CampaignRun().
|
static |
Update the installation delay of one slot.
[in] | base | Pointer to the base to update the storage and capacity for |
[in] | installation | Pointer to the installation being installed. |
[in] | aircraft | Pointer to the aircraft (nullptr if a base is updated) |
[in] | slot | Pointer to the slot to update |
Definition at line 320 of file cp_mapfightequip.cpp.
References _, AII_RemoveItemFromSlot(), AII_UpdateAircraftStats(), Com_sprintf(), cp_messageBuffer, aircraft_s::homebase, aircraftSlot_s::installationTime, aircraftSlot_s::item, lengthof, MSO_CheckAddNewMessage(), installation_s::name, base_s::name, aircraft_s::name, objDef_s::name, NT_INSTALLATION_INSTALLED, NT_INSTALLATION_REMOVED, NT_INSTALLATION_REPLACE, and Sys_Error().
Referenced by AII_UpdateInstallationDelay().
|
static |
Check if base or installation weapon can shoot.
[in] | weapons | Pointer to the weapon array of the base. |
[in] | numWeapons | Pointer to the number of weapon in this base. |
Definition at line 1134 of file cp_mapfightequip.cpp.
References AIRFIGHT_CheckWeapon(), AIRFIGHT_WEAPON_CAN_NEVER_SHOOT, and i.
Referenced by AII_BaseCanShoot(), and AII_InstallationCanShoot().
const char* AII_WeightToName | ( | itemWeight_t | weight | ) |
Translate a weight int to a translated string.
Definition at line 1285 of file cp_mapfightequip.cpp.
References _, ITEM_HEAVY, ITEM_LIGHT, and ITEM_MEDIUM.
Referenced by AIM_AircraftEquipMenuUpdate(), and UP_AircraftItemDescription().
void AIM_AutoEquipAircraft | ( | aircraft_t * | aircraft | ) |
Auto Add weapon and ammo to an aircraft.
[in] | aircraft | Pointer to the aircraft |
Definition at line 784 of file cp_mapfightequip.cpp.
References AII_AddItemToSlot(), AII_AutoAddAmmo(), AII_GetItemWeightBySize(), AII_UpdateAircraftStats(), B_BaseHasItem(), cgi, ERR_DROP, aircraft_s::homebase, i, aircraftSlot_s::installationTime, INVSH_GetItemByID(), aircraftSlot_s::item, aircraft_s::maxWeapons, technology_s::provides, RS_GetTechByID(), aircraftSlot_s::size, and aircraft_s::weapons.
Referenced by B_SetUpFirstBase().
Checks to see if the pilot is in any aircraft at this base.
[in] | base | Which base has the aircraft to search for the employee in. |
[in] | pilot | Which employee to search for. |
Definition at line 166 of file cp_mapfightequip.cpp.
References AIR_ForeachFromBase, and AIR_GetPilot().
bool AIM_SelectableCraftItem | ( | const aircraftSlot_t * | slot, |
const technology_t * | tech | ||
) |
Check if an aircraft item should or should not be displayed in airequip menu.
[in] | slot | Pointer to an aircraft slot (can be base/installation too) |
[in] | tech | Pointer to the technology to test |
Definition at line 92 of file cp_mapfightequip.cpp.
References AC_ITEM_AMMO, AII_GetItemWeightBySize(), aircraftSlot_s::aircraft, objDef_s::ammos, B_BaseHasItem(), aircraftSlot_s::base, objDef_s::craftitem, aircraft_s::homebase, objDef_s::idx, craftitem_s::installationTime, INVSH_GetItemByID(), aircraftSlot_s::item, aircraftSlot_s::nextItem, objDef_s::numAmmos, technology_s::provides, RS_IsResearched_ptr(), aircraftSlot_s::size, aircraftSlot_s::type, craftitem_s::type, and objDef_s::weapons.
Referenced by AII_AutoAddAmmo(), AIM_UpdateAircraftItemList(), BDEF_AddItem_f(), BDEF_SelectItem_f(), and BDEF_UpdateAircraftItemList().
float AIR_GetMaxAircraftWeaponRange | ( | const aircraftSlot_t * | slot, |
int | maxSlot | ||
) |
Get the maximum weapon range of aircraft.
[in] | slot | Pointer to the aircrafts weapon slot list. |
[in] | maxSlot | maximum number of weapon slots in aircraft. |
Definition at line 1004 of file cp_mapfightequip.cpp.
References AII_CheckUpdateAircraftStats(), AIR_STATS_WRANGE, aircraftSlot_s::ammo, objDef_s::craftitem, i, radar_s::range, and craftitem_s::stats.
Referenced by AII_UpdateAircraftStats().
void BDEF_AddBattery | ( | basedefenceType_t | basedefType, |
base_t * | base | ||
) |
Adds a defence system to base.
[in] | basedefType | Base defence type (see basedefenceType_t) |
[in] | base | Pointer to the base in which the battery will be added |
Definition at line 186 of file cp_mapfightequip.cpp.
References AMMO_STATUS_NOT_SET, aircraftSlot_s::ammoLeft, baseWeapon_s::autofire, BASEDEF_LASER, BASEDEF_MISSILE, base_s::batteries, cgi, base_s::lasers, MAX_BASE_SLOT, base_s::numBatteries, base_s::numLasers, and baseWeapon_s::slot.
Referenced by BDEF_AddBattery_f().
Chooses target for all base defences and sam sites.
Definition at line 1266 of file cp_mapfightequip.cpp.
References B_GetNext(), base_s::batteries, BDEF_AutoTarget(), INS_Foreach, base_s::lasers, base_s::numBatteries, and base_s::numLasers.
Referenced by CP_CampaignRun().
|
static |
Chooses a target for surface to air defences automatically.
[in,out] | weapons | Weapons array |
[in] | maxWeapons | Number of weapons |
Definition at line 1191 of file cp_mapfightequip.cpp.
References AIR_STATS_WRANGE, AIRFIGHT_CheckWeapon(), AIRFIGHT_WEAPON_CAN_NEVER_SHOOT, AIRFIGHT_WEAPON_CAN_NOT_SHOOT_AT_THE_MOMENT, aircraftSlot_s::ammo, aircraftSlot_s::ammoLeft, baseWeapon_s::autofire, aircraftSlot_s::base, mission_s::missionData_t::base, mission_s::category, cgi, mission_s::data, ERR_DROP, GetDistanceOnGlobe(), i, aircraftSlot_s::installation, mission_s::missionData_t::installation, aircraftSlot_s::installationTime, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_INTERCEPT, aircraftSlot_s::item, aircraft_s::mission, installation_s::pos, base_s::pos, aircraft_s::pos, baseWeapon_s::slot, baseWeapon_s::target, and UFO_GetNextOnGeoscape().
Referenced by BDEF_AutoSelectTarget().
aircraftSlot_t* BDEF_GetBaseSlotByIDX | ( | base_t * | base, |
aircraftItemType_t | type, | ||
int | idx | ||
) |
returns the aircraftSlot of a base at an index or the first free slot
[in] | base | Pointer to base |
[in] | type | defence type, see aircraftItemType_t |
[in] | idx | index of aircraftslot |
Definition at line 900 of file cp_mapfightequip.cpp.
References AC_ITEM_BASE_LASER, AC_ITEM_BASE_MISSILE, base_s::batteries, i, aircraftSlot_s::item, base_s::lasers, aircraftSlot_s::nextItem, base_s::numBatteries, base_s::numLasers, and baseWeapon_s::slot.
Referenced by BDEF_AddItem_f(), BDEF_RemoveItem_f(), and BDEF_SelectItem_f().
aircraftSlot_t* BDEF_GetInstallationSlotByIDX | ( | installation_t * | installation, |
aircraftItemType_t | type, | ||
int | idx | ||
) |
returns the aircraftSlot of an installaion at an index or the first free slot
[in] | installation | Pointer to the installation |
[in] | type | defence type, see aircraftItemType_t |
[in] | idx | index of aircraftslot |
Definition at line 938 of file cp_mapfightequip.cpp.
References AC_ITEM_BASE_MISSILE, installation_s::batteries, i, aircraftSlot_s::item, aircraftSlot_s::nextItem, installation_s::numBatteries, and baseWeapon_s::slot.
Referenced by BDEF_AddItem_f(), BDEF_RemoveItem_f(), and BDEF_SelectItem_f().
Initialise all values of base slot defence.
[in] | base | Pointer to the base which needs initalisation of its slots. |
Definition at line 283 of file cp_mapfightequip.cpp.
References AC_ITEM_BASE_LASER, AC_ITEM_BASE_MISSILE, AII_InitialiseSlot(), baseWeapon_s::autofire, base_s::batteries, i, base_s::lasers, MAX_BASE_SLOT, baseWeapon_s::slot, and baseWeapon_s::target.
Referenced by B_Build(), and B_LoadXML().
void BDEF_InitialiseInstallationSlots | ( | installation_t * | installation | ) |
Initialise all values of installation slot defence.
[in] | installation | Pointer to the installation which needs initialisation of its slots. |
Definition at line 301 of file cp_mapfightequip.cpp.
References AC_ITEM_BASE_MISSILE, AII_InitialiseSlot(), baseWeapon_s::autofire, installation_s::batteries, i, installation_s::installationTemplate, installationTemplate_s::maxBatteries, baseWeapon_s::slot, and baseWeapon_s::target.
Referenced by INS_FinishInstallation(), and INS_LoadXML().
void BDEF_RemoveBattery | ( | base_t * | base, |
basedefenceType_t | basedefType, | ||
int | idx | ||
) |
Remove a base defence sytem from base.
[in] | base | The base that is affected |
[in] | basedefType | (see basedefenceType_t) |
[in] | idx | index of the battery to destroy |
Definition at line 230 of file cp_mapfightequip.cpp.
References AC_ITEM_BASE_LASER, AC_ITEM_BASE_MISSILE, AII_InitialiseSlot(), BASEDEF_LASER, BASEDEF_MISSILE, base_s::batteries, cgi, i, aircraftSlot_s::item, base_s::lasers, base_s::numBatteries, base_s::numLasers, REMOVE_ELEM, and baseWeapon_s::slot.
Referenced by BDEF_RemoveBattery_f().