//////////////////////////////////////////////////////////////////////////////// // wazoo_use_place - Spells Out The Wazoo - Multi-Purpose Placeables OnUsed // By Deva Bryson Winblood. 9/18/2004 //////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////// // PROTOTYPES ///////////////////////////////////// /////////////////////////////////////////////////////////////////////////// MAIN void main() { object oPC=GetLastUsedBy(); string sTag=GetTag(OBJECT_SELF); object oDest; object oOb; int nN; float fF; location lLoc; vector vV; if (GetIsObjectValid(oPC)) { // valid if (sTag=="wazoo_po_ropetd") { // used the Rope Trick Placeable while it was down oDest=GetLocalObject(OBJECT_SELF,"oLink"); AssignCommand(oPC,SpeakString("*climbs rope*")); AssignCommand(oPC,JumpToObject(oDest)); } // used the Rope Trick Placeable while it was down else if (sTag=="wazoo_po_ropetu") { // used the Rope Trick Placeable while it was up oDest=GetLocalObject(OBJECT_SELF,"oLink"); oOb=GetLocalObject(oDest,"oArea"); vV.x=GetLocalFloat(oDest,"fX"); vV.y=GetLocalFloat(oDest,"fY"); vV.z=GetLocalFloat(oDest,"fZ"); lLoc=Location(oOb,vV,GetLocalFloat(oDest,"fOrientation")); AssignCommand(oPC,SpeakString("*lowers rope*")); oOb=CreateObject(OBJECT_TYPE_PLACEABLE,"wazoo_po_ropetd",lLoc); if (GetIsObjectValid(oOb)) { // rope made SetLocalObject(oOb,"oLink",oDest); SetLocalObject(oDest,"oRope",oOb); } // rope made else { // failed AssignCommand(oPC,SpeakString("Failed to create rope at Area '"+GetName(GetLocalObject(oDest,"oArea"))+"' at X:"+FloatToString(vV.x)+",Y:"+FloatToString(vV.y)+"Z:"+FloatToString(vV.z)+"!")); } // failed DestroyObject(OBJECT_SELF); } // used the Rope Trick Placeable while it was up else if (GetName(OBJECT_SELF)=="Rope Trick Exit") { // exit rope trick AssignCommand(oPC,ClearAllActions()); SetLocalObject(oPC,"oTarget",OBJECT_SELF); AssignCommand(oPC,ActionStartConversation(oPC,"wazoo_cv_ropetri",TRUE,FALSE)); } // exit rope trick } // valid } /////////////////////////////////////////////////////////////////////////// MAIN ///////////////////////////////////// // FUNCTIONS /////////////////////////////////////