55 lines
1.3 KiB
Plaintext
55 lines
1.3 KiB
Plaintext
/* ds_wateruse
|
|
this goes in every area that you consume water in
|
|
*/
|
|
|
|
//:: adjust for the endurance feat id.
|
|
// const int FEAT_SURVIVAL = 1148; <--- Using Trackless Step instead.
|
|
|
|
|
|
//#include "sha_subr_methds"
|
|
|
|
void main()
|
|
{
|
|
int nToTake = 1; // Number of canteens to take.
|
|
string sTag = "AR_IT_WATER"; // Tag of Water items.
|
|
object oArea = GetArea(OBJECT_SELF);
|
|
object oPC = GetFirstPC();
|
|
|
|
while (GetIsPC(oPC) == TRUE && GetHasFeat(201, oPC) == FALSE) // Trackless Step
|
|
|
|
{
|
|
if (GetArea(oPC) == oArea){
|
|
int nThirst = GetLocalInt(oPC,"nThirst");
|
|
if (nThirst < 500)
|
|
{
|
|
nThirst++;
|
|
int nRandom = d10();
|
|
switch(nRandom)
|
|
{
|
|
case 1:
|
|
nThirst++;
|
|
nThirst++;
|
|
break;
|
|
case 2:
|
|
nThirst++;
|
|
break;
|
|
}
|
|
SetLocalInt(oPC, "nThirst", nThirst);
|
|
} else {
|
|
SendMessageToPC(oPC,"You are thirsty.");
|
|
SetLocalInt(oPC, "nThirst", 0);
|
|
object oItemToTake = GetItemPossessedBy(oPC, "AR_IT_WATER");
|
|
if(GetIsObjectValid(oItemToTake) == TRUE)
|
|
{
|
|
DestroyObject(oItemToTake);
|
|
} else {
|
|
AssignCommand(oPC, ApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(EffectCurse(0, 0, 2, 0, 0, 0)), oPC));
|
|
}
|
|
}
|
|
} // if area
|
|
oPC = GetNextPC();
|
|
} // while
|
|
}
|
|
|
|
|