From 489bbabe9354a725491f4403b551ee1e0fd99126 Mon Sep 17 00:00:00 2001 From: daedalus Date: Fri, 2 Apr 2010 11:55:13 +0000 Subject: [PATCH] - Any creature already aggressive to you before using Embrace Honor, or attacked while under Embrace Honor, will attack you back (http://www.uodemise.com/discussion/showthread.php?t=141415) - Fixed a bug in Spellweaving Arcane Circle spell causing the arcanist to get more than one arcane focus (http://www.uodemise.com/discussion/showthread.php?t=140429) - Added a sanity check in SpellHelper.cs (http://www.uodemise.com/discussion/showthread.php?t=139731) (http://www.runuo.com/forums/showthread.php?p=829126) - Provoked creatures won't return anymore the message *looks furious* (ML change) (http://www.uodemise.com/discussion/showthread.php?t=138228) --- Scripts/Mobiles/AI/AI/BaseAI.cs | 2 +- Scripts/Mobiles/AI/Creature/BaseCreature.cs | 7 +++++-- Scripts/Spells/Base/SpellHelper.cs | 12 ++++++++++-- Scripts/Spells/Spellweaving/ArcanistSpell.cs | 3 +++ 4 files changed, 19 insertions(+), 5 deletions(-) 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(); }