This commit is contained in:
commit
47711d616e
2644 changed files with 479454 additions and 0 deletions
434
Scripts/Items/Resources/Blacksmithing/Ingots.cs
Normal file
434
Scripts/Items/Resources/Blacksmithing/Ingots.cs
Normal file
|
|
@ -0,0 +1,434 @@
|
|||
using System;
|
||||
using Server.Items;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseIngot : Item, ICommodity
|
||||
{
|
||||
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 ? "{0} {1} ingot" : "{0} {1} ingots", Amount, CraftResources.GetName( m_Resource ).ToLower() );
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 1 ); // version
|
||||
|
||||
writer.Write( (int) m_Resource );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch ( version )
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
m_Resource = (CraftResource)reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
OreInfo info;
|
||||
|
||||
switch ( reader.ReadInt() )
|
||||
{
|
||||
case 0: info = OreInfo.Iron; break;
|
||||
case 1: info = OreInfo.DullCopper; break;
|
||||
case 2: info = OreInfo.ShadowIron; break;
|
||||
case 3: info = OreInfo.Copper; break;
|
||||
case 4: info = OreInfo.Bronze; break;
|
||||
case 5: info = OreInfo.Gold; break;
|
||||
case 6: info = OreInfo.Agapite; break;
|
||||
case 7: info = OreInfo.Verite; break;
|
||||
case 8: info = OreInfo.Valorite; break;
|
||||
default: info = null; break;
|
||||
}
|
||||
|
||||
m_Resource = CraftResources.GetFromOreInfo( info );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public BaseIngot( CraftResource resource ) : this( resource, 1 )
|
||||
{
|
||||
}
|
||||
|
||||
public BaseIngot( CraftResource resource, int amount ) : base( 0x1BF2 )
|
||||
{
|
||||
Stackable = true;
|
||||
Amount = amount;
|
||||
Hue = CraftResources.GetHue( resource );
|
||||
|
||||
m_Resource = resource;
|
||||
}
|
||||
|
||||
public BaseIngot( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void AddNameProperty( ObjectPropertyList list )
|
||||
{
|
||||
if ( Amount > 1 )
|
||||
list.Add( 1050039, "{0}\t#{1}", Amount, 1027154 ); // ~1_NUMBER~ ~2_ITEMNAME~
|
||||
else
|
||||
list.Add( 1027154 ); // ingots
|
||||
}
|
||||
|
||||
public override void GetProperties( ObjectPropertyList list )
|
||||
{
|
||||
base.GetProperties( list );
|
||||
|
||||
if ( !CraftResources.IsStandard( m_Resource ) )
|
||||
{
|
||||
int num = CraftResources.GetLocalizationNumber( m_Resource );
|
||||
|
||||
if ( num > 0 )
|
||||
list.Add( num );
|
||||
else
|
||||
list.Add( CraftResources.GetName( m_Resource ) );
|
||||
}
|
||||
}
|
||||
|
||||
public override int LabelNumber
|
||||
{
|
||||
get
|
||||
{
|
||||
if ( m_Resource >= CraftResource.DullCopper && m_Resource <= CraftResource.Valorite )
|
||||
return 1042684 + (int)(m_Resource - CraftResource.DullCopper);
|
||||
|
||||
return 1042692;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[FlipableAttribute( 0x1BF2, 0x1BEF )]
|
||||
public class IronIngot : BaseIngot
|
||||
{
|
||||
[Constructable]
|
||||
public IronIngot() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public IronIngot( int amount ) : base( CraftResource.Iron, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public IronIngot( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[FlipableAttribute( 0x1BF2, 0x1BEF )]
|
||||
public class DullCopperIngot : BaseIngot
|
||||
{
|
||||
[Constructable]
|
||||
public DullCopperIngot() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public DullCopperIngot( int amount ) : base( CraftResource.DullCopper, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public DullCopperIngot( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[FlipableAttribute( 0x1BF2, 0x1BEF )]
|
||||
public class ShadowIronIngot : BaseIngot
|
||||
{
|
||||
[Constructable]
|
||||
public ShadowIronIngot() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public ShadowIronIngot( int amount ) : base( CraftResource.ShadowIron, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public ShadowIronIngot( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[FlipableAttribute( 0x1BF2, 0x1BEF )]
|
||||
public class CopperIngot : BaseIngot
|
||||
{
|
||||
[Constructable]
|
||||
public CopperIngot() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public CopperIngot( int amount ) : base( CraftResource.Copper, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public CopperIngot( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[FlipableAttribute( 0x1BF2, 0x1BEF )]
|
||||
public class BronzeIngot : BaseIngot
|
||||
{
|
||||
[Constructable]
|
||||
public BronzeIngot() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public BronzeIngot( int amount ) : base( CraftResource.Bronze, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public BronzeIngot( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[FlipableAttribute( 0x1BF2, 0x1BEF )]
|
||||
public class GoldIngot : BaseIngot
|
||||
{
|
||||
[Constructable]
|
||||
public GoldIngot() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public GoldIngot( int amount ) : base( CraftResource.Gold, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public GoldIngot( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[FlipableAttribute( 0x1BF2, 0x1BEF )]
|
||||
public class AgapiteIngot : BaseIngot
|
||||
{
|
||||
[Constructable]
|
||||
public AgapiteIngot() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public AgapiteIngot( int amount ) : base( CraftResource.Agapite, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public AgapiteIngot( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[FlipableAttribute( 0x1BF2, 0x1BEF )]
|
||||
public class VeriteIngot : BaseIngot
|
||||
{
|
||||
[Constructable]
|
||||
public VeriteIngot() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public VeriteIngot( int amount ) : base( CraftResource.Verite, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public VeriteIngot( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[FlipableAttribute( 0x1BF2, 0x1BEF )]
|
||||
public class ValoriteIngot : BaseIngot
|
||||
{
|
||||
[Constructable]
|
||||
public ValoriteIngot() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public ValoriteIngot( int amount ) : base( CraftResource.Valorite, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public ValoriteIngot( 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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
585
Scripts/Items/Resources/Blacksmithing/Ore.cs
Normal file
585
Scripts/Items/Resources/Blacksmithing/Ore.cs
Normal file
|
|
@ -0,0 +1,585 @@
|
|||
using System;
|
||||
using Server.Items;
|
||||
using Server.Network;
|
||||
using Server.Targeting;
|
||||
using Server.Engines.Craft;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseOre : Item, ICommodity
|
||||
{
|
||||
private CraftResource m_Resource;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public CraftResource Resource
|
||||
{
|
||||
get{ return m_Resource; }
|
||||
set{ m_Resource = value; InvalidateProperties(); }
|
||||
}
|
||||
|
||||
string ICommodity.Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return String.Format( "{0} {1} ore", Amount, CraftResources.GetName( m_Resource ).ToLower() );
|
||||
}
|
||||
}
|
||||
|
||||
public abstract BaseIngot GetIngot();
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 1 ); // version
|
||||
|
||||
writer.Write( (int) m_Resource );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch ( version )
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
m_Resource = (CraftResource)reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
OreInfo info;
|
||||
|
||||
switch ( reader.ReadInt() )
|
||||
{
|
||||
case 0: info = OreInfo.Iron; break;
|
||||
case 1: info = OreInfo.DullCopper; break;
|
||||
case 2: info = OreInfo.ShadowIron; break;
|
||||
case 3: info = OreInfo.Copper; break;
|
||||
case 4: info = OreInfo.Bronze; break;
|
||||
case 5: info = OreInfo.Gold; break;
|
||||
case 6: info = OreInfo.Agapite; break;
|
||||
case 7: info = OreInfo.Verite; break;
|
||||
case 8: info = OreInfo.Valorite; break;
|
||||
default: info = null; break;
|
||||
}
|
||||
|
||||
m_Resource = CraftResources.GetFromOreInfo( info );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public BaseOre( CraftResource resource ) : this( resource, 1 )
|
||||
{
|
||||
}
|
||||
|
||||
public BaseOre( CraftResource resource, int amount ) : base( 0x19B9 )
|
||||
{
|
||||
Stackable = true;
|
||||
Weight = 12.0;
|
||||
Amount = amount;
|
||||
Hue = CraftResources.GetHue( resource );
|
||||
|
||||
m_Resource = resource;
|
||||
}
|
||||
|
||||
public BaseOre( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void AddNameProperty( ObjectPropertyList list )
|
||||
{
|
||||
if ( Amount > 1 )
|
||||
list.Add( 1050039, "{0}\t#{1}", Amount, 1026583 ); // ~1_NUMBER~ ~2_ITEMNAME~
|
||||
else
|
||||
list.Add( 1026583 ); // ore
|
||||
}
|
||||
|
||||
public override void GetProperties( ObjectPropertyList list )
|
||||
{
|
||||
base.GetProperties( list );
|
||||
|
||||
if ( !CraftResources.IsStandard( m_Resource ) )
|
||||
{
|
||||
int num = CraftResources.GetLocalizationNumber( m_Resource );
|
||||
|
||||
if ( num > 0 )
|
||||
list.Add( num );
|
||||
else
|
||||
list.Add( CraftResources.GetName( m_Resource ) );
|
||||
}
|
||||
}
|
||||
|
||||
public override int LabelNumber
|
||||
{
|
||||
get
|
||||
{
|
||||
if ( m_Resource >= CraftResource.DullCopper && m_Resource <= CraftResource.Valorite )
|
||||
return 1042845 + (int)(m_Resource - CraftResource.DullCopper);
|
||||
|
||||
return 1042853; // iron ore;
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !Movable )
|
||||
return;
|
||||
|
||||
if ( from.InRange( this.GetWorldLocation(), 2 ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 501971 ); // Select the forge on which to smelt the ore, or another pile of ore with which to combine it.
|
||||
from.Target = new InternalTarget( this );
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage( 501976 ); // The ore is too far away.
|
||||
}
|
||||
}
|
||||
|
||||
private class InternalTarget : Target
|
||||
{
|
||||
private BaseOre m_Ore;
|
||||
|
||||
public InternalTarget( BaseOre ore ) : base ( 2, false, TargetFlags.None )
|
||||
{
|
||||
m_Ore = ore;
|
||||
}
|
||||
|
||||
private bool IsForge( object obj )
|
||||
{
|
||||
if ( obj.GetType().IsDefined( typeof( ForgeAttribute ), false ) )
|
||||
return true;
|
||||
|
||||
int itemID = 0;
|
||||
|
||||
if ( obj is Item )
|
||||
itemID = ((Item)obj).ItemID;
|
||||
else if ( obj is StaticTarget )
|
||||
itemID = ((StaticTarget)obj).ItemID & 0x3FFF;
|
||||
|
||||
return ( itemID == 4017 || (itemID >= 6522 && itemID <= 6569) );
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object targeted )
|
||||
{
|
||||
if ( m_Ore.Deleted )
|
||||
return;
|
||||
|
||||
if ( !from.InRange( m_Ore.GetWorldLocation(), 2 ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 501976 ); // The ore is too far away.
|
||||
return;
|
||||
}
|
||||
|
||||
if ( IsForge( targeted ) )
|
||||
{
|
||||
double difficulty;
|
||||
|
||||
switch ( m_Ore.Resource )
|
||||
{
|
||||
default: difficulty = 50.0; break;
|
||||
case CraftResource.DullCopper: difficulty = 65.0; break;
|
||||
case CraftResource.ShadowIron: difficulty = 70.0; break;
|
||||
case CraftResource.Copper: difficulty = 75.0; break;
|
||||
case CraftResource.Bronze: difficulty = 80.0; break;
|
||||
case CraftResource.Gold: difficulty = 85.0; break;
|
||||
case CraftResource.Agapite: difficulty = 90.0; break;
|
||||
case CraftResource.Verite: difficulty = 95.0; break;
|
||||
case CraftResource.Valorite: difficulty = 99.0; break;
|
||||
}
|
||||
|
||||
double minSkill = difficulty - 25.0;
|
||||
double maxSkill = difficulty + 25.0;
|
||||
|
||||
if ( difficulty > 50.0 && difficulty > from.Skills[SkillName.Mining].Value )
|
||||
{
|
||||
from.SendLocalizedMessage( 501986 ); // You have no idea how to smelt this strange ore!
|
||||
return;
|
||||
}
|
||||
|
||||
if ( from.CheckTargetSkill( SkillName.Mining, targeted, minSkill, maxSkill ) )
|
||||
{
|
||||
int toConsume = m_Ore.Amount;
|
||||
|
||||
if ( toConsume <= 0 )
|
||||
{
|
||||
from.SendLocalizedMessage( 501987 ); // There is not enough metal-bearing ore in this pile to make an ingot.
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( toConsume > 30000 )
|
||||
toConsume = 30000;
|
||||
|
||||
BaseIngot ingot = m_Ore.GetIngot();
|
||||
ingot.Amount = toConsume * 2;
|
||||
|
||||
m_Ore.Consume( toConsume );
|
||||
from.AddToBackpack( ingot );
|
||||
//from.PlaySound( 0x57 );
|
||||
|
||||
|
||||
from.SendLocalizedMessage( 501988 ); // You smelt the ore removing the impurities and put the metal in your backpack.
|
||||
}
|
||||
}
|
||||
else if ( m_Ore.Amount < 2 )
|
||||
{
|
||||
from.SendLocalizedMessage( 501989 ); // You burn away the impurities but are left with no useable metal.
|
||||
m_Ore.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage( 501990 ); // You burn away the impurities but are left with less useable metal.
|
||||
m_Ore.Amount /= 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class IronOre : BaseOre
|
||||
{
|
||||
[Constructable]
|
||||
public IronOre() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public IronOre( int amount ) : base( CraftResource.Iron, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public IronOre( 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 override BaseIngot GetIngot()
|
||||
{
|
||||
return new IronIngot();
|
||||
}
|
||||
}
|
||||
|
||||
public class DullCopperOre : BaseOre
|
||||
{
|
||||
[Constructable]
|
||||
public DullCopperOre() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public DullCopperOre( int amount ) : base( CraftResource.DullCopper, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public DullCopperOre( 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 override BaseIngot GetIngot()
|
||||
{
|
||||
return new DullCopperIngot();
|
||||
}
|
||||
}
|
||||
|
||||
public class ShadowIronOre : BaseOre
|
||||
{
|
||||
[Constructable]
|
||||
public ShadowIronOre() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public ShadowIronOre( int amount ) : base( CraftResource.ShadowIron, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public ShadowIronOre( 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 override BaseIngot GetIngot()
|
||||
{
|
||||
return new ShadowIronIngot();
|
||||
}
|
||||
}
|
||||
|
||||
public class CopperOre : BaseOre
|
||||
{
|
||||
[Constructable]
|
||||
public CopperOre() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public CopperOre( int amount ) : base( CraftResource.Copper, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public CopperOre( 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 override BaseIngot GetIngot()
|
||||
{
|
||||
return new CopperIngot();
|
||||
}
|
||||
}
|
||||
|
||||
public class BronzeOre : BaseOre
|
||||
{
|
||||
[Constructable]
|
||||
public BronzeOre() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public BronzeOre( int amount ) : base( CraftResource.Bronze, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public BronzeOre( 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 override BaseIngot GetIngot()
|
||||
{
|
||||
return new BronzeIngot();
|
||||
}
|
||||
}
|
||||
|
||||
public class GoldOre : BaseOre
|
||||
{
|
||||
[Constructable]
|
||||
public GoldOre() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public GoldOre( int amount ) : base( CraftResource.Gold, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public GoldOre( 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 override BaseIngot GetIngot()
|
||||
{
|
||||
return new GoldIngot();
|
||||
}
|
||||
}
|
||||
|
||||
public class AgapiteOre : BaseOre
|
||||
{
|
||||
[Constructable]
|
||||
public AgapiteOre() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public AgapiteOre( int amount ) : base( CraftResource.Agapite, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public AgapiteOre( 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 override BaseIngot GetIngot()
|
||||
{
|
||||
return new AgapiteIngot();
|
||||
}
|
||||
}
|
||||
|
||||
public class VeriteOre : BaseOre
|
||||
{
|
||||
[Constructable]
|
||||
public VeriteOre() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public VeriteOre( int amount ) : base( CraftResource.Verite, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public VeriteOre( 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 override BaseIngot GetIngot()
|
||||
{
|
||||
return new VeriteIngot();
|
||||
}
|
||||
}
|
||||
|
||||
public class ValoriteOre : BaseOre
|
||||
{
|
||||
[Constructable]
|
||||
public ValoriteOre() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public ValoriteOre( int amount ) : base( CraftResource.Valorite, amount )
|
||||
{
|
||||
}
|
||||
|
||||
public ValoriteOre( 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 override BaseIngot GetIngot()
|
||||
{
|
||||
return new ValoriteIngot();
|
||||
}
|
||||
}
|
||||
}
|
||||
275
Scripts/Items/Resources/Blacksmithing/Scales.cs
Normal file
275
Scripts/Items/Resources/Blacksmithing/Scales.cs
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue