diff --git a/Scripts/Mobiles/AI/AI/BaseAI.cs b/Scripts/Mobiles/AI/AI/BaseAI.cs index 5925457a2..4c249c94a 100644 --- a/Scripts/Mobiles/AI/AI/BaseAI.cs +++ b/Scripts/Mobiles/AI/AI/BaseAI.cs @@ -2501,7 +2501,7 @@ namespace Server.Mobiles continue; // Ignore players with activated honor - if ( m is PlayerMobile && ( (PlayerMobile)m ).HonorActive ) + if ( m is PlayerMobile && ( (PlayerMobile)m ).HonorActive && !( m_Mobile.Combatant == m )) continue; if( acqType == FightMode.Aggressor || acqType == FightMode.Evil ) diff --git a/Scripts/Mobiles/AI/Creature/BaseCreature.cs b/Scripts/Mobiles/AI/Creature/BaseCreature.cs index e978dcd60..a61c8da5c 100644 --- a/Scripts/Mobiles/AI/Creature/BaseCreature.cs +++ b/Scripts/Mobiles/AI/Creature/BaseCreature.cs @@ -4989,8 +4989,11 @@ namespace Server.Mobiles { BardProvoked = true; - this.PublicOverheadMessage( MessageType.Emote, EmoteHue, false, "*looks furious*" ); - + if ( !Core.ML ) + { + this.PublicOverheadMessage( MessageType.Emote, EmoteHue, false, "*looks furious*" ); + } + if ( bSuccess ) { PlaySound( GetIdleSound() ); diff --git a/Scripts/Spells/Base/SpellHelper.cs b/Scripts/Spells/Base/SpellHelper.cs index 4833971cc..4fd7e02a3 100644 --- a/Scripts/Spells/Base/SpellHelper.cs +++ b/Scripts/Spells/Base/SpellHelper.cs @@ -958,7 +958,11 @@ namespace Server.Spells WeightOverloading.DFA = dfa; int damageGiven = AOS.Damage( target, from, iDamage, phys, fire, cold, pois, nrgy ); - DoLeech( damageGiven, from, target ); + + if ( from != null ) // sanity check + { + DoLeech( damageGiven, from, target ); + } WeightOverloading.DFA = DFAlgorithm.Standard; } @@ -1077,7 +1081,11 @@ namespace Server.Spells WeightOverloading.DFA = m_DFA; int damageGiven = AOS.Damage( m_Target, m_From, m_Damage, m_Phys, m_Fire, m_Cold, m_Pois, m_Nrgy ); - DoLeech( damageGiven, m_From, m_Target ); + + if ( m_From != null ) // sanity check + { + DoLeech( damageGiven, m_From, m_Target ); + } WeightOverloading.DFA = DFAlgorithm.Standard; diff --git a/Scripts/Spells/Spellweaving/ArcanistSpell.cs b/Scripts/Spells/Spellweaving/ArcanistSpell.cs index 820069bdd..7b5f1860b 100644 --- a/Scripts/Spells/Spellweaving/ArcanistSpell.cs +++ b/Scripts/Spells/Spellweaving/ArcanistSpell.cs @@ -42,6 +42,9 @@ namespace Server.Spells.Spellweaving if( from == null || from.Backpack == null ) return null; + if ( from.Holding is ArcaneFocus ) + return (ArcaneFocus)from.Holding; + return from.Backpack.FindItemByType(); }