Example #1
0
        public virtual void CustomBreathDealDamage( Mobile target )
        {
            Server.Items.FireEffectType effectType = Server.Items.FireEffectType.Fire;
            int fDamage = 0;
            int cDamage = 0;
            int pDamage = 0;
            int eDamage = 0;

            if( RangedAttackType == RangedAttackType.BreathePoison )
            {
                effectType = Server.Items.FireEffectType.Poison;
                pDamage = 100;
            }

            if( RangedAttackType == RangedAttackType.BreatheCold )
            {
                effectType = Server.Items.FireEffectType.Cold;
                cDamage = 100;
            }

            if( RangedAttackType == RangedAttackType.BreatheEnergy )
            {
                effectType = Server.Items.FireEffectType.Energy;
                eDamage = 100;
            }

            if( ( cDamage + eDamage + pDamage ) < 1 )
                fDamage = 100;

            if( CustomBreathType == CustomBreathType.Fire )
            {
                FireEffect fire = new FireEffect();
                fire.FireEffectType = effectType;
                fire.OnExplode( this, null, BreathComputeDamage(), target.Location, target.Map );
            }

            else if( CustomBreathType == CustomBreathType.Goo )
            {
                StickyGooEffect goo = new StickyGooEffect();
                goo.OnExplode( this, null, 100, target.Location, target.Map );
            }

            if( target is PlayerMobile && ( (PlayerMobile)target ).Evaded() )
                return;

            AOS.Damage(target, this, BreathComputeDamage(), 0, fDamage, cDamage, pDamage, eDamage, 0, 0, 0);
        }
Example #2
0
        public virtual void BreathDealDamage(Mobile target)
        {
            FireEffect fire = new FireEffect();
            fire.OnExplode(this, null, BreathComputeDamage(), target.Location, target.Map);

            if (target is PlayerMobile && ((PlayerMobile)target).Evaded())
                return;

            AOS.Damage(target, this, BreathComputeDamage(), 0, 100, 0, 0, 0, 0, 0, 0);
        }