Leather Elementals and Madcrafter

meliarose

Well-Known Member
Mar 20, 2013
60
2
49
Shard Name
Lions Den
what would cause the Elementals to stop dropping the special leather? was working just fine for a year and it just stoped working the other day and know one has touched the script also the madcrafters mule had all the special leather cut up in his pack no nothing?
 

Hank

Well-Known Member
Nov 14, 2013
950
152
Earth
Please post the code for what you are talking about. Otherwise no one will be able to help you. Please give as much detail as possible about any changes that may have occurred on your shard before the issue.
 

meliarose

Well-Known Member
Mar 20, 2013
60
2
49
Shard Name
Lions Den
Code:
/*
created by:
     /\            888                   888     .d8888b.   .d8888b. 
____/_ \____       888                   888    d88P  Y88b d88P  Y88b
\  ___\ \  /       888                   888    888    888 888    888
\/ /  \/ /    .d88888  8888b.   8888b.  888888 Y88b. d888 Y88b. d888
/ /\__/_/\   d88" 888     "88b     "88b 888     "Y888P888  "Y888P888
/__\ \_____\  888  888 .d888888 .d888888 888           888        888
    \  /      Y88b 888 888  888 888  888 Y88b.  Y88b  d88P Y88b  d88P
     \/        "Y88888 "Y888888 "Y888888  "Y888  "Y8888P"   "Y8888P" 
*/
using System;
using Server;
using Server.Items;

namespace Server.Mobiles
{
    [CorpseName("a leather elemental corpse")]
    public abstract class LeatherElemental : BaseDaat99Elemental
    {
        private HideType m_hideType;
        private ScaleType m_scaleType;
        private int m_hidesNScalesAmount;

        [Constructable]
        public LeatherElemental(int hidesNScalesAmount, HideType hideType, ScaleType scaleType, CraftResource resource)
            : base()
        {
            Body = 101;

            m_hidesNScalesAmount = hidesNScalesAmount;
            m_hideType = hideType;
            m_scaleType = scaleType;

            if (IsGiveRunicTool(hidesNScalesAmount))
                PackItem(new RunicSewingKit(resource, i_LootToolUseAmount));
        }

        public override int Hides { get { return m_hidesNScalesAmount; } }
        public override HideType HideType { get { return m_hideType; } }

        public override int Scales { get { return m_hidesNScalesAmount; } }
        public override ScaleType ScaleType { get { return m_scaleType; } }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("a spined leather corpse")]
    public sealed class SpinedLeatherElemental : LeatherElemental
    {
        [Constructable]
        public SpinedLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public SpinedLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.Spined, ScaleType.Red, CraftResource.SpinedLeather)
        {
            Name = "a spined leather elemental";
            Hue = 0x8ac;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("a horned leather corpse")]
    public sealed class HornedLeatherElemental : LeatherElemental
    {
        [Constructable]
        public HornedLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public HornedLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.Horned, ScaleType.Yellow, CraftResource.HornedLeather)
        {
            Name = "a horned leather elemental";
            Hue = 0x845;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("a barbed leather corpse")]
    public sealed class BarbedLeatherElemental : LeatherElemental
    {
        [Constructable]
        public BarbedLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public BarbedLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.Barbed, ScaleType.Yellow, CraftResource.BarbedLeather)
        {
            Name = "a barbed leather elemental";
            Hue = 0x1C1; // Hue = 0x851;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("a polar leather corpse")]
    public sealed class PolarLeatherElemental : LeatherElemental
    {
        [Constructable]
        public PolarLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public PolarLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.Polar, ScaleType.Black, CraftResource.PolarLeather)
        {
            Name = "a polar leather elemental";
            Hue = 1150;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("a synthetic leather corpse")]
    public sealed class SyntheticLeatherElemental : LeatherElemental
    {
        [Constructable]
        public SyntheticLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public SyntheticLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.Synthetic, ScaleType.Green, CraftResource.SyntheticLeather)
        {
            Name = "a synthetic leather elemental";
            Hue = 1023;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("a blaze leather corpse")]
    public sealed class BlazeLeatherElemental : LeatherElemental
    {
        [Constructable]
        public BlazeLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public BlazeLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.BlazeL, ScaleType.White, CraftResource.BlazeLeather)
        {
            Name = "a blaze leather elemental";
            Hue = 1260;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("a daemonic leather corpse")]
    public sealed class DaemonicLeatherElemental : LeatherElemental
    {
        [Constructable]
        public DaemonicLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public DaemonicLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.Daemonic, ScaleType.Blue, CraftResource.DaemonicLeather)
        {
            Name = "a daemonic leather elemental";
            Hue = 32;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("a shadow leather corpse")]
    public sealed class ShadowLeatherElemental : LeatherElemental
    {
        [Constructable]
        public ShadowLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public ShadowLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.Shadow, ScaleType.Copper, CraftResource.ShadowLeather)
        {
            Name = "a shadow leather elemental";
            Hue = 0x966;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("a frost leather corpse")]
    public sealed class FrostLeatherElemental : LeatherElemental
    {
        [Constructable]
        public FrostLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public FrostLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.Frost, ScaleType.Silver, CraftResource.FrostLeather)
        {
            Name = "a frost leather elemental";
            Hue = 1153;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }

    [CorpseName("an ethereal leather corpse")]
    public sealed class EtherealLeatherElemental : LeatherElemental
    {
        [Constructable]
        public EtherealLeatherElemental()
            : this(30)
        {
        }

        [Constructable]
        public EtherealLeatherElemental(int hidesNScalesAmount)
            : base(hidesNScalesAmount, HideType.Ethereal, ScaleType.Gold, CraftResource.EtherealLeather)
        {
            Name = "an ethereal leather elemental";
            Hue = 1159;

            initStatsArmorLoot(6);
        }

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

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0);
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }
}
Code:
/*
created by:
     /\            888                   888     .d8888b.   .d8888b. 
____/_ \____       888                   888    d88P  Y88b d88P  Y88b
\  ___\ \  /       888                   888    888    888 888    888
\/ /  \/ /    .d88888  8888b.   8888b.  888888 Y88b. d888 Y88b. d888
/ /\__/_/\   d88" 888     "88b     "88b 888     "Y888P888  "Y888P888
/__\ \_____\  888  888 .d888888 .d888888 888           888        888
    \  /      Y88b 888 888  888 888  888 Y88b.  Y88b  d88P Y88b  d88P
     \/        "Y88888 "Y888888 "Y888888  "Y888  "Y8888P"   "Y8888P" 
*/
//Made by daat99 based on beatle script
using System;
using Server;
using Server.Items;
using Server.Mobiles;

namespace Server.Mobiles
{
	[CorpseName( "a mule corpse" )]
	public class Mule : BaseMount
	{
		public override bool SubdueBeforeTame{ get{ return false; } } // Must be beaten into submission

		private bool b_BeforeTame;
		public bool BeforeTame{ get{ return b_BeforeTame; } set { b_BeforeTame = value; InvalidateProperties(); } }

		[Constructable]
		public Mule() : this (30.0, true)
		{
		}

		[Constructable]
		public Mule(double d_MinTame, bool b_BeforeTame) : base( "a mule", 0x76, 0x3EB2, AIType.AI_Mage, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
		{
			BaseSoundID = 0xA8;
			
			SetStr( 200 );
			SetDex( 75 );
			SetInt( 150 );

			SetHits( 95, 105 );

			SetDamage( 6, 17 );

			SetDamageType( ResistanceType.Physical, 75 );
			SetDamageType( ResistanceType.Cold, 25 );

			SetResistance( ResistanceType.Physical, 40, 50 );
			SetResistance( ResistanceType.Cold, 55, 60 );
			SetResistance( ResistanceType.Poison, 100 );
			SetResistance( ResistanceType.Energy, 15, 22 );

			SetSkill( SkillName.MagicResist, 90.0 );
			SetSkill( SkillName.Tactics, 75.0 );
			SetSkill( SkillName.Wrestling, 80.1, 90.0 );
			SetSkill( SkillName.EvalInt, 10.1, 11.0 );
			SetSkill( SkillName.Magery, 10.1, 11.0 );
			SetSkill( SkillName.Meditation, 10.1, 11.0 );
			
			Fame = 2000;
			Karma = -2000;

			Tamable = true;
			ControlSlots = 1;
			MinTameSkill = d_MinTame;

			Container pack = Backpack;

			if ( pack != null )
				pack.Delete();

			pack = new StrongBackpack();
			pack.Movable = false;

			AddItem( pack );

			BeforeTame = b_BeforeTame;
		}

		public override void OnBeforeTame()
		{
			if (BeforeTame == true)
			{
				PackItem( new SpinedLeather(100) );
				PackItem( new HornedLeather(90) );
				PackItem( new BarbedLeather(80) );
				PackItem( new PolarLeather(70) );
				PackItem( new SyntheticLeather(60) );
				PackItem( new BlazeLeather(50) );
				PackItem( new DaemonicLeather(40) );
				PackItem( new ShadowLeather(30) );
				PackItem( new FrostLeather(20) );
				PackItem( new EtherealLeather(10) );
				MinTameSkill = 130.0;
				BeforeTame = true;
			}
		}

		public override Poison PoisonImmune{ get{ return Poison.Lethal; } }

		public override int GetAngerSound()
		{
			if ( !Controlled )
				return 0x16A;

			return base.GetAngerSound();
		}

		#region Pack Animal Methods
		public override bool OnBeforeDeath()
		{
			if ( !base.OnBeforeDeath() )
				return false;

			PackAnimal.CombineBackpacks( this );

			return true;
		}

		public override bool IsSnoop( Mobile from )
		{
			if ( PackAnimal.CheckAccess( this, from ) )
				return false;

			return base.IsSnoop( from );
		}

		public override bool OnDragDrop( Mobile from, Item item )
		{
			if ( CheckFeed( from, item ) )
				return true;

			if ( PackAnimal.CheckAccess( this, from ) )
			{
				AddToBackpack( item );
				return true;
			}

			return base.OnDragDrop( from, item );
		}

		public override bool CheckNonlocalDrop( Mobile from, Item item, Item target )
		{
			return PackAnimal.CheckAccess( this, from );
		}

		public override bool CheckNonlocalLift( Mobile from, Item item )
		{
			return PackAnimal.CheckAccess( this, from );
		}

        public override void GetContextMenuEntries(Mobile from, System.Collections.Generic.List<Server.ContextMenus.ContextMenuEntry> list)
        {
            base.GetContextMenuEntries(from, list);

            PackAnimal.GetContextMenuEntries(this, from, list);
        }
		#endregion


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

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

			writer.Write( (int) 2 ); // version
			//version 1
			writer.Write( (bool) b_BeforeTame);
		}

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

			int version = reader.ReadInt();
			if (version == 2)
				b_BeforeTame = reader.ReadBool();
			if (version == 1)
			{
				b_BeforeTame = reader.ReadBool();
				bool b = reader.ReadBool();
			}
			if (version == 0)
			{
				b_BeforeTame = true;
				MinTameSkill = 30;
			}
			if (AI == AIType.AI_Melee)
			{
				AI = AIType.AI_Mage;
				SetSkill( SkillName.EvalInt, 10.1, 11.0 );
				SetSkill( SkillName.Magery, 10.1, 11.0 );
				SetSkill( SkillName.Meditation, 10.1, 11.0 );
			}
		}
	}
}
Code:
using System;
using Server.Items;
using Server.Network;

namespace Server.Items
{
	public abstract class BaseLeather : Item, ICommodity
	{
		private CraftResource m_Resource;

		[CommandProperty( AccessLevel.GameMaster )]
		public CraftResource Resource
		{
			get{ return m_Resource; }
			set{ m_Resource = value; InvalidateProperties(); }
		}
		
		int ICommodity.DescriptionNumber { get { return LabelNumber; } }
		bool ICommodity.IsDeedable { get { return true; } }

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

			writer.Write( (int) 1 ); // version

			writer.Write( (int) m_Resource );
		}

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

			int version = reader.ReadInt();

			switch ( version )
			{
				case 1:
				{
					m_Resource = (CraftResource)reader.ReadInt();
					break;
				}
				case 0:
				{
					OreInfo info = new OreInfo( reader.ReadInt(), reader.ReadInt(), reader.ReadString() );

					m_Resource = CraftResources.GetFromOreInfo( info );
					break;
				}
			}
		}

		public BaseLeather( CraftResource resource ) : this( resource, 1 )
		{
		}

		public BaseLeather( CraftResource resource, int amount ) : base( 0x1081 )
		{
			Stackable = true;
			Weight = 1.0;
			Amount = 30;
			Hue = CraftResources.GetHue( resource );

			m_Resource = resource;
		}

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

		public override void AddNameProperty( ObjectPropertyList list )
		{
			if ( Amount > 1 )
				list.Add( 1050039, "{0}\t#{1}", Amount, 1024199 ); // ~1_NUMBER~ ~2_ITEMNAME~
			else
				list.Add( 1024199 ); // cut leather
		}

		public override void GetProperties( ObjectPropertyList list )
		{
			base.GetProperties( list );

			if ( !CraftResources.IsStandard( m_Resource ) )
			{
				int num = CraftResources.GetLocalizationNumber( m_Resource );

				if ( num > 0 )
					list.Add( num );
				else
					list.Add( CraftResources.GetName( m_Resource ) );
			}
		}

		public override int LabelNumber
		{
			get
			{
				if ( m_Resource >= CraftResource.SpinedLeather && m_Resource <= CraftResource.BarbedLeather )
					return 1049684 + (int)(m_Resource - CraftResource.SpinedLeather);

				return 1047022;
			}
		}
	}

	[FlipableAttribute( 0x1081, 0x1082 )]
	public class Leather : BaseLeather
	{
		[Constructable]
		public Leather() : this( 30 )
		{
		}

		[Constructable]
		public Leather( int amount ) : base( CraftResource.RegularLeather, amount )
		{
		}

		public Leather( 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();
		}

		
	}

	[FlipableAttribute( 0x1081, 0x1082 )]
	public class SpinedLeather : BaseLeather
	{
		[Constructable]
		public SpinedLeather() : this( 30 )
		{
		}

		[Constructable]
		public SpinedLeather( int amount ) : base( CraftResource.SpinedLeather, amount )
		{
		}

		public SpinedLeather( 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();
		}

		
	}

	[FlipableAttribute( 0x1081, 0x1082 )]
	public class HornedLeather : BaseLeather
	{
		[Constructable]
		public HornedLeather() : this( 30 )
		{
		}

		[Constructable]
		public HornedLeather( int amount ) : base( CraftResource.HornedLeather, amount )
		{
		}

		public HornedLeather( 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();
		}

		
	}

	[FlipableAttribute( 0x1081, 0x1082 )]
	public class BarbedLeather : BaseLeather
	{
		[Constructable]
		public BarbedLeather() : this( 30 )
		{
		}

		[Constructable]
		public BarbedLeather( int amount ) : base( CraftResource.BarbedLeather, amount )
		{
		}

		public BarbedLeather( 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();
		}

		
	}
	
    [FlipableAttribute(0x1081, 0x1082)]
    public class PolarLeather : BaseLeather
    {
        [Constructable]
        public PolarLeather()
            : this(30)
        {
        }

        [Constructable]
        public PolarLeather(int amount)
            : base(CraftResource.PolarLeather, amount)
        {

        }

        public PolarLeather(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();
        }
    }

    [FlipableAttribute(0x1081, 0x1082)]
    public class SyntheticLeather : BaseLeather
    {
        [Constructable]
        public SyntheticLeather()
            : this(30)
        {
        }

        [Constructable]
        public SyntheticLeather(int amount)
            : base(CraftResource.SyntheticLeather, amount)
        {
         
        }

        public SyntheticLeather(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();
        }
    }

    [FlipableAttribute(0x1081, 0x1082)]
    public class BlazeLeather : BaseLeather
    {
        [Constructable]
        public BlazeLeather()
            : this(30)
        {
        }

        [Constructable]
        public BlazeLeather(int amount)
            : base(CraftResource.BlazeLeather, amount)
        {
          
        }

        public BlazeLeather(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();
        }
    }

    [FlipableAttribute(0x1081, 0x1082)]
    public class DaemonicLeather : BaseLeather
    {
        [Constructable]
        public DaemonicLeather()
            : this(30)
        {
        }

        [Constructable]
        public DaemonicLeather(int amount)
            : base(CraftResource.DaemonicLeather, amount)
        {
           
        }

        public DaemonicLeather(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();
        }
    }

    [FlipableAttribute(0x1081, 0x1082)]
    public class ShadowLeather : BaseLeather
    {
        [Constructable]
        public ShadowLeather()
            : this(30)
        {
        }

        [Constructable]
        public ShadowLeather(int amount)
            : base(CraftResource.ShadowLeather, amount)
        {
           
        }

        public ShadowLeather(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();
        }
    }

    [FlipableAttribute(0x1081, 0x1082)]
    public class FrostLeather : BaseLeather
    {
        [Constructable]
        public FrostLeather()
            : this(30)
        {
        }

        [Constructable]
        public FrostLeather(int amount)
            : base(CraftResource.FrostLeather, amount)
        {
           
        }

        public FrostLeather(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();
        }
    }

    [FlipableAttribute(0x1081, 0x1082)]
    public class EtherealLeather : BaseLeather
    {
        [Constructable]
        public EtherealLeather()
            : this(30)
        {
        }

        [Constructable]
        public EtherealLeather(int amount)
            : base(CraftResource.EtherealLeather, amount)
        {
           
        }

        public EtherealLeather(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();
        }
    }
}
These 3 scripts I even found new ones on runuo and put them in and still they wouldn't drop the leather like there are suppose to
 
Last edited by a moderator:

dmurphy

Admin
ServUO Developer
Feb 10, 2014
1,004
225
30
meliarose, Please use code tags when posting any code snippets and also please keep all the information to one post instead of posting multiple times in succession. I fixed it this time.