void CleanBag(object oBag)
{
  object oItem = GetFirstItemInInventory(oBag);
  while(GetIsObjectValid(oItem))
  {
    DestroyObject(oItem);
    oItem = GetNextItemInInventory(oBag);
  }

}
void CreateAmmunition(object oBag, string AmmoResRef, int Number, int StackSize)
{
    if(!GetIsObjectValid(oBag))
    { return; }
    int i;
    for(i = 0; i < Number; i++)
    {
       CreateItemOnObject(AmmoResRef, oBag, StackSize);
    }
}
void main()
{
     object oPC = GetItemActivator();
     object oBrooch = GetItemActivated();
     object oBag;
     string sBroochTag = GetTag(oBrooch);
     if(sBroochTag == "SHA_EPICBAG_BROOCH_ARROW")
     {
        oBag = GetItemPossessedBy(oPC, "SHA_EPICBAG_ARROWS");
        CleanBag(oBag);
        CreateAmmunition(oBag, "dev_arrors2", 14, 99);
     }
     else if(sBroochTag == "SHA_EPICBAG_BROOCH_BOLTS")
     {
        oBag = GetItemPossessedBy(oPC, "SHA_EPICBAG_BOLTS");
        CleanBag(oBag);
        CreateAmmunition(oBag, "dev_bolt2", 14, 99);
     }
     else if(sBroochTag == "SHA_EPICBAG_BROOCH_BULLETS")
     {
        oBag = GetItemPossessedBy(oPC, "SHA_EPICBAG_BULLETS");
        CleanBag(oBag);
        CreateAmmunition(oBag, "dev_bullets2", 35, 99);
     }
     else if(sBroochTag == "SHA_EPICBAG_BROOCH_DARTS")
     {
        oBag = GetItemPossessedBy(oPC, "SHA_EPICBAG_DARTS");
        CleanBag(oBag);
        CreateAmmunition(oBag, "dev_epicdarts2", 35, 50);
     }
     else if(sBroochTag == "SHA_EPICBAG_BROOCH_SHURIKEN")
     {
        oBag = GetItemPossessedBy(oPC, "SHA_EPICBAG_SHURIKEN");
        CleanBag(oBag);
        CreateAmmunition(oBag, "dev_shuiriken2", 35, 50);
     }
     else if(sBroochTag == "SHA_EPICBAG_BROOCH_THROWINGAXES")
     {
        oBag = GetItemPossessedBy(oPC, "SHA_EPICBAG_THROWINGAXES");
        CleanBag(oBag);
        CreateAmmunition(oBag, "dev_throwingaxe2", 35, 50);
     }
}