Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
@@ -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;
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@@ -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
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user