Corpse.cs

Specifically(If Default):
Line 408 - Controls how long until the corpse turns into bones.
Line 409 - Controls how long until the bones decay away.

Personally changed mine from 7mins and 7mins (14 mins total from time of player death)
To 10mins and 10mins (20mins total from time of player death)
 
Specifically(If Default):
Line 408 - Controls how long until the corpse turns into bones.
Line 409 - Controls how long until the bones decay away.

Personally changed mine from 7mins and 7mins (14 mins total from time of player death)
To 10mins and 10mins (20mins total from time of player death)
This seems changed? Where do you change how long it takes for player corpses and bone to decay? Where do you change how long it takes for monster corpses to decay?
 
I've been trying to figure this out as well. I made a change in Decayedcorpse.cs (because it was the only reference I could find) and it didn't seem to change anything.
 
If you want to change it, you can adjust it here

Mobile.cs in the Server folder, Line 3656
C#:
        public static TimeSpan DefaultCorpseDecay => _DefaultCorpseDecay;
        public static readonly TimeSpan _DefaultCorpseDecay = TimeSpan.FromMinutes(7);

        public static CreateCorpseHandler CreateCorpseHandler { get => m_CreateCorpse; set => m_CreateCorpse = value; }

        public virtual TimeSpan CorpseDecayTime => _DefaultCorpseDecay;

and also in Corpse.cs starting at Line 387

C#:
        public void TurnToBones()
        {
            if (Deleted)
            {
                return;
            }

            ProcessDelta();
            SendRemovePacket();
            ItemID = Utility.Random(0xECA, 9); // bone graphic
            Hue = 0;
            ProcessDelta();

            SetFlag(CorpseFlag.NoBones, true);
            SetFlag(CorpseFlag.IsBones, true);

            var delay = Owner?.CorpseDecayTime ?? Mobile.DefaultCorpseDecay;
            m_DecayTime = DateTime.UtcNow + delay;

            if (!TimerRegistry.UpdateRegistry(m_TimerID, this, delay))
            {
                TimerRegistry.Register(m_TimerID, this, delay, TimerPriority.FiveSeconds, c => c.DoDecay());
            }
        }

        public void BeginDecay(TimeSpan delay)
        {
            m_DecayTime = DateTime.UtcNow + delay;

            TimerRegistry.Register(m_TimerID, this, delay, TimerPriority.FiveSeconds, c => c.DoDecay());
        }
 

Active Shards

  • Unchained
    Custom (Classic)
    • Players
    • 127 Online
    • 273 Peak
  • UO Eventine
    Custom (Classic)
    • Players
    • 86 Online
    • 137 Peak
  • The Crossroads
    Mondain's Legacy
    • Players
    • 79 Online
    • 190 Peak
  • Insane UO
    Endless Journey
    • Players
    • 76 Online
    • 105 Peak
  • UO: New Renaissance
    Custom (Classic)
    • Players
    • 27 Online
    • 85 Peak
  • UO Phoenix
    Custom (Classic)
    • Players
    • 22 Online
    • 48 Peak
  • Arth
    Custom (Modern)
    • Players
    • 22 Online
    • 34 Peak
  • UO Enigma
    Custom (Modern)
    • Players
    • 20 Online
    • 172 Peak
  • Pandora
    Custom (Modern)
    • Players
    • 17 Online
    • 32 Peak
  • CALYPSO
    Custom (Modern)
    • Players
    • 15 Online
    • 30 Peak

Donations

Total amount
$0.00
Goal
$500.00
Back