mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
Space Viking's many mercs changes plus numerous generic bug fixes
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2498 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+25
-10
@@ -8416,39 +8416,54 @@ UINT16 GetFirstExplosiveOfType(UINT16 expType)
|
||||
return 0;
|
||||
}
|
||||
|
||||
OBJECTTYPE* FindSunGogglesInInv( SOLDIERTYPE * pSoldier )
|
||||
// WDS - Smart goggle switching
|
||||
OBJECTTYPE* FindSunGogglesInInv( SOLDIERTYPE * pSoldier, BOOLEAN searchAllInventory )
|
||||
{
|
||||
INT8 bLoop;
|
||||
INT16 bonusToBeat = 0;
|
||||
OBJECTTYPE* pGoggles = 0;
|
||||
// CHRISL:
|
||||
for (bLoop = HANDPOS; bLoop < NUM_INV_SLOTS; bLoop++)
|
||||
{
|
||||
for (bLoop = (searchAllInventory ? HELMETPOS : HANDPOS); bLoop < NUM_INV_SLOTS; bLoop++) {
|
||||
if ( pSoldier->inv[bLoop].exists() == true ) {
|
||||
if (Item[pSoldier->inv[bLoop].usItem].brightlightvisionrangebonus > bonusToBeat && Item[pSoldier->inv[bLoop].usItem].usItemClass == IC_FACE )
|
||||
{
|
||||
if (Item[pSoldier->inv[bLoop].usItem].brightlightvisionrangebonus > bonusToBeat && Item[pSoldier->inv[bLoop].usItem].usItemClass == IC_FACE ) {
|
||||
pGoggles = &(pSoldier->inv[bLoop]);
|
||||
bonusToBeat = Item[pSoldier->inv[bLoop].usItem].brightlightvisionrangebonus;
|
||||
}
|
||||
if (searchAllInventory) {
|
||||
OBJECTTYPE* pObj = &(pSoldier->inv[bLoop]);
|
||||
for (attachmentList::iterator iter = (*pObj)[0]->attachments.begin(); iter != (*pObj)[0]->attachments.end(); ++iter) {
|
||||
if ( Item[ iter->usItem ].brightlightvisionrangebonus > bonusToBeat && Item[ iter->usItem ].usItemClass == IC_FACE ) {
|
||||
pGoggles = &(*iter);
|
||||
bonusToBeat = Item[ iter->usItem ].brightlightvisionrangebonus;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return( pGoggles );
|
||||
}
|
||||
|
||||
OBJECTTYPE* FindNightGogglesInInv( SOLDIERTYPE * pSoldier )
|
||||
OBJECTTYPE* FindNightGogglesInInv( SOLDIERTYPE * pSoldier, BOOLEAN searchAllInventory )
|
||||
{
|
||||
INT8 bLoop;
|
||||
INT16 bonusToBeat = 0;
|
||||
OBJECTTYPE* pGoggles = 0;
|
||||
// CHRISL:
|
||||
for (bLoop = HANDPOS; bLoop < NUM_INV_SLOTS; bLoop++)
|
||||
{
|
||||
for (bLoop = (searchAllInventory ? HELMETPOS : HANDPOS); bLoop < NUM_INV_SLOTS; bLoop++) {
|
||||
if ( pSoldier->inv[bLoop].exists() == true ) {
|
||||
if (Item[pSoldier->inv[bLoop].usItem].nightvisionrangebonus > bonusToBeat && Item[pSoldier->inv[bLoop].usItem].usItemClass == IC_FACE )
|
||||
{
|
||||
if (Item[pSoldier->inv[bLoop].usItem].nightvisionrangebonus > bonusToBeat && Item[pSoldier->inv[bLoop].usItem].usItemClass == IC_FACE ) {
|
||||
pGoggles = &(pSoldier->inv[bLoop]);
|
||||
bonusToBeat = Item[pSoldier->inv[bLoop].usItem].nightvisionrangebonus;
|
||||
}
|
||||
if (searchAllInventory) {
|
||||
OBJECTTYPE* pObj = &(pSoldier->inv[bLoop]);
|
||||
for (attachmentList::iterator iter = (*pObj)[0]->attachments.begin(); iter != (*pObj)[0]->attachments.end(); ++iter) {
|
||||
if ( Item[ iter->usItem ].nightvisionrangebonus > bonusToBeat && Item[ iter->usItem ].usItemClass == IC_FACE ) {
|
||||
pGoggles = &(*iter);
|
||||
bonusToBeat = Item[ iter->usItem ].nightvisionrangebonus;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return( pGoggles );
|
||||
|
||||
Reference in New Issue
Block a user