mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
LOBOT: enemies wear pistol holsters (by Seven) (#271)
This commit is contained in:
@@ -2246,29 +2246,45 @@ void ChooseBombsForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bBombClas
|
||||
void ChooseLBEsForSoldierCreateStruct( SOLDIERCREATE_STRUCT *pp, INT8 bLBEClass )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"ChooseLBEsForSoldierCreateStruct");
|
||||
//UINT16 i;
|
||||
//INVTYPE *pItem;
|
||||
//UINT16 usRandom;
|
||||
UINT16 usItem = 0;
|
||||
|
||||
// CHRISL: If we're using the old inventory system, just return
|
||||
if((UsingNewInventorySystem() == false))
|
||||
return;
|
||||
|
||||
usItem = PickARandomItem( LBE, pp->ubSoldierClass, bLBEClass, FALSE );
|
||||
UINT16 usItem = PickARandomItem( LBE, pp->ubSoldierClass, bLBEClass, FALSE );
|
||||
if ( usItem > 0 )
|
||||
{
|
||||
CreateItem( usItem, (INT8)(80 + Random( 21 )), &gTempObject );
|
||||
gTempObject.fFlags |= OBJECT_UNDROPPABLE;
|
||||
// put backpacks into the backpack slot for LOBOT
|
||||
if ((UsingNewInventorySystem()) && (Item[usItem].usItemClass & IC_LBEGEAR) && (LoadBearingEquipment[Item[usItem].ubClassIndex].lbeClass == BACKPACK))
|
||||
|
||||
auto isLBEgear = Item[usItem].usItemClass & IC_LBEGEAR;
|
||||
if (isLBEgear)
|
||||
{
|
||||
pp->Inv[BPACKPOCKPOS] = gTempObject;
|
||||
}
|
||||
else
|
||||
{
|
||||
PlaceObjectInSoldierCreateStruct( pp, &gTempObject );
|
||||
// put backpacks into the backpack slot for LOBOT
|
||||
auto lbeClass = LoadBearingEquipment[Item[usItem].ubClassIndex].lbeClass;
|
||||
if (lbeClass == BACKPACK && !pp->Inv[BPACKPOCKPOS].exists())
|
||||
{
|
||||
pp->Inv[BPACKPOCKPOS] = gTempObject;
|
||||
return;
|
||||
}
|
||||
// same for pistol holster
|
||||
if (lbeClass == THIGH_PACK)
|
||||
{
|
||||
if (!pp->Inv[LTHIGHPOCKPOS].exists())
|
||||
{
|
||||
pp->Inv[LTHIGHPOCKPOS] = gTempObject;
|
||||
return;
|
||||
}
|
||||
if (!pp->Inv[RTHIGHPOCKPOS].exists())
|
||||
{
|
||||
pp->Inv[RTHIGHPOCKPOS] = gTempObject;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Couldn't find a specific pocket, just stuff it somewhere
|
||||
PlaceObjectInSoldierCreateStruct( pp, &gTempObject );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user