#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.

This commit is contained in:
WarrentyExpired 2026-08-06 11:06:05 -04:00
parent b51c58f514
commit 3045c83799
3512 changed files with 627673 additions and 0 deletions

View file

@ -0,0 +1,62 @@
using System;
using Server.Items;
using Server.Mobiles;
namespace Server.Items
{
public class GlassblowingBook : Item
{
public override string DefaultName
{
get { return "Crafting Glass With Glassblowing"; }
}
[Constructable]
public GlassblowingBook() : base( 0xFF4 )
{
Weight = 1.0;
}
public GlassblowingBook( 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 void OnDoubleClick( Mobile from )
{
PlayerMobile pm = from as PlayerMobile;
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
}
else if ( pm == null || from.Skills[SkillName.Alchemy].Base < 100.0 )
{
pm.SendMessage( "Only a Grandmaster Alchemist can learn from this book." );
}
else if ( pm.Glassblowing )
{
pm.SendMessage( "You have already learned this information." );
}
else
{
pm.Glassblowing = true;
pm.SendMessage( "You have learned to make items from glass. You will need to find miners to mine find sand for you to make these items." );
Delete();
}
}
}
}

View file

@ -0,0 +1,62 @@
using System;
using Server.Items;
using Server.Mobiles;
namespace Server.Items
{
public class MasonryBook : Item
{
public override string DefaultName
{
get { return "Making Valuables With Stonecrafting"; }
}
[Constructable]
public MasonryBook() : base( 0xFBE )
{
Weight = 1.0;
}
public MasonryBook( 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 void OnDoubleClick( Mobile from )
{
PlayerMobile pm = from as PlayerMobile;
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
}
else if ( pm == null || from.Skills[SkillName.Carpentry].Base < 100.0 )
{
pm.SendMessage( "Only a Grandmaster Carpenter can learn from this book." );
}
else if ( pm.Masonry )
{
pm.SendMessage( "You have already learned this information." );
}
else
{
pm.Masonry = true;
pm.SendMessage( "You have learned to make items from stone. You will need miners to gather stones for you to make these items." );
Delete();
}
}
}
}

View file

@ -0,0 +1,47 @@
using System;
using Server.Items;
namespace Server.Items
{
[FlipableAttribute( 0x11EA, 0x11EB )]
public class Sand : Item, ICommodity
{
int ICommodity.DescriptionNumber { get { return LabelNumber; } }
bool ICommodity.IsDeedable { get { return true; } }
public override int LabelNumber{ get{ return 1044626; } } // sand
[Constructable]
public Sand() : this( 1 )
{
}
[Constructable]
public Sand( int amount ) : base( 0x11EA )
{
Stackable = Core.ML;
Weight = 1.0;
}
public Sand( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 1 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
if ( version == 0 && this.Name == "sand" )
this.Name = null;
}
}
}

View file

@ -0,0 +1,62 @@
using System;
using Server.Items;
using Server.Mobiles;
namespace Server.Items
{
public class SandMiningBook : Item
{
public override string DefaultName
{
get { return "Find Glass-Quality Sand"; }
}
[Constructable]
public SandMiningBook() : base( 0xFF4 )
{
Weight = 1.0;
}
public SandMiningBook( 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 void OnDoubleClick( Mobile from )
{
PlayerMobile pm = from as PlayerMobile;
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
}
else if ( pm == null || from.Skills[SkillName.Mining].Base < 100.0 )
{
pm.SendMessage( "Only a Grandmaster Miner can learn from this book." );
}
else if ( pm.SandMining )
{
pm.SendMessage( "You have already learned this information." );
}
else
{
pm.SandMining = true;
pm.SendMessage( "You have learned how to mine fine sand. Target sand areas when mining to look for fine sand." );
Delete();
}
}
}
}

View file

@ -0,0 +1,62 @@
using System;
using Server.Items;
using Server.Mobiles;
namespace Server.Items
{
public class StoneMiningBook : Item
{
public override string DefaultName
{
get { return "Mining For Quality Stone"; }
}
[Constructable]
public StoneMiningBook() : base( 0xFBE )
{
Weight = 1.0;
}
public StoneMiningBook( 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 void OnDoubleClick( Mobile from )
{
PlayerMobile pm = from as PlayerMobile;
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
}
else if ( pm == null || from.Skills[SkillName.Mining].Base < 100.0 )
{
from.SendMessage( "Only a Grandmaster Miner can learn from this book." );
}
else if ( pm.StoneMining )
{
pm.SendMessage( "You have already learned this knowledge." );
}
else
{
pm.StoneMining = true;
pm.SendMessage( "You have learned to mine for stones. Target mountains when mining to find stones." );
Delete();
}
}
}
}