Server.Mobiles.AnimalTrainer.EndStable C# (CSharp) Méthode

EndStable() public méthode

public EndStable ( Server.Mobile from, BaseCreature pet ) : void
from Server.Mobile
pet BaseCreature
Résultat void
        public void EndStable( Mobile from, BaseCreature pet )
        {
            if ( Deleted || !from.CheckAlive() )
                return;

            if ( pet.Body.IsHuman )
            {
                SayTo( from, 502672 ); // HA HA HA! Sorry, I am not an inn.
            }
            else if ( !pet.Controlled )
            {
                SayTo( from, 1048053 ); // You can't stable that!
            }
            else if ( pet.ControlMaster != from )
            {
                SayTo( from, 1042562 ); // You do not own that pet!
            }
            else if ( pet.IsDeadPet )
            {
                SayTo( from, 1049668 ); // Living pets only, please.
            }
            else if ( pet.Summoned )
            {
                SayTo( from, 502673 ); // I can not stable summoned creatures.
            }
            /*
            else if ( pet.Allured )
            {
                SayTo( from, 1048053 ); // You can't stable that!
            }
            */
            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, 1042564 ); // I'm sorry.  Your pet seems to be busy.
            }
            else if ( from.Stabled.Count >= GetMaxStabled( from ) )
            {
                SayTo( from, 1042565 ); // You have too many pets in the stables!
            }
            else
            {
                Container bank = from.FindBankNoCreate();

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

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

                    pet.IsStabled = true;

                    if ( Core.SE )
                        pet.Loyalty = BaseCreature.MaxLoyalty; // Wonderfully happy

                    from.Stabled.Add( pet );

                    SayTo( from, Core.AOS ? 1049677 : 502679 ); // [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!
                }
            }
        }

Usage Example

            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is BaseCreature)
                {
                    BaseCreature m_Creature = (BaseCreature)targeted;
                    if (!m_Creature.InLOS(from))
                    {
                        from.SendMessage("You cannot see your target.");
                    }

                    if (m_Creature.IsUndeadNPC() || m_Creature.IsDemonNPC())
                    {
                        m_Trainer.SayTo(from, "I won't stable that!");
                    }
                    else
                    {
                        m_Trainer.EndStable(from, (BaseCreature)targeted);
                    }
                }
                else if (targeted == from)
                {
                    m_Trainer.SayTo(from, 502672);                       // HA HA HA! Sorry, I am not an inn.
                }
                else
                {
                    m_Trainer.SayTo(from, 1048053);                       // You can't stable that!
                }
            }
All Usage Examples Of Server.Mobiles.AnimalTrainer::EndStable