Example #1
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;
        }
        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;

        }
		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!
				}
			}
		}
Example #4
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!
                }
            }
        }