Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,147 @@
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Targeting;
using Server;
namespace Server.Items
{
public class ArachnidSlayerTarget : Target
{
private ArachnidSlayerDeed m_Deed;
public ArachnidSlayerTarget( ArachnidSlayerDeed deed ) : base( 1, false, TargetFlags.None )
{
m_Deed = deed;
}
protected override void OnTarget( Mobile from, object target )
{
if ( target is BaseWeapon )
{
Item item = (Item)target;
if ( ((BaseWeapon)item).Slayer == SlayerName.ArachnidDoom || ((BaseWeapon)item).Slayer2 == SlayerName.ArachnidDoom )
{
from.SendMessage( "That already is an arachnid slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put arachnid slayer on that there!" );
}
else
{
if( ((BaseWeapon)item).Slayer != SlayerName.None && ((BaseWeapon)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your weapon already has two slayers! One must be removed first." );
}
if( ((BaseWeapon)item).Slayer == SlayerName.None )
{
((BaseWeapon)item).Slayer = SlayerName.ArachnidDoom;
from.SendMessage( "Your weapon magically becomes an arachnid slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.ArachnidDoom;
from.SendMessage( "Your weapon magically becomes an arachnid slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.ArachnidDoom || ((Spellbook)item).Slayer2 == SlayerName.ArachnidDoom )
{
from.SendMessage( "That already is an arachnid slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put arachnid slayer on that there!" );
}
else
{
if( ((Spellbook)item).Slayer != SlayerName.None && ((Spellbook)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your spellbook already has two slayers! One must be removed first." );
}
if( ((Spellbook)item).Slayer == SlayerName.None )
{
((Spellbook)item).Slayer = SlayerName.ArachnidDoom;
from.SendMessage( "Your spellbook magically becomes an arachnid slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.ArachnidDoom;
from.SendMessage( "Your spellbook magically becomes an arachnid slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into an arachnid slayer." );
}
}
}
public class ArachnidSlayerDeed : Item
{
[Constructable]
public ArachnidSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Arachnid Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public ArachnidSlayerDeed( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
LootType = LootType.Blessed;
int version = reader.ReadInt();
}
public override bool DisplayLootType{ get{ return false; } }
public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 );
}
else
{
from.SendMessage("What item would you like to change into an arachnid slayer?");
from.Target = new ArachnidSlayerTarget( this );
}
}
}
}

View File

@@ -0,0 +1,147 @@
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Targeting;
using Server;
namespace Server.Items
{
public class DemonSlayerTarget : Target
{
private DemonSlayerDeed m_Deed;
public DemonSlayerTarget( DemonSlayerDeed deed ) : base( 1, false, TargetFlags.None )
{
m_Deed = deed;
}
protected override void OnTarget( Mobile from, object target )
{
if ( target is BaseWeapon )
{
Item item = (Item)target;
if ( ((BaseWeapon)item).Slayer == SlayerName.Exorcism || ((BaseWeapon)item).Slayer2 == SlayerName.Exorcism )
{
from.SendMessage( "That already is a demon slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put demon slayer on that there!" );
}
else
{
if( ((BaseWeapon)item).Slayer != SlayerName.None && ((BaseWeapon)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your weapon already has two slayers! One must be removed first." );
}
if( ((BaseWeapon)item).Slayer == SlayerName.None )
{
((BaseWeapon)item).Slayer = SlayerName.Exorcism;
from.SendMessage( "Your weapon magically becomes a demon slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.Exorcism;
from.SendMessage( "Your weapon magically becomes a demon slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.Exorcism || ((Spellbook)item).Slayer2 == SlayerName.Exorcism )
{
from.SendMessage( "That already is a demon slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put demon slayer on that there!" );
}
else
{
if( ((Spellbook)item).Slayer != SlayerName.None && ((Spellbook)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your spellbook already has two slayers! One must be removed first." );
}
if( ((Spellbook)item).Slayer == SlayerName.None )
{
((Spellbook)item).Slayer = SlayerName.Exorcism;
from.SendMessage( "Your spellbook magically becomes a demon slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.Exorcism;
from.SendMessage( "Your spellbook magically becomes a demon slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a demon slayer." );
}
}
}
public class DemonSlayerDeed : Item
{
[Constructable]
public DemonSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Demon Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public DemonSlayerDeed( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
LootType = LootType.Blessed;
int version = reader.ReadInt();
}
public override bool DisplayLootType{ get{ return false; } }
public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 );
}
else
{
from.SendMessage("What item would you like to change into an demon slayer?");
from.Target = new DemonSlayerTarget( this );
}
}
}
}

View File

@@ -0,0 +1,147 @@
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Targeting;
using Server;
namespace Server.Items
{
public class ElementalSlayerTarget : Target
{
private ElementalSlayerDeed m_Deed;
public ElementalSlayerTarget( ElementalSlayerDeed deed ) : base( 1, false, TargetFlags.None )
{
m_Deed = deed;
}
protected override void OnTarget( Mobile from, object target )
{
if ( target is BaseWeapon )
{
Item item = (Item)target;
if ( ((BaseWeapon)item).Slayer == SlayerName.ElementalBan || ((BaseWeapon)item).Slayer2 == SlayerName.ElementalBan )
{
from.SendMessage( "That already is an elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put elemental slayer on that there!" );
}
else
{
if( ((BaseWeapon)item).Slayer != SlayerName.None && ((BaseWeapon)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your weapon already has two slayers! One must be removed first." );
}
if( ((BaseWeapon)item).Slayer == SlayerName.None )
{
((BaseWeapon)item).Slayer = SlayerName.ElementalBan;
from.SendMessage( "Your weapon magically becomes an elemental slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.ElementalBan;
from.SendMessage( "Your weapon magically becomes an elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.ElementalBan || ((Spellbook)item).Slayer2 == SlayerName.ElementalBan )
{
from.SendMessage( "That already is an elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put elemental slayer on that there!" );
}
else
{
if( ((Spellbook)item).Slayer != SlayerName.None && ((Spellbook)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your spellbook already has two slayers! One must be removed first." );
}
if( ((Spellbook)item).Slayer == SlayerName.None )
{
((Spellbook)item).Slayer = SlayerName.ElementalBan;
from.SendMessage( "Your spellbook magically becomes an elemental slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.ElementalBan;
from.SendMessage( "Your spellbook magically becomes an elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into an elemental slayer." );
}
}
}
public class ElementalSlayerDeed : Item
{
[Constructable]
public ElementalSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Elemental Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public ElementalSlayerDeed( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
LootType = LootType.Blessed;
int version = reader.ReadInt();
}
public override bool DisplayLootType{ get{ return false; } }
public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 );
}
else
{
from.SendMessage("What item would you like to change into an elemental slayer?");
from.Target = new ElementalSlayerTarget( this );
}
}
}
}

View File

@@ -0,0 +1,147 @@
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Targeting;
using Server;
namespace Server.Items
{
public class FeySlayerTarget : Target
{
private FeySlayerDeed m_Deed;
public FeySlayerTarget( FeySlayerDeed deed ) : base( 1, false, TargetFlags.None )
{
m_Deed = deed;
}
protected override void OnTarget( Mobile from, object target )
{
if ( target is BaseWeapon )
{
Item item = (Item)target;
if ( ((BaseWeapon)item).Slayer == SlayerName.Fey || ((BaseWeapon)item).Slayer2 == SlayerName.Fey )
{
from.SendMessage( "That already is a fey slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put fey slayer on that there!" );
}
else
{
if( ((BaseWeapon)item).Slayer != SlayerName.None && ((BaseWeapon)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your weapon already has two slayers! One must be removed first." );
}
if( ((BaseWeapon)item).Slayer == SlayerName.None )
{
((BaseWeapon)item).Slayer = SlayerName.Fey;
from.SendMessage( "Your weapon magically becomes a fey slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.Fey;
from.SendMessage( "Your weapon magically becomes a fey slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.Fey || ((Spellbook)item).Slayer2 == SlayerName.Fey )
{
from.SendMessage( "That already is a fey slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put fey slayer on that there!" );
}
else
{
if( ((Spellbook)item).Slayer != SlayerName.None && ((Spellbook)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your spellbook already has two slayers! One must be removed first." );
}
if( ((Spellbook)item).Slayer == SlayerName.None )
{
((Spellbook)item).Slayer = SlayerName.Fey;
from.SendMessage( "Your spellbook magically becomes a fey slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.Fey;
from.SendMessage( "Your spellbook magically becomes a fey slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a fey slayer." );
}
}
}
public class FeySlayerDeed : Item
{
[Constructable]
public FeySlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Fey Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public FeySlayerDeed( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
LootType = LootType.Blessed;
int version = reader.ReadInt();
}
public override bool DisplayLootType{ get{ return false; } }
public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 );
}
else
{
from.SendMessage("What item would you like to change into an fey slayer?");
from.Target = new FeySlayerTarget( this );
}
}
}
}

View File

@@ -0,0 +1,147 @@
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Targeting;
using Server;
namespace Server.Items
{
public class RepondSlayerTarget : Target
{
private RepondSlayerDeed m_Deed;
public RepondSlayerTarget( RepondSlayerDeed deed ) : base( 1, false, TargetFlags.None )
{
m_Deed = deed;
}
protected override void OnTarget( Mobile from, object target )
{
if ( target is BaseWeapon )
{
Item item = (Item)target;
if ( ((BaseWeapon)item).Slayer == SlayerName.Repond || ((BaseWeapon)item).Slayer2 == SlayerName.Repond )
{
from.SendMessage( "That already is a repond slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put repond slayer on that there!" );
}
else
{
if( ((BaseWeapon)item).Slayer != SlayerName.None && ((BaseWeapon)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your weapon already has two slayers! One must be removed first." );
}
if( ((BaseWeapon)item).Slayer == SlayerName.None )
{
((BaseWeapon)item).Slayer = SlayerName.Repond;
from.SendMessage( "Your weapon magically becomes a repond slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.Repond;
from.SendMessage( "Your weapon magically becomes a repond slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.Repond || ((Spellbook)item).Slayer2 == SlayerName.Repond )
{
from.SendMessage( "That already is a repond slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put repond slayer on that there!" );
}
else
{
if( ((Spellbook)item).Slayer != SlayerName.None && ((Spellbook)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your spellbook already has two slayers! One must be removed first." );
}
if( ((Spellbook)item).Slayer == SlayerName.None )
{
((Spellbook)item).Slayer = SlayerName.Repond;
from.SendMessage( "Your spellbook magically becomes a repond slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.Repond;
from.SendMessage( "Your spellbook magically becomes a repond slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a repond slayer." );
}
}
}
public class RepondSlayerDeed : Item
{
[Constructable]
public RepondSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Repond Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public RepondSlayerDeed( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
LootType = LootType.Blessed;
int version = reader.ReadInt();
}
public override bool DisplayLootType{ get{ return false; } }
public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 );
}
else
{
from.SendMessage("What item would you like to change into an repond slayer?");
from.Target = new RepondSlayerTarget( this );
}
}
}
}

View File

@@ -0,0 +1,147 @@
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Targeting;
using Server;
namespace Server.Items
{
public class ReptileSlayerTarget : Target
{
private ReptileSlayerDeed m_Deed;
public ReptileSlayerTarget( ReptileSlayerDeed deed ) : base( 1, false, TargetFlags.None )
{
m_Deed = deed;
}
protected override void OnTarget( Mobile from, object target )
{
if ( target is BaseWeapon )
{
Item item = (Item)target;
if ( ((BaseWeapon)item).Slayer == SlayerName.ReptilianDeath || ((BaseWeapon)item).Slayer2 == SlayerName.ReptilianDeath )
{
from.SendMessage( "That already is a reptile slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put reptile slayer on that there!" );
}
else
{
if( ((BaseWeapon)item).Slayer != SlayerName.None && ((BaseWeapon)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your weapon already has two slayers! One must be removed first." );
}
if( ((BaseWeapon)item).Slayer == SlayerName.None )
{
((BaseWeapon)item).Slayer = SlayerName.ReptilianDeath;
from.SendMessage( "Your weapon magically becomes a reptile slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.ReptilianDeath;
from.SendMessage( "Your weapon magically becomes a reptile slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.ReptilianDeath || ((Spellbook)item).Slayer2 == SlayerName.ReptilianDeath )
{
from.SendMessage( "That already is a reptile slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put reptile slayer on that there!" );
}
else
{
if( ((Spellbook)item).Slayer != SlayerName.None && ((Spellbook)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your spellbook already has two slayers! One must be removed first." );
}
if( ((Spellbook)item).Slayer == SlayerName.None )
{
((Spellbook)item).Slayer = SlayerName.ReptilianDeath;
from.SendMessage( "Your spellbook magically becomes a reptile slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.ReptilianDeath;
from.SendMessage( "Your spellbook magically becomes a reptile slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a reptile slayer." );
}
}
}
public class ReptileSlayerDeed : Item
{
[Constructable]
public ReptileSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Reptile Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public ReptileSlayerDeed( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
LootType = LootType.Blessed;
int version = reader.ReadInt();
}
public override bool DisplayLootType{ get{ return false; } }
public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 );
}
else
{
from.SendMessage("What item would you like to change into an reptile slayer?");
from.Target = new ReptileSlayerTarget( this );
}
}
}
}

View File

@@ -0,0 +1,147 @@
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Targeting;
using Server;
namespace Server.Items
{
public class UndeadSlayerTarget : Target
{
private UndeadSlayerDeed m_Deed;
public UndeadSlayerTarget( UndeadSlayerDeed deed ) : base( 1, false, TargetFlags.None )
{
m_Deed = deed;
}
protected override void OnTarget( Mobile from, object target )
{
if ( target is BaseWeapon )
{
Item item = (Item)target;
if ( ((BaseWeapon)item).Slayer == SlayerName.Silver || ((BaseWeapon)item).Slayer2 == SlayerName.Silver )
{
from.SendMessage( "That already is an undead slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put undead slayer on that there!" );
}
else
{
if( ((BaseWeapon)item).Slayer != SlayerName.None && ((BaseWeapon)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your weapon already has two slayers! One must be removed first." );
}
if( ((BaseWeapon)item).Slayer == SlayerName.None )
{
((BaseWeapon)item).Slayer = SlayerName.Silver;
from.SendMessage( "Your weapon magically becomes an undead slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.Silver;
from.SendMessage( "Your weapon magically becomes an undead slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.Silver || ((Spellbook)item).Slayer2 == SlayerName.Silver )
{
from.SendMessage( "That already is an undead slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put undead slayer on that there!" );
}
else
{
if( ((Spellbook)item).Slayer != SlayerName.None && ((Spellbook)item).Slayer2 != SlayerName.None )
{
from.SendMessage( "Your spellbook already has two slayers! One must be removed first." );
}
if( ((Spellbook)item).Slayer == SlayerName.None )
{
((Spellbook)item).Slayer = SlayerName.Silver;
from.SendMessage( "Your spellbook magically becomes an undead slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.Silver;
from.SendMessage( "Your spellbook magically becomes an undead slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into an undead slayer." );
}
}
}
public class UndeadSlayerDeed : Item
{
[Constructable]
public UndeadSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Undead Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public UndeadSlayerDeed( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
LootType = LootType.Blessed;
int version = reader.ReadInt();
}
public override bool DisplayLootType{ get{ return false; } }
public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 );
}
else
{
from.SendMessage("What item would you like to change into an undead slayer?");
from.Target = new UndeadSlayerTarget( this );
}
}
}
}