Heal() публичный статический Метод

public static Heal ( int amount, Mobile target, Mobile from ) : void
amount int
target Mobile
from Mobile
Результат void
Пример #1
0
        public void Heal(Mobile caster, Mobile m)
        {
            double toHeal;

            toHeal = Caster.Skills[SkillName.ArtMagique].Value / 5;
            //toHeal += Caster.Skills[SkillName.EvalInt].Value / 10;
            toHeal += Utility.Random(1, 3);


            SpellHelper.Heal(m, (int)toHeal, true);

            Effects.SendTargetParticles(m, 0x376A, 9, 32, 5005, EffectLayer.Waist);
            m.PlaySound(0x1F2);
        }
Пример #2
0
        public override void OnCast()
        {
            if (CheckSequence())
            {
                ArrayList targets = new ArrayList();

                Map map = Caster.Map;

                if (map != null)
                {
                    double tile = 4;

                    SpellHelper.AdjustValue(Caster, tile);

                    if (tile > 12)
                    {
                        tile = 12;
                    }

                    foreach (Mobile m in Caster.GetMobilesInRange((int)tile))
                    {
                        if (Caster.CanBeBeneficial(m, false))
                        {
                            targets.Add(m);
                        }
                    }
                }

                double toHeal;

                toHeal  = Caster.Skills[CastSkill].Value * 0.15;
                toHeal += Caster.Skills[DamageSkill].Value * 0.07;

                toHeal = SpellHelper.AdjustValue(Caster, toHeal);

                for (int i = 0; i < targets.Count; ++i)
                {
                    Mobile m = (Mobile)targets[i];

                    SpellHelper.Heal(m, (int)toHeal + Utility.Random(1, 3), true);

                    Effects.SendTargetParticles(m, 0x376A, 9, 32, 5005, EffectLayer.Waist);
                    m.PlaySound(483);
                }
            }

            FinishSequence();
        }
Пример #3
0
            protected override void OnTick()
            {
                if (m_BaseTotem == null || m_BaseTotem.Deleted || m_BaseTotem.Caster == null || m_BaseTotem.Caster.Deleted || !m_BaseTotem.Caster.Alive)
                {
                    Stop();
                    m_BaseTotem.Delete();
                    return;
                }

                foreach (Mobile m in m_BaseTotem.GetMobilesInRange(m_BaseTotem.MaxRange))
                {
                    if (m != null && m.Alive && m.CanSee(m_BaseTotem) && m is PlayerMobile)
                    {
                        SpellHelper.Heal(m, (int)m_BaseTotem.Bonus + Utility.Random(0, 5), true);
                    }
                }
            }
Пример #4
0
        public virtual void OnEndCast()
        {
            /*if (RenouvellementSpell.m_RenouvellementTable.Contains(Caster))
             * {
             *  SpellHelper.Heal(Caster, (int)RenouvellementSpell.m_RenouvellementTable[Caster], true);
             * }*/

            if (VehemenceMiracle.m_VehemencetTable.Contains(Caster))
            {
                SpellHelper.Heal(Caster, (int)VehemenceMiracle.m_VehemencetTable[Caster], true, true);
            }

            if (ExaltationSpell.m_ExaltationTable.Contains(Caster))
            {
                SpellHelper.Heal(Caster, (int)ExaltationSpell.m_ExaltationTable[Caster], true);
                ExaltationSpell.StopTimer(Caster);

                Effects.SendTargetParticles(Caster, 14265, 10, 15, 5013, 0, 0, EffectLayer.CenterFeet); //ID, speed, dura, effect, hue, render, layer
                Caster.PlaySound(534);
            }
        }
Пример #5
0
        public void Target(Mobile m)
        {
            if (!Caster.CanSee(m))
            {
                Caster.SendLocalizedMessage(500237);                   // Target can not be seen.
            }
            else if (m.IsDeadBondedPet)
            {
                Caster.SendLocalizedMessage(1060177);                   // You cannot heal a creature that is already dead!
            }
            else if (m is BaseCreature && ((BaseCreature)m).IsAnimatedDead)
            {
                Caster.SendLocalizedMessage(1061654);                   // You cannot heal that which is not alive.
            }
            else if (m.Poisoned)
            {
                Caster.LocalOverheadMessage(MessageType.Regular, 0x22, (Caster == m) ? 1005000 : 1010398);
            }
            else if (CheckBSequence(m))
            {
                SpellHelper.Turn(Caster, m);

                double toHeal;

                toHeal  = Caster.Skills[SkillName.Thaumaturgie].Value * 0.15;
                toHeal += Utility.Random(1, 3);

                toHeal += Caster.Skills[SkillName.Soins].Value * 0.15;

                toHeal = SpellHelper.AdjustValue(Caster, toHeal);

                SpellHelper.Heal(m, (int)toHeal, true);

                Effects.SendTargetParticles(m, 0x376A, 9, 32, 5005, EffectLayer.Waist);
                m.PlaySound(0x1F2);
            }

            FinishSequence();
        }
Пример #6
0
        public static void ToogleGreaterHeal(Spell spell, Mobile Caster, Mobile m, double scale)
        {
            SpellHelper.Turn(Caster, m);

            double toHeal;

            toHeal  = Caster.Skills[SkillName.ArtMagique].Value * scale;
            toHeal += Utility.Random(1, 5);

            toHeal += Caster.Skills[SkillName.Soins].Value * scale / 3;

            toHeal = SpellHelper.AdjustValue(Caster, toHeal);

            if (RegenerescenceSpell.m_RegenerescenceTable.Contains(m))
            {
                toHeal *= (double)RegenerescenceSpell.m_RegenerescenceTable[m];
            }

            SpellHelper.Heal(m, (int)toHeal, true);

            Effects.SendTargetParticles(m, 0x376A, 9, 32, 5030, EffectLayer.Waist);
            m.PlaySound(0x202);
        }