From 7da7984951833fc96fad02b02a2ecb2c61e06597 Mon Sep 17 00:00:00 2001 From: lalien Date: Mon, 5 Jun 2006 01:03:17 +0000 Subject: [PATCH] - 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 --- GameSettings.h | 30 ++++++++++++------------- GameVersion.cpp | 2 +- JA2.vcproj | 4 ++-- Tactical/Interface Panels.cpp | 42 +++++++++++++++++------------------ Tactical/Items.cpp | 13 ++++++----- 5 files changed, 46 insertions(+), 45 deletions(-) diff --git a/GameSettings.h b/GameSettings.h index e18376bf..c62673b5 100644 --- a/GameSettings.h +++ b/GameSettings.h @@ -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; diff --git a/GameVersion.cpp b/GameVersion.cpp index 65de030d..480122b9 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -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 diff --git a/JA2.vcproj b/JA2.vcproj index 3cb57869..77230029 100644 --- a/JA2.vcproj +++ b/JA2.vcproj @@ -43,7 +43,7 @@ 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 ); } diff --git a/Tactical/Items.cpp b/Tactical/Items.cpp index 3bd2aafc..aad1876b 100644 --- a/Tactical/Items.cpp +++ b/Tactical/Items.cpp @@ -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; } }