Example #1
0
        public virtual double GetSlayerDamageBonus(Mobile defender)
        {
            double slayerBonus = 0;

            PlayerMobile pm = m_Caster as PlayerMobile;

            if (pm == null)
            {
                return(slayerBonus);
            }

            Spellbook    atkBook;
            BaseCreature bc_Defender = defender as BaseCreature;

            //Player Has a Bound Enhanced Spellbook
            if (pm.FindItemOnLayer(Layer.OneHanded) is EnhancedSpellbook)
            {
                EnhancedSpellbook enhancedSpellbook = pm.FindItemOnLayer(Layer.OneHanded) as EnhancedSpellbook;

                //Enhanced Spellbook is Currently Equipped on Player and is Slayer Type
                if (enhancedSpellbook.EnhancedType == EnhancedSpellbookType.Slayer && bc_Defender != null)
                {
                    if (enhancedSpellbook.SlayerGroup == bc_Defender.SlayerGroup)
                    {
                        defender.FixedEffect(0x37B9, 10, 5);

                        Boolean isTamedTarget = SpellHelper.IsTamedTarget(m_Caster, defender);

                        if (isTamedTarget)
                        {
                            slayerBonus = SpellHelper.SlayerTamedBonus;
                        }

                        else
                        {
                            slayerBonus = SpellHelper.SlayerBonus;
                        }

                        enhancedSpellbook.OnSpellCast(m_Caster);
                    }
                }

                else
                {
                    return(slayerBonus);
                }
            }

            else
            {
                return(slayerBonus);
            }

            return(slayerBonus);
        }