mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
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:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -286,7 +286,6 @@ enum {
|
||||
ITEMMODIFIER_DROPCOMPENSATION,
|
||||
ITEMMODIFIER_COUNTERFORCEMAX,
|
||||
ITEMMODIFIER_COUNTERFORCEACCURACY,
|
||||
ITEMMODIFIER_COUNTERFORCEFREQUENCY,
|
||||
ITEMMODIFIER_TRACKING,
|
||||
ITEMMODIFIER_AIMLEVELS,
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user