void main() { // * this script used for both the lower and the upper door string sDest = "hnt1tohnt2"; if (GetTag(OBJECT_SELF) == "1_1") { sDest = "hnt2tohnt1"; } object oClicker = GetClickingObject(); object oLoc = GetObjectByTag(sDest); FadeToBlack(oClicker, FADE_SPEED_FAST); AssignCommand(oClicker, DelayCommand(1.0, JumpToObject(oLoc))); object oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oClicker); object oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED, oClicker); object oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oClicker); object oSummoned = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oClicker); if(oAnimal != OBJECT_INVALID) { AssignCommand(oAnimal, ClearAllActions(TRUE)); AssignCommand(oAnimal, JumpToObject(oLoc)); } if(oDominated != OBJECT_INVALID) { AssignCommand(oDominated, ClearAllActions(TRUE)); AssignCommand(oDominated, JumpToObject(oLoc)); } if(oFamiliar != OBJECT_INVALID) { AssignCommand(oFamiliar, ClearAllActions(TRUE)); AssignCommand(oFamiliar, JumpToObject(oLoc)); } if(oSummoned != OBJECT_INVALID) { AssignCommand(oSummoned, ClearAllActions(TRUE)); AssignCommand(oSummoned, JumpToObject(oLoc)); } int i = 1; object oHenchman = GetHenchman(oClicker, i); while(oHenchman != OBJECT_INVALID) { AssignCommand(oHenchman, ClearAllActions(TRUE)); AssignCommand(oHenchman, JumpToObject(oLoc)); i++; oHenchman = GetHenchman(oClicker, i); } DelayCommand(1.0, FadeFromBlack(oClicker, FADE_SPEED_MEDIUM)); }