mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
- 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:
+15
-15
@@ -190,11 +190,11 @@ typedef struct
|
||||
BOOLEAN gfVSync;
|
||||
|
||||
//Animation settings
|
||||
UINT8 gubPlayerTurnSpeedUpFactor;
|
||||
UINT8 gubEnemyTurnSpeedUpFactor;
|
||||
UINT8 gubCreatureTurnSpeedUpFactor;
|
||||
UINT8 gubMilitiaTurnSpeedUpFactor;
|
||||
UINT8 gubCivilianTurnSpeedUpFactor;
|
||||
UINT32 gubPlayerTurnSpeedUpFactor;
|
||||
UINT32 gubEnemyTurnSpeedUpFactor;
|
||||
UINT32 gubCreatureTurnSpeedUpFactor;
|
||||
UINT32 gubMilitiaTurnSpeedUpFactor;
|
||||
UINT32 gubCivilianTurnSpeedUpFactor;
|
||||
|
||||
//Sound settings
|
||||
UINT32 guiWeaponSoundEffectsVolume;
|
||||
@@ -217,15 +217,15 @@ typedef struct
|
||||
|
||||
|
||||
//Sight range
|
||||
UINT8 ubStraightSightRange;
|
||||
UINT32 ubStraightSightRange;
|
||||
UINT32 ubVisDistDecreasePerRainIntensity;
|
||||
BOOLEAN gfAllowLimitedVision;
|
||||
|
||||
// Rain settings
|
||||
BOOLEAN gfAllowRain;
|
||||
UINT16 gusRainChancePerDay;
|
||||
UINT16 gusRainMinLength;
|
||||
UINT16 gusRainMaxLength;
|
||||
UINT32 gusRainChancePerDay;
|
||||
UINT32 gusRainMinLength;
|
||||
UINT32 gusRainMaxLength;
|
||||
UINT32 guiMaxRainDrops;
|
||||
UINT32 ubWeaponReliabilityReductionPerRainIntensity;
|
||||
double ubBreathGainReductionPerRainIntensity;
|
||||
@@ -239,12 +239,12 @@ typedef struct
|
||||
UINT32 guiChanceToDoLightningBetweenTurns;
|
||||
|
||||
//Gameplay settings
|
||||
UINT8 ubGameProgressStartMadlabQuest;
|
||||
UINT8 ubGameProgressMikeAvailable;
|
||||
UINT8 ubGameProgressIggyAvaliable;
|
||||
UINT8 ubExplosivesDamageMultiplier;
|
||||
UINT8 ubGunDamageMultiplier;
|
||||
UINT8 ubMeleeDamageMultiplier;
|
||||
UINT32 ubGameProgressStartMadlabQuest;
|
||||
UINT32 ubGameProgressMikeAvailable;
|
||||
UINT32 ubGameProgressIggyAvaliable;
|
||||
UINT32 ubExplosivesDamageMultiplier;
|
||||
UINT32 ubGunDamageMultiplier;
|
||||
UINT32 ubMeleeDamageMultiplier;
|
||||
|
||||
UINT32 ubEasyEnemyStartingAlertLevel;
|
||||
UINT32 ubNormalEnemyStartingAlertLevel;
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" };
|
||||
#else
|
||||
|
||||
//RELEASE BUILD VERSION
|
||||
INT16 zVersionLabel[256] = { L"Release v1.13.169" };
|
||||
INT16 zVersionLabel[256] = { L"Release v1.13.170" };
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -43,7 +43,7 @@
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
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"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
|
||||
@@ -546,7 +546,7 @@
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
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"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
|
||||
|
||||
@@ -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,
|
||||
// Now loop back
|
||||
for ( cnt = 0; cnt < bFirstID; cnt++ )
|
||||
if ( gTeamPanel[ cnt ].fOccupied )
|
||||
{
|
||||
if ( gTeamPanel[ cnt ].fOccupied )
|
||||
pTeamSoldier = MercPtrs[ gTeamPanel[ cnt ].ubID ];
|
||||
|
||||
if ( fOnlyRegularMercs )
|
||||
{
|
||||
pTeamSoldier = MercPtrs[ gTeamPanel[ cnt ].ubID ];
|
||||
|
||||
if ( fOnlyRegularMercs )
|
||||
if ( pTeamSoldier->bActive && ( AM_AN_EPC( pTeamSoldier ) || AM_A_ROBOT( pTeamSoldier ) ) )
|
||||
{
|
||||
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!
|
||||
return( pSoldier->ubID );
|
||||
}
|
||||
|
||||
+8
-5
@@ -7106,7 +7106,7 @@ INT16 GetMinRangeForAimBonus( OBJECTTYPE * pObj )
|
||||
INT16 bns;
|
||||
|
||||
bns = Item[pObj->usItem].minrangeforaimbonus;
|
||||
bns += Item[pObj->usGunAmmoItem].minrangeforaimbonus;
|
||||
//bns += Item[pObj->usGunAmmoItem].minrangeforaimbonus;
|
||||
|
||||
for (int i = 0; i < MAX_ATTACHMENTS; i++)
|
||||
{
|
||||
@@ -7119,21 +7119,24 @@ INT16 GetMinRangeForAimBonus( OBJECTTYPE * pObj )
|
||||
UINT8 AllowedAimingLevels(SOLDIERTYPE * pSoldier)
|
||||
{
|
||||
UINT8 aimLevels = 4;
|
||||
float iScopeBonus = 0;
|
||||
OBJECTTYPE obj = pSoldier->inv[pSoldier->ubAttackingHand];
|
||||
BOOLEAN allowed = TRUE;
|
||||
|
||||
|
||||
if ( gGameSettings.fOptions[TOPTION_AIM_LEVEL_RESTRICTION] && Weapon[obj.usItem].ubWeaponType != GUN_RIFLE && Weapon[obj.usItem].ubWeaponType != GUN_SN_RIFLE )
|
||||
allowed = FALSE;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user