コード例 #1
0
        private static void EventSink_BeforeDamage(BeforeDamageEventArgs e)
        {
            int amount = e.Amount;

            AlterDamage(e.From, e.Mobile, ref amount);

            e.Amount = amount;
        }
コード例 #2
0
 private static void EventSink_BeforeDamage(BeforeDamageEventArgs e)
 {
     if (CheckEffect(e.Mobile))
     {
         bool isFromPlayer = (e.From != null && e.From.Player);
         e.Amount = (int)(e.Amount * (isFromPlayer ? 1.1 : 1.25));
     }
 }
コード例 #3
0
ファイル: Perseverance.cs プロジェクト: dpisanu/xrunuo
        private static void EventSink_BeforeDamage(BeforeDamageEventArgs e)
        {
            Perseverance spellsong = Spellsong.GetEffectSpellsong <Perseverance>(e.Mobile);

            if (spellsong != null)
            {
                e.Amount = (int)(e.Amount * (100 - spellsong.DamageTaken) / 100);
            }
        }
コード例 #4
0
        private static void EventSink_BeforeDamage(BeforeDamageEventArgs e)
        {
            if (e.From == null)
            {
                return;
            }

            Inspire spellsong = Spellsong.GetEffectSpellsong <Inspire>(e.From);

            if (spellsong != null)
            {
                e.Amount = (int)(e.Amount * (100 + spellsong.DamageModifier) / 100);
            }
        }
コード例 #5
0
        private static void EventSink_BeforeDamage(BeforeDamageEventArgs e)
        {
            if (e.From == null)
            {
                return;
            }

            Mobile oath = Spells.Necromancy.BloodOathSpell.GetBloodOath(e.From);

            if (oath == e.Mobile)
            {
                e.Amount = (int)(e.Amount * 1.1);

                if (e.Amount > 35 && e.Mobile.Player && e.From.Player)
                {
                    e.Amount = 35;
                }

                /* Per EA's UO Herald Pub48 (ML):
                 * ((resist spells x 10)/20 + 10 = percentage of damage resisted)
                 */
                e.From.Damage((int)(e.Amount * (1 - (((e.From.Skills.MagicResist.Value * .5) + 10) / 100))), e.Mobile);
            }
        }