public SummonCreatureGump(Mobile caster, Item scroll) : base(50, 50)
        {
            m_Caster = caster;
            m_Scroll = scroll;

            int x;

            AddPage(0);
            AddBackground(0, 0, 585, 393, 5054);
            AddBackground(195, 36, 387, 275, 3000);
            AddHtml(0, 0, 510, 18, @"<center>Summon Creature Selection Menu", false, false);
            AddHtmlLocalized(60, 355, 150, 18, 1011036, false, false);  // OKAY
            AddButton(25, 355, 4005, 4007, 1, GumpButtonType.Reply, 1);
            AddHtmlLocalized(320, 355, 150, 18, 1011012, false, false); // CANCEL
            AddButton(285, 355, 4005, 4007, 0, GumpButtonType.Reply, 2);

            int y = 35;

            for (int i = 0; i < Categories.Length; i++)
            {
                SummonCreatureCategory cat = Categories[i];
                AddHtmlLocalized(5, y, 150, 25, cat.LocNumber, true, false);
                AddButton(155, y, 4005, 4007, 0, GumpButtonType.Page, i + 1);
                y += 25;
            }

            for (int i = 0; i < Categories.Length; i++)
            {
                SummonCreatureCategory cat = Categories[i];
                AddPage(i + 1);

                for (int c = 0; c < cat.Entries.Length; c++)
                {
                    SummonCreatureEntry entry = cat.Entries[c];
                    x = 198 + (c % 3) * 129;
                    y = 38 + (c / 3) * 67;

                    AddHtml(x, y, 100, 18, entry.LocName, false, false);
                    AddItem(x + 20, y + 25, entry.ArtID);
                    AddRadio(x, y + 20, 210, 211, false, (c << 8) + i);
                }
            }
        }
        public SummonCreatureSpell(Mobile caster, Item scroll, SummonCreatureEntry summonCreatureEntry) : base(caster, scroll, m_Info)
        {
            m_SummonCreatureEntry = summonCreatureEntry;
            Caster.SendAsciiMessage("Where do you wish to summon the creature?");
			m_HasNoTarget = false;
        }