mirror of
https://github.com/1dot13/source.git
synced 2026-08-19 14:20:30 +02:00
New feature: food system requires mercs to eat and drink in order to survive
- food and water levels are lowered every hour, eat food to survive - not doing so leads to various penalties and ultimately death - added food items for that purpose. Food can degrade over time. Rotten food poisons. - Mercs automatically consume food if hungry/thirsty and food is in their inventories - for more info, see http://www.bears-pit.com/board/ubbthreads.php/topics/307396/Re_Mercs_need_food_and_water_t.html#Post307396 - this feature requires new STI files from the GameDir trunk. - added a bunch of filler variable to the soldier type, so hopefully savegame compatibility can be maintained easier in the future. WARNING: This will break savegame compatibility git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5411 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -66,6 +66,14 @@ BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject )
|
||||
gMercProfiles[ LARRY_DRUNK ].bNPCData = 0;
|
||||
}
|
||||
|
||||
BOOLEAN consumeitem = TRUE;
|
||||
// if item is also a food iem, don't use it up here, it will be consumed in ApplyFood, which will be called afterwards
|
||||
UINT32 foodtype = Item[pObject->usItem].foodtype;
|
||||
|
||||
// if not a food item, nothing to see here
|
||||
if ( foodtype > 0 )
|
||||
consumeitem = FALSE;
|
||||
|
||||
// set flag: we are on drugs
|
||||
pSoldier->bSoldierFlagMask |= SOLDIER_DRUGGED;
|
||||
|
||||
@@ -209,23 +217,30 @@ BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject )
|
||||
pSoldier->bRegenBoostersUsedToday++;
|
||||
}
|
||||
|
||||
// ATE: use kit points...
|
||||
if ( usItem == ALCOHOL )
|
||||
UseKitPoints( pObject, 10, pSoldier );
|
||||
else if ( usItem == WINE )
|
||||
UseKitPoints( pObject, 20, pSoldier );
|
||||
else if ( usItem == BEER )
|
||||
UseKitPoints( pObject, 100, pSoldier );
|
||||
else
|
||||
// increase drug counter if not alcoholic drug
|
||||
if ( usItem != ALCOHOL && usItem != WINE && usItem != BEER )
|
||||
{
|
||||
// remove object
|
||||
pObject->RemoveObjectsFromStack(1);
|
||||
|
||||
if ( gMercProfiles[ pSoldier->ubProfile ].ubNumTimesDrugUseInLifetime != 255 )
|
||||
{
|
||||
gMercProfiles[ pSoldier->ubProfile ].ubNumTimesDrugUseInLifetime++;
|
||||
}
|
||||
}
|
||||
|
||||
// ATE: use kit points...
|
||||
if ( consumeitem )
|
||||
{
|
||||
if ( usItem == ALCOHOL )
|
||||
UseKitPoints( pObject, 10, pSoldier );
|
||||
else if ( usItem == WINE )
|
||||
UseKitPoints( pObject, 20, pSoldier );
|
||||
else if ( usItem == BEER )
|
||||
UseKitPoints( pObject, 100, pSoldier );
|
||||
else
|
||||
{
|
||||
// remove object
|
||||
pObject->RemoveObjectsFromStack(1);
|
||||
}
|
||||
}
|
||||
|
||||
if ( (ubDrugType & DRUG_ALCOHOL) != 0 )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user