View Full Version: Métaux customs

RunUO.FR Support > Probleme de script > Métaux customs


Title: Métaux customs
Description: :/ j'y suis presque mais...


Injall - August 14, 2004 02:26 PM (GMT)
apparement le problème viens de OreInfo.cs, mais j'ai du mal à le trouver :unsure:

Tout d'abord l'erreur :

QUOTE

Scripts: Compiling C# scripts...failed (37 errors, 0 warnings)
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 960, co
lumn 23) 'Server.Items.OreInfo' does not contain a definition for 'OldCopper'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 965, co
lumn 23) 'Server.Items.OreInfo' does not contain a definition for 'Argent'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 967, co
lumn 23) 'Server.Items.OreInfo' does not contain a definition for 'Platine'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 969, co
lumn 24) 'Server.Items.OreInfo' does not contain a definition for 'Sable'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 970, co
lumn 24) 'Server.Items.OreInfo' does not contain a definition for 'Lave'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 971, co
lumn 24) 'Server.Items.OreInfo' does not contain a definition for 'Glace'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 972, co
lumn 24) 'Server.Items.OreInfo' does not contain a definition for 'Acide'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 973, co
lumn 24) 'Server.Items.OreInfo' does not contain a definition for 'Luminese'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 975, co
lumn 24) 'Server.Items.OreInfo' does not contain a definition for 'Mythril'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 977, co
lumn 24) 'Server.Items.OreInfo' does not contain a definition for 'Sanguine'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 978, co
lumn 24) 'Server.Items.OreInfo' does not contain a definition for 'Lune'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseArmor.cs: CS0117: (line 979, co
lumn 24) 'Server.Items.OreInfo' does not contain a definition for 'Ultima'
- Error: Scripts\Custom\Custom Crafting 1.0\BaseWeapon.cs: CS0152: (line 2410,
column 11) The label 'case 111:' already occurs in this switch statement
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 55, column
22) 'Server.Items.OreInfo' does not contain a definition for 'OldCopper'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 60, column
22) 'Server.Items.OreInfo' does not contain a definition for 'Argent'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 62, column
22) 'Server.Items.OreInfo' does not contain a definition for 'Platine'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 64, column
23) 'Server.Items.OreInfo' does not contain a definition for 'Sable'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 65, column
23) 'Server.Items.OreInfo' does not contain a definition for 'Lave'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 66, column
23) 'Server.Items.OreInfo' does not contain a definition for 'Glace'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 67, column
23) 'Server.Items.OreInfo' does not contain a definition for 'Acide'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 68, column
23) 'Server.Items.OreInfo' does not contain a definition for 'Luminese'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 70, column
23) 'Server.Items.OreInfo' does not contain a definition for 'Mythril'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 72, column
23) 'Server.Items.OreInfo' does not contain a definition for 'Sanguine'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 73, column
23) 'Server.Items.OreInfo' does not contain a definition for 'Lune'
- Error: Scripts\Custom\Custom Crafting 1.0\Ingots.cs: CS0117: (line 74, column
23) 'Server.Items.OreInfo' does not contain a definition for 'Ultima'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 59, column 22
) 'Server.Items.OreInfo' does not contain a definition for 'OldCopper'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 64, column 22
) 'Server.Items.OreInfo' does not contain a definition for 'Argent'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 66, column 22
) 'Server.Items.OreInfo' does not contain a definition for 'Platine'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 68, column 23
) 'Server.Items.OreInfo' does not contain a definition for 'Sable'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 69, column 23
) 'Server.Items.OreInfo' does not contain a definition for 'Lave'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 70, column 23
) 'Server.Items.OreInfo' does not contain a definition for 'Glace'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 71, column 23
) 'Server.Items.OreInfo' does not contain a definition for 'Acide'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 72, column 23
) 'Server.Items.OreInfo' does not contain a definition for 'Luminese'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 74, column 23
) 'Server.Items.OreInfo' does not contain a definition for 'Mythril'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 76, column 23
) 'Server.Items.OreInfo' does not contain a definition for 'Sanguine'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 77, column 23
) 'Server.Items.OreInfo' does not contain a definition for 'Lune'
- Error: Scripts\Custom\Custom Crafting 1.0\Ore.cs: CS0117: (line 78, column 23
) 'Server.Items.OreInfo' does not contain a definition for 'Ultima'
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.


Et le fameux OreInfo.cs, désolé pour l'encombrement mais je n'arrive pas trop à situer le problème :/

CODE

using System;
using System.Collections;

namespace Server.Items
{
public enum CraftResource
{
 None = 0,
 Iron = 1,
 OldCopper,
 DullCopper,
 ShadowIron,
 Copper,
 Bronze,
 Argent,
 Gold,
 Platine,
 Agapite,
 Sable,
 Lave,
 Glace,
 Acide,
 Luminese,
 Verite,
 Mythril,
 Valorite,
 Sanguine,
 Lune,
 Ultima,

 RegularLeather = 101,
 SpinedLeather,
 HornedLeather,
 BarbedLeather,

 Chene,
 Erable,
 Pin,
 BlueBark,
 BlackBark,
 Acajou,
 Cedre,
 Elven,

 RedScales = 201,
 YellowScales,
 BlackScales,
 GreenScales,
 WhiteScales,
 BlueScales,
 CopperScales,
 SilverScales,
 GoldScales
}

public enum CraftResourceType
{
 None,
 Metal,
 Leather,
 Wood,
 Scales
}

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 OldCopper, DullCopper, ShadowIron, Copper, Bronze, Argent, Golden, Platine, Agapite, Sable, Lave, Glace, Acide, Luminese, Verite, Mythril, Valorite, Sanguine, Lune, Ultima;
 public static readonly CraftAttributeInfo Spined, Horned, Barbed;
 public static readonly CraftAttributeInfo Chene, Erable, Pin, BlueBark, BlackBark, Acajou, Cedre, Elven;
 public static readonly CraftAttributeInfo RedScales, YellowScales, BlackScales, GreenScales, WhiteScales, BlueScales, CopperScales, SilverScales, GoldScales;

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

  CraftAttributeInfo oldCopper = OldCopper = new CraftAttributeInfo();

  oldCopper.ArmorPhysicalResist = 1;
  oldCopper.ArmorDurability = 200;
  oldCopper.ArmorLowerRequirements = 100;
  oldCopper.WeaponDurability = 200;
  oldCopper.WeaponLowerRequirements = 100;
  oldCopper.RunicMinAttributes = 1;
  oldCopper.RunicMaxAttributes = 2;
  oldCopper.RunicMinIntensity = 5;
  oldCopper.RunicMaxIntensity = 10;
 
  CraftAttributeInfo dullCopper = DullCopper = new CraftAttributeInfo();

  dullCopper.ArmorPhysicalResist = 6;
  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 = 50;
  shadowIron.RunicMinAttributes = 2;
  shadowIron.RunicMaxAttributes = 2;
  shadowIron.RunicMinIntensity = 20;
  shadowIron.RunicMaxIntensity = 45;

  CraftAttributeInfo copper = Copper = new CraftAttributeInfo();

  copper.ArmorPhysicalResist = 1;
  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 argent = Argent = new CraftAttributeInfo();

  argent.ArmorPhysicalResist = 2;
  argent.ArmorFireResist = 1;
  argent.ArmorColdResist = 2;
  argent.ArmorEnergyResist = 2;
  argent.ArmorLowerRequirements = 30;
  argent.WeaponLuck = 5;
  argent.WeaponLowerRequirements = 50;
  argent.RunicMinAttributes = 3;
  argent.RunicMaxAttributes = 4;
  argent.RunicMinIntensity = 35;
  argent.RunicMaxIntensity = 70;

  CraftAttributeInfo golden = Golden = new CraftAttributeInfo();

  golden.ArmorPhysicalResist = 1;
  golden.ArmorFireResist = 1;
  golden.ArmorColdResist = 2;
  golden.ArmorEnergyResist = 2;
  golden.ArmorLuck = 5;
  golden.ArmorLowerRequirements = 30;
  golden.WeaponLuck = 5;
  golden.WeaponLowerRequirements = 50;
  golden.RunicMinAttributes = 3;
  golden.RunicMaxAttributes = 4;
  golden.RunicMinIntensity = 35;
  golden.RunicMaxIntensity = 75;
 
  CraftAttributeInfo platine = Platine = new CraftAttributeInfo();

  platine.ArmorPhysicalResist = 3;
  platine.ArmorFireResist = 2;
  platine.ArmorColdResist = 2;
  platine.ArmorPoisonResist = 2;
  platine.ArmorEnergyResist = 1;
  platine.RunicMinAttributes = 3;
  platine.RunicMaxAttributes = 4;
  platine.RunicMinIntensity = 40;
  platine.RunicMaxIntensity = 75;

  CraftAttributeInfo agapite = Agapite = new CraftAttributeInfo();

  agapite.ArmorPhysicalResist = 2;
  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 sable = Sable = new CraftAttributeInfo();

  sable.ArmorPhysicalResist = 7;
  sable.ArmorDurability = 50;
  sable.WeaponDurability = 50;
  sable.RunicMinAttributes = 4;
  sable.RunicMaxAttributes = 4;
  sable.RunicMinIntensity = 40;
  sable.RunicMaxIntensity = 85;
 
  CraftAttributeInfo lave = Lave = new CraftAttributeInfo();

  lave.ArmorFireResist = 7;
  lave.ArmorDurability = 50;
  lave.WeaponFireDamage = 70;
  lave.WeaponDurability = 50;
  lave.RunicMinAttributes = 4;
  lave.RunicMaxAttributes = 4;
  lave.RunicMinIntensity = 40;
  lave.RunicMaxIntensity = 85;
 
  CraftAttributeInfo glace = Glace = new CraftAttributeInfo();

  glace.ArmorColdResist = 7;
  glace.ArmorDurability = 50;
  glace.WeaponColdDamage = 70;
  glace.WeaponDurability = 50;
  glace.RunicMinAttributes = 4;
  glace.RunicMaxAttributes = 4;
  glace.RunicMinIntensity = 40;
  glace.RunicMaxIntensity = 85;
 
  CraftAttributeInfo acide = Acide = new CraftAttributeInfo();

  acide.ArmorPoisonResist = 7;
  acide.ArmorDurability = 50;
  acide.WeaponPoisonDamage = 70;
  acide.WeaponDurability = 50;
  acide.RunicMinAttributes = 4;
  acide.RunicMaxAttributes = 4;
  acide.RunicMinIntensity = 40;
  acide.RunicMaxIntensity = 85;
 
  CraftAttributeInfo luminese = Luminese = new CraftAttributeInfo();

  luminese.ArmorEnergyResist = 7;
  luminese.ArmorDurability = 50;
  luminese.WeaponEnergyDamage = 70;
  luminese.WeaponDurability = 50;
  luminese.RunicMinAttributes = 4;
  luminese.RunicMaxAttributes = 4;
  luminese.RunicMinIntensity = 40;
  luminese.RunicMaxIntensity = 85;

  CraftAttributeInfo verite = Verite = new CraftAttributeInfo();

  verite.ArmorPhysicalResist = 3;
  verite.ArmorFireResist = 3;
  verite.ArmorColdResist = 2;
  verite.ArmorPoisonResist = 3;
  verite.ArmorEnergyResist = 1;
  verite.WeaponPoisonDamage = 40;
  verite.WeaponEnergyDamage = 20;
  verite.RunicMinAttributes = 4;
  verite.RunicMaxAttributes = 5;
  verite.RunicMinIntensity = 45;
  verite.RunicMaxIntensity = 90;
 
  CraftAttributeInfo mythril = Mythril = new CraftAttributeInfo();

  mythril.ArmorPhysicalResist = 2;
  mythril.ArmorColdResist = 3;
  mythril.ArmorPoisonResist = 3;
  mythril.ArmorEnergyResist = 3;
  mythril.ArmorDurability = 70;
  mythril.ArmorLuck = 10;
  mythril.WeaponColdDamage = 30;
  mythril.WeaponEnergyDamage = 25;
  mythril.WeaponDurability = 70;
  mythril.WeaponLuck = 10;
  mythril.RunicMinAttributes = 4;
  mythril.RunicMaxAttributes = 5;
  mythril.RunicMinIntensity = 45;
  mythril.RunicMaxIntensity = 95;

  CraftAttributeInfo valorite = Valorite = new CraftAttributeInfo();

  valorite.ArmorPhysicalResist = 4;
  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 sanguine = Sanguine = new CraftAttributeInfo();
 
  sanguine.ArmorPhysicalResist = 4;
  sanguine.ArmorFireResist = 4;
  sanguine.ArmorColdResist = 4;
  sanguine.ArmorPoisonResist = 4;
  sanguine.ArmorEnergyResist = 4;
  sanguine.ArmorDurability = 100;
  sanguine.WeaponDurability = 100;
  sanguine.WeaponFireDamage = 10;
  sanguine.WeaponColdDamage = 10;
  sanguine.WeaponPoisonDamage = 10;
  sanguine.WeaponEnergyDamage = 10;
  sanguine.RunicMinAttributes = 5;
  sanguine.RunicMaxAttributes = 6;
  sanguine.RunicMinIntensity = 60;
  sanguine.RunicMaxIntensity = 110;
 
  CraftAttributeInfo lune = Lune = new CraftAttributeInfo();
 
  lune.ArmorPhysicalResist = 4;
  lune.ArmorFireResist = 4;
  lune.ArmorColdResist = 4;
  lune.ArmorPoisonResist = 4;
  lune.ArmorEnergyResist = 4;
  lune.ArmorDurability = 100;
  lune.WeaponDurability = 100;
  lune.WeaponFireDamage = 10;
  lune.WeaponColdDamage = 10;
  lune.WeaponPoisonDamage = 10;
  lune.WeaponEnergyDamage = 10;
  lune.RunicMinAttributes = 5;
  lune.RunicMaxAttributes = 6;
  lune.RunicMinIntensity = 60;
  lune.RunicMaxIntensity = 110;

  CraftAttributeInfo ultima = Ultima = new CraftAttributeInfo();
 
  ultima.ArmorPhysicalResist = 5;
  ultima.ArmorFireResist = 5;
  ultima.ArmorColdResist = 5;
  ultima.ArmorPoisonResist = 5;
  ultima.ArmorEnergyResist = 5;
  ultima.ArmorDurability = 100;
  ultima.WeaponDurability = 100;
  ultima.WeaponFireDamage = 20;
  ultima.WeaponColdDamage = 20;
  ultima.WeaponPoisonDamage = 20;
  ultima.WeaponEnergyDamage = 20;
  ultima.RunicMinAttributes = 5;
  ultima.RunicMaxAttributes = 6;
  ultima.RunicMinIntensity = 60;
  ultima.RunicMaxIntensity = 110;

  CraftAttributeInfo spined = Spined = new CraftAttributeInfo();

  spined.ArmorPhysicalResist = 5;
  spined.ArmorLuck = 5;
  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 oak = Chene = new CraftAttributeInfo();

  oak.WeaponDurability = 100;
  oak.WeaponLowerRequirements = 50;
  oak.WeaponPoisonDamage = 20;
  oak.RunicMinAttributes = 1;
  oak.RunicMaxAttributes = 3;
  oak.RunicMinIntensity = 10;
  oak.RunicMaxIntensity = 20;

  CraftAttributeInfo maple = Erable = new CraftAttributeInfo();

  maple.WeaponDurability = 100;
  maple.WeaponLowerRequirements = 50;
  maple.WeaponColdDamage = 20;
  maple.RunicMinAttributes = 1;
  maple.RunicMaxAttributes = 3;
  maple.RunicMinIntensity = 20;
  maple.RunicMaxIntensity = 30;

  CraftAttributeInfo pine = Pin = new CraftAttributeInfo();

  pine.WeaponDurability = 100;
  pine.WeaponLowerRequirements = 50;
  pine.WeaponFireDamage = 20;
  pine.RunicMinAttributes = 1;
  pine.RunicMaxAttributes = 3;
  pine.RunicMinIntensity = 30;
  pine.RunicMaxIntensity = 40;

  CraftAttributeInfo bluebark = BlueBark = new CraftAttributeInfo();

  bluebark.WeaponDurability = 100;
  bluebark.WeaponLowerRequirements = 50;
  bluebark.WeaponColdDamage = 20;
  bluebark.RunicMinAttributes = 1;
  bluebark.RunicMaxAttributes = 3;
  bluebark.RunicMinIntensity = 40;
  bluebark.RunicMaxIntensity = 50;

  CraftAttributeInfo blackbark = BlackBark = new CraftAttributeInfo();

  blackbark.WeaponDurability = 100;
  blackbark.WeaponLowerRequirements = 50;
  blackbark.WeaponEnergyDamage = 20;
  blackbark.RunicMinAttributes = 3;
  blackbark.RunicMaxAttributes = 3;
  blackbark.RunicMinIntensity = 40;
  blackbark.RunicMaxIntensity = 50;

  CraftAttributeInfo bloodleaf = Acajou = new CraftAttributeInfo();

  bloodleaf.WeaponDurability = 100;
  bloodleaf.WeaponLowerRequirements = 50;
  bloodleaf.WeaponFireDamage = 50;
  bloodleaf.RunicMinAttributes = 3;
  bloodleaf.RunicMaxAttributes = 3;
  bloodleaf.RunicMinIntensity = 50;
  bloodleaf.RunicMaxIntensity = 60;

  CraftAttributeInfo swamp = Cedre = new CraftAttributeInfo();

  swamp.WeaponDurability = 100;
  swamp.WeaponLowerRequirements = 50;
  swamp.WeaponPoisonDamage = 50;
  swamp.RunicMinAttributes = 3;
  swamp.RunicMaxAttributes = 3;
  swamp.RunicMinIntensity = 60;
  swamp.RunicMaxIntensity = 80;

  CraftAttributeInfo elven = Elven = new CraftAttributeInfo();

  elven.WeaponDurability = 100;
  elven.WeaponLowerRequirements = 50;
  elven.WeaponFireDamage = 20;
  elven.WeaponColdDamage = 20;
  elven.WeaponPoisonDamage = 20;
  elven.WeaponEnergyDamage = 20;
  elven.WeaponLuck = 50;
  elven.RunicMinAttributes = 3;
  elven.RunicMaxAttributes = 3;
  elven.RunicMinIntensity = 80;
  elven.RunicMaxIntensity = 100;

  CraftAttributeInfo red = RedScales = new CraftAttributeInfo();

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

  CraftAttributeInfo yellow = YellowScales = new CraftAttributeInfo();

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

  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 coppers = CopperScales = new CraftAttributeInfo();

  coppers.ArmorPoisonResist = 10;
  coppers.ArmorPhysicalResist = 10;
  coppers.ArmorEnergyResist = 10;
  coppers.ArmorFireResist = -10;
  coppers.ArmorColdResist = -10;

  CraftAttributeInfo silver = SilverScales = new CraftAttributeInfo();

  silver.ArmorColdResist = 10;
  silver.ArmorEnergyResist = 10;
  silver.ArmorPhysicalResist = 10;
  silver.ArmorFireResist = -10;
  silver.ArmorPoisonResist = -10;

  CraftAttributeInfo gold = GoldScales = new CraftAttributeInfo();

  gold.ArmorPoisonResist = 10;
  gold.ArmorColdResist = 10;
  gold.ArmorPhysicalResist = -10;
  gold.ArmorEnergyResist = -10;
  gold.ArmorFireResist = 10;
 }
}

public class CraftResourceInfo
{
 private int m_Hue;
 private int m_Number;
 private string m_Name;
 private CraftAttributeInfo m_AttributeInfo;
 private CraftResource m_Resource;
 private Type[] m_ResourceTypes;

 public int Hue{ get{ return m_Hue; } }
 public int Number{ get{ return m_Number; } }
 public string Name{ get{ return m_Name; } }
 public CraftAttributeInfo AttributeInfo{ get{ return m_AttributeInfo; } }
 public CraftResource Resource{ get{ return m_Resource; } }
 public Type[] ResourceTypes{ get{ return m_ResourceTypes; } }

 public CraftResourceInfo( int hue, int number, string name, CraftAttributeInfo attributeInfo, CraftResource resource, params Type[] resourceTypes )
 {
  m_Hue = hue;
  m_Number = number;
  m_Name = name;
  m_AttributeInfo = attributeInfo;
  m_Resource = resource;
  m_ResourceTypes = resourceTypes;

  for ( int i = 0; i < resourceTypes.Length; ++i )
   CraftResources.RegisterType( resourceTypes[i], resource );
 }
}

public class CraftResources
{
 private static CraftResourceInfo[] m_MetalInfo = new CraftResourceInfo[]
  {
   new CraftResourceInfo( 0x000, 1053109,  "Fer",     CraftAttributeInfo.Blank,  CraftResource.Iron,    
typeof( IronIngot ),  typeof( IronOre ),   typeof( Granite ) ),
   new CraftResourceInfo( 1437, 0,   "Vieux cuivre",   CraftAttributeInfo.OldCopper, CraftResource.OldCopper,  
typeof( OldCopperIngot ), typeof( OldCopperOre ),  typeof( OldCopperGranite ) ),
   new CraftResourceInfo( 0x973, 1053108,  "Cuivre terne",   CraftAttributeInfo.DullCopper, CraftResource.DullCopper,  
typeof( DullCopperIngot ), typeof( DullCopperOre ), typeof( DullCopperGranite ) ),
   new CraftResourceInfo( 0x966, 1053107,  "Fer noir",    CraftAttributeInfo.ShadowIron, CraftResource.ShadowIron,  
typeof( ShadowIronIngot ), typeof( ShadowIronOre ), typeof( ShadowIronGranite ) ),
   new CraftResourceInfo( 0x96D, 1053106,  "Cuivre",    CraftAttributeInfo.Copper,  CraftResource.Copper,  
typeof( CopperIngot ),  typeof( CopperOre ),  typeof( CopperGranite ) ),
   new CraftResourceInfo( 0x972, 1053105,  "Bronze",    CraftAttributeInfo.Bronze,  CraftResource.Bronze,  
typeof( BronzeIngot ),  typeof( BronzeOre ),  typeof( BronzeGranite ) ),
   new CraftResourceInfo( 2101, 0,   "Argent",    CraftAttributeInfo.Argent,  CraftResource.Argent,  
typeof( ArgentIngot ),  typeof( ArgentOre ),  typeof( ArgentGranite ) ),
   new CraftResourceInfo( 0x8A5, 1053104,  "Or",     CraftAttributeInfo.Golden,  CraftResource.Gold,    
typeof( GoldIngot ),  typeof( GoldOre ),   typeof( GoldGranite ) ),
   new CraftResourceInfo( 1501, 0,   "Platine",    CraftAttributeInfo.Platine,  CraftResource.Platine,  
typeof( PlatineIngot ),  typeof( PlatineOre ),  typeof( PlatineGranite ) ),
   new CraftResourceInfo( 0x979, 1053103,  "Agapite",    CraftAttributeInfo.Agapite,  CraftResource.Agapite,  
typeof( AgapiteIngot ),  typeof( AgapiteOre ),  typeof( AgapiteGranite ) ),
   new CraftResourceInfo( 2413, 0,   "Roche de sable",  CraftAttributeInfo.Sable,  CraftResource.Sable,  
typeof( SableIngot ),  typeof( SableOre ),   typeof( SableGranite ) ),
   new CraftResourceInfo( 2117, 0,   "Roche de lave",  CraftAttributeInfo.Lave,  CraftResource.Lave,  
typeof( LaveIngot ),  typeof( LaveOre ),   typeof( LaveGranite ) ),
   new CraftResourceInfo( 1165, 0,   "Roche de glace",  CraftAttributeInfo.Glace,  CraftResource.Glace,  
typeof( GlaceIngot ),  typeof( GlaceOre ),   typeof( GlaceGranite ) ),
   new CraftResourceInfo( 1419, 0,   "Roche d'acide",  CraftAttributeInfo.Acide,  CraftResource.Acide,  
typeof( AcideIngot ),  typeof( AcideOre ),   typeof( AcideGranite ) ),
   new CraftResourceInfo( 1246, 0,   "Roche de luminese", CraftAttributeInfo.Luminese, CraftResource.Luminese,  
typeof( LumineseIngot ), typeof( LumineseOre ),  typeof( LumineseGranite ) ),
   new CraftResourceInfo( 0x89F, 1053102,  "Verite",    CraftAttributeInfo.Verite,  CraftResource.Verite,  
typeof( VeriteIngot ),  typeof( VeriteOre ),  typeof( VeriteGranite ) ),
   new CraftResourceInfo( 1154, 0,   "Mythril",    CraftAttributeInfo.Mythril,  CraftResource.Mythril,  
typeof( MythrilIngot ),  typeof( MythrilOre ),  typeof( MythrilGranite ) ),
   new CraftResourceInfo( 0x8AB, 1053101,  "Valorite",    CraftAttributeInfo.Valorite, CraftResource.Valorite,  
typeof( ValoriteIngot ), typeof( ValoriteOre ),  typeof( ValoriteGranite ) ),
   new CraftResourceInfo( 1157, 0,   "Roche sanguine",  CraftAttributeInfo.Sanguine, CraftResource.Sanguine,  
typeof( SanguineIngot ), typeof( SanguineOre ),  typeof( SanguineGranite ) ),
   new CraftResourceInfo( 1156, 0,   "Roche de lune",  CraftAttributeInfo.Lune,  CraftResource.Lune,    
typeof( LuneIngot ),  typeof( LuneOre ),   typeof( LuneGranite ) ),
   new CraftResourceInfo( 1281, 0,   "Ultima",    CraftAttributeInfo.Ultima,  CraftResource.Ultima,  
typeof( UltimaIngot ),  typeof( UltimaOre ),  typeof( UltimaGranite ) ),
  };

 private static CraftResourceInfo[] m_WoodInfo = new CraftResourceInfo[]
  {
   new CraftResourceInfo( 2312, 0, "Chêne",  CraftAttributeInfo.Chene,  CraftResource.Chene,  typeof( CheneLog ) ),
   new CraftResourceInfo( 1721, 0, "Erable",  CraftAttributeInfo.Erable,  CraftResource.Erable,  typeof( ErableLog ) ),
   new CraftResourceInfo( 2213, 0, "Pin",   CraftAttributeInfo.Pin,   CraftResource.Pin,   typeof( PinLog ) ),
   new CraftResourceInfo( 1325, 0, "BlueBark",  CraftAttributeInfo.BlueBark, CraftResource.BlueBark,  typeof( BlueBarkLog ) ),
   new CraftResourceInfo( 2306, 0, "BlackBark", CraftAttributeInfo.BlackBark, CraftResource.BlackBark, typeof( BlackBarkLog ) ),
   new CraftResourceInfo( 2116, 0, "Acajou",  CraftAttributeInfo.Acajou,  CraftResource.Acajou,  typeof( AcajouLog ) ),
   new CraftResourceInfo( 2129, 0, "Cèdre",  CraftAttributeInfo.Cedre,  CraftResource.Cedre,  typeof( CedreLog ) ),
   new CraftResourceInfo( 1072, 0, "Elven",  CraftAttributeInfo.Elven,  CraftResource.Elven,  typeof( ElvenLog ) ),
  };

 private static CraftResourceInfo[] m_ScaleInfo = new CraftResourceInfo[]
  {
   new CraftResourceInfo( 0x66D, 1053129, "Red Scales", CraftAttributeInfo.RedScales,  CraftResource.RedScales,  typeof( RedScales ) ),
   new CraftResourceInfo( 0x8A8, 1053130, "Yellow Scales", CraftAttributeInfo.YellowScales, CraftResource.YellowScales,  typeof( YellowScales ) ),
   new CraftResourceInfo( 0x455, 1053131, "Black Scales", CraftAttributeInfo.BlackScales,  CraftResource.BlackScales,  typeof( BlackScales ) ),
   new CraftResourceInfo( 0x851, 1053132, "Green Scales", CraftAttributeInfo.GreenScales,  CraftResource.GreenScales,  typeof( GreenScales ) ),
   new CraftResourceInfo( 0x8FD, 1053133, "White Scales", CraftAttributeInfo.WhiteScales,  CraftResource.WhiteScales,  typeof( WhiteScales ) ),
   new CraftResourceInfo( 0x8B0, 1053134, "Blue Scales", CraftAttributeInfo.BlueScales,  CraftResource.BlueScales,  typeof( BlueScales ) ),
   new CraftResourceInfo( 0x96D, 0, "Copper Scales", CraftAttributeInfo.CopperScales,  CraftResource.CopperScales,  typeof( CopperScales ) ),
   new CraftResourceInfo( 1153, 0, "Silver Scales", CraftAttributeInfo.SilverScales,  CraftResource.SilverScales,  typeof( SilverScales ) ),
   new CraftResourceInfo( 0x8A5, 0, "Gold Scales",  CraftAttributeInfo.GoldScales,  CraftResource.GoldScales,  typeof( GoldScales ) )
  };

 private static CraftResourceInfo[] m_LeatherInfo = new CraftResourceInfo[]
  {
   new CraftResourceInfo( 0x000, 1049353, "Normal",  CraftAttributeInfo.Blank,  CraftResource.RegularLeather, typeof( Leather ),   typeof( Hides ) ),
   new CraftResourceInfo( 0x283, 1049354, "Spined",  CraftAttributeInfo.Spined,  CraftResource.SpinedLeather, typeof( SpinedLeather ), typeof( SpinedHides ) ),
   new CraftResourceInfo( 0x227, 1049355, "Horned",  CraftAttributeInfo.Horned,  CraftResource.HornedLeather, typeof( HornedLeather ), typeof( HornedHides ) ),
   new CraftResourceInfo( 0x1C1, 1049356, "Barbed",  CraftAttributeInfo.Barbed,  CraftResource.BarbedLeather, typeof( BarbedLeather ), typeof( BarbedHides ) )
 };

 private static CraftResourceInfo[] m_AOSLeatherInfo = new CraftResourceInfo[]
  {
   new CraftResourceInfo( 0x000, 1049353, "Normal",  CraftAttributeInfo.Blank,  CraftResource.RegularLeather, typeof( Leather ),   typeof( Hides ) ),
   new CraftResourceInfo( 0x8AC, 1049354, "Spined",  CraftAttributeInfo.Spined,  CraftResource.SpinedLeather, typeof( SpinedLeather ), typeof( SpinedHides ) ),
   new CraftResourceInfo( 0x845, 1049355, "Horned",  CraftAttributeInfo.Horned,  CraftResource.HornedLeather, typeof( HornedLeather ), typeof( HornedHides ) ),
   new CraftResourceInfo( 0x851, 1049356, "Barbed",  CraftAttributeInfo.Barbed,  CraftResource.BarbedLeather, typeof( BarbedLeather ), typeof( BarbedHides ) ),
 };

 /// <summary>
 /// Returns true if '<paramref name="resource"/>' is None, Iron, or RegularLeather. False if otherwise.
 /// </summary>
 public static bool IsStandard( CraftResource resource )
 {
  return ( resource == CraftResource.None || resource == CraftResource.Iron || resource == CraftResource.RegularLeather );
 }

 private static Hashtable m_TypeTable;

 /// <summary>
 /// Registers that '<paramref name="resourceType"/>' uses '<paramref name="resource"/>' so that it can later be queried by <see cref="CraftResources.GetFromType"/>
 /// </summary>
 public static void RegisterType( Type resourceType, CraftResource resource )
 {
  if ( m_TypeTable == null )
   m_TypeTable = new Hashtable();

  m_TypeTable[resourceType] = resource;
 }

 /// <summary>
 /// Returns the <see cref="CraftResource"/> value for which '<paramref name="resourceType"/>' uses -or- CraftResource.None if an unregistered type was specified.
 /// </summary>
 public static CraftResource GetFromType( Type resourceType )
 {
  if ( m_TypeTable == null )
   return CraftResource.None;

  object obj = m_TypeTable[resourceType];

  if ( !(obj is CraftResource) )
   return CraftResource.None;

  return (CraftResource)obj;
 }

 /// <summary>
 /// Returns a <see cref="CraftResourceInfo"/> instance describing '<paramref name="resource"/>' -or- null if an invalid resource was specified.
 /// </summary>
 public static CraftResourceInfo GetInfo( CraftResource resource )
 {
  CraftResourceInfo[] list = null;

  switch ( GetType( resource ) )
  {
   case CraftResourceType.Metal: list = m_MetalInfo; break;
   case CraftResourceType.Leather: list = Core.AOS ? m_AOSLeatherInfo : m_LeatherInfo; break;
   case CraftResourceType.Wood: list = m_WoodInfo; break;
   case CraftResourceType.Scales: list = m_ScaleInfo; break;
  }

  if ( list != null )
  {
   int index = GetIndex( resource );

   if ( index >= 0 && index < list.Length )
    return list[index];
  }

  return null;
 }

 /// <summary>
 /// Returns a <see cref="CraftResourceType"/> value indiciating the type of '<paramref name="resource"/>'.
 /// </summary>
 public static CraftResourceType GetType( CraftResource resource )
 {
  if ( resource >= CraftResource.Iron && resource <= CraftResource.Ultima )
   return CraftResourceType.Metal;

  if ( resource >= CraftResource.RegularLeather && resource <= CraftResource.BarbedLeather )
   return CraftResourceType.Leather;

  if ( resource >= CraftResource.Chene && resource <= CraftResource.Elven )
   return CraftResourceType.Wood;

  if ( resource >= CraftResource.RedScales && resource <= CraftResource.GoldScales )
   return CraftResourceType.Scales;

  return CraftResourceType.None;
 }

 /// <summary>
 /// Returns the first <see cref="CraftResource"/> in the series of resources for which '<paramref name="resource"/>' belongs.
 /// </summary>
 public static CraftResource GetStart( CraftResource resource )
 {
  switch ( GetType( resource ) )
  {
   case CraftResourceType.Metal: return CraftResource.Iron;
   case CraftResourceType.Leather: return CraftResource.RegularLeather;
   case CraftResourceType.Wood: return CraftResource.Chene;
   case CraftResourceType.Scales: return CraftResource.RedScales;
  }

  return CraftResource.None;
 }

 /// <summary>
 /// Returns the index of '<paramref name="resource"/>' in the seriest of resources for which it belongs.
 /// </summary>
 public static int GetIndex( CraftResource resource )
 {
  CraftResource start = GetStart( resource );

  if ( start == CraftResource.None )
   return 0;

  return (int)(resource - start);
 }

 /// <summary>
 /// Returns the <see cref="CraftResourceInfo.Number"/> property of '<paramref name="resource"/>' -or- 0 if an invalid resource was specified.
 /// </summary>
 public static int GetLocalizationNumber( CraftResource resource )
 {
  CraftResourceInfo info = GetInfo( resource );

  return ( info == null ? 0 : info.Number );
 }

 /// <summary>
 /// Returns the <see cref="CraftResourceInfo.Hue"/> property of '<paramref name="resource"/>' -or- 0 if an invalid resource was specified.
 /// </summary>
 public static int GetHue( CraftResource resource )
 {
  CraftResourceInfo info = GetInfo( resource );

  return ( info == null ? 0 : info.Hue );
 }

 /// <summary>
 /// Returns the <see cref="CraftResourceInfo.Name"/> property of '<paramref name="resource"/>' -or- an empty string if the resource specified was invalid.
 /// </summary>
 public static string GetName( CraftResource resource )
 {
  CraftResourceInfo info = GetInfo( resource );

  return ( info == null ? String.Empty : info.Name );
 }

 /// <summary>
 /// Returns the <see cref="CraftResource"/> value which represents '<paramref name="info"/>' -or- CraftResource.None if unable to convert.
 /// </summary>
 public static CraftResource GetFromOreInfo( OreInfo info )
 {
  if ( info.Name.IndexOf( "Spined" ) >= 0 )
   return CraftResource.SpinedLeather;
  else if ( info.Name.IndexOf( "Horned" ) >= 0 )
   return CraftResource.HornedLeather;
  else if ( info.Name.IndexOf( "Barbed" ) >= 0 )
   return CraftResource.BarbedLeather;
  else if ( info.Name.IndexOf( "Leather" ) >= 0 )
   return CraftResource.RegularLeather;

  if ( info.Level == 0 )
   return CraftResource.Iron;
  else if ( info.Level == 1 )
   return CraftResource.OldCopper;
  else if ( info.Level == 2 )
   return CraftResource.DullCopper;
  else if ( info.Level == 3 )
   return CraftResource.ShadowIron;
  else if ( info.Level == 4 )
   return CraftResource.Copper;
  else if ( info.Level == 5 )
   return CraftResource.Bronze;
  else if ( info.Level == 6 )
   return CraftResource.Argent;
  else if ( info.Level == 7 )
   return CraftResource.Gold;
  else if ( info.Level == 8 )
   return CraftResource.Platine;
  else if ( info.Level == 9 )
   return CraftResource.Agapite;
  else if ( info.Level == 10 )
   return CraftResource.Sable;
  else if ( info.Level == 11 )
   return CraftResource.Lave;
  else if ( info.Level == 12 )
   return CraftResource.Glace;
  else if ( info.Level == 13 )
   return CraftResource.Acide;
  else if ( info.Level == 14 )
   return CraftResource.Luminese;
  else if ( info.Level == 15 )
   return CraftResource.Verite;
  else if ( info.Level == 16 )
   return CraftResource.Mythril;
  else if ( info.Level == 17 )
   return CraftResource.Valorite;
  else if ( info.Level == 18)
   return CraftResource.Sanguine;
  else if ( info.Level == 19 )
   return CraftResource.Lune;
  else if ( info.Level == 20 )
   return CraftResource.Ultima;
  else if ( info.Level == 21 )
   return CraftResource.Chene;
  else if ( info.Level == 22 )
   return CraftResource.Erable;
  else if ( info.Level == 23 )
   return CraftResource.Pin;
  else if ( info.Level == 24 )
   return CraftResource.BlueBark;
  else if ( info.Level == 25 )
   return CraftResource.BlackBark;
  else if ( info.Level == 26 )
   return CraftResource.Acajou;
  else if ( info.Level == 27 )
   return CraftResource.Cedre;
  else if ( info.Level == 28 )
   return CraftResource.Elven;

  return CraftResource.None;
 }

 /// <summary>
 /// Returns the <see cref="CraftResource"/> value which represents '<paramref name="info"/>', using '<paramref name="material"/>' to help resolve leather OreInfo instances.
 /// </summary>
 public static CraftResource GetFromOreInfo( OreInfo info, ArmorMaterialType material )
 {
  if ( material == ArmorMaterialType.Studded || material == ArmorMaterialType.Leather || material == ArmorMaterialType.Spined ||
   material == ArmorMaterialType.Horned || material == ArmorMaterialType.Barbed )
  {
   if ( info.Level == 0 )
    return CraftResource.RegularLeather;
   else if ( info.Level == 1 )
    return CraftResource.SpinedLeather;
   else if ( info.Level == 2 )
    return CraftResource.HornedLeather;
   else if ( info.Level == 3 )
    return CraftResource.BarbedLeather;

   return CraftResource.None;
  }

  return GetFromOreInfo( info );
 }
}

// NOTE: This class is only for compatability with very old RunUO versions.
// No changes to it should be required for custom resources.
public class OreInfo
{
 public static readonly OreInfo Iron  = new OreInfo( 0, 0x000, "Iron" );
 public static readonly OreInfo DullCopper = new OreInfo( 1, 0x973, "Dull Copper" );
 public static readonly OreInfo ShadowIron = new OreInfo( 2, 0x966, "Shadow Iron" );
 public static readonly OreInfo Copper  = new OreInfo( 3, 0x96D, "Copper" );
 public static readonly OreInfo Bronze  = new OreInfo( 4, 0x972, "Bronze" );
 public static readonly OreInfo Gold  = new OreInfo( 5, 0x8A5, "Gold" );
 public static readonly OreInfo Agapite  = new OreInfo( 6, 0x979, "Agapite" );
 public static readonly OreInfo Verite  = new OreInfo( 7, 0x89F, "Verite" );
 public static readonly OreInfo Valorite  = new OreInfo( 8, 0x8AB, "Valorite" );

 private int m_Level;
 private int m_Hue;
 private string m_Name;

 public OreInfo( int level, int hue, string name )
 {
  m_Level = level;
  m_Hue = hue;
  m_Name = name;
 }

 public int Level
 {
  get
  {
   return m_Level;
  }
 }

 public int Hue
 {
  get
  {
   return m_Hue;
  }
 }

 public string Name
 {
  get
  {
   return m_Name;
  }
 }
}
}


Je compte sur vous, j'y ai passé du temps et ca m'embêterais de ne pas trouver de solution :(

Nezumi - August 14, 2004 08:50 PM (GMT)
tu as oublié de completer la derniere section. Regarde en bas, juste en dessous de ça :

CODE
public class OreInfo

Injall - August 14, 2004 11:51 PM (GMT)
wé je sais mais juste au dessus on peut lire :
QUOTE
// NOTE: This class is only for compatability with very old RunUO versions.
// No changes to it should be required for custom resources.


Je vais essaye quand même, on siat jamais ! :D :P

Injall - August 15, 2004 12:03 AM (GMT)
Wouahou !
Ca a presque tout arranger, il ne reste plus qu'un erreur :

QUOTE

Scripts: Compiling C# scripts...failed (1 errors, 0 warnings)
- Error: Scripts\Custom\Custom Crafting 1.0\BaseWeapon.cs: CS0152: (line 2410,
column 11) The label 'case 111:' already occurs in this switch statement
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.

slade15 - August 15, 2004 01:37 PM (GMT)
l'error vien de ton BaseWeapon donc faudrai qu'on le vois pour t'aider

je croi que la ca va etre une bete error comme avec mal mis les {} et si tu a mis 2 fois case 111

Injall - August 15, 2004 04:24 PM (GMT)
voila les lignes concernées :

CODE
public override void AddNameProperty( ObjectPropertyList list )
 {
  string oreType;

  if ( Hue == 0 )
  {
   oreType = "";
  }
  else
  {
   switch ( m_Resource )
   {
    case CraftResource.OldCopper:  oreType = "vieux cuivre"; break;
    case CraftResource.DullCopper:  oreType = "cuivre terne"; break; // dull copper
    case CraftResource.ShadowIron:  oreType = "fer noir"; break; // shadow iron
    case CraftResource.Copper:   oreType = "cuivre"; break; // copper
    case CraftResource.Bronze:   oreType = "bronze"; break; // bronze
    case CraftResource.Argent:   oreType = "argent"; break;
    case CraftResource.Gold:   oreType = "or"; break; // golden
    case CraftResource.Platine:   oreType = "platine"; break;
    case CraftResource.Agapite:   oreType = "agapite"; break; // agapite
    case CraftResource.Sable:   oreType = "roche de sable"; break;
    case CraftResource.Lave:   oreType = "roche de lave"; break;
    case CraftResource.Glace:   oreType = "roche de glace"; break;
    case CraftResource.Acide:   oreType = "roche d'acide"; break;
    case CraftResource.Luminese:  oreType = "roche de luminese"; break;
    case CraftResource.Verite:   oreType = "verite"; break; // verite
    case CraftResource.Mythril:   oreType = "mythril"; break;
    case CraftResource.Valorite:  oreType = "valorite"; break; // valorite
    case CraftResource.Sanguine:  oreType = "roche sanguine"; break;
    case CraftResource.Lune:   oreType = "roche de lune"; break;
    case CraftResource.Ultima:   oreType = "ultima"; break;

    case CraftResource.SpinedLeather: oreType = "spined leather"; break; // spined
    case CraftResource.HornedLeather: oreType = "horned leather"; break; // horned
    case CraftResource.BarbedLeather: oreType = "barbed leather"; break; // barbed

    case CraftResource.RedScales:  oreType = "red scales"; break; // red
    case CraftResource.YellowScales: oreType = "yellow scales"; break; // yellow
    case CraftResource.BlackScales:  oreType = "black scales"; break; // black
    case CraftResource.GreenScales:  oreType = "green scales"; break; // green
    case CraftResource.WhiteScales:  oreType = "white scales"; break; // white
    case CraftResource.BlueScales:  oreType = "blue scales"; break; // blue
    case CraftResource.CopperScales: oreType = "copper"; break; // copper
    case CraftResource.SilverScales: oreType = "silver"; break; // silver
    case CraftResource.GoldScales:  oreType = "gold"; break; // gold

    case CraftResource.Cedre:   oreType = "chêne"; break; // cedre
    case CraftResource.Erable:   oreType = "érable"; break; // erable
    case CraftResource.Pin:    oreType = "pin"; break; // pin
    case CraftResource.BlueBark:  oreType = "écorce bleue"; break; // bluebark
    case CraftResource.BlackBark:  oreType = "écorce noire"; break; // blackbark
    case CraftResource.Acajou:   oreType = "acajou"; break; // acajou
    case CraftResource.Cedre:   oreType = "cèdre";  break; // cedre
    case CraftResource.Elven:   oreType = "elven"; break; // elven

    default: oreType = ""; break;
   }
  }


Comme vous le voyez les Case n'ont pas de numéros :/

slade15 - August 15, 2004 04:44 PM (GMT)
tres bizard ce message alor

Didi - August 15, 2004 07:05 PM (GMT)
ton enum possede cedre comme orinfo associer a 111.

Si on regarde ton switch, au lieu du chene tu a écrit "case Cedre", et tu retrouve le cedre a la toute fin aussi. donc 2 case cedre, il pânike.

slade15 - August 15, 2004 10:06 PM (GMT)
j'etais pas loin , j'avais dit 2 fois la case 111 :P

Injall - August 15, 2004 11:05 PM (GMT)
mouarf comment j'ai pu pas le voir :D :D

merci à vous !




Hosted for free by InvisionFree