Fisher
Member
I am trying to re-create some tools but so far the durability will not go down when used.
Thanks!
Code:
using System;
using Server;
using Server.Items;
using Server.Items.Crops;
using Server.Targeting;
using Server.Engines.Craft;
namespace Server.Items
{
public class ParingKnife : BaseTool
{
[Constructable]
public ParingKnife() : base( 0xEC4 )
{
Name = "paring knife";
Weight = 1.0;
}
[Constructable]
public ParingKnife(int uses)
: base(uses, 0xEC4)
{
this.Weight = 1.0;
}
public ParingKnife( Serial serial ) : base( serial )
{
}
public override void OnDoubleClick( Mobile from )
{
from.SendMessage( "What do you wish to extract the seeds from?" );
from.Target = new InternalTarget( this );
}
private class InternalTarget : Target
{
private ParingKnife m_Item;
public InternalTarget( ParingKnife item ) : base( 1, false, TargetFlags.None )
{
m_Item = item;
}
protected override void OnTarget( Mobile from, object target )
{
int roll = Utility.Random( 5 );
if ( target is Cabbage )
{
((Item)target).Consume();
from.AddToBackpack( new CabbageSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is Carrot )
{
((Item)target).Consume();
from.AddToBackpack( new CarrotSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
/*if ( target is Corn )
{
((Item)target).Delete();
from.AddToBackpack( new CornSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is Cotton )
{
((Item)target).Delete();
from.AddToBackpack( new CottonSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}*/
if ( target is Flax )
{
((Item)target).Consume();
from.AddToBackpack( new FlaxSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is Lettuce )
{
((Item)target).Consume();
from.AddToBackpack( new LettuceSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is Onion )
{
((Item)target).Consume();
from.AddToBackpack( new OnionSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is Wheat )
{
((Item)target).Consume();
from.AddToBackpack( new WheatSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is Bloodmoss )
{
((Item)target).Consume();
from.AddToBackpack( new BloodmossSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is BlackPearl )
{
((Item)target).Consume();
from.AddToBackpack( new BlackPearlSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is Garlic )
{
((Item)target).Consume();
from.AddToBackpack( new GarlicSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is Ginseng )
{
((Item)target).Consume();
from.AddToBackpack( new GinsengSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is MandrakeRoot )
{
((Item)target).Consume();
from.AddToBackpack( new MandrakeSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is Nightshade )
{
((Item)target).Consume();
from.AddToBackpack( new NightshadeSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is SpidersSilk )
{
((Item)target).Consume();
from.AddToBackpack( new SpidersSilkSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
if ( target is SulfurousAsh )
{
((Item)target).Consume();
from.AddToBackpack( new SulfurousAshSeed( roll ) );
from.SendMessage( "You extract some seeds from the crop" );
}
}
}
public override CraftSystem CraftSystem
{
get
{
return DefTinkering.CraftSystem;
}
}
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();
}
}
}
Thanks!