Jaysyn904 04165202c0 Initial upload
Initial upload
2024-11-25 19:36:07 -05:00

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()