Example #1
0
        public override void OnCast()
        {
            if (CheckSequence())
            {
                double time = DamagingSkill(Caster) * 2;
                if (time > 480)
                {
                    time = 480.0;
                }
                if (time < 120)
                {
                    time = 120.0;
                }

                int creatures = Caster.FollowersMax - Caster.Followers;
                if (creatures > 3)
                {
                    creatures = 3;
                }

                TimeSpan duration = TimeSpan.FromSeconds(time);

                BaseCreature m_Creature = new Rabbit();

                while (creatures > 0)
                {
                    creatures--;
                    switch (Utility.RandomMinMax(0, 10))
                    {
                    case 0: m_Creature = new BlackBear();           break;

                    case 1: m_Creature = new BrownBear();           break;

                    case 2: m_Creature = new DireWolf();            break;

                    case 3: m_Creature = new Panther();                     break;

                    case 4: m_Creature = new Tiger();                       break;

                    case 5: m_Creature = new TimberWolf();          break;

                    case 6: m_Creature = new Scorpion();            break;

                    case 7: m_Creature = new GiantSpider();         break;

                    case 8: m_Creature = new HugeLizard();          break;

                    case 9: m_Creature = new GiantToad();           break;

                    case 10: m_Creature = new Slime();                      break;
                    }

                    m_Creature.ControlSlots = 1;
                    SpellHelper.Summon(m_Creature, Caster, 0x216, duration, false, false);
                }

                m_Creature.FixedParticles(0x3728, 8, 20, 5042, Server.Items.CharacterDatabase.GetMySpellHue(Caster, 0), 0, EffectLayer.Head);
                Server.Misc.Research.ConsumeScroll(Caster, true, spellIndex, false);
            }

            FinishSequence();
        }