Пример #1
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is Horse horse)
                {
                    if (horse.ControlMaster == null)
                    {
                        horse.Say(true, "The wild beast refuses the bridle!");
                        return;
                    }

                    if (horse.ControlMaster != from)
                    {
                        horse.SayTo(from, true, "This isn't your animal!");
                        return;
                    }

                    var oldHorseLocation     = horse.Location;
                    var oldHorseControlOrder = horse.ControlOrder;

                    m_Bridal.Delete();
                    horse.Internalize();
                    horse.Delete();

                    var packHorse = new PackHorse();
                    packHorse.SetControlMaster(from);
                    packHorse.ControlTarget = from;
                    packHorse.ControlOrder  = oldHorseControlOrder;
                    packHorse.MoveToWorld(oldHorseLocation, from.Map);
                }
                else if (targeted is BaseCreature creature)
                {
                    creature.Say(true, "The beast refuses!");
                }
            }
Пример #2
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                base.OnTarget(from, targeted);
                if (from == null)
                {
                    return;
                }
                if (!from.Alive)
                {
                    return;
                }

                if (targeted is NubiaCreature)
                {
                    NubiaCreature mount = targeted as NubiaCreature;

                    if (mount.IsFriend(from) || mount.ControlMaster == from)
                    {
                        int body = mount.BodyValue;
                        if (body == 0xC8 ||
                            body == 0x3E9F ||
                            body == 0xE2 ||
                            body == 0x3EA0 ||
                            body == 0xE4 ||
                            body == 0x3EA1 ||
                            body == 0xCC ||
                            body == 0x3EA2)  //HORSE
                        {
                            from.Emote("*Scelle les sacs sur le cheval*");
                            Point3D p      = mount.Location;
                            Map     m      = mount.Map;
                            Mobile  master = mount.ControlMaster;
                            bool    tamed  = mount.Controlled;
                            mount.Delete();
                            PackHorse horse = new PackHorse();
                            horse.MoveToWorld(p, m);
                            horse.ControlMaster = master;
                            horse.Controlled    = tamed;
                            horse.ControlOrder  = OrderType.Stay;
                            if (mPack != null)
                            {
                                mPack.Delete();
                            }
                        }
                        else if (mount is Llama || mount is RidableLlama)
                        {
                            from.Emote("*Scelle les sacs sur le Lama*");
                            Point3D p      = mount.Location;
                            Map     m      = mount.Map;
                            Mobile  master = mount.ControlMaster;
                            bool    tamed  = mount.Controlled;
                            mount.Delete();
                            PackLlama lama = new PackLlama();
                            lama.MoveToWorld(p, m);
                            lama.ControlMaster = master;
                            lama.Controlled    = tamed;
                            lama.ControlOrder  = OrderType.Stay;
                            if (mPack != null)
                            {
                                mPack.Delete();
                            }
                        }
                        else
                        {
                            from.SendMessage("Utilisez cela sur un cheval ou un lama");
                        }
                    }
                    else
                    {
                        from.SendMessage("La monture ne se laisse pas approcher");
                        mount.Emote("*s'agite nerveusement*");
                    }
                }
                else
                {
                    from.SendMessage("Vous devez visez une monture vous appartenant");
                }
            }