Exemplo n.º 1
0
        private void RewardWinner(Mobile player)
        {
            string messageGump = "O Premio de Vencedor foi depositado em seu banco!";
            Bag    bagReward   = new Bag();

            if (SingletonEvent.Instance.IsAutomaticEvent || SingletonEvent.Instance.CurrentEventRewardList.Count == 0)
            {
                bagReward.Hue  = Utility.RandomYellowHue();
                bagReward.Name = "Reward Bag";

                if (SingletonEvent.Instance.IsTeamMode)
                {
                    Item item;
                    if (Utility.RandomBool())
                    {
                        item = RewardUtil.CreateRewardInstance(RewardUtil.BlackRockWeaponTypes) as Item;
                    }
                    else
                    {
                        item = RewardUtil.CreateRewardInstance(RewardUtil.BlackRockPlateTypes) as Item;
                    }

                    bagReward.DropItem(item);
                }
                else
                {
                    IMount     mount       = RewardUtil.CreateRewardInstance(RewardUtil.RegularMountTypes) as IMount;
                    ShrinkItem shrunkenPet = new ShrinkItem((BaseCreature)mount);
                    bagReward.DropItem(shrunkenPet);
                }

                bagReward.DropItem(new Gold(10000));

                player.BankBox.DropItem(bagReward);
            }
            else
            {
                RewardUtil.SendRewardToPlayer(player);
            }

            player.SendMessage(0x35, "O Premio de Vencedor foi depositado em seu banco!");

            if (this.eventStatistics.GetPlayerKillList((PlayerMobile)player).Count > 0)
            {
                int qtExtraGold = 5000 * this.eventStatistics.GetPlayerKillList((PlayerMobile)player).Count;

                bagReward.DropItem(new Gold(qtExtraGold));
                player.SendMessage(0x35, string.Format("Voce recebeu um premio extra de {0} Golds, por eliminar {1} inimigos.", qtExtraGold, this.eventStatistics.GetPlayerKillList((PlayerMobile)player).Count));

                messageGump += string.Format("<BR>Voce recebeu um premio extra de {0} Golds, por eliminar {1} inimigos.", qtExtraGold, this.eventStatistics.GetPlayerKillList((PlayerMobile)player).Count);
            }

            player.SendGump(new AlertGump(player, messageGump, "PARABÉNS!"));
        }
        private void RefreshRespawn()
        {
            int qtMobilesToCreateRare1 = m_ControllerStone.QtRespawnMobileRare1 - m_ControllerStone.MobileListRare1.Count;
            int qtMobilesToCreateRare2 = m_ControllerStone.QtRespawnMobileRare2 - m_ControllerStone.MobileListRare2.Count;
            int qtMobilesToCreateRare3 = m_ControllerStone.QtRespawnMobileRare3 - m_ControllerStone.MobileListRare3.Count;
            int qtMobilesToCreateRare4 = m_ControllerStone.QtRespawnMobileRare4 - m_ControllerStone.MobileListRare4.Count;
            int qtMobilesToCreateRare5 = m_ControllerStone.QtRespawnMobileRare5 - m_ControllerStone.MobileListRare5.Count;

            Point3D locationRandom = new Point3D();
            Map     mapRandom      = Map.Felucca;

            for (int i = 1; i <= qtMobilesToCreateRare1; i++)
            {
                GetNewRandomLocation(ref locationRandom, ref mapRandom);
                Mobile mobile = RewardUtil.CreateRewardInstance(RewardUtil.RegularMountTypes) as Mobile;
                mobile.MoveToWorld(locationRandom, mapRandom);

                Logger.LogRespawnControllerMessage(string.Format("New MobileRare1 -> {0}/{1} {2} -> {3} ({4})", locationRandom.X, locationRandom.Y, mapRandom.Name, mobile.Name, mobile.Serial));
                m_ControllerStone.MobileListRare1.Add(mobile);
            }

            for (int i = 1; i <= qtMobilesToCreateRare2; i++)
            {
                GetNewRandomLocation(ref locationRandom, ref mapRandom);
                Mobile mobile = RewardUtil.CreateRewardInstance(typeof(Balron)) as Mobile;
                mobile.MoveToWorld(locationRandom, mapRandom);

                Logger.LogRespawnControllerMessage(string.Format("New MobileRare2 -> {0}/{1} {2} -> {3} ({4})", locationRandom.X, locationRandom.Y, mapRandom.Name, mobile.Name, mobile.Serial));
                m_ControllerStone.MobileListRare2.Add(mobile);
            }

            for (int i = 1; i <= qtMobilesToCreateRare3; i++)
            {
                GetNewRandomLocation(ref locationRandom, ref mapRandom);
                Mobile mobile = RewardUtil.CreateRewardInstance(typeof(RidableLlama)) as Mobile;
                mobile.MoveToWorld(locationRandom, mapRandom);

                Logger.LogRespawnControllerMessage(string.Format("New MobileRare3 -> {0}/{1} {2} -> {3} ({4})", locationRandom.X, locationRandom.Y, mapRandom.Name, mobile.Name, mobile.Serial));
                m_ControllerStone.MobileListRare3.Add(mobile);
            }

            for (int i = 1; i <= qtMobilesToCreateRare4; i++)
            {
                GetNewRandomLocation(ref locationRandom, ref mapRandom);
                Mobile mobile = RewardUtil.CreateRewardInstance(typeof(Ridgeback)) as Mobile;
                mobile.MoveToWorld(locationRandom, mapRandom);

                Logger.LogRespawnControllerMessage(string.Format("New MobileRare4 -> {0}/{1} {2} -> {3} ({4})", locationRandom.X, locationRandom.Y, mapRandom.Name, mobile.Name, mobile.Serial));
                m_ControllerStone.MobileListRare4.Add(mobile);
            }

            for (int i = 1; i <= qtMobilesToCreateRare5; i++)
            {
                GetNewRandomLocation(ref locationRandom, ref mapRandom);
                Mobile mobile = RewardUtil.CreateRewardInstance(typeof(Nightmare)) as Mobile;
                mobile.MoveToWorld(locationRandom, mapRandom);

                Logger.LogRespawnControllerMessage(string.Format("New MobileRare5 -> {0}/{1} {2} -> {3} ({4})", locationRandom.X, locationRandom.Y, mapRandom.Name, mobile.Name, mobile.Serial));
                m_ControllerStone.MobileListRare5.Add(mobile);
            }
        }