diff --git a/Scripts/Engines/Khaldun/PuzzleChest.cs b/Scripts/Engines/Khaldun/PuzzleChest.cs index ed65f9bfb..433a3b6ae 100644 --- a/Scripts/Engines/Khaldun/PuzzleChest.cs +++ b/Scripts/Engines/Khaldun/PuzzleChest.cs @@ -642,7 +642,23 @@ namespace Server.Items DropItem( item ); } - else if ( item is BaseJewel ) + else if( item is BaseHat ) + { + BaseHat hat = (BaseHat)item; + + if( Core.AOS ) + { + int attributeCount; + int min, max; + + GetRandomAOSStats( out attributeCount, out min, out max ); + + BaseRunicTool.ApplyAttributesTo( hat, attributeCount, min, max ); + } + + DropItem( item ); + } + else if( item is BaseJewel ) { int attributeCount; int min, max; @@ -785,4 +801,4 @@ namespace Server.Items int version = reader.ReadEncodedInt(); } } -} \ No newline at end of file +} diff --git a/Scripts/Items/Containers/ParagonChest.cs b/Scripts/Items/Containers/ParagonChest.cs index 54559e98c..b7ddfe120 100644 --- a/Scripts/Items/Containers/ParagonChest.cs +++ b/Scripts/Items/Containers/ParagonChest.cs @@ -153,7 +153,23 @@ namespace Server.Items DropItem( item ); } - else if ( item is BaseJewel ) + else if( item is BaseHat ) + { + BaseHat hat = (BaseHat)item; + + if( Core.AOS ) + { + int attributeCount; + int min, max; + + GetRandomAOSStats( out attributeCount, out min, out max ); + + BaseRunicTool.ApplyAttributesTo( hat, attributeCount, min, max ); + } + + DropItem( item ); + } + else if( item is BaseJewel ) { int attributeCount; int min, max; @@ -204,4 +220,4 @@ namespace Server.Items m_Name = Utility.Intern( reader.ReadString() ); } } -} \ No newline at end of file +} diff --git a/Scripts/Items/Containers/TreasureMapChest.cs b/Scripts/Items/Containers/TreasureMapChest.cs index dc2847780..ba69fe43e 100644 --- a/Scripts/Items/Containers/TreasureMapChest.cs +++ b/Scripts/Items/Containers/TreasureMapChest.cs @@ -190,7 +190,23 @@ namespace Server.Items cont.DropItem( item ); } - else if ( item is BaseJewel ) + else if( item is BaseHat ) + { + BaseHat hat = (BaseHat)item; + + if( Core.AOS ) + { + int attributeCount; + int min, max; + + GetRandomAOSStats( out attributeCount, out min, out max ); + + BaseRunicTool.ApplyAttributesTo( hat, attributeCount, min, max ); + } + + cont.DropItem( item ); + } + else if( item is BaseJewel ) { int attributeCount; int min, max; @@ -505,4 +521,4 @@ namespace Server.Items } } } -} \ No newline at end of file +} diff --git a/Scripts/Mobiles/Special/Serado.cs b/Scripts/Mobiles/Special/Serado.cs index ac5596f46..e872a3a9a 100644 --- a/Scripts/Mobiles/Special/Serado.cs +++ b/Scripts/Mobiles/Special/Serado.cs @@ -104,7 +104,7 @@ namespace Server.Mobiles private void DoCounter( Mobile attacker ) { - if ( this.Map == null && attacker is BaseCreature && ((BaseCreature)attacker).BardProvoked ) + if ( this.Map == null || ( attacker is BaseCreature && ((BaseCreature)attacker).BardProvoked ) ) return; if ( 0.2 > Utility.RandomDouble() )