Fix: Removed invalid item property "counterforcefrequencymodifier" and all code parts associated with it. It was not used anymore by the game but fragments of it were still displayed in EDB which lead to confusion.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7644 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
silversurfer
2014-11-03 13:23:05 +00:00
parent 001f716d2f
commit 60bffb1352
7 changed files with 4 additions and 291 deletions
-199
View File
@@ -3324,32 +3324,6 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr
}
}
// HEADROCK HAM 5: This is gone now.
/*
///////////////////// COUNTER FORCE FREQUENCY MODIFIER
if (GetCounterForceFrequencyModifier( gpItemDescObject, ANIM_STAND ) != 0
|| GetCounterForceFrequencyModifier( gpItemDescObject, ANIM_CROUCH ) != 0
|| GetCounterForceFrequencyModifier( gpItemDescObject, ANIM_PRONE ) != 0 )
{
if( UsingNewCTHSystem() == true )
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
if (Item[ gpItemDescObject->usItem ].usItemClass & (IC_WEAPON|IC_PUNCH))
{
swprintf( pStr, L"%s%s", szUDBAdvStatsTooltipText[ 19 ], szUDBAdvStatsExplanationsTooltipTextForWeapons[ 19 ]);
}
else
{
swprintf( pStr, L"%s%s", szUDBAdvStatsTooltipText[ 19 ], szUDBAdvStatsExplanationsTooltipText[ 19 ]);
}
SetRegionFastHelpText( &(gUDBFasthelpRegions[ iFirstDataRegion + (cnt-sFirstLine) ]), pStr );
MSYS_EnableRegion( &gUDBFasthelpRegions[ iFirstDataRegion + (cnt-sFirstLine) ] );
}
cnt++;
}
}*/
///////////////////// AP MODIFIER
if (GetAPBonus( gpItemDescObject ) != 0 )
{
@@ -3903,32 +3877,6 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr
cnt++;
}
// HEADROCK HAM 5: This no longer exists.
/*
///////////////////// COUNTER FORCE FREQUENCY
if ((GetCounterForceMaxModifier( gpItemDescObject, ANIM_STAND ) != 0
|| GetCounterForceMaxModifier( gpItemDescObject, ANIM_CROUCH ) != 0
|| GetCounterForceMaxModifier( gpItemDescObject, ANIM_PRONE ) != 0 ) )
{
if( UsingNewCTHSystem() == true && Item[gpItemDescObject->usItem].usItemClass == IC_GUN )
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
if (Item[ gpItemDescObject->usItem ].usItemClass & (IC_WEAPON|IC_PUNCH))
{
swprintf( pStr, L"%s%s", szUDBAdvStatsTooltipText[ 45 ], szUDBAdvStatsExplanationsTooltipTextForWeapons[ 45 ]);
}
else
{
swprintf( pStr, L"%s%s", szUDBAdvStatsTooltipText[ 45 ], szUDBAdvStatsExplanationsTooltipText[ 45 ]);
}
SetRegionFastHelpText( &(gUDBFasthelpRegions[ iFirstDataRegion + (cnt-sFirstLine) ]), pStr );
MSYS_EnableRegion( &gUDBFasthelpRegions[ iFirstDataRegion + (cnt-sFirstLine) ] );
}
cnt++;
}
}*/
// Moa: used to check if general Indexes (Prop., 0, +-, =) should be shown
INT16 fDrawGenIndexes = FALSE;
@@ -5384,24 +5332,6 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject )
}
}
///////////////////// COUNTER FORCE FREQUENCY MODIFIER
if ( ( GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_STAND, ITEMMODIFIER_COUNTERFORCEFREQUENCY ) != 0
|| GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_CROUCH, ITEMMODIFIER_COUNTERFORCEFREQUENCY ) != 0
|| GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_PRONE, ITEMMODIFIER_COUNTERFORCEFREQUENCY ) != 0 ) ||
( fComparisonMode && ( GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_STAND, ITEMMODIFIER_COUNTERFORCEFREQUENCY ) != 0
|| GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_CROUCH, ITEMMODIFIER_COUNTERFORCEFREQUENCY ) != 0
|| GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_PRONE, ITEMMODIFIER_COUNTERFORCEFREQUENCY ) != 0 ) ) )
{
if( UsingNewCTHSystem() == true )
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoAdvancedIcon, 19, gItemDescAdvRegions[cnt-sFirstLine][0].sLeft + sOffsetX, gItemDescAdvRegions[cnt-sFirstLine][0].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL );
}
cnt++;
}
}
///////////////////// AP MODIFIER
if ( (GetAPBonus( gpItemDescObject ) != 0 ) ||
( fComparisonMode && GetAPBonus( gpComparedItemDescObject ) != 0 ) )
@@ -5668,22 +5598,6 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject )
cnt++;
}
// HEADROCK HAM 5: Counter-Force Frequency has been removed from the game in favour of a more realistic system.
/*
///////////////////// COUNTER FORCE FREQUENCY
if (CalcCounterForceFrequency( gpItemDescSoldier, gpItemDescObject ) != 0 )
{
if( UsingNewCTHSystem() == true && Item[gpItemDescObject->usItem].usItemClass == IC_GUN )
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoAdvancedIcon, 19, gItemDescAdvRegions[cnt-sFirstLine][0].sLeft + sOffsetX, gItemDescAdvRegions[cnt-sFirstLine][0].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL );
}
cnt++;
}
}
*/
// Flugente
// new line is necessary (Moa: only if needed)
INT16 fDrawGenIndexes = FALSE;
@@ -11397,75 +11311,6 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject )
cnt++;
}
///////////////////// COUNTER FORCE FREQUENCY MODIFIER
iModifier[0] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_STAND, ITEMMODIFIER_COUNTERFORCEFREQUENCY );
iModifier[1] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_CROUCH, ITEMMODIFIER_COUNTERFORCEFREQUENCY );
iModifier[2] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_PRONE, ITEMMODIFIER_COUNTERFORCEFREQUENCY );
if( fComparisonMode )
{
iComparedModifier[0] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_STAND, ITEMMODIFIER_COUNTERFORCEFREQUENCY );
iComparedModifier[1] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_CROUCH, ITEMMODIFIER_COUNTERFORCEFREQUENCY );
iComparedModifier[2] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_PRONE, ITEMMODIFIER_COUNTERFORCEFREQUENCY );
}
if ( ( (iModifier[0] != 0 || iModifier[1] != 0 || iModifier[2] != 0) || ( fComparisonMode && (iComparedModifier[0] != 0 || iComparedModifier[1] != 0 || iComparedModifier[2] != 0) ) )
&& UsingNewCTHSystem() == true )
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
// Set Y coordinates
sTop = gItemDescAdvRegions[cnt-sFirstLine][1].sTop;
sHeight = gItemDescAdvRegions[cnt-sFirstLine][1].sBottom - sTop;
// Print Values
for (UINT8 cnt2 = 0; cnt2 < 3; cnt2++)
{
SetFontForeground( 5 );
sLeft = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sLeft;
sWidth = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sRight - sLeft;
if( fComparisonMode )
{
iModifier[cnt2] = iComparedModifier[cnt2] - iModifier[cnt2];
}
if (iModifier[cnt2] > 0)
{
SetFontForeground( ITEMDESC_FONTPOSITIVE );
swprintf( pStr, L"+%d", iModifier[cnt2] );
wcscat( pStr, L"%" );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
#ifdef CHINESE
wcscat( pStr, ChineseSpecString1 );
#else
wcscat( pStr, L"%" );
#endif
}
else if (iModifier[cnt2] < 0)
{
SetFontForeground( ITEMDESC_FONTNEGATIVE );
swprintf( pStr, L"%d", iModifier[cnt2] );
wcscat( pStr, L"%" );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
#ifdef CHINESE
wcscat( pStr, ChineseSpecString1 );
#else
wcscat( pStr, L"%" );
#endif
}
else if( fComparisonMode )
{
swprintf( pStr, L"=" );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
}
else
{
swprintf( pStr, L"--" );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
}
mprintf( usX, usY, pStr );
}
}
cnt++;
}
///////////////////// AP MODIFIER
iModifier[0] = GetAPBonus( gpItemDescObject );
iModifier[1] = iModifier[0];
@@ -13082,50 +12927,6 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject )
cnt++;
}
// HEADROCK HAM 5: Counter-Force Frequency has been removed from the game in favour of a more realistic system.
/*
///////////////////// COUNTER FORCE FREQUENCY
iModifier[0] = CalcCounterForceFrequency( gpItemDescSoldier, gpItemDescObject );
iModifier[1] = iModifier[0];
iModifier[2] = iModifier[0];
if ((iModifier[0] != 0 || iModifier[1] != 0 || iModifier[2] != 0) && UsingNewCTHSystem() == true && Item[gpItemDescObject->usItem].usItemClass == IC_GUN )
{
if (cnt >= sFirstLine && cnt < sLastLine)
{
// Set Y coordinates
sTop = gItemDescAdvRegions[cnt-sFirstLine][1].sTop;
sHeight = gItemDescAdvRegions[cnt-sFirstLine][1].sBottom - sTop;
// Print Values
for (UINT8 cnt2 = 0; cnt2 < 3; cnt2++)
{
SetFontForeground( 5 );
sLeft = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sLeft;
sWidth = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sRight - sLeft;
if (iModifier[cnt2] > 0)
{
SetFontForeground( ITEMDESC_FONTPOSITIVE );
swprintf( pStr, L"%d", iModifier[cnt2] );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
}
else if (iModifier[cnt2] < 0)
{
SetFontForeground( ITEMDESC_FONTNEGATIVE );
swprintf( pStr, L"%d", iModifier[cnt2] );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
}
else
{
swprintf( pStr, L"--" );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
}
mprintf( usX, usY, pStr );
}
}
cnt++;
}
*/
// Flugente: draw a new description line
// Moa: only if required
INT16 fDrawGenIndexes = FALSE;
-1
View File
@@ -1096,7 +1096,6 @@ typedef struct
INT16 percentdropcompensationmodifier[3];
INT16 maxcounterforcemodifier[3];
INT16 counterforceaccuracymodifier[3];
INT16 counterforcefrequencymodifier[3];
INT16 targettrackingmodifier[3];
INT16 aimlevelsmodifier[3];
// HEADROCK HAM 4: New modifiers that do not require a stance array, since they affect the gun objectively, not
-3
View File
@@ -10386,9 +10386,6 @@ INT32 GetItemModifier(OBJECTTYPE* pObj, UINT8 ubRef, UINT8 usType)
case ITEMMODIFIER_COUNTERFORCEACCURACY:
iModifier += BonusReduceMore( Item[pObj->usItem].counterforceaccuracymodifier[ubRef], (*pObj)[0]->data.objectStatus );
break;
case ITEMMODIFIER_COUNTERFORCEFREQUENCY:
iModifier += BonusReduceMore( Item[pObj->usItem].counterforcefrequencymodifier[ubRef], (*pObj)[0]->data.objectStatus );
break;
case ITEMMODIFIER_TRACKING:
iModifier += BonusReduceMore( Item[pObj->usItem].targettrackingmodifier[ubRef], (*pObj)[0]->data.objectStatus );
break;
-1
View File
@@ -286,7 +286,6 @@ enum {
ITEMMODIFIER_DROPCOMPENSATION,
ITEMMODIFIER_COUNTERFORCEMAX,
ITEMMODIFIER_COUNTERFORCEACCURACY,
ITEMMODIFIER_COUNTERFORCEFREQUENCY,
ITEMMODIFIER_TRACKING,
ITEMMODIFIER_AIMLEVELS,
-70
View File
@@ -8902,76 +8902,6 @@ void LimitImpactPointToMaxAperture( FLOAT *dShotOffsetX, FLOAT *dShotOffsetY, FL
}
}
UINT32 CalcCounterForceFrequency(SOLDIERTYPE *pShooter, OBJECTTYPE *pWeapon)
{
INT8 traitLoop;
FLOAT iCounterForceFrequency = gGameCTHConstants.RECOIL_COUNTER_FREQUENCY_AGI * EffectiveAgility(pShooter, FALSE);
iCounterForceFrequency += gGameCTHConstants.RECOIL_COUNTER_FREQUENCY_EXP_LEVEL * EffectiveExpLevel(pShooter) * 10;
// Average
FLOAT iDivisor = gGameCTHConstants.RECOIL_COUNTER_FREQUENCY_AGI +
gGameCTHConstants.RECOIL_COUNTER_FREQUENCY_EXP_LEVEL;
iCounterForceFrequency /= iDivisor;
// SAMDRO - shooting dual bursts is somehow harder to control, unless we are ambidextrous
if ( pShooter->IsValidSecondHandBurst() )
{
if ( gGameOptions.fNewTraitSystem )
{
if ( !(HAS_SKILL_TRAIT( pShooter, AMBIDEXTROUS_NT )) )
iCounterForceFrequency = iCounterForceFrequency*9/10; // -10%
}
else
{
if ( !(HAS_SKILL_TRAIT( pShooter, AMBIDEXT_OT )) )
iCounterForceFrequency = iCounterForceFrequency*9/10; // -10%
}
}
// Bridge the gap to 100 with the help of the AUTO-WEAPONS skill
if(gGameOptions.fNewTraitSystem)
traitLoop = NUM_SKILL_TRAITS( pShooter, AUTO_WEAPONS_NT );
else
traitLoop = NUM_SKILL_TRAITS( pShooter, AUTO_WEAPS_OT );
for (INT32 x = 0; x < traitLoop; x++)
{
INT8 bDifference = (INT8)(100-iCounterForceFrequency);
bDifference = (INT8)(bDifference / gGameCTHConstants.RECOIL_COUNTER_FREQUENCY_AUTO_WEAPONS_DIVISOR);
iCounterForceFrequency += bDifference;
}
UINT8 stance = gAnimControl[ pShooter->usAnimState ].ubEndHeight;
// Flugente: new feature: if the next tile in our sight direction has a height so that we could rest our weapon on it, we do that, thereby gaining the prone boni instead. This includes bipods
if ( gGameExternalOptions.fWeaponResting && pShooter->IsWeaponMounted() )
stance = ANIM_PRONE;
// Percent Modifier from weapon and its attachments
FLOAT moda = (iCounterForceFrequency * GetObjectModifier( pShooter, pWeapon, stance, ITEMMODIFIER_COUNTERFORCEFREQUENCY )) / 100;
FLOAT modb = (iCounterForceFrequency * GetObjectModifier( pShooter, pWeapon, gAnimControl[ pShooter->usAnimState ].ubEndHeight, ITEMMODIFIER_COUNTERFORCEFREQUENCY )) / 100;
iCounterForceFrequency += ((gGameExternalOptions.ubProneModifierPercentage * moda + (100 - gGameExternalOptions.ubProneModifierPercentage) * modb)/100);
// Limit to 1-100.
iCounterForceFrequency = __min(100, iCounterForceFrequency);
iCounterForceFrequency = __max(1, iCounterForceFrequency);
// Invert value. Now 100 is bad, 1 is good.
iCounterForceFrequency = 100 - iCounterForceFrequency;
// Calculate frequency
UINT32 uiBulletsPer5AP = max(1,GetAutofireShotsPerFiveAPs( pWeapon ));
UINT32 uiCounterForceFrequency = __max(1, (UINT32)ceil((uiBulletsPer5AP * iCounterForceFrequency) / 100));
//CHRISL: For the time being, this is going to override the CFF function
uiBulletsPer5AP = GetAutofireShotsPerFiveAPs( pWeapon );
if(uiBulletsPer5AP < 1)
uiBulletsPer5AP = 3;
uiCounterForceFrequency = (UINT32)ceil((FLOAT)uiBulletsPer5AP / 2.0f);
return uiCounterForceFrequency;
}
FLOAT CalcCounterForceMax(SOLDIERTYPE *pShooter, OBJECTTYPE *pWeapon, UINT8 uiStance)
{
if(uiStance == 0)
-2
View File
@@ -238,8 +238,6 @@ void CalcMuzzleSway( SOLDIERTYPE *pShooter, FLOAT *dMuzzleOffsetX, FLOAT *dMuzzl
FLOAT CalcBulletDeviation( SOLDIERTYPE *pShooter, FLOAT *dShotOffsetX, FLOAT *dShotOffsetY, OBJECTTYPE *pWeapon, UINT32 uiRange );
void LimitImpactPointByFacing( SOLDIERTYPE *pShooter, SOLDIERTYPE *pTarget, FLOAT *dShotOffsetX, FLOAT *dShotOffsetY, FLOAT *dEndX, FLOAT *dEndY );
void LimitImpactPointToMaxAperture( FLOAT *dShotOffsetX, FLOAT *dShotOffsetY, FLOAT dDistanceAperture );
// HEADROCK HAM 5: Removed and replaced by continuously-variable CF
// UINT32 CalcCounterForceFrequency(SOLDIERTYPE *pShooter, OBJECTTYPE *pWeapon);
FLOAT CalcCounterForceMax(SOLDIERTYPE *pShooter, OBJECTTYPE *pWeapon, UINT8 uiStance = 0);
UINT32 CalcCounterForceAccuracy(SOLDIERTYPE *pShooter, OBJECTTYPE *pWeapon, UINT32 uiRange, BOOLEAN fTracer, bool fAnticipate = false);
void CalcPreRecoilOffset( SOLDIERTYPE *pShooter, OBJECTTYPE *pWeapon, FLOAT *dMuzzleOffsetX, FLOAT *dMuzzleOffsetY, UINT32 uiRange );
+4 -15
View File
@@ -103,7 +103,6 @@ itemStartElementHandle(void *userData, const XML_Char *name, const XML_Char **at
pData->curItem.percentdropcompensationmodifier[X] = -10000;
pData->curItem.maxcounterforcemodifier[X] = -10000;
pData->curItem.counterforceaccuracymodifier[X] = -10000;
pData->curItem.counterforcefrequencymodifier[X] = -10000;
pData->curItem.aimlevelsmodifier[X] = -10000;
}
@@ -1278,11 +1277,6 @@ itemEndElementHandle(void *userData, const XML_Char *name)
pData->curElement = ELEMENT_SUBLIST;
pData->curItem.counterforceaccuracymodifier[pData->curStance] = (INT16) atol(pData->szCharData);
}
else if(strcmp(name, "PercentCounterForceFrequency") == 0)
{
pData->curElement = ELEMENT_SUBLIST;
pData->curItem.counterforcefrequencymodifier[pData->curStance] = (INT16) atol(pData->szCharData);
}
else if(strcmp(name, "AimLevels") == 0)
{
pData->curElement = ELEMENT_SUBLIST;
@@ -2038,7 +2032,6 @@ BOOLEAN WriteItemStats()
FilePrintf(hFile,"\t\t\t<PercentDropCompensation>%d</PercentDropCompensation>\r\n", Item[cnt].percentdropcompensationmodifier[0] );
FilePrintf(hFile,"\t\t\t<PercentMaxCounterForce>%d</PercentMaxCounterForce>\r\n", Item[cnt].maxcounterforcemodifier[0] );
FilePrintf(hFile,"\t\t\t<PercentCounterForceAccuracy>%d</PercentCounterForceAccuracy>\r\n", Item[cnt].counterforceaccuracymodifier[0] );
FilePrintf(hFile,"\t\t\t<PercentCounterForceFrequency>%d</PercentCounterForceFrequency>\r\n", Item[cnt].counterforcefrequencymodifier[0] );
FilePrintf(hFile,"\t\t\t<AimLevels>%d</AimLevels>\r\n", Item[cnt].aimlevelsmodifier[0] );
FilePrintf(hFile,"\t\t</STAND_MODIFIERS>\r\n");
@@ -2052,7 +2045,6 @@ BOOLEAN WriteItemStats()
FilePrintf(hFile,"\t\t\t<PercentDropCompensation>%d</PercentDropCompensation>\r\n", Item[cnt].percentdropcompensationmodifier[1] );
FilePrintf(hFile,"\t\t\t<PercentMaxCounterForce>%d</PercentMaxCounterForce>\r\n", Item[cnt].maxcounterforcemodifier[1] );
FilePrintf(hFile,"\t\t\t<PercentCounterForceAccuracy>%d</PercentCounterForceAccuracy>\r\n", Item[cnt].counterforceaccuracymodifier[1] );
FilePrintf(hFile,"\t\t\t<PercentCounterForceFrequency>%d</PercentCounterForceFrequency>\r\n", Item[cnt].counterforcefrequencymodifier[1] );
FilePrintf(hFile,"\t\t\t<AimLevels>%d</AimLevels>\r\n", Item[cnt].aimlevelsmodifier[1] );
FilePrintf(hFile,"\t\t</CROUCH_MODIFIERS>\r\n");
@@ -2066,7 +2058,6 @@ BOOLEAN WriteItemStats()
FilePrintf(hFile,"\t\t\t<PercentDropCompensation>%d</PercentDropCompensation>\r\n", Item[cnt].percentdropcompensationmodifier[2] );
FilePrintf(hFile,"\t\t\t<PercentMaxCounterForce>%d</PercentMaxCounterForce>\r\n", Item[cnt].maxcounterforcemodifier[2] );
FilePrintf(hFile,"\t\t\t<PercentCounterForceAccuracy>%d</PercentCounterForceAccuracy>\r\n", Item[cnt].counterforceaccuracymodifier[2] );
FilePrintf(hFile,"\t\t\t<PercentCounterForceFrequency>%d</PercentCounterForceFrequency>\r\n", Item[cnt].counterforcefrequencymodifier[2] );
FilePrintf(hFile,"\t\t\t<AimLevels>%d</AimLevels>\r\n", Item[cnt].aimlevelsmodifier[2] );
FilePrintf(hFile,"\t\t</PRONE_MODIFIERS>\r\n");
@@ -2138,7 +2129,7 @@ void InheritStanceModifiers( itemParseData *pData )
{
// Create a two-dimensional temp array to hold all the data about stance modifiers.
INT16 TempArray[12][3];
INT16 TempArray[11][3];
INT8 count = 0;
INT8 arrcount = 0;
@@ -2155,11 +2146,10 @@ void InheritStanceModifiers( itemParseData *pData )
TempArray[7][count] = pData->curItem.percentdropcompensationmodifier[count];
TempArray[8][count] = pData->curItem.maxcounterforcemodifier[count];
TempArray[9][count] = pData->curItem.counterforceaccuracymodifier[count];
TempArray[10][count] = pData->curItem.counterforcefrequencymodifier[count];
TempArray[11][count] = pData->curItem.aimlevelsmodifier[count];
TempArray[10][count] = pData->curItem.aimlevelsmodifier[count];
}
for (arrcount = 0; arrcount < 12; arrcount++)
for (arrcount = 0; arrcount < 11; arrcount++)
{
if (TempArray[arrcount][2] == -10000)
{
@@ -2199,8 +2189,7 @@ void InheritStanceModifiers( itemParseData *pData )
pData->curItem.percentdropcompensationmodifier[count] = TempArray[7][count];
pData->curItem.maxcounterforcemodifier[count] = TempArray[8][count];
pData->curItem.counterforceaccuracymodifier[count] = TempArray[9][count];
pData->curItem.counterforcefrequencymodifier[count] = TempArray[10][count];
pData->curItem.aimlevelsmodifier[count] = TempArray[11][count];
pData->curItem.aimlevelsmodifier[count] = TempArray[10][count];
}
}