151 lines
6.9 KiB
Plaintext
151 lines
6.9 KiB
Plaintext
///////////////////////////////////////////////////////
|
|
// DESERT HEAT 2.0 - Item activation group script
|
|
// By Deva Bryson Winblood
|
|
// 10/10/2003
|
|
///////////////////////////////////////////////////////
|
|
|
|
///////////////////
|
|
// PROTOTYPES
|
|
///////////////////
|
|
void fnEmptyWaterBottle();
|
|
void fnWaterBottle();
|
|
void fnWaterSpecial();
|
|
void fnCreate(object oWhere,string sWhat);
|
|
|
|
//////////////////////////////////////// MAIN
|
|
void main()
|
|
{
|
|
object oItem=GetItemActivated();
|
|
string sTag=GetTag(oItem);
|
|
if (sTag=="DH2_EWBOT") fnEmptyWaterBottle();
|
|
if (sTag=="DH2_WATERBOT") fnWaterBottle();
|
|
if (sTag=="DH2_WATERSPEC") fnWaterSpecial();
|
|
}
|
|
///////////////////////////////////////// MAIN
|
|
|
|
///////////////////////////
|
|
// FUNCTIONS
|
|
///////////////////////////
|
|
void fnEmptyWaterBottle()
|
|
{
|
|
object oItem=GetItemActivated();
|
|
object oPC=GetItemActivator();
|
|
string sSpec="";
|
|
string sWT=GetLocalString(oPC,"DH2_WaterType");
|
|
string sFL=GetStringLeft(sWT,1);
|
|
if (GetLocalInt(oPC,"DH2_Water")==TRUE)
|
|
{ // water available to fill up
|
|
if (sFL=="@"||sFL=="#") sSpec=sWT;
|
|
if (sSpec!="")
|
|
{ // special
|
|
oItem=CreateItemOnObject("dh2_waterspec",oPC,1);
|
|
SetLocalString(oItem,"DH2_WaterType",sSpec);
|
|
} // special
|
|
else
|
|
{ // normal
|
|
oItem=CreateItemOnObject("dh2_waterbot",oPC,1);
|
|
} // normal
|
|
} // water available to fill up
|
|
else
|
|
{ // no water source
|
|
SendMessageToPC(oPC,"You are not near enough to a water source to fill this bottle");
|
|
DelayCommand(4.0,fnCreate(oPC,"dh2_ewbot"));
|
|
} // no water source
|
|
} // fnEmptyWaterBottle()
|
|
|
|
void fnWaterBottle()
|
|
{
|
|
object oPC=GetItemActivator();
|
|
DeleteLocalInt(oPC,"DH2_HeatLevel");
|
|
SendMessageToPC(oPC,"You drink the water. It is refreshing.");
|
|
CreateItemOnObject("dh2_ewbot",oPC,1);
|
|
} // fnWaterBottle()
|
|
|
|
void fnWaterSpecial()
|
|
{
|
|
object oPC=GetItemActivator();
|
|
effect eEffect;
|
|
object oItem=GetItemActivated();
|
|
string sName=GetLocalString(oItem,"DH2_WaterType");
|
|
DeleteLocalInt(oPC,"DH2_HeatLevel");
|
|
SendMessageToPC(oPC,"You drink the water. It is refreshing.");
|
|
CreateItemOnObject("dh2_ewbot",oPC,1);
|
|
if (GetStringLeft(sName,1)=="@")
|
|
{ // execute special script
|
|
sName=GetStringRight(sName,GetStringLength(sName)-1);
|
|
ExecuteScript(sName,oPC);
|
|
} // execute special script
|
|
else if (GetStringLeft(sName,1)=="#")
|
|
{ // poisons and diseases OH MY
|
|
sName=GetStringRight(sName,GetStringLength(sName)-1);
|
|
if (sName=="DBS") eEffect=EffectDisease(DISEASE_BLINDING_SICKNESS);
|
|
else if (sName=="DBM") eEffect=EffectDisease(DISEASE_BURROW_MAGGOTS);
|
|
else if (sName=="DCF") eEffect=EffectDisease(DISEASE_CACKLE_FEVER);
|
|
else if (sName=="DDF") eEffect=EffectDisease(DISEASE_DEMON_FEVER);
|
|
else if (sName=="DDC") eEffect=EffectDisease(DISEASE_DEVIL_CHILLS);
|
|
else if (sName=="DDB") eEffect=EffectDisease(DISEASE_DREAD_BLISTERS);
|
|
else if (sName=="DFF") eEffect=EffectDisease(DISEASE_FILTH_FEVER);
|
|
else if (sName=="DGR") eEffect=EffectDisease(DISEASE_GHOUL_ROT);
|
|
else if (sName=="DMF") eEffect=EffectDisease(DISEASE_MINDFIRE);
|
|
else if (sName=="DMR") eEffect=EffectDisease(DISEASE_MUMMY_ROT);
|
|
else if (sName=="DRA") eEffect=EffectDisease(DISEASE_RED_ACHE);
|
|
else if (sName=="DRSE") eEffect=EffectDisease(DISEASE_RED_SLAAD_EGGS);
|
|
else if (sName=="DS") eEffect=EffectDisease(DISEASE_SHAKES);
|
|
else if (sName=="DSD") eEffect=EffectDisease(DISEASE_SLIMY_DOOM);
|
|
else if (sName=="DSS") eEffect=EffectDisease(DISEASE_SOLDIER_SHAKES);
|
|
else if (sName=="DVM") eEffect=EffectDisease(DISEASE_VERMIN_MADNESS);
|
|
else if (sName=="DZC") eEffect=EffectDisease(DISEASE_ZOMBIE_CREEP);
|
|
else if (sName=="PAV") eEffect=EffectPoison(POISON_ARANEA_VENOM);
|
|
else if (sName=="PAR") eEffect=EffectPoison(POISON_ARSENIC);
|
|
else if (sName=="PBV") eEffect=EffectPoison(POISON_BEBILITH_VENOM);
|
|
else if (sName=="PBAV") eEffect=EffectPoison(POISON_BLACK_ADDER_VENOM);
|
|
else if (sName=="PBLE") eEffect=EffectPoison(POISON_BLACK_LOTUS_EXTRACT);
|
|
else if (sName=="PBB") eEffect=EffectPoison(POISON_BLADE_BANE);
|
|
else if (sName=="PBR") eEffect=EffectPoison(POISON_BLOODROOT);
|
|
else if (sName=="PBW") eEffect=EffectPoison(POISON_BLUE_WHINNIS);
|
|
else if (sName=="PBOF") eEffect=EffectPoison(POISON_BURNT_OTHUR_FUMES);
|
|
else if (sName=="PCCBJ") eEffect=EffectPoison(POISON_CARRION_CRAWLER_BRAIN_JUICE);
|
|
else if (sName=="PCM") eEffect=EffectPoison(POISON_CHAOS_MIST);
|
|
else if (sName=="PCSV") eEffect=EffectPoison(POISON_COLOSSAL_SPIDER_VENOM);
|
|
else if (sName=="PDRP") eEffect=EffectPoison(POISON_DARK_REAVER_POWDER);
|
|
else if (sName=="PDB") eEffect=EffectPoison(POISON_DEATHBLADE);
|
|
else if (sName=="PDRB") eEffect=EffectPoison(POISON_DRAGON_BILE);
|
|
else if (sName=="PEV") eEffect=EffectPoison(POISON_ETTERCAP_VENOM);
|
|
else if (sName=="PGSV") eEffect=EffectPoison(POISON_GARGANTUAN_SPIDER_VENOM);
|
|
else if (sName=="PGWP") eEffect=EffectPoison(POISON_GIANT_WASP_POISON);
|
|
else if (sName=="PGBO") eEffect=EffectPoison(POISON_GREENBLOOD_OIL);
|
|
else if (sName=="PHSV") eEffect=EffectPoison(POISON_HUGE_SPIDER_VENOM);
|
|
else if (sName=="PIM") eEffect=EffectPoison(POISON_ID_MOSS);
|
|
else if (sName=="PIG") eEffect=EffectPoison(POISON_IRON_GOLEM);
|
|
else if (sName=="PLSCV") eEffect=EffectPoison(POISON_LARGE_SCORPION_VENOM);
|
|
else if (sName=="PLSV") eEffect=EffectPoison(POISON_LARGE_SPIDER_VENOM);
|
|
else if (sName=="PLD") eEffect=EffectPoison(POISON_LICH_DUST);
|
|
else if (sName=="PMRP") eEffect=EffectPoison(POISON_MALYSS_ROOT_PASTE);
|
|
else if (sName=="PMSV") eEffect=EffectPoison(POISON_MEDIUM_SPIDER_VENOM);
|
|
else if (sName=="PNS") eEffect=EffectPoison(POISON_NIGHTSHADE);
|
|
else if (sName=="PN") eEffect=EffectPoison(POISON_NITHARIT);
|
|
else if (sName=="POOT") eEffect=EffectPoison(POISON_OIL_OF_TAGGIT);
|
|
else if (sName=="PPSV") eEffect=EffectPoison(POISON_PHASE_SPIDER_VENOM);
|
|
else if (sName=="PPFI") eEffect=EffectPoison(POISON_PIT_FIEND_ICHOR);
|
|
else if (sName=="PPWP") eEffect=EffectPoison(POISON_PURPLE_WORM_POISON);
|
|
else if (sName=="PQV") eEffect=EffectPoison(POISON_QUASIT_VENOM);
|
|
else if (sName=="PSLR") eEffect=EffectPoison(POISON_SASSONE_LEAF_RESIDUE);
|
|
else if (sName=="PSE") eEffect=EffectPoison(POISON_SHADOW_ESSENCE);
|
|
else if (sName=="PSCP") eEffect=EffectPoison(POISON_SMALL_CENTIPEDE_POISON);
|
|
else if (sName=="PSSV") eEffect=EffectPoison(POISON_SMALL_SPIDER_VENOM);
|
|
else if (sName=="PST") eEffect=EffectPoison(POISON_STRIPED_TOADSTOOL);
|
|
else if (sName=="PTR") eEffect=EffectPoison(POISON_TERINAV_ROOT);
|
|
else if (sName=="PTSV") eEffect=EffectPoison(POISON_TINY_SPIDER_VENOM);
|
|
else if (sName=="PUD") eEffect=EffectPoison(POISON_UNGOL_DUST);
|
|
else if (sName=="PWSV") eEffect=EffectPoison(POISON_WRAITH_SPIDER_VENOM);
|
|
else if (sName=="PWP") eEffect=EffectPoison(POISON_WYVERN_POISON);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,eEffect,oPC,5.0);
|
|
} // poisons and diseases OH MY
|
|
} // fnWaterSpecial()
|
|
|
|
void fnCreate(object oWhere,string sWhat)
|
|
{
|
|
CreateItemOnObject(sWhat,oWhere,1);
|
|
} // fnCreate()
|
|
|