UFO: Alien Invasion
Loading...
Searching...
No Matches
chr_shared.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  chrTemplate_t
struct  chrScoreMission_t
 Structure of all stats collected in a mission. More...
struct  chrScoreGlobal_t
 Structure of all stats collected for an actor over time. More...
class  FiremodeSettings
struct  chrReservations_t
 How many TUs (and of what type) did a player reserve for a unit? More...
struct  ugv_t
 Defines a type of UGV/Robot. More...
class  BodyPartData
class  BodyData
struct  teamNames_t
struct  teamDef_t
struct  teamDef_t::model_t
struct  woundInfo_t
 Info on a wound. More...
struct  implant_t
struct  character_t
 Describes a character with all its attributes. More...

Macros

#define ABILITY_NUM_TYPES   SKILL_CLOSE
#define MAX_UGV   8
#define MAX_TEAMDEFS   64
#define MAX_CHARACTER_TEMPLATES   24
#define MAX_TEMPLATES_PER_TEAM   16
#define BODYPART_MAXTYPE   4
#define MAX_CHARACTER_IMPLANTS   4

Enumerations

enum  killtypes_t { KILLED_ENEMIES , KILLED_CIVILIANS , KILLED_TEAM , KILLED_NUM_TYPES }
enum  abilityskills_t {
  ABILITY_POWER , ABILITY_SPEED , ABILITY_ACCURACY , ABILITY_MIND ,
  SKILL_CLOSE , SKILL_HEAVY , SKILL_ASSAULT , SKILL_SNIPER ,
  SKILL_EXPLOSIVE , SKILL_PILOTING , SKILL_TARGETING , SKILL_EVADING ,
  SKILL_NUM_TYPES
}
enum  reservation_types_t {
  RES_REACTION , RES_CROUCH , RES_SHOT , RES_ALL ,
  RES_ALL_ACTIVE , RES_TYPES
}
enum  actorSound_t { SND_DEATH , SND_HURT , SND_MAX }
 Types of actor sounds being issued by CL_ActorPlaySound(). More...
enum  nametypes_t {
  NAME_NEUTRAL , NAME_FEMALE , NAME_MALE , NAME_LAST ,
  NAME_FEMALE_LAST , NAME_MALE_LAST , NAME_NUM_TYPES
}
enum  modifier_types_t {
  MODIFIER_ACCURACY , MODIFIER_SHOOTING , MODIFIER_MOVEMENT , MODIFIER_SIGHT ,
  MODIFIER_REACTION , MODIFIER_TU , MODIFIER_MAX
}

Functions

const chrTemplate_tCHRSH_GetTemplateByID (const teamDef_t *teamDef, const char *templateId)
void CHRSH_CharGenAbilitySkills (character_t *chr, bool multiplayer, const char *templateId="") __attribute__((nonnull))
 Generates a skill and ability set for any character.
const char * CHRSH_CharGetBody (const character_t *const chr) __attribute__((nonnull))
 Returns the body model for the soldiers for armoured and non armoured soldiers.
const char * CHRSH_CharGetHead (const character_t *const chr) __attribute__((nonnull))
 Returns the head model for the soldiers for armoured and non armoured soldiers.
bool CHRSH_IsTeamDefAlien (const teamDef_t *const td) __attribute__((nonnull))
 Check if a team definition is alien.
bool CHRSH_IsTeamDefRobot (const teamDef_t *const td) __attribute__((nonnull))
 Check if a team definition is a robot.
bool CHRSH_IsArmourUseableForTeam (const objDef_t *od, const teamDef_t *teamDef)
const implant_tCHRSH_ApplyImplant (character_t &chr, const implantDef_t &implant)
 Add a new implant to a character.
void CHRSH_UpdateImplants (character_t &chr)
 Updates the characters permanent implants. Called every day.

Macro Definition Documentation

◆ ABILITY_NUM_TYPES

#define ABILITY_NUM_TYPES   SKILL_CLOSE

◆ BODYPART_MAXTYPE

#define BODYPART_MAXTYPE   4

Definition at line 266 of file chr_shared.h.

Referenced by AI_SetStats(), CHAR_ParseData(), Com_ParseBodyPart(), and G_SendCharacterData().

◆ MAX_CHARACTER_IMPLANTS

#define MAX_CHARACTER_IMPLANTS   4

Definition at line 371 of file chr_shared.h.

◆ MAX_CHARACTER_TEMPLATES

#define MAX_CHARACTER_TEMPLATES   24

Definition at line 229 of file chr_shared.h.

Referenced by Com_ParseCharacterTemplate().

◆ MAX_TEAMDEFS

#define MAX_TEAMDEFS   64

Definition at line 228 of file chr_shared.h.

Referenced by Com_ParseTeam(), and G_ClientReadCharacter().

◆ MAX_TEMPLATES_PER_TEAM

#define MAX_TEMPLATES_PER_TEAM   16

Definition at line 230 of file chr_shared.h.

◆ MAX_UGV

#define MAX_UGV   8

Definition at line 227 of file chr_shared.h.

Referenced by Com_ParseUGVs().

Enumeration Type Documentation

◆ abilityskills_t

Note
Changing order/entries also changes network-transmission and savegames!
Enumerator
ABILITY_POWER 
ABILITY_SPEED 
ABILITY_ACCURACY 
ABILITY_MIND 
SKILL_CLOSE 
SKILL_HEAVY 
SKILL_ASSAULT 
SKILL_SNIPER 
SKILL_EXPLOSIVE 
SKILL_PILOTING 
SKILL_TARGETING 
SKILL_EVADING 
SKILL_NUM_TYPES 

Definition at line 36 of file chr_shared.h.

◆ actorSound_t

Types of actor sounds being issued by CL_ActorPlaySound().

Enumerator
SND_DEATH 

Sound being played on actor death.

SND_HURT 

Sound being played when an actor is being hit.

SND_MAX 

Definition at line 218 of file chr_shared.h.

◆ killtypes_t

Enumerator
KILLED_ENEMIES 

Killed enemies

KILLED_CIVILIANS 

Civilians, animals

KILLED_TEAM 

Friendly fire, own team, partner-teams.

KILLED_NUM_TYPES 

Definition at line 27 of file chr_shared.h.

◆ modifier_types_t

Enumerator
MODIFIER_ACCURACY 

Modifier to accuracy

MODIFIER_SHOOTING 

Modifier to shooting

MODIFIER_MOVEMENT 

Modifier to movement

MODIFIER_SIGHT 

Modifier to LoS range

MODIFIER_REACTION 

Modifier to reactions

MODIFIER_TU 

Modifier to TUs

MODIFIER_MAX 

Definition at line 255 of file chr_shared.h.

◆ nametypes_t

Enumerator
NAME_NEUTRAL 
NAME_FEMALE 
NAME_MALE 
NAME_LAST 
NAME_FEMALE_LAST 
NAME_MALE_LAST 
NAME_NUM_TYPES 

Definition at line 232 of file chr_shared.h.

◆ reservation_types_t

Enumerator
RES_REACTION 
RES_CROUCH 
RES_SHOT 
RES_ALL 
RES_ALL_ACTIVE 
RES_TYPES 

Max.

Definition at line 208 of file chr_shared.h.

Function Documentation

◆ CHRSH_ApplyImplant()

◆ CHRSH_CharGenAbilitySkills()

void CHRSH_CharGenAbilitySkills ( character_t * chr,
bool multiplayer,
const char * templateId )

Generates a skill and ability set for any character.

Parameters
[in]chrPointer to the character, for which we generate stats.
[in]multiplayerIf this is true we use the skill values from soldier_mp
[in]templateIdSpecifies the template to be used for non-MP
Note
mulitplayer is a special case here
Todo
Add modifiers for difficulty setting here!

Definition at line 221 of file chr_shared.cpp.

References ABILITY_MIND, teamDef_t::characterTemplates, CHRSH_GetTemplateByID(), chrScoreGlobal_t::experience, frand(), GET_MORALE, character_t::HP, i, chrTemplate_t::id, teamDef_t::id, chrScoreGlobal_t::initialSkills, int(), MAX_SKILL, character_t::maxHP, character_t::morale, teamDef_t::numTemplates, Q_strnull(), chrTemplate_t::rate, character_t::score, SKILL_NUM_TYPES, chrScoreGlobal_t::skills, chrTemplate_t::skills, Sys_Error(), teamDef_t::team, TEAM_PHALANX, and character_t::teamDef.

Referenced by AI_SetStats(), and CL_GenerateCharacter().

◆ CHRSH_CharGetBody()

const char * CHRSH_CharGetBody ( const character_t *const chr)

Returns the body model for the soldiers for armoured and non armoured soldiers.

Parameters
[in]chrPointer to character struct
See also
CHRSH_CharGetBody
Returns
the character body model (from a static buffer)

Definition at line 297 of file chr_shared.cpp.

References objDef_t::armourPath, character_t::body, CHRSH_IsTeamDefRobot(), Com_sprintf(), Item::def(), Inventory::getArmour(), character_t::inv, objDef_t::isArmour(), MAX_VAR, character_t::path, Sys_Error(), and character_t::teamDef.

Referenced by AI_InitPlayer(), CL_CharacterSkillAndScoreCvars(), CP_UpdateActorAircraftVar(), G_ClientAssignDefaultActorValues(), and GAME_LoadCharacter().

◆ CHRSH_CharGetHead()

const char * CHRSH_CharGetHead ( const character_t *const chr)

◆ CHRSH_GetTemplateByID()

const chrTemplate_t * CHRSH_GetTemplateByID ( const teamDef_t * teamDef,
const char * templateId )

◆ CHRSH_IsArmourUseableForTeam()

bool CHRSH_IsArmourUseableForTeam ( const objDef_t * od,
const teamDef_t * teamDef )

Definition at line 88 of file chr_shared.cpp.

References teamDef_t::armour, objDef_t::isArmour(), teamDef_t::team, and objDef_t::useable.

Referenced by GAME_ItemIsUseable(), and TEST_F().

◆ CHRSH_IsTeamDefAlien()

bool CHRSH_IsTeamDefAlien ( const teamDef_t *const td)

Check if a team definition is alien.

Parameters
[in]tdPointer to the team definition to check.

Definition at line 83 of file chr_shared.cpp.

References teamDef_t::team, and TEAM_ALIEN.

Referenced by AI_SetStats(), CP_ParseCampaignData(), G_TreatActor(), GAME_CP_TeamIsKnown(), GAME_SK_SetMissionParameters(), and AlienContainment::isLifeSupported().

◆ CHRSH_IsTeamDefRobot()

bool CHRSH_IsTeamDefRobot ( const teamDef_t *const td)

Check if a team definition is a robot.

Parameters
[in]tdPointer to the team definition to check.

Definition at line 103 of file chr_shared.cpp.

References teamDef_t::robot.

Referenced by AI_FindBestFiredef(), AI_SetStats(), CHRSH_CharGetBody(), G_ActorSetMaxs(), G_BleedWounds(), G_Damage(), G_MoraleBehaviour(), HOS_EntryWoundData(), HUD_ActorWoundData_f(), and AlienContainment::isLifeSupported().

◆ CHRSH_UpdateImplants()