Esempio n. 1
0
        protected override void OnTarget(Mobile from, object targeted)
        {
            ClassControl c_control = null;
            bool         isLoaded  = false;

            foreach (Item i in World.Items.Values)
            {
                if (i is ClassControl)
                {
                    c_control = i as ClassControl;
                }
            }

            if (from.Name == null)
            {
                from.SendMessage("Your name is not valid fix it now");
                return;
            }

            if (targeted is Spellbook)
            {
                Spellbook m_book = (Spellbook)targeted;

                for (int i = 0; i < 20; i++)
                {
                    if (m_book.SpellbookType == c_control.LoadBook[i])
                    {
                        isLoaded = true;
                        break;
                    }
                }


                if (isLoaded)
                {
                    from.SendMessage(0x35, "That Type of Spellbook has already been loaded");
                }

                else
                {
                    c_control.LoadBook[c_control.Loaded_Books] = m_book.SpellbookType;
                    c_control.Loaded_Books += 1;
                    from.SendMessage(6, m_book.SpellbookType + " Spellbook Loaded");
                    m_book.Delete();
                }
            }
            else
            {
                from.SendMessage(0x35, "That is not a Spellbook");
            }
        }
        public override void OnResponse(Server.Network.NetState state, RelayInfo info)
        {
            Mobile from  = state.Mobile;
            int    index = info.ButtonID; //note: 0==exit

            if (from == null || index < 1 || index > ms_entryCount)
            {
                return;                                                     //Avoid crashing the server with faked buttonIDs
            }
            if (m_deed == null || m_deed.Deleted || from.Backpack == null || !m_deed.IsChildOf(from.Backpack))
            {
                from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
            }
            else
            {
                string name = "";
                switch (index)
                {
                case 1: name = "Britain's Book of Compassion"; break;

                case 2: name = "Buccaneer's Den's Book of Chaos"; break;

                case 3: name = "Cove's Book of Love"; break;

                case 4: name = "Jhelom's Book of Valor"; break;

                case 5: name = "Magincia's Book of Pride"; break;

                case 6: name = "Minoc's Book of Sacrifice"; break;

                case 7: name = "Moonglow's Book of Honesty"; break;

                case 8: name = "Nujel'm's Book of Pleasure"; break;

                case 9: name = "Occlo's Book of the Mountain"; break;

                case 10: name = "Serpents Hold's Book of Order"; break;

                case 11: name = "Skara Brae's Book of Spirituality"; break;

                case 12: name = "Trinsic's Book of Honor"; break;

                case 13: name = "Vesper's Book of Industry"; break;

                case 14: name = "Wind's Book of Magicka"; break;

                case 15: name = "Yew's Book of Justice"; break;

                case 16: name = "Delucia's Book of the Lost Lands"; break;

                case 17: name = "Papua's Book of the Swamp"; break;
                }
                if (name != "") //Check if valid name has been set
                {
                    Spellbook book = new Spellbook();
                    book.Content = ulong.MaxValue; //Fill with all spells
                    book.Layer   = Layer.Neck;     //Layer
                    book.Name    = String.Format("{0} (layered)", name);
                    book.Hue     = m_selectedHue;

                    if (from.AddToBackpack(book))
                    {
                        from.SendMessage("The book has been placed in your backpack.");
                        m_deed.Delete();
                    }
                    else
                    {
                        book.Delete();
                        from.SendMessage("An error occured while creating the book.");
                    }
                }
            }
        }