diff --git a/Scripts/Engines/Craft/DefBlacksmithy.cs b/Scripts/Engines/Craft/DefBlacksmithy.cs index da3130e8a..72e4989e1 100644 --- a/Scripts/Engines/Craft/DefBlacksmithy.cs +++ b/Scripts/Engines/Craft/DefBlacksmithy.cs @@ -472,10 +472,10 @@ namespace Server.Engines.Craft SetNeededExpansion( index, Expansion.ML ); // TODO - //index = AddCraft( typeof( ButchersWarCleaver ), 1011081, 1073526, 75.0, 125.0, typeof( IronIngot ), 1044036, 18, 1044037 ); - //AddRes( index, typeof( Turquoise ), 1032691, 1, 1044240 ); - //AddRecipe( index, 17 ); - //SetNeededExpansion( index, Expansion.ML ); + index = AddCraft( typeof( ButchersWarCleaver ), 1011081, 1073526, 75.0, 125.0, typeof( IronIngot ), 1044036, 18, 1044037 ); + AddRes( index, typeof( Turquoise ), 1032691, 1, 1044240 ); + AddRecipe( index, 17 ); + SetNeededExpansion( index, Expansion.ML ); index = AddCraft( typeof( SerratedWarCleaver ), 1011081, 1073527, 75.0, 125.0, typeof( IronIngot ), 1044036, 18, 1044037 ); AddRes( index, typeof( EcruCitrine ), 1032693, 1, 1044240 ); @@ -508,10 +508,10 @@ namespace Server.Engines.Craft SetNeededExpansion( index, Expansion.ML ); // TODO - //index = AddCraft( typeof( RuneSabre ), 1011081, 1073537, 75.0, 125.0, typeof( IronIngot ), 1044036, 15, 1044037 ); - //AddRes( index, typeof( Turquoise ), 1032691, 1, 1044240 ); - //AddRecipe( index, 24 ); - //SetNeededExpansion( index, Expansion.ML ); + index = AddCraft( typeof( Runesabre ), 1011081, 1073537, 75.0, 125.0, typeof( IronIngot ), 1044036, 15, 1044037 ); + AddRes( index, typeof( Turquoise ), 1032691, 1, 1044240 ); + AddRecipe( index, 24 ); + SetNeededExpansion( index, Expansion.ML ); index = AddCraft( typeof( MagesRuneBlade ), 1011081, 1073538, 75.0, 125.0, typeof( IronIngot ), 1044036, 15, 1044037 ); AddRes( index, typeof( BlueDiamond ), 1032696, 1, 1044240 ); diff --git a/Scripts/Engines/Craft/DefCarpentry.cs b/Scripts/Engines/Craft/DefCarpentry.cs index 7f307111a..4fdeef9b9 100644 --- a/Scripts/Engines/Craft/DefCarpentry.cs +++ b/Scripts/Engines/Craft/DefCarpentry.cs @@ -157,7 +157,7 @@ namespace Server.Engines.Craft index = AddCraft( typeof( AcidProofRope ), 1044294, 1074886, 80, 130.0, typeof( GreaterStrengthPotion ), 1073466, 2, 1044253 ); AddRes( index, typeof( ProtectionScroll ), 1044395, 1, 1053098 ); AddRes( index, typeof( SwitchItem ), 1032127, 1, 1053098 ); - AddRecipe( index, 304 ); + AddRareRecipe( index, 304 ); ForceNonExceptional( index ); SetNeededExpansion( index, Expansion.ML ); } diff --git a/Scripts/Items/Weapons/BaseWeapon.cs b/Scripts/Items/Weapons/BaseWeapon.cs index 2404e9fc3..5f11ce2b1 100644 --- a/Scripts/Items/Weapons/BaseWeapon.cs +++ b/Scripts/Items/Weapons/BaseWeapon.cs @@ -1947,6 +1947,9 @@ namespace Server.Items SlayerEntry atkSlayer = SlayerGroup.GetEntryByName( atkWeapon.Slayer ); SlayerEntry atkSlayer2 = SlayerGroup.GetEntryByName( atkWeapon.Slayer2 ); + if( atkWeapon is ButchersWarCleaver && TalismanSlayer.Slays( TalismanSlayerName.Bovine, defender ) ) + return CheckSlayerResult.Slayer; + if ( atkSlayer != null && atkSlayer.Slays( defender ) || atkSlayer2 != null && atkSlayer2.Slays( defender ) ) return CheckSlayerResult.Slayer; diff --git a/Scripts/Items/Weapons/ML Weapons/ButchersWarCleaver.cs b/Scripts/Items/Weapons/ML Weapons/ButchersWarCleaver.cs new file mode 100644 index 000000000..140df65f6 --- /dev/null +++ b/Scripts/Items/Weapons/ML Weapons/ButchersWarCleaver.cs @@ -0,0 +1,40 @@ +using System; +using Server.Items; + +namespace Server.Items +{ + public class ButchersWarCleaver : WarCleaver + { + public override int LabelNumber{ get{ return 1073526; } } // butcher's war cleaver + + [Constructable] + public ButchersWarCleaver() : base() + { + } + + public ButchersWarCleaver( Serial serial ) : base( serial ) + { + } + + public override void AppendChildNameProperties( ObjectPropertyList list ) + { + base.AppendChildNameProperties( list ); + + list.Add( 1072512 ); // Bovine Slayer + } + + public override void Serialize( GenericWriter writer ) + { + base.Serialize( writer ); + + writer.WriteEncodedInt( 0 ); // version + } + + public override void Deserialize( GenericReader reader ) + { + base.Deserialize( reader ); + + int version = reader.ReadEncodedInt(); + } + } +} \ No newline at end of file diff --git a/Scripts/Regions/BaseRegion.cs b/Scripts/Regions/BaseRegion.cs index cb1ce9ba7..3bd6ae406 100644 --- a/Scripts/Regions/BaseRegion.cs +++ b/Scripts/Regions/BaseRegion.cs @@ -7,7 +7,6 @@ using Server.Items; using Server.Mobiles; using Server.Gumps; - namespace Server.Regions { public enum SpawnZLevel @@ -20,6 +19,11 @@ namespace Server.Regions public class BaseRegion : Region { public virtual bool YoungProtected { get { return true; } } + public virtual bool YoungMayEnter { get { return true; } } + public virtual bool MountsAllowed { get { return true; } } + public virtual bool DeadMayEnter { get { return true; } } + public virtual bool ResurrectionAllowed { get { return true; } } + public virtual bool LogoutAllowed { get { return true; } } public static void Configure() {