From d94dced4362e723fc734f92bdd3b5ac114a484fd Mon Sep 17 00:00:00 2001 From: mark Date: Sun, 26 Jul 2009 05:57:43 +0000 Subject: [PATCH] --- Scripts/Engines/AI/Creature/BaseCreature.cs | 7 ++++++- Scripts/Engines/Craft/Core/CraftGump.cs | 2 +- .../Engines/Treasures of Tokuno/GreaterArtifacts.cs | 2 ++ Scripts/Items/Misc/ArcaneGem.cs | 8 ++++++-- Scripts/Mobiles/Animals/Mounts/LesserHiryu.cs | 11 +++++++++-- Scripts/Mobiles/Animals/Mounts/SwampDragon.cs | 5 +++++ Scripts/Mobiles/Monsters/Reptile/Magic/WhiteWyrm.cs | 2 +- Scripts/Mobiles/Monsters/SE/FireBeetle.cs | 5 +++++ Scripts/Mobiles/PlayerMobile.cs | 7 ++++--- Scripts/Spells/Sixth/Invisibility.cs | 8 ++++---- 10 files changed, 43 insertions(+), 14 deletions(-) diff --git a/Scripts/Engines/AI/Creature/BaseCreature.cs b/Scripts/Engines/AI/Creature/BaseCreature.cs index e41974b95..3a6d3d96b 100644 --- a/Scripts/Engines/AI/Creature/BaseCreature.cs +++ b/Scripts/Engines/AI/Creature/BaseCreature.cs @@ -1922,7 +1922,7 @@ namespace Server.Mobiles if ( master != null && master == from ) //So friends can't start the bonding process { - if ( m_dMinTameSkill <= 29.1 || master.Skills[SkillName.AnimalTaming].Base >= m_dMinTameSkill || ( this is LesserHiryu && master.Skills[SkillName.Bushido].Base >= 90.0 ) ) + if ( m_dMinTameSkill <= 29.1 || master.Skills[SkillName.AnimalTaming].Base >= m_dMinTameSkill || OverrideBondingReqs() ) { if ( BondingBegin == DateTime.MinValue ) { @@ -1953,6 +1953,11 @@ namespace Server.Mobiles #endregion + public virtual bool OverrideBondingReqs() + { + return false; + } + public virtual bool CanAngerOnTame{ get{ return false; } } #region OnAction[...] diff --git a/Scripts/Engines/Craft/Core/CraftGump.cs b/Scripts/Engines/Craft/Core/CraftGump.cs index b039f48bf..3a14417d2 100644 --- a/Scripts/Engines/Craft/Core/CraftGump.cs +++ b/Scripts/Engines/Craft/Core/CraftGump.cs @@ -155,7 +155,7 @@ namespace Server.Engines.Craft int resIndex = ( context == null ? -1 : context.LastResourceIndex2 ); - Type resourceType = craftSystem.CraftSubRes.ResType; + Type resourceType = craftSystem.CraftSubRes2.ResType; if ( resIndex > -1 ) { diff --git a/Scripts/Engines/Treasures of Tokuno/GreaterArtifacts.cs b/Scripts/Engines/Treasures of Tokuno/GreaterArtifacts.cs index 27ef5b28b..a6f3df884 100644 --- a/Scripts/Engines/Treasures of Tokuno/GreaterArtifacts.cs +++ b/Scripts/Engines/Treasures of Tokuno/GreaterArtifacts.cs @@ -522,6 +522,8 @@ namespace Server.Items if( --pigment.UsesRemaining <= 0 ) pigment.Delete(); + + from.PlaySound(0x23E); // As per OSI TC1 } } diff --git a/Scripts/Items/Misc/ArcaneGem.cs b/Scripts/Items/Misc/ArcaneGem.cs index 58fcbd61f..a98a454ca 100644 --- a/Scripts/Items/Misc/ArcaneGem.cs +++ b/Scripts/Items/Misc/ArcaneGem.cs @@ -89,7 +89,9 @@ namespace Server.Items eq.CurArcaneCharges += charges; from.SendMessage( "You recharge the item." ); - Delete(); + if ( Amount <= 1 ) + Delete(); + else Amount--; } } else if ( from.Skills[SkillName.Tailoring].Value >= 80.0 ) @@ -117,7 +119,9 @@ namespace Server.Items item.Hue = DefaultArcaneHue; from.SendMessage( "You enhance the item with your gem." ); - Delete(); + if ( Amount <= 1 ) + Delete(); + else Amount--; } else { diff --git a/Scripts/Mobiles/Animals/Mounts/LesserHiryu.cs b/Scripts/Mobiles/Animals/Mounts/LesserHiryu.cs index a2b5e854b..edc271f21 100644 --- a/Scripts/Mobiles/Animals/Mounts/LesserHiryu.cs +++ b/Scripts/Mobiles/Animals/Mounts/LesserHiryu.cs @@ -73,8 +73,8 @@ namespace Server.Mobiles SetSkill( SkillName.Tactics, 100.1, 110.0 ); SetSkill( SkillName.Wrestling, 100.1, 120.0 ); - Fame = 18000; - Karma = -18000; + Fame = 10000; + Karma = 10000; Tamable = true; ControlSlots = 3; @@ -85,6 +85,13 @@ namespace Server.Mobiles } + public override bool OverrideBondingReqs() + { + if ( ControlMaster.Skills[SkillName.Bushido].Base >= 90.0 ) + return true; + return false; + } + public override int GetAngerSound() { return 0x4FE; diff --git a/Scripts/Mobiles/Animals/Mounts/SwampDragon.cs b/Scripts/Mobiles/Animals/Mounts/SwampDragon.cs index 1e8ca1839..118d9efde 100644 --- a/Scripts/Mobiles/Animals/Mounts/SwampDragon.cs +++ b/Scripts/Mobiles/Animals/Mounts/SwampDragon.cs @@ -122,6 +122,11 @@ namespace Server.Mobiles MinTameSkill = 93.9; } + public override bool OverrideBondingReqs() + { + return true; + } + public override int GetIdleSound() { return 0x2CE; diff --git a/Scripts/Mobiles/Monsters/Reptile/Magic/WhiteWyrm.cs b/Scripts/Mobiles/Monsters/Reptile/Magic/WhiteWyrm.cs index cf26295d2..304d39031 100644 --- a/Scripts/Mobiles/Monsters/Reptile/Magic/WhiteWyrm.cs +++ b/Scripts/Mobiles/Monsters/Reptile/Magic/WhiteWyrm.cs @@ -10,7 +10,7 @@ namespace Server.Mobiles [Constructable] public WhiteWyrm () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { - Body = Core.AOS ? 180 : 49; + Body = (Utility.Random(1,2)==1) ? 180 : 49; Name = "a white wyrm"; BaseSoundID = 362; diff --git a/Scripts/Mobiles/Monsters/SE/FireBeetle.cs b/Scripts/Mobiles/Monsters/SE/FireBeetle.cs index 1a55f6304..63bc77643 100644 --- a/Scripts/Mobiles/Monsters/SE/FireBeetle.cs +++ b/Scripts/Mobiles/Monsters/SE/FireBeetle.cs @@ -48,6 +48,11 @@ namespace Server.Mobiles Hue = 0x489; } + public override bool OverrideBondingReqs() + { + return true; + } + public override int GetAngerSound() { return 0x21D; diff --git a/Scripts/Mobiles/PlayerMobile.cs b/Scripts/Mobiles/PlayerMobile.cs index 5d4109b89..4d690dc44 100644 --- a/Scripts/Mobiles/PlayerMobile.cs +++ b/Scripts/Mobiles/PlayerMobile.cs @@ -1800,8 +1800,9 @@ namespace Server.Mobiles if ( this.Alive && !wasAlive ) { Item deathRobe = new DeathRobe(); - - if ( !EquipItem( deathRobe ) ) + if ( !this.Backpack.CheckHold( this, deathRobe, false, true ) ) + deathRobe.Delete(); + else if ( !EquipItem( deathRobe ) ) deathRobe.Delete(); } } @@ -3937,7 +3938,7 @@ namespace Server.Mobiles { BaseCreature pet = AllFollowers[i] as BaseCreature; - if ( pet == null || pet.ControlMaster == null || ( pet.Summoned && !Core.ML ) ) + if ( pet == null || pet.ControlMaster == null || pet.Summoned ) continue; if ( pet is IMount && ((IMount)pet).Rider != null ) diff --git a/Scripts/Spells/Sixth/Invisibility.cs b/Scripts/Spells/Sixth/Invisibility.cs index 8d1a51fff..1f50dea6a 100644 --- a/Scripts/Spells/Sixth/Invisibility.cs +++ b/Scripts/Spells/Sixth/Invisibility.cs @@ -46,15 +46,15 @@ namespace Server.Spells.Sixth m.Hidden = true; - BuffInfo.RemoveBuff( m, BuffIcon.HidingAndOrStealth ); - BuffInfo.AddBuff( m, new BuffInfo( BuffIcon.Invisibility, 1075825 ) ); //Invisibility/Invisible - RemoveTimer( m ); - TimeSpan duration = TimeSpan.FromSeconds( ((6 * Caster.Skills.Magery.Fixed) / 50) + 1 ); + TimeSpan duration = TimeSpan.FromSeconds( (( 1.2 * Caster.Skills.Magery.Fixed) / 10 )); Timer t = new InternalTimer( m, duration ); + BuffInfo.RemoveBuff( m, BuffIcon.HidingAndOrStealth ); + BuffInfo.AddBuff( m, new BuffInfo( BuffIcon.Invisibility, 1075825, duration, m ) ); //Invisibility/Invisible + m_Table[m] = t; t.Start();