if there's an issue there then I'd put my money on this
bool morph = from.FindItemOnLayer(Layer.Earrings) is MorphEarrings;

and then checking !morph

because if you check the FindItemOnlayer method it will ONLY return true or null, never false
C#:
public Item FindItemOnLayer(Layer layer)
        {
            var eq = m_Items;
            int count = eq.Count;

            for (int i = 0; i < count; ++i)
            {
                Item item = eq[i];

                if (!item.Deleted && item.Layer == layer)
                {
                    return item;
                }
            }

            return null;
        }

So try going through each line of PlayerMobile > OnLogin and find this

else if (weapon.RequiredRace != null && weapon.RequiredRace != Race && !morph)

i believe the easiest change here would be

else if (weapon.RequiredRace != null && weapon.RequiredRace != Race && morph != null)
 
I'm just trying to prevent the player from having to heal when they log in, depending on stats that could be a large amount to recover.. just trying to apply the fix already in place in the new repo to an older version haha..
 
Back