mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
simplified a few lines concerning traits
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5569 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1869,10 +1869,9 @@ void DisplayCharStats(INT32 iId, INT32 iSlot)
|
||||
|
||||
// Assign the text
|
||||
UINT8 traitnr = ubTempSkillArray[ubCnt];
|
||||
UINT8 mlas = NEWTRAIT_MERCSKILL_EXPERTOFFSET;
|
||||
if ( traitnr > mlas )
|
||||
if ( traitnr > NEWTRAIT_MERCSKILL_EXPERTOFFSET )
|
||||
{
|
||||
traitnr = traitnr - mlas;
|
||||
traitnr = traitnr - (NEWTRAIT_MERCSKILL_EXPERTOFFSET);
|
||||
}
|
||||
|
||||
// Flugente: as the whole trait display is fubar, we have to to a special treatment here for new traits
|
||||
|
||||
@@ -17208,13 +17208,13 @@ BOOLEAN HAS_SKILL_TRAIT( SOLDIERTYPE * pSoldier, UINT8 uiSkillTraitNumber )
|
||||
{
|
||||
for ( INT8 bCnt = 0; bCnt < min(30,bMaxTraits); bCnt++ )
|
||||
{
|
||||
if ( uiSkillTraitNumber > 0 && (uiSkillTraitNumber <= NUM_MAJOR_TRAITS || uiSkillTraitNumber == COVERT_NT) )
|
||||
if ( TwoStagedTrait( uiSkillTraitNumber ) )
|
||||
{
|
||||
if (pSoldier->stats.ubSkillTraits[ bCnt ] == uiSkillTraitNumber)
|
||||
{
|
||||
return( TRUE );
|
||||
}
|
||||
else if ( pSoldier->stats.ubSkillTraits[ bCnt ] > 0 && (pSoldier->stats.ubSkillTraits[ bCnt ] <= NUM_MAJOR_TRAITS || pSoldier->stats.ubSkillTraits[ bCnt ] == COVERT_NT) )
|
||||
else if ( TwoStagedTrait(pSoldier->stats.ubSkillTraits[ bCnt ]) )
|
||||
{
|
||||
bNumMajorTraitsCounted++;
|
||||
}
|
||||
@@ -17264,14 +17264,14 @@ INT8 NUM_SKILL_TRAITS( SOLDIERTYPE * pSoldier, UINT8 uiSkillTraitNumber )
|
||||
{
|
||||
for ( INT8 bCnt = 0; bCnt < min(30,bMaxTraits); bCnt++ )
|
||||
{
|
||||
if ( uiSkillTraitNumber > 0 && (uiSkillTraitNumber <= NUM_MAJOR_TRAITS || uiSkillTraitNumber == COVERT_NT) )
|
||||
if ( TwoStagedTrait( uiSkillTraitNumber ) )
|
||||
{
|
||||
if ( pSoldier->stats.ubSkillTraits[ bCnt ] == uiSkillTraitNumber )
|
||||
{
|
||||
bNumberOfTraits++;
|
||||
bNumMajorTraitsCounted++;
|
||||
}
|
||||
else if ( pSoldier->stats.ubSkillTraits[ bCnt ] > 0 && (pSoldier->stats.ubSkillTraits[ bCnt ] <= NUM_MAJOR_TRAITS || pSoldier->stats.ubSkillTraits[ bCnt ] == COVERT_NT ) )
|
||||
else if ( TwoStagedTrait( pSoldier->stats.ubSkillTraits[ bCnt ] ) )
|
||||
{
|
||||
bNumMajorTraitsCounted++;
|
||||
}
|
||||
@@ -17290,7 +17290,7 @@ INT8 NUM_SKILL_TRAITS( SOLDIERTYPE * pSoldier, UINT8 uiSkillTraitNumber )
|
||||
}
|
||||
}
|
||||
// cannot have more than one same minor trait
|
||||
if( uiSkillTraitNumber > NUM_MAJOR_TRAITS && uiSkillTraitNumber != COVERT_NT)
|
||||
if( !TwoStagedTrait(uiSkillTraitNumber) )
|
||||
return ( min(1, bNumberOfTraits) );
|
||||
else
|
||||
return ( min(2, bNumberOfTraits) );
|
||||
@@ -17980,3 +17980,8 @@ BOOLEAN DecideAltAnimForBigMerc( SOLDIERTYPE * pSoldier )
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOLEAN TwoStagedTrait( UINT8 uiSkillTraitNumber )
|
||||
{
|
||||
return( uiSkillTraitNumber > 0 && (uiSkillTraitNumber <= NUM_MAJOR_TRAITS || uiSkillTraitNumber == COVERT_NT) );
|
||||
}
|
||||
@@ -1620,6 +1620,8 @@ BOOLEAN ResolvePendingInterrupt( SOLDIERTYPE * pSoldier, UINT8 ubInterruptType )
|
||||
BOOLEAN AIDecideHipOrShoulderStance( SOLDIERTYPE * pSoldier, INT32 iGridNo );
|
||||
BOOLEAN DecideAltAnimForBigMerc( SOLDIERTYPE * pSoldier );
|
||||
|
||||
BOOLEAN TwoStagedTrait( UINT8 uiSkillTraitNumber ); // Flugente: determine if this (new) trait has two stages
|
||||
|
||||
//typedef struct
|
||||
class OLDSOLDIERTYPE_101
|
||||
{
|
||||
|
||||
@@ -2660,14 +2660,14 @@ INT8 ProfileHasSkillTrait( INT32 ubProfileID, INT8 bSkillTrait )
|
||||
{
|
||||
for ( INT8 bCnt = 0; bCnt < gSkillTraitValues.ubMaxNumberOfTraits; bCnt++ )
|
||||
{
|
||||
if ( bSkillTrait > 0 && (bSkillTrait <= DOCTOR_NT || bSkillTrait == COVERT_NT ) )
|
||||
if ( TwoStagedTrait(bSkillTrait) )
|
||||
{
|
||||
if ( gMercProfiles[ubProfileID].bSkillTraits[ bCnt ] == bSkillTrait )
|
||||
{
|
||||
bNumTraits++;
|
||||
bNumMajorTraitsCounted++;
|
||||
}
|
||||
else if ( gMercProfiles[ubProfileID].bSkillTraits[ bCnt ] > 0 && (gMercProfiles[ubProfileID].bSkillTraits[ bCnt ] <= DOCTOR_NT || gMercProfiles[ubProfileID].bSkillTraits[ bCnt ] <= COVERT_NT) )
|
||||
else if ( TwoStagedTrait(gMercProfiles[ubProfileID].bSkillTraits[ bCnt ]) )
|
||||
{
|
||||
bNumMajorTraitsCounted++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user