Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
118
Scripts/Scripts-master/Items/Deeds/AgelessHouseDeed.cs
Normal file
118
Scripts/Scripts-master/Items/Deeds/AgelessHouseDeed.cs
Normal file
@@ -0,0 +1,118 @@
|
||||
//Ageless House Deed For RunUO SVN
|
||||
//By DxMonkey - AKA - Tresdni
|
||||
//Ultima Eclipse - www.ultimaeclipse.com
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server.Multis;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class AgelessHouseTarget : Target
|
||||
{
|
||||
private AgelessHouseDeed m_Deed;
|
||||
|
||||
public AgelessHouseTarget( AgelessHouseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( m_Deed.Deleted || m_Deed.RootParent != from )
|
||||
return;
|
||||
|
||||
if ( target is HouseSign )
|
||||
{
|
||||
HouseSign item = (HouseSign)target;
|
||||
|
||||
if ( item.RestrictDecay == true )
|
||||
{
|
||||
from.SendMessage ( "This house is already ageless" );
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
item.RestrictDecay = true;
|
||||
from.SendMessage ( "The house is now ageless for 30 Days" );
|
||||
|
||||
Timer m_timer = new AgelessHouseTimer( item );
|
||||
m_timer.Start();
|
||||
|
||||
m_Deed.Delete(); // Delete the ageless house deed
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage ( "You must target a house sign!" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class AgelessHouseTimer : Timer
|
||||
{
|
||||
private HouseSign sign;
|
||||
|
||||
public AgelessHouseTimer( HouseSign h ) : base( TimeSpan.FromDays( 30 ) )
|
||||
{
|
||||
sign = h;
|
||||
Priority = TimerPriority.OneSecond;
|
||||
}
|
||||
protected override void OnTick()
|
||||
{
|
||||
|
||||
sign.RestrictDecay = false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class AgelessHouseDeed : Item
|
||||
{
|
||||
|
||||
[Constructable]
|
||||
public AgelessHouseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Hue = 1159;
|
||||
LootType = LootType.Blessed;
|
||||
Name = "An Ageless House Deed ( 30 Days )";
|
||||
|
||||
}
|
||||
|
||||
public AgelessHouseDeed( 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 );
|
||||
LootType = LootType.Blessed;
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
||||
public override void OnDoubleClick( Mobile from ) // Override double click of the deed to call our target
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) ) // Make sure its in their pack
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage ( "Which house would you like to make ageless?" );
|
||||
from.Target = new AgelessHouseTarget( this ); // Call our target
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
600
Scripts/Scripts-master/Items/Deeds/ArtifactDeed.cs
Normal file
600
Scripts/Scripts-master/Items/Deeds/ArtifactDeed.cs
Normal file
@@ -0,0 +1,600 @@
|
||||
///////////////////
|
||||
// By Nerun //
|
||||
// Avatar System //
|
||||
// v.0.9.3 //
|
||||
///////////////////
|
||||
using System;
|
||||
using System.Net;
|
||||
using Server;
|
||||
using Server.Accounting;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
|
||||
public class ArtifactDeed : Item
|
||||
{
|
||||
|
||||
[Constructable]
|
||||
public ArtifactDeed() : this( null )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public ArtifactDeed ( string name ) : base ( 0x14F0 )
|
||||
{
|
||||
Name = "Artifact Deed";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 1172;
|
||||
}
|
||||
|
||||
public ArtifactDeed ( Serial serial ) : base ( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 );
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendGump( new ArtifactGump( from, this ) );
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize ( GenericWriter writer)
|
||||
{
|
||||
base.Serialize ( writer );
|
||||
|
||||
writer.Write ( (int) 0);
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize ( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Server.Gumps
|
||||
{
|
||||
public class ArtifactGump : Gump
|
||||
{
|
||||
private Mobile m_Mobile;
|
||||
private Item m_Deed;
|
||||
|
||||
|
||||
public ArtifactGump( Mobile from, Item deed ) : base( 30, 20 )
|
||||
{
|
||||
m_Mobile = from;
|
||||
m_Deed = deed;
|
||||
|
||||
AddPage( 1 );
|
||||
|
||||
AddBackground( 0, 0, 300, 400, 3000 );
|
||||
AddBackground( 8, 8, 284, 384, 5120 );
|
||||
|
||||
AddLabel( 40, 12, 37, "Artifact List" );
|
||||
|
||||
Account a = from.Account as Account;
|
||||
|
||||
|
||||
AddLabel( 52, 40, 37, "Weapons" );
|
||||
AddButton( 12, 40, 4005, 4007, 0, GumpButtonType.Page, 2 );
|
||||
AddLabel( 52, 60, 37, "Armor" );
|
||||
AddButton( 12, 60, 4005, 4007, 0, GumpButtonType.Page, 3 );
|
||||
AddLabel( 52, 80, 37, "Jewelery" );
|
||||
AddButton( 12, 80, 4005, 4007, 10, GumpButtonType.Page, 4 );
|
||||
AddLabel( 52, 100, 37, "Shields" );
|
||||
AddButton( 12, 100, 4005, 4007, 0, GumpButtonType.Page, 5 );
|
||||
AddLabel( 52, 120, 37, "Hats & Masks" );
|
||||
AddButton( 12, 120, 4005, 4007, 0, GumpButtonType.Page, 6 );
|
||||
AddLabel( 52, 360, 37, "Close" );
|
||||
AddButton( 12, 360, 4005, 4007, 0, GumpButtonType.Reply, 0 );
|
||||
|
||||
AddPage( 2 );
|
||||
|
||||
AddBackground( 0, 0, 300, 400, 3000 );
|
||||
AddBackground( 8, 8, 284, 384, 5120 );
|
||||
|
||||
AddLabel( 40, 12, 37, "Weapons List" );
|
||||
|
||||
|
||||
|
||||
AddLabel( 52, 40, 37, "Axe of the Heavens" );
|
||||
AddButton( 12, 40, 4005, 4007, 1, GumpButtonType.Reply, 1 );
|
||||
AddLabel( 52, 60, 37, "Blade of Insanity" );
|
||||
AddButton( 12, 60, 4005, 4007, 2, GumpButtonType.Reply, 2 );
|
||||
AddLabel( 52, 80, 37, "Blade of the Righteous" );
|
||||
AddButton( 12, 80, 4005, 4007, 3, GumpButtonType.Reply, 3 );
|
||||
AddLabel( 52, 100, 37, "Bone Crusher" );
|
||||
AddButton( 12, 100, 4005, 4007, 4, GumpButtonType.Reply, 4 );
|
||||
AddLabel( 52, 120, 37, "Breath of the Dead" );
|
||||
AddButton( 12, 120, 4005, 4007, 5, GumpButtonType.Reply, 5 );
|
||||
AddLabel( 52, 140, 37, "Frostbringer" );
|
||||
AddButton( 12, 140, 4005, 4007, 6, GumpButtonType.Reply, 6 );
|
||||
AddLabel( 52, 160, 37, "Legacy of the Dread Lord" );
|
||||
AddButton( 12, 160, 4005, 4007, 7, GumpButtonType.Reply, 7 );
|
||||
AddLabel( 52, 180, 37, "Serpent's Fang" );
|
||||
AddButton( 12, 180, 4005, 4007, 8, GumpButtonType.Reply, 8 );
|
||||
AddLabel( 52, 200, 37, "Staff of the Magi" );
|
||||
AddButton( 12, 200, 4005, 4007, 9, GumpButtonType.Reply, 9 );
|
||||
AddLabel( 52, 220, 37, "The Beserker's Maul" );
|
||||
AddButton( 12, 220, 4005, 4007, 10, GumpButtonType.Reply, 10 );
|
||||
AddLabel( 52, 240, 37, "The Dragon Slayer" );
|
||||
AddButton( 12, 240, 4005, 4007, 11, GumpButtonType.Reply, 11 );
|
||||
AddLabel( 52, 260, 37, "Titans Hammer" );
|
||||
AddButton( 12, 260, 4005, 4007, 12, GumpButtonType.Reply, 12 );
|
||||
AddLabel( 52, 280, 37, "The Taskmaster" );
|
||||
AddButton( 12, 280, 4005, 4007, 13, GumpButtonType.Reply, 13 );
|
||||
AddLabel( 52, 300, 37, "Zyronic Claw" );
|
||||
AddButton( 12, 300, 4005, 4007, 14, GumpButtonType.Reply, 14 );
|
||||
AddLabel( 52, 320, 37, "The Dryad Bow" );
|
||||
AddButton( 12, 320, 4005, 4007, 15, GumpButtonType.Reply, 15 );
|
||||
|
||||
|
||||
AddLabel( 52, 360, 37, "Main Menu" );
|
||||
AddButton( 12, 360, 4005, 4007, 0, GumpButtonType.Page, 1 );
|
||||
|
||||
|
||||
AddPage( 3 );
|
||||
|
||||
AddBackground( 0, 0, 300, 400, 3000 );
|
||||
AddBackground( 8, 8, 284, 384, 5120 );
|
||||
|
||||
AddLabel( 40, 12, 37, "Armor List" );
|
||||
|
||||
|
||||
AddLabel( 52, 40, 37, "Armor of Fortune" );
|
||||
AddButton( 12, 40, 4005, 4007, 16, GumpButtonType.Reply, 1 );
|
||||
AddLabel( 52, 60, 37, "Gauntlets of Nobility" );
|
||||
AddButton( 12, 60, 4005, 4007, 17, GumpButtonType.Reply, 2 );
|
||||
AddLabel( 52, 80, 37, "Helm of Insight" );
|
||||
AddButton( 12, 80, 4005, 4007, 18, GumpButtonType.Reply, 3 );
|
||||
AddLabel( 52, 100, 37, "Holy Knight's Breastplate" );
|
||||
AddButton( 12, 100, 4005, 4007, 19, GumpButtonType.Reply, 4 );
|
||||
AddLabel( 52, 120, 37, "Jackal's Collar" );
|
||||
AddButton( 12, 120, 4005, 4007, 20, GumpButtonType.Reply, 5 );
|
||||
AddLabel( 52, 140, 37, "Leggings of Bane" );
|
||||
AddButton( 12, 140, 4005, 4007, 21, GumpButtonType.Reply, 6 );
|
||||
AddLabel( 52, 160, 37, "Midnight Bracers" );
|
||||
AddButton( 12, 160, 4005, 4007, 22, GumpButtonType.Reply, 7 );
|
||||
AddLabel( 52, 180, 37, "Ornate Crown of the Harrower" );
|
||||
AddButton( 12, 180, 4005, 4007, 23, GumpButtonType.Reply, 8 );
|
||||
AddLabel( 52, 200, 37, "Shadow Dancer Leggings" );
|
||||
AddButton( 12, 200, 4005, 4007, 24, GumpButtonType.Reply, 9 );
|
||||
AddLabel( 52, 220, 37, "The Inquisitor's Resolution" );
|
||||
AddButton( 12, 220, 4005, 4007, 25, GumpButtonType.Reply, 10 );
|
||||
AddLabel( 52, 240, 37, "Tunic of Fire" );
|
||||
AddButton( 12, 240, 4005, 4007, 26, GumpButtonType.Reply, 11 );
|
||||
AddLabel( 52, 260, 37, "Voice of the Fallen King" );
|
||||
AddButton( 12, 260, 4005, 4007, 27, GumpButtonType.Reply, 12 );
|
||||
|
||||
|
||||
AddLabel( 52, 360, 37, "Main Menu" );
|
||||
AddButton( 12, 360, 4005, 4007, 0, GumpButtonType.Page, 1 );
|
||||
|
||||
|
||||
AddPage( 4 );
|
||||
|
||||
AddBackground( 0, 0, 300, 400, 3000 );
|
||||
AddBackground( 8, 8, 284, 384, 5120 );
|
||||
|
||||
AddLabel( 40, 12, 37, "Jewelery List" );
|
||||
|
||||
|
||||
|
||||
AddLabel( 52, 40, 37, "Bracelet of Health" );
|
||||
AddButton( 12, 40, 4005, 4007, 29, GumpButtonType.Reply, 1 );
|
||||
AddLabel( 52, 60, 37, "Ornament of the Magician" );
|
||||
AddButton( 12, 60, 4005, 4007, 30, GumpButtonType.Reply, 2 );
|
||||
AddLabel( 52, 80, 37, "Ring of the Elements" );
|
||||
AddButton( 12, 80, 4005, 4007, 31, GumpButtonType.Reply, 3 );
|
||||
AddLabel( 52, 100, 37, "Ring of the Vile" );
|
||||
AddButton( 12, 100, 4005, 4007, 32, GumpButtonType.Reply, 4 );
|
||||
|
||||
AddLabel( 52, 360, 37, "Main Menu" );
|
||||
AddButton( 12, 360, 4005, 4007, 0, GumpButtonType.Page, 1 );
|
||||
|
||||
|
||||
AddPage( 5 );
|
||||
|
||||
AddBackground( 0, 0, 300, 400, 3000 );
|
||||
AddBackground( 8, 8, 284, 384, 5120 );
|
||||
|
||||
AddLabel( 40, 12, 37, "Shields List" );
|
||||
|
||||
|
||||
|
||||
AddLabel( 52, 40, 37, "<22>gis" );
|
||||
AddButton( 12, 40, 4005, 4007, 34, GumpButtonType.Reply, 1 );
|
||||
AddLabel( 52, 60, 37, "Arcane Shield" );
|
||||
AddButton( 12, 60, 4005, 4007, 35, GumpButtonType.Reply, 2 );
|
||||
|
||||
AddLabel( 52, 360, 37, "Main Menu" );
|
||||
AddButton( 12, 360, 4005, 4007, 0, GumpButtonType.Page, 1 );
|
||||
|
||||
|
||||
AddPage( 6 );
|
||||
|
||||
AddBackground( 0, 0, 300, 400, 3000 );
|
||||
AddBackground( 8, 8, 284, 384, 5120 );
|
||||
|
||||
AddLabel( 40, 12, 37, "Hats & Masks List" );
|
||||
|
||||
|
||||
|
||||
AddLabel( 52, 40, 37, "Divine Countenance" );
|
||||
AddButton( 12, 40, 4005, 4007, 36, GumpButtonType.Reply, 1 );
|
||||
AddLabel( 52, 60, 37, "Hat of the Magi" );
|
||||
AddButton( 12, 60, 4005, 4007, 37, GumpButtonType.Reply, 2 );
|
||||
AddLabel( 52, 80, 37, "Hunters Headdress" );
|
||||
AddButton( 12, 80, 4005, 4007, 38, GumpButtonType.Reply, 3 );
|
||||
AddLabel( 52, 100, 37, "Spirit of the Totem" );
|
||||
AddButton( 12, 100, 4005, 4007, 39, GumpButtonType.Reply, 4 );
|
||||
|
||||
AddLabel( 52, 360, 37, "Main Menu" );
|
||||
AddButton( 12, 360, 4005, 4007, 0, GumpButtonType.Page, 1 );
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override void OnResponse( NetState state, RelayInfo info )
|
||||
{
|
||||
Mobile from = state.Mobile;
|
||||
|
||||
switch ( info.ButtonID )
|
||||
{
|
||||
case 0: //Close Gump
|
||||
{
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
break;
|
||||
}
|
||||
case 1: // Axe of the Heavens
|
||||
{
|
||||
Item item = new AxeOfTheHeavens();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 2: // Blade of insanity
|
||||
{
|
||||
Item item = new BladeOfInsanity();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 3: //Blade of the Righteous
|
||||
{
|
||||
Item item = new BladeOfTheRighteous();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 4: //Bone Crusher
|
||||
{
|
||||
Item item = new BoneCrusher();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 5: //Breath of the Dead
|
||||
{
|
||||
Item item = new BreathOfTheDead();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 6: //Frostbringer
|
||||
{
|
||||
Item item = new Frostbringer();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 7: //Legacy of the Dread Lord
|
||||
{
|
||||
Item item = new LegacyOfTheDreadLord();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 8: //Serpent's Fang
|
||||
{
|
||||
Item item = new SerpentsFang();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 9: //Staff of the Magi
|
||||
{
|
||||
Item item = new StaffOfTheMagi();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 10: //The Beserker's Maul
|
||||
{
|
||||
Item item = new TheBeserkersMaul();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 11: //The Dragon Slayer
|
||||
{
|
||||
Item item = new TheDragonSlayer();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 12: //Titans Hammer
|
||||
{
|
||||
Item item = new TitansHammer();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 13: //The Taskmaster
|
||||
{
|
||||
Item item = new TheTaskmaster();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 14: //Zyronic Claw
|
||||
{
|
||||
Item item = new ZyronicClaw();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 15: //The Dryad Bow
|
||||
{
|
||||
Item item = new TheDryadBow();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 16: //Armor of Fortune
|
||||
{
|
||||
Item item = new ArmorOfFortune();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 17: //Gauntlets of Nobility
|
||||
{
|
||||
Item item = new GauntletsOfNobility();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 18: //Helm of Insight
|
||||
{
|
||||
Item item = new HelmOfInsight();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 19: //Holy Knights Breastplate
|
||||
{
|
||||
Item item = new HolyKnightsBreastplate();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 20: //Jackal's Collar
|
||||
{
|
||||
Item item = new JackalsCollar();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 21: //Leggings of Bane
|
||||
{
|
||||
Item item = new LeggingsOfBane();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 22: //Midnight Bracers
|
||||
{
|
||||
Item item = new MidnightBracers();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 23: //Ornate Crown of the Harrower
|
||||
{
|
||||
Item item = new OrnateCrownOfTheHarrower();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 24: //Shadow Dancer Leggings
|
||||
{
|
||||
Item item = new ShadowDancerLeggings();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 25: //Inquisitor's Resolution
|
||||
{
|
||||
Item item = new InquisitorsResolution();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 26: //Tunic of Fire
|
||||
{
|
||||
Item item = new TunicOfFire();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 27: //Voice of the Fallen King
|
||||
{
|
||||
Item item = new VoiceOfTheFallenKing();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
|
||||
}
|
||||
case 29: //Bracelet of Health
|
||||
{
|
||||
Item item = new BraceletOfHealth();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 30: //Ornament of the Magician
|
||||
{
|
||||
Item item = new OrnamentOfTheMagician();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 31: //Ring of the Elements
|
||||
{
|
||||
Item item = new RingOfTheElements();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 32: //Ring of the Vile
|
||||
{
|
||||
Item item = new RingOfTheVile();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 34: //Aegis
|
||||
{
|
||||
Item item = new Aegis();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 35: //Arcane Shield
|
||||
{
|
||||
Item item = new ArcaneShield();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 36: //Divine Countenance
|
||||
{
|
||||
Item item = new DivineCountenance();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 37: //Hat of the Magi
|
||||
{
|
||||
Item item = new HatOfTheMagi();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 38: //Hunters Headdress
|
||||
{
|
||||
Item item = new HuntersHeaddress();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
case 39: //Spirit of the Totem
|
||||
{
|
||||
Item item = new SpiritOfTheTotem();
|
||||
item.LootType = LootType.Blessed;
|
||||
from.AddToBackpack( item );
|
||||
from.CloseGump( typeof( ArtifactGump ) );
|
||||
m_Deed.Delete();
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/AttackChanceIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/AttackChanceIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add AttackChance to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class AttackChanceIncreaseTarget : Target
|
||||
{
|
||||
private AttackChanceIncreaseDeed m_Deed;
|
||||
|
||||
public AttackChanceIncreaseTarget( AttackChanceIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int AttackChanceAdd = 1; //Amount of Attack Chance to be added
|
||||
int AttackChanceCap = 100; //Limit of Attack Chance that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Attack Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
AttackChanceAdd = AttackChanceToAdd(((BaseWeapon)item).Attributes.AttackChance, AttackChanceAdd, AttackChanceCap, from);
|
||||
if( AttackChanceAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.AttackChance += AttackChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Attack Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
AttackChanceAdd = AttackChanceToAdd(((BaseArmor)item).Attributes.AttackChance, AttackChanceAdd, AttackChanceCap, from);
|
||||
if( AttackChanceAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.AttackChance += AttackChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Attack Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
AttackChanceAdd = AttackChanceToAdd(((BaseClothing)item).Attributes.AttackChance, AttackChanceAdd, AttackChanceCap, from);
|
||||
if( AttackChanceAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.AttackChance += AttackChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Attack Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
AttackChanceAdd = AttackChanceToAdd(((BaseTalisman)item).Attributes.AttackChance, AttackChanceAdd, AttackChanceCap, from);
|
||||
if( AttackChanceAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.AttackChance += AttackChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Attack Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
AttackChanceAdd = AttackChanceToAdd(((BaseJewel)item).Attributes.AttackChance, AttackChanceAdd, AttackChanceCap, from);
|
||||
if( AttackChanceAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.AttackChance += AttackChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Attack Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
AttackChanceAdd = AttackChanceToAdd(((Spellbook)item).Attributes.AttackChance, AttackChanceAdd, AttackChanceCap, from);
|
||||
if( AttackChanceAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.AttackChance += AttackChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Attack Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
AttackChanceAdd = AttackChanceToAdd(((BaseQuiver)item).Attributes.AttackChance, AttackChanceAdd, AttackChanceCap, from);
|
||||
if( AttackChanceAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.AttackChance += AttackChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int AttackChanceToAdd(int itemAttackChance, int AttackChanceAdd ,int AttackChanceCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemAttackChance < AttackChanceCap)
|
||||
{
|
||||
if( (itemAttackChance + AttackChanceAdd ) > AttackChanceCap )
|
||||
{
|
||||
ret = AttackChanceAdd - ( (itemAttackChance + AttackChanceAdd ) - AttackChanceCap );
|
||||
from.SendMessage("You increase the Attack Chance on the item and it has now reached it's max. +"+ret+" Attack Chance has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Attack Chance on the item. +"+AttackChanceAdd+" Attack Chance has been added." );
|
||||
ret = AttackChanceAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Attack Chance." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class AttackChanceIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public AttackChanceIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Attack Chance Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public AttackChanceIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Attack Chance?" );
|
||||
from.Target = new AttackChanceIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
67
Scripts/Scripts-master/Items/Deeds/BalancingDeed.cs
Normal file
67
Scripts/Scripts-master/Items/Deeds/BalancingDeed.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BalancingTarget : Target
|
||||
{
|
||||
private BalancingDeed m_Deed;
|
||||
|
||||
public BalancingTarget( BalancingDeed Deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = Deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseRanged )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if ( ((BaseRanged)item).Balanced == true ) from.SendMessage( "That is already balanced!");
|
||||
else if( item.RootParent != from ) from.SendMessage( "You must have the weapon in your backpack!" );
|
||||
else
|
||||
{
|
||||
((BaseRanged)item).Balanced = true;
|
||||
from.SendMessage( "You successfully make your weapon balanced." );
|
||||
m_Deed.Delete();
|
||||
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can only balance archery weapons!" );
|
||||
}
|
||||
// else from.SendMessage( "You can not balance that item!" );
|
||||
}
|
||||
}
|
||||
|
||||
public class BalancingDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BalancingDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 0;
|
||||
LootType = LootType.Blessed;
|
||||
Name = "A Weapon Balancing Deed";
|
||||
Hue = 1266;
|
||||
}
|
||||
|
||||
public BalancingDeed(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 ); 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 balance?" );
|
||||
from.Target = new BalancingTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
// }
|
||||
125
Scripts/Scripts-master/Items/Deeds/BattlelustIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/BattlelustIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add BattleLust to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BattleLustIncreaseTarget : Target
|
||||
{
|
||||
private BattleLustIncreaseDeed m_Deed;
|
||||
|
||||
public BattleLustIncreaseTarget( BattleLustIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int BattleLustAdd = 1; //Amount of BattleLust to be added
|
||||
int BattleLustCap = 1; //Limit of BattleLust that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = false;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add BattleLust to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BattleLustAdd = BattleLustToAdd(((BaseWeapon)item).WeaponAttributes.BattleLust, BattleLustAdd, BattleLustCap, from);
|
||||
if( BattleLustAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.BattleLust += BattleLustAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int BattleLustToAdd(int itemBattleLust, int BattleLustAdd ,int BattleLustCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemBattleLust < BattleLustCap)
|
||||
{
|
||||
if( (itemBattleLust + BattleLustAdd ) > BattleLustCap )
|
||||
{
|
||||
ret = BattleLustAdd - ( (itemBattleLust + BattleLustAdd ) - BattleLustCap );
|
||||
from.SendMessage("You increase the BattleLust on the item and it has now reached it's max. +"+ret+" BattleLust has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the BattleLust on the item. +"+BattleLustAdd+" BattleLust has been added." );
|
||||
ret = BattleLustAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of BattleLust." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class BattleLustIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BattleLustIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "BattleLust Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BattleLustIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase BattleLust?" );
|
||||
from.Target = new BattleLustIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
64
Scripts/Scripts-master/Items/Deeds/Black Market Deeds.cs
Normal file
64
Scripts/Scripts-master/Items/Deeds/Black Market Deeds.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BlackMarketDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BlackMarketDeed()
|
||||
: this(1)
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public BlackMarketDeed(int amountFrom, int amountTo)
|
||||
: this(Utility.RandomMinMax(amountFrom, amountTo))
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public BlackMarketDeed(int amount)
|
||||
: base(0x46af) // get the itemid for this. we are using the calculation scroll item id 0x46af
|
||||
{
|
||||
this.Name = "Black Market Deed"; // Add this
|
||||
this.Stackable = true;
|
||||
this.Amount = amount;
|
||||
}
|
||||
|
||||
public BlackMarketDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override double DefaultWeight
|
||||
{
|
||||
get
|
||||
{
|
||||
return 0.02;
|
||||
}
|
||||
}
|
||||
public override int GetDropSound()
|
||||
{
|
||||
if (this.Amount <= 1)
|
||||
return 0x2E4;
|
||||
else if (this.Amount <= 5)
|
||||
return 0x2E5;
|
||||
else
|
||||
return 0x2E6;
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/BloodDrinkerIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/BloodDrinkerIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add BloodDrinker to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BloodDrinkerIncreaseTarget : Target
|
||||
{
|
||||
private BloodDrinkerIncreaseDeed m_Deed;
|
||||
|
||||
public BloodDrinkerIncreaseTarget( BloodDrinkerIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int BloodDrinkerAdd = 1; //Amount of BloodDrinker to be added
|
||||
int BloodDrinkerCap = 1; //Limit of BloodDrinker that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = false;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add BloodDrinker to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BloodDrinkerAdd = BloodDrinkerToAdd(((BaseWeapon)item).WeaponAttributes.BloodDrinker, BloodDrinkerAdd, BloodDrinkerCap, from);
|
||||
if( BloodDrinkerAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.BloodDrinker += BloodDrinkerAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int BloodDrinkerToAdd(int itemBloodDrinker, int BloodDrinkerAdd ,int BloodDrinkerCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemBloodDrinker < BloodDrinkerCap)
|
||||
{
|
||||
if( (itemBloodDrinker + BloodDrinkerAdd ) > BloodDrinkerCap )
|
||||
{
|
||||
ret = BloodDrinkerAdd - ( (itemBloodDrinker + BloodDrinkerAdd ) - BloodDrinkerCap );
|
||||
from.SendMessage("You increase the BloodDrinker on the item and it has now reached it's max. +"+ret+" BloodDrinker has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the BloodDrinker on the item. +"+BloodDrinkerAdd+" BloodDrinker has been added." );
|
||||
ret = BloodDrinkerAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of BloodDrinker." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class BloodDrinkerIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BloodDrinkerIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "BloodDrinker Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BloodDrinkerIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase BloodDrinker?" );
|
||||
from.Target = new BloodDrinkerIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
319
Scripts/Scripts-master/Items/Deeds/BonusDeeds.cs
Normal file
319
Scripts/Scripts-master/Items/Deeds/BonusDeeds.cs
Normal file
@@ -0,0 +1,319 @@
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BonusDexTarget : Target
|
||||
{
|
||||
private BonusDexDeed m_Deed;
|
||||
|
||||
public BonusDexTarget( BonusDexDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
int augment = ( ( Utility.Random( 2 ) ) /* scalar*/ ) + 1;
|
||||
int augmentper = ( ( Utility.Random( 4 ) ) /* scalar*/ ) + 8;
|
||||
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.BonusDex == 15 ) from.SendMessage( "That already has bonus dex!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put bonus dex on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.BonusDex += augmentper;
|
||||
from.SendMessage( "You magically add bonus dex to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.BonusDex == 15 ) from.SendMessage( "That already has bonus dex!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put bonus dex on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.BonusDex += augmentper;
|
||||
from.SendMessage( "You magically add bonus dex to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.BonusDex == 15 ) from.SendMessage( "That already has bonus dex!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put bonus dex on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.BonusDex += augmentper;
|
||||
from.SendMessage( "You magically add bonus dex to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.BonusDex == 15 ) from.SendMessage( "That already has bonus dex!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put bonus dex on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.BonusDex += augmentper;
|
||||
from.SendMessage( "You magically add bonus dex to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put bonus dex on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class BonusDexDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BonusDexDeed() : base(0x14F0)
|
||||
{
|
||||
Name = "a Bonus Dex deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public BonusDexDeed(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 ); 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 add bonus dex to?" );
|
||||
from.Target = new BonusDexTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
public class BonusIntTarget : Target
|
||||
{
|
||||
private BonusIntDeed m_Deed;
|
||||
|
||||
public BonusIntTarget( BonusIntDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
int augment = ( ( Utility.Random( 2 ) ) /* scalar*/ ) + 1;
|
||||
int augmentper = ( ( Utility.Random( 4 ) ) /* scalar*/ ) + 8;
|
||||
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.BonusInt == 15 ) from.SendMessage( "That already has bonus int!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put bonus int on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.BonusInt += augmentper;
|
||||
from.SendMessage( "You magically add bonus int to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.BonusInt == 15 ) from.SendMessage( "That already has bonus int!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put bonus int on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.BonusInt += augmentper;
|
||||
from.SendMessage( "You magically add bonus int to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.BonusInt == 15 ) from.SendMessage( "That already has bonus int!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put bonus int on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.BonusInt += augmentper;
|
||||
from.SendMessage( "You magically add bonus int to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.BonusInt == 15 ) from.SendMessage( "That already has bonus int!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put bonus int on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.BonusInt += augmentper;
|
||||
from.SendMessage( "You magically add bonus int to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put bonus int on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class BonusIntDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BonusIntDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Bonus Int deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public BonusIntDeed(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 ); 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 add bonus int to?" );
|
||||
from.Target = new BonusIntTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
public class BonusHitsTarget : Target
|
||||
{
|
||||
private BonusHitsDeed m_Deed;
|
||||
|
||||
public BonusHitsTarget( BonusHitsDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
int augment = ( ( Utility.Random( 2 ) ) /* scalar*/ ) + 1;
|
||||
int augmentper = ( ( Utility.Random( 4 ) ) /* scalar*/ ) + 8;
|
||||
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.BonusHits == 15 ) from.SendMessage( "That already has bonus hits!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put bonus hits on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.BonusHits += augmentper;
|
||||
from.SendMessage( "You magically add bonus hits to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.BonusHits == 15 ) from.SendMessage( "That already has bonus hits!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put bonus hits on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.BonusHits += augmentper;
|
||||
from.SendMessage( "You magically add bonus hits to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.BonusHits == 15 ) from.SendMessage( "That already has bonus hits!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put bonus hits on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.BonusHits += augmentper;
|
||||
from.SendMessage( "You magically add bonus hits to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.BonusHits == 15 ) from.SendMessage( "That already has bonus hits!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put bonus hits on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.BonusHits += augmentper;
|
||||
from.SendMessage( "You magically add bonus hits to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put bonus hits on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class BonusHitsDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BonusHitsDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Bonus Hits deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public BonusHitsDeed(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 ); 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 add bonus hits to?" );
|
||||
from.Target = new BonusHitsTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/BonusDexIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/BonusDexIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add BonusDex to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BonusDexIncreaseTarget : Target
|
||||
{
|
||||
private BonusDexIncreaseDeed m_Deed;
|
||||
|
||||
public BonusDexIncreaseTarget( BonusDexIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int BonusDexAdd = 1; //Amount of Bonus Dex to be added
|
||||
int BonusDexCap = 100; //Limit of Bonus Dex that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Dex to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusDexAdd = BonusDexToAdd(((BaseWeapon)item).Attributes.BonusDex, BonusDexAdd, BonusDexCap, from);
|
||||
if( BonusDexAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.BonusDex += BonusDexAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Dex to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusDexAdd = BonusDexToAdd(((BaseArmor)item).Attributes.BonusDex, BonusDexAdd, BonusDexCap, from);
|
||||
if( BonusDexAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.BonusDex += BonusDexAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Dex to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusDexAdd = BonusDexToAdd(((BaseClothing)item).Attributes.BonusDex, BonusDexAdd, BonusDexCap, from);
|
||||
if( BonusDexAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.BonusDex += BonusDexAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Dex to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusDexAdd = BonusDexToAdd(((BaseTalisman)item).Attributes.BonusDex, BonusDexAdd, BonusDexCap, from);
|
||||
if( BonusDexAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.BonusDex += BonusDexAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Dex to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusDexAdd = BonusDexToAdd(((BaseJewel)item).Attributes.BonusDex, BonusDexAdd, BonusDexCap, from);
|
||||
if( BonusDexAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.BonusDex += BonusDexAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Dex to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusDexAdd = BonusDexToAdd(((Spellbook)item).Attributes.BonusDex, BonusDexAdd, BonusDexCap, from);
|
||||
if( BonusDexAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.BonusDex += BonusDexAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Dex to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusDexAdd = BonusDexToAdd(((BaseQuiver)item).Attributes.BonusDex, BonusDexAdd, BonusDexCap, from);
|
||||
if( BonusDexAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.BonusDex += BonusDexAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int BonusDexToAdd(int itemBonusDex, int BonusDexAdd ,int BonusDexCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemBonusDex < BonusDexCap)
|
||||
{
|
||||
if( (itemBonusDex + BonusDexAdd ) > BonusDexCap )
|
||||
{
|
||||
ret = BonusDexAdd - ( (itemBonusDex + BonusDexAdd ) - BonusDexCap );
|
||||
from.SendMessage("You increase the Bonus Dex on the item and it has now reached it's max. +"+ret+" Bonus Dex has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Bonus Dex on the item. +"+BonusDexAdd+" Bonus Dex has been added." );
|
||||
ret = BonusDexAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Bonus Dex." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class BonusDexIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BonusDexIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Bonus Dex Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BonusDexIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Bonus Dex?" );
|
||||
from.Target = new BonusDexIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/BonusHitsIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/BonusHitsIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add BonusHits to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BonusHitsIncreaseTarget : Target
|
||||
{
|
||||
private BonusHitsIncreaseDeed m_Deed;
|
||||
|
||||
public BonusHitsIncreaseTarget( BonusHitsIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int BonusHitsAdd = 1; //Amount of Bonus Hits to be added
|
||||
int BonusHitsCap = 100; //Limit of Bonus Hits that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusHitsAdd = BonusHitsToAdd(((BaseWeapon)item).Attributes.BonusHits, BonusHitsAdd, BonusHitsCap, from);
|
||||
if( BonusHitsAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.BonusHits += BonusHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusHitsAdd = BonusHitsToAdd(((BaseArmor)item).Attributes.BonusHits, BonusHitsAdd, BonusHitsCap, from);
|
||||
if( BonusHitsAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.BonusHits += BonusHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusHitsAdd = BonusHitsToAdd(((BaseClothing)item).Attributes.BonusHits, BonusHitsAdd, BonusHitsCap, from);
|
||||
if( BonusHitsAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.BonusHits += BonusHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusHitsAdd = BonusHitsToAdd(((BaseTalisman)item).Attributes.BonusHits, BonusHitsAdd, BonusHitsCap, from);
|
||||
if( BonusHitsAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.BonusHits += BonusHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusHitsAdd = BonusHitsToAdd(((BaseJewel)item).Attributes.BonusHits, BonusHitsAdd, BonusHitsCap, from);
|
||||
if( BonusHitsAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.BonusHits += BonusHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusHitsAdd = BonusHitsToAdd(((Spellbook)item).Attributes.BonusHits, BonusHitsAdd, BonusHitsCap, from);
|
||||
if( BonusHitsAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.BonusHits += BonusHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusHitsAdd = BonusHitsToAdd(((BaseQuiver)item).Attributes.BonusHits, BonusHitsAdd, BonusHitsCap, from);
|
||||
if( BonusHitsAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.BonusHits += BonusHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int BonusHitsToAdd(int itemBonusHits, int BonusHitsAdd ,int BonusHitsCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemBonusHits < BonusHitsCap)
|
||||
{
|
||||
if( (itemBonusHits + BonusHitsAdd ) > BonusHitsCap )
|
||||
{
|
||||
ret = BonusHitsAdd - ( (itemBonusHits + BonusHitsAdd ) - BonusHitsCap );
|
||||
from.SendMessage("You increase theBonus Hits on the item and it has now reached it's max. +"+ret+"Bonus Hits has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase theBonus Hits on the item. +"+BonusHitsAdd+"Bonus Hits has been added." );
|
||||
ret = BonusHitsAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Bonus Hits." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class BonusHitsIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BonusHitsIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1Bonus Hits Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BonusHitsIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increaseBonus Hits?" );
|
||||
from.Target = new BonusHitsIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/BonusIntIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/BonusIntIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add BonusInt to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BonusIntIncreaseTarget : Target
|
||||
{
|
||||
private BonusIntIncreaseDeed m_Deed;
|
||||
|
||||
public BonusIntIncreaseTarget( BonusIntIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int BonusIntAdd = 1; //Amount of Bonus Int to be added
|
||||
int BonusIntCap = 100; //Limit of Bonus Int that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Int to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusIntAdd = BonusIntToAdd(((BaseWeapon)item).Attributes.BonusInt, BonusIntAdd, BonusIntCap, from);
|
||||
if( BonusIntAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.BonusInt += BonusIntAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Int to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusIntAdd = BonusIntToAdd(((BaseArmor)item).Attributes.BonusInt, BonusIntAdd, BonusIntCap, from);
|
||||
if( BonusIntAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.BonusInt += BonusIntAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Int to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusIntAdd = BonusIntToAdd(((BaseClothing)item).Attributes.BonusInt, BonusIntAdd, BonusIntCap, from);
|
||||
if( BonusIntAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.BonusInt += BonusIntAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Int to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusIntAdd = BonusIntToAdd(((BaseTalisman)item).Attributes.BonusInt, BonusIntAdd, BonusIntCap, from);
|
||||
if( BonusIntAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.BonusInt += BonusIntAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Int to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusIntAdd = BonusIntToAdd(((BaseJewel)item).Attributes.BonusInt, BonusIntAdd, BonusIntCap, from);
|
||||
if( BonusIntAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.BonusInt += BonusIntAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Int to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusIntAdd = BonusIntToAdd(((Spellbook)item).Attributes.BonusInt, BonusIntAdd, BonusIntCap, from);
|
||||
if( BonusIntAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.BonusInt += BonusIntAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Int to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusIntAdd = BonusIntToAdd(((BaseQuiver)item).Attributes.BonusInt, BonusIntAdd, BonusIntCap, from);
|
||||
if( BonusIntAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.BonusInt += BonusIntAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int BonusIntToAdd(int itemBonusInt, int BonusIntAdd ,int BonusIntCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemBonusInt < BonusIntCap)
|
||||
{
|
||||
if( (itemBonusInt + BonusIntAdd ) > BonusIntCap )
|
||||
{
|
||||
ret = BonusIntAdd - ( (itemBonusInt + BonusIntAdd ) - BonusIntCap );
|
||||
from.SendMessage("You increase the Bonus Int on the item and it has now reached it's max. +"+ret+" Bonus Int has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Bonus Int on the item. +"+BonusIntAdd+" Bonus Int has been added." );
|
||||
ret = BonusIntAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Bonus Int." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class BonusIntIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BonusIntIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Bonus Int Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BonusIntIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Bonus Int?" );
|
||||
from.Target = new BonusIntIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/BonusManaIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/BonusManaIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add BonusMana to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BonusManaIncreaseTarget : Target
|
||||
{
|
||||
private BonusManaIncreaseDeed m_Deed;
|
||||
|
||||
public BonusManaIncreaseTarget( BonusManaIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int BonusManaAdd = 1; //Amount ofBonus Mana to be added
|
||||
int BonusManaCap = 100; //Limit ofBonus Mana that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusManaAdd = BonusManaToAdd(((BaseWeapon)item).Attributes.BonusMana, BonusManaAdd, BonusManaCap, from);
|
||||
if( BonusManaAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.BonusMana += BonusManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusManaAdd = BonusManaToAdd(((BaseArmor)item).Attributes.BonusMana, BonusManaAdd, BonusManaCap, from);
|
||||
if( BonusManaAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.BonusMana += BonusManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusManaAdd = BonusManaToAdd(((BaseClothing)item).Attributes.BonusMana, BonusManaAdd, BonusManaCap, from);
|
||||
if( BonusManaAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.BonusMana += BonusManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusManaAdd = BonusManaToAdd(((BaseTalisman)item).Attributes.BonusMana, BonusManaAdd, BonusManaCap, from);
|
||||
if( BonusManaAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.BonusMana += BonusManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusManaAdd = BonusManaToAdd(((BaseJewel)item).Attributes.BonusMana, BonusManaAdd, BonusManaCap, from);
|
||||
if( BonusManaAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.BonusMana += BonusManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusManaAdd = BonusManaToAdd(((Spellbook)item).Attributes.BonusMana, BonusManaAdd, BonusManaCap, from);
|
||||
if( BonusManaAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.BonusMana += BonusManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusManaAdd = BonusManaToAdd(((BaseQuiver)item).Attributes.BonusMana, BonusManaAdd, BonusManaCap, from);
|
||||
if( BonusManaAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.BonusMana += BonusManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int BonusManaToAdd(int itemBonusMana, int BonusManaAdd ,int BonusManaCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemBonusMana < BonusManaCap)
|
||||
{
|
||||
if( (itemBonusMana + BonusManaAdd ) > BonusManaCap )
|
||||
{
|
||||
ret = BonusManaAdd - ( (itemBonusMana + BonusManaAdd ) - BonusManaCap );
|
||||
from.SendMessage("You increase theBonus Mana on the item and it has now reached it's max. +"+ret+"Bonus Mana has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase theBonus Mana on the item. +"+BonusManaAdd+"Bonus Mana has been added." );
|
||||
ret = BonusManaAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount ofBonus Mana." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class BonusManaIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BonusManaIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Bonus Mana Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BonusManaIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increaseBonus Mana?" );
|
||||
from.Target = new BonusManaIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/BonusStamIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/BonusStamIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add BonusStam to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BonusStamIncreaseTarget : Target
|
||||
{
|
||||
private BonusStamIncreaseDeed m_Deed;
|
||||
|
||||
public BonusStamIncreaseTarget( BonusStamIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int BonusStamAdd = 1; //Amount ofBonus Stam to be added
|
||||
int BonusStamCap = 100; //Limit ofBonus Stam that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStamAdd = BonusStamToAdd(((BaseWeapon)item).Attributes.BonusStam, BonusStamAdd, BonusStamCap, from);
|
||||
if( BonusStamAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.BonusStam += BonusStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStamAdd = BonusStamToAdd(((BaseArmor)item).Attributes.BonusStam, BonusStamAdd, BonusStamCap, from);
|
||||
if( BonusStamAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.BonusStam += BonusStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStamAdd = BonusStamToAdd(((BaseClothing)item).Attributes.BonusStam, BonusStamAdd, BonusStamCap, from);
|
||||
if( BonusStamAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.BonusStam += BonusStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStamAdd = BonusStamToAdd(((BaseTalisman)item).Attributes.BonusStam, BonusStamAdd, BonusStamCap, from);
|
||||
if( BonusStamAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.BonusStam += BonusStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStamAdd = BonusStamToAdd(((BaseJewel)item).Attributes.BonusStam, BonusStamAdd, BonusStamCap, from);
|
||||
if( BonusStamAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.BonusStam += BonusStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStamAdd = BonusStamToAdd(((Spellbook)item).Attributes.BonusStam, BonusStamAdd, BonusStamCap, from);
|
||||
if( BonusStamAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.BonusStam += BonusStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addBonus Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStamAdd = BonusStamToAdd(((BaseQuiver)item).Attributes.BonusStam, BonusStamAdd, BonusStamCap, from);
|
||||
if( BonusStamAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.BonusStam += BonusStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int BonusStamToAdd(int itemBonusStam, int BonusStamAdd ,int BonusStamCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemBonusStam < BonusStamCap)
|
||||
{
|
||||
if( (itemBonusStam + BonusStamAdd ) > BonusStamCap )
|
||||
{
|
||||
ret = BonusStamAdd - ( (itemBonusStam + BonusStamAdd ) - BonusStamCap );
|
||||
from.SendMessage("You increase theBonus Stam on the item and it has now reached it's max. +"+ret+"Bonus Stam has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase theBonus Stam on the item. +"+BonusStamAdd+"Bonus Stam has been added." );
|
||||
ret = BonusStamAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount ofBonus Stam." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class BonusStamIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BonusStamIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Bonus Stam Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BonusStamIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increaseBonus Stam?" );
|
||||
from.Target = new BonusStamIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/BonusStrIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/BonusStrIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add BonusStr to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BonusStrIncreaseTarget : Target
|
||||
{
|
||||
private BonusStrIncreaseDeed m_Deed;
|
||||
|
||||
public BonusStrIncreaseTarget( BonusStrIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int BonusStrAdd = 1; //Amount of Bonus Str to be added
|
||||
int BonusStrCap = 100; //Limit of Bonus Str that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Str to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStrAdd = BonusStrToAdd(((BaseWeapon)item).Attributes.BonusStr, BonusStrAdd, BonusStrCap, from);
|
||||
if( BonusStrAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.BonusStr += BonusStrAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Str to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStrAdd = BonusStrToAdd(((BaseArmor)item).Attributes.BonusStr, BonusStrAdd, BonusStrCap, from);
|
||||
if( BonusStrAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.BonusStr += BonusStrAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Str to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStrAdd = BonusStrToAdd(((BaseClothing)item).Attributes.BonusStr, BonusStrAdd, BonusStrCap, from);
|
||||
if( BonusStrAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.BonusStr += BonusStrAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Str to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStrAdd = BonusStrToAdd(((BaseTalisman)item).Attributes.BonusStr, BonusStrAdd, BonusStrCap, from);
|
||||
if( BonusStrAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.BonusStr += BonusStrAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Str to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStrAdd = BonusStrToAdd(((BaseJewel)item).Attributes.BonusStr, BonusStrAdd, BonusStrCap, from);
|
||||
if( BonusStrAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.BonusStr += BonusStrAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Str to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStrAdd = BonusStrToAdd(((Spellbook)item).Attributes.BonusStr, BonusStrAdd, BonusStrCap, from);
|
||||
if( BonusStrAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.BonusStr += BonusStrAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Bonus Str to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BonusStrAdd = BonusStrToAdd(((BaseQuiver)item).Attributes.BonusStr, BonusStrAdd, BonusStrCap, from);
|
||||
if( BonusStrAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.BonusStr += BonusStrAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int BonusStrToAdd(int itemBonusStr, int BonusStrAdd ,int BonusStrCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemBonusStr < BonusStrCap)
|
||||
{
|
||||
if( (itemBonusStr + BonusStrAdd ) > BonusStrCap )
|
||||
{
|
||||
ret = BonusStrAdd - ( (itemBonusStr + BonusStrAdd ) - BonusStrCap );
|
||||
from.SendMessage("You increase the Bonus Str on the item and it has now reached it's max. +"+ret+" Bonus Str has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Bonus Str on the item. +"+BonusStrAdd+" Bonus Str has been added." );
|
||||
ret = BonusStrAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Bonus Str." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class BonusStrIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public BonusStrIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Bonus Str Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BonusStrIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Bonus Str?" );
|
||||
from.Target = new BonusStrIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
109
Scripts/Scripts-master/Items/Deeds/CandleToShieldDeed.cs
Normal file
109
Scripts/Scripts-master/Items/Deeds/CandleToShieldDeed.cs
Normal file
@@ -0,0 +1,109 @@
|
||||
//BY: SHAMBAMPOW
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CandleToShieldTarget : Target
|
||||
{
|
||||
private CandleToShieldDeed m_Deed;
|
||||
|
||||
public CandleToShieldTarget( CandleToShieldDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is Candle )
|
||||
{
|
||||
Item candle = (Item)target;
|
||||
|
||||
if( candle.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot convert that there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseArmor shield = new Buckler();
|
||||
shield.ItemID = candle.ItemID;
|
||||
shield.Name = candle.Name;
|
||||
shield.Hue = candle.Hue;
|
||||
shield.LootType = candle.LootType;
|
||||
|
||||
shield.Attributes.SpellChanneling = 1;
|
||||
shield.PoisonBonus = -1;
|
||||
shield.MaxHitPoints = 255;
|
||||
shield.HitPoints = 255;
|
||||
|
||||
if( candle.Insured )
|
||||
shield.Insured = true;
|
||||
|
||||
|
||||
|
||||
from.AddToBackpack( shield );
|
||||
candle.Delete();
|
||||
from.SendMessage( "You magically convert the candle into a candle-shield...." );
|
||||
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That is not a candle." );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class CandleToShieldDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public CandleToShieldDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Candle to Shield Deed";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 1177;
|
||||
}
|
||||
|
||||
public CandleToShieldDeed( 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 );
|
||||
LootType = LootType.Blessed;
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override bool DisplayLootType{ get{ return false; } }
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) ) // Make sure its in their pack
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("What candle would you like to convert into a candle-shield?" );
|
||||
from.Target = new CandleToShieldTarget( this ); // Call our target
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
229
Scripts/Scripts-master/Items/Deeds/CastSpeedIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/CastSpeedIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add CastSpeed to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CastSpeedIncreaseTarget : Target
|
||||
{
|
||||
private CastSpeedIncreaseDeed m_Deed;
|
||||
|
||||
public CastSpeedIncreaseTarget( CastSpeedIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int CastSpeedAdd = 1; //Amount of Cast Speed to be added
|
||||
int CastSpeedCap = 100; //Limit of Cast Speed that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Cast Speed to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
CastSpeedAdd = CastSpeedToAdd(((BaseWeapon)item).Attributes.CastSpeed, CastSpeedAdd, CastSpeedCap, from);
|
||||
if( CastSpeedAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.CastSpeed += CastSpeedAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Cast Speed to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
CastSpeedAdd = CastSpeedToAdd(((BaseArmor)item).Attributes.CastSpeed, CastSpeedAdd, CastSpeedCap, from);
|
||||
if( CastSpeedAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.CastSpeed += CastSpeedAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Cast Speed to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
CastSpeedAdd = CastSpeedToAdd(((BaseClothing)item).Attributes.CastSpeed, CastSpeedAdd, CastSpeedCap, from);
|
||||
if( CastSpeedAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.CastSpeed += CastSpeedAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Cast Speed to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
CastSpeedAdd = CastSpeedToAdd(((BaseTalisman)item).Attributes.CastSpeed, CastSpeedAdd, CastSpeedCap, from);
|
||||
if( CastSpeedAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.CastSpeed += CastSpeedAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Cast Speed to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
CastSpeedAdd = CastSpeedToAdd(((BaseJewel)item).Attributes.CastSpeed, CastSpeedAdd, CastSpeedCap, from);
|
||||
if( CastSpeedAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.CastSpeed += CastSpeedAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Cast Speed to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
CastSpeedAdd = CastSpeedToAdd(((Spellbook)item).Attributes.CastSpeed, CastSpeedAdd, CastSpeedCap, from);
|
||||
if( CastSpeedAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.CastSpeed += CastSpeedAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Cast Speed to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
CastSpeedAdd = CastSpeedToAdd(((BaseQuiver)item).Attributes.CastSpeed, CastSpeedAdd, CastSpeedCap, from);
|
||||
if( CastSpeedAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.CastSpeed += CastSpeedAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int CastSpeedToAdd(int itemCastSpeed, int CastSpeedAdd ,int CastSpeedCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemCastSpeed < CastSpeedCap)
|
||||
{
|
||||
if( (itemCastSpeed + CastSpeedAdd ) > CastSpeedCap )
|
||||
{
|
||||
ret = CastSpeedAdd - ( (itemCastSpeed + CastSpeedAdd ) - CastSpeedCap );
|
||||
from.SendMessage("You increase the Cast Speed on the item and it has now reached it's max. +"+ret+" Cast Speed has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Cast Speed on the item. +"+CastSpeedAdd+" Cast Speed has been added." );
|
||||
ret = CastSpeedAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Cast Speed." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class CastSpeedIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public CastSpeedIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Cast Speed Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public CastSpeedIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Cast Speed?" );
|
||||
from.Target = new CastSpeedIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
184
Scripts/Scripts-master/Items/Deeds/CastingDeeds.cs
Normal file
184
Scripts/Scripts-master/Items/Deeds/CastingDeeds.cs
Normal file
@@ -0,0 +1,184 @@
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
//Faster Cast Recovery Deed
|
||||
public class CastRecoveryTarget : Target
|
||||
{
|
||||
private CastRecoveryDeed m_Deed;
|
||||
|
||||
public CastRecoveryTarget( CastRecoveryDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.CastRecovery == 3 ) from.SendMessage( "That already has 2 faster cast recovery!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put faster cast recovery on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.CastRecovery = 1;
|
||||
from.SendMessage( "You magically add faster cast recovery to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.CastRecovery == 3 ) from.SendMessage( "That already has faster cast recovery!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put faster cast recovery on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.CastRecovery = 1;
|
||||
from.SendMessage( "You magically add faster cast recovery to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.CastRecovery == 3 ) from.SendMessage( "That already has faster cast recovery!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put faster cast recovery on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.CastRecovery = 1;
|
||||
from.SendMessage( "You magically add faster cast recovery to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put faster cast recovery on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class CastRecoveryDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public CastRecoveryDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Faster Cast Recovery deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public CastRecoveryDeed(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 ); 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 add faster cast recovery to?" );
|
||||
from.Target = new CastRecoveryTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
//Faster Casting Deed
|
||||
public class CastSpeedTarget : Target
|
||||
{
|
||||
private CastSpeedDeed m_Deed;
|
||||
|
||||
public CastSpeedTarget( CastSpeedDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.CastSpeed == 2 ) from.SendMessage( "That already has 2 faster casting!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put faster casting on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.CastSpeed = 1;
|
||||
from.SendMessage( "You magically add faster casting to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.CastSpeed == 2 ) from.SendMessage( "That already has faster casting!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put faster casting on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.CastSpeed = 1;
|
||||
from.SendMessage( "You magically add faster casting to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.CastSpeed == 2 ) from.SendMessage( "That already has faster casting!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put faster casting on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.CastSpeed = 1;
|
||||
from.SendMessage( "You magically add faster casting to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put faster casting on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class CastSpeedDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public CastSpeedDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Faster Casting deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public CastSpeedDeed(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 ); 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 add faster casting to?" );
|
||||
from.Target = new CastSpeedTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50
Scripts/Scripts-master/Items/Deeds/CustomRewardTitleDeed.cs
Normal file
50
Scripts/Scripts-master/Items/Deeds/CustomRewardTitleDeed.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CustomRewardTitleDeed : BaseRewardTitleDeed
|
||||
{
|
||||
private TextDefinition _Title;
|
||||
|
||||
public override TextDefinition Title { get { return _Title; } }
|
||||
|
||||
[Constructable]
|
||||
public CustomRewardTitleDeed(string title)
|
||||
: this(new TextDefinition(title))
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public CustomRewardTitleDeed(int title)
|
||||
: this(new TextDefinition(title))
|
||||
{
|
||||
}
|
||||
|
||||
public CustomRewardTitleDeed(TextDefinition title)
|
||||
{
|
||||
_Title = title;
|
||||
}
|
||||
|
||||
public CustomRewardTitleDeed(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0);
|
||||
|
||||
TextDefinition.Serialize(writer, _Title);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int v = reader.ReadInt();
|
||||
|
||||
_Title = TextDefinition.Deserialize(reader);
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/DefendChanceIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/DefendChanceIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add DefendChance to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DefendChanceIncreaseTarget : Target
|
||||
{
|
||||
private DefendChanceIncreaseDeed m_Deed;
|
||||
|
||||
public DefendChanceIncreaseTarget( DefendChanceIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int DefendChanceAdd = 1; //Amount of Defend Chance to be added
|
||||
int DefendChanceCap = 100; //Limit of Defend Chance that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Defend Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
DefendChanceAdd = DefendChanceToAdd(((BaseWeapon)item).Attributes.DefendChance, DefendChanceAdd, DefendChanceCap, from);
|
||||
if( DefendChanceAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.DefendChance += DefendChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Defend Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
DefendChanceAdd = DefendChanceToAdd(((BaseArmor)item).Attributes.DefendChance, DefendChanceAdd, DefendChanceCap, from);
|
||||
if( DefendChanceAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.DefendChance += DefendChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Defend Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
DefendChanceAdd = DefendChanceToAdd(((BaseClothing)item).Attributes.DefendChance, DefendChanceAdd, DefendChanceCap, from);
|
||||
if( DefendChanceAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.DefendChance += DefendChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Defend Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
DefendChanceAdd = DefendChanceToAdd(((BaseTalisman)item).Attributes.DefendChance, DefendChanceAdd, DefendChanceCap, from);
|
||||
if( DefendChanceAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.DefendChance += DefendChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Defend Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
DefendChanceAdd = DefendChanceToAdd(((BaseJewel)item).Attributes.DefendChance, DefendChanceAdd, DefendChanceCap, from);
|
||||
if( DefendChanceAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.DefendChance += DefendChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Defend Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
DefendChanceAdd = DefendChanceToAdd(((Spellbook)item).Attributes.DefendChance, DefendChanceAdd, DefendChanceCap, from);
|
||||
if( DefendChanceAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.DefendChance += DefendChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Defend Chance to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
DefendChanceAdd = DefendChanceToAdd(((BaseQuiver)item).Attributes.DefendChance, DefendChanceAdd, DefendChanceCap, from);
|
||||
if( DefendChanceAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.DefendChance += DefendChanceAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int DefendChanceToAdd(int itemDefendChance, int DefendChanceAdd ,int DefendChanceCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemDefendChance < DefendChanceCap)
|
||||
{
|
||||
if( (itemDefendChance + DefendChanceAdd ) > DefendChanceCap )
|
||||
{
|
||||
ret = DefendChanceAdd - ( (itemDefendChance + DefendChanceAdd ) - DefendChanceCap );
|
||||
from.SendMessage("You increase the Defend Chance on the item and it has now reached it's max. +"+ret+" Defend Chance has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Defend Chance on the item. +"+DefendChanceAdd+" Defend Chance has been added." );
|
||||
ret = DefendChanceAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Defend Chance." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class DefendChanceIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public DefendChanceIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Defend Chance Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public DefendChanceIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Defend Chance?" );
|
||||
from.Target = new DefendChanceIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/EnhancePotionsIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/EnhancePotionsIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add EnhancePotions to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class EnhancePotionsIncreaseTarget : Target
|
||||
{
|
||||
private EnhancePotionsIncreaseDeed m_Deed;
|
||||
|
||||
public EnhancePotionsIncreaseTarget( EnhancePotionsIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int EnhancePotionsAdd = 1; //Amount of Enhance Potions to be added
|
||||
int EnhancePotionsCap = 100; //Limit of Enhance Potions that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Enhance Potions to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
EnhancePotionsAdd = EnhancePotionsToAdd(((BaseWeapon)item).Attributes.EnhancePotions, EnhancePotionsAdd, EnhancePotionsCap, from);
|
||||
if( EnhancePotionsAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.EnhancePotions += EnhancePotionsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Enhance Potions to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
EnhancePotionsAdd = EnhancePotionsToAdd(((BaseArmor)item).Attributes.EnhancePotions, EnhancePotionsAdd, EnhancePotionsCap, from);
|
||||
if( EnhancePotionsAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.EnhancePotions += EnhancePotionsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Enhance Potions to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
EnhancePotionsAdd = EnhancePotionsToAdd(((BaseClothing)item).Attributes.EnhancePotions, EnhancePotionsAdd, EnhancePotionsCap, from);
|
||||
if( EnhancePotionsAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.EnhancePotions += EnhancePotionsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Enhance Potions to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
EnhancePotionsAdd = EnhancePotionsToAdd(((BaseTalisman)item).Attributes.EnhancePotions, EnhancePotionsAdd, EnhancePotionsCap, from);
|
||||
if( EnhancePotionsAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.EnhancePotions += EnhancePotionsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Enhance Potions to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
EnhancePotionsAdd = EnhancePotionsToAdd(((BaseJewel)item).Attributes.EnhancePotions, EnhancePotionsAdd, EnhancePotionsCap, from);
|
||||
if( EnhancePotionsAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.EnhancePotions += EnhancePotionsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Enhance Potions to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
EnhancePotionsAdd = EnhancePotionsToAdd(((Spellbook)item).Attributes.EnhancePotions, EnhancePotionsAdd, EnhancePotionsCap, from);
|
||||
if( EnhancePotionsAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.EnhancePotions += EnhancePotionsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Enhance Potions to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
EnhancePotionsAdd = EnhancePotionsToAdd(((BaseQuiver)item).Attributes.EnhancePotions, EnhancePotionsAdd, EnhancePotionsCap, from);
|
||||
if( EnhancePotionsAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.EnhancePotions += EnhancePotionsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int EnhancePotionsToAdd(int itemEnhancePotions, int EnhancePotionsAdd ,int EnhancePotionsCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemEnhancePotions < EnhancePotionsCap)
|
||||
{
|
||||
if( (itemEnhancePotions + EnhancePotionsAdd ) > EnhancePotionsCap )
|
||||
{
|
||||
ret = EnhancePotionsAdd - ( (itemEnhancePotions + EnhancePotionsAdd ) - EnhancePotionsCap );
|
||||
from.SendMessage("You increase the Enhance Potions on the item and it has now reached it's max. +"+ret+" Enhance Potions has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Enhance Potions on the item. +"+EnhancePotionsAdd+" Enhance Potions has been added." );
|
||||
ret = EnhancePotionsAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Enhance Potions." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class EnhancePotionsIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public EnhancePotionsIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Enhance Potions Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public EnhancePotionsIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Enhance Potions?" );
|
||||
from.Target = new EnhancePotionsIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
99
Scripts/Scripts-master/Items/Deeds/Gender Change Deed.cs
Normal file
99
Scripts/Scripts-master/Items/Deeds/Gender Change Deed.cs
Normal file
@@ -0,0 +1,99 @@
|
||||
// By Celisuis
|
||||
// D.O.S
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
using Server.Multis;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class GenderChangeDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public GenderChangeDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "Gender Change Deed";
|
||||
Weight = 1.0;
|
||||
//LootType = LootType.Blessed;
|
||||
Hue = 2067;
|
||||
}
|
||||
|
||||
public GenderChangeDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); //version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
if ( from.Body == 0x190 )
|
||||
{
|
||||
from.Body = 0x191;
|
||||
from.SendMessage("You change your gender to female!");
|
||||
World.Broadcast( 0x35, true, "{0} has had a sex change!", from.Name );
|
||||
this.Delete();
|
||||
}
|
||||
else if ( from.Body == 0x191 )
|
||||
{
|
||||
from.Body = 0x190;
|
||||
from.SendMessage("You change your gender to male!");
|
||||
World.Broadcast( 0x35, true, "{0} has had a sex change!", from.Name );
|
||||
this.Delete();
|
||||
}
|
||||
else if ( from.Body == 0x25D )
|
||||
{
|
||||
from.Body = 0x25E;
|
||||
from.SendMessage("You change your gender to female!");
|
||||
World.Broadcast( 0x35, true, "{0} has had a sex change!", from.Name );
|
||||
this.Delete();
|
||||
}
|
||||
else if ( from.Body == 0x25E)
|
||||
{
|
||||
from.Body = 0x25D;
|
||||
from.SendMessage("You change your gender to male!");
|
||||
World.Broadcast( 0x35, true, "{0} has had a sex change!", from.Name );
|
||||
this.Delete();
|
||||
}
|
||||
else if ( from.Body == 0x29A)
|
||||
{
|
||||
from.Body = 0x29B;
|
||||
from.SendMessage("You change your gender to female!");
|
||||
World.Broadcast( 0x35, true, "{0} has had a sex change!", from.Name );
|
||||
this.Delete();
|
||||
}
|
||||
else if ( from.Body == 0x29B)
|
||||
{
|
||||
from.Body = 0x29A;
|
||||
from.SendMessage("You change your gender to male!");
|
||||
World.Broadcast( 0x35, true, "{0} has had a sex change!", from.Name );
|
||||
this.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You can't use this deed with your current race." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitColdAreaIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitColdAreaIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitColdArea to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitColdAreaIncreaseTarget : Target
|
||||
{
|
||||
private HitColdAreaIncreaseDeed m_Deed;
|
||||
|
||||
public HitColdAreaIncreaseTarget( HitColdAreaIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitColdAreaAdd = 1; //Amount of Hit Cold Area to be added
|
||||
int HitColdAreaCap = 100; //Limit of Hit Cold Area that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Cold Area to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitColdAreaAdd = HitColdAreaToAdd(((BaseWeapon)item).WeaponAttributes.HitColdArea, HitColdAreaAdd, HitColdAreaCap, from);
|
||||
if( HitColdAreaAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitColdArea += HitColdAreaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitColdAreaToAdd(int itemHitColdArea, int HitColdAreaAdd ,int HitColdAreaCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitColdArea < HitColdAreaCap)
|
||||
{
|
||||
if( (itemHitColdArea + HitColdAreaAdd ) > HitColdAreaCap )
|
||||
{
|
||||
ret = HitColdAreaAdd - ( (itemHitColdArea + HitColdAreaAdd ) - HitColdAreaCap );
|
||||
from.SendMessage("You increase the Hit Cold Area on the item and it has now reached it's max. +"+ret+" Hit Cold Area has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Cold Area on the item. +"+HitColdAreaAdd+" Hit Cold Area has been added." );
|
||||
ret = HitColdAreaAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Cold Area." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitColdAreaIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitColdAreaIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Cold Area Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitColdAreaIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Cold Area?" );
|
||||
from.Target = new HitColdAreaIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitDispelIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitDispelIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitDispel to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitDispelIncreaseTarget : Target
|
||||
{
|
||||
private HitDispelIncreaseDeed m_Deed;
|
||||
|
||||
public HitDispelIncreaseTarget( HitDispelIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitDispelAdd = 5; //Amount of Hit Dispel to be added
|
||||
int HitDispelCap = 100; //Limit of Hit Dispel that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Dispel to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitDispelAdd = HitDispelToAdd(((BaseWeapon)item).WeaponAttributes.HitDispel, HitDispelAdd, HitDispelCap, from);
|
||||
if( HitDispelAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitDispel += HitDispelAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitDispelToAdd(int itemHitDispel, int HitDispelAdd ,int HitDispelCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitDispel < HitDispelCap)
|
||||
{
|
||||
if( (itemHitDispel + HitDispelAdd ) > HitDispelCap )
|
||||
{
|
||||
ret = HitDispelAdd - ( (itemHitDispel + HitDispelAdd ) - HitDispelCap );
|
||||
from.SendMessage("You increase the Hit Dispel on the item and it has now reached it's max. +"+ret+" Hit Dispel has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Dispel on the item. +"+HitDispelAdd+" Hit Dispel has been added." );
|
||||
ret = HitDispelAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Dispel." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitDispelIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitDispelIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+5 Hit Dispel Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitDispelIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Dispel?" );
|
||||
from.Target = new HitDispelIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitEnergyAreaIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitEnergyAreaIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitEnergyArea to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitEnergyAreaIncreaseTarget : Target
|
||||
{
|
||||
private HitEnergyAreaIncreaseDeed m_Deed;
|
||||
|
||||
public HitEnergyAreaIncreaseTarget( HitEnergyAreaIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitEnergyAreaAdd = 1; //Amount of Hit Energy Area to be added
|
||||
int HitEnergyAreaCap = 100; //Limit of Hit Energy Area that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Energy Area to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitEnergyAreaAdd = HitEnergyAreaToAdd(((BaseWeapon)item).WeaponAttributes.HitEnergyArea, HitEnergyAreaAdd, HitEnergyAreaCap, from);
|
||||
if( HitEnergyAreaAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitEnergyArea += HitEnergyAreaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitEnergyAreaToAdd(int itemHitEnergyArea, int HitEnergyAreaAdd ,int HitEnergyAreaCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitEnergyArea < HitEnergyAreaCap)
|
||||
{
|
||||
if( (itemHitEnergyArea + HitEnergyAreaAdd ) > HitEnergyAreaCap )
|
||||
{
|
||||
ret = HitEnergyAreaAdd - ( (itemHitEnergyArea + HitEnergyAreaAdd ) - HitEnergyAreaCap );
|
||||
from.SendMessage("You increase the Hit Energy Area on the item and it has now reached it's max. +"+ret+" Hit Energy Area has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Energy Area on the item. +"+HitEnergyAreaAdd+" Hit Energy Area has been added." );
|
||||
ret = HitEnergyAreaAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Energy Area." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitEnergyAreaIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitEnergyAreaIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Energy Area Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitEnergyAreaIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Energy Area?" );
|
||||
from.Target = new HitEnergyAreaIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitFireAreaIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitFireAreaIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitFireArea to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitFireAreaIncreaseTarget : Target
|
||||
{
|
||||
private HitFireAreaIncreaseDeed m_Deed;
|
||||
|
||||
public HitFireAreaIncreaseTarget( HitFireAreaIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitFireAreaAdd = 1; //Amount of Hit Fire Area to be added
|
||||
int HitFireAreaCap = 100; //Limit of Hit Fire Area that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Fire Area to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitFireAreaAdd = HitFireAreaToAdd(((BaseWeapon)item).WeaponAttributes.HitFireArea, HitFireAreaAdd, HitFireAreaCap, from);
|
||||
if( HitFireAreaAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitFireArea += HitFireAreaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitFireAreaToAdd(int itemHitFireArea, int HitFireAreaAdd ,int HitFireAreaCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitFireArea < HitFireAreaCap)
|
||||
{
|
||||
if( (itemHitFireArea + HitFireAreaAdd ) > HitFireAreaCap )
|
||||
{
|
||||
ret = HitFireAreaAdd - ( (itemHitFireArea + HitFireAreaAdd ) - HitFireAreaCap );
|
||||
from.SendMessage("You increase the Hit Fire Area on the item and it has now reached it's max. +"+ret+" Hit Fire Area has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Fire Area on the item. +"+HitFireAreaAdd+" Hit Fire Area has been added." );
|
||||
ret = HitFireAreaAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Fire Area." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitFireAreaIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitFireAreaIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Fire Area Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitFireAreaIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Fire Area?" );
|
||||
from.Target = new HitFireAreaIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitFireballIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitFireballIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitFireball to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitFireballIncreaseTarget : Target
|
||||
{
|
||||
private HitFireballIncreaseDeed m_Deed;
|
||||
|
||||
public HitFireballIncreaseTarget( HitFireballIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitFireballAdd = 1; //Amount of Hit Fireball to be added
|
||||
int HitFireballCap = 100; //Limit of Hit Fireball that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Fireball to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitFireballAdd = HitFireballToAdd(((BaseWeapon)item).WeaponAttributes.HitFireball, HitFireballAdd, HitFireballCap, from);
|
||||
if( HitFireballAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitFireball += HitFireballAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitFireballToAdd(int itemHitFireball, int HitFireballAdd ,int HitFireballCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitFireball < HitFireballCap)
|
||||
{
|
||||
if( (itemHitFireball + HitFireballAdd ) > HitFireballCap )
|
||||
{
|
||||
ret = HitFireballAdd - ( (itemHitFireball + HitFireballAdd ) - HitFireballCap );
|
||||
from.SendMessage("You increase the Hit Fireball on the item and it has now reached it's max. +"+ret+" Hit Fireball has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Fireball on the item. +"+HitFireballAdd+" Hit Fireball has been added." );
|
||||
ret = HitFireballAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Fireball." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitFireballIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitFireballIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Fireball Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitFireballIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Fireball?" );
|
||||
from.Target = new HitFireballIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitHarmIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitHarmIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitHarm to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitHarmIncreaseTarget : Target
|
||||
{
|
||||
private HitHarmIncreaseDeed m_Deed;
|
||||
|
||||
public HitHarmIncreaseTarget( HitHarmIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitHarmAdd = 1; //Amount of Hit Harm to be added
|
||||
int HitHarmCap = 100; //Limit of Hit Harm that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Harm to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitHarmAdd = HitHarmToAdd(((BaseWeapon)item).WeaponAttributes.HitHarm, HitHarmAdd, HitHarmCap, from);
|
||||
if( HitHarmAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitHarm += HitHarmAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitHarmToAdd(int itemHitHarm, int HitHarmAdd ,int HitHarmCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitHarm < HitHarmCap)
|
||||
{
|
||||
if( (itemHitHarm + HitHarmAdd ) > HitHarmCap )
|
||||
{
|
||||
ret = HitHarmAdd - ( (itemHitHarm + HitHarmAdd ) - HitHarmCap );
|
||||
from.SendMessage("You increase the Hit Harm on the item and it has now reached it's max. +"+ret+" Hit Harm has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Harm on the item. +"+HitHarmAdd+" Hit Harm has been added." );
|
||||
ret = HitHarmAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Harm." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitHarmIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitHarmIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Harm Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitHarmIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Harm?" );
|
||||
from.Target = new HitHarmIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitLeechHitsIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitLeechHitsIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitLeechHits to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitLeechHitsIncreaseTarget : Target
|
||||
{
|
||||
private HitLeechHitsIncreaseDeed m_Deed;
|
||||
|
||||
public HitLeechHitsIncreaseTarget( HitLeechHitsIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitLeechHitsAdd = 1; //Amount of Hit Leech Hits to be added
|
||||
int HitLeechHitsCap = 100; //Limit of Hit Leech Hits that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Leech Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitLeechHitsAdd = HitLeechHitsToAdd(((BaseWeapon)item).WeaponAttributes.HitLeechHits, HitLeechHitsAdd, HitLeechHitsCap, from);
|
||||
if( HitLeechHitsAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitLeechHits += HitLeechHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitLeechHitsToAdd(int itemHitLeechHits, int HitLeechHitsAdd ,int HitLeechHitsCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitLeechHits < HitLeechHitsCap)
|
||||
{
|
||||
if( (itemHitLeechHits + HitLeechHitsAdd ) > HitLeechHitsCap )
|
||||
{
|
||||
ret = HitLeechHitsAdd - ( (itemHitLeechHits + HitLeechHitsAdd ) - HitLeechHitsCap );
|
||||
from.SendMessage("You increase the Hit Leech Hits on the item and it has now reached it's max. +"+ret+" Hit Leech Hits has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Leech Hits on the item. +"+HitLeechHitsAdd+" Hit Leech Hits has been added." );
|
||||
ret = HitLeechHitsAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Leech Hits." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitLeechHitsIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitLeechHitsIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Leech Hits Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitLeechHitsIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Leech Hits?" );
|
||||
from.Target = new HitLeechHitsIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitLeechManaIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitLeechManaIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitLeechMana to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitLeechManaIncreaseTarget : Target
|
||||
{
|
||||
private HitLeechManaIncreaseDeed m_Deed;
|
||||
|
||||
public HitLeechManaIncreaseTarget( HitLeechManaIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitLeechManaAdd = 1; //Amount of Hit Leech Mana to be added
|
||||
int HitLeechManaCap = 100; //Limit of Hit Leech Mana that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Leech Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitLeechManaAdd = HitLeechManaToAdd(((BaseWeapon)item).WeaponAttributes.HitLeechMana, HitLeechManaAdd, HitLeechManaCap, from);
|
||||
if( HitLeechManaAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitLeechMana += HitLeechManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitLeechManaToAdd(int itemHitLeechMana, int HitLeechManaAdd ,int HitLeechManaCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitLeechMana < HitLeechManaCap)
|
||||
{
|
||||
if( (itemHitLeechMana + HitLeechManaAdd ) > HitLeechManaCap )
|
||||
{
|
||||
ret = HitLeechManaAdd - ( (itemHitLeechMana + HitLeechManaAdd ) - HitLeechManaCap );
|
||||
from.SendMessage("You increase the Hit Leech Mana on the item and it has now reached it's max. +"+ret+" Hit Leech Mana has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Leech Mana on the item. +"+HitLeechManaAdd+" Hit Leech Mana has been added." );
|
||||
ret = HitLeechManaAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Leech Mana." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitLeechManaIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitLeechManaIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Leech Mana Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitLeechManaIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Leech Mana?" );
|
||||
from.Target = new HitLeechManaIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitLeechStamIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitLeechStamIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitLeechStam to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitLeechStamIncreaseTarget : Target
|
||||
{
|
||||
private HitLeechStamIncreaseDeed m_Deed;
|
||||
|
||||
public HitLeechStamIncreaseTarget( HitLeechStamIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitLeechStamAdd = 1; //Amount of Hit Leech Stam to be added
|
||||
int HitLeechStamCap = 100; //Limit of Hit Leech Stam that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Leech Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitLeechStamAdd = HitLeechStamToAdd(((BaseWeapon)item).WeaponAttributes.HitLeechStam, HitLeechStamAdd, HitLeechStamCap, from);
|
||||
if( HitLeechStamAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitLeechStam += HitLeechStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitLeechStamToAdd(int itemHitLeechStam, int HitLeechStamAdd ,int HitLeechStamCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitLeechStam < HitLeechStamCap)
|
||||
{
|
||||
if( (itemHitLeechStam + HitLeechStamAdd ) > HitLeechStamCap )
|
||||
{
|
||||
ret = HitLeechStamAdd - ( (itemHitLeechStam + HitLeechStamAdd ) - HitLeechStamCap );
|
||||
from.SendMessage("You increase the Hit Leech Stam on the item and it has now reached it's max. +"+ret+" Hit Leech Stam has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Leech Stam on the item. +"+HitLeechStamAdd+" Hit Leech Stam has been added." );
|
||||
ret = HitLeechStamAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Leech Stam." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitLeechStamIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitLeechStamIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Leech Stam Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitLeechStamIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Leech Stam?" );
|
||||
from.Target = new HitLeechStamIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitLightningIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitLightningIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitLightning to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitLightningIncreaseTarget : Target
|
||||
{
|
||||
private HitLightningIncreaseDeed m_Deed;
|
||||
|
||||
public HitLightningIncreaseTarget( HitLightningIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitLightningAdd = 1; //Amount of Hit Lightning to be added
|
||||
int HitLightningCap = 100; //Limit of Hit Lightning that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Lightning to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitLightningAdd = HitLightningToAdd(((BaseWeapon)item).WeaponAttributes.HitLightning, HitLightningAdd, HitLightningCap, from);
|
||||
if( HitLightningAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitLightning += HitLightningAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitLightningToAdd(int itemHitLightning, int HitLightningAdd ,int HitLightningCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitLightning < HitLightningCap)
|
||||
{
|
||||
if( (itemHitLightning + HitLightningAdd ) > HitLightningCap )
|
||||
{
|
||||
ret = HitLightningAdd - ( (itemHitLightning + HitLightningAdd ) - HitLightningCap );
|
||||
from.SendMessage("You increase the Hit Lightning on the item and it has now reached it's max. +"+ret+" Hit Lightning has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Lightning on the item. +"+HitLightningAdd+" Hit Lightning has been added." );
|
||||
ret = HitLightningAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Lightning." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitLightningIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitLightningIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Lightning Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitLightningIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Lightning?" );
|
||||
from.Target = new HitLightningIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
//Add HitLowerAttack to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitLowerAttackIncreaseTarget : Target
|
||||
{
|
||||
private HitLowerAttackIncreaseDeed m_Deed;
|
||||
|
||||
public HitLowerAttackIncreaseTarget( HitLowerAttackIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitLowerAttackAdd = 1; //Amount of Hit Lower Attack to be added
|
||||
int HitLowerAttackCap = 100; //Limit of Hit Lower Attack that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Lower Attack to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitLowerAttackAdd = HitLowerAttackToAdd(((BaseWeapon)item).WeaponAttributes.HitLowerAttack, HitLowerAttackAdd, HitLowerAttackCap, from);
|
||||
if( HitLowerAttackAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitLowerAttack += HitLowerAttackAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitLowerAttackToAdd(int itemHitLowerAttack, int HitLowerAttackAdd ,int HitLowerAttackCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitLowerAttack < HitLowerAttackCap)
|
||||
{
|
||||
if( (itemHitLowerAttack + HitLowerAttackAdd ) > HitLowerAttackCap )
|
||||
{
|
||||
ret = HitLowerAttackAdd - ( (itemHitLowerAttack + HitLowerAttackAdd ) - HitLowerAttackCap );
|
||||
from.SendMessage("You increase the Hit Lower Attack on the item and it has now reached it's max. +"+ret+" Hit Lower Attack has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Lower Attack on the item. +"+HitLowerAttackAdd+" Hit Lower Attack has been added." );
|
||||
ret = HitLowerAttackAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Lower Attack." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitLowerAttackIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitLowerAttackIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Lower Attack Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitLowerAttackIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Lower Attack?" );
|
||||
from.Target = new HitLowerAttackIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitLowerDefendIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitLowerDefendIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitLowerDefend to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitLowerDefendIncreaseTarget : Target
|
||||
{
|
||||
private HitLowerDefendIncreaseDeed m_Deed;
|
||||
|
||||
public HitLowerDefendIncreaseTarget( HitLowerDefendIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitLowerDefendAdd = 1; //Amount of Hit Lower Defend to be added
|
||||
int HitLowerDefendCap = 100; //Limit of Hit Lower Defend that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Lower Defend to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitLowerDefendAdd = HitLowerDefendToAdd(((BaseWeapon)item).WeaponAttributes.HitLowerDefend, HitLowerDefendAdd, HitLowerDefendCap, from);
|
||||
if( HitLowerDefendAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitLowerDefend += HitLowerDefendAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitLowerDefendToAdd(int itemHitLowerDefend, int HitLowerDefendAdd ,int HitLowerDefendCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitLowerDefend < HitLowerDefendCap)
|
||||
{
|
||||
if( (itemHitLowerDefend + HitLowerDefendAdd ) > HitLowerDefendCap )
|
||||
{
|
||||
ret = HitLowerDefendAdd - ( (itemHitLowerDefend + HitLowerDefendAdd ) - HitLowerDefendCap );
|
||||
from.SendMessage("You increase the Hit Lower Defend on the item and it has now reached it's max. +"+ret+" Hit Lower Defend has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Lower Defend on the item. +"+HitLowerDefendAdd+" Hit Lower Defend has been added." );
|
||||
ret = HitLowerDefendAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Lower Defend." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitLowerDefendIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitLowerDefendIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Lower Defend Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitLowerDefendIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Lower Defend?" );
|
||||
from.Target = new HitLowerDefendIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitMagicArrowIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitMagicArrowIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitMagicArrow to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitMagicArrowIncreaseTarget : Target
|
||||
{
|
||||
private HitMagicArrowIncreaseDeed m_Deed;
|
||||
|
||||
public HitMagicArrowIncreaseTarget( HitMagicArrowIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitMagicArrowAdd = 1; //Amount of Hit Magic Arrow to be added
|
||||
int HitMagicArrowCap = 100; //Limit of Hit Magic Arrow that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Magic Arrow to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitMagicArrowAdd = HitMagicArrowToAdd(((BaseWeapon)item).WeaponAttributes.HitMagicArrow, HitMagicArrowAdd, HitMagicArrowCap, from);
|
||||
if( HitMagicArrowAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitMagicArrow += HitMagicArrowAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitMagicArrowToAdd(int itemHitMagicArrow, int HitMagicArrowAdd ,int HitMagicArrowCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitMagicArrow < HitMagicArrowCap)
|
||||
{
|
||||
if( (itemHitMagicArrow + HitMagicArrowAdd ) > HitMagicArrowCap )
|
||||
{
|
||||
ret = HitMagicArrowAdd - ( (itemHitMagicArrow + HitMagicArrowAdd ) - HitMagicArrowCap );
|
||||
from.SendMessage("You increase the Hit Magic Arrow on the item and it has now reached it's max. +"+ret+" Hit Magic Arrow has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Magic Arrow on the item. +"+HitMagicArrowAdd+" Hit Magic Arrow has been added." );
|
||||
ret = HitMagicArrowAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Magic Arrow." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitMagicArrowIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitMagicArrowIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Magic Arrow Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitMagicArrowIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Magic Arrow?" );
|
||||
from.Target = new HitMagicArrowIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
//Add HitPhysicalArea to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitPhysicalAreaIncreaseTarget : Target
|
||||
{
|
||||
private HitPhysicalAreaIncreaseDeed m_Deed;
|
||||
|
||||
public HitPhysicalAreaIncreaseTarget( HitPhysicalAreaIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitPhysicalAreaAdd = 1; //Amount of Hit Physical Area to be added
|
||||
int HitPhysicalAreaCap = 100; //Limit of Hit Physical Area that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Physical Area to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitPhysicalAreaAdd = HitPhysicalAreaToAdd(((BaseWeapon)item).WeaponAttributes.HitPhysicalArea, HitPhysicalAreaAdd, HitPhysicalAreaCap, from);
|
||||
if( HitPhysicalAreaAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitPhysicalArea += HitPhysicalAreaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitPhysicalAreaToAdd(int itemHitPhysicalArea, int HitPhysicalAreaAdd ,int HitPhysicalAreaCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitPhysicalArea < HitPhysicalAreaCap)
|
||||
{
|
||||
if( (itemHitPhysicalArea + HitPhysicalAreaAdd ) > HitPhysicalAreaCap )
|
||||
{
|
||||
ret = HitPhysicalAreaAdd - ( (itemHitPhysicalArea + HitPhysicalAreaAdd ) - HitPhysicalAreaCap );
|
||||
from.SendMessage("You increase the Hit Physical Area on the item and it has now reached it's max. +"+ret+" Hit Physical Area has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Physical Area on the item. +"+HitPhysicalAreaAdd+" Hit Physical Area has been added." );
|
||||
ret = HitPhysicalAreaAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Physical Area." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitPhysicalAreaIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitPhysicalAreaIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Physical Area Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitPhysicalAreaIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Physical Area?" );
|
||||
from.Target = new HitPhysicalAreaIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/HitPoisonAreaIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/HitPoisonAreaIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add HitPoisonArea to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class HitPoisonAreaIncreaseTarget : Target
|
||||
{
|
||||
private HitPoisonAreaIncreaseDeed m_Deed;
|
||||
|
||||
public HitPoisonAreaIncreaseTarget( HitPoisonAreaIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int HitPoisonAreaAdd = 1; //Amount of Hit Poison Area to be added
|
||||
int HitPoisonAreaCap = 100; //Limit of Hit Poison Area that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Hit Poison Area to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
HitPoisonAreaAdd = HitPoisonAreaToAdd(((BaseWeapon)item).WeaponAttributes.HitPoisonArea, HitPoisonAreaAdd, HitPoisonAreaCap, from);
|
||||
if( HitPoisonAreaAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.HitPoisonArea += HitPoisonAreaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int HitPoisonAreaToAdd(int itemHitPoisonArea, int HitPoisonAreaAdd ,int HitPoisonAreaCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemHitPoisonArea < HitPoisonAreaCap)
|
||||
{
|
||||
if( (itemHitPoisonArea + HitPoisonAreaAdd ) > HitPoisonAreaCap )
|
||||
{
|
||||
ret = HitPoisonAreaAdd - ( (itemHitPoisonArea + HitPoisonAreaAdd ) - HitPoisonAreaCap );
|
||||
from.SendMessage("You increase the Hit Poison Area on the item and it has now reached it's max. +"+ret+" Hit Poison Area has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Hit Poison Area on the item. +"+HitPoisonAreaAdd+" Hit Poison Area has been added." );
|
||||
ret = HitPoisonAreaAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Hit Poison Area." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class HitPoisonAreaIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public HitPoisonAreaIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Hit Poison Area Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HitPoisonAreaIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Hit Poison Area?" );
|
||||
from.Target = new HitPoisonAreaIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
109
Scripts/Scripts-master/Items/Deeds/LanternToShieldDeed.cs
Normal file
109
Scripts/Scripts-master/Items/Deeds/LanternToShieldDeed.cs
Normal file
@@ -0,0 +1,109 @@
|
||||
//BY: SHAMBAMPOW
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class LanternToShieldTarget : Target
|
||||
{
|
||||
private LanternToShieldDeed m_Deed;
|
||||
|
||||
public LanternToShieldTarget( LanternToShieldDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is Lantern )
|
||||
{
|
||||
Item lantern = (Item)target;
|
||||
|
||||
if( lantern.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "The lantern must be with you!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseArmor shield = new Buckler();
|
||||
shield.ItemID = lantern.ItemID;
|
||||
shield.Name = lantern.Name;
|
||||
shield.Hue = lantern.Hue;
|
||||
shield.LootType = lantern.LootType;
|
||||
|
||||
shield.Attributes.SpellChanneling = 1;
|
||||
shield.PoisonBonus = -1;
|
||||
shield.MaxHitPoints = 255;
|
||||
shield.HitPoints = 255;
|
||||
|
||||
if( lantern.Insured )
|
||||
shield.Insured = true;
|
||||
|
||||
|
||||
|
||||
from.AddToBackpack( shield );
|
||||
lantern.Delete();
|
||||
from.SendMessage( "You magically convert the lantern into a lantern-shield..." );
|
||||
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That is not a lantern." );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class LanternToShieldDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public LanternToShieldDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Lantern To Shield deed";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 1177;
|
||||
}
|
||||
|
||||
public LanternToShieldDeed( 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 );
|
||||
LootType = LootType.Blessed;
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override bool DisplayLootType{ get{ return false; } }
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) ) // Make sure its in their pack
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("What lantern would you like to convert into a lantern-shield?" );
|
||||
from.Target = new LanternToShieldTarget( this ); // Call our target
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
218
Scripts/Scripts-master/Items/Deeds/LowerCostDeeds.cs
Normal file
218
Scripts/Scripts-master/Items/Deeds/LowerCostDeeds.cs
Normal file
@@ -0,0 +1,218 @@
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
//Lower Reg Cost Deed
|
||||
public class LowerRegCostTarget : Target
|
||||
{
|
||||
private LowerRegCostDeed m_Deed;
|
||||
|
||||
public LowerRegCostTarget( LowerRegCostDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
int augment = ( ( Utility.Random( 2 ) ) /* scalar*/ ) + 4;
|
||||
int augmentper = ( ( Utility.Random( 4 ) ) /* scalar*/ ) + 10;
|
||||
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.LowerRegCost == 20 ) from.SendMessage( "That already has lower reg cost!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put lower reg cost on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.LowerRegCost += augmentper;
|
||||
from.SendMessage( "You magically add lower reg cost to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.LowerRegCost == 20 ) from.SendMessage( "That already has lower reg cost!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put lower reg cost on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.LowerRegCost += augmentper;
|
||||
from.SendMessage( "You magically add lower reg cost to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.LowerRegCost == 20 ) from.SendMessage( "That already has lower reg cost!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put lower reg cost on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.LowerRegCost += augmentper;
|
||||
from.SendMessage( "You magically add lower reg cost to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.LowerRegCost == 20 ) from.SendMessage( "That already has lower reg cost!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put lower reg cost on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.LowerRegCost += augmentper;
|
||||
from.SendMessage( "You magically add lower reg cost to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put lower reg cost on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class LowerRegCostDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public LowerRegCostDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Lower Reg Cost deed";
|
||||
Hue = 0x84A;
|
||||
}
|
||||
|
||||
public LowerRegCostDeed(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 ); 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 add lower reg cost to?" );
|
||||
from.Target = new LowerRegCostTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
//Lower Mana Cost Deed
|
||||
public class LowerManaCostTarget : Target
|
||||
{
|
||||
private LowerManaCostDeed m_Deed;
|
||||
|
||||
public LowerManaCostTarget( LowerManaCostDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
int augment = ( ( Utility.Random( 2 ) ) /* scalar*/ ) + 2;
|
||||
int augmentper = ( ( Utility.Random( 4 ) ) /* scalar*/ ) + 6;
|
||||
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.LowerManaCost == 8 ) from.SendMessage( "That already has lower mana cost!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put lower mana cost on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.LowerManaCost += augmentper;
|
||||
from.SendMessage( "You magically add lower mana cost to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.LowerManaCost == 8 ) from.SendMessage( "That already has lower mana cost!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put lower mana cost on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.LowerManaCost += augmentper;
|
||||
from.SendMessage( "You magically add lower mana cost to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.LowerManaCost == 8 ) from.SendMessage( "That already has lower mana cost!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put lower mana cost on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.LowerManaCost += augmentper;
|
||||
from.SendMessage( "You magically add lower mana cost to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.LowerManaCost == 8 ) from.SendMessage( "That already has lower mana cost!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put lower mana cost on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.LowerManaCost += augmentper;
|
||||
from.SendMessage( "You magically add lower mana cost to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put lower mana cost on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class LowerManaCostDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public LowerManaCostDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Lower Mana Cost deed";
|
||||
Hue = 0x7D3;
|
||||
}
|
||||
|
||||
public LowerManaCostDeed(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 ); 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 add lower mana cost to?" );
|
||||
from.Target = new LowerManaCostTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/LowerManaCostIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/LowerManaCostIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add LowerManaCost to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class LowerManaCostIncreaseTarget : Target
|
||||
{
|
||||
private LowerManaCostIncreaseDeed m_Deed;
|
||||
|
||||
public LowerManaCostIncreaseTarget( LowerManaCostIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int LowerManaCostAdd = 1; //Amount of Lower Mana Cost to be added
|
||||
int LowerManaCostCap = 95; //Limit of Lower Mana Cost that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Mana Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerManaCostAdd = LowerManaCostToAdd(((BaseWeapon)item).Attributes.LowerManaCost, LowerManaCostAdd, LowerManaCostCap, from);
|
||||
if( LowerManaCostAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.LowerManaCost += LowerManaCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Mana Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerManaCostAdd = LowerManaCostToAdd(((BaseArmor)item).Attributes.LowerManaCost, LowerManaCostAdd, LowerManaCostCap, from);
|
||||
if( LowerManaCostAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.LowerManaCost += LowerManaCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Mana Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerManaCostAdd = LowerManaCostToAdd(((BaseClothing)item).Attributes.LowerManaCost, LowerManaCostAdd, LowerManaCostCap, from);
|
||||
if( LowerManaCostAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.LowerManaCost += LowerManaCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Mana Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerManaCostAdd = LowerManaCostToAdd(((BaseTalisman)item).Attributes.LowerManaCost, LowerManaCostAdd, LowerManaCostCap, from);
|
||||
if( LowerManaCostAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.LowerManaCost += LowerManaCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Mana Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerManaCostAdd = LowerManaCostToAdd(((BaseJewel)item).Attributes.LowerManaCost, LowerManaCostAdd, LowerManaCostCap, from);
|
||||
if( LowerManaCostAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.LowerManaCost += LowerManaCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Mana Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerManaCostAdd = LowerManaCostToAdd(((Spellbook)item).Attributes.LowerManaCost, LowerManaCostAdd, LowerManaCostCap, from);
|
||||
if( LowerManaCostAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.LowerManaCost += LowerManaCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Mana Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerManaCostAdd = LowerManaCostToAdd(((BaseQuiver)item).Attributes.LowerManaCost, LowerManaCostAdd, LowerManaCostCap, from);
|
||||
if( LowerManaCostAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.LowerManaCost += LowerManaCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int LowerManaCostToAdd(int itemLowerManaCost, int LowerManaCostAdd ,int LowerManaCostCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemLowerManaCost < LowerManaCostCap)
|
||||
{
|
||||
if( (itemLowerManaCost + LowerManaCostAdd ) > LowerManaCostCap )
|
||||
{
|
||||
ret = LowerManaCostAdd - ( (itemLowerManaCost + LowerManaCostAdd ) - LowerManaCostCap );
|
||||
from.SendMessage("You increase theLower Mana Cost on the item and it has now reached it's max. +"+ret+"Lower Mana Cost has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase theLower Mana Cost on the item. +"+LowerManaCostAdd+"Lower Mana Cost has been added." );
|
||||
ret = LowerManaCostAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Lower Mana Cost." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class LowerManaCostIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public LowerManaCostIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1Lower Mana Cost Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public LowerManaCostIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increaseLower Mana Cost?" );
|
||||
from.Target = new LowerManaCostIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/LowerRegCostIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/LowerRegCostIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add LowerRegCost to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class LowerRegCostIncreaseTarget : Target
|
||||
{
|
||||
private LowerRegCostIncreaseDeed m_Deed;
|
||||
|
||||
public LowerRegCostIncreaseTarget( LowerRegCostIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int LowerRegCostAdd = 1; //Amount of Lower Reg Cost to be added
|
||||
int LowerRegCostCap = 100; //Limit of Lower Reg Cost that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = true;
|
||||
bool allowJewel = true;
|
||||
bool allowClothing = true;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = true;
|
||||
bool allowQuiver = true;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Reg Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerRegCostAdd = LowerRegCostToAdd(((BaseWeapon)item).Attributes.LowerRegCost, LowerRegCostAdd, LowerRegCostCap, from);
|
||||
if( LowerRegCostAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.LowerRegCost += LowerRegCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Reg Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerRegCostAdd = LowerRegCostToAdd(((BaseArmor)item).Attributes.LowerRegCost, LowerRegCostAdd, LowerRegCostCap, from);
|
||||
if( LowerRegCostAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.LowerRegCost += LowerRegCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Reg Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerRegCostAdd = LowerRegCostToAdd(((BaseClothing)item).Attributes.LowerRegCost, LowerRegCostAdd, LowerRegCostCap, from);
|
||||
if( LowerRegCostAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.LowerRegCost += LowerRegCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Reg Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerRegCostAdd = LowerRegCostToAdd(((BaseTalisman)item).Attributes.LowerRegCost, LowerRegCostAdd, LowerRegCostCap, from);
|
||||
if( LowerRegCostAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.LowerRegCost += LowerRegCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Reg Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerRegCostAdd = LowerRegCostToAdd(((BaseJewel)item).Attributes.LowerRegCost, LowerRegCostAdd, LowerRegCostCap, from);
|
||||
if( LowerRegCostAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.LowerRegCost += LowerRegCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Reg Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerRegCostAdd = LowerRegCostToAdd(((Spellbook)item).Attributes.LowerRegCost, LowerRegCostAdd, LowerRegCostCap, from);
|
||||
if( LowerRegCostAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.LowerRegCost += LowerRegCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addLower Reg Cost to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
LowerRegCostAdd = LowerRegCostToAdd(((BaseQuiver)item).Attributes.LowerRegCost, LowerRegCostAdd, LowerRegCostCap, from);
|
||||
if( LowerRegCostAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.LowerRegCost += LowerRegCostAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int LowerRegCostToAdd(int itemLowerRegCost, int LowerRegCostAdd ,int LowerRegCostCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemLowerRegCost < LowerRegCostCap)
|
||||
{
|
||||
if( (itemLowerRegCost + LowerRegCostAdd ) > LowerRegCostCap )
|
||||
{
|
||||
ret = LowerRegCostAdd - ( (itemLowerRegCost + LowerRegCostAdd ) - LowerRegCostCap );
|
||||
from.SendMessage("You increase theLower Reg Cost on the item and it has now reached it's max. +"+ret+"Lower Reg Cost has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase theLower Reg Cost on the item. +"+LowerRegCostAdd+"Lower Reg Cost has been added." );
|
||||
ret = LowerRegCostAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Lower Reg Cost." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class LowerRegCostIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public LowerRegCostIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Lower Reg Cost Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public LowerRegCostIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increaseLower Reg Cost?" );
|
||||
from.Target = new LowerRegCostIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
113
Scripts/Scripts-master/Items/Deeds/LuckDeed.cs
Normal file
113
Scripts/Scripts-master/Items/Deeds/LuckDeed.cs
Normal file
@@ -0,0 +1,113 @@
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class LuckTarget : Target
|
||||
{
|
||||
private LuckDeed m_Deed;
|
||||
|
||||
public LuckTarget( LuckDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
int augment = ( ( Utility.Random( 2 ) ) /* scalar*/ ) + 25;
|
||||
int augmentper = ( ( Utility.Random( 4 ) ) /* scalar*/ ) + 50;
|
||||
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.Luck == 150 ) from.SendMessage( "That already has luck!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put luck on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.Luck += augmentper;
|
||||
from.SendMessage( "You magically add luck to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.Luck == 150 ) from.SendMessage( "That already has luck!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put luck on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.Luck += augmentper;
|
||||
from.SendMessage( "You magically add luck to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.Luck == 150 ) from.SendMessage( "That already has luck!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put luck on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.Luck += augmentper;
|
||||
from.SendMessage( "You magically add luck to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.Luck == 150 ) from.SendMessage( "That already has luck!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put luck on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.Luck += augmentper;
|
||||
from.SendMessage( "You magically add luck to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put luck on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class LuckDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public LuckDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Luck deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public LuckDeed(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 ); 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 add luck to?" );
|
||||
from.Target = new LuckTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
230
Scripts/Scripts-master/Items/Deeds/LuckIncreaseDeed.cs
Normal file
230
Scripts/Scripts-master/Items/Deeds/LuckIncreaseDeed.cs
Normal file
@@ -0,0 +1,230 @@
|
||||
//Add luck to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class LuckIncreaseTarget : Target
|
||||
{
|
||||
private LuckIncreaseDeed m_Deed;
|
||||
|
||||
public LuckIncreaseTarget( LuckIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int luckAdd = 10; //Amount of luck to be added
|
||||
int luckCap = 2000; //Limit of luck that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = true;
|
||||
bool allowJewel = true;
|
||||
bool allowClothing = true;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = true;
|
||||
bool allowQuiver = true;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Luck to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
luckAdd = luckToAdd(((BaseWeapon)item).Attributes.Luck, luckAdd, luckCap, from);
|
||||
if( luckAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.Luck += luckAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Luck to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
luckAdd = luckToAdd(((BaseArmor)item).Attributes.Luck, luckAdd, luckCap, from);
|
||||
if( luckAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.Luck += luckAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Luck to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
luckAdd = luckToAdd(((BaseClothing)item).Attributes.Luck, luckAdd, luckCap, from);
|
||||
if( luckAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.Luck += luckAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Luck to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
luckAdd = luckToAdd(((BaseTalisman)item).Attributes.Luck, luckAdd, luckCap, from);
|
||||
if( luckAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.Luck += luckAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Luck to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
luckAdd = luckToAdd(((BaseJewel)item).Attributes.Luck, luckAdd, luckCap, from);
|
||||
if( luckAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.Luck += luckAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Luck to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
luckAdd = luckToAdd(((Spellbook)item).Attributes.Luck, luckAdd, luckCap, from);
|
||||
if( luckAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.Luck += luckAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Luck to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
luckAdd = luckToAdd(((BaseQuiver)item).Attributes.Luck, luckAdd, luckCap, from);
|
||||
if( luckAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.Luck += luckAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int luckToAdd(int itemLuck, int luckAdd ,int luckCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemLuck < luckCap)
|
||||
{
|
||||
if( (itemLuck + luckAdd ) > luckCap )
|
||||
{
|
||||
ret = luckAdd - ( (itemLuck + luckAdd ) - luckCap );
|
||||
from.SendMessage("You increase the Luck on the item and it has now reached it's max. +"+ret+" Luck has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Luck on the item. +"+luckAdd+" Luck has been added." );
|
||||
ret = luckAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Luck." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class LuckIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public LuckIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+10 Luck Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 1174;
|
||||
}
|
||||
|
||||
public LuckIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase luck?" );
|
||||
from.Target = new LuckIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
125
Scripts/Scripts-master/Items/Deeds/MageWeaponIncreaseDeed.cs
Normal file
125
Scripts/Scripts-master/Items/Deeds/MageWeaponIncreaseDeed.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
//Add MageWeapon to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MageWeaponIncreaseTarget : Target
|
||||
{
|
||||
private MageWeaponIncreaseDeed m_Deed;
|
||||
|
||||
public MageWeaponIncreaseTarget( MageWeaponIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int MageWeaponAdd = 1; //Amount of Mage Weapon to be added
|
||||
int MageWeaponCap = 100; //Limit of Mage Weapon that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = false;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add Mage Weapon to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
MageWeaponAdd = MageWeaponToAdd(((BaseWeapon)item).WeaponAttributes.MageWeapon, MageWeaponAdd, MageWeaponCap, from);
|
||||
if( MageWeaponAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.MageWeapon += MageWeaponAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int MageWeaponToAdd(int itemMageWeapon, int MageWeaponAdd ,int MageWeaponCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemMageWeapon < MageWeaponCap)
|
||||
{
|
||||
if( (itemMageWeapon + MageWeaponAdd ) > MageWeaponCap )
|
||||
{
|
||||
ret = MageWeaponAdd - ( (itemMageWeapon + MageWeaponAdd ) - MageWeaponCap );
|
||||
from.SendMessage("You increase the Mage Weapon on the item and it has now reached it's max. +"+ret+" Mage Weapon has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the Mage Weapon on the item. +"+MageWeaponAdd+" Mage Weapon has been added." );
|
||||
ret = MageWeaponAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Mage Weapon." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class MageWeaponIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public MageWeaponIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Mage Weapon Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public MageWeaponIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase Mage Weapon?" );
|
||||
from.Target = new MageWeaponIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
using Server.Multis;
|
||||
using Server.Regions;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class MaginciaContractOfEmployment : Item
|
||||
{
|
||||
public override int LabelNumber{ get{ return 1150636; } } // Commodity Broker
|
||||
|
||||
[Constructable]
|
||||
public MaginciaContractOfEmployment() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
//LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public MaginciaContractOfEmployment( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int)0 ); //version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else if ( from.Region.Name == "Magincia" )
|
||||
{
|
||||
//from.SendLocalizedMessage( 503248 ); // Your godly powers allow you to place this vendor whereever you wish.
|
||||
|
||||
Mobile v = new PlayerVendor( from, BaseHouse.FindHouseAt( from ) );
|
||||
|
||||
v.Direction = from.Direction & Direction.Mask;
|
||||
v.MoveToWorld( from.Location, from.Map );
|
||||
|
||||
v.SayTo( from, 503246 ); // Ah! it feels good to be working again.
|
||||
|
||||
this.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
from.SendLocalizedMessage( 1062677 ); // You cannot place a vendor or barkeep at this location.
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
111
Scripts/Scripts-master/Items/Deeds/NightSightDeed.cs
Normal file
111
Scripts/Scripts-master/Items/Deeds/NightSightDeed.cs
Normal file
@@ -0,0 +1,111 @@
|
||||
// This Script was Scripted by Espcevan
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class NightSightTarget : Target
|
||||
{
|
||||
private NightSightDeed m_Deed;
|
||||
|
||||
public NightSightTarget( NightSightDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.NightSight == 1 ) from.SendMessage( "That already has night sight!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put night sight on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.NightSight = 1;
|
||||
from.SendMessage( "You magically add night sight to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.NightSight == 1 ) from.SendMessage( "That already has night sight!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put night sight on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.NightSight = 1;
|
||||
from.SendMessage( "You magically add night sight to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.NightSight == 1 ) from.SendMessage( "That already has night sight!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put night sight on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.NightSight = 1;
|
||||
from.SendMessage( "You magically add night sight to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.NightSight == 1 ) from.SendMessage( "That already has night sight!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put night sight on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.NightSight = 1;
|
||||
from.SendMessage( "You magically add night sight to your item...." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put night sight on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class NightSightDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public NightSightDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Night Sight deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public NightSightDeed(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 ); 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 add night sight to?" );
|
||||
from.Target = new NightSightTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
95
Scripts/Scripts-master/Items/Deeds/OneHandWeaponDeed.cs.cs
Normal file
95
Scripts/Scripts-master/Items/Deeds/OneHandWeaponDeed.cs.cs
Normal file
@@ -0,0 +1,95 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using System.Collections;
|
||||
using Server.Network;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class OneHandedWeaponDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public OneHandedWeaponDeed() : this( 1 )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public OneHandedWeaponDeed( int amount ) : base( 8792 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "One Handed Weapon Deed";
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.BeginTarget( -1, false, TargetFlags.None, new TargetCallback( OnTarget ) );
|
||||
from.SendMessage("What weapon will you make one handed?");
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
}
|
||||
|
||||
public void OnTarget( Mobile from, object obj )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else if ( obj is BaseWeapon )
|
||||
{
|
||||
Item weapon = (Item)obj;
|
||||
|
||||
if ( weapon.RootParent != from )
|
||||
{
|
||||
from.SendMessage("The weapon must be in your back.");
|
||||
}
|
||||
else if(weapon.Layer == Layer.TwoHanded)
|
||||
{
|
||||
weapon.Layer = Layer.FirstValid;
|
||||
weapon.LootType = LootType.Blessed;
|
||||
from.SendMessage("Your weapon is now one handed!" );
|
||||
this.Delete();
|
||||
}
|
||||
else if(weapon.Layer == Layer.FirstValid)
|
||||
{
|
||||
from.SendMessage("That is already one handed");
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("That is not a weapon!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("The dyes will not work on that.");
|
||||
}
|
||||
}
|
||||
|
||||
public OneHandedWeaponDeed( 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 );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
99
Scripts/Scripts-master/Items/Deeds/OneHandedDeed.cs
Normal file
99
Scripts/Scripts-master/Items/Deeds/OneHandedDeed.cs
Normal file
@@ -0,0 +1,99 @@
|
||||
//Make a weapon One-HAnded, based on the Self Repair deed by SHAMBAMPOW
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class OneHandedTarget : Target
|
||||
{
|
||||
private OneHandedDeed m_Deed;
|
||||
|
||||
public OneHandedTarget( OneHandedDeed 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( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
if(((BaseWeapon)item).Layer == Layer.OneHanded)
|
||||
{
|
||||
from.SendMessage( "That weapon is already One-Handed!");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Layer = Layer.OneHanded;
|
||||
from.SendMessage( "This weapon is now One-Handed.");
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class OneHandedDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public OneHandedDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Make a weapon One-Handed deed";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 1150;
|
||||
}
|
||||
|
||||
public OneHandedDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which weapon would you like to make One-Handed?" );
|
||||
from.Target = new OneHandedTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetColdDamageBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetColdDamageBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Cold Damage Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new ColdDamage(this);
|
||||
}
|
||||
}
|
||||
public PetColdDamageBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class ColdDamage : Target
|
||||
{
|
||||
private PetColdDamageBonusPotion m_Potion;
|
||||
public ColdDamage(PetColdDamageBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.ColdDamage < 95)
|
||||
{
|
||||
t.ColdDamage += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of cold damage. Total: [{0}]", t.ColdDamage);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum cold damage.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetColdlResistanceBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetColdlResistanceBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Cold Resistance Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new ColdResistSeed(this);
|
||||
}
|
||||
}
|
||||
public PetColdlResistanceBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class ColdResistSeed : Target
|
||||
{
|
||||
private PetColdlResistanceBonusPotion m_Potion;
|
||||
public ColdResistSeed(PetColdlResistanceBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.ColdResistSeed < 95)
|
||||
{
|
||||
t.ColdResistSeed += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of cold resistance. Total: [{0}]", t.ColdResistSeed);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum cold resistance.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetControlSlotsBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetControlSlotsBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Control Slots Reduce Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new ControlSlots(this);
|
||||
}
|
||||
}
|
||||
public PetControlSlotsBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class ControlSlots : Target
|
||||
{
|
||||
private PetControlSlotsBonusPotion m_Potion;
|
||||
public ControlSlots(PetControlSlotsBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.ControlSlots > 10)
|
||||
{
|
||||
t.ControlSlots -= 1;
|
||||
from.SendMessage("You have reduce your pet by 1 point of Control Slots . Total: [{0}]", t.ControlSlots);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet slots can't get any lower.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetDamageMaxBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetDamageMaxBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Damage Max Point Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new DamageMax(this);
|
||||
}
|
||||
}
|
||||
public PetDamageMaxBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class DamageMax : Target
|
||||
{
|
||||
private PetDamageMaxBonusPotion m_Potion;
|
||||
public DamageMax(PetDamageMaxBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if(t.DamageMax < t.DamageMin && t.DamageMax < 95)
|
||||
{
|
||||
t.DamageMax += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of Damage Max. Total: [{0}]", t.DamageMax);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum Damage Max.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetDamageMinBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetDamageMinBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Damage Min Point Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new DamageMin(this);
|
||||
}
|
||||
}
|
||||
public PetDamageMinBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class DamageMin : Target
|
||||
{
|
||||
private PetDamageMinBonusPotion m_Potion;
|
||||
public DamageMin(PetDamageMinBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if(t.DamageMin < t.DamageMax && t.DamageMin < 95)
|
||||
{
|
||||
t.DamageMin += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of DamageMin. Total: [{0}]", t.DamageMin);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum DamageMin.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetEnergyDamageBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetEnergyDamageBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Energy Damage Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new EnergyDamage(this);
|
||||
}
|
||||
}
|
||||
public PetEnergyDamageBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class EnergyDamage : Target
|
||||
{
|
||||
private PetEnergyDamageBonusPotion m_Potion;
|
||||
public EnergyDamage(PetEnergyDamageBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.EnergyDamage < 95)
|
||||
{
|
||||
t.EnergyDamage += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of energy damage. Total: [{0}]", t.EnergyDamage);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum energy damage.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetEnergyResistanceBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetEnergyResistanceBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Energy Resistance Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new EnergyResistSeed(this);
|
||||
}
|
||||
}
|
||||
public PetEnergyResistanceBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class EnergyResistSeed : Target
|
||||
{
|
||||
private PetEnergyResistanceBonusPotion m_Potion;
|
||||
public EnergyResistSeed(PetEnergyResistanceBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.EnergyResistSeed < 95)
|
||||
{
|
||||
t.EnergyResistSeed += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of energy resistance. Total: [{0}]", t.EnergyResistSeed);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum energy resistance.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetFireDamageBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetFireDamageBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Fire Damage Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new FireDamage(this);
|
||||
}
|
||||
}
|
||||
public PetFireDamageBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class FireDamage : Target
|
||||
{
|
||||
private PetFireDamageBonusPotion m_Potion;
|
||||
public FireDamage(PetFireDamageBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.FireDamage < 95)
|
||||
{
|
||||
t.FireDamage += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of fire damage. Total: [{0}]", t.FireDamage);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum fire damage.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetFireResistanceBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetFireResistanceBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Physical Resistance Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new FireResistSeed(this);
|
||||
}
|
||||
}
|
||||
public PetFireResistanceBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class FireResistSeed : Target
|
||||
{
|
||||
private PetFireResistanceBonusPotion m_Potion;
|
||||
public FireResistSeed(PetFireResistanceBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.FireResistSeed < 95)
|
||||
{
|
||||
t.FireResistSeed += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of fire resistance. Total: [{0}]", t.FireResistSeed);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum fire resistance.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetHitsPointBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetHitsPointBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Hits Point Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new HitsMaxSeed(this);
|
||||
}
|
||||
}
|
||||
public PetHitsPointBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class HitsMaxSeed : Target
|
||||
{
|
||||
private PetHitsPointBonusPotion m_Potion;
|
||||
public HitsMaxSeed(PetHitsPointBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.HitsMaxSeed < 5000)
|
||||
{
|
||||
t.HitsMaxSeed += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of hits point. Total: [{0}]", t.HitsMaxSeed);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum hits point.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetManaPointBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetManaPointBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Mana Point Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new ManaMaxSeed(this);
|
||||
}
|
||||
}
|
||||
public PetManaPointBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class ManaMaxSeed : Target
|
||||
{
|
||||
private PetManaPointBonusPotion m_Potion;
|
||||
public ManaMaxSeed(PetManaPointBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.ManaMaxSeed < 95)
|
||||
{
|
||||
t.ManaMaxSeed += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of mana point. Total: [{0}]", t.ManaMaxSeed);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum mana point.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetPhysicalDamageBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetPhysicalDamageBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Physical Damage Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new PhysicalDamage(this);
|
||||
}
|
||||
}
|
||||
public PetPhysicalDamageBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class PhysicalDamage : Target
|
||||
{
|
||||
private PetPhysicalDamageBonusPotion m_Potion;
|
||||
public PhysicalDamage(PetPhysicalDamageBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.PhysicalDamage < 95)
|
||||
{
|
||||
t.PhysicalDamage += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of physical damage. Total: [{0}]", t.PhysicalDamage);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum physical damage.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetPhysicalResistanceBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetPhysicalResistanceBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Physical Resistance Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new PhysicalResistanceSeed(this);
|
||||
}
|
||||
}
|
||||
public PetPhysicalResistanceBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class PhysicalResistanceSeed : Target
|
||||
{
|
||||
private PetPhysicalResistanceBonusPotion m_Potion;
|
||||
public PhysicalResistanceSeed(PetPhysicalResistanceBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.PhysicalResistanceSeed < 95)
|
||||
{
|
||||
t.PhysicalResistanceSeed += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of physical resistance. Total: [{0}]", t.PhysicalResistanceSeed);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum physical resistance.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetPoisonDamagBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetPoisonDamagBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Poison Damage Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new PoisonDamage(this);
|
||||
}
|
||||
}
|
||||
public PetPoisonDamagBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class PoisonDamage : Target
|
||||
{
|
||||
private PetPoisonDamagBonusPotion m_Potion;
|
||||
public PoisonDamage(PetPoisonDamagBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.PoisonDamage < 95)
|
||||
{
|
||||
t.PoisonDamage += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of poison damage. Total: [{0}]", t.PoisonDamage);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum poison damage.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetPoisonResistanceBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetPoisonResistanceBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Poison Resistance Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new PoisonResistSeed(this);
|
||||
}
|
||||
}
|
||||
public PetPoisonResistanceBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class PoisonResistSeed : Target
|
||||
{
|
||||
private PetPoisonResistanceBonusPotion m_Potion;
|
||||
public PoisonResistSeed(PetPoisonResistanceBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.PoisonResistSeed < 95)
|
||||
{
|
||||
t.PoisonResistSeed += 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of fire resistance. Total: [{0}]", t.PoisonResistSeed);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum fire resistance.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetStamPointBonusPotion : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetStamPointBonusPotion() : base(0x0F04)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Pet Stam Point Bonus Potion";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 2629;
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) // Override double click of the deed to call our target
|
||||
{
|
||||
if (!IsChildOf(from.Backpack))
|
||||
{
|
||||
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Target the pet you with to upgrate");
|
||||
from.Target = new StamMaxSeed(this);
|
||||
}
|
||||
}
|
||||
public PetStamPointBonusPotion(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((int)0); // version
|
||||
}
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
public class StamMaxSeed : Target
|
||||
{
|
||||
private PetStamPointBonusPotion m_Potion;
|
||||
public StamMaxSeed(PetStamPointBonusPotion potion) : base(1, false, TargetFlags.None)
|
||||
{
|
||||
m_Potion = potion;
|
||||
}
|
||||
protected override void OnTarget(Mobile from, object target)
|
||||
{
|
||||
if (m_Potion == null || m_Potion.Deleted || !m_Potion.IsChildOf(from.Backpack))
|
||||
return;
|
||||
|
||||
if (target is BaseCreature)
|
||||
{
|
||||
BaseCreature t = (BaseCreature)target;
|
||||
if (t.ControlMaster != from)
|
||||
{
|
||||
from.SendLocalizedMessage(1114368); // This is not your pet!
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t.StamMaxSeed < 1000)
|
||||
{
|
||||
t.StamMaxSeed = t.Stam + 1;
|
||||
from.SendMessage("You have reinforced your pet by 1 point of stamina point. Total: [{0}]", t.StamMaxSeed);
|
||||
m_Potion.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Your pet have a maximum stamina point.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1152924); // That is not a valid pet.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
102
Scripts/Scripts-master/Items/Deeds/PetResurrectDeed.cs
Normal file
102
Scripts/Scripts-master/Items/Deeds/PetResurrectDeed.cs
Normal file
@@ -0,0 +1,102 @@
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server;
|
||||
using Server.Targets;
|
||||
using Server.Targeting;
|
||||
using Server.Mobiles;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetResurrectDeed : Item
|
||||
{
|
||||
private BaseCreature pet;
|
||||
|
||||
[Constructable]
|
||||
public PetResurrectDeed(): base(0x14F0)
|
||||
{
|
||||
Weight = 1.0;
|
||||
Movable = true;
|
||||
Name = "Pet Resurrection Deed";
|
||||
}
|
||||
|
||||
public PetResurrectDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile m)
|
||||
{
|
||||
if ( !IsChildOf( m.Backpack ) )
|
||||
{
|
||||
m.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else if( m.InRange( this.GetWorldLocation(), 1 ) )
|
||||
{
|
||||
m.Target = new PetResTarget( this );
|
||||
m.SendMessage( "What would you like to use this on." );
|
||||
}
|
||||
else
|
||||
{
|
||||
m.SendLocalizedMessage( 500446 ); // That is too far away.
|
||||
}
|
||||
}
|
||||
private class PetResTarget : Target
|
||||
{
|
||||
private Mobile m_Owner;
|
||||
|
||||
private PetResurrectDeed m_Powder;
|
||||
|
||||
public PetResTarget( PetResurrectDeed charge ) : base ( 10, false, TargetFlags.None )
|
||||
{
|
||||
m_Powder=charge;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
|
||||
if( target == from )
|
||||
from.SendMessage( "You cant do that." );
|
||||
|
||||
else if( target is BaseCreature )
|
||||
{
|
||||
|
||||
BaseCreature c = (BaseCreature)target;
|
||||
Mobile master = c.ControlMaster;
|
||||
if( c.Controlled == false )
|
||||
{
|
||||
from.SendMessage( "That creature is not tamed." );
|
||||
}
|
||||
else if( !c.IsDeadPet )
|
||||
{
|
||||
from.SendMessage( "That creature is alive." );
|
||||
}
|
||||
|
||||
else if ( c != null && c.IsDeadPet )
|
||||
{
|
||||
master.SendGump( new PetResurrectGump( from, c ) );
|
||||
from.PlaySound( 0x214 );
|
||||
from.FixedEffect( 0x376A, 10, 16 );
|
||||
|
||||
m_Powder.Delete();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
81
Scripts/Scripts-master/Items/Deeds/PetSlotDeed.cs
Normal file
81
Scripts/Scripts-master/Items/Deeds/PetSlotDeed.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
// ****************************************************
|
||||
// Written For Radio Ultimate By Lichking
|
||||
// ****************************************************
|
||||
|
||||
/*
|
||||
updated for RunUO 2.0 Final by:
|
||||
/\
|
||||
____/_ \____ ### ### ### ### # ### ### # ## ## ###
|
||||
\ ___\ \ / # # # # # # # # # # # # # # # # #
|
||||
\/ / \/ / ### ## ### # # # ### # # # # # ## ##
|
||||
/ /\__/_/\ # # # # # # # # # # # # # # # # #
|
||||
/__\ \_____\ ### ### # # # ### # # # ### ## # # ###
|
||||
\ / http://www.wftpradio.net/
|
||||
\/
|
||||
*/
|
||||
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Misc;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PetSlotDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public PetSlotDeed() : base( 5360 )
|
||||
{
|
||||
base.Weight = 1.0;
|
||||
base.Name = "A Pet Slot Deed +1";
|
||||
base.Hue = 0x481;
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public PetSlotDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
PlayerMobile mobile = from as PlayerMobile;
|
||||
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else if ( mobile.FollowersMax >= 10 )
|
||||
{
|
||||
mobile.SendMessage( "You are not allowed more than 10 pet slots." );
|
||||
}
|
||||
else
|
||||
{
|
||||
mobile.FollowersMax += 1;
|
||||
mobile.SendMessage( "You have gained +1 to your maximum pet slots." );
|
||||
|
||||
|
||||
Effects.SendLocationParticles( EffectItem.Create( from.Location, from.Map, EffectItem.DefaultDuration ), 0, 0, 0, 0, 0, 5060, 0 );
|
||||
Effects.PlaySound( from.Location, from.Map, 0x243 );
|
||||
Effects.SendMovingParticles( new Entity( Serial.Zero, new Point3D( from.X - 6, from.Y - 6, from.Z + 15 ), from.Map ), from, 0x36D4, 7, 0, false, true, 0x497, 0, 9502, 1, 0, (EffectLayer)255, 0x100 );
|
||||
Effects.SendMovingParticles( new Entity( Serial.Zero, new Point3D( from.X - 4, from.Y - 6, from.Z + 15 ), from.Map ), from, 0x36D4, 7, 0, false, true, 0x497, 0, 9502, 1, 0, (EffectLayer)255, 0x100 );
|
||||
Effects.SendMovingParticles( new Entity( Serial.Zero, new Point3D( from.X - 6, from.Y - 4, from.Z + 15 ), from.Map ), from, 0x36D4, 7, 0, false, true, 0x497, 0, 9502, 1, 0, (EffectLayer)255, 0x100 );
|
||||
Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
85
Scripts/Scripts-master/Items/Deeds/RaceChangeDeed.cs
Normal file
85
Scripts/Scripts-master/Items/Deeds/RaceChangeDeed.cs
Normal file
@@ -0,0 +1,85 @@
|
||||
// By DxMonkey
|
||||
// Ultima Eclipse 2010.
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
using Server.Multis;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RaceChangeDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public RaceChangeDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "Race Change Deed";
|
||||
Weight = 1.0;
|
||||
//LootType = LootType.Blessed;
|
||||
Hue = 2067;
|
||||
}
|
||||
|
||||
public RaceChangeDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); //version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
if ( from.Race == Race.Elf && from.BodyValue == 605 )
|
||||
{
|
||||
from.Race = Race.Human;
|
||||
from.BodyValue = 400;
|
||||
from.SendMessage( 0x32, "You change from a male elf to a male human!" );
|
||||
this.Delete();
|
||||
}
|
||||
else if ( from.Race == Race.Elf && from.BodyValue == 606 )
|
||||
{
|
||||
from.Race = Race.Human;
|
||||
from.BodyValue = 401;
|
||||
from.SendMessage( 0x32, "You change from a female elf to a female human!" );
|
||||
this.Delete();
|
||||
}
|
||||
else if (from.Race == Race.Human && from.BodyValue == 400 )
|
||||
{
|
||||
from.Race = Race.Elf;
|
||||
from.BodyValue = 605;
|
||||
from.SendMessage( 0x32, "You change from a male human to a male elf!" );
|
||||
this.Delete();
|
||||
}
|
||||
else if (from.Race == Race.Human && from.BodyValue == 401 )
|
||||
{
|
||||
from.Race = Race.Elf;
|
||||
from.BodyValue = 606;
|
||||
from.SendMessage( 0x32, "You change from a female human to a female elf!" );
|
||||
this.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You can't use this deed with your current race." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
93
Scripts/Scripts-master/Items/Deeds/RandomArtifactDeed.cs
Normal file
93
Scripts/Scripts-master/Items/Deeds/RandomArtifactDeed.cs
Normal file
@@ -0,0 +1,93 @@
|
||||
// Scripted by Jumpnjahosofat //
|
||||
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
|
||||
public class RandomArtifactDeed : Item
|
||||
{
|
||||
|
||||
[Constructable]
|
||||
public RandomArtifactDeed() : this( null )
|
||||
{
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public RandomArtifactDeed ( string name ) : base ( 0x14F0 )
|
||||
{
|
||||
Name = "Random Artifact Deed";
|
||||
Hue = 1172;
|
||||
}
|
||||
|
||||
public RandomArtifactDeed ( Serial serial ) : base ( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.SendLocalizedMessage(1042001);
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (Utility.Random(33))
|
||||
{
|
||||
case 0: from.AddToBackpack(new ArmorOfFortune()); break;
|
||||
case 1: from.AddToBackpack(new GauntletsOfNobility()); break;
|
||||
case 2: from.AddToBackpack(new HelmOfInsight()); break;
|
||||
case 3: from.AddToBackpack(new HolyKnightsBreastplate()); break;
|
||||
case 4: from.AddToBackpack(new InquisitorsResolution()); break;
|
||||
case 5: from.AddToBackpack(new JackalsCollar()); break;
|
||||
case 6: from.AddToBackpack(new LeggingsOfBane()); break;
|
||||
case 7: from.AddToBackpack(new MidnightBracers()); break;
|
||||
case 8: from.AddToBackpack(new OrnateCrownOfTheHarrower()); break;
|
||||
case 9: from.AddToBackpack(new ShadowDancerLeggings()); break;
|
||||
case 10: from.AddToBackpack(new TunicOfFire()); break;
|
||||
case 11: from.AddToBackpack(new VoiceOfTheFallenKing()); break;
|
||||
case 12: from.AddToBackpack(new BraceletOfHealth()); break;
|
||||
case 13: from.AddToBackpack(new OrnamentOfTheMagician()); break;
|
||||
case 14: from.AddToBackpack(new RingOfTheElements()); break;
|
||||
case 15: from.AddToBackpack(new RingOfTheVile()); break;
|
||||
case 16: from.AddToBackpack(new Aegis()); break;
|
||||
case 17: from.AddToBackpack(new ArcaneShield()); break;
|
||||
case 18: from.AddToBackpack(new AxeOfTheHeavens()); break;
|
||||
case 19: from.AddToBackpack(new BladeOfInsanity()); break;
|
||||
case 20: from.AddToBackpack(new BladeOfTheRighteous()); break;
|
||||
case 21: from.AddToBackpack(new BoneCrusher()); break;
|
||||
case 22: from.AddToBackpack(new BreathOfTheDead()); break;
|
||||
case 23: from.AddToBackpack(new Frostbringer()); break;
|
||||
case 24: from.AddToBackpack(new LegacyOfTheDreadLord()); break;
|
||||
case 25: from.AddToBackpack(new SerpentsFang()); break;
|
||||
case 26: from.AddToBackpack(new StaffOfTheMagi()); break;
|
||||
case 27: from.AddToBackpack(new TheBeserkersMaul()); break;
|
||||
case 28: from.AddToBackpack(new TheDragonSlayer()); break;
|
||||
case 29: from.AddToBackpack(new TheDryadBow()); break;
|
||||
case 30: from.AddToBackpack(new TheTaskmaster()); break;
|
||||
case 31: from.AddToBackpack(new TitansHammer()); break;
|
||||
case 32: from.AddToBackpack(new ZyronicClaw()); break;
|
||||
}
|
||||
this.Delete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override void Serialize ( GenericWriter writer)
|
||||
{
|
||||
base.Serialize ( writer );
|
||||
|
||||
writer.Write ( (int) 0);
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize ( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
//Add ReactiveParalyzeArmor to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class ReactiveParalyzeArmorIncreaseTarget : Target
|
||||
{
|
||||
private ReactiveParalyzeArmorIncreaseDeed m_Deed;
|
||||
|
||||
public ReactiveParalyzeArmorIncreaseTarget( ReactiveParalyzeArmorIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int ReactiveParalyzeArmorAdd = 1; //Amount of ReactiveParalyzeArmor to be added
|
||||
int ReactiveParalyzeArmorCap = 1; //Limit of ReactiveParalyzeArmor that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = false;
|
||||
bool allowArmor = true;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = false;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseArmor && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add ReactiveParalyzeArmor to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
ReactiveParalyzeArmorAdd = ReactiveParalyzeArmorToAdd(((BaseArmor)item).ArmorAttributes.ReactiveParalyze, ReactiveParalyzeArmorAdd, ReactiveParalyzeArmorCap, from);
|
||||
if( ReactiveParalyzeArmorAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).ArmorAttributes.ReactiveParalyze += ReactiveParalyzeArmorAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int ReactiveParalyzeArmorToAdd(int itemReactiveParalyzeArmor, int ReactiveParalyzeArmorAdd ,int ReactiveParalyzeArmorCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemReactiveParalyzeArmor < ReactiveParalyzeArmorCap)
|
||||
{
|
||||
if( (itemReactiveParalyzeArmor + ReactiveParalyzeArmorAdd ) > ReactiveParalyzeArmorCap )
|
||||
{
|
||||
ret = ReactiveParalyzeArmorAdd - ( (itemReactiveParalyzeArmor + ReactiveParalyzeArmorAdd ) - ReactiveParalyzeArmorCap );
|
||||
from.SendMessage("You increase the ReactiveParalyzeArmor on the item and it has now reached it's max. +"+ret+" ReactiveParalyzeArmor has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the ReactiveParalyzeArmor on the item. +"+ReactiveParalyzeArmorAdd+" ReactiveParalyzeArmor has been added." );
|
||||
ret = ReactiveParalyzeArmorAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of ReactiveParalyzeArmor." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class ReactiveParalyzeArmorIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public ReactiveParalyzeArmorIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "ReactiveParalyzeArmor Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public ReactiveParalyzeArmorIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase ReactiveParalyzeArmor?" );
|
||||
from.Target = new ReactiveParalyzeArmorIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
//Add ReactiveParalyze to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class ReactiveParalyzeIncreaseTarget : Target
|
||||
{
|
||||
private ReactiveParalyzeIncreaseDeed m_Deed;
|
||||
|
||||
public ReactiveParalyzeIncreaseTarget( ReactiveParalyzeIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int ReactiveParalyzeAdd = 1; //Amount of ReactiveParalyze to be added
|
||||
int ReactiveParalyzeCap = 1; //Limit of ReactiveParalyze that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = false;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add ReactiveParalyze to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
ReactiveParalyzeAdd = ReactiveParalyzeToAdd(((BaseWeapon)item).WeaponAttributes.ReactiveParalyze, ReactiveParalyzeAdd, ReactiveParalyzeCap, from);
|
||||
if( ReactiveParalyzeAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.ReactiveParalyze += ReactiveParalyzeAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int ReactiveParalyzeToAdd(int itemReactiveParalyze, int ReactiveParalyzeAdd ,int ReactiveParalyzeCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemReactiveParalyze < ReactiveParalyzeCap)
|
||||
{
|
||||
if( (itemReactiveParalyze + ReactiveParalyzeAdd ) > ReactiveParalyzeCap )
|
||||
{
|
||||
ret = ReactiveParalyzeAdd - ( (itemReactiveParalyze + ReactiveParalyzeAdd ) - ReactiveParalyzeCap );
|
||||
from.SendMessage("You increase the ReactiveParalyze on the item and it has now reached it's max. +"+ret+" ReactiveParalyze has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase the ReactiveParalyze on the item. +"+ReactiveParalyzeAdd+" ReactiveParalyze has been added." );
|
||||
ret = ReactiveParalyzeAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of ReactiveParalyze." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class ReactiveParalyzeIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public ReactiveParalyzeIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "ReactiveParalyze Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public ReactiveParalyzeIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increase ReactiveParalyze?" );
|
||||
from.Target = new ReactiveParalyzeIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
//Add ReflectPhysical to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class ReflectPhysicalIncreaseTarget : Target
|
||||
{
|
||||
private ReflectPhysicalIncreaseDeed m_Deed;
|
||||
|
||||
public ReflectPhysicalIncreaseTarget( ReflectPhysicalIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int ReflectPhysicalAdd = 1; //Amount of Reflect Physical to be added
|
||||
int ReflectPhysicalCap = 100; //Limit of Reflect Physical that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addReflect Physical to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
ReflectPhysicalAdd = ReflectPhysicalToAdd(((BaseWeapon)item).Attributes.ReflectPhysical, ReflectPhysicalAdd, ReflectPhysicalCap, from);
|
||||
if( ReflectPhysicalAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.ReflectPhysical += ReflectPhysicalAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addReflect Physical to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
ReflectPhysicalAdd = ReflectPhysicalToAdd(((BaseArmor)item).Attributes.ReflectPhysical, ReflectPhysicalAdd, ReflectPhysicalCap, from);
|
||||
if( ReflectPhysicalAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.ReflectPhysical += ReflectPhysicalAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addReflect Physical to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
ReflectPhysicalAdd = ReflectPhysicalToAdd(((BaseClothing)item).Attributes.ReflectPhysical, ReflectPhysicalAdd, ReflectPhysicalCap, from);
|
||||
if( ReflectPhysicalAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.ReflectPhysical += ReflectPhysicalAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addReflect Physical to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
ReflectPhysicalAdd = ReflectPhysicalToAdd(((BaseTalisman)item).Attributes.ReflectPhysical, ReflectPhysicalAdd, ReflectPhysicalCap, from);
|
||||
if( ReflectPhysicalAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.ReflectPhysical += ReflectPhysicalAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addReflect Physical to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
ReflectPhysicalAdd = ReflectPhysicalToAdd(((BaseJewel)item).Attributes.ReflectPhysical, ReflectPhysicalAdd, ReflectPhysicalCap, from);
|
||||
if( ReflectPhysicalAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.ReflectPhysical += ReflectPhysicalAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addReflect Physical to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
ReflectPhysicalAdd = ReflectPhysicalToAdd(((Spellbook)item).Attributes.ReflectPhysical, ReflectPhysicalAdd, ReflectPhysicalCap, from);
|
||||
if( ReflectPhysicalAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.ReflectPhysical += ReflectPhysicalAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addReflect Physical to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
ReflectPhysicalAdd = ReflectPhysicalToAdd(((BaseQuiver)item).Attributes.ReflectPhysical, ReflectPhysicalAdd, ReflectPhysicalCap, from);
|
||||
if( ReflectPhysicalAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.ReflectPhysical += ReflectPhysicalAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int ReflectPhysicalToAdd(int itemReflectPhysical, int ReflectPhysicalAdd ,int ReflectPhysicalCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemReflectPhysical < ReflectPhysicalCap)
|
||||
{
|
||||
if( (itemReflectPhysical + ReflectPhysicalAdd ) > ReflectPhysicalCap )
|
||||
{
|
||||
ret = ReflectPhysicalAdd - ( (itemReflectPhysical + ReflectPhysicalAdd ) - ReflectPhysicalCap );
|
||||
from.SendMessage("You increase theReflect Physical on the item and it has now reached it's max. +"+ret+"Reflect Physical has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase theReflect Physical on the item. +"+ReflectPhysicalAdd+"Reflect Physical has been added." );
|
||||
ret = ReflectPhysicalAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Reflect Physical." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class ReflectPhysicalIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public ReflectPhysicalIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Reflect Physical Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public ReflectPhysicalIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increaseReflect Physical?" );
|
||||
from.Target = new ReflectPhysicalIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
107
Scripts/Scripts-master/Items/Deeds/RegenHitsDeed.cs
Normal file
107
Scripts/Scripts-master/Items/Deeds/RegenHitsDeed.cs
Normal file
@@ -0,0 +1,107 @@
|
||||
// This Script was Scripted by Espcevan
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RegenHitsTarget : Target
|
||||
{
|
||||
private RegenHitsDeed m_Deed;
|
||||
|
||||
public RegenHitsTarget( RegenHitsDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.RegenHits == 1 ) from.SendMessage( "That already has regen hits!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put regen hits on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.RegenHits = 1;
|
||||
from.SendMessage( "You magically add regen hits to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.RegenHits == 1 ) from.SendMessage( "That already has regen hits!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put regen hits on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.RegenHits = 1;
|
||||
from.SendMessage( "You magically add regen hits to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.RegenHits == 1 ) from.SendMessage( "That already has regen hits!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put regen hits on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.RegenHits = 1;
|
||||
from.SendMessage( "You magically add regen hits to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.RegenHits == 1 ) from.SendMessage( "That already has regen hits!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put regen hits on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.RegenHits = 1;
|
||||
from.SendMessage( "You magically add regen hits to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put regen hits on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class RegenHitsDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public RegenHitsDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Regen Hits deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public RegenHitsDeed(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 ); 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 add regen hits to?" );
|
||||
from.Target = new RegenHitsTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/RegenHitsIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/RegenHitsIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add RegenHits to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RegenHitsIncreaseTarget : Target
|
||||
{
|
||||
private RegenHitsIncreaseDeed m_Deed;
|
||||
|
||||
public RegenHitsIncreaseTarget( RegenHitsIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int RegenHitsAdd = 1; //Amount of Regen Hits to be added
|
||||
int RegenHitsCap = 100; //Limit of Regen Hits that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenHitsAdd = RegenHitsToAdd(((BaseWeapon)item).Attributes.RegenHits, RegenHitsAdd, RegenHitsCap, from);
|
||||
if( RegenHitsAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.RegenHits += RegenHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenHitsAdd = RegenHitsToAdd(((BaseArmor)item).Attributes.RegenHits, RegenHitsAdd, RegenHitsCap, from);
|
||||
if( RegenHitsAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.RegenHits += RegenHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenHitsAdd = RegenHitsToAdd(((BaseClothing)item).Attributes.RegenHits, RegenHitsAdd, RegenHitsCap, from);
|
||||
if( RegenHitsAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.RegenHits += RegenHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenHitsAdd = RegenHitsToAdd(((BaseTalisman)item).Attributes.RegenHits, RegenHitsAdd, RegenHitsCap, from);
|
||||
if( RegenHitsAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.RegenHits += RegenHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenHitsAdd = RegenHitsToAdd(((BaseJewel)item).Attributes.RegenHits, RegenHitsAdd, RegenHitsCap, from);
|
||||
if( RegenHitsAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.RegenHits += RegenHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenHitsAdd = RegenHitsToAdd(((Spellbook)item).Attributes.RegenHits, RegenHitsAdd, RegenHitsCap, from);
|
||||
if( RegenHitsAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.RegenHits += RegenHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Hits to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenHitsAdd = RegenHitsToAdd(((BaseQuiver)item).Attributes.RegenHits, RegenHitsAdd, RegenHitsCap, from);
|
||||
if( RegenHitsAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.RegenHits += RegenHitsAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int RegenHitsToAdd(int itemRegenHits, int RegenHitsAdd ,int RegenHitsCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemRegenHits < RegenHitsCap)
|
||||
{
|
||||
if( (itemRegenHits + RegenHitsAdd ) > RegenHitsCap )
|
||||
{
|
||||
ret = RegenHitsAdd - ( (itemRegenHits + RegenHitsAdd ) - RegenHitsCap );
|
||||
from.SendMessage("You increase theRegen Hits on the item and it has now reached it's max. +"+ret+"Regen Hits has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase theRegen Hits on the item. +"+RegenHitsAdd+"Regen Hits has been added." );
|
||||
ret = RegenHitsAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Regen Hits." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class RegenHitsIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public RegenHitsIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1Regen Hits Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public RegenHitsIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increaseRegen Hits?" );
|
||||
from.Target = new RegenHitsIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
107
Scripts/Scripts-master/Items/Deeds/RegenManaDeed.cs
Normal file
107
Scripts/Scripts-master/Items/Deeds/RegenManaDeed.cs
Normal file
@@ -0,0 +1,107 @@
|
||||
// This Script was Scripted by Espcevan
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RegenManaTarget : Target
|
||||
{
|
||||
private RegenManaDeed m_Deed;
|
||||
|
||||
public RegenManaTarget( RegenManaDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.RegenMana == 1 ) from.SendMessage( "That already has regen mana!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put regen mana on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.RegenMana = 1;
|
||||
from.SendMessage( "You magically add regen mana to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.RegenMana == 1 ) from.SendMessage( "That already has regen mana!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put regen mana on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.RegenMana = 1;
|
||||
from.SendMessage( "You magically add regen mana to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.RegenMana == 1 ) from.SendMessage( "That already has regen mana!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put regen mana on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.RegenMana = 1;
|
||||
from.SendMessage( "You magically add regen mana to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.RegenMana == 1 ) from.SendMessage( "That already has regen mana!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put regen mana on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.RegenMana = 1;
|
||||
from.SendMessage( "You magically add regen mana to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put regen mana on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class RegenManaDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public RegenManaDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Regen Mana deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public RegenManaDeed(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 ); 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 add regen mana to?" );
|
||||
from.Target = new RegenManaTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/RegenManaIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/RegenManaIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add RegenMana to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RegenManaIncreaseTarget : Target
|
||||
{
|
||||
private RegenManaIncreaseDeed m_Deed;
|
||||
|
||||
public RegenManaIncreaseTarget( RegenManaIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int RegenManaAdd = 1; //Amount of Regen Mana to be added
|
||||
int RegenManaCap = 100; //Limit of Regen Mana that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenManaAdd = RegenManaToAdd(((BaseWeapon)item).Attributes.RegenMana, RegenManaAdd, RegenManaCap, from);
|
||||
if( RegenManaAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.RegenMana += RegenManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenManaAdd = RegenManaToAdd(((BaseArmor)item).Attributes.RegenMana, RegenManaAdd, RegenManaCap, from);
|
||||
if( RegenManaAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.RegenMana += RegenManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenManaAdd = RegenManaToAdd(((BaseClothing)item).Attributes.RegenMana, RegenManaAdd, RegenManaCap, from);
|
||||
if( RegenManaAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.RegenMana += RegenManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenManaAdd = RegenManaToAdd(((BaseTalisman)item).Attributes.RegenMana, RegenManaAdd, RegenManaCap, from);
|
||||
if( RegenManaAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.RegenMana += RegenManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenManaAdd = RegenManaToAdd(((BaseJewel)item).Attributes.RegenMana, RegenManaAdd, RegenManaCap, from);
|
||||
if( RegenManaAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.RegenMana += RegenManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenManaAdd = RegenManaToAdd(((Spellbook)item).Attributes.RegenMana, RegenManaAdd, RegenManaCap, from);
|
||||
if( RegenManaAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.RegenMana += RegenManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Mana to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenManaAdd = RegenManaToAdd(((BaseQuiver)item).Attributes.RegenMana, RegenManaAdd, RegenManaCap, from);
|
||||
if( RegenManaAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.RegenMana += RegenManaAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int RegenManaToAdd(int itemRegenMana, int RegenManaAdd ,int RegenManaCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemRegenMana < RegenManaCap)
|
||||
{
|
||||
if( (itemRegenMana + RegenManaAdd ) > RegenManaCap )
|
||||
{
|
||||
ret = RegenManaAdd - ( (itemRegenMana + RegenManaAdd ) - RegenManaCap );
|
||||
from.SendMessage("You increase theRegen Mana on the item and it has now reached it's max. +"+ret+"Regen Mana has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase theRegen Mana on the item. +"+RegenManaAdd+"Regen Mana has been added." );
|
||||
ret = RegenManaAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Regen Mana." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class RegenManaIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public RegenManaIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Regen Mana Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public RegenManaIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increaseRegen Mana?" );
|
||||
from.Target = new RegenManaIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
107
Scripts/Scripts-master/Items/Deeds/RegenStamDeed.cs
Normal file
107
Scripts/Scripts-master/Items/Deeds/RegenStamDeed.cs
Normal file
@@ -0,0 +1,107 @@
|
||||
// This Script was Scripted by Espcevan
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RegenStamTarget : Target
|
||||
{
|
||||
private RegenStamDeed m_Deed;
|
||||
|
||||
public RegenStamTarget( RegenStamDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseWeapon || target is BaseShield || target is BaseJewel || target is BaseArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if (item is BaseWeapon)
|
||||
{
|
||||
if ( ((BaseWeapon)item).Attributes.RegenStam == 1 ) from.SendMessage( "That already has regen stam!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You can not put regen stam on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).Attributes.RegenStam = 1;
|
||||
from.SendMessage( "You magically add regen stam to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseShield)
|
||||
{
|
||||
if ( ((BaseShield)item).Attributes.RegenStam == 1 ) from.SendMessage( "That already has regen stam!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put regen stam on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseShield)item).Attributes.RegenStam = 1;
|
||||
from.SendMessage( "You magically add regen stam to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseArmor)
|
||||
{
|
||||
if ( ((BaseArmor)item).Attributes.RegenStam == 1 ) from.SendMessage( "That already has regen stam!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put regen stam on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).Attributes.RegenStam = 1;
|
||||
from.SendMessage( "You magically add regen stam to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item is BaseJewel)
|
||||
{
|
||||
if ( ((BaseJewel)item).Attributes.RegenStam == 1 ) from.SendMessage( "That already has regen stam!");
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from ) from.SendMessage( "You cannot put regen stam on that there!" );
|
||||
else
|
||||
{
|
||||
((BaseJewel)item).Attributes.RegenStam = 1;
|
||||
from.SendMessage( "You magically add regen stam to your item...." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can not put regen stam on that" );
|
||||
}
|
||||
}
|
||||
|
||||
public class RegenStamDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public RegenStamDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a Regen Stam deed";
|
||||
Hue = 0x492;
|
||||
}
|
||||
|
||||
public RegenStamDeed(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 ); 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 add regen stam to?" );
|
||||
from.Target = new RegenStamTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
229
Scripts/Scripts-master/Items/Deeds/RegenStamIncreaseDeed.cs
Normal file
229
Scripts/Scripts-master/Items/Deeds/RegenStamIncreaseDeed.cs
Normal file
@@ -0,0 +1,229 @@
|
||||
//Add RegenStam to an item
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class RegenStamIncreaseTarget : Target
|
||||
{
|
||||
private RegenStamIncreaseDeed m_Deed;
|
||||
|
||||
public RegenStamIncreaseTarget( RegenStamIncreaseDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
int RegenStamAdd = 1; //Amount of Regen Stam to be added
|
||||
int RegenStamCap = 100; //Limit of Regen Stam that an item can have
|
||||
|
||||
//Change to false if you don't want it to be used on any of these items
|
||||
bool allowWeapon = true;
|
||||
bool allowArmor = false;
|
||||
bool allowJewel = false;
|
||||
bool allowClothing = false;
|
||||
bool allowSpellbook = true;
|
||||
bool allowTalisman = false;
|
||||
bool allowQuiver = false;
|
||||
|
||||
if ( target is BaseWeapon && allowWeapon)
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenStamAdd = RegenStamToAdd(((BaseWeapon)item).Attributes.RegenStam, RegenStamAdd, RegenStamCap, from);
|
||||
if( RegenStamAdd > 0 )
|
||||
{
|
||||
((BaseWeapon)item).Attributes.RegenStam += RegenStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ( target is BaseArmor && allowArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenStamAdd = RegenStamToAdd(((BaseArmor)item).Attributes.RegenStam, RegenStamAdd, RegenStamCap, from);
|
||||
if( RegenStamAdd > 0 )
|
||||
{
|
||||
((BaseArmor)item).Attributes.RegenStam += RegenStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if ( target is BaseClothing && allowClothing )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenStamAdd = RegenStamToAdd(((BaseClothing)item).Attributes.RegenStam, RegenStamAdd, RegenStamCap, from);
|
||||
if( RegenStamAdd > 0 )
|
||||
{
|
||||
((BaseClothing)item).Attributes.RegenStam += RegenStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseTalisman && allowTalisman )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenStamAdd = RegenStamToAdd(((BaseTalisman)item).Attributes.RegenStam, RegenStamAdd, RegenStamCap, from);
|
||||
if( RegenStamAdd > 0 )
|
||||
{
|
||||
((BaseTalisman)item).Attributes.RegenStam += RegenStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseJewel && allowJewel )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenStamAdd = RegenStamToAdd(((BaseJewel)item).Attributes.RegenStam, RegenStamAdd, RegenStamCap, from);
|
||||
if( RegenStamAdd > 0 )
|
||||
{
|
||||
((BaseJewel)item).Attributes.RegenStam += RegenStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is Spellbook && allowSpellbook )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenStamAdd = RegenStamToAdd(((Spellbook)item).Attributes.RegenStam, RegenStamAdd, RegenStamCap, from);
|
||||
if( RegenStamAdd > 0 )
|
||||
{
|
||||
((Spellbook)item).Attributes.RegenStam += RegenStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseQuiver && allowQuiver )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot addRegen Stam to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
RegenStamAdd = RegenStamToAdd(((BaseQuiver)item).Attributes.RegenStam, RegenStamAdd, RegenStamCap, from);
|
||||
if( RegenStamAdd > 0 )
|
||||
{
|
||||
((BaseQuiver)item).Attributes.RegenStam += RegenStamAdd;
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot use this deed on that!" );
|
||||
}
|
||||
}
|
||||
|
||||
public int RegenStamToAdd(int itemRegenStam, int RegenStamAdd ,int RegenStamCap, Mobile from)
|
||||
{
|
||||
int ret = 0;
|
||||
if(itemRegenStam < RegenStamCap)
|
||||
{
|
||||
if( (itemRegenStam + RegenStamAdd ) > RegenStamCap )
|
||||
{
|
||||
ret = RegenStamAdd - ( (itemRegenStam + RegenStamAdd ) - RegenStamCap );
|
||||
from.SendMessage("You increase theRegen Stam on the item and it has now reached it's max. +"+ret+"Regen Stam has been added.");
|
||||
}
|
||||
else{
|
||||
from.SendMessage( "You increase theRegen Stam on the item. +"+RegenStamAdd+"Regen Stam has been added." );
|
||||
ret = RegenStamAdd;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum amount of Regen Stam." );
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class RegenStamIncreaseDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public RegenStamIncreaseDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "+1 Regen Stam Increase Deed";
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public RegenStamIncreaseDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Which item would you like to increaseRegen Stam?" );
|
||||
from.Target = new RegenStamIncreaseTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
33
Scripts/Scripts-master/Items/Deeds/RewardDeeds.cs
Normal file
33
Scripts/Scripts-master/Items/Deeds/RewardDeeds.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class LumyrianRaiderRewardTitleDeed : BaseRewardTitleDeed
|
||||
{
|
||||
public override TextDefinition Title { get { return new TextDefinition("Lumyrian Raider"); } }
|
||||
|
||||
[Constructable]
|
||||
public LumyrianRaiderRewardTitleDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public LumyrianRaiderRewardTitleDeed(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);
|
||||
int v = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
80
Scripts/Scripts-master/Items/Deeds/SeedTypeDeed.cs
Normal file
80
Scripts/Scripts-master/Items/Deeds/SeedTypeDeed.cs
Normal file
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
using Server.Engines.Plants;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class SeedTypeTarget : Target
|
||||
{
|
||||
private SeedTypeBook m_Deed;
|
||||
|
||||
public SeedTypeTarget( SeedTypeBook Deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = Deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is Seed )
|
||||
{
|
||||
Seed seed = (Seed)target;
|
||||
if ( (seed).ShowType == true )
|
||||
{
|
||||
from.SendMessage( "That seed is already discovered!");
|
||||
}
|
||||
else if( seed.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You must have the seed in your backpack!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
(seed).ShowType = true;
|
||||
from.SendMessage( "You successfully discover the seed." );
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
else from.SendMessage( "You can only discover seeds!" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class SeedTypeBook : Item
|
||||
{
|
||||
[Constructable]
|
||||
public SeedTypeBook()
|
||||
: base(0xFBE)
|
||||
{
|
||||
Weight = 0;
|
||||
LootType = LootType.Blessed;
|
||||
Name = "A Seed Discoverey Book";
|
||||
//Hue = 1266;
|
||||
}
|
||||
|
||||
public SeedTypeBook(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 );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !IsChildOf( from.Backpack ) ) from.SendLocalizedMessage( 1042001 );
|
||||
else
|
||||
{
|
||||
from.SendMessage("What seed would you like to discover?" );
|
||||
from.Target = new SeedTypeTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
171
Scripts/Scripts-master/Items/Deeds/SelfRepairDeed.cs
Normal file
171
Scripts/Scripts-master/Items/Deeds/SelfRepairDeed.cs
Normal file
@@ -0,0 +1,171 @@
|
||||
//By: SHAMBAMPOW
|
||||
using System;
|
||||
using Server.Network;
|
||||
using Server.Prompts;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class SelfRepairTarget : Target
|
||||
{
|
||||
private SelfRepairDeed m_Deed;
|
||||
|
||||
public SelfRepairTarget( SelfRepairDeed deed ) : base( 1, false, TargetFlags.None )
|
||||
{
|
||||
m_Deed = deed;
|
||||
}
|
||||
|
||||
protected override void OnTarget( Mobile from, object target )
|
||||
{
|
||||
if ( target is BaseArmor )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
|
||||
|
||||
if ( ((BaseArmor)item).ArmorAttributes.SelfRepair >= 10 )
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum self repair!" );
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add self repair to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
((BaseArmor)item).ArmorAttributes.SelfRepair += 1;
|
||||
|
||||
if( ((BaseArmor)item).ArmorAttributes.SelfRepair >= 10 )
|
||||
{
|
||||
((BaseArmor)item).ArmorAttributes.SelfRepair = 10;
|
||||
from.SendMessage( "You increase the self repair on the item... it has now reached it's max." );
|
||||
}
|
||||
else
|
||||
from.SendMessage( "You increase the self repair on the item..." );
|
||||
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( target is BaseWeapon )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
|
||||
|
||||
if ( ((BaseWeapon)item).WeaponAttributes.SelfRepair >= 10 )
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum self repair!" );
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add self repair to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.SelfRepair += 1;
|
||||
|
||||
if( ((BaseWeapon)item).WeaponAttributes.SelfRepair >= 10 )
|
||||
{
|
||||
((BaseWeapon)item).WeaponAttributes.SelfRepair = 10;
|
||||
from.SendMessage( "You increase the self repair on the item... it has now reached it's max." );
|
||||
}
|
||||
else
|
||||
from.SendMessage( "You increase the self repair on the item..." );
|
||||
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if ( target is BaseHat )
|
||||
{
|
||||
Item item = (Item)target;
|
||||
|
||||
|
||||
if ( ((BaseHat)item).ClothingAttributes.SelfRepair >= 10 )
|
||||
{
|
||||
from.SendMessage( "That item has reached the maximum self repair!" );
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( item.RootParent != from )
|
||||
{
|
||||
from.SendMessage( "You cannot add self repair to that item there!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
((BaseHat)item).ClothingAttributes.SelfRepair += 1;
|
||||
|
||||
if( ((BaseHat)item).ClothingAttributes.SelfRepair >= 10 )
|
||||
{
|
||||
((BaseHat)item).ClothingAttributes.SelfRepair = 10;
|
||||
from.SendMessage( "You increase the self repair on the item... it has now reached it's max." );
|
||||
}
|
||||
else
|
||||
from.SendMessage( "You increase the self repair on the item..." );
|
||||
|
||||
m_Deed.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage( "You cannot put self repair on that!" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class SelfRepairDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public SelfRepairDeed() : base( 0x14F0 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
Name = "Self Repair +1 Deed";
|
||||
LootType = LootType.Blessed;
|
||||
Hue = 1289;
|
||||
}
|
||||
|
||||
public SelfRepairDeed( 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 );
|
||||
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 ); // That must be in your pack for you to use it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("What item would you like to increase the self repair on?" );
|
||||
from.Target = new SelfRepairTarget( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
117
Scripts/Scripts-master/Items/Deeds/SexChangeDeed.cs
Normal file
117
Scripts/Scripts-master/Items/Deeds/SexChangeDeed.cs
Normal file
@@ -0,0 +1,117 @@
|
||||
using Server.Mobiles;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class SexChangeDeed : Item
|
||||
{
|
||||
[Constructable]
|
||||
public SexChangeDeed() : base( 0x14F0 )
|
||||
{
|
||||
Name = "a sex change deed";
|
||||
}
|
||||
|
||||
public SexChangeDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( from == null || from.Deleted || from.Backpack == null )
|
||||
return;
|
||||
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
return;
|
||||
}
|
||||
|
||||
from.SendGump( new SexChangeConfirmGump( from, this ) );
|
||||
}
|
||||
|
||||
protected void Use( Mobile from )
|
||||
{
|
||||
from.SendMessage( "You feel your body proportions change." );
|
||||
|
||||
from.BodyValue = (from.BodyValue == 400 ? 401 : 400 );
|
||||
from.Female = !from.Female;
|
||||
|
||||
if ( from.Female )
|
||||
{
|
||||
if (from.FacialHairItemID > 0)
|
||||
{
|
||||
from.SendMessage( "You feel a sharp pain as your beard is torn off by invisible forces." );
|
||||
from.FacialHairItemID = 0;
|
||||
}
|
||||
}
|
||||
Delete();
|
||||
}
|
||||
|
||||
private class SexChangeConfirmGump : Gump
|
||||
{
|
||||
Mobile m_Mobile;
|
||||
SexChangeDeed m_Deed;
|
||||
public SexChangeConfirmGump( Mobile from, SexChangeDeed deed ) : base( 200, 200 )
|
||||
{
|
||||
m_Deed = deed;
|
||||
m_Mobile = from;
|
||||
//this.Closable=false;
|
||||
//this.Disposable=true;
|
||||
//this.Dragable=true;
|
||||
this.Resizable=false;
|
||||
this.AddPage(0);
|
||||
this.AddBackground(0, 0, 300, 120, 9270);
|
||||
//this.AddAlphaRegion(11, 14, 332, 95);
|
||||
//this.AddItem(297, 38, 4168);
|
||||
this.AddLabel( 28, 15, 255, "Changing sex involves intense magic." );
|
||||
this.AddLabel( 28, 31, 255, "Your facial hair, if any, will dissapear." );
|
||||
this.AddLabel( 28, 47, 255, "Are you sure you want to proceed?" );
|
||||
|
||||
AddButton( 28, 70, 4005, 4007, 1, GumpButtonType.Reply, 0 );
|
||||
AddLabel( 80, 70, 255, "Yes" );
|
||||
|
||||
AddButton( 130, 70, 4005, 4007, 0, GumpButtonType.Reply, 0 );
|
||||
AddLabel( 182, 70, 255, "No" );
|
||||
|
||||
//this.AddItem(12, 38, 4171);
|
||||
}
|
||||
|
||||
public override void OnResponse( NetState state, RelayInfo info )
|
||||
{
|
||||
switch ( info.ButtonID )
|
||||
{
|
||||
case 1: // Yes
|
||||
{
|
||||
if ( m_Mobile == null || m_Mobile.Deleted || m_Mobile.Backpack == null || m_Deed == null || m_Deed.Deleted )
|
||||
return;
|
||||
|
||||
if ( !m_Deed.IsChildOf( m_Mobile.Backpack ) )
|
||||
{
|
||||
m_Mobile.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
|
||||
return;
|
||||
}
|
||||
|
||||
m_Deed.Use( m_Mobile );
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user