Hey guys and gals,

So Im trying to make the Shadow and Crystal furniture pieces in deed forms. I had done the Crystal ones for Runuo several years back, and noticed that the deed works, but when you chop the addon, the deed doesn't retain its crystal color. So, in revisiting the scripts, I was trying to figure out how to do it.

I thought to look at different items to see how it's done, but it doesnt seem there are actual reward deeds that do this. Theres the stonemason deeds but they retain color from crafted to placed and back to crafted,

Any other deed that do this? Or any advice on where to add the hue to keep it after the addon is chopped?

Thanks in advance!
 
Check the parrot perch script (addon) it contains a retain deed hue code
Scripts/Items/Addons/ParrotPerchAddon.cs
 
Check the parrot perch script (addon) it contains a retain deed hue code
Scripts/Items/Addons/ParrotPerchAddon.cs

Awesome! Thank you Milva. That helped.

So the deed keeps its color, but the statue that it creates also has that color, which was the same problem I had with the masonry items. What I am trying to do is start with a shadow-colored deed, that placed the statue, then when you chop the statue, it turns back into a shadow-colored deed.

Still puzzling it out...
 
Just set Hue = 123; in your deed scripts?

I thought I did, however, when it gets chopped from the house, it returns to an uncolored deed.

Code:
using System;
using Server;

namespace Server.Items
{
    public class ObsidianPillarAddon : BaseAddon
    {
        public override BaseAddonDeed Deed{ get{ return new ObsidianPillarDeed(); } }

        [Constructable]
        public ObsidianPillarAddon()
        {
            AddComponent( new AddonComponent( 13903 ), 0, 0, 0 );
           
        }


        public ObsidianPillarAddon( Serial serial ) : base( serial )
        {
        }

        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );

            writer.Write( (int) 0 ); // version
        }

        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();
        }
    }

    public class ObsidianPillarDeed : BaseAddonDeed
    {
        public override BaseAddon Addon{ get{ return new ObsidianPillarAddon(); } }
        public override int LabelNumber{ get{ return 1076678; } } // Obsidian Pillar
        [Constructable]
        public ObsidianPillarDeed()
        {
            Hue = 1899; //ShadowDeedColor
        }

        public ObsidianPillarDeed( Serial serial ) : base( serial )
        {
        }

        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );

            writer.Write( (int) 0 ); // version
        }

        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();
        }
    }
}

I'm no real programmer, so I'm sure I'm just doing something wrong...
 
Back