diff --git a/Tactical/Drugs And Alcohol.cpp b/Tactical/Drugs And Alcohol.cpp index 46e582c0..3252d356 100644 --- a/Tactical/Drugs And Alcohol.cpp +++ b/Tactical/Drugs And Alcohol.cpp @@ -495,6 +495,24 @@ void HandleEndTurnDrugAdjustments( SOLDIERTYPE *pSoldier ) pSoldier->iHealableInjury += (applieddamage * 100); } } + + // if we took an antidote, reduce poisoning + if ( pSoldier->drugs.bDrugEffect[ DRUG_TYPE_CUREPOISON ] > 0 ) + { + if ( pSoldier->bPoisonSum > 0 ) + { + if ( pSoldier->bPoisonBleeding > 0 ) + { + pSoldier->bPoisonBleeding--; + } + else if ( pSoldier->bPoisonLife > 0 ) + { + pSoldier->bPoisonLife--; + } + + pSoldier->bPoisonSum--; + } + } } } diff --git a/Tactical/Drugs And Alcohol.h b/Tactical/Drugs And Alcohol.h index 6c3b6955..102ab86a 100644 --- a/Tactical/Drugs And Alcohol.h +++ b/Tactical/Drugs And Alcohol.h @@ -34,7 +34,8 @@ enum { DRUG_TYPE_KNOCKOUT, DRUG_TYPE_VISION, DRUG_TYPE_TUNNELVISION, - DRUG_TYPE_LIFEDAMAGE + DRUG_TYPE_LIFEDAMAGE, + DRUG_TYPE_CUREPOISON // 20 }; // Flugente, 12-04-21 @@ -60,7 +61,7 @@ enum { #define DRUG_VISION (1 << DRUG_TYPE_VISION) //0x00020000 //131072 #define DRUG_TUNNELVISION (1 << DRUG_TYPE_TUNNELVISION) //0x00040000 //262144 #define DRUG_LIFEDAMAGE (1 << DRUG_TYPE_LIFEDAMAGE) //0x00080000 //524288 -#define DRUG_MISC_7 0x00100000 //1048576 +#define DRUG_CUREPOISON (1 << DRUG_TYPE_CUREPOISON) //0x00100000 //1048576 #define DRUG_MISC_8 0x00200000 //2097152 #define DRUG_MISC_9 0x00400000 //4194304 #define DRUG_MISC_10 0x00800000 //8388608 diff --git a/Tactical/Soldier Control.h b/Tactical/Soldier Control.h index 4e43d7e1..1af987ef 100644 --- a/Tactical/Soldier Control.h +++ b/Tactical/Soldier Control.h @@ -20,7 +20,7 @@ #define PTR_STANDING (gAnimControl[ pSoldier->usAnimState ].ubHeight == ANIM_STAND) #define PTR_PRONE (gAnimControl[ pSoldier->usAnimState ].ubHeight == ANIM_PRONE) -#define DRUG_TYPE_MAX 20 +#define DRUG_TYPE_MAX 32 // TEMP VALUES FOR NAMES #define MAXCIVLASTNAMES 30