Ejemplo n.º 1
0
        public void EndClaimList(Mobile from, BaseBlue pet)
        {
            if (pet == null || pet.Deleted || from.Map != this.Map || !from.Stabled.Contains(pet) || !from.CheckAlive())
            {
                return;
            }

            if (!from.InRange(this, 14))
            {
                SayTo(from, "Tell him/her to come closer");                   // That is too far away.
                return;
            }

            if (CanClaim(from, pet))
            {
                DoClaim(from, pet);

                from.Stabled.Remove(pet);

                SayTo(from, "Here you got M'lord");                   // Here you go... and good day to you!
            }
            else
            {
                SayTo(from, "Your party seems to be too big at the moment");                   // ~1_NAME~ remained in the stables because you have too many followers.
            }
        }
Ejemplo n.º 2
0
            public ClaimListGump(InnMaid Maid, Mobile from, List <BaseBlue> list) : base(50, 50)
            {
                m_Maid = Maid;
                m_From = from;
                m_List = list;

                from.CloseGump(typeof(ClaimListGump));

                AddPage(0);

                AddBackground(0, 0, 325, 50 + (list.Count * 20), 9250);
                AddAlphaRegion(5, 5, 315, 40 + (list.Count * 20));

                AddHtml(15, 15, 275, 20, "<BASEFONT COLOR=#FFFFFF>Select a pet to retrieve from the stables:</BASEFONT>", false, false);

                for (int i = 0; i < list.Count; ++i)
                {
                    BaseBlue pet = list[i];

                    if (pet == null || pet.Deleted)
                    {
                        continue;
                    }

                    AddButton(15, 39 + (i * 20), 10006, 10006, i + 1, GumpButtonType.Reply, 0);
                    AddHtml(32, 35 + (i * 20), 275, 18, String.Format("<BASEFONT COLOR=#C0C0EE>{0}</BASEFONT>", pet.Name), false, false);
                }
            }
Ejemplo n.º 3
0
        public void BeginClaimList(Mobile from)
        {
            if (Deleted || !from.CheckAlive())
            {
                return;
            }

            List <BaseBlue> list = new List <BaseBlue>();

            for (int i = 0; i < from.Stabled.Count; ++i)
            {
                BaseBlue pet = from.Stabled[i] as BaseBlue;

                if (pet == null || pet.Deleted)
                {
                    pet.IsStabled = false;
                    from.Stabled.RemoveAt(i);
                    --i;
                    continue;
                }

                list.Add(pet);
            }

            if (list.Count > 0)
            {
                from.SendGump(new ClaimListGump(this, from, list));
            }
            else
            {
                SayTo(from, "Sorry, that person isn't here now");                   // But I have no animals stabled with me at the moment!
            }
        }
Ejemplo n.º 4
0
        public void Claim(Mobile from, string petName)
        {
            if (Deleted || !from.CheckAlive())
            {
                return;
            }

            bool claimed = false;
            int  stabled = 0;

            bool claimByName = (petName != null);

            for (int i = 0; i < from.Stabled.Count; ++i)
            {
                BaseBlue pet = from.Stabled[i] as BaseBlue;

                if (pet == null || pet.Deleted)
                {
                    pet.IsStabled = false;
                    from.Stabled.RemoveAt(i);
                    --i;
                    continue;
                }

                ++stabled;

                if (claimByName && !Insensitive.Equals(pet.Name, petName))
                {
                    continue;
                }

                if (CanClaim(from, pet))
                {
                    DoClaim(from, pet);

                    from.Stabled.RemoveAt(i);
                    --i;

                    claimed = true;
                }
                else
                {
                    SayTo(from, 1049612, pet.Name);                       // ~1_NAME~ remained in the stables because you have too many followers.
                }
            }

            if (claimed)
            {
                SayTo(from, 1042559);                   // Here you go... and good day to you!
            }
            else if (stabled == 0)
            {
                SayTo(from, "But, our Inn is empty at the moment!");                   // But I have no animals stabled with me at the moment!
            }
            else if (claimByName)
            {
                BeginClaimList(from);
            }
        }
Ejemplo n.º 5
0
        private void DoClaim(Mobile from, BaseBlue pet)
        {
            pet.SetControlMaster(from);

            if (pet.Summoned)
            {
                pet.SummonMaster = from;
            }

            pet.ControlTarget = from;
            pet.ControlOrder  = OrderType.Follow;

            pet.MoveToWorld(from.Location, from.Map);

            pet.IsStabled = false;
        }
Ejemplo n.º 6
0
        private void DoClaim( Mobile from, BaseBlue pet )
        {
            pet.SetControlMaster( from );

            if ( pet.Summoned )
                pet.SummonMaster = from;

            pet.ControlTarget = from;
            pet.ControlOrder = OrderType.Follow;

            pet.MoveToWorld( from.Location, from.Map );

            pet.IsStabled = false;

        }
Ejemplo n.º 7
0
 public bool CanClaim( Mobile from, BaseBlue pet )
 {
     return ((from.Followers + pet.ControlSlots) <= from.FollowersMax);
 }
Ejemplo n.º 8
0
		public void EndStable( Mobile from, BaseBlue pet )
		{
			if ( Deleted || !from.CheckAlive() )
				return;

			if ( !pet.Controlled )
			{
				SayTo( from, "That cannot stay here!" ); // You can't stable that!
			}
			else if ( pet.ControlMaster != from )
			{
				SayTo( from, "He doesn't follow your orders!" ); // You do not own that pet!
			}
			else if ( pet.IsDeadPet )
			{
				SayTo( from, "A ghost!!!!" ); // Living pets only, please.
			}
			else if ( pet.Summoned )
			{
				SayTo( from, 502673 ); // I can not stable summoned creatures.
			}
			#region Mondain's Legacy
			else if ( pet.Allured )
			{
				SayTo( from, 1048053 ); // You can't stable that!
			}
			#endregion
			else if ( (pet is PackLlama || pet is PackHorse || pet is Beetle) && (pet.Backpack != null && pet.Backpack.Items.Count > 0) )
			{
				SayTo( from, 1042563 ); // You need to unload your pet.
			}
			else if ( pet.Combatant != null && pet.InRange( pet.Combatant, 12 ) && pet.Map == pet.Combatant.Map )
			{
				SayTo( from, "That person is at war right now!" ); // I'm sorry.  Your pet seems to be busy.
			}
			else if ( from.Stabled.Count >= GetMaxStabled( from ) )
			{
				SayTo( from, "Sorry, our Inn is full!" ); // You have too many pets in the stables!
			}
			else
			{
				Container bank = from.FindBankNoCreate();

				if ( ( from.Backpack != null && from.Backpack.ConsumeTotal( typeof( Gold ), 500 ) ) || ( bank != null && bank.ConsumeTotal( typeof( Gold ), 500 ) ) )
				{
					pet.ControlTarget = null;
					pet.ControlOrder = OrderType.Stay;
					pet.Internalize();

					pet.SetControlMaster( null );
					pet.SummonMaster = null;

					pet.IsStabled = true;

					from.Stabled.Add( pet );

					SayTo( from, "Enjoy your stay!" ); // [AOS: Your pet has been stabled.] Very well, thy pet is stabled. Thou mayst recover it by saying 'claim' to me. In one real world week, I shall sell it off if it is not claimed!
				}
				else
				{
					SayTo( from, 502677 ); // But thou hast not the funds in thy bank account!
				}
			}
		}
Ejemplo n.º 9
0
		public void EndClaimList( Mobile from, BaseBlue pet )
		{
			if ( pet == null || pet.Deleted || from.Map != this.Map || !from.Stabled.Contains( pet ) || !from.CheckAlive() )
				return;

			if ( !from.InRange( this, 14 ) )
			{
				SayTo( from, "Tell him/her to come closer" ); // That is too far away.
				return;
			}

			if ( CanClaim( from, pet ) )
			{
                DoClaim( from, pet );

				from.Stabled.Remove( pet );

				SayTo( from, "Here you got M'lord" ); // Here you go... and good day to you!
			}
			else
			{
				SayTo( from, "Your party seems to be too big at the moment" ); // ~1_NAME~ remained in the stables because you have too many followers.
			}
		}
Ejemplo n.º 10
0
 public bool CanClaim(Mobile from, BaseBlue pet)
 {
     return((from.Followers + pet.ControlSlots) <= from.FollowersMax);
 }
Ejemplo n.º 11
0
        public void EndStable(Mobile from, BaseBlue pet)
        {
            if (Deleted || !from.CheckAlive())
            {
                return;
            }

            if (!pet.Controlled)
            {
                SayTo(from, "That cannot stay here!");                   // You can't stable that!
            }
            else if (pet.ControlMaster != from)
            {
                SayTo(from, "He doesn't follow your orders!");                   // You do not own that pet!
            }
            else if (pet.IsDeadPet)
            {
                SayTo(from, "A ghost!!!!");                   // Living pets only, please.
            }
            else if (pet.Summoned)
            {
                SayTo(from, 502673);                   // I can not stable summoned creatures.
            }
            #region Mondain's Legacy
            else if (pet.Allured)
            {
                SayTo(from, 1048053);                   // You can't stable that!
            }
            #endregion
            else if ((pet is PackLlama || pet is PackHorse || pet is Beetle) && (pet.Backpack != null && pet.Backpack.Items.Count > 0))
            {
                SayTo(from, 1042563);                   // You need to unload your pet.
            }
            else if (pet.Combatant != null && pet.InRange(pet.Combatant, 12) && pet.Map == pet.Combatant.Map)
            {
                SayTo(from, "That person is at war right now!");                   // I'm sorry.  Your pet seems to be busy.
            }
            else if (from.Stabled.Count >= GetMaxStabled(from))
            {
                SayTo(from, "Sorry, our Inn is full!");                   // You have too many pets in the stables!
            }
            else
            {
                Container bank = from.FindBankNoCreate();

                if ((from.Backpack != null && from.Backpack.ConsumeTotal(typeof(Gold), 500)) || (bank != null && bank.ConsumeTotal(typeof(Gold), 500)))
                {
                    pet.ControlTarget = null;
                    pet.ControlOrder  = OrderType.Stay;
                    pet.Internalize();

                    pet.SetControlMaster(null);
                    pet.SummonMaster = null;

                    pet.IsStabled = true;

                    from.Stabled.Add(pet);

                    SayTo(from, "Enjoy your stay!");                       // [AOS: Your pet has been stabled.] Very well, thy pet is stabled. Thou mayst recover it by saying 'claim' to me. In one real world week, I shall sell it off if it is not claimed!
                }
                else
                {
                    SayTo(from, 502677);                       // But thou hast not the funds in thy bank account!
                }
            }
        }