Files
source/Tactical/Drugs And Alcohol.h
T
Flugente 48178ea56f - Fix: CHANCE_SAY_ANNOYING_PHRASE wasn't used in english when spotting enemies
- removed obsolete drug code
- if health is changed by drugs, display that via damage floater

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7899 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2015-07-04 20:27:29 +00:00

82 lines
1.8 KiB
C++

#ifndef __DRUGS_AND_ALCOHOL_H
#define __DRUGS_AND_ALCOHOL_H
#include "Soldier Control.h"
class DRUG_EFFECT
{
public:
UINT8 effect;
UINT16 duration;
INT16 size;
UINT8 chance;
};
typedef struct
{
UINT8 disease;
INT32 size;
UINT8 chance;
} DISEASE_EFFECT;
typedef struct
{
UINT8 disability;
UINT16 duration;
UINT8 chance;
} DISABILITY_EFFECT;
typedef struct
{
UINT8 personality;
UINT16 duration;
UINT8 chance;
} PERSONALITY_EFFECT;
typedef struct
{
UINT8 uiIndex;
CHAR16 szName[80]; // name, used for display
BOOLEAN opinionevent;
std::vector<DRUG_EFFECT> drug_effects;
std::vector<DISEASE_EFFECT> disease_effects;
std::vector<DISABILITY_EFFECT> disability_effects;
std::vector<PERSONALITY_EFFECT> personality_effects;
} DRUG;
//GLOBALS
#define NEW_DRUGS_MAX 100
extern DRUG NewDrug[NEW_DRUGS_MAX];
enum {
SOBER = 0,
FEELING_GOOD,
BORDERLINE,
DRUNK,
HUNGOVER,
};
BOOLEAN ApplyDrugs_New( SOLDIERTYPE *pSoldier, UINT16 usItem, UINT16 uStatusUsed );
void HandleEndTurnDrugAdjustments_New( SOLDIERTYPE *pSoldier );
INT8 GetDrunkLevel( SOLDIERTYPE *pSoldier );
// does a merc have a disability/personality, or is he under drugs that simulate this?
BOOLEAN DoesMercHaveDisability( SOLDIERTYPE *pSoldier, UINT8 aVal );
BOOLEAN DoesMercHavePersonality( SOLDIERTYPE *pSoldier, UINT8 aVal );
//void HandleEndTurnDrugAdjustments( SOLDIERTYPE *pSoldier );
void HandleAPEffectDueToDrugs( SOLDIERTYPE *pSoldier, INT16 *pubPoints );
void HandleBPEffectDueToDrugs( SOLDIERTYPE *pSoldier, INT16 *psPoints );
INT32 EffectStatForBeingDrunk( SOLDIERTYPE *pSoldier, INT32 iStat );
BOOLEAN MercDruggedOrDrunk( SOLDIERTYPE *pSoldier );
BOOLEAN MercDrugged( SOLDIERTYPE *pSoldier );
void HourlyDrugUpdate();
#endif