- bug fix: Space selects next squad: next merc was not selected when in interrupt

- changed scope ranges to be % of base visible range



git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@170 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
lalien
2006-06-05 01:03:17 +00:00
parent d0ea612fb3
commit 7da7984951
5 changed files with 46 additions and 45 deletions
+15 -15
View File
@@ -190,11 +190,11 @@ typedef struct
BOOLEAN gfVSync; BOOLEAN gfVSync;
//Animation settings //Animation settings
UINT8 gubPlayerTurnSpeedUpFactor; UINT32 gubPlayerTurnSpeedUpFactor;
UINT8 gubEnemyTurnSpeedUpFactor; UINT32 gubEnemyTurnSpeedUpFactor;
UINT8 gubCreatureTurnSpeedUpFactor; UINT32 gubCreatureTurnSpeedUpFactor;
UINT8 gubMilitiaTurnSpeedUpFactor; UINT32 gubMilitiaTurnSpeedUpFactor;
UINT8 gubCivilianTurnSpeedUpFactor; UINT32 gubCivilianTurnSpeedUpFactor;
//Sound settings //Sound settings
UINT32 guiWeaponSoundEffectsVolume; UINT32 guiWeaponSoundEffectsVolume;
@@ -217,15 +217,15 @@ typedef struct
//Sight range //Sight range
UINT8 ubStraightSightRange; UINT32 ubStraightSightRange;
UINT32 ubVisDistDecreasePerRainIntensity; UINT32 ubVisDistDecreasePerRainIntensity;
BOOLEAN gfAllowLimitedVision; BOOLEAN gfAllowLimitedVision;
// Rain settings // Rain settings
BOOLEAN gfAllowRain; BOOLEAN gfAllowRain;
UINT16 gusRainChancePerDay; UINT32 gusRainChancePerDay;
UINT16 gusRainMinLength; UINT32 gusRainMinLength;
UINT16 gusRainMaxLength; UINT32 gusRainMaxLength;
UINT32 guiMaxRainDrops; UINT32 guiMaxRainDrops;
UINT32 ubWeaponReliabilityReductionPerRainIntensity; UINT32 ubWeaponReliabilityReductionPerRainIntensity;
double ubBreathGainReductionPerRainIntensity; double ubBreathGainReductionPerRainIntensity;
@@ -239,12 +239,12 @@ typedef struct
UINT32 guiChanceToDoLightningBetweenTurns; UINT32 guiChanceToDoLightningBetweenTurns;
//Gameplay settings //Gameplay settings
UINT8 ubGameProgressStartMadlabQuest; UINT32 ubGameProgressStartMadlabQuest;
UINT8 ubGameProgressMikeAvailable; UINT32 ubGameProgressMikeAvailable;
UINT8 ubGameProgressIggyAvaliable; UINT32 ubGameProgressIggyAvaliable;
UINT8 ubExplosivesDamageMultiplier; UINT32 ubExplosivesDamageMultiplier;
UINT8 ubGunDamageMultiplier; UINT32 ubGunDamageMultiplier;
UINT8 ubMeleeDamageMultiplier; UINT32 ubMeleeDamageMultiplier;
UINT32 ubEasyEnemyStartingAlertLevel; UINT32 ubEasyEnemyStartingAlertLevel;
UINT32 ubNormalEnemyStartingAlertLevel; UINT32 ubNormalEnemyStartingAlertLevel;
+1 -1
View File
@@ -23,7 +23,7 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" };
#else #else
//RELEASE BUILD VERSION //RELEASE BUILD VERSION
INT16 zVersionLabel[256] = { L"Release v1.13.169" }; INT16 zVersionLabel[256] = { L"Release v1.13.170" };
#endif #endif
+2 -2
View File
@@ -43,7 +43,7 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="libexpatMT.lib mss32.lib winmm.lib smackw32.lib fmodvc.lib" AdditionalDependencies="libexpatMT.lib mss32.lib winmm.lib smackw32.lib fmodvc.lib"
OutputFile="C:\games\Jagged Alliance 2 v1.13\ja2_debug_v1.13.169_2006_06_04.exe" OutputFile="C:\games\Jagged Alliance 2 v1.13\ja2_debug_v1.13.170_2006_06_04.exe"
LinkIncremental="2" LinkIncremental="2"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\" AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
@@ -546,7 +546,7 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib fmodvc.lib" AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib fmodvc.lib"
OutputFile="C:\Games\Jagged Alliance 2 v1.13\ja2_release_v1.13.169_2006_06_04.exe" OutputFile="C:\Games\Jagged Alliance 2 v1.13\ja2_release_v1.13.170_2006_06_04.exe"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\" AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
+20 -22
View File
@@ -5354,41 +5354,39 @@ UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife
} }
} }
if ( !gGameSettings.fOptions[ TOPTION_SPACE_SELECTS_NEXT_SQUAD ] ) // none found,
// Now loop back
for ( cnt = 0; cnt < bFirstID; cnt++ )
{ {
// none found, if ( gTeamPanel[ cnt ].fOccupied )
// Now loop back
for ( cnt = 0; cnt < bFirstID; cnt++ )
{ {
if ( gTeamPanel[ cnt ].fOccupied ) pTeamSoldier = MercPtrs[ gTeamPanel[ cnt ].ubID ];
if ( fOnlyRegularMercs )
{ {
pTeamSoldier = MercPtrs[ gTeamPanel[ cnt ].ubID ]; if ( pTeamSoldier->bActive && ( AM_AN_EPC( pTeamSoldier ) || AM_A_ROBOT( pTeamSoldier ) ) )
if ( fOnlyRegularMercs )
{ {
if ( pTeamSoldier->bActive && ( AM_AN_EPC( pTeamSoldier ) || AM_A_ROBOT( pTeamSoldier ) ) ) continue;
{
continue;
}
} }
}
if ( fGoodForLessOKLife ) if ( fGoodForLessOKLife )
{
if ( pTeamSoldier->bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
{ {
if ( pTeamSoldier->bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment ) return( (UINT8)gTeamPanel[ cnt ].ubID );
{
return( (UINT8)gTeamPanel[ cnt ].ubID );
}
} }
else }
else
{
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
{ {
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment ) return( (UINT8)gTeamPanel[ cnt ].ubID );
{
return( (UINT8)gTeamPanel[ cnt ].ubID );
}
} }
} }
} }
} }
// IF we are here, keep as we always were! // IF we are here, keep as we always were!
return( pSoldier->ubID ); return( pSoldier->ubID );
} }
+6 -3
View File
@@ -7106,7 +7106,7 @@ INT16 GetMinRangeForAimBonus( OBJECTTYPE * pObj )
INT16 bns; INT16 bns;
bns = Item[pObj->usItem].minrangeforaimbonus; bns = Item[pObj->usItem].minrangeforaimbonus;
bns += Item[pObj->usGunAmmoItem].minrangeforaimbonus; //bns += Item[pObj->usGunAmmoItem].minrangeforaimbonus;
for (int i = 0; i < MAX_ATTACHMENTS; i++) for (int i = 0; i < MAX_ATTACHMENTS; i++)
{ {
@@ -7119,6 +7119,7 @@ INT16 GetMinRangeForAimBonus( OBJECTTYPE * pObj )
UINT8 AllowedAimingLevels(SOLDIERTYPE * pSoldier) UINT8 AllowedAimingLevels(SOLDIERTYPE * pSoldier)
{ {
UINT8 aimLevels = 4; UINT8 aimLevels = 4;
float iScopeBonus = 0;
OBJECTTYPE obj = pSoldier->inv[pSoldier->ubAttackingHand]; OBJECTTYPE obj = pSoldier->inv[pSoldier->ubAttackingHand];
BOOLEAN allowed = TRUE; BOOLEAN allowed = TRUE;
@@ -7127,12 +7128,14 @@ UINT8 AllowedAimingLevels(SOLDIERTYPE * pSoldier)
if ( allowed && IsScoped( &obj ) ) if ( allowed && IsScoped( &obj ) )
{ {
if ( GetMinRangeForAimBonus(&obj) >= (UINT8)(gGameExternalOptions.ubStraightSightRange * 3) ) // >= 30% of sight range (~4 tiles by default) iScopeBonus = ( (float)gGameExternalOptions.ubStraightSightRange * GetMinRangeForAimBonus(&obj) / 100 );
if ( iScopeBonus >= ( (float)gGameExternalOptions.ubStraightSightRange * 0.3) ) // >= 30% of sight range (~4 tiles by default)
{ {
aimLevels += 2; aimLevels += 2;
} }
if ( GetMinRangeForAimBonus(&obj) >= (UINT8)(gGameExternalOptions.ubStraightSightRange * 6) ) // >= 60% of sight range (~9 tiles by default) if ( iScopeBonus >= ( (float)gGameExternalOptions.ubStraightSightRange * 0.6) ) // >= 60% of sight range (~9 tiles by default)
{ {
aimLevels += 2; aimLevels += 2;
} }