예제 #1
0
        public static void ClaimFollower(Mobile vendor, PlayerMobile player, BaseCreature creature, int page)
        {
            if (player == null || creature == null)
            {
                return;
            }

            if (player.Stabled.Contains(creature))
            {
                player.Stabled.Remove(creature);
            }

            creature.Blessed = false;

            creature.SetControlMaster(player);

            creature.ControlTarget = player;
            creature.ControlOrder  = OrderType.Follow;

            creature.OwnerAbandonTime = DateTime.UtcNow + creature.AbandonDelay;

            creature.MoveToWorld(player.Location, player.Map);

            creature.AnimateIdle();
            creature.PlaySound(creature.GetIdleSound());

            creature.IsStabled = false;

            if (!creature.Alive || creature.IsDeadBondedFollower)
            {
                creature.ResurrectPet();
            }

            creature.ApplyExperience();

            creature.Hits = creature.HitsMax;
            creature.Stam = creature.StamMax;
            creature.Mana = creature.ManaMax;

            player.CloseGump(typeof(StableGump));
            player.SendGump(new StableGump(vendor, player, page));

            player.SendMessage("You claim your follower.");
        }