예제 #1
0
 static InscribeSystem()
 {
     m_MainMenu = new ItemListEntry[8];
     for (int c = 0; c < 8; c++)
     {
         ItemListEntry[] entry = new ItemListEntry[8];
         for (int n = 0; n < 8; n++)
         {
             entry[n] = new CSI_Scroll(c, n, c * 8 + n);
         }
         m_MainMenu[c] = new CraftSubMenu(TileData.ItemTable[CircleIDOffset + c].Name, CircleIDOffset + c, entry);
     }
 }
예제 #2
0
        public override void OnItemSelected(CraftSystemItem item)
        {
            if (m_Mobile.Deleted || !m_Mobile.Alive)
            {
                End();
                return;
            }

            CSI_Scroll scr = item as CSI_Scroll;

            if (scr == null)
            {
                End();
                return;
            }
            if (Spellbook.Find(m_Mobile, scr.SpellID) == null)
            {
                m_Mobile.SendAsciiMessage("You do not have that spell!");
                End();
                return;
            }

            Spell spell = SpellRegistry.NewSpell(scr.SpellID, m_Mobile, null);

            if (spell == null)
            {
                End();
                return;
            }

            int mana = spell.ScaleMana(spell.GetMana());

            if (m_Mobile.Mana < mana)
            {
                m_Mobile.LocalOverheadMessage(MessageType.Regular, 0x22, 502625);                   // Insufficient mana for this spell.
                End();
                return;
            }
            else if (!spell.ConsumeReagents())
            {
                m_Mobile.LocalOverheadMessage(MessageType.Regular, 0x22, 502630);                   // More reagents are needed for this spell.
                End();
                return;
            }

            m_Mobile.Mana -= mana;

            base.OnItemSelected(item);
        }
예제 #3
0
 static InscribeSystem()
 {
     m_MainMenu = new ItemListEntry[8];
     for (int c=0;c<8;c++)
     {
         ItemListEntry[] entry = new ItemListEntry[8];
         for (int n=0;n<8;n++)
             entry[n] = new CSI_Scroll( c, n, c*8+n );
         m_MainMenu[c] = new CraftSubMenu( TileData.ItemTable[CircleIDOffset+c].Name, CircleIDOffset+c, entry );
     }
 }