mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
Fixed a bug that was potentially introduced with the underbarrel weapons. Now checks for pSoldier != NULL when removing attachments, so Ctrl+Shift+F doesn't break.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5152 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+16
-13
@@ -7481,21 +7481,24 @@ BOOLEAN OBJECTTYPE::RemoveAttachment( OBJECTTYPE* pAttachment, OBJECTTYPE * pNew
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if in attached weapon mode and don't have weapon with GL attached in hand, reset weapon mode
|
if (pSoldier != NULL)
|
||||||
if ( ( (pSoldier->bWeaponMode == WM_ATTACHED_GL || pSoldier->bWeaponMode == WM_ATTACHED_GL_BURST || pSoldier->bWeaponMode == WM_ATTACHED_GL_AUTO )&& !IsGrenadeLauncherAttached( &(pSoldier->inv[ HANDPOS ]) ) ) ||
|
|
||||||
( (pSoldier->bWeaponMode == WM_ATTACHED_UB || pSoldier->bWeaponMode == WM_ATTACHED_UB_BURST || pSoldier->bWeaponMode == WM_ATTACHED_UB_AUTO )&& !IsUnderBarrelAttached( &(pSoldier->inv[ HANDPOS ] ) ) ) )
|
|
||||||
{
|
{
|
||||||
if ( !Weapon[pSoldier->inv[ HANDPOS ].usItem].NoSemiAuto )
|
// if in attached weapon mode and don't have weapon with GL attached in hand, reset weapon mode
|
||||||
|
if ( ( (pSoldier->bWeaponMode == WM_ATTACHED_GL || pSoldier->bWeaponMode == WM_ATTACHED_GL_BURST || pSoldier->bWeaponMode == WM_ATTACHED_GL_AUTO )&& !IsGrenadeLauncherAttached( &(pSoldier->inv[ HANDPOS ]) ) ) ||
|
||||||
|
( (pSoldier->bWeaponMode == WM_ATTACHED_UB || pSoldier->bWeaponMode == WM_ATTACHED_UB_BURST || pSoldier->bWeaponMode == WM_ATTACHED_UB_AUTO )&& !IsUnderBarrelAttached( &(pSoldier->inv[ HANDPOS ] ) ) ) )
|
||||||
{
|
{
|
||||||
pSoldier->bWeaponMode = WM_NORMAL;
|
if ( !Weapon[pSoldier->inv[ HANDPOS ].usItem].NoSemiAuto )
|
||||||
pSoldier->bDoBurst = FALSE;
|
{
|
||||||
pSoldier->bDoAutofire = 0;
|
pSoldier->bWeaponMode = WM_NORMAL;
|
||||||
}
|
pSoldier->bDoBurst = FALSE;
|
||||||
else
|
pSoldier->bDoAutofire = 0;
|
||||||
{
|
}
|
||||||
pSoldier->bWeaponMode = WM_AUTOFIRE;
|
else
|
||||||
pSoldier->bDoBurst = TRUE;
|
{
|
||||||
pSoldier->bDoAutofire = 1;
|
pSoldier->bWeaponMode = WM_AUTOFIRE;
|
||||||
|
pSoldier->bDoBurst = TRUE;
|
||||||
|
pSoldier->bDoAutofire = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user