cp_aliencont.h
Go to the documentation of this file.00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef CLIENT_CL_ALIENCONT_H
00027 #define CLIENT_CL_ALIENCONT_H
00028
00029 #define MAX_ALIENCONT_CAP 32
00030
00032 #define BREATHINGAPPARATUS_TECH "rs_alien_breathing"
00033
00035 typedef enum {
00036 AL_RESEARCH,
00037 AL_KILL,
00038 AL_KILLONE,
00039 AL_ADDALIVE,
00040 AL_ADDDEAD
00041 } alienCalcType_t;
00042
00044 typedef struct aliensCont_s {
00045 const teamDef_t* teamDef;
00046 int amountAlive;
00047 int amountDead;
00048 technology_t *tech;
00049 } aliensCont_t;
00050
00055 void AL_FillInContainment(struct base_s *base);
00056 const char *AL_AlienTypeToName(int teamDescIdx);
00057 void AL_CollectingAliens(struct aircraft_s *aircraft);
00058 void AL_AddAliens(struct aircraft_s *aircraft);
00059 void AL_RemoveAliens(struct base_s *base, const teamDef_t *alienType, int amount, const alienCalcType_t action);
00060 int AL_GetAlienGlobalIDX(int idx);
00061 int AL_GetAlienAmount(const teamDef_t *alienType, requirementType_t reqtype, const struct base_s *base);
00062 void AL_ChangeAliveAlienNumber(struct base_s *base, aliensCont_t *containment, int num);
00063 qboolean AL_CheckAliveFreeSpace(const struct base_s *base, const aliensCont_t *containment, const int num);
00064 int AL_CountInBase(const struct base_s *base);
00065 #define AL_GetAircraftAlienCargo(a) (a)->alienCargo
00066 #define AL_GetAircraftAlienCargoTypes(a) ((a)->alienCargoTypes)
00067 #define AL_SetAircraftAlienCargoTypes(a, i) (a)->alienCargoTypes = (i)
00068 qboolean AL_AddAlienTypeToAircraftCargo(struct aircraft_s *aircraft, const teamDef_t *teamDef, int amount, qboolean dead);
00069
00073 int AL_CountAll(void);
00074 void AC_InitStartup(void);
00075 void AC_KillAll(struct base_s *base);
00076
00077 #endif