Full Version : Tring to add recorses and need help.
xmlspawner >>Scripting Support >>Tring to add recorses and need help.


<< Prev | Next >>

Crystal Jem- 09-01-2006
Hello,

I'm trying to make it that a serten Wrym drops Scales the color of the wrym so I copied and pasted a section of the scale script then changed the name. added in a hue color # and tried it out. and ended up with this error

Errors:
+ Items/Resources/Blacksmithing/Scales.cs:
CS0117: Line 281: 'Server.Items.CraftResource' does not contain a definition
for 'AmazoniteScales'


I have looked all over but can't find what need to change so it see's the new scale

Please Help and thank you.

Here is the script.

CODE
using System;
using Server.Items;
using Server.Network;

namespace Server.Items
{
public abstract class BaseScales : Item, ICommodity
{
 public override int LabelNumber{ get{ return 1053139; } } // dragon scales

 private CraftResource m_Resource;

 [CommandProperty( AccessLevel.GameMaster )]
 public CraftResource Resource
 {
  get{ return m_Resource; }
  set{ m_Resource = value; InvalidateProperties(); }
 }

 public override double DefaultWeight
 {
  get { return 0.1; }
 }
 
 string ICommodity.Description
 {
  get
  {
   return String.Format( Amount == 1 ? "{1}" : "{0} {1}", Amount, CraftResources.GetName( m_Resource ).ToLower() );
  }
 }

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

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

  writer.Write( (int) m_Resource );
 }

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

  int version = reader.ReadInt();

  switch ( version )
  {
   case 0:
   {
    m_Resource = (CraftResource)reader.ReadInt();
    break;
   }
  }
 }

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

 public BaseScales( CraftResource resource, int amount ) : base( 0x26B4 )
 {
  Stackable = true;
  Amount = amount;
  Hue = CraftResources.GetHue( resource );

  m_Resource = resource;
 }

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

public class RedScales : BaseScales
{
 [Constructable]
 public RedScales() : this( 1 )
 {
 }

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

 public RedScales( 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 YellowScales : BaseScales
{
 [Constructable]
 public YellowScales() : this( 1 )
 {
 }

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

 public YellowScales( 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 BlackScales : BaseScales
{
 [Constructable]
 public BlackScales() : this( 1 )
 {
 }

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

 public BlackScales( 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 GreenScales : BaseScales
{
 [Constructable]
 public GreenScales() : this( 1 )
 {
 }

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

 public GreenScales( 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 WhiteScales : BaseScales
{
 [Constructable]
 public WhiteScales() : this( 1 )
 {
 }

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

 public WhiteScales( 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 BlueScales : BaseScales
{
 public override int LabelNumber{ get{ return 1053140; } } // sea serpent scales

 [Constructable]
 public BlueScales() : this( 1 )
 {
 }

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

 public BlueScales( 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 AmazoniteScales : BaseScales
{
 [Constructable]
 public AmazoniteScales() : this( 1 )
 {
 }
 
 [Constructable]
 public AmazoniteScales( int amount ) : base( CraftResource.AmazoniteScales, amount )
 {
  Hue = 1283;
 }

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

 
}
 

}


ArteGordon- 09-01-2006
You probably didnt add your 'AmazoniteScales' to the CraftResource enum in OreInfo.cs

Odee- 09-02-2006
What Arte said.

If you don't add it to a parent script, then it will pretty much render the change you made useless and result in an error. Just make sure the changes you make to one script are changed in another script smile.gif

Crystal Jem- 09-05-2006
Yes I always lision to what Arti says smile.gif

but I'm still messing this up some how sad.gif

Here is what I'm getting when I start up

RunUO - [www.runuo.com] Version 2.0, Build 2357.32527
Core: Running on .NET Framework Version 2.0.50727
Scripts: Compiling C# scripts...failed (1 errors, 5 warnings)
Warnings:
+ Custom/PlayerMadeStatue.cs:
CS0105: Line 29: The using directive for 'System.Collections.Generic' appear
ed previously in this namespace
+ Custom/My custems/AmethystCrystalWyrm.cs:
CS0162: Line 86: Unreachable code detected
+ Custom/My custems/RhodoniteCrystalWyrm.cs:
CS0162: Line 86: Unreachable code detected
+ Custom/My custems/SugiliteCrystalWyrm.cs:
CS0162: Line 86: Unreachable code detected
+ Custom/RunUO 2.0/Scripts/NewResources/CraftDefs/DefCrystalCrafting.cs:
CS0219: Line 96: The variable 'index' is assigned but its value is never use
d
Errors:
+ Custom/My custems/AmazoniteCrystalWyrm.cs:
CS0117: Line 86: 'Server.Mobiles.ScaleType' does not contain a definition fo
r 'AmazoniteScales'
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.


I have 3 scripts for you to take a look at also the Wyrm, the Scales. the oreInfo.

Wyrm
CODE
using System;
using Server;
using Server.Items;

namespace Server.Mobiles
{
[CorpseName( "an Amazonite Crystal Wyrm corpse" )]
public class AmazoniteCrystalWyrm : BaseCreature
{
 public override WeaponAbility GetWeaponAbility()
 {
  return WeaponAbility.BleedAttack;
       }
 
 [Constructable]
 public AmazoniteCrystalWyrm () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
 {
  Body = Core.AOS ? 180 : 49;
  Name = "an Amazonite Crystal wyrm";
  BaseSoundID = 362;
  Hue = 1283;

  SetStr( 1500, 1800 );
  SetDex( 500, 700 );
  SetInt( 700, 900 );

  SetHits( 1600, 1900 );

  SetDamage( 50, 75 );

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

  SetResistance( ResistanceType.Physical, 75, 85 );
  SetResistance( ResistanceType.Fire, 60, 70 );
  SetResistance( ResistanceType.Cold, 65, 85 );
  SetResistance( ResistanceType.Poison, 50, 70 );
  SetResistance( ResistanceType.Energy, 60, 80 );
           
  SkillsCap = 160000;
 
  Skills[SkillName.Tactics].Cap = 200.0;
           Skills[SkillName.Wrestling].Cap = 200.0;
           Skills[SkillName.MagicResist].Cap = 200.0;
           Skills[SkillName.Anatomy].Cap = 200.0;
           Skills[SkillName.Magery].Cap = 200.0;
           Skills[SkillName.EvalInt].Cap = 200.0;            
  Skills[SkillName.Parry].Cap = 200.0;
 
  SetSkill( SkillName.EvalInt, 100.1, 120.0 );
  SetSkill( SkillName.Magery, 100.1, 120.0 );
  SetSkill( SkillName.Meditation, 100.5, 125.0 );
  SetSkill( SkillName.MagicResist, 110.3, 130.0 );
  SetSkill( SkillName.Tactics, 100.6, 125.0 );
  SetSkill( SkillName.Wrestling, 100.6, 125.0 );
  SetSkill( SkillName.Anatomy, 100.6, 125.0 );

  Fame = 28000;
  Karma = -28000;

  VirtualArmor = 74;

  Tamable = true;
  ControlSlots = 3;
  MinTameSkill = 100.3;
 }

 public override void GenerateLoot()
 {
  PackItem( new AmazoniteCrystal( Utility.RandomMinMax( 20, 30 ) ) );
  PackItem( new Nightshade( Utility.RandomMinMax( 50, 100 ) ) );
  PackItem( new Amazonite( Utility.RandomMinMax( 16, 20 ) ) );
  PackItem( new Gold( Utility.RandomMinMax( 1900, 3000 ) ) );
 }
 
       public override bool HasBreath{ get{ return true; } } // fire breath enabled
 public override bool AutoDispel{ get{ return true; } }
 public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
 public override Poison HitPoison{ get{ return Poison.Deadly; } }
 public override int TreasureMapLevel{ get{ return 6; } }
 public override bool ReacquireOnMovement{ get{ return true; } }  
 public override int Meat{ get{ return 19; } }
 public override int Hides{ get{ return 30; } }
 public override HideType HideType{ get{ return HideType.Barbed; } }
 public override int Scales{ get{ return 19; } }
 public override ScaleType ScaleType{ get{ return ScaleType.AmazoniteScales; } }
 public override FoodType FavoriteFood{ get{ return FoodType.Meat | FoodType.Gold; } }
 public override bool CanAngerOnTame { get { return true; } }

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

  if ( Core.AOS && Body == 49 )
   Body = 180;
 }
}
}


The Scales
CODE
using System;
using Server.Items;
using Server.Network;

namespace Server.Items
{
public abstract class BaseScales : Item, ICommodity
{
 public override int LabelNumber{ get{ return 1053139; } } // dragon scales

 private CraftResource m_Resource;

 [CommandProperty( AccessLevel.GameMaster )]
 public CraftResource Resource
 {
  get{ return m_Resource; }
  set{ m_Resource = value; InvalidateProperties(); }
 }

 public override double DefaultWeight
 {
  get { return 0.1; }
 }
 
 string ICommodity.Description
 {
  get
  {
   return String.Format( Amount == 1 ? "{1}" : "{0} {1}", Amount, CraftResources.GetName( m_Resource ).ToLower() );
  }
 }

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

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

  writer.Write( (int) m_Resource );
 }

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

  int version = reader.ReadInt();

  switch ( version )
  {
   case 0:
   {
    m_Resource = (CraftResource)reader.ReadInt();
    break;
   }
  }
 }

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

 public BaseScales( CraftResource resource, int amount ) : base( 0x26B4 )
 {
  Stackable = true;
  Amount = amount;
  Hue = CraftResources.GetHue( resource );

  m_Resource = resource;
 }

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

public class RedScales : BaseScales
{
 [Constructable]
 public RedScales() : this( 1 )
 {
 }

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

 public RedScales( 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 YellowScales : BaseScales
{
 [Constructable]
 public YellowScales() : this( 1 )
 {
 }

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

 public YellowScales( 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 BlackScales : BaseScales
{
 [Constructable]
 public BlackScales() : this( 1 )
 {
 }

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

 public BlackScales( 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 GreenScales : BaseScales
{
 [Constructable]
 public GreenScales() : this( 1 )
 {
 }

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

 public GreenScales( 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 WhiteScales : BaseScales
{
 [Constructable]
 public WhiteScales() : this( 1 )
 {
 }

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

 public WhiteScales( 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 BlueScales : BaseScales
{
 public override int LabelNumber{ get{ return 1053140; } } // sea serpent scales

 [Constructable]
 public BlueScales() : this( 1 )
 {
 }

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

 public BlueScales( 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 AmazoniteScales : BaseScales
{
 [Constructable]
 public AmazoniteScales() : this( 1 )
 {
 }
 
 [Constructable]
 public AmazoniteScales( int amount ) : base( CraftResource.AmazoniteScales, amount )
 {
  Hue = 1283;
 }

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

 
}
 

}


The OreInfo

CODE
using System;
using System.Collections;

namespace Server.Items
{
public enum CraftResource
{
 None = 0,
 Iron = 1,
 DullCopper,
 ShadowIron,
 Copper,
 Bronze,
 Gold,
       Silver,
 Agapite,
 Verite,
 Valorite,
       Uridium,
       Trillium,
       Titanium,
       Platinum,
       Zenite,
       Naquinite,
       Galvinite,
       Trilamide,
       Veramide,
       Zenlamide,


 RegularLeather = 101,
 SpinedLeather,
 HornedLeather,
 BarbedLeather,
       RibbedLeather,
       DreadLeather,
       EtheralLeather,

 RedScales = 201,
 YellowScales,
 BlackScales,
 GreenScales,
 WhiteScales,
 BlueScales,
 AmazoniteScales,

       RegularLog = 301,
       Oak,
       Ash,
       Yew,
       HeartWood,
       BloodWood,
       FrostWood,

       RegularCrystal = 401,
       Amazonite,
       Amber,
       Amethyst,
       Aragonite,
       Bixbite,
       BloodStone,
       Calcite,
       GoldStone,
       Labradorite,
       Moldavite,
       Morganite,
       Quartz,
       Rhodonite,
       Ruby,
       Sapphire,
       Sugilite,
       Tanzanite,
       Turquoise,
       Varisite,

       RegularPowder = 501,
       IronPowder,
       DullCopperPowder,
       ShadowIronPowder,
       CopperPowder,
       BronzePowder,
       GoldPowder,
       SilverPowder,
       AgapitePowder,
       VeritePowder,
       ValoritePowder,
       UridiumPowder,
       TrilliumPowder,
       TitaniumPowder,
       PlatinumPowder,
       ZenitePowder,
       NaquinitePowder,
       GalvinitePowder,
       TrilamidePowder,
       VeramidePowder,
       ZenlamidePowder,
       EtheralPowder

}

public enum CraftResourceType
{
 None,
 Metal,
 Leather,
 Scales,
       Logs,
       Crystals,
       Powders
}

public class CraftAttributeInfo
{
 private int m_WeaponFireDamage;
 private int m_WeaponColdDamage;
 private int m_WeaponPoisonDamage;
 private int m_WeaponEnergyDamage;
 private int m_WeaponDurability;
 private int m_WeaponLuck;
 private int m_WeaponGoldIncrease;
 private int m_WeaponLowerRequirements;

 private int m_ArmorPhysicalResist;
 private int m_ArmorFireResist;
 private int m_ArmorColdResist;
 private int m_ArmorPoisonResist;
 private int m_ArmorEnergyResist;
 private int m_ArmorDurability;
 private int m_ArmorLuck;
 private int m_ArmorGoldIncrease;
 private int m_ArmorLowerRequirements;

 private int m_RunicMinAttributes;
 private int m_RunicMaxAttributes;
 private int m_RunicMinIntensity;
 private int m_RunicMaxIntensity;

 public int WeaponFireDamage{ get{ return m_WeaponFireDamage; } set{ m_WeaponFireDamage = value; } }
 public int WeaponColdDamage{ get{ return m_WeaponColdDamage; } set{ m_WeaponColdDamage = value; } }
 public int WeaponPoisonDamage{ get{ return m_WeaponPoisonDamage; } set{ m_WeaponPoisonDamage = value; } }
 public int WeaponEnergyDamage{ get{ return m_WeaponEnergyDamage; } set{ m_WeaponEnergyDamage = value; } }
 public int WeaponDurability{ get{ return m_WeaponDurability; } set{ m_WeaponDurability = value; } }
 public int WeaponLuck{ get{ return m_WeaponLuck; } set{ m_WeaponLuck = value; } }
 public int WeaponGoldIncrease{ get{ return m_WeaponGoldIncrease; } set{ m_WeaponGoldIncrease = value; } }
 public int WeaponLowerRequirements{ get{ return m_WeaponLowerRequirements; } set{ m_WeaponLowerRequirements = value; } }

 public int ArmorPhysicalResist{ get{ return m_ArmorPhysicalResist; } set{ m_ArmorPhysicalResist = value; } }
 public int ArmorFireResist{ get{ return m_ArmorFireResist; } set{ m_ArmorFireResist = value; } }
 public int ArmorColdResist{ get{ return m_ArmorColdResist; } set{ m_ArmorColdResist = value; } }
 public int ArmorPoisonResist{ get{ return m_ArmorPoisonResist; } set{ m_ArmorPoisonResist = value; } }
 public int ArmorEnergyResist{ get{ return m_ArmorEnergyResist; } set{ m_ArmorEnergyResist = value; } }
 public int ArmorDurability{ get{ return m_ArmorDurability; } set{ m_ArmorDurability = value; } }
 public int ArmorLuck{ get{ return m_ArmorLuck; } set{ m_ArmorLuck = value; } }
 public int ArmorGoldIncrease{ get{ return m_ArmorGoldIncrease; } set{ m_ArmorGoldIncrease = value; } }
 public int ArmorLowerRequirements{ get{ return m_ArmorLowerRequirements; } set{ m_ArmorLowerRequirements = value; } }

 public int RunicMinAttributes{ get{ return m_RunicMinAttributes; } set{ m_RunicMinAttributes = value; } }
 public int RunicMaxAttributes{ get{ return m_RunicMaxAttributes; } set{ m_RunicMaxAttributes = value; } }
 public int RunicMinIntensity{ get{ return m_RunicMinIntensity; } set{ m_RunicMinIntensity = value; } }
 public int RunicMaxIntensity{ get{ return m_RunicMaxIntensity; } set{ m_RunicMaxIntensity = value; } }

 public CraftAttributeInfo()
 {
 }

 public static readonly CraftAttributeInfo Blank;
       public static readonly CraftAttributeInfo DullCopper, ShadowIron, Copper, Bronze, Golden, Silver, Agapite, Verite, Valorite, Uridium, Trillium, Titanium, Platinum, Zenite, Naquinite, Galvinite, Trilamide, Veramide, Zenlamide;
 public static readonly CraftAttributeInfo Spined, Horned, Barbed, Ribbed, Dread, Etheral;
 public static readonly CraftAttributeInfo RedScales, YellowScales, BlackScales, GreenScales, WhiteScales, BlueScales;
       public static readonly CraftAttributeInfo RegularLog, Oak, Ash, Yew, HeartWood, BloodWood, FrostWood;
       public static readonly CraftAttributeInfo RegularCrystal, Amazonite, Amber, Amethyst, Aragonite, Bixbite, BloodStone, Calcite, GoldStone, Labradorite, Moldavite, Morganite, Quartz, Rhodonite, Ruby, Sapphire, Sugilite, Tanzanite, Turquoise, Varisite;
       public static readonly CraftAttributeInfo RegularPowder, IronPowder, DullCopperPowder, ShadowIronPowder, CopperPowder, BronzePowder, GoldPowder, SilverPowder, AgapitePowder, VeritePowder, ValoritePowder, UridiumPowder, TrilliumPowder, TitaniumPowder, PlatinumPowder, ZenitePowder, NaquinitePowder, GalvinitePowder, TrilamidePowder, VeramidePowder, ZenlamidePowder, EtheralPowder;

 static CraftAttributeInfo()
 {
  Blank = new CraftAttributeInfo();

  CraftAttributeInfo dullCopper = DullCopper = new CraftAttributeInfo();

  dullCopper.ArmorPhysicalResist = 1;
  dullCopper.ArmorDurability = 50;
  dullCopper.ArmorLowerRequirements = 20;
  dullCopper.WeaponDurability = 100;
  dullCopper.WeaponLowerRequirements = 50;
  dullCopper.RunicMinAttributes = 1;
  dullCopper.RunicMaxAttributes = 2;
  dullCopper.RunicMinIntensity = 10;
  dullCopper.RunicMaxIntensity = 35;

  CraftAttributeInfo shadowIron = ShadowIron = new CraftAttributeInfo();

  shadowIron.ArmorPhysicalResist = 2;
  shadowIron.ArmorFireResist = 1;
  shadowIron.ArmorEnergyResist = 5;
  shadowIron.ArmorDurability = 100;
  shadowIron.WeaponColdDamage = 20;
  shadowIron.WeaponDurability = 80;
  shadowIron.RunicMinAttributes = 2;
  shadowIron.RunicMaxAttributes = 2;
  shadowIron.RunicMinIntensity = 20;
  shadowIron.RunicMaxIntensity = 45;

  CraftAttributeInfo copper = Copper = new CraftAttributeInfo();

  copper.ArmorPhysicalResist = 2;
  copper.ArmorFireResist = 1;
  copper.ArmorPoisonResist = 5;
  copper.ArmorEnergyResist = 2;
  copper.WeaponPoisonDamage = 10;
  copper.WeaponEnergyDamage = 20;
  copper.RunicMinAttributes = 2;
  copper.RunicMaxAttributes = 3;
  copper.RunicMinIntensity = 25;
  copper.RunicMaxIntensity = 50;

  CraftAttributeInfo bronze = Bronze = new CraftAttributeInfo();

  bronze.ArmorPhysicalResist = 3;
  bronze.ArmorColdResist = 5;
  bronze.ArmorPoisonResist = 1;
  bronze.ArmorEnergyResist = 1;
  bronze.WeaponFireDamage = 40;
  bronze.RunicMinAttributes = 3;
  bronze.RunicMaxAttributes = 3;
  bronze.RunicMinIntensity = 30;
  bronze.RunicMaxIntensity = 65;

  CraftAttributeInfo golden = Golden = new CraftAttributeInfo();

  golden.ArmorPhysicalResist = 3;
  golden.ArmorFireResist = 1;
  golden.ArmorColdResist = 2;
  golden.ArmorEnergyResist = 2;
  golden.ArmorLuck = 40;
  golden.ArmorLowerRequirements = 30;
  golden.WeaponLuck = 40;
  golden.WeaponLowerRequirements = 50;
  golden.RunicMinAttributes = 3;
  golden.RunicMaxAttributes = 4;
  golden.RunicMinIntensity = 35;
  golden.RunicMaxIntensity = 75;

           CraftAttributeInfo silver = Silver = new CraftAttributeInfo();

           silver.ArmorPhysicalResist = 4;
           silver.ArmorFireResist = 1;
           silver.ArmorColdResist = 2;
           silver.ArmorEnergyResist = 2;
           silver.ArmorLuck = 40;
           silver.ArmorLowerRequirements = 30;
           silver.WeaponLuck = 40;
           silver.WeaponLowerRequirements = 50;
           silver.RunicMinAttributes = 3;
           silver.RunicMaxAttributes = 4;
           silver.RunicMinIntensity = 35;
           silver.RunicMaxIntensity = 75;

  CraftAttributeInfo agapite = Agapite = new CraftAttributeInfo();

  agapite.ArmorPhysicalResist = 4;
  agapite.ArmorFireResist = 3;
  agapite.ArmorColdResist = 2;
  agapite.ArmorPoisonResist = 2;
  agapite.ArmorEnergyResist = 2;
  agapite.WeaponColdDamage = 30;
  agapite.WeaponEnergyDamage = 20;
  agapite.RunicMinAttributes = 4;
  agapite.RunicMaxAttributes = 4;
  agapite.RunicMinIntensity = 40;
  agapite.RunicMaxIntensity = 80;

  CraftAttributeInfo verite = Verite = new CraftAttributeInfo();

  verite.ArmorPhysicalResist = 5;
  verite.ArmorFireResist = 3;
  verite.ArmorColdResist = 2;
  verite.ArmorPoisonResist = 3;
  verite.ArmorEnergyResist = 1;
  verite.WeaponPoisonDamage = 50;
  verite.WeaponEnergyDamage = 20;
  verite.RunicMinAttributes = 4;
  verite.RunicMaxAttributes = 5;
  verite.RunicMinIntensity = 45;
  verite.RunicMaxIntensity = 90;
           verite.ArmorLuck = 50;
           verite.WeaponLuck = 50;

  CraftAttributeInfo valorite = Valorite = new CraftAttributeInfo();

  valorite.ArmorPhysicalResist = 5;
  valorite.ArmorColdResist = 3;
  valorite.ArmorPoisonResist = 3;
  valorite.ArmorEnergyResist = 3;
  valorite.ArmorDurability = 50;
  valorite.WeaponFireDamage = 10;
  valorite.WeaponColdDamage = 20;
  valorite.WeaponPoisonDamage = 10;
  valorite.WeaponEnergyDamage = 20;
  valorite.RunicMinAttributes = 5;
  valorite.RunicMaxAttributes = 5;
  valorite.RunicMinIntensity = 50;
  valorite.RunicMaxIntensity = 100;

           CraftAttributeInfo uridium = Uridium = new CraftAttributeInfo();

           uridium.ArmorPhysicalResist = 6;
           uridium.ArmorFireResist = 3;
           uridium.ArmorColdResist = 7;
           uridium.ArmorPoisonResist = 4;
           uridium.ArmorEnergyResist = 7;
           uridium.ArmorDurability = 60;
           uridium.WeaponFireDamage = 0;
           uridium.WeaponColdDamage = 70;
           uridium.WeaponPoisonDamage = 0;
           uridium.WeaponEnergyDamage = 30;
           uridium.RunicMinAttributes = 5;
           uridium.RunicMaxAttributes = 5;
           uridium.RunicMinIntensity = 50;
           uridium.RunicMaxIntensity = 100;

           CraftAttributeInfo trillium = Trillium = new CraftAttributeInfo();

           trillium.ArmorPhysicalResist = 6;
           trillium.ArmorFireResist = 6;
           trillium.ArmorColdResist = 3;
           trillium.ArmorPoisonResist = 3;
           trillium.ArmorEnergyResist = 6;
           trillium.ArmorDurability = 30;
           trillium.WeaponFireDamage = 50;
           trillium.WeaponColdDamage = 0;
           trillium.WeaponPoisonDamage = 0;
           trillium.WeaponEnergyDamage = 50;
           trillium.RunicMinAttributes = 5;
           trillium.RunicMaxAttributes = 6;
           trillium.RunicMinIntensity = 60;
           trillium.RunicMaxIntensity = 100;
           trillium.ArmorLuck = 25;
           trillium.WeaponLuck = 25;

           CraftAttributeInfo titanium = Titanium = new CraftAttributeInfo();

           titanium.ArmorPhysicalResist = 8;
           titanium.ArmorFireResist = 5;
           titanium.ArmorColdResist = 9;
           titanium.ArmorPoisonResist = 5;
           titanium.ArmorEnergyResist = 6;
           titanium.ArmorDurability = 70;
           titanium.WeaponFireDamage = 30;
           titanium.WeaponColdDamage = 30;
           titanium.WeaponPoisonDamage = 10;
           titanium.WeaponEnergyDamage = 30;
           titanium.RunicMinAttributes = 5;
           titanium.RunicMaxAttributes = 6;
           titanium.RunicMinIntensity = 60;
           titanium.RunicMaxIntensity = 100;

           CraftAttributeInfo platinum = Platinum = new CraftAttributeInfo();

           platinum.ArmorPhysicalResist = 7;
           platinum.ArmorFireResist = 6;
           platinum.ArmorColdResist = 8;
           platinum.ArmorPoisonResist = 6;
           platinum.ArmorEnergyResist = 8;
           platinum.ArmorDurability = 70;
           platinum.WeaponFireDamage = 0;
           platinum.WeaponColdDamage = 50;
           platinum.WeaponPoisonDamage = 50;
           platinum.WeaponEnergyDamage = 0;
           platinum.RunicMinAttributes = 6;
           platinum.RunicMaxAttributes = 6;
           platinum.RunicMinIntensity = 60;
           platinum.RunicMaxIntensity = 60;

           CraftAttributeInfo zenite = Zenite = new CraftAttributeInfo();

           zenite.ArmorPhysicalResist = 7;
           zenite.ArmorFireResist = 5;
           zenite.ArmorColdResist = 5;
           zenite.ArmorPoisonResist = 10;
           zenite.ArmorEnergyResist = 8;
           zenite.ArmorDurability = 80;
           zenite.WeaponFireDamage = 0;
           zenite.WeaponColdDamage = 0;
           zenite.WeaponPoisonDamage = 100;
           zenite.WeaponEnergyDamage = 0;
           zenite.RunicMinAttributes = 6;
           zenite.RunicMaxAttributes = 6;
           zenite.RunicMinIntensity = 65;
           zenite.RunicMaxIntensity = 100;

           CraftAttributeInfo naquinite = Naquinite = new CraftAttributeInfo();

           naquinite.ArmorPhysicalResist = 8;
           naquinite.ArmorFireResist = 10;
           naquinite.ArmorColdResist = 7;
           naquinite.ArmorPoisonResist = 10;
           naquinite.ArmorEnergyResist = 7;
           naquinite.ArmorDurability = 80;
           naquinite.WeaponFireDamage = 0;
           naquinite.WeaponColdDamage = 0;
           naquinite.WeaponPoisonDamage = 0;
           naquinite.WeaponEnergyDamage = 100;
           naquinite.RunicMinAttributes = 6;
           naquinite.RunicMaxAttributes = 7;
           naquinite.RunicMinIntensity = 65;
           naquinite.RunicMaxIntensity = 100;
           naquinite.ArmorLuck = 80;
           naquinite.WeaponLuck = 80;

           CraftAttributeInfo galvinite = Galvinite = new CraftAttributeInfo();

           galvinite.ArmorPhysicalResist = 10;
           galvinite.ArmorFireResist = 8;
           galvinite.ArmorColdResist = 8;
           galvinite.ArmorPoisonResist = 8;
           galvinite.ArmorEnergyResist = 9;
           galvinite.ArmorDurability = 100;
           galvinite.WeaponFireDamage = 0;
           galvinite.WeaponColdDamage = 20;
           galvinite.WeaponPoisonDamage = 0;
           galvinite.WeaponEnergyDamage = 80;
           galvinite.RunicMinAttributes = 7;
           galvinite.RunicMaxAttributes = 7;
           galvinite.RunicMinIntensity = 70;
           galvinite.RunicMaxIntensity = 100;
           galvinite.ArmorLuck = 0;
           galvinite.WeaponLuck = 0;

           CraftAttributeInfo trilamide = Trilamide = new CraftAttributeInfo();

           trilamide.ArmorPhysicalResist = 9;
           trilamide.ArmorFireResist = 10;
           trilamide.ArmorColdResist = 6;
           trilamide.ArmorPoisonResist = 8;
           trilamide.ArmorEnergyResist = 8;
           trilamide.ArmorDurability = 90;
           trilamide.WeaponFireDamage = 100;
           trilamide.WeaponColdDamage = 0;
           trilamide.WeaponPoisonDamage = 0;
           trilamide.WeaponEnergyDamage = 0;
           trilamide.RunicMinAttributes = 7;
           trilamide.RunicMaxAttributes = 8;
           trilamide.RunicMinIntensity = 70;
           trilamide.RunicMaxIntensity = 100;
           trilamide.ArmorLuck = 25;
           trilamide.WeaponLuck = 25;

           CraftAttributeInfo veramide = Veramide = new CraftAttributeInfo();

           veramide.ArmorPhysicalResist = 10;
           veramide.ArmorFireResist = 7;
           veramide.ArmorColdResist = 7;
           veramide.ArmorPoisonResist = 10;
           veramide.ArmorEnergyResist = 7;
           veramide.ArmorDurability = 100;
           veramide.WeaponFireDamage = 0;
           veramide.WeaponColdDamage = 0;
           veramide.WeaponPoisonDamage = 100;
           veramide.WeaponEnergyDamage = 0;
           veramide.RunicMinAttributes = 8;
           veramide.RunicMaxAttributes = 8;
           veramide.RunicMinIntensity = 75;
           veramide.RunicMaxIntensity = 100;
           veramide.ArmorLuck = 100;
           veramide.WeaponLuck = 100;

           CraftAttributeInfo zenlamide = Zenlamide = new CraftAttributeInfo();

           zenlamide.ArmorPhysicalResist = 10;
           zenlamide.ArmorFireResist = 9;
           zenlamide.ArmorColdResist = 8;
           zenlamide.ArmorPoisonResist = 9;
           zenlamide.ArmorEnergyResist = 10;
           zenlamide.ArmorDurability = 100;
           zenlamide.WeaponFireDamage = 0;
           zenlamide.WeaponColdDamage = 0;
           zenlamide.WeaponPoisonDamage = 0;
           zenlamide.WeaponEnergyDamage = 100;
           zenlamide.RunicMinAttributes = 8;
           zenlamide.RunicMaxAttributes = 8;
           zenlamide.RunicMinIntensity = 80;
           zenlamide.RunicMaxIntensity = 100;
           zenlamide.ArmorLuck = 250;
           zenlamide.WeaponLuck = 250;

  CraftAttributeInfo spined = Spined = new CraftAttributeInfo();

  spined.ArmorPhysicalResist = 5;
  spined.ArmorLuck = 40;
  spined.RunicMinAttributes = 1;
  spined.RunicMaxAttributes = 3;
  spined.RunicMinIntensity = 20;
  spined.RunicMaxIntensity = 40;

  CraftAttributeInfo horned = Horned = new CraftAttributeInfo();

  horned.ArmorPhysicalResist = 2;
  horned.ArmorFireResist = 3;
  horned.ArmorColdResist = 2;
  horned.ArmorPoisonResist = 2;
  horned.ArmorEnergyResist = 2;
  horned.RunicMinAttributes = 3;
  horned.RunicMaxAttributes = 4;
  horned.RunicMinIntensity = 30;
  horned.RunicMaxIntensity = 70;

  CraftAttributeInfo barbed = Barbed = new CraftAttributeInfo();

  barbed.ArmorPhysicalResist = 2;
  barbed.ArmorFireResist = 1;
  barbed.ArmorColdResist = 2;
  barbed.ArmorPoisonResist = 3;
  barbed.ArmorEnergyResist = 4;
  barbed.RunicMinAttributes = 4;
  barbed.RunicMaxAttributes = 5;
  barbed.RunicMinIntensity = 40;
  barbed.RunicMaxIntensity = 100;

           CraftAttributeInfo ribbed = Ribbed = new CraftAttributeInfo();

           ribbed.ArmorPhysicalResist = 4;
           ribbed.ArmorFireResist = 5;
           ribbed.ArmorColdResist = 4;
           ribbed.ArmorPoisonResist = 4;
           ribbed.ArmorEnergyResist = 5;
           ribbed.RunicMinAttributes = 5;
           ribbed.RunicMaxAttributes = 5;
           ribbed.RunicMinIntensity = 50;
           ribbed.RunicMaxIntensity = 100;

           CraftAttributeInfo dread = Dread = new CraftAttributeInfo();

           dread.ArmorPhysicalResist = 5;
           dread.ArmorFireResist = 3;
           dread.ArmorColdResist = 6;
           dread.ArmorPoisonResist = 5;
           dread.ArmorEnergyResist = 5;
           dread.RunicMinAttributes = 5;
           dread.RunicMaxAttributes = 6;
           dread.RunicMinIntensity = 75;
           dread.RunicMaxIntensity = 100;

           CraftAttributeInfo etheral = Etheral = new CraftAttributeInfo();

           etheral.ArmorPhysicalResist = 6;
           etheral.ArmorFireResist = 5;
           etheral.ArmorColdResist = 4;
           etheral.ArmorPoisonResist = 5;
           etheral.ArmorEnergyResist = 6;
           etheral.RunicMinAttributes = 6;
           etheral.RunicMaxAttributes = 6;
           etheral.RunicMinIntensity = 80;
           etheral.RunicMaxIntensity = 100;

  CraftAttributeInfo red = RedScales = new CraftAttributeInfo();

  red.ArmorFireResist = 10;
  red.ArmorColdResist = -3;

  CraftAttributeInfo yellow = YellowScales = new CraftAttributeInfo();

  yellow.ArmorPhysicalResist = -3;
  yellow.ArmorLuck = 20;

  CraftAttributeInfo black = BlackScales = new CraftAttributeInfo();

  black.ArmorPhysicalResist = 10;
  black.ArmorEnergyResist = -3;

  CraftAttributeInfo green = GreenScales = new CraftAttributeInfo();

  green.ArmorFireResist = -3;
  green.ArmorPoisonResist = 10;

  CraftAttributeInfo white = WhiteScales = new CraftAttributeInfo();

  white.ArmorPhysicalResist = -3;
  white.ArmorColdResist = 10;

  CraftAttributeInfo blue = BlueScales = new CraftAttributeInfo();

  blue.ArmorPoisonResist = -3;
  blue.ArmorEnergyResist = 10;

           CraftAttributeInfo regularlog = RegularLog = new CraftAttributeInfo();

           regularlog.ArmorPhysicalResist = 0;
           regularlog.ArmorFireResist = 0;
           regularlog.ArmorColdResist = 0;
           regularlog.ArmorPoisonResist = 0;
           regularlog.ArmorEnergyResist = 0;
           regularlog.ArmorDurability = 0;
           regularlog.WeaponFireDamage = 25;
           regularlog.WeaponColdDamage = 25;
           regularlog.WeaponPoisonDamage = 25;
           regularlog.WeaponEnergyDamage = 25;
           regularlog.RunicMinAttributes = 0;
           regularlog.RunicMaxAttributes = 0;
           regularlog.RunicMinIntensity = 0;
           regularlog.RunicMaxIntensity = 0;
           regularlog.ArmorLuck = 0;
           regularlog.WeaponLuck = 100;

           CraftAttributeInfo oak = Oak = new CraftAttributeInfo();

           oak.ArmorPhysicalResist = 0;
           oak.ArmorFireResist = 0;
           oak.ArmorColdResist = 0;
           oak.ArmorPoisonResist = 0;
           oak.ArmorEnergyResist = 0;
           oak.ArmorDurability = 0;
           oak.WeaponFireDamage = 0;
           oak.WeaponColdDamage = 0;
           oak.WeaponPoisonDamage = 50;
           oak.WeaponEnergyDamage = 50;
           oak.RunicMinAttributes = 0;
           oak.RunicMaxAttributes = 0;
           oak.RunicMinIntensity = 0;
           oak.RunicMaxIntensity = 0;
           oak.ArmorLuck = 0;
           oak.WeaponLuck = 50;

           CraftAttributeInfo ash = Ash = new CraftAttributeInfo();

           ash.ArmorPhysicalResist = 0;
           ash.ArmorFireResist = 0;
           ash.ArmorColdResist = 0;
           ash.ArmorPoisonResist = 0;
           ash.ArmorEnergyResist = 0;
           ash.ArmorDurability = 0;
           ash.WeaponFireDamage = 50;
           ash.WeaponColdDamage = 50;
           ash.WeaponPoisonDamage = 0;
           ash.WeaponEnergyDamage = 0;
           ash.RunicMinAttributes = 0;
           ash.RunicMaxAttributes = 0;
           ash.RunicMinIntensity = 0;
           ash.RunicMaxIntensity = 0;
           ash.ArmorLuck = 0;
           ash.WeaponLuck = 50;

           CraftAttributeInfo yew = Yew = new CraftAttributeInfo();

           yew.ArmorPhysicalResist = 0;
           yew.ArmorFireResist = 0;
           yew.ArmorColdResist = 0;
           yew.ArmorPoisonResist = 0;
           yew.ArmorEnergyResist = 0;
           yew.ArmorDurability = 0;
           yew.WeaponFireDamage = 0;
           yew.WeaponColdDamage = 0;
           yew.WeaponPoisonDamage = 0;
           yew.WeaponEnergyDamage = 100;
           yew.RunicMinAttributes = 0;
           yew.RunicMaxAttributes = 0;
           yew.RunicMinIntensity = 0;
           yew.RunicMaxIntensity = 0;
           yew.ArmorLuck = 0;
           yew.WeaponLuck = 100;

           CraftAttributeInfo heartwood = HeartWood = new CraftAttributeInfo();

           heartwood.ArmorPhysicalResist = 0;
           heartwood.ArmorFireResist = 0;
           heartwood.ArmorColdResist = 0;
           heartwood.ArmorPoisonResist = 0;
           heartwood.ArmorEnergyResist = 0;
           heartwood.ArmorDurability = 0;
           heartwood.WeaponFireDamage = 0;
           heartwood.WeaponColdDamage = 0;
           heartwood.WeaponPoisonDamage = 100;
           heartwood.WeaponEnergyDamage = 0;
           heartwood.RunicMinAttributes = 0;
           heartwood.RunicMaxAttributes = 0;
           heartwood.RunicMinIntensity = 0;
           heartwood.RunicMaxIntensity = 0;
           heartwood.ArmorLuck = 0;
           heartwood.WeaponLuck = 100;

           CraftAttributeInfo bloodwood = BloodWood = new CraftAttributeInfo();

           bloodwood.ArmorPhysicalResist = 0;
           bloodwood.ArmorFireResist = 0;
           bloodwood.ArmorColdResist = 0;
           bloodwood.ArmorPoisonResist = 0;
           bloodwood.ArmorEnergyResist = 0;
           bloodwood.ArmorDurability = 0;
           bloodwood.WeaponFireDamage = 100;
           bloodwood.WeaponColdDamage = 0;
           bloodwood.WeaponPoisonDamage = 0;
           bloodwood.WeaponEnergyDamage = 0;
           bloodwood.RunicMinAttributes = 0;
           bloodwood.RunicMaxAttributes = 0;
           bloodwood.RunicMinIntensity = 0;
           bloodwood.RunicMaxIntensity = 0;
           bloodwood.ArmorLuck = 0;
           bloodwood.WeaponLuck = 50;

           CraftAttributeInfo frostwood = FrostWood = new CraftAttributeInfo();

           frostwood.ArmorPhysicalResist = 0;
           frostwood.ArmorFireResist = 0;
           frostwood.ArmorColdResist = 0;
           frostwood.ArmorPoisonResist = 0;
           frostwood.ArmorEnergyResist = 0;
           frostwood.ArmorDurability = 0;
           frostwood.WeaponFireDamage = 0;
           frostwood.WeaponColdDamage = 100;
           frostwood.WeaponPoisonDamage = 0;
           frostwood.WeaponEnergyDamage = 0;
           frostwood.RunicMinAttributes = 0;
           frostwood.RunicMaxAttributes = 0;
           frostwood.RunicMinIntensity = 0;
           frostwood.RunicMaxIntensity = 0;
           frostwood.ArmorLuck = 0;
           frostwood.WeaponLuck = 250;

           CraftAttributeInfo regularcrystal = RegularCrystal = new CraftAttributeInfo();

           regularcrystal.ArmorPhysicalResist = 0;
           regularcrystal.ArmorFireResist = 0;
           regularcrystal.ArmorColdResist = 0;
           regularcrystal.ArmorPoisonResist = 0;
           regularcrystal.ArmorEnergyResist = 0;
           regularcrystal.ArmorDurability = 0;
           regularcrystal.WeaponFireDamage = 0;
           regularcrystal.WeaponColdDamage = 0;
           regularcrystal.WeaponPoisonDamage = 0;
           regularcrystal.WeaponEnergyDamage = 0;
           regularcrystal.RunicMinAttributes = 0;
           regularcrystal.RunicMaxAttributes = 0;
           regularcrystal.RunicMinIntensity = 0;
           regularcrystal.RunicMaxIntensity = 0;
           regularcrystal.ArmorLuck = 0;
           regularcrystal.WeaponLuck = 0;

           CraftAttributeInfo amazonite = Amazonite = new CraftAttributeInfo();

           amazonite.ArmorPhysicalResist = 0;
           amazonite.ArmorFireResist = 0;
           amazonite.ArmorColdResist = 0;
           amazonite.ArmorPoisonResist = 0;
           amazonite.ArmorEnergyResist = 0;
           amazonite.ArmorDurability = 0;
           amazonite.WeaponFireDamage = 0;
           amazonite.WeaponColdDamage = 0;
           amazonite.WeaponPoisonDamage = 0;
           amazonite.WeaponEnergyDamage = 0;
           amazonite.RunicMinAttributes = 0;
           amazonite.RunicMaxAttributes = 0;
           amazonite.RunicMinIntensity = 0;
           amazonite.RunicMaxIntensity = 0;
           amazonite.ArmorLuck = 0;
           amazonite.WeaponLuck = 0;

           CraftAttributeInfo amber = Amber = new CraftAttributeInfo();

           amber.ArmorPhysicalResist = 0;
           amber.ArmorFireResist = 0;
           amber.ArmorColdResist = 0;
           amber.ArmorPoisonResist = 0;
           amber.ArmorEnergyResist = 0;
           amber.ArmorDurability = 0;
           amber.WeaponFireDamage = 0;
           amber.WeaponColdDamage = 0;
           amber.WeaponPoisonDamage = 0;
           amber.WeaponEnergyDamage = 0;
           amber.RunicMinAttributes = 0;
           amber.RunicMaxAttributes = 0;
           amber.RunicMinIntensity = 0;
           amber.RunicMaxIntensity = 0;
           amber.ArmorLuck = 0;
           amber.WeaponLuck = 0;

           CraftAttributeInfo amethyst = Amethyst = new CraftAttributeInfo();

           amethyst.ArmorPhysicalResist = 0;
           amethyst.ArmorFireResist = 0;
           amethyst.ArmorColdResist = 0;
           amethyst.ArmorPoisonResist = 0;
           amethyst.ArmorEnergyResist = 0;
           amethyst.ArmorDurability = 0;
           amethyst.WeaponFireDamage = 0;
           amethyst.WeaponColdDamage = 0;
           amethyst.WeaponPoisonDamage = 0;
           amethyst.WeaponEnergyDamage = 0;
           amethyst.RunicMinAttributes = 0;
           amethyst.RunicMaxAttributes = 0;
           amethyst.RunicMinIntensity = 0;
           amethyst.RunicMaxIntensity = 0;
           amethyst.ArmorLuck = 0;
           amethyst.WeaponLuck = 0;

           CraftAttributeInfo aragonite = Aragonite = new CraftAttributeInfo();

           aragonite.ArmorPhysicalResist = 0;
           aragonite.ArmorFireResist = 0;
           aragonite.ArmorColdResist = 0;
           aragonite.ArmorPoisonResist = 0;
           aragonite.ArmorEnergyResist = 0;
           aragonite.ArmorDurability = 0;
           aragonite.WeaponFireDamage = 0;
           aragonite.WeaponColdDamage = 0;
           aragonite.WeaponPoisonDamage = 0;
           aragonite.WeaponEnergyDamage = 0;
           aragonite.RunicMinAttributes = 0;
           aragonite.RunicMaxAttributes = 0;
           aragonite.RunicMinIntensity = 0;
           aragonite.RunicMaxIntensity = 0;
           aragonite.ArmorLuck = 0;
           aragonite.WeaponLuck = 0;

           CraftAttributeInfo bixbite = Bixbite = new CraftAttributeInfo();

           bixbite.ArmorPhysicalResist = 0;
           bixbite.ArmorFireResist = 0;
           bixbite.ArmorColdResist = 0;
           bixbite.ArmorPoisonResist = 0;
           bixbite.ArmorEnergyResist = 0;
           bixbite.ArmorDurability = 0;
           bixbite.WeaponFireDamage = 0;
           bixbite.WeaponColdDamage = 0;
           bixbite.WeaponPoisonDamage = 0;
           bixbite.WeaponEnergyDamage = 0;
           bixbite.RunicMinAttributes = 0;
           bixbite.RunicMaxAttributes = 0;
           bixbite.RunicMinIntensity = 0;
           bixbite.RunicMaxIntensity = 0;
           bixbite.ArmorLuck = 0;
           bixbite.WeaponLuck = 0;

           CraftAttributeInfo bloodstone = BloodStone = new CraftAttributeInfo();

           bloodstone.ArmorPhysicalResist = 0;
           bloodstone.ArmorFireResist = 0;
           bloodstone.ArmorColdResist = 0;
           bloodstone.ArmorPoisonResist = 0;
           bloodstone.ArmorEnergyResist = 0;
           bloodstone.ArmorDurability = 0;
           bloodstone.WeaponFireDamage = 0;
 
ArteGordon- 09-05-2006
you will also need to go into BaseCreature.cs and add your AmazoniteScales to the ScaleType enum

CODE

   public enum ScaleType
   {
       Red,
       Yellow,
       Black,
       Green,
       White,
       Blue,
       All
   }


and you will need to go into the OnCarved method in BaseCreature.cs and add a case for your AmazoniteScales

CODE

                   switch (sc)
                   {
                       case ScaleType.Red: corpse.DropItem(new RedScales(scales)); break;
                       case ScaleType.Yellow: corpse.DropItem(new YellowScales(scales)); break;
                       case ScaleType.Black: corpse.DropItem(new BlackScales(scales)); break;
                       case ScaleType.Green: corpse.DropItem(new GreenScales(scales)); break;
                       case ScaleType.White: corpse.DropItem(new WhiteScales(scales)); break;
                       case ScaleType.Blue: corpse.DropItem(new BlueScales(scales)); break;
                       case ScaleType.All:
                           {
                               corpse.DropItem(new RedScales(scales));
                               corpse.DropItem(new YellowScales(scales));
                               corpse.DropItem(new BlackScales(scales));
                               corpse.DropItem(new GreenScales(scales));
                               corpse.DropItem(new WhiteScales(scales));
                               corpse.DropItem(new BlueScales(scales));
                               break;
                           }
                   }

Crystal Jem- 09-05-2006
like this Arte?


CODE
public enum ScaleType
{
 Red,
 Yellow,
 Black,
 Green,
 White,
 Blue,
 Amazonite,
 All


And this?

CODE

ScaleType sc = this.ScaleType;

    switch ( sc )
    {
     case ScaleType.Red:  corpse.DropItem( new RedScales( scales ) ); break;
     case ScaleType.Yellow: corpse.DropItem( new YellowScales( scales ) ); break;
     case ScaleType.Black: corpse.DropItem( new BlackScales( scales ) ); break;
     case ScaleType.Green: corpse.DropItem( new GreenScales( scales ) ); break;
     case ScaleType.White: corpse.DropItem( new WhiteScales( scales ) ); break;
     case ScaleType.Blue: corpse.DropItem( new BlueScales( scales ) ); break;
     case ScaleType.Amazonite: corpse.DropItem( new AmazoniteScales( scales ) ); break;
     case ScaleType.All:
     {
      corpse.DropItem( new RedScales( scales ) );
      corpse.DropItem( new YellowScales( scales ) );
      corpse.DropItem( new BlackScales( scales ) );
      corpse.DropItem( new GreenScales( scales ) );
      corpse.DropItem( new WhiteScales( scales ) );
      corpse.DropItem( new BlueScales( scales ) );
      corpse.DropItem( new AmazoniteScales( scales ) );
      break;
     }


I'm still geting and error sad.gif

it says :

Errors:
+ Custom/My custems/AmazoniteCrystalWyrm.cs:
CS0117: Line 86: 'Server.Mobiles.ScaleType' does not contain a definition fo
r 'AmazoniteScales'


so I'm still doing something wrong it'ss not finding the new scales

ArteGordon- 09-05-2006
in your CrystalWyrm.cs you need to specify the scale type as Amazonite instead of AmazoniteScales, which is the same as the enum you added to ScaleType

CODE

public override ScaleType ScaleType{ get{ return ScaleType.AmazoniteScales; } }

Crystal Jem- 09-06-2006
QUOTE (ArteGordon @ September 05, 2006 06:20 pm)
in your CrystalWyrm.cs you need to specify the scale type as Amazonite instead of AmazoniteScales, which is the same as the enum you added to ScaleType

CODE

public override ScaleType ScaleType{ get{ return ScaleType.AmazoniteScales; } }

thank you so much Arte,

can i mark my changes ( additions ) like this?

CODE
corpse.DropItem( new BlueScales( scales ) );
      //CrystalJem's Changes
      corpse.DropItem( new AmazoniteScales( scales ) );

will it matter it's in the midle like that ?

Also is there a place I need to add them for there resist ?

ArteGordon- 09-06-2006
the resists for the material are specified in the
CODE

 static CraftAttributeInfo()

method in oreinfo.cs. You need to add an entry for your AmazoniteScales in there and assign the resist mods that you want to apply.
You will also need to add an AmazoniteScales reference here

CODE

 public static readonly CraftAttributeInfo RedScales, YellowScales, BlackScales, GreenScales, WhiteScales, BlueScales;


You can add // comments anywhere you like, just remember that everything after the // to the end of the line will be treated as a comment.

Crystal Jem- 09-07-2006
QUOTE (ArteGordon @ September 07, 2006 12:42 am)
the resists for the material are specified in the
CODE

 static CraftAttributeInfo()

method in oreinfo.cs.  You need to add an entry for your AmazoniteScales in there and assign the resist mods that you want to apply.
You will also need to add an AmazoniteScales reference here

CODE

 public static readonly CraftAttributeInfo RedScales, YellowScales, BlackScales, GreenScales, WhiteScales, BlueScales;


You can add // comments anywhere you like, just remember that everything after the // to the end of the line will be treated as a comment.

I tried doing what you siad but it seams I need more help . I eneded up wiht errors


Here's what i did:

CODE

RedScales = 201,
 YellowScales,
 BlackScales,
 GreenScales,
 WhiteScales,
 BlueScales,
 //Crystal Jem's Changes
 AmazoniteScales,
 AmethystScales,
 AmberScales,
 AragoniteScales,
 BixbiteScales,
 BloodStoneScales,
 CalciteScales,
 GoldStoneScales,
 LabradoriteScales,
 MoldaviteScales,
 MorganiteScales,
 QuartzScales,
 RhodoniteScales,
 RubyScales,
 SapphireScales,
 SugiliteScales,
 TanzaniteScales,
 TurquoiseScales,
 VarisiteScales,
 // Crystal Jem end


CODE

 public static readonly CraftAttributeInfo RedScales, YellowScales, BlackScales, GreenScales, WhiteScales, BlueScales, AmazoniteScales, AmethystScales, AragoniteScales, BixbiteScales, BloodStoneScales, CalciteScales, GoldStoneScales, LabradoriteScales, MoldaviteScales, MorganiteScales, QuartzScales, RhodoniteScales, RubyScales, SapphireScales, SugiliteScales, TanzaniteScales, TurquoiseScales, VarisiteScales;


CODE

// Crystal Jem's Changes
 
  CraftAttributeInfo amazonite = amazoniteScales = new CraftAttributeInfo();
 
  amazonite.ArmorPhysicalResist = -3;
  amazonite.ArmorFireResist = 15;
  amazonite.ArmorPoisonResist = -3;
  amazonite.ArmorEnergyResist = 15;
 
  CraftAttributeInfo amber = amberScales = new CraftAttributeInfo();
 
  amber.ArmorPhysicalResist = 15;
  amber.ArmorFireResist = -3;
  amber.ArmorPoisonResist = -3;
  amber.ArmorEnergyResist = 15;
 
  CraftAttributeInfo amethyst = amethystScales = new CraftAttributeInfo();
 
  amethyst.ArmorPhysicalResist = -3;
           amethyst.ArmorFireResist = 10;
           amethyst.ArmorColdResist = 10;
           amethyst.ArmorPoisonResist = -3;
           amethyst.ArmorEnergyResist = 20;
           amethyst.ArmorDurability = 20;            
           amethyst.ArmorLuck = 0;
 
  CraftAttributeInfo aragonite = aragoniteScales = new CraftAttributeInfo();
 
  aragonite.ArmorPhysicalResist = 15;
  aragonite.ArmorFireResist = -3;
  aragonite.ArmorPoisonResist = -3;
  aragonite.ArmorEnergyResist = 15;
 
  CraftAttributeInfo bixbite = bixbiteScales = new CraftAttributeInfo();
 
  bixbite.ArmorPhysicalResist = -3;
           bixbite.ArmorFireResist = 0;
           bixbite.ArmorColdResist = 10;
           bixbite.ArmorPoisonResist = 20;
           bixbite.ArmorEnergyResist = -3;
           bixbite.ArmorDurability = 0;            
           bixbite.ArmorLuck = 0;
           
           CraftAttributeInfo bloodStone = bloodStoneScales = new CraftAttributeInfo();
 
  bloodStone.ArmorPhysicalResist = 10;
           bloodStone.ArmorFireResist = 20;
           bloodStone.ArmorColdResist = -3;
           bloodStone.ArmorPoisonResist = -3;
           bloodStone.ArmorEnergyResist = 0;
           bloodStone.ArmorDurability = 0;            
           bloodStone.ArmorLuck = 0;
           
           CraftAttributeInfo calcite = calciteScales = new CraftAttributeInfo();
 
  calcite.ArmorPhysicalResist = 0;
           calcite.ArmorFireResist = 10;
           calcite.ArmorColdResist = 20;
           calcite.ArmorPoisonResist = -3;
           calcite.ArmorEnergyResist = -3;
           calcite.ArmorDurability = 0;            
           calcite.ArmorLuck = 0;
           
           CraftAttributeInfo goldStone = goldStoneScales = new CraftAttributeInfo();
 
  goldStone.ArmorPhysicalResist = -3;
           goldStone.ArmorFireResist = 15;
           goldStone.ArmorColdResist = 15;
           goldStone.ArmorPoisonResist = 0;
           goldStone.ArmorEnergyResist = -3;
           goldStone.ArmorDurability = 0;            
           goldStone.ArmorLuck = 50;
           
           CraftAttributeInfo labradorite = labradoriteScales = new CraftAttributeInfo();
 
  labradorite.ArmorPhysicalResist = 10;
           labradorite.ArmorFireResist = 15;
           labradorite.ArmorColdResist = 15;
           labradorite.ArmorPoisonResist = -3;
           labradorite.ArmorEnergyResist = -3;
           labradorite.ArmorDurability = 0;            
           labradorite.ArmorLuck = 0;
           
           CraftAttributeInfo moldavite = moldaviteScales = new CraftAttributeInfo();
 
  moldavite.ArmorPhysicalResist = 10;
           moldavite.ArmorFireResist = 0;
           moldavite.ArmorColdResist = -3;
           moldavite.ArmorPoisonResist = 20;
           moldavite.ArmorEnergyResist = -3;
           moldavite.ArmorDurability = 0;            
           moldavite.ArmorLuck = 0;
           
           CraftAttributeInfo morganite = morganiteScales = new CraftAttributeInfo();
 
  morganite.ArmorPhysicalResist = -3;
           morganite.ArmorFireResist = 0;
           morganite.ArmorColdResist = 20;
           morganite.ArmorPoisonResist = -3;
           morganite.ArmorEnergyResist = 10;
           morganite.ArmorDurability = 0;            
           morganite.ArmorLuck = 0;
           
           CraftAttributeInfo quartz = quartzScales = new CraftAttributeInfo();
 
  quartz.ArmorPhysicalResist = 5;
           quartz.ArmorFireResist = 5;
           quartz.ArmorColdResist = 5;
           quartz.ArmorPoisonResist = 5;
           quartz.ArmorEnergyResist = 5;
           quartz.ArmorDurability = 100;            
           quartz.ArmorLuck = 10;
           
           CraftAttributeInfo rhodonite = rhodoniteScales = new CraftAttributeInfo();
 
  rhodonite.ArmorPhysicalResist = 15;
           rhodonite.ArmorFireResist = 5;
           rhodonite.ArmorColdResist = 10;
           rhodonite.ArmorPoisonResist = -3;
           rhodonite.ArmorEnergyResist = -3;
           rhodonite.ArmorDurability = 0;            
           rhodonite.ArmorLuck = 0;
           
           CraftAttributeInfo ruby = rubyScales = new CraftAttributeInfo();
 
  ruby.ArmorPhysicalResist = 5;
           ruby.ArmorFireResist = 15;
           ruby.ArmorColdResist = -3;
           ruby.ArmorPoisonResist = -3;
           ruby.ArmorEnergyResist = 10;
           ruby.ArmorDurability = 45;            
           ruby.ArmorLuck = 0;
           
           CraftAttributeInfo sapphire = sapphireScales = new CraftAttributeInfo();
 
  sapphire.ArmorPhysicalResist = 5;
           sapphire.ArmorFireResist = -3;
           sapphire.ArmorColdResist = 15;
           sapphire.ArmorPoisonResist = 10;
           sapphire.ArmorEnergyResist = -3;
           sapphire.ArmorDurability = 0;            
           sapphire.ArmorLuck = 0;
           
           CraftAttributeInfo sugilite = sugiliteScales = new CraftAttributeInfo();
 
  sugilite.ArmorPhysicalResist = 0;
           sugilite.ArmorFireResist = -10;
           sugilite.ArmorColdResist = 30;
           sugilite.ArmorPoisonResist = 0;
           sugilite.ArmorEnergyResist = 0;
           sugilite.ArmorDurability = 0;            
           sugilite.ArmorLuck = 0;
           
           CraftAttributeInfo tanzanite = tanzaniteScales = new CraftAttributeInfo();
 
  tanzanite.ArmorPhysicalResist = 0;
           tanzanite.ArmorFireResist = -5;
           tanzanite.ArmorColdResist = 30;
           tanzanite.ArmorPoisonResist = 0;
           tanzanite.ArmorEnergyResist = -3;
           tanzanite.ArmorDurability = 0;            
           tanzanite.ArmorLuck = 0;
           
           CraftAttributeInfo turquoise = turquoiseScales = new CraftAttributeInfo();
 
  turquoise.ArmorPhysicalResist = -3;
           turquoise.ArmorFireResist = -10;
           turquoise.ArmorColdResist = 10;
           turquoise.ArmorPoisonResist = 10;
           turquoise.ArmorEnergyResist = -3;
           turquoise.ArmorDurability = 0;            
           turquoise.ArmorLuck = 0;
           
           CraftAttributeInfo varisite = varisiteScales = new CraftAttributeInfo();
 
  varisite.ArmorPhysicalResist = 10;
           varisite.ArmorFireResist = -10;
           varisite.ArmorColdResist = 10;
           varisite.ArmorPoisonResist = 10;
           varisite.ArmorEnergyResist = 10;
           varisite.ArmorDurability = 100;            
           varisite.ArmorLuck = 85;
           
           //Crystal Jem end



and this is my error

Errors:
+ Custom/RunUO 2.0/Scripts/NewResources/OreInfo.cs:
CS0103: Line 608: The name 'amazoniteScales' does not exist in the current c
ontext
CS0103: Line 615: The name 'amberScales' does not exist in the current conte
xt
CS0103: Line 622: The name 'amethystScales' does not exist in the current co
ntext
CS0103: Line 632: The name 'aragoniteScales' does not exist in the current c
ontext
CS0103: Line 639: The name 'bixbiteScales' does not exist in the current con
text
CS0103: Line 649: The name 'bloodStoneScales' does not exist in the current
context
CS0103: Line 659: The name 'calciteScales' does not exist in the current con
text
CS0103: Line 669: The name 'goldStoneScales' does not exist in the current c
ontext
CS0103: Line 679: The name 'labradoriteScales' does not exist in the current
context
CS0103: Line 689: The name 'moldaviteScales' does not exist in the current c
ontext
CS0103: Line 699: The name 'morganiteScales' does not exist in the current c
ontext
CS0103: Line 709: The name 'quartzScales' does not exist in the current cont
ext
CS0103: Line 719: The name 'rhodoniteScales' does not exist in the current c
ontext
CS0103: Line 729: The name 'rubyScales' does not exist in the current contex
t
CS0103: Line 739: The name 'sapphireScales' does not exist in the current co
ntext
CS0103: Line 749: The name 'sugiliteScales' does not exist in the current co
ntext
CS0103: Line 759: The name 'tanzaniteScales' does not exist in the current c
ontext
CS0103: Line 769: The name 'turquoiseScales' does not exist in the current c
ontext
CS0103: Line 779: The name 'varisiteScales' does not exist in the current co
ntext
CS0128: Line 943: A local variable named 'amazonite' is already defined in t
his scope
CS0128: Line 962: A local variable named 'amber' is already defined in this
scope
CS0128: Line 981: A local variable named 'amethyst' is already defined in th
is scope
CS0128: Line 1000: A local variable named 'aragonite' is already defined in
this scope
CS0128: Line 1019: A local variable named 'bixbite' is already defined in th
is scope
CS0128: Line 1057: A local variable named 'calcite' is already defined in th
is scope
CS0128: Line 1095: A local variable named 'labradorite' is already defined i
n this scope
CS0128: Line 1114: A local variable named 'moldavite' is already defined in
this scope
CS0128: Line 1133: A local variable named 'morganite' is already defined in
this scope
CS0128: Line 1152: A local variable named 'quartz' is already defined in thi
s scope
CS0128: Line 1171: A local variable named 'rhodonite' is already defined in
this scope
CS0128: Line 1190: A local variable named 'ruby' is already defined in this
scope
CS0128: Line 1209: A local variable named 'sapphire' is already defined in t
his scope
CS0128: Line 1228: A local variable named 'sugilite' is already defined in t
his scope
CS0128: Line 1247: A local variable named 'tanzanite' is already defined in
this scope
CS0128: Line 1266: A local variable named 'turquoise' is already defined in
this scope
CS0128: Line 1285: A local variable named 'varisite' is already defined in t
his scope

Ok I found the w hy it's because the crystals have the same name if i do capitals for the frist letter would that change them enought if do i have to change the names some how?
I'm sorry but I don't know what i'm looking for to corect.

Thank you for looking and helping me.

ArteGordon- 09-07-2006
QUOTE

CraftAttributeInfo amazonite = amazoniteScales = new CraftAttributeInfo();


QUOTE

public static readonly CraftAttributeInfo RedScales, YellowScales, BlackScales, GreenScales, WhiteScales, BlueScales, AmazoniteScales, AmethystScales, AragoniteScales, BixbiteScales, BloodStoneScales, CalciteScales, GoldStoneScales, LabradoriteScales, MoldaviteScales, MorganiteScales, QuartzScales, RhodoniteScales, RubyScales, SapphireScales, SugiliteScales, TanzaniteScales, TurquoiseScales, VarisiteScales;


you spell it AmazoniteScales in one case and amazonScales in the other. They need to be the same, since what you are doing is assigning a value to the static readonly AmazoniteScales variable.

The errors complaining about variables already being defined is because of things like this

CODE

         CraftAttributeInfo ruby = rubyScales = new CraftAttributeInfo();
 
 ruby.ArmorPhysicalResist = 5;
          ruby.ArmorFireResist = 15;
          ruby.ArmorColdResist = -3;
          ruby.ArmorPoisonResist = -3;
          ruby.ArmorEnergyResist = 10;
          ruby.ArmorDurability = 45;            
          ruby.ArmorLuck = 0;


where there must be somewhere else in that method where a variable named 'ruby' is defined and used. You need to give this local variable a different name, like 'rubyscales'

CODE

         CraftAttributeInfo rubyscales = RubyScales = new CraftAttributeInfo();
 
 rubyscales .ArmorPhysicalResist = 5;
          rubyscales .ArmorFireResist = 15;
          rubyscales .ArmorColdResist = -3;
          rubyscales .ArmorPoisonResist = -3;
          rubyscales .ArmorEnergyResist = 10;
          rubyscales .ArmorDurability = 45;            
          rubyscales .ArmorLuck = 0;


and the same with all of the other ones that it is complaining about.

Crystal Jem- 09-07-2006
Thank you Again Arte

now just for testing nad makeing sure I have everything done right. smile.gif

Crystal Jem- 09-07-2006
Would you mind letting me know if it did thid right?

CODE

SetSubRes2(typeof(RedScales), 1060875);

           AddSubRes2(typeof(RedScales), 1060875, 0.0, 1053137, 1044268);
           AddSubRes2(typeof(YellowScales), 1060876, 0.0, 1053137, 1044268);
           AddSubRes2(typeof(BlackScales), 1060877, 0.0, 1053137, 1044268);
           AddSubRes2(typeof(GreenScales), 1060878, 0.0, 1053137, 1044268);
           AddSubRes2(typeof(WhiteScales), 1060879, 0.0, 1053137, 1044268);
           AddSubRes2(typeof(BlueScales), 1060880, 0.0, 1053137, 1044268);
           //Crystal Jem Changes
           AddSubRes2(typeof(AmazoniteScales), 1060881, 0.0, 1053137, 1044268);
           AddSubRes2(typeof(AmberScales), 1060882, 0.0, 1053137, 1044268);
           AddSubRes2(typeof(AmethystScales), 1060883, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(AragoniteScales), 1060884, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(BixbiteScales), 1060885, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(BloodStoneScales), 1060886, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(CalciteScales), 1060887, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(GoldStoneScales), 1060888, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(LabradoriteScales), 1060889, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(MoldaviteScales), 1060890, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(MorganiteScales), 1060891, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(QuartzScales), 1060892, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(RhodoniteScales), 1060893, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(RubyScales), 1060894, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(SapphireScales), 1060895, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(SugliteScales), 1060896, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(TanzaniteScales), 1060897, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(TurquoiseScales), 1060898, 0.0, 1053137, 1044268);
  AddSubRes2(typeof(VarisiteScales), 1060899, 0.0, 1053137, 1044268);
  // Crystal Jem End





I don't think I did this right because they are not on the smithing gump insted they have sayings.

so can someone please tell me what i did wrong ?

Thankyou,


ArteGordon- 09-13-2006
CODE

AddSubRes2(typeof(RedScales), 1060875, 0.0, 1053137, 1044268);



those numbers like 1060875 are localization numbers. They refer to built-in text available in the client text localization data files. There is not going to be any localized text in the client data files that corresponds to your new resource types, so you will have to use the methods that use string arguments there instead, like

CODE

 public void AddSubRes2( Type type, int name, double reqSkill, int genericName, object message )