/////////////////////////////////////////////////////////
// Scripted by BKW of Awaken Lands, Future Online Game //
// URL: www.awakenlands.com //
// © 2004, By Fanatsy World Entertainment //
/////////////////////////////////////////////////////////
/**********PLEASE DO NOT REMOVE THIS HEADER*************/
using System;
using Server.Items;
using Server.Mobiles;
using Server.Network;
namespace Server.Engines.Craft
{
public class DefJewelCrafting : CraftSystem
{
public override SkillName MainSkill
{
get { return SkillName.Tinkering; }
}
public override string GumpTitleString
{
get { return "
JEWEL CRAFTING"; }
}
private static CraftSystem m_CraftSystem;
public static CraftSystem CraftSystem
{
get
{
if ( m_CraftSystem == null )
m_CraftSystem = new DefJewelCrafting();
return m_CraftSystem;
}
}
public override double GetChanceAtMin( CraftItem item )
{
return 0.50; // 50%
}
private DefJewelCrafting() : base( 1, 1, 1.25 )// base( 1, 1, 3.0 )
{
}
public override int CanCraft( Mobile from, BaseTool tool, Type typeItem )
{
if ( tool.Deleted || tool.UsesRemaining < 0 )
return 1044038; // You have worn out your tool!
return 0;
}
public override void PlayCraftEffect( Mobile from )
{
from.PlaySound( 0x249 );
}
public override int PlayEndingEffect( Mobile from, bool failed, bool lostMaterial, bool toolBroken, int quality, bool makersMark, CraftItem item )
{
if ( toolBroken )
from.SendLocalizedMessage( 1044038 ); // You have worn out your tool
if ( failed )
{
if ( lostMaterial )
return 1044043; // You failed to create the item, and some of your materials are lost.
else
return 1044157; // You failed to create the item, but no materials were lost.
}
else
{
if ( quality == 0 )
return 502785; // You were barely able to make this item. It's quality is below average.
else if ( makersMark && quality == 2 )
return 1044156; // You create an exceptional quality item and affix your maker's mark.
else if ( quality == 2 )
return 1044155; // You create an exceptional quality item.
else
return 1044154; // You create the item.
}
}
public override void InitCraftList()
{
int index = -1;
//Resources
index = AddCraft( typeof( MagicalAmber ), "Gems", "amber", 0.0, 10.0, typeof( BronzeOre ), "Bronze Ore", 8 );
AddSkill( index, SkillName.ItemID, 20.0, 30.0 ); // For searching through the Ore for Gems
AddRes( index, typeof( AmberPowder ), "Amber Powder", 2 );
SetUseAllRes( index, true );
index = AddCraft( typeof( MagicalStarSapphire ), "Gems", "star sapphire", 10.0, 20.0, typeof( IronOre ), "Iron Ore", 16 );
AddSkill( index, SkillName.ItemID, 20.0, 30.0 ); // For searching through the Ore for Gems
AddRes( index, typeof( StarSapphirePowder ), "Star Sapphire Powder", 2 );
SetUseAllRes( index, true );
index = AddCraft( typeof( MagicalEmerald ), "Gems", "emerald", 20.0, 30.0, typeof( VeriteOre ), "Verite Ore", 12 );
AddSkill( index, SkillName.ItemID, 30.0, 40.0 ); // For searching through the Ore for Gems
AddRes( index, typeof( EmeraldPowder ), "Emerald Powder", 2 );
SetUseAllRes( index, true );
index = AddCraft( typeof( MagicalSapphire ), "Gems", "sapphire", 30.0, 40.0, typeof( IronOre ), "Iron Ore", 14 );
AddSkill( index, SkillName.ItemID, 20.0, 30.0 ); // For searching through the Ore for Gems
AddRes( index, typeof( SapphirePowder ), "Sapphire Powder", 2 );
SetUseAllRes( index, true );
index = AddCraft( typeof( MagicalRuby ), "Gems", "ruby", 40.0, 50.0, typeof( AgapiteOre ), "Agapite Ore", 12 );
AddSkill( index, SkillName.ItemID, 20.0, 30.0 ); // For searching through the Ore for Gems
AddRes( index, typeof( RubyPowder ), "Ruby Powder", 4 );
SetUseAllRes( index, true );
index = AddCraft( typeof( MagicalTourmaline ), "Gems", "tourmaline", 30.0, 40.0, typeof( CopperOre ), "Copper Ore", 8 );
AddSkill( index, SkillName.ItemID, 30.0, 40.0 ); // For searching through the Ore for Gems
AddRes( index, typeof( TourmalinePowder ), "Tourmaline Powder", 1 );
SetUseAllRes( index, true );
index = AddCraft( typeof( MagicalAmethyst ), "Gems", "amethyst", 40.0, 50.0, typeof( AgapiteOre ), "Copper Ore", 12 );
AddSkill( index, SkillName.ItemID, 40.0, 50.0 ); // For searching through the Ore for Gems
AddRes( index, typeof( AmethystPowder ), "Amethyst Powder", 6 );
SetUseAllRes( index, true );
index = AddCraft( typeof( MagicalCitrine ), "Gems", "citrine", 50.0, 60.0, typeof( CopperOre ), "Copper Ore", 20 );
AddSkill( index, SkillName.ItemID, 30.0, 40.0 ); // For searching through the Ore for Gems
AddRes( index, typeof( CitrinePowder ), "Citrine Powder", 6 );
SetUseAllRes( index, true );
index = AddCraft( typeof( MagicalDiamond ), "Gems", "diamond", 60.0, 70.0, typeof( ValoriteOre ), "Valorite Ore", 12 );
AddSkill( index, SkillName.ItemID, 40.0, 50.0 ); // For searching through the Ore for Gems
AddRes( index, typeof( DiamondPowder ), "Diamond Powder", 7 );
SetUseAllRes( index, true );
//Rings
index = AddCraft( typeof( GoldenRing ), "Rings", "golden ring", 50.0, 70.0, typeof( GoldOre ), "Gold Ore", 8 );
AddSkill( index, SkillName.ItemID, 50.0, 70.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( CopperRing ), "Rings", "copper ring", 00.0, 20.0, typeof( CopperOre ), "Copper Ore", 8 );
AddSkill( index, SkillName.ItemID, 00.0, 20.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( SilveroRing ), "Rings", "silver ring", 20.0, 40.0, typeof( DullCopperOre ), "Iron Ore", 8 );
AddSkill( index, SkillName.ItemID, 20.0, 40.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( PlatinumRing ), "Rings", "platnium ring", 70.0, 80.0, typeof( ValoriteOre ), "Valorite Ore", 8 );
AddSkill( index, SkillName.ItemID, 70.0, 80.0 ); // For searching through the Ore for Gems
//Bracelets
index = AddCraft( typeof( GoldenBracelet ), "Bracelets", "golden bracelet", 60.0, 80.0, typeof( GoldOre ), "Gold Ore", 9 );
AddSkill( index, SkillName.ItemID, 50.0, 70.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( CopperBracelet ), "Bracelets", "copper bracelet", 10.0, 30.0, typeof( CopperOre ), "Copper Ore", 9 );
AddSkill( index, SkillName.ItemID, 00.0, 20.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( SilveroBracelet ), "Bracelets", "silver bracelet", 30.0, 50.0, typeof( DullCopperOre ), "Iron Ore", 9 );
AddSkill( index, SkillName.ItemID, 20.0, 40.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( PlatinumBracelet ), "Bracelets", "platnium bracelet", 80.0, 85.0, typeof( ValoriteOre ), "Valorite Ore", 9 );
AddSkill( index, SkillName.ItemID, 70.0, 80.0 ); // For searching through the Ore for Gems
//Necklaces
index = AddCraft( typeof( GoldenNecklace ), "Necklaces", "golden necklace", 60.0, 80.0, typeof( GoldOre ), "Gold Ore", 12 );
AddSkill( index, SkillName.ItemID, 60.0, 80.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( CopperNecklace ), "Necklaces", "copper necklace", 10.0, 30.0, typeof( CopperOre ), "Copper Ore", 12 );
AddSkill( index, SkillName.ItemID, 10.0, 30.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( SilveroNecklace ), "Necklaces", "silver necklace", 30.0, 50.0, typeof( DullCopperOre ), "Iron Ore", 12 );
AddSkill( index, SkillName.ItemID, 30.0, 50.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( PlatinumNecklace ), "Necklaces", "platnium necklace", 80.0, 85.0, typeof( ValoriteOre ), "Valorite Ore", 12 );
AddSkill( index, SkillName.ItemID, 80.0, 90.0 ); // For searching through the Ore for Gems
//Necklaces
index = AddCraft( typeof( GoldenEarring ), "Earrings", "golden earring", 70.0, 90.0, typeof( GoldOre ), "Gold Ore", 5 );
AddSkill( index, SkillName.ItemID, 60.0, 80.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( CopperEarring ), "Earrings", "copper earring", 20.0, 40.0, typeof( CopperOre ), "Copper Ore", 5 );
AddSkill( index, SkillName.ItemID, 10.0, 30.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( SilveroEarring ), "Earrings", "silver earring", 40.0, 60.0, typeof( DullCopperOre ), "Iron Ore", 5 );
AddSkill( index, SkillName.ItemID, 30.0, 50.0 ); // For searching through the Ore for Gems
index = AddCraft( typeof( PlatinumEarring ), "Earrings", "platnium earring", 90.0, 95.0, typeof( ValoriteOre ), "Valorite Ore", 5 );
AddSkill( index, SkillName.ItemID, 80.0, 90.0 ); // For searching through the Ore for Gems
MarkOption = true;
}
}
}