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); } }
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); }
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 ); } }