mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Added range modifier for throwing knives
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7885 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -2833,6 +2833,7 @@ void LoadItemSettings()
|
||||
gItemSettings.fRangeModifierGun[GUN_SHOTGUN] = iniReader.ReadFloat ("Weapon Settings","RANGE_SHOTGUN_MODIFIER", 1.0f, 0.1f, 5.0f);
|
||||
// -------- LAUNCHERs ---------
|
||||
gItemSettings.fRangeModifierLauncher = iniReader.ReadFloat ("Weapon Settings","RANGE_LAUNCHER_MODIFIER", 1.0f, 0.1f, 5.0f);
|
||||
gItemSettings.fRangeModifierThrowingKnife = iniReader.ReadFloat( "Weapon Settings", "RANGE_THROWINGKNIFE_MODIFIER", 1.0f, 0.1f, 5.0f );
|
||||
// throwing hand grenades
|
||||
gItemSettings.fRangeModifierGrenade = iniReader.ReadFloat ("Weapon Settings","RANGE_GRENADE_MODIFIER", 1.0f, 0.1f, 5.0f);
|
||||
|
||||
|
||||
@@ -2189,6 +2189,7 @@ typedef struct
|
||||
// range modifiers
|
||||
FLOAT fRangeModifierGun[9];
|
||||
FLOAT fRangeModifierLauncher;
|
||||
FLOAT fRangeModifierThrowingKnife;
|
||||
FLOAT fRangeModifierGrenade;
|
||||
|
||||
// damage modifiers
|
||||
|
||||
@@ -6737,6 +6737,8 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
|
||||
iRangeValue = (UINT16)( (FLOAT)iRangeValue * (FLOAT)(gGameExternalOptions.iGunRangeModifier / 100) * gItemSettings.fRangeModifierGun[ Weapon[ gpItemDescObject->usItem ].ubWeaponType ] / 10.0f );
|
||||
else if ( Item[ gpItemDescObject->usItem ].usItemClass & IC_LAUNCHER )
|
||||
iRangeValue = (UINT16)( (FLOAT)iRangeValue * (FLOAT)(gGameExternalOptions.iGunRangeModifier / 100) * gItemSettings.fRangeModifierLauncher / 10.0f );
|
||||
else if ( Item[gpItemDescObject->usItem].usItemClass & IC_THROWING_KNIFE )
|
||||
iRangeValue = (UINT16)((FLOAT)iRangeValue * (FLOAT)(gGameExternalOptions.iGunRangeModifier / 100) * gItemSettings.fRangeModifierThrowingKnife / 10.0f);
|
||||
|
||||
// Get Final Range value
|
||||
UINT16 iFinalRangeValue = (UINT16)( GunRange( gpItemDescObject, gpItemDescSoldier ) / 10.0f );
|
||||
@@ -6757,11 +6759,15 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
|
||||
{
|
||||
// Get base Range value
|
||||
UINT16 iComparedRangeValue = Weapon[ gpComparedItemDescObject->usItem ].usRange;
|
||||
|
||||
// apply Ini modifiers
|
||||
if ( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_GUN )
|
||||
iComparedRangeValue = (UINT16)( (FLOAT)iComparedRangeValue * (FLOAT)(gGameExternalOptions.iGunRangeModifier / 100) * gItemSettings.fRangeModifierGun[ Weapon[ gpComparedItemDescObject->usItem ].ubWeaponType ] / 10.0f );
|
||||
else if ( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_LAUNCHER )
|
||||
iComparedRangeValue = (UINT16)( (FLOAT)iComparedRangeValue * (FLOAT)(gGameExternalOptions.iGunRangeModifier / 100) * gItemSettings.fRangeModifierLauncher / 10.0f );
|
||||
else if ( Item[gpComparedItemDescObject->usItem].usItemClass & IC_THROWING_KNIFE )
|
||||
iComparedRangeValue = (UINT16)((FLOAT)iComparedRangeValue * (FLOAT)(gGameExternalOptions.iGunRangeModifier / 100) * gItemSettings.fRangeModifierThrowingKnife / 10.0f);
|
||||
|
||||
// Get Final Range value
|
||||
UINT16 iComparedFinalRangeValue = (UINT16)( GunRange( gpComparedItemDescObject, gpItemDescSoldier ) / 10.0f );
|
||||
// Get difference
|
||||
@@ -6780,13 +6786,18 @@ void DrawWeaponValues( OBJECTTYPE * gpItemDescObject )
|
||||
ubNumLine = 2;
|
||||
else
|
||||
ubNumLine = 0;
|
||||
|
||||
// Get base Range value
|
||||
UINT16 iRangeValue = Weapon[ gpComparedItemDescObject->usItem ].usRange;
|
||||
|
||||
// apply Ini modifiers
|
||||
if ( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_GUN )
|
||||
iRangeValue = (UINT16)( (FLOAT)iRangeValue * (FLOAT)(gGameExternalOptions.iGunRangeModifier / 100) * gItemSettings.fRangeModifierGun[ Weapon[ gpComparedItemDescObject->usItem ].ubWeaponType ] / 10.0f );
|
||||
else if ( Item[ gpComparedItemDescObject->usItem ].usItemClass & IC_LAUNCHER )
|
||||
iRangeValue = (UINT16)( (FLOAT)iRangeValue * (FLOAT)(gGameExternalOptions.iGunRangeModifier / 100) * gItemSettings.fRangeModifierLauncher / 10.0f );
|
||||
else if ( Item[gpComparedItemDescObject->usItem].usItemClass & IC_THROWING_KNIFE )
|
||||
iRangeValue = (UINT16)((FLOAT)iRangeValue * (FLOAT)(gGameExternalOptions.iGunRangeModifier / 100) * gItemSettings.fRangeModifierThrowingKnife / 10.0f);
|
||||
|
||||
// Get Final Range value
|
||||
UINT16 iFinalRangeValue = (UINT16)( GunRange( gpComparedItemDescObject, NULL ) / 10.0f );
|
||||
// Get difference
|
||||
|
||||
@@ -14122,6 +14122,8 @@ UINT16 GetModifiedGunRange(UINT16 usWeaponIndex)
|
||||
ubRange = (INT16)((FLOAT)( ubRange * gGameExternalOptions.iGunRangeModifier ) / 100 * gItemSettings.fRangeModifierGun[ Weapon[usWeaponIndex].ubWeaponType ] );
|
||||
else if (Item[Weapon[usWeaponIndex].uiIndex].usItemClass == IC_LAUNCHER )
|
||||
ubRange = (INT16)((FLOAT)( ubRange * gGameExternalOptions.iGunRangeModifier ) / 100 * gItemSettings.fRangeModifierLauncher );
|
||||
else if ( Item[Weapon[usWeaponIndex].uiIndex].usItemClass == IC_THROWING_KNIFE )
|
||||
ubRange = (INT16)((FLOAT)(ubRange * gGameExternalOptions.iGunRangeModifier) / 100 * gItemSettings.fRangeModifierThrowingKnife);
|
||||
|
||||
return (UINT16)ubRange;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user