Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
93 lines
3.1 KiB
Plaintext
93 lines
3.1 KiB
Plaintext
//:://////////////////////////////////////////////
|
|
//:: Drug system functions
|
|
//:: prc_inc_drugfunc
|
|
//:://////////////////////////////////////////////
|
|
/** @file
|
|
A bunch of functions common to the drug
|
|
scripts.
|
|
|
|
@author Ornedan
|
|
@data Created 2006.05.29
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:://////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////
|
|
/* Structures */
|
|
//////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////
|
|
/* Constants */
|
|
//////////////////////////////////////////////////
|
|
|
|
|
|
//////////////////////////////////////////////////
|
|
/* Function prototypes */
|
|
//////////////////////////////////////////////////
|
|
|
|
/**
|
|
* Increments the overdose tracking counter by one for the given drug and queues
|
|
* decrementing it by one after the given period.
|
|
* The value of this counter is what will be returned by GetHasOverdosed().
|
|
*
|
|
*/
|
|
void IncrementOverdoseTracker(object oDrugUser, string sODIdentifier, float fODPeriod);
|
|
|
|
/**
|
|
* Checks if the given drug user is currently in the overdose period of the given drug.
|
|
* The value returned is the number of drug uses in the overdose period of which is
|
|
* currently active.
|
|
*
|
|
* @param oDrugUser A creature using a drug.
|
|
* @param sODIdentifier The name of the drug's overdose identifier.
|
|
* @return The current value of the overdose variable - how many drug uses of
|
|
* the given drug are right now in their overdose period.
|
|
*/
|
|
int GetOverdoseCounter(object oDrugUser, string sODIdentifier);
|
|
|
|
|
|
//////////////////////////////////////////////////
|
|
/* Includes */
|
|
//////////////////////////////////////////////////
|
|
|
|
|
|
//////////////////////////////////////////////////
|
|
/* Internal functions */
|
|
//////////////////////////////////////////////////
|
|
|
|
/** Internal function.
|
|
* Implements the decrementing of the overdose counters.
|
|
*
|
|
* @param oDrugUser A creature using a drug.
|
|
* @param sODIdentifier The name of the drug's overdose identifier.
|
|
*/
|
|
void _prc_inc_drugfunc_DecrementOverdoseTracker(object oDrugUser, string sODIdentifier)
|
|
{
|
|
// Delete the variable if decrementing would it would make it 0
|
|
if(GetLocalInt(oDrugUser, sODIdentifier) <= 1)
|
|
DeleteLocalInt(oDrugUser, sODIdentifier);
|
|
else
|
|
SetLocalInt(oDrugUser, sODIdentifier, GetLocalInt(oDrugUser, sODIdentifier) - 1);
|
|
}
|
|
|
|
|
|
//////////////////////////////////////////////////
|
|
/* Function definitions */
|
|
//////////////////////////////////////////////////
|
|
|
|
void IncrementOverdoseTracker(object oDrugUser, string sODIdentifier, float fODPeriod)
|
|
{
|
|
SetLocalInt(oDrugUser, sODIdentifier, GetLocalInt(oDrugUser, sODIdentifier) + 1);
|
|
DelayCommand(fODPeriod, _prc_inc_drugfunc_DecrementOverdoseTracker(oDrugUser, sODIdentifier));
|
|
}
|
|
|
|
|
|
int GetOverdoseCounter(object oDrugUser, string sODIdentifier)
|
|
{
|
|
return GetLocalInt(oDrugUser, sODIdentifier);
|
|
}
|
|
|
|
|
|
// Test main
|
|
//void main(){}
|