Ejemplo n.º 1
0
        public static ReturnTypes spell_acid_blast(int sn, int level, CharacterInstance ch, object vo)
        {
            var victim = vo.CastAs <CharacterInstance>();

            var damage = SmaugRandom.D6(level);

            if (victim.SavingThrows.CheckSaveVsSpellStaff(level, victim))
            {
                damage /= 2;
            }

            return(ch.CauseDamageTo(victim, damage, sn));
        }
Ejemplo n.º 2
0
        public static ReturnTypes spell_black_hand(int sn, int level, CharacterInstance ch, object vo)
        {
            var lvl = 0.GetHighestOfTwoNumbers(level);

            lvl = 5.GetLowestOfTwoNumbers(lvl);

            var dam = (int)(1.3f * (lvl * SmaugRandom.D6() + 3));

            var victim = (CharacterInstance)vo;

            if (victim.SavingThrows.CheckSaveVsSpellStaff(lvl, victim))
            {
                dam /= 4;
            }

            return(ch.CauseDamageTo(victim, dam, sn));
        }
Ejemplo n.º 3
0
        public static ReturnTypes spell_caustic_fount(int sn, int level, CharacterInstance ch, object vo)
        {
            var victim = (CharacterInstance)vo;

            var lvl = 0.GetHighestOfTwoNumbers(level);

            lvl = 42.GetLowestOfTwoNumbers(lvl);
            var damage = (int)(1.3f * (2 * lvl * SmaugRandom.D6() - 31));

            damage = 0.GetHighestOfTwoNumbers(damage);

            if (victim.SavingThrows.CheckSaveVsSpellStaff(lvl, victim))
            {
                damage = damage * 1 / 2;
            }
            return(ch.CauseDamageTo(victim, damage, sn));
        }