mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +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
|
// Assign the text
|
||||||
UINT8 traitnr = ubTempSkillArray[ubCnt];
|
UINT8 traitnr = ubTempSkillArray[ubCnt];
|
||||||
UINT8 mlas = NEWTRAIT_MERCSKILL_EXPERTOFFSET;
|
if ( traitnr > NEWTRAIT_MERCSKILL_EXPERTOFFSET )
|
||||||
if ( traitnr > mlas )
|
|
||||||
{
|
{
|
||||||
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
|
// 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++ )
|
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)
|
if (pSoldier->stats.ubSkillTraits[ bCnt ] == uiSkillTraitNumber)
|
||||||
{
|
{
|
||||||
return( TRUE );
|
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++;
|
bNumMajorTraitsCounted++;
|
||||||
}
|
}
|
||||||
@@ -17264,14 +17264,14 @@ INT8 NUM_SKILL_TRAITS( SOLDIERTYPE * pSoldier, UINT8 uiSkillTraitNumber )
|
|||||||
{
|
{
|
||||||
for ( INT8 bCnt = 0; bCnt < min(30,bMaxTraits); bCnt++ )
|
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 )
|
if ( pSoldier->stats.ubSkillTraits[ bCnt ] == uiSkillTraitNumber )
|
||||||
{
|
{
|
||||||
bNumberOfTraits++;
|
bNumberOfTraits++;
|
||||||
bNumMajorTraitsCounted++;
|
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++;
|
bNumMajorTraitsCounted++;
|
||||||
}
|
}
|
||||||
@@ -17290,7 +17290,7 @@ INT8 NUM_SKILL_TRAITS( SOLDIERTYPE * pSoldier, UINT8 uiSkillTraitNumber )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// cannot have more than one same minor trait
|
// cannot have more than one same minor trait
|
||||||
if( uiSkillTraitNumber > NUM_MAJOR_TRAITS && uiSkillTraitNumber != COVERT_NT)
|
if( !TwoStagedTrait(uiSkillTraitNumber) )
|
||||||
return ( min(1, bNumberOfTraits) );
|
return ( min(1, bNumberOfTraits) );
|
||||||
else
|
else
|
||||||
return ( min(2, bNumberOfTraits) );
|
return ( min(2, bNumberOfTraits) );
|
||||||
@@ -17980,3 +17980,8 @@ BOOLEAN DecideAltAnimForBigMerc( SOLDIERTYPE * pSoldier )
|
|||||||
|
|
||||||
return FALSE;
|
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 AIDecideHipOrShoulderStance( SOLDIERTYPE * pSoldier, INT32 iGridNo );
|
||||||
BOOLEAN DecideAltAnimForBigMerc( SOLDIERTYPE * pSoldier );
|
BOOLEAN DecideAltAnimForBigMerc( SOLDIERTYPE * pSoldier );
|
||||||
|
|
||||||
|
BOOLEAN TwoStagedTrait( UINT8 uiSkillTraitNumber ); // Flugente: determine if this (new) trait has two stages
|
||||||
|
|
||||||
//typedef struct
|
//typedef struct
|
||||||
class OLDSOLDIERTYPE_101
|
class OLDSOLDIERTYPE_101
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2660,14 +2660,14 @@ INT8 ProfileHasSkillTrait( INT32 ubProfileID, INT8 bSkillTrait )
|
|||||||
{
|
{
|
||||||
for ( INT8 bCnt = 0; bCnt < gSkillTraitValues.ubMaxNumberOfTraits; bCnt++ )
|
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 )
|
if ( gMercProfiles[ubProfileID].bSkillTraits[ bCnt ] == bSkillTrait )
|
||||||
{
|
{
|
||||||
bNumTraits++;
|
bNumTraits++;
|
||||||
bNumMajorTraitsCounted++;
|
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++;
|
bNumMajorTraitsCounted++;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user