mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
I blew it and missed the fact that SpaceViking was still using the old structure in his test code.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2208 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1155,17 +1155,17 @@ BOOLEAN CheckForGunJam( SOLDIERTYPE * pSoldier )
|
||||
// INT32 iChance, iResult;
|
||||
|
||||
// should jams apply to enemies?
|
||||
if (pSoldier->uiStatusFlags & SOLDIER_PC)
|
||||
if (pSoldier->flags.uiStatusFlags & SOLDIER_PC)
|
||||
{
|
||||
if ( Item[pSoldier->usAttackingWeapon].usItemClass == IC_GUN && !EXPLOSIVE_GUN( pSoldier->usAttackingWeapon ) )
|
||||
{
|
||||
pObj = &(pSoldier->inv[pSoldier->ubAttackingHand]);
|
||||
if (pObj->ItemData.Gun.bGunAmmoStatus > 0)
|
||||
if ((*pObj)[0]->data.gun.bGunAmmoStatus > 0)
|
||||
{
|
||||
// Algorithm for jamming
|
||||
int maxJamChance = 50; // Externalize this?
|
||||
int reliability = Item[pObj->usItem].bReliability;
|
||||
int condition = pObj->ItemData.Gun.bGunStatus;
|
||||
int condition = (*pObj)[0]->data.gun.bGunStatus;
|
||||
int invertedBaseJamChance = condition + (reliability * 2) -
|
||||
gGameExternalOptions.ubWeaponReliabilityReductionPerRainIntensity * gbCurrentRainIntensity;
|
||||
if (invertedBaseJamChance < 0)
|
||||
@@ -1218,7 +1218,7 @@ BOOLEAN CheckForGunJam( SOLDIERTYPE * pSoldier )
|
||||
gfNextFireJam = FALSE;
|
||||
|
||||
// jam! negate the gun ammo status.
|
||||
pObj->ItemData.Gun.bGunAmmoStatus *= -1;
|
||||
(*pObj)[0]->data.gun.bGunAmmoStatus *= -1;
|
||||
|
||||
// Deduct AMMO!
|
||||
DeductAmmo( pSoldier, pSoldier->ubAttackingHand );
|
||||
@@ -1227,14 +1227,14 @@ BOOLEAN CheckForGunJam( SOLDIERTYPE * pSoldier )
|
||||
return( TRUE );
|
||||
}
|
||||
}
|
||||
else if (pObj->ItemData.Gun.bGunAmmoStatus < 0)
|
||||
else if ((*pObj)[0]->data.gun.bGunAmmoStatus < 0)
|
||||
{
|
||||
// try to unjam gun
|
||||
int iResult = SkillCheck( pSoldier, UNJAM_GUN_CHECK, (INT8) ((Item[pObj->usItem].bReliability + Item[pObj->ItemData.Gun.usGunAmmoItem].bReliability)* 4) );
|
||||
int iResult = SkillCheck( pSoldier, UNJAM_GUN_CHECK, (INT8) ((Item[pObj->usItem].bReliability + Item[(*pObj)[0]->data.gun.usGunAmmoItem].bReliability)* 4) );
|
||||
if (iResult > 0)
|
||||
{
|
||||
// yay! unjammed the gun
|
||||
pObj->ItemData.Gun.bGunAmmoStatus *= -1;
|
||||
(*pObj)[0]->data.gun.bGunAmmoStatus *= -1;
|
||||
|
||||
// MECHANICAL/DEXTERITY GAIN: Unjammed a gun
|
||||
StatChange( pSoldier, MECHANAMT, 5, FALSE );
|
||||
|
||||
Reference in New Issue
Block a user