//////////////////////////////////////////////////////////////////////////////// // Djinn Wish // By Deva Bryson Winblood. 02/07/2004 //////////////////////////////////////////////////////////////////////////////// #include "rtsh_multiplay" void main() { object oPC=GetPCSpeaker(); object oDjinn=OBJECT_SELF; int nParm=GetLocalInt(oPC,"nDjinn"); object oItem; object oDest; string sID=GetLocalString(oPC,"sTeamID"); int nN; SetLocalInt(oDjinn,"nGranted",TRUE); // Wish has been granted switch(nParm) { // Djinn Wish Switch case 1: { // back to lair oDest=GetWaypointByTag(sID+"_START"); AssignCommand(oPC,ClearAllActions(TRUE)); AssignCommand(oPC,JumpToObject(oDest)); DelayCommand(5.0,DestroyObject(oDjinn)); break; } // back to lair case 2: { // wealth GiveGoldToCreature(oPC,2500); DelayCommand(HoursToSeconds(6),AssignCommand(oPC,TakeGoldFromCreature(2500,oPC,TRUE))); DelayCommand(30.0,DestroyObject(oDjinn)); break; } // wealth case 3: { // power nN=fnGetTeamMana(oPC); nN=nN+100; SendMessageToPC(oPC,"Your team receives 100 mana."); fnSetTeamMana(oPC,nN); DelayCommand(30.0,DestroyObject(oDjinn)); break; } // power case 4: { // Serve me AssignCommand(oDjinn,SpeakString("I will serve you for 6 hours.")); SetLocalString(oDjinn,"sTeamID",sID); DelayCommand(HoursToSeconds(6),SpeakString("Farewell.")); DelayCommand(HoursToSeconds(6)+10.0,DestroyObject(oDjinn)); oDest=GetWaypointByTag(sID+"_RESOURCES"); oItem=GetObjectByTag(sID+"_PROXY"); ChangeFaction(oDjinn,oItem); break; } // Serve me case 5: { // city oDest=GetWaypointByTag("DJINN_CITY"); AssignCommand(oPC,ClearAllActions(TRUE)); AssignCommand(oPC,JumpToObject(oDest)); DelayCommand(5.0,DestroyObject(oDjinn)); break; } // city case 6: { // elben oDest=GetWaypointByTag("DJINN_ELBEN"); AssignCommand(oPC,ClearAllActions(TRUE)); AssignCommand(oPC,JumpToObject(oDest)); DelayCommand(5.0,DestroyObject(oDjinn)); break; } // elben case 7: { // astral oDest=GetWaypointByTag("DJINN_ASTRAL"); AssignCommand(oPC,ClearAllActions(TRUE)); AssignCommand(oPC,JumpToObject(oDest)); DelayCommand(5.0,DestroyObject(oDjinn)); break; } // astral } // Djinn Wish Switch }