UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
cp_character.h File Reference

Header file for character (soldier, alien) related campaign functions. More...

Go to the source code of this file.

Functions

int CHAR_GetMaxExperiencePerMission (const abilityskills_t skill)
 Determines the maximum amount of XP per skill that can be gained from any one mission. More...
 
void CHAR_UpdateSkills (struct character_s *chr)
 Updates the character skills after a mission. More...
 
void CHAR_UpdateData (linkedList_t *updateCharacters)
 Transforms the battlescape values to the character. More...
 
void CHAR_UpdateStats (const struct base_s *base, const struct aircraft_s *aircraft)
 
void CHAR_ParseData (dbuffer *msg, linkedList_t **updateCharacters)
 Parses the character data which was send by G_MatchSendResults using G_SendCharacterData. More...
 
void CHAR_InitStartup (void)
 Campaign initialization actions for the character module. More...
 
void CHAR_Shutdown (void)
 Campaign closing actions for the character module. More...
 

Detailed Description

Header file for character (soldier, alien) related campaign functions.

Definition in file cp_character.h.

Function Documentation

int CHAR_GetMaxExperiencePerMission ( const abilityskills_t  skill)

Determines the maximum amount of XP per skill that can be gained from any one mission.

Parameters
[in]skillThe skill for which to fetch the maximum amount of XP.
See also
G_UpdateCharacterExperience
G_GetEarnedExperience
Note
Explanation of the values here: There is a maximum speed at which skills may rise over the course of the predicted career length of a veteran soldier. Because the increase is given as experience^0.6, that means that the maximum XP cap x per mission is given as log predictedStatGrowth / log x = 0.6 log x = log predictedStatGrowth / 0.6 x = 10 ^ (log predictedStatGrowth / 0.6)

Definition at line 51 of file cp_character.cpp.

References ABILITY_ACCURACY, ABILITY_MIND, ABILITY_POWER, ABILITY_SPEED, cgi, ERR_DROP, SKILL_ASSAULT, SKILL_CLOSE, SKILL_EVADING, SKILL_EXPLOSIVE, SKILL_HEAVY, SKILL_NUM_TYPES, SKILL_PILOTING, SKILL_SNIPER, and SKILL_TARGETING.

Referenced by AM_UpdateSurivorsAfterBattle(), and CHAR_UpdateData().

void CHAR_InitStartup ( void  )

Campaign initialization actions for the character module.

Definition at line 285 of file cp_character.cpp.

References cgi.

Referenced by CP_InitStartup().

void CHAR_ParseData ( dbuffer msg,
linkedList_t **  updateCharacters 
)

Parses the character data which was send by G_MatchSendResults using G_SendCharacterData.

Parameters
[in]msgThe network buffer message. If this is nullptr the character is updated, if this is not nullptr the data is stored in a temp buffer because the player can choose to retry the mission and we have to catch this situation to not update the character data in this case.
updateCharactersA LinkedList where to store the character data. One listitem per character.
See also
G_SendCharacterData
GAME_SendCurrentTeamSpawningInfo
E_Save

Definition at line 147 of file cp_character.cpp.

References chrScoreGlobal_s::assignedMissions, BODYPART_MAXTYPE, cgi, updateCharacter_t::chrscore, ERR_DROP, chrScoreGlobal_s::experience, updateCharacter_t::HP, i, KILLED_NUM_TYPES, chrScoreGlobal_s::kills, LIST_Add(), updateCharacter_t::morale, OBJZERO, SKILL_NUM_TYPES, updateCharacter_t::STUN, chrScoreGlobal_s::stuns, woundInfo_s::treatmentLevel, updateCharacter_t::ucn, and updateCharacter_t::wounds.

Referenced by GAME_CP_Results().

void CHAR_Shutdown ( void  )

Campaign closing actions for the character module.

Definition at line 295 of file cp_character.cpp.

References cgi.

Referenced by CP_Shutdown().

void CHAR_UpdateSkills ( character_t chr)

Updates the character skills after a mission.

Parameters
[in,out]chrPointer to the character that should get the skills updated.

Definition at line 88 of file cp_character.cpp.

References chrScoreGlobal_s::experience, i, chrScoreGlobal_s::initialSkills, MAX_MAXHP, MAX_SKILL, character_s::maxHP, character_s::score, SKILL_NUM_TYPES, and chrScoreGlobal_s::skills.

Referenced by AM_UpdateSurivorsAfterBattle(), and CHAR_UpdateData().

void CHAR_UpdateStats ( const struct base_s base,
const struct aircraft_s aircraft 
)