added:ML aquariums, ML potions,runebook and spellbook makers mark, two new runic tools, NPC vendor updates

This commit is contained in:
xavier 2011-10-23 03:38:07 +00:00
parent 028b5ad696
commit cbd45b53b8
59 changed files with 3351 additions and 53 deletions

View file

@ -20,8 +20,31 @@ namespace Server.Items
Arcanist
}
public enum BookQuality
{
Regular,
Exceptional,
}
public class Spellbook : Item, ICraftable, ISlayer
{
private string m_EngravedText;
private BookQuality m_Quality;
[CommandProperty( AccessLevel.GameMaster )]
public string EngravedText
{
get{ return m_EngravedText; }
set{ m_EngravedText = value; InvalidateProperties(); }
}
[CommandProperty( AccessLevel.GameMaster )]
public BookQuality Quality
{
get{ return m_Quality; }
set{ m_Quality = value; InvalidateProperties(); }
}
public static void Initialize()
{
EventSink.OpenSpellbookRequest += new OpenSpellbookRequestEventHandler( EventSink_OpenSpellbookRequest );
@ -552,6 +575,12 @@ namespace Server.Items
public override void GetProperties( ObjectPropertyList list )
{
base.GetProperties( list );
if ( m_Quality == BookQuality.Exceptional )
list.Add( 1063341 ); // exceptional
if ( m_EngravedText != null )
list.Add( 1072305, m_EngravedText ); // Engraved: ~1_INSCRIPTION~
if ( m_Crafter != null )
list.Add( 1050043, m_Crafter.Name ); // crafted by ~1_NAME~
@ -689,7 +718,12 @@ namespace Server.Items
{
base.Serialize( writer );
writer.Write( (int) 3 ); // version
writer.Write( (int) 5 ); // version
writer.Write( (byte) m_Quality );
writer.Write( (string) m_EngravedText );
writer.Write( m_Crafter );
writer.Write( (int)m_Slayer );
@ -710,6 +744,18 @@ namespace Server.Items
switch ( version )
{
case 5:
{
m_Quality = (BookQuality) reader.ReadByte();
goto case 4;
}
case 4:
{
m_EngravedText = reader.ReadString();
goto case 3;
}
case 3:
{
m_Crafter = reader.ReadMobile();
@ -808,7 +854,7 @@ namespace Server.Items
1 // 1 property : 1/4 : 25%
};
public int OnCraft( int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue )
public virtual int OnCraft( int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, CraftItem craftItem, int resHue )
{
int magery = from.Skills.Magery.BaseFixedPoint;
@ -851,6 +897,8 @@ namespace Server.Items
if ( makersMark )
Crafter = from;
m_Quality = (BookQuality) ( quality - 1 );
return quality;
}
}