public void SpawnHelpers()
        {
            foreach (Point3D pnt in _SpawnLocs)
            {
                for (int i = 0; i < _SpawnPerLoc; i++)
                {
                    BaseCreature bc;

                    switch (Utility.Random(7))
                    {
                    default:
                    case 0: bc = new BoundSoul(); break;

                    case 1: bc = new SoulboundApprenticeMage(); break;

                    case 2: bc = new SoulboundBattleMage(); break;

                    case 3: bc = new SoulboundPirateCaptain(); break;

                    case 4: bc = new SoulboundPirateRaider(); break;

                    case 5: bc = new SoulboundSpellSlinger(); break;

                    case 6: bc = new SoulboundSwashbuckler(); break;
                    }

                    m_Helpers.Add(bc);
                    SpawnMobile(bc, pnt);
                }
            }
        }
Exemple #2
0
        /*public override void GivePowerScrolls()
         * {
         *  if (Map == null || (Map.Rules & MapRules.FeluccaRules) == 0)
         *      return;
         *
         *  List<Mobile> toGive = new List<Mobile>();
         *  List<DamageStore> rights = GetLootingRights();
         *
         *  for (int i = rights.Count - 1; i >= 0; --i)
         *  {
         *      DamageStore ds = rights[i];
         *
         *      if (ds.m_HasRight)
         *          toGive.Add(ds.m_Mobile);
         *  }
         *
         *  if (toGive.Count == 0)
         *      return;
         *
         *  for (int i = 0; i < toGive.Count; i++)
         *  {
         *      Mobile m = toGive[i];
         *
         *      if (!(m is PlayerMobile))
         *          continue;
         *
         *      bool gainedPath = false;
         *
         *      int pointsToGain = 800;
         *
         *      if (VirtueHelper.Award(m, VirtueName.Valor, pointsToGain, ref gainedPath))
         *      {
         *          if (gainedPath)
         *              m.SendLocalizedMessage(1054032); // You have gained a path in Valor!
         *          else
         *              m.SendLocalizedMessage(1054030); // You have gained in Valor!
         *      }
         *  }
         *
         *  // Randomize
         *  for (int i = 0; i < toGive.Count; ++i)
         *  {
         *      int rand = Utility.Random(toGive.Count);
         *      Mobile hold = toGive[i];
         *      toGive[i] = toGive[rand];
         *      toGive[rand] = hold;
         *  }
         *
         *  for (int i = 0; i < 3; ++i)
         *  {
         *      Mobile m = toGive[i % toGive.Count];
         *
         *      if (!m.Alive)
         *          continue;
         *
         *      PowerScroll ps = CreateRandomPowerScroll();
         *
         *      if (1 >= Utility.Random(30))
         *          ps.Skill = SkillName.Fishing;
         *
         *      GivePowerScrollTo(m, ps);
         *  }
         * }*/

        public void SpawnHelpers()
        {
            for (int i = 0; i < Utility.RandomMinMax(1, 3); i++)
            {
                BaseCreature bs = new BoundSoul();
                SpawnMobile(bs);
                m_Helpers.Add(bs);
            }

            for (int i = 0; i < 5; i++)
            {
                BaseCreature mage = new SoulboundApprenticeMage();
                SpawnMobile(mage);
                m_Helpers.Add(mage);
            }

            for (int i = 0; i < 2; i++)
            {
                BaseCreature bmage = new SoulboundBattleMage();
                SpawnMobile(bmage);
                m_Helpers.Add(bmage);
            }

            BaseCreature capt = new SoulboundPirateCaptain();

            SpawnMobile(capt);
            m_Helpers.Add(capt);

            BaseCreature raider = new SoulboundPirateRaider();

            SpawnMobile(raider);
            m_Helpers.Add(raider);

            BaseCreature slinger = new SoulboundSpellSlinger();

            SpawnMobile(slinger);
            m_Helpers.Add(slinger);

            for (int i = 0; i < 3; i++)
            {
                BaseCreature sb = new SoulboundSwashbuckler();
                SpawnMobile(sb);
                m_Helpers.Add(sb);
            }
        }
        /*public override void GivePowerScrolls()
        {
            if (Map == null || (Map.Rules & MapRules.FeluccaRules) == 0)
                return;

            List<Mobile> toGive = new List<Mobile>();
            List<DamageStore> rights = GetLootingRights();

            for (int i = rights.Count - 1; i >= 0; --i)
            {
                DamageStore ds = rights[i];

                if (ds.m_HasRight)
                    toGive.Add(ds.m_Mobile);
            }

            if (toGive.Count == 0)
                return;

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

                if (!(m is PlayerMobile))
                    continue;

                bool gainedPath = false;

                int pointsToGain = 800;

                if (VirtueHelper.Award(m, VirtueName.Valor, pointsToGain, ref gainedPath))
                {
                    if (gainedPath)
                        m.SendLocalizedMessage(1054032); // You have gained a path in Valor!
                    else
                        m.SendLocalizedMessage(1054030); // You have gained in Valor!
                }
            }

            // Randomize
            for (int i = 0; i < toGive.Count; ++i)
            {
                int rand = Utility.Random(toGive.Count);
                Mobile hold = toGive[i];
                toGive[i] = toGive[rand];
                toGive[rand] = hold;
            }

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

                if (!m.Alive) 
                    continue;

                PowerScroll ps = CreateRandomPowerScroll();

                if (1 >= Utility.Random(30))
                    ps.Skill = SkillName.Fishing;

                GivePowerScrollTo(m, ps);
            }
        }*/

        public void SpawnHelpers()
        {
            for (int i = 0; i < Utility.RandomMinMax(1, 3); i++)
            {
                BaseCreature bs = new BoundSoul();
                SpawnMobile(bs);
                m_Helpers.Add(bs);
            }

            for (int i = 0; i < 5; i++)
            {
                BaseCreature mage = new SoulboundApprenticeMage();
                SpawnMobile(mage);
                m_Helpers.Add(mage);
            }

            for (int i = 0; i < 2; i++)
            {
                BaseCreature bmage = new SoulboundBattleMage();
                SpawnMobile(bmage);
                m_Helpers.Add(bmage);
            }

            BaseCreature capt = new SoulboundPirateCaptain();
            SpawnMobile(capt);
            m_Helpers.Add(capt);

            BaseCreature raider = new SoulboundPirateRaider();
            SpawnMobile(raider);
            m_Helpers.Add(raider);

            BaseCreature slinger = new SoulboundSpellSlinger();
            SpawnMobile(slinger);
            m_Helpers.Add(slinger);

            for (int i = 0; i < 3; i++)
            {
                BaseCreature sb = new SoulboundSwashbuckler();
                SpawnMobile(sb);
                m_Helpers.Add(sb);
            }
        }