Fix: AimLevels bonus was displayed for OCTH although it doesn't apply there

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8247 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
silversurfer
2016-06-04 09:56:46 +00:00
parent 2c85d6dc03
commit 90ff5d5626
4 changed files with 76 additions and 65 deletions
+9 -9
View File
@@ -15,9 +15,9 @@
#ifdef JA2EDITOR
#ifdef JA2UB
CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.8241 (Development Build)" };
CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.8247 (Development Build)" };
#else
CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.8241 (Development Build)" };
CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.8247 (Development Build)" };
#endif
// ------------------------------
@@ -27,11 +27,11 @@
//DEBUG BUILD VERSION
#ifdef JA2UB
CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.8241 (Development Build)" };
CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.8247 (Development Build)" };
#elif defined (JA113DEMO)
CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.8241 (Development Build)" };
CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.8247 (Development Build)" };
#else
CHAR16 zVersionLabel[256] = { L"Debug: v1.13.8241 (Development Build)" };
CHAR16 zVersionLabel[256] = { L"Debug: v1.13.8247 (Development Build)" };
#endif
#elif defined CRIPPLED_VERSION
@@ -46,16 +46,16 @@
//RELEASE BUILD VERSION
#ifdef JA2UB
CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.8241 (Development Build)" };
CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.8247 (Development Build)" };
#elif defined (JA113DEMO)
CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.8241 (Development Build)" };
CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.8247 (Development Build)" };
#else
CHAR16 zVersionLabel[256] = { L"Release v1.13.8241 (Development Build)" };
CHAR16 zVersionLabel[256] = { L"Release v1.13.8247 (Development Build)" };
#endif
#endif
CHAR8 czVersionNumber[16] = { "Build 16.05.27" }; //YY.MM.DD
CHAR8 czVersionNumber[16] = { "Build 16.06.04" }; //YY.MM.DD
CHAR16 zTrackingNumber[16] = { L"Z" };
// SAVE_GAME_VERSION is defined in header, change it there
+63 -54
View File
@@ -5056,7 +5056,7 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject )
}
}
///////////////////// AIMING LEVELS MODIFIER
///////////////////// AIM LEVELS MODIFIER
if ( ( GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS ) != 0
|| GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS ) != 0
|| GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS ) != 0 ) ||
@@ -5064,11 +5064,14 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject )
|| GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS ) != 0
|| GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS ) != 0 ) ) )
{
if (cnt >= sFirstLine && cnt < sLastLine)
if( UsingNewCTHSystem() )
{
BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoAdvancedIcon, 5, gItemDescAdvRegions[cnt-sFirstLine][0].sLeft + sOffsetX, gItemDescAdvRegions[cnt-sFirstLine][0].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL );
if (cnt >= sFirstLine && cnt < sLastLine)
{
BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoAdvancedIcon, 5, gItemDescAdvRegions[cnt-sFirstLine][0].sLeft + sOffsetX, gItemDescAdvRegions[cnt-sFirstLine][0].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL );
}
cnt++;
}
cnt++;
}
///////////////////// AIM BONUS MODIFIER
@@ -10291,63 +10294,64 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject )
cnt++;
}
///////////////////// AIMING LEVELS MODIFIER
iModifier[0] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS );
iModifier[1] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS );
iModifier[2] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS );
if( fComparisonMode )
{
iComparedModifier[0] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS );
iComparedModifier[1] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS );
iComparedModifier[2] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS );
}
if ( ( (iModifier[0] != 0 || iModifier[1] != 0 || iModifier[2] != 0) ) ||
( fComparisonMode && (iComparedModifier[0] != 0 || iComparedModifier[1] != 0 || iComparedModifier[2] != 0) ) )
{
if (cnt >= sFirstLine && cnt < sLastLine)
///////////////////// AIM LEVELS MODIFIER
if(UsingNewCTHSystem() )
{
// Set Y coordinates
sTop = gItemDescAdvRegions[cnt-sFirstLine][1].sTop;
sHeight = gItemDescAdvRegions[cnt-sFirstLine][1].sBottom - sTop;
iModifier[0] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS );
iModifier[1] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS );
iModifier[2] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS );
if( fComparisonMode )
{
iComparedModifier[0] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS );
iComparedModifier[1] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS );
iComparedModifier[2] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS );
}
if ( ( (iModifier[0] != 0 || iModifier[1] != 0 || iModifier[2] != 0) ) ||
( fComparisonMode && (iComparedModifier[0] != 0 || iComparedModifier[1] != 0 || iComparedModifier[2] != 0) ) )
{
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++)
{
if (UsingNewCTHSystem() == false && cnt2 > 0)
break;
SetFontForeground( 5 );
sLeft = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sLeft;
sWidth = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sRight - sLeft;
if( fComparisonMode )
// Print Values
for (UINT8 cnt2 = 0; cnt2 < 3; cnt2++)
{
iModifier[cnt2] = iComparedModifier[cnt2] - iModifier[cnt2];
}
if (iModifier[cnt2] > 0)
{
SetFontForeground( ITEMDESC_FONTNEGATIVE );
swprintf( pStr, L"+%d", iModifier[cnt2] );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
}
else if (iModifier[cnt2] < 0)
{
SetFontForeground( ITEMDESC_FONTPOSITIVE );
swprintf( pStr, L"%d", iModifier[cnt2] );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
}
else if( fComparisonMode )
{
swprintf( pStr, L"=" );
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
}
else
{
swprintf( pStr, L"--" );
if (UsingNewCTHSystem() == false && cnt2 > 0)
break;
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_FONTNEGATIVE );
swprintf( pStr, L"+%d", iModifier[cnt2] );
}
else if (iModifier[cnt2] < 0)
{
SetFontForeground( ITEMDESC_FONTPOSITIVE );
swprintf( pStr, L"%d", iModifier[cnt2] );
}
else if( fComparisonMode )
{
swprintf( pStr, L"=" );
}
else
{
swprintf( pStr, L"--" );
}
FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY);
mprintf( usX, usY, pStr );
}
mprintf( usX, usY, pStr );
}
cnt++;
}
cnt++;
}
///////////////////// AIM BONUS MODIFIER
@@ -10788,8 +10792,10 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject )
iModifier[0] = (GetDamageBonus( gpItemDescObject ) * gGameExternalOptions.iExplosivesDamageModifier) / 100;
else
iModifier[0] = GetDamageBonus( gpItemDescObject );
iModifier[1] = iModifier[0];
iModifier[2] = iModifier[0];
if( fComparisonMode )
{
if (Item[gpComparedItemDescObject->usItem].usItemClass & (IC_GUN|IC_THROWING_KNIFE))
@@ -10799,9 +10805,12 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject )
else if (Item[gpComparedItemDescObject->usItem].usItemClass & (IC_EXPLOSV|IC_LAUNCHER))
iComparedModifier[0] = (GetDamageBonus( gpComparedItemDescObject ) * gGameExternalOptions.iExplosivesDamageModifier) / 100;
else
iComparedModifier[0] = GetDamageBonus( gpComparedItemDescObject );
iComparedModifier[1] = iComparedModifier[0];
iComparedModifier[2] = iComparedModifier[0];
}
if (iModifier[0] != 0 || ( fComparisonMode && iComparedModifier[0] != 0 ) )
{
if (cnt >= sFirstLine && cnt < sLastLine)
+3 -1
View File
@@ -10343,7 +10343,9 @@ INT32 GetItemModifier(OBJECTTYPE* pObj, UINT8 ubRef, UINT8 usType)
iModifier += BonusReduceMore( Item[pObj->usItem].targettrackingmodifier[ubRef], (*pObj)[0]->data.objectStatus );
break;
case ITEMMODIFIER_AIMLEVELS:
iModifier += Item[pObj->usItem].aimlevelsmodifier[ubRef];
// silversurfer: NCTH system only
if ( UsingNewCTHSystem() )
iModifier += Item[pObj->usItem].aimlevelsmodifier[ubRef];
break;
case ITEMMODIFIER_SPOTTER:
+1 -1
View File
@@ -6831,7 +6831,7 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime,
UINT16 usInHand, usShockPenalty, MIN_RANGE_FOR_FULL_COWER, MAX_TARGET_COWERING_PENALTY;
UINT16 iBulletsLeft, iTracersFired = 0, iBulletsPerTracer, iBulletsSinceLastTracer=0, iRoundsFiredPreviously;
INT8 bBandaged, maxClickBonus = 10, AIM_PENALTY_PER_TARGET_SHOCK;
UINT8 ubAdjAimPos, ubTargetID, bLightLevel, ubCoweringDivisor, ubAutoPenaltySinceLastTracer=0;
UINT8 ubTargetID, bLightLevel, ubCoweringDivisor, ubAutoPenaltySinceLastTracer=0;
FLOAT maxBonus, aimTimeBonus, scopeRangeMod = 0.0f, iAimBonus;
bool fCantSeeTarget = false, fCoverObscured = false;