Esempio n. 1
0
        public virtual bool ConsumeReagents()
        {
            if (this.m_Scroll != null || !this.m_Caster.Player)
            {
                return(true);
            }

            if (AosAttributes.GetValue(this.m_Caster, AosAttribute.LowerRegCost) > Utility.Random(100))
            {
                return(true);
            }

            if (Engines.ConPVP.DuelContext.IsFreeConsume(this.m_Caster))
            {
                return(true);
            }

            Container pack = this.m_Caster.Backpack;

            if (pack == null)
            {
                return(false);
            }

            if (pack.ConsumeTotal(this.m_Info.Reagents, this.m_Info.Amounts) == -1)
            {
                return(true);
            }

            //daat99 OWLTR start - use SpellCastersKey
            if (OWLTROptionsManager.IsEnabled(OWLTROptionsManager.OPTIONS_ENUM.USE_STORAGE_RESOURCES) && MasterStorageUtils.ConsumePlayersStorageItems(m_Caster as PlayerMobile, m_Info.Reagents, m_Info.Amounts))
            {
                return(true);
            }
            //daat99 OWLTR end - use SpellCastersKey
            return(false);
        }