RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

This Problem is Close to a Deal Breaker

Iraq-

Sorceror
This issue commonly occurs when the pet is shrunk while an impending effect is about to happen to it, such as Explosion (delayed damage), poison, bleed, and strangle.

As a player, it's useful if you want to create inanimate statues of various creature types for deco... As a staff member, it's a headache.

One slick trick you could try is to set your pets Blessed property to true prior to shrinking, and then set them back to normal upon unshrink.

Alternatively, you could alter your CanBeDamaged (harmful?) in BaseCreature to return false if your pet's currently shrunk (or on the internal map, as mentioned above).

edit: Also, override the check release sequence to return false if the pet's shrunk.
edit2: If you have a dueling system, there's often a nifty segment of code in there which will clean your mobiles of ill conditions before returning them, which might be useful to re-use on your pets prior to shrinking.
edit3: Thanks for pointing this out, I'm about to use this system myself.
 
Having this problem on my shard, as well
I might end up ditching the system and just using a stable stone at this rate.


If you are using various scripts for 'Shrinking' (1 for hitching, 1 for leash, 1 for potion etc) make sure they are compatible. Stick with Xanthos and drop the others.

The other thing I finaly did was to edit scripts so normal pets had to be stabled and only the Evos could be shrunk. After that things appear to have settled down. I did have one player indicate he had one normal pet get lost by the stabling system but I have not been able to verify all the facts and circumstances. No other player has lost a pet (to my knowledge).

So . . . I am 80% sure I have put my pet problems behind me. It is too bad that all pets (both Normal and Evo) cannot be both stabled and/or shrunk.
 

UOF

Traveler
Yea I decided to just replace all pet leashes with stable stones
removed the pet leashes from drops and am waiting for everyone to unshrink their pets, so I can remove the system entirely.
 
Well . . . Bad news for me. After all my efforts to use the Xanthos shrinking system . . . I just had two players lose Stabled pets (one a Nightmare the other two Pack Animals).

At this point my Shrink Tools work only on the Evos but all other normal pets risk being lost regardless of using the Stables or the Shrink system. I have triple checked and players who put pets in the Stable have plenty of gold coins in their bank and the pets are healthy and loyal before the Stabling. The ones that get lost seem to be random (can be lost in one day or three weeks later). I have run out of ideas on how to solve this or what might be the cause of the problem.

If there is anyone out there who could share a solution it would be greatly appreciated.

Many Thanks
 

Iraq-

Sorceror
If you're going solely off of player reports it may be unreliable. If you have experienced through debugging and testing, then you aught to be able to better identify the cause.

From this thread you already have two major leads to follow: death while shrunk/stabled, and releasing while shrunk/stabled.
 
If you're going solely off of player reports it may be unreliable. If you have experienced through debugging and testing, then you aught to be able to better identify the cause.

From this thread you already have two major leads to follow: death while shrunk/stabled, and releasing while shrunk/stabled.



Thank you for this but more important - thank you for your post (six posts up) which I had missed (some good thoughts there). You have given me some additional things to impliment and some supportive reinforcement as a staff.

*bows*
 

Vorspire

Knight
Perhaps this timer is still running for some reason after the shrink or stable, even though it's supposed to stop or ignore it when IsStabled is set true.

BaseCreature.cs
C#:
        #region Delete Previously Tamed Timer
        private DeleteTimer m_DeleteTimer;

        [CommandProperty(AccessLevel.GameMaster)]
        public TimeSpan DeleteTimeLeft
        {
            get
            {
                if (m_DeleteTimer != null && m_DeleteTimer.Running)
                    return m_DeleteTimer.Next - DateTime.Now;

                return TimeSpan.Zero;
            }
        }

        private class DeleteTimer : Timer
        {
            private Mobile m;

            public DeleteTimer(Mobile creature, TimeSpan delay)
                : base(delay)
            {
                m = creature;
                Priority = TimerPriority.OneMinute;
            }

            protected override void OnTick()
            {
                m.Delete();
            }
        }

        public void BeginDeleteTimer()
        {
            if (!(this is BaseEscortable) && !Summoned && !Deleted && !IsStabled)
            {
                StopDeleteTimer();
                m_DeleteTimer = new DeleteTimer(this, TimeSpan.FromDays(3.0));
                m_DeleteTimer.Start();
            }
        }

        public void StopDeleteTimer()
        {
            if (m_DeleteTimer != null)
            {
                m_DeleteTimer.Stop();
                m_DeleteTimer = null;
            }
        }

        #endregion
 
Top