void main()
{

object oPC = GetPCSpeaker();

//object oItem = GetItemPossessedBy(oPC, "BronzeKey");

//if (GetIsObjectValid(oItem))
//   {
//   SetPlotFlag(oItem, FALSE);
//   DestroyObject(oItem);
//   }

object oDoor = GetObjectByTag("TrapdoorSWTower");
SetLocked(oDoor, FALSE);
AssignCommand(oDoor, ActionOpenDoor(oDoor));

SetLocalInt(oPC, "SWTowerUnlocked", 1);

object oTarget;
location lTarget;
oTarget = GetWaypointByTag("WP_BelowSWTower");

lTarget = GetLocation(oTarget);

if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;

oTarget=GetFirstFactionMember(oPC, FALSE);

while (GetIsObjectValid(oTarget))
   {
   AssignCommand(oTarget, ClearAllActions());

   DelayCommand(2.0, AssignCommand(oTarget, ActionJumpToLocation(lTarget)));
   oTarget=GetNextFactionMember(oPC, FALSE);
   }

}

