void main()
{
   object oPC = GetItemActivator();
   string itemTag = GetTag(GetItemActivated());
   if(GetIsInCombat(oPC))
   {
      SendMessageToPC(oPC, "You cannot use this item while in combat");
      return;
   }

   if(itemTag == "SHA_HOUSE_INSIGNIA_1")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_1");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_1", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_1", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_2")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_2");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_2", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_2", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_3")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_3");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_3", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_3", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_4")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_4");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_4", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_4", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_5")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_5");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_5", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_5", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_6")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_6");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_6", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_6", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_7")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_7");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_7", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_7", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_8")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_8");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_8", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_8", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_L1")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_L1");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_L1", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_L1", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_L2")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_L2");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_L2", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_L2", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
   else if(itemTag == "SHA_HOUSE_INSIGNIA_L3")
   {
       object oPortal = GetObjectByTag("DROW_HOUSE_RECALL_L3");
       SetLocalInt(oPC, "DROW_HOUSE_RECALL_L3", 1);
       SetLocalLocation(oPC, "DROW_HOUSE_RECALL_L3", GetLocation(oPC));
       object oClicker = oPC;
       AssignCommand(oClicker, ClearAllActions());
       AssignCommand(oClicker, PlaySound("as_mg_telepout1"));
       AssignCommand(oClicker, JumpToObject(oPortal));
       AssignCommand(oClicker, ActionDoCommand(ClearAllActions()));
   }
}