mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
new feature: soldier profiles allows defining individual names/bodytypes/hair/skin/traits of soldiers and militia. The game will choose randomly from this pool.
WARNING: GameDir revision >= 1672 is required. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6071 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1020,6 +1020,7 @@ SOLDIERTYPE& SOLDIERTYPE::operator=(const OLDSOLDIERTYPE_101& src)
|
||||
this->usStarveDamageHealth = 0;
|
||||
this->usStarveDamageStrength = 0;
|
||||
this->bAIIndex = 0;
|
||||
this->usSoldierProfile = 0;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
@@ -16074,6 +16075,13 @@ STR16 SOLDIERTYPE::GetName()
|
||||
tmpname[tmpuser][0] = '\0' ;
|
||||
wcscat( tmpname[tmpuser], this->name );
|
||||
|
||||
if ( this->usSoldierProfile )
|
||||
{
|
||||
INT8 type = this->GetSoldierProfileType(this->bTeam);
|
||||
if ( type > -1 )
|
||||
wcscpy( tmpname[tmpuser], zSoldierProfile[type][this->usSoldierProfile].szName );
|
||||
}
|
||||
|
||||
return tmpname[tmpuser];
|
||||
}
|
||||
|
||||
@@ -16414,6 +16422,46 @@ UINT8 SOLDIERTYPE::GetBestEquippedFlashLightRange()
|
||||
return( bestrange );
|
||||
}
|
||||
|
||||
// Flugente: soldier profiles
|
||||
// retrieves the correct sub-array
|
||||
INT8 SOLDIERTYPE::GetSoldierProfileType(UINT8 usTeam)
|
||||
{
|
||||
INT8 type = -1;
|
||||
|
||||
if ( usTeam == ENEMY_TEAM && gGameExternalOptions.fSoldierProfiles_Enemy )
|
||||
{
|
||||
switch( this->ubSoldierClass )
|
||||
{
|
||||
case SOLDIER_CLASS_ELITE :
|
||||
type = 2;
|
||||
break;
|
||||
case SOLDIER_CLASS_ARMY :
|
||||
type = 1;
|
||||
break;
|
||||
case SOLDIER_CLASS_ADMINISTRATOR :
|
||||
type = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ( usTeam == ENEMY_TEAM && gGameExternalOptions.fSoldierProfiles_Enemy )
|
||||
{
|
||||
switch( this->ubSoldierClass )
|
||||
{
|
||||
case SOLDIER_CLASS_ELITE_MILITIA :
|
||||
type = 5;
|
||||
break;
|
||||
case SOLDIER_CLASS_REG_MILITIA :
|
||||
type = 4;
|
||||
break;
|
||||
case SOLDIER_CLASS_GREEN_MILITIA :
|
||||
type = 3;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return type;
|
||||
}
|
||||
|
||||
INT32 CheckBleeding( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
INT8 bBandaged; //,savedOurTurn;
|
||||
|
||||
Reference in New Issue
Block a user