mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
Fix: underbarrel weapons did not properly cause explosions according to their ammotype
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5988 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -297,11 +297,18 @@ void InternalIgniteExplosion( UINT8 ubOwner, INT16 sX, INT16 sY, INT16 sZ, INT32
|
|||||||
return; // no explosive / no attacker
|
return; // no explosive / no attacker
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The ammotype used. WARNING! This will only be != 0 if ubOwner != NOBODY !
|
||||||
|
UINT16 ammotype = 0;
|
||||||
|
|
||||||
// Okay, we either got an explosive or a real attacker to check for.
|
// Okay, we either got an explosive or a real attacker to check for.
|
||||||
// Let's check for the attacker first.
|
// Let's check for the attacker first.
|
||||||
if ( ubOwner != NOBODY )
|
if ( ubOwner != NOBODY )
|
||||||
{
|
{
|
||||||
if ( !( Item[ usItem ].usItemClass & IC_EXPLOSV ) && AmmoTypes[MercPtrs[ubOwner]->inv[MercPtrs[ubOwner]->ubAttackingHand ][0]->data.gun.ubGunAmmoType].explosionSize < 2 )
|
OBJECTTYPE* pUsedGun = MercPtrs[ ubOwner ]->GetUsedWeapon( &MercPtrs [ ubOwner ]->inv[MercPtrs[ubOwner]->ubAttackingHand] );
|
||||||
|
|
||||||
|
ammotype = (*pUsedGun)[0]->data.gun.ubGunAmmoType;
|
||||||
|
|
||||||
|
if ( !( Item[ usItem ].usItemClass & IC_EXPLOSV ) && AmmoTypes[ammotype].explosionSize < 2 )
|
||||||
{
|
{
|
||||||
return; // no explosive and attackers gun is not fireing HE
|
return; // no explosive and attackers gun is not fireing HE
|
||||||
}
|
}
|
||||||
@@ -328,7 +335,7 @@ void InternalIgniteExplosion( UINT8 ubOwner, INT16 sX, INT16 sY, INT16 sZ, INT32
|
|||||||
// No explosive but an attacker with HE ammo.
|
// No explosive but an attacker with HE ammo.
|
||||||
if ( !( Item[ usItem ].usItemClass & IC_EXPLOSV ) && ubOwner != NOBODY)
|
if ( !( Item[ usItem ].usItemClass & IC_EXPLOSV ) && ubOwner != NOBODY)
|
||||||
{
|
{
|
||||||
ExpParams.ubTypeID = (INT8)Explosive[AmmoTypes[MercPtrs[ubOwner]->inv[MercPtrs[ubOwner]->ubAttackingHand ][0]->data.gun.ubGunAmmoType].highExplosive].ubAnimationID;
|
ExpParams.ubTypeID = (INT8)Explosive[AmmoTypes[ammotype].highExplosive].ubAnimationID;
|
||||||
// return;
|
// return;
|
||||||
}
|
}
|
||||||
else // just normal explosives should get here
|
else // just normal explosives should get here
|
||||||
|
|||||||
Reference in New Issue
Block a user