Пример #1
0
            protected override void OnTick()
            {
                if (m_From is BaseCreature && m_Target != null)
                {
                    ((BaseCreature)m_From).AlterSpellDamageTo(m_Target, ref m_Damage);
                }

                if (m_Target is BaseCreature && m_From != null)
                {
                    ((BaseCreature)m_Target).AlterSpellDamageFrom(m_From, ref m_Damage);
                }

                WeightOverloading.DFA = m_DFA;

                int damageGiven = AOS.Damage(m_Target, m_From, m_Damage, m_Phys, m_Fire, m_Cold, m_Pois, m_Nrgy);

                WeightOverloading.DFA = DFAlgorithm.Standard;

                SpellPlagueSpell.CheckPlague(m_Target);

                if (m_Target is BaseCreature && m_From != null)
                {
                    ((BaseCreature)m_Target).OnDamagedBySpell(m_From);
                }
            }
Пример #2
0
        public static void Damage(TimeSpan delay, Mobile target, Mobile from, double damage, int phys, int fire, int cold, int pois, int nrgy, DFAlgorithm dfa)
        {
            int iDamage = (int)damage;

            if (delay == TimeSpan.Zero)
            {
                if (from is BaseCreature)
                {
                    ((BaseCreature)from).AlterSpellDamageTo(target, ref iDamage);
                }

                if (target is BaseCreature)
                {
                    ((BaseCreature)target).AlterSpellDamageFrom(from, ref iDamage);
                }

                WeightOverloading.DFA = dfa;

                int damageGiven = AOS.Damage(target, from, iDamage, phys, fire, cold, pois, nrgy);

                WeightOverloading.DFA = DFAlgorithm.Standard;

                SpellPlagueSpell.CheckPlague(target);

                if (target is BaseCreature && from != null)
                {
                    ((BaseCreature)target).OnDamagedBySpell(from);
                }
            }
            else
            {
                new SpellDamageTimerAOS(target, from, iDamage, phys, fire, cold, pois, nrgy, delay, dfa).Start();
            }
        }