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,348 @@
using System;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Items;
using Server.Mobiles;
using Server.Commands;
namespace Server.Items
{
public class LesserSlayerDeed : Item
{
[Constructable]
public LesserSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
LootType = LootType.Blessed;
Name = "Lesser Slayer Deeds Picker";
}
public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
else
{
from.SendGump( new LesserSlayerDeedGump( from ) );
this.Delete();
}
}
public LesserSlayerDeed( 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();
}
}
}
namespace Server.Gumps
{
public class LesserSlayerDeedGump : Gump
{
public static void Initialize()
{
CommandSystem.Register( "LesserSlayerDeedGump", AccessLevel.GameMaster, new CommandEventHandler( LesserSlayerDeedGump_OnCommand ) );
}
private static void LesserSlayerDeedGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new LesserSlayerDeedGump( e.Mobile ) );
}
public LesserSlayerDeedGump( Mobile Owner ) : base( 0,0 )
{
AddPage(0);
AddBackground(85, 30, 600, 500, 3500);
AddImage(136, 57, 10440); // Dragon - Left Side
AddImage(526, 58, 10441); // Dragon - Right Side
AddImage(199, 112, 5504); // UO Circle - Left
AddImage(480, 111, 5504); // UO Circle - Right
// AddHtml(270, 115, 200, 16, @"<CENTER><BASEFONT COLOR=YELLOW>Server Name Here If You Want</CENTER>", (bool)false, (bool)false);
AddHtml(270, 147, 200, 16, @"<CENTER><BASEFONT COLOR=YELLOW>Lesser Slayer Deeds</Center>", (bool)false, (bool)false);
AddPage(1);
//Side One
AddLabel(246, 198, 4030, @"Balron Slayer");
AddButton(206, 194, 9721, 9724, 1, GumpButtonType.Reply, 0);
AddLabel(246, 238, 4030, @"Blood Drinker");
AddButton(206, 234, 9721, 9724, 2, GumpButtonType.Reply, 0);
AddLabel(246, 278, 4030, @"Daemon Slayer");
AddButton(206, 274, 9721, 9724, 3, GumpButtonType.Reply, 0);
AddLabel(246, 318, 4030, @"Dragon Slayer");
AddButton(206, 314, 9721, 9724, 4, GumpButtonType.Reply, 0);
AddLabel(246, 358, 4030, @"Earth Shattering");
AddButton(206, 354, 9721, 9724, 5, GumpButtonType.Reply, 0);
AddLabel(246, 398, 4030, @"Elemental Health");
AddButton(206, 394, 9721, 9724, 6, GumpButtonType.Reply, 0);
AddLabel(265, 438, 4030, @"Back");
AddButton(206, 424, 4508, 4508, 0, GumpButtonType.Page, 2);
//Side Two
AddLabel(430, 198, 4030, @"Flame Dousing");
AddButton(390, 194, 9721, 9724, 7, GumpButtonType.Reply, 0);
AddLabel(430, 238, 4030, @"Gargoyle Slayer");
AddButton(390, 234, 9721, 9724, 8, GumpButtonType.Reply, 0);
AddLabel(430, 278, 4030, @"Lizardman Slayer");
AddButton(390, 274, 9721, 9724, 9, GumpButtonType.Reply, 0);
AddLabel(430, 318, 4030, @"Ogre Slayer");
AddButton(390, 314, 9721, 9724, 10, GumpButtonType.Reply, 0);
AddLabel(430, 358, 4030, @"Ophidian Slayer");
AddButton(390, 354, 9721, 9724, 11, GumpButtonType.Reply, 0);
AddLabel(430, 398, 4030, @"Orc Slayer");
AddButton(390, 394, 9721, 9724, 12, GumpButtonType.Reply, 0);
AddLabel(456, 438, 4030, @"Next");
AddButton(491, 424, 4502, 4502, 0, GumpButtonType.Page, 2);
AddPage(2);
//Side One
AddLabel(246, 198, 4030, @"Scorpion Slayer");
AddButton(206, 194, 9721, 9724, 13, GumpButtonType.Reply, 0);
AddLabel(246, 238, 4030, @"Snake Slayer");
AddButton(206, 234, 9721, 9724, 14, GumpButtonType.Reply, 0);
AddLabel(246, 278, 4030, @"Spider Slayer");
AddButton(206, 274, 9721, 9724, 15, GumpButtonType.Reply, 0);
AddLabel(246, 318, 4030, @"Summer Wind");
AddButton(206, 314, 9721, 9724, 16, GumpButtonType.Reply, 0);
AddLabel(246, 358, 4030, @"Terathon Slayer");
AddButton(206, 354, 9721, 9724, 17, GumpButtonType.Reply, 0);
AddLabel(246, 398, 4030, @"Troll Slayer");
AddButton(206, 394, 9721, 9724, 18, GumpButtonType.Reply, 0);
AddLabel(265, 438, 4030, @"Back");
AddButton(206, 424, 4508, 4508, 0, GumpButtonType.Page, 1);
//Side Two
AddLabel(430, 198, 4030, @"Vacuum Slayer");
AddButton(390, 194, 9721, 9724, 19, GumpButtonType.Reply, 0);
AddLabel(430, 238, 4030, @"Water Dissipation");
AddButton(390, 234, 9721, 9724, 20, GumpButtonType.Reply, 0);
/*AddLabel(430, 278, 4030, @"Monster Statuette");
AddButton(390, 274, 9721, 9724, 21, GumpButtonType.Reply, 0);
AddLabel(430, 318, 4030, @"Skin");
AddButton(390, 314, 9721, 9724, 11, GumpButtonType.Reply, 0);
AddLabel(430, 358, 4030, @"Weapon - Ranged");
AddButton(390, 354, 9721, 9724, 12, GumpButtonType.Reply, 0);
AddLabel(430, 398, 4030, @"Weapon - Slashing");
AddButton(390, 394, 9721, 9724, 13, GumpButtonType.Reply, 0);
AddLabel(456, 438, 4030, @"Next");
AddButton(491, 424, 4502, 4502, 0, GumpButtonType.Page, 1);
*/
}
public override void OnResponse( NetState state, RelayInfo info )
{
Mobile from = state.Mobile;
switch ( info.ButtonID )
{
case 0:
{
//Cancel
from.SendMessage( "You decide not to choose a Dye Tub." );
LesserSlayerDeed LesserSlayerDeed = new LesserSlayerDeed();
from.AddToBackpack( LesserSlayerDeed );
}
break;
case 1:
{
BalronSlayerDeed BalronSlayerDeedX = new BalronSlayerDeed();
from.AddToBackpack( BalronSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 2:
{
BloodDrinkingSlayerDeed BloodDrinkingSlayerDeedX = new BloodDrinkingSlayerDeed();
from.AddToBackpack( BloodDrinkingSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 3:
{
DaemonSlayerDeed DaemonSlayerDeedX = new DaemonSlayerDeed();
from.AddToBackpack( DaemonSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 4:
{
DragonSlayerDeed DragonSlayerDeedX = new DragonSlayerDeed();
from.AddToBackpack(DragonSlayerDeedX);
from.SendMessage("Your choice has been added to your backpack!");
}
break;
case 5:
{
EarthShatterSlayerDeed EarthShatterSlayerDeedX = new EarthShatterSlayerDeed();
from.AddToBackpack( EarthShatterSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 6:
{
ElementalHealthSlayerDeed ElementalHealthSlayerDeedX = new ElementalHealthSlayerDeed();
from.AddToBackpack( ElementalHealthSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 7:
{
FlameDousingSlayerDeed FlameDousingSlayerDeedX = new FlameDousingSlayerDeed();
from.AddToBackpack( FlameDousingSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 8:
{
GargoyleSlayerDeed GargoyleSlayerDeedX = new GargoyleSlayerDeed();
from.AddToBackpack( GargoyleSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 9:
{
LizardmanSlayerDeed LizardmanSlayerDeedX = new LizardmanSlayerDeed();
from.AddToBackpack( LizardmanSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 10:
{
OgreSlayerDeed OgreSlayerDeedX = new OgreSlayerDeed();
from.AddToBackpack( OgreSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 11:
{
OphidianSlayerDeed OphidianSlayerDeedX = new OphidianSlayerDeed();
from.AddToBackpack( OphidianSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 12:
{
OrcSlayerDeed OrcSlayerDeedX = new OrcSlayerDeed();
from.AddToBackpack( OrcSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 13:
{
ScorpionSlayerDeed ScorpionSlayerDeedX = new ScorpionSlayerDeed();
from.AddToBackpack( ScorpionSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 14:
{
SnakeSlayerDeed SnakeSlayerDeedX = new SnakeSlayerDeed();
from.AddToBackpack( SnakeSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 15:
{
SpidersDeathSlayerDeed SpidersDeathSlayerDeedX = new SpidersDeathSlayerDeed();
from.AddToBackpack( SpidersDeathSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 16:
{
SummerWindSlayerDeed SummerWindSlayerDeedX = new SummerWindSlayerDeed();
from.AddToBackpack( SummerWindSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 17:
{
TerathanSlayerDeed TerathanSlayerDeedX = new TerathanSlayerDeed();
from.AddToBackpack( TerathanSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 18:
{
TrollSlayerDeed TrollSlayerDeedX = new TrollSlayerDeed();
from.AddToBackpack( TrollSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 19:
{
VacuumSlayerDeed VacuumSlayerDeedX = new VacuumSlayerDeed();
from.AddToBackpack( VacuumSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 20:
{
WaterDissipationSlayerDeed WaterDissipationSlayerDeedX = new WaterDissipationSlayerDeed();
from.AddToBackpack( WaterDissipationSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
/* case 21:
{
AllDyeTubsStatuetteMonster AllDyeTubsStatuetteMonsterX = new AllDyeTubsStatuetteMonster();
AllDyeTubsStatuetteMonsterX.Charged = false;
from.AddToBackpack( AllDyeTubsStatuetteMonsterX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 22:
{
AllDyeTubsSkin AllDyeTubsSkinX = new AllDyeTubsSkin();
AllDyeTubsSkinX.Charged = false;
from.AddToBackpack( AllDyeTubsSkinX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
*/
}
}
}
}

View File

@@ -0,0 +1,242 @@
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Targeting;
using Server;
using Server.Mobiles;
using System.Collections.Generic;
using Server.ContextMenus;
namespace Server.Items
{
public class SlayerRemovalTarget : Target
{
private SlayerRemovalDeed m_Deed;
public SlayerRemovalTarget( SlayerRemovalDeed 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 ( !m_Deed.SlayerOne && !m_Deed.SlayerTwo )
{
from.SendMessage( "Your deed is not set to remove any slayers!" );
}
else if ( ((BaseWeapon)item).Slayer == SlayerName.None && ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
from.SendMessage( "That has no slayers to remove!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot remove any slayers there!" );
}
else
{
if( m_Deed.SlayerOne && m_Deed.SlayerTwo && ((BaseWeapon)item).Slayer != SlayerName.None && ((BaseWeapon)item).Slayer2 != SlayerName.None )
{
((BaseWeapon)item).Slayer = SlayerName.None;
((BaseWeapon)item).Slayer2 = SlayerName.None;
from.SendMessage( "You remove both slayers from the weapon." );
m_Deed.Delete();
}
else if( m_Deed.SlayerOne && ((BaseWeapon)item).Slayer != SlayerName.None )
{
((BaseWeapon)item).Slayer = SlayerName.None;
from.SendMessage( "You remove the slayer from the weapon." );
m_Deed.Delete();
}
else if( m_Deed.SlayerTwo && ((BaseWeapon)item).Slayer2 != SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.None;
from.SendMessage( "You remove the slayer from the weapon." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( !m_Deed.SlayerOne && !m_Deed.SlayerTwo )
{
from.SendMessage( "Your deed is not set to remove any slayers!" );
}
else if ( ((Spellbook)item).Slayer == SlayerName.None && ((Spellbook)item).Slayer2 == SlayerName.None )
{
from.SendMessage( "That has no slayers to remove!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot remove any slayers there!" );
}
else
{
if( m_Deed.SlayerOne && m_Deed.SlayerTwo && ((Spellbook)item).Slayer != SlayerName.None && ((Spellbook)item).Slayer2 != SlayerName.None )
{
((Spellbook)item).Slayer = SlayerName.None;
((Spellbook)item).Slayer2 = SlayerName.None;
from.SendMessage( "You remove both slayers from the spellbook." );
m_Deed.Delete();
}
else if( m_Deed.SlayerOne && ((Spellbook)item).Slayer != SlayerName.None )
{
((Spellbook)item).Slayer = SlayerName.None;
from.SendMessage( "You remove the slayer from the spellbook." );
m_Deed.Delete();
}
else if( m_Deed.SlayerTwo && ((Spellbook)item).Slayer2 != SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.None;
from.SendMessage( "You remove the slayer from the spellbook." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "The deed cannot be used on this." );
}
}
}
public class SlayerRemovalDeed : Item
{
public bool SlayerOne;
public bool SlayerTwo;
[Constructable]
public SlayerRemovalDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Slayer Removal Deed";
LootType = LootType.Blessed;
Hue = 1175;
SlayerOne = true;
SlayerTwo = false;
}
public SlayerRemovalDeed( 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 remove slayer from?");
from.Target = new SlayerRemovalTarget( this );
}
}
public override void GetProperties( ObjectPropertyList list )
{
base.GetProperties( list );
if( this.SlayerOne && this.SlayerTwo )
list.Add(String.Format("Removing: Top and Bottom Slayer"));
else if( this.SlayerOne && !this.SlayerTwo )
list.Add(String.Format("Removing: Top Slayer"));
else if( !this.SlayerOne && this.SlayerTwo )
list.Add(String.Format("Removing: Bottom Slayer"));
else if( this.SlayerOne && this.SlayerTwo )
list.Add(String.Format("Removing: none"));
}
#region ContextMenu
private class PropsEntry : ContextMenuEntry
{
private SlayerRemovalDeed m_Item;
private Mobile m_Mobile;
public PropsEntry( Mobile from, Item item )
: base( 5109 ) // "Switch"
{
m_Item = ( SlayerRemovalDeed )item;
m_Mobile = from;
}
public override void OnClick()
{
if ( m_Item.IsChildOf( m_Mobile.Backpack ) )
{ //When this menu entry is clicked by the player.. Do the following:
if ( m_Item.SlayerOne && m_Item.SlayerTwo )
{
m_Item.SlayerOne = true;
m_Item.SlayerTwo = false;
m_Mobile.SendMessage( "The deed is set to remove only the top slayer.");
m_Item.InvalidateProperties();
}
else if ( m_Item.SlayerOne && !m_Item.SlayerTwo )
{
m_Item.SlayerOne = false;
m_Item.SlayerTwo = true;
m_Mobile.SendMessage( "The deed is set to remove only the bottom slayer.");
m_Item.InvalidateProperties();
}
else if ( !m_Item.SlayerOne && m_Item.SlayerTwo )
{
m_Item.SlayerOne = true;
m_Item.SlayerTwo = true;
m_Mobile.SendMessage( "The deed is set to remove both slayers.");
m_Item.InvalidateProperties();
}
}
else m_Mobile.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
}
}
public override void GetContextMenuEntries( Mobile from, List<ContextMenuEntry> list )
{ //We are overriding GetContextMenuEntries because we want to do something to it.
base.GetContextMenuEntries( from, list ); //Items and Mobiles may already have context menus on them..
SlayerRemovalDeed.GetContextMenuEntries( from, this, list ); //We want to add another menu entry to what already exists, so call our function that makes the addition
}
public static void GetContextMenuEntries( Mobile from, Item item, List<ContextMenuEntry> list )
{
list.Add( new PropsEntry( from, item ) ); //Add the context menu we just created to the list of context menus that go with this item
}
#endregion
}
}

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 BalronSlayerTarget : Target
{
private BalronSlayerDeed m_Deed;
public BalronSlayerTarget( BalronSlayerDeed 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.BalronDamnation || ((BaseWeapon)item).Slayer2 == SlayerName.BalronDamnation )
{
from.SendMessage( "That already is a balron slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put balron 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.BalronDamnation;
from.SendMessage( "Your weapon magically becomes a balron slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.BalronDamnation;
from.SendMessage( "Your weapon magically becomes a balron slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.BalronDamnation || ((Spellbook)item).Slayer2 == SlayerName.BalronDamnation )
{
from.SendMessage( "That already is a balron slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put balron 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.BalronDamnation;
from.SendMessage( "Your spellbook magically becomes a balron slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.BalronDamnation;
from.SendMessage( "Your spellbook magically becomes a balron slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a balron slayer." );
}
}
}
public class BalronSlayerDeed : Item
{
[Constructable]
public BalronSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Balron Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public BalronSlayerDeed( 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 a balron slayer?");
from.Target = new BalronSlayerTarget( 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 BloodDrinkingSlayerTarget : Target
{
private BloodDrinkingSlayerDeed m_Deed;
public BloodDrinkingSlayerTarget( BloodDrinkingSlayerDeed 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.BloodDrinking || ((BaseWeapon)item).Slayer2 == SlayerName.BloodDrinking )
{
from.SendMessage( "That already is a blood elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put blood 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.BloodDrinking;
from.SendMessage( "Your weapon magically becomes a blood elemental slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.BloodDrinking;
from.SendMessage( "Your weapon magically becomes a blood elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.BloodDrinking || ((Spellbook)item).Slayer2 == SlayerName.BloodDrinking )
{
from.SendMessage( "That already is a blood elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put blood 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.BloodDrinking;
from.SendMessage( "Your spellbook magically becomes a blood elemental slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.BloodDrinking;
from.SendMessage( "Your spellbook magically becomes a blood elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a blood elemental slayer." );
}
}
}
public class BloodDrinkingSlayerDeed : Item
{
[Constructable]
public BloodDrinkingSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Blood Elemental Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public BloodDrinkingSlayerDeed( 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 a blood elemental slayer?");
from.Target = new BloodDrinkingSlayerTarget( 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 DaemonSlayerTarget : Target
{
private DaemonSlayerDeed m_Deed;
public DaemonSlayerTarget( DaemonSlayerDeed 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.DaemonDismissal || ((BaseWeapon)item).Slayer2 == SlayerName.DaemonDismissal )
{
from.SendMessage( "That already is a daemon slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put daemon 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.DaemonDismissal;
from.SendMessage( "Your weapon magically becomes a daemon slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.DaemonDismissal;
from.SendMessage( "Your weapon magically becomes a daemon slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.DaemonDismissal || ((Spellbook)item).Slayer2 == SlayerName.DaemonDismissal )
{
from.SendMessage( "That already is a daemon slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put daemon 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.DaemonDismissal;
from.SendMessage( "Your spellbook magically becomes a daemon slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.DaemonDismissal;
from.SendMessage( "Your spellbook magically becomes a daemon slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a daemon slayer." );
}
}
}
public class DaemonSlayerDeed : Item
{
[Constructable]
public DaemonSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Daemon Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public DaemonSlayerDeed( 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 a daemon slayer?");
from.Target = new DaemonSlayerTarget( 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 DragonSlayerTarget : Target
{
private DragonSlayerDeed m_Deed;
public DragonSlayerTarget( DragonSlayerDeed 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.DragonSlaying || ((BaseWeapon)item).Slayer2 == SlayerName.DragonSlaying )
{
from.SendMessage( "That already is a dragon slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put dragon 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.DragonSlaying;
from.SendMessage( "Your weapon magically becomes a dragon slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.DragonSlaying;
from.SendMessage( "Your weapon magically becomes a dragon slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.DragonSlaying || ((Spellbook)item).Slayer2 == SlayerName.DragonSlaying )
{
from.SendMessage( "That already is a dragon slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put dragon 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.DragonSlaying;
from.SendMessage( "Your spellbook magically becomes a dragon slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.DragonSlaying;
from.SendMessage( "Your spellbook magically becomes a dragon slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a dragon slayer." );
}
}
}
public class DragonSlayerDeed : Item
{
[Constructable]
public DragonSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Dragon Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public DragonSlayerDeed( 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 a dragon slayer?");
from.Target = new DragonSlayerTarget( 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 EarthShatterSlayerTarget : Target
{
private EarthShatterSlayerDeed m_Deed;
public EarthShatterSlayerTarget( EarthShatterSlayerDeed 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.EarthShatter || ((BaseWeapon)item).Slayer2 == SlayerName.EarthShatter )
{
from.SendMessage( "That already is an ore elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put ore 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.EarthShatter;
from.SendMessage( "Your weapon magically becomes an ore elemental slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.EarthShatter;
from.SendMessage( "Your weapon magically becomes an ore elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.EarthShatter || ((Spellbook)item).Slayer2 == SlayerName.EarthShatter )
{
from.SendMessage( "That already is an ore elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put ore 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.EarthShatter;
from.SendMessage( "Your spellbook magically becomes an ore elemental slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.EarthShatter;
from.SendMessage( "Your spellbook magically becomes an ore elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into an ore elemental slayer." );
}
}
}
public class EarthShatterSlayerDeed : Item
{
[Constructable]
public EarthShatterSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Ore Elemental Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public EarthShatterSlayerDeed( 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 ore elemental slayer?");
from.Target = new EarthShatterSlayerTarget( 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 ElementalHealthSlayerTarget : Target
{
private ElementalHealthSlayerDeed m_Deed;
public ElementalHealthSlayerTarget( ElementalHealthSlayerDeed 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.ElementalHealth || ((BaseWeapon)item).Slayer2 == SlayerName.ElementalHealth )
{
from.SendMessage( "That already is a poison elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put poison 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.ElementalHealth;
from.SendMessage( "Your weapon magically becomes a poison elemental slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.ElementalHealth;
from.SendMessage( "Your weapon magically becomes a poison elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.ElementalHealth || ((Spellbook)item).Slayer2 == SlayerName.ElementalHealth )
{
from.SendMessage( "That already is a poison elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put poison 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.ElementalHealth;
from.SendMessage( "Your spellbook magically becomes a poison elemental slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.ElementalHealth;
from.SendMessage( "Your spellbook magically becomes a poison elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a poison elemental slayer." );
}
}
}
public class ElementalHealthSlayerDeed : Item
{
[Constructable]
public ElementalHealthSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Poison Elemental Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public ElementalHealthSlayerDeed( 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 a poison elemental slayer?");
from.Target = new ElementalHealthSlayerTarget( 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 FlameDousingSlayerTarget : Target
{
private FlameDousingSlayerDeed m_Deed;
public FlameDousingSlayerTarget( FlameDousingSlayerDeed 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.FlameDousing || ((BaseWeapon)item).Slayer2 == SlayerName.FlameDousing )
{
from.SendMessage( "That already is a fire elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put fire 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.FlameDousing;
from.SendMessage( "Your weapon magically becomes a fire elemental slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.FlameDousing;
from.SendMessage( "Your weapon magically becomes a fire elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.FlameDousing || ((Spellbook)item).Slayer2 == SlayerName.FlameDousing )
{
from.SendMessage( "That already is a fire elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put fire 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.FlameDousing;
from.SendMessage( "Your spellbook magically becomes a fire elemental slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.FlameDousing;
from.SendMessage( "Your spellbook magically becomes a fire elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a fire elemental slayer." );
}
}
}
public class FlameDousingSlayerDeed : Item
{
[Constructable]
public FlameDousingSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Fire Elemental Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public FlameDousingSlayerDeed( 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 a fire elemental slayer?");
from.Target = new FlameDousingSlayerTarget( 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 GargoyleSlayerTarget : Target
{
private GargoyleSlayerDeed m_Deed;
public GargoyleSlayerTarget( GargoyleSlayerDeed 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.GargoylesFoe || ((BaseWeapon)item).Slayer2 == SlayerName.GargoylesFoe )
{
from.SendMessage( "That already is a gargoyle slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put gargoyle 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.GargoylesFoe;
from.SendMessage( "Your weapon magically becomes a gargoyle slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.GargoylesFoe;
from.SendMessage( "Your weapon magically becomes a gargoyle slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.GargoylesFoe || ((Spellbook)item).Slayer2 == SlayerName.GargoylesFoe )
{
from.SendMessage( "That already is a gargoyle slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put gargoyle 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.GargoylesFoe;
from.SendMessage( "Your spellbook magically becomes a gargoyle slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.GargoylesFoe;
from.SendMessage( "Your spellbook magically becomes a gargoyle slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a gargoyle slayer." );
}
}
}
public class GargoyleSlayerDeed : Item
{
[Constructable]
public GargoyleSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Gargoyle Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public GargoyleSlayerDeed( 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 a gargoyle slayer?");
from.Target = new GargoyleSlayerTarget( 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 LizardmanSlayerTarget : Target
{
private LizardmanSlayerDeed m_Deed;
public LizardmanSlayerTarget( LizardmanSlayerDeed 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.LizardmanSlaughter || ((BaseWeapon)item).Slayer2 == SlayerName.LizardmanSlaughter )
{
from.SendMessage( "That already is a lizardman slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put lizardman 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.LizardmanSlaughter;
from.SendMessage( "Your weapon magically becomes a lizardman slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.LizardmanSlaughter;
from.SendMessage( "Your weapon magically becomes a lizardman slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.LizardmanSlaughter || ((Spellbook)item).Slayer2 == SlayerName.LizardmanSlaughter )
{
from.SendMessage( "That already is a lizardman slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put lizardman 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.LizardmanSlaughter;
from.SendMessage( "Your spellbook magically becomes a lizardman slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.LizardmanSlaughter;
from.SendMessage( "Your spellbook magically becomes a lizardman slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a lizardman slayer." );
}
}
}
public class LizardmanSlayerDeed : Item
{
[Constructable]
public LizardmanSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Lizardman Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public LizardmanSlayerDeed( 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 a lizardman slayer?");
from.Target = new LizardmanSlayerTarget( 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 OgreSlayerTarget : Target
{
private OgreSlayerDeed m_Deed;
public OgreSlayerTarget( OgreSlayerDeed 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.OgreTrashing || ((BaseWeapon)item).Slayer2 == SlayerName.OgreTrashing )
{
from.SendMessage( "That already is an ogre slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put ogre 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.OgreTrashing;
from.SendMessage( "Your weapon magically becomes an ogre slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.OgreTrashing;
from.SendMessage( "Your weapon magically becomes an ogre slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.OgreTrashing || ((Spellbook)item).Slayer2 == SlayerName.OgreTrashing )
{
from.SendMessage( "That already is an ogre slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put ogre 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.OgreTrashing;
from.SendMessage( "Your spellbook magically becomes an ogre slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.OgreTrashing;
from.SendMessage( "Your spellbook magically becomes an ogre slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into an ogre slayer." );
}
}
}
public class OgreSlayerDeed : Item
{
[Constructable]
public OgreSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Ogre Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public OgreSlayerDeed( 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 ogre slayer?");
from.Target = new OgreSlayerTarget( 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 OphidianSlayerTarget : Target
{
private OphidianSlayerDeed m_Deed;
public OphidianSlayerTarget( OphidianSlayerDeed 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.Ophidian || ((BaseWeapon)item).Slayer2 == SlayerName.Ophidian )
{
from.SendMessage( "That already is an ophidian slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put ophidian 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.Ophidian;
from.SendMessage( "Your weapon magically becomes an ophidian slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.Ophidian;
from.SendMessage( "Your weapon magically becomes an ophidian slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.Ophidian || ((Spellbook)item).Slayer2 == SlayerName.Ophidian )
{
from.SendMessage( "That already is an ophidian slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put ophidian 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.Ophidian;
from.SendMessage( "Your spellbook magically becomes an ophidian slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.Ophidian;
from.SendMessage( "Your spellbook magically becomes an ophidian slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into an ophidian slayer." );
}
}
}
public class OphidianSlayerDeed : Item
{
[Constructable]
public OphidianSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Ophidian Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public OphidianSlayerDeed( 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 ophidian slayer?");
from.Target = new OphidianSlayerTarget( 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 OrcSlayerTarget : Target
{
private OrcSlayerDeed m_Deed;
public OrcSlayerTarget( OrcSlayerDeed 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.OrcSlaying || ((BaseWeapon)item).Slayer2 == SlayerName.OrcSlaying )
{
from.SendMessage( "That already is an orc slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put orc 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.OrcSlaying;
from.SendMessage( "Your weapon magically becomes an orc slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.OrcSlaying;
from.SendMessage( "Your weapon magically becomes an orc slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.OrcSlaying || ((Spellbook)item).Slayer2 == SlayerName.OrcSlaying )
{
from.SendMessage( "That already is an orc slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put orc 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.OrcSlaying;
from.SendMessage( "Your spellbook magically becomes an orc slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.OrcSlaying;
from.SendMessage( "Your spellbook magically becomes an orc slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into an orc slayer." );
}
}
}
public class OrcSlayerDeed : Item
{
[Constructable]
public OrcSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Orc Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public OrcSlayerDeed( 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 orc slayer?");
from.Target = new OrcSlayerTarget( 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 ScorpionSlayerTarget : Target
{
private ScorpionSlayerDeed m_Deed;
public ScorpionSlayerTarget( ScorpionSlayerDeed 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.ScorpionsBane || ((BaseWeapon)item).Slayer2 == SlayerName.ScorpionsBane )
{
from.SendMessage( "That already is a scorpion slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put scorpion 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.ScorpionsBane;
from.SendMessage( "Your weapon magically becomes a scorpion slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.ScorpionsBane;
from.SendMessage( "Your weapon magically becomes a scorpion slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.ScorpionsBane || ((Spellbook)item).Slayer2 == SlayerName.ScorpionsBane )
{
from.SendMessage( "That already is a scorpion slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put scorpion 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.ScorpionsBane;
from.SendMessage( "Your spellbook magically becomes a scorpion slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.ScorpionsBane;
from.SendMessage( "Your spellbook magically becomes a scorpion slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a scorpion slayer." );
}
}
}
public class ScorpionSlayerDeed : Item
{
[Constructable]
public ScorpionSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Scorpion Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public ScorpionSlayerDeed( 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 a scorpion slayer?");
from.Target = new ScorpionSlayerTarget( 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 SnakeSlayerTarget : Target
{
private SnakeSlayerDeed m_Deed;
public SnakeSlayerTarget( SnakeSlayerDeed 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.SnakesBane || ((BaseWeapon)item).Slayer2 == SlayerName.SnakesBane )
{
from.SendMessage( "That already is a snake slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put snake 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.SnakesBane;
from.SendMessage( "Your weapon magically becomes a snake slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.SnakesBane;
from.SendMessage( "Your weapon magically becomes a snake slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.SnakesBane || ((Spellbook)item).Slayer2 == SlayerName.SnakesBane )
{
from.SendMessage( "That already is a snake slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put snake 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.SnakesBane;
from.SendMessage( "Your spellbook magically becomes a snake slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.SnakesBane;
from.SendMessage( "Your spellbook magically becomes a snake slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a snake slayer." );
}
}
}
public class SnakeSlayerDeed : Item
{
[Constructable]
public SnakeSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Snake Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public SnakeSlayerDeed( 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 a snake slayer?");
from.Target = new SnakeSlayerTarget( 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 SpidersDeathSlayerTarget : Target
{
private SpidersDeathSlayerDeed m_Deed;
public SpidersDeathSlayerTarget( SpidersDeathSlayerDeed 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.SpidersDeath || ((BaseWeapon)item).Slayer2 == SlayerName.SpidersDeath )
{
from.SendMessage( "That already is a spider slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put spider 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.SpidersDeath;
from.SendMessage( "Your weapon magically becomes a spider slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.SpidersDeath;
from.SendMessage( "Your weapon magically becomes a spider slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.SpidersDeath || ((Spellbook)item).Slayer2 == SlayerName.SpidersDeath )
{
from.SendMessage( "That already is a spider slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put spider 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.SpidersDeath;
from.SendMessage( "Your spellbook magically becomes a spider slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.SpidersDeath;
from.SendMessage( "Your spellbook magically becomes a spider slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a spider slayer." );
}
}
}
public class SpidersDeathSlayerDeed : Item
{
[Constructable]
public SpidersDeathSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Spider Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public SpidersDeathSlayerDeed( 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 a spider slayer?");
from.Target = new SpidersDeathSlayerTarget( 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 SummerWindSlayerTarget : Target
{
private SummerWindSlayerDeed m_Deed;
public SummerWindSlayerTarget( SummerWindSlayerDeed 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.SummerWind || ((BaseWeapon)item).Slayer2 == SlayerName.SummerWind )
{
from.SendMessage( "That already is a snow elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put snow 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.SummerWind;
from.SendMessage( "Your weapon magically becomes a snow elemental slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.SummerWind;
from.SendMessage( "Your weapon magically becomes a snow elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.SummerWind || ((Spellbook)item).Slayer2 == SlayerName.SummerWind )
{
from.SendMessage( "That already is a snow elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put snow 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.SummerWind;
from.SendMessage( "Your spellbook magically becomes a snow elemental slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.SummerWind;
from.SendMessage( "Your spellbook magically becomes a snow elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a snow elemental slayer." );
}
}
}
public class SummerWindSlayerDeed : Item
{
[Constructable]
public SummerWindSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Snow Elemental Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public SummerWindSlayerDeed( 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 a snow elemental slayer?");
from.Target = new SummerWindSlayerTarget( 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 TerathanSlayerTarget : Target
{
private TerathanSlayerDeed m_Deed;
public TerathanSlayerTarget( TerathanSlayerDeed 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.Terathan || ((BaseWeapon)item).Slayer2 == SlayerName.Terathan )
{
from.SendMessage( "That already is a terathan slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put terathan 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.Terathan;
from.SendMessage( "Your weapon magically becomes a terathan slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.Terathan;
from.SendMessage( "Your weapon magically becomes a terathan slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.Terathan || ((Spellbook)item).Slayer2 == SlayerName.Terathan )
{
from.SendMessage( "That already is a terathan slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put terathan 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.Terathan;
from.SendMessage( "Your spellbook magically becomes a terathan slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.Terathan;
from.SendMessage( "Your spellbook magically becomes a terathan slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a terathan slayer." );
}
}
}
public class TerathanSlayerDeed : Item
{
[Constructable]
public TerathanSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Terathan Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public TerathanSlayerDeed( 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 a terathan slayer?");
from.Target = new TerathanSlayerTarget( 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 TrollSlayerTarget : Target
{
private TrollSlayerDeed m_Deed;
public TrollSlayerTarget( TrollSlayerDeed 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.TrollSlaughter || ((BaseWeapon)item).Slayer2 == SlayerName.TrollSlaughter )
{
from.SendMessage( "That already is a troll slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put troll 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.TrollSlaughter;
from.SendMessage( "Your weapon magically becomes a troll slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.TrollSlaughter;
from.SendMessage( "Your weapon magically becomes a troll slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.TrollSlaughter || ((Spellbook)item).Slayer2 == SlayerName.TrollSlaughter )
{
from.SendMessage( "That already is a troll slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put troll 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.TrollSlaughter;
from.SendMessage( "Your spellbook magically becomes a troll slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.TrollSlaughter;
from.SendMessage( "Your spellbook magically becomes a troll slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a troll slayer." );
}
}
}
public class TrollSlayerDeed : Item
{
[Constructable]
public TrollSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Troll Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public TrollSlayerDeed( 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 a troll slayer?");
from.Target = new TrollSlayerTarget( 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 VacuumSlayerTarget : Target
{
private VacuumSlayerDeed m_Deed;
public VacuumSlayerTarget( VacuumSlayerDeed 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.Vacuum || ((BaseWeapon)item).Slayer2 == SlayerName.Vacuum )
{
from.SendMessage( "That already is an air elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put air 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.Vacuum;
from.SendMessage( "Your weapon magically becomes an air elemental slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.Vacuum;
from.SendMessage( "Your weapon magically becomes an air elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.Vacuum || ((Spellbook)item).Slayer2 == SlayerName.Vacuum )
{
from.SendMessage( "That already is an air elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put air 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.Vacuum;
from.SendMessage( "Your spellbook magically becomes an air elemental slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.Vacuum;
from.SendMessage( "Your spellbook magically becomes an air elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into an air elemental slayer." );
}
}
}
public class VacuumSlayerDeed : Item
{
[Constructable]
public VacuumSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Air Elemental Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public VacuumSlayerDeed( 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 air elemental slayer?");
from.Target = new VacuumSlayerTarget( 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 WaterDissipationSlayerTarget : Target
{
private WaterDissipationSlayerDeed m_Deed;
public WaterDissipationSlayerTarget( WaterDissipationSlayerDeed 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.WaterDissipation || ((BaseWeapon)item).Slayer2 == SlayerName.WaterDissipation )
{
from.SendMessage( "That already is a water elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put water 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.WaterDissipation;
from.SendMessage( "Your weapon magically becomes a water elemental slayer..." );
m_Deed.Delete();
}
else if( ((BaseWeapon)item).Slayer2 == SlayerName.None )
{
((BaseWeapon)item).Slayer2 = SlayerName.WaterDissipation;
from.SendMessage( "Your weapon magically becomes a water elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else if ( target is Spellbook )
{
Item item = (Item)target;
if ( ((Spellbook)item).Slayer == SlayerName.WaterDissipation || ((Spellbook)item).Slayer2 == SlayerName.WaterDissipation )
{
from.SendMessage( "That already is a water elemental slayer!");
}
else
{
if( item.RootParent != from )
{
from.SendMessage( "You cannot put water 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.WaterDissipation;
from.SendMessage( "Your spellbook magically becomes a water elemental slayer..." );
m_Deed.Delete();
}
else if( ((Spellbook)item).Slayer2 == SlayerName.None )
{
((Spellbook)item).Slayer2 = SlayerName.WaterDissipation;
from.SendMessage( "Your spellbook magically becomes a water elemental slayer..." );
m_Deed.Delete();
}
}
}
}
else
{
from.SendMessage( "That cannot be made into a water elemental slayer." );
}
}
}
public class WaterDissipationSlayerDeed : Item
{
[Constructable]
public WaterDissipationSlayerDeed() : base( 0x14F0 )
{
Weight = 1.0;
Name = "Water Elemental Slayer deed";
LootType = LootType.Blessed;
Hue = 1175;
}
public WaterDissipationSlayerDeed( 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 a water elemental slayer?");
from.Target = new WaterDissipationSlayerTarget( this );
}
}
}
}

View File

@@ -0,0 +1,173 @@
using System;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Items;
using Server.Mobiles;
using Server.Commands;
using Server.Prompts;
using Server.Targeting;
namespace Server.Items
{
public class SuperSlayerDeeds : Item
{
[Constructable]
public SuperSlayerDeeds() : base( 0x14F0 )
{
Weight = 1.0;
LootType = LootType.Blessed;
Name = "Super Slayer Deeds Picker";
}
public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
else
{
from.SendGump( new SuperSlayerDeedsGump( from ) );
this.Delete();
}
}
public SuperSlayerDeeds( 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();
}
}
}
namespace Server.Gumps
{
public class SuperSlayerDeedsGump : Gump
{
public static void Initialize()
{
CommandSystem.Register( "SuperSlayerDeedsGump", AccessLevel.GameMaster, new CommandEventHandler( SuperSlayerDeedsGump_OnCommand ) );
}
private static void SuperSlayerDeedsGump_OnCommand( CommandEventArgs e )
{
e.Mobile.SendGump( new SuperSlayerDeedsGump( e.Mobile ) );
}
public SuperSlayerDeedsGump( Mobile Owner ) : base( 0,0 )
{
AddPage(0);
AddBackground(85, 30, 600, 500, 3500);
AddImage(136, 57, 10440); // Dragon - Left Side
AddImage(526, 58, 10441); // Dragon - Right Side
AddImage(199, 112, 5504); // UO Circle - Left
AddImage(480, 111, 5504); // UO Circle - Right
// AddHtml(270, 115, 200, 16, @"<CENTER><BASEFONT COLOR=YELLOW>Server Name Here If You Want</CENTER>", (bool)false, (bool)false);
AddHtml(270, 147, 200, 16, @"<CENTER><BASEFONT COLOR=YELLOW>Super Slayer Deeds</Center>", (bool)false, (bool)false);
AddPage(1);
AddLabel(246, 198, 4030, @"Arachnid Slayer");
AddButton(206, 194, 9721, 9724, 1, GumpButtonType.Reply, 0);
AddLabel(246, 238, 4030, @"Demon Slayer");
AddButton(206, 234, 9721, 9724, 2, GumpButtonType.Reply, 0);
AddLabel(246, 278, 4030, @"Elemental Slayer");
AddButton(206, 274, 9721, 9724, 3, GumpButtonType.Reply, 0);
AddLabel(246, 318, 4030, @"Fey Slayer");
AddButton(206, 314, 9721, 9724, 4, GumpButtonType.Reply, 0);
AddLabel(246, 358, 4030, @"Repond Slayer");
AddButton(206, 354, 9721, 9724, 5, GumpButtonType.Reply, 0);
AddLabel(246, 398, 4030, @"Reptile Slayer");
AddButton(206, 394, 9721, 9724, 6, GumpButtonType.Reply, 0);
AddLabel(246, 438, 4030, @"Undead Slayer");
AddButton(206, 434, 9721, 9724, 7, GumpButtonType.Reply, 0);
}
public override void OnResponse( NetState state, RelayInfo info )
{
Mobile from = state.Mobile;
switch ( info.ButtonID )
{
case 0:
{
//Cancel
from.SendMessage( "You decide not to choose a Dye Tub." );
SuperSlayerDeeds SuperSlayerDeeds = new SuperSlayerDeeds();
from.AddToBackpack( SuperSlayerDeeds );
}
break;
case 1:
{
ArachnidSlayerDeed ArachnidSlayerDeedX = new ArachnidSlayerDeed();
from.AddToBackpack( ArachnidSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 2:
{
DemonSlayerDeed DemonSlayerDeedX = new DemonSlayerDeed();
from.AddToBackpack( DemonSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 3:
{
ElementalSlayerDeed ElementalSlayerDeedX = new ElementalSlayerDeed();
from.AddToBackpack( ElementalSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 4:
{
FeySlayerDeed FeySlayerDeedX = new FeySlayerDeed();
from.AddToBackpack( FeySlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 5:
{
RepondSlayerDeed RepondSlayerDeedX = new RepondSlayerDeed();
from.AddToBackpack( RepondSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 6:
{
ReptileSlayerDeed ReptileSlayerDeedX = new ReptileSlayerDeed();
from.AddToBackpack( ReptileSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
case 7:
{
UndeadSlayerDeed UndeadSlayerDeedX = new UndeadSlayerDeed();
from.AddToBackpack( UndeadSlayerDeedX );
from.SendMessage( "Your choice has been added to your backpack!" );
}
break;
}
}
}
}

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 );
}
}
}
}