mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
-small sniper fix
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@240 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -2399,13 +2399,10 @@ void CheckIfShotPossible(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestShot, BOOLEAN s
|
|||||||
// if the soldier does have a long range rifle
|
// if the soldier does have a long range rifle
|
||||||
if (pBestShot->bWeaponIn != NO_SLOT)
|
if (pBestShot->bWeaponIn != NO_SLOT)
|
||||||
{
|
{
|
||||||
// Consider long range rifles only
|
|
||||||
OBJECTTYPE * pObj = &pSoldier->inv[pBestShot->bWeaponIn];
|
OBJECTTYPE * pObj = &pSoldier->inv[pBestShot->bWeaponIn];
|
||||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("CheckIfShotPossible: found a gun item # %d",pObj->usItem ));
|
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("CheckIfShotPossible: found a gun item # %d",pObj->usItem ));
|
||||||
|
|
||||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("CheckIfShotPossible: weapon type %d",Weapon [pObj->usItem ].ubWeaponType ));
|
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("CheckIfShotPossible: weapon type %d",Weapon [pObj->usItem ].ubWeaponType ));
|
||||||
//if ( Weapon [pObj->usItem ].ubWeaponType != GUN_SN_RIFLE )
|
|
||||||
// return;
|
|
||||||
|
|
||||||
// if it's in his holster, swap it into his hand temporarily
|
// if it's in his holster, swap it into his hand temporarily
|
||||||
if (pBestShot->bWeaponIn != HANDPOS)
|
if (pBestShot->bWeaponIn != HANDPOS)
|
||||||
@@ -2414,7 +2411,7 @@ void CheckIfShotPossible(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestShot, BOOLEAN s
|
|||||||
RearrangePocket(pSoldier, HANDPOS, pBestShot->bWeaponIn, TEMPORARILY);
|
RearrangePocket(pSoldier, HANDPOS, pBestShot->bWeaponIn, TEMPORARILY);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (!suppressionFire && IsScoped(pObj) && !Weapon[pObj->usItem].NoSemiAuto && GunRange(pObj) > 30 ) || (suppressionFire && IsGunAutofireCapable(pSoldier,pBestShot->bWeaponIn ) && GetMagSize(pObj) > 30 && pObj->ubGunShotsLeft > 20 ))
|
if ( (!suppressionFire && ( (IsScoped(pObj) && GunRange(pObj) > 30) || pSoldier->bOrders == SNIPER ) ) || (suppressionFire && IsGunAutofireCapable(pSoldier,pBestShot->bWeaponIn ) && GetMagSize(pObj) > 30 && pObj->ubGunShotsLeft > 20 ))
|
||||||
{
|
{
|
||||||
// get the minimum cost to attack with this item
|
// get the minimum cost to attack with this item
|
||||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"CheckIfShotPossible: getting min aps");
|
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"CheckIfShotPossible: getting min aps");
|
||||||
|
|||||||
@@ -2238,7 +2238,7 @@ INT32 iCoverPercentBetter;
|
|||||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("decideactionred: weapon in slot #%d",BestShot.bWeaponIn));
|
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("decideactionred: weapon in slot #%d",BestShot.bWeaponIn));
|
||||||
OBJECTTYPE * gun = &pSoldier->inv[BestShot.bWeaponIn];
|
OBJECTTYPE * gun = &pSoldier->inv[BestShot.bWeaponIn];
|
||||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("decideactionred: men in sector %d, ubspotters called by %d, nobody %d",gTacticalStatus.Team[pSoldier->bTeam].bMenInSector,gTacticalStatus.ubSpottersCalledForBy,NOBODY ));
|
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("decideactionred: men in sector %d, ubspotters called by %d, nobody %d",gTacticalStatus.Team[pSoldier->bTeam].bMenInSector,gTacticalStatus.ubSpottersCalledForBy,NOBODY ));
|
||||||
if ( (( IsScoped(gun) && GunRange(gun) > 30 ) || pSoldier->bOrders == SNIPER ) &&
|
if ( ( ( IsScoped(gun) && GunRange(gun) > 30 ) || pSoldier->bOrders == SNIPER ) &&
|
||||||
(gTacticalStatus.Team[pSoldier->bTeam].bMenInSector > 1) &&
|
(gTacticalStatus.Team[pSoldier->bTeam].bMenInSector > 1) &&
|
||||||
(gTacticalStatus.ubSpottersCalledForBy == NOBODY))
|
(gTacticalStatus.ubSpottersCalledForBy == NOBODY))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user