1 #ifndef __DRUGS_AND_ALCOHOL_H
2 #define __DRUGS_AND_ALCOHOL_H
3 
4 
5 #define DRUG_TYPE_ADRENALINE		0
6 #define DRUG_TYPE_ALCOHOL		1
7 #define NO_DRUG			2
8 #define NUM_COMPLEX_DRUGS		2
9 #define DRUG_TYPE_REGENERATION		3
10 
11 #define SOBER				0
12 #define FEELING_GOOD			1
13 #define BORDERLINE			2
14 #define DRUNK				3
15 #define HUNGOVER			4
16 
17 #define REGEN_POINTS_PER_BOOSTER	4
18 #define LIFE_GAIN_PER_REGEN_POINT	10
19 
20 BOOLEAN ApplyDrugs( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObject );
21 
22 void HandleEndTurnDrugAdjustments( SOLDIERTYPE *pSoldier );
23 void HandleAPEffectDueToDrugs(const SOLDIERTYPE* pSoldier, UINT8* pubPoints);
24 void HandleBPEffectDueToDrugs( SOLDIERTYPE *pSoldier, INT16 *psPoints );
25 
26 
27 INT8 GetDrugEffect( SOLDIERTYPE *pSoldier, UINT8 ubDrugType );
28 INT8 GetDrunkLevel(const SOLDIERTYPE* pSoldier);
29 INT32 EffectStatForBeingDrunk(const SOLDIERTYPE* pSoldier, INT32 iStat);
30 BOOLEAN MercUnderTheInfluence(const SOLDIERTYPE* pSoldier);
31 
32 
33 #endif
34