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