diff --git a/Projects/Server/Regions/Region.cs b/Projects/Server/Regions/Region.cs index ddb1718a3..e36c509b1 100644 --- a/Projects/Server/Regions/Region.cs +++ b/Projects/Server/Regions/Region.cs @@ -758,33 +758,33 @@ public class Region : IComparable Parent?.OnSpeech(args); } - public virtual bool OnSkillUse(Mobile m, int skill) => Parent?.OnSkillUse(m, skill) != false; + public virtual bool OnSkillUse(Mobile m, int skill) => Parent?.OnSkillUse(m, skill) ?? true; - public virtual bool OnBeginSpellCast(Mobile m, ISpell s) => Parent?.OnBeginSpellCast(m, s) != false; + public virtual bool OnBeginSpellCast(Mobile m, ISpell s) => Parent?.OnBeginSpellCast(m, s) ?? true; public virtual void OnSpellCast(Mobile m, ISpell s) { Parent?.OnSpellCast(m, s); } - public virtual bool OnResurrect(Mobile m) => Parent?.OnResurrect(m) != false; + public virtual bool OnResurrect(Mobile m) => Parent?.OnResurrect(m) ?? true; - public virtual bool OnBeforeDeath(Mobile m) => Parent?.OnBeforeDeath(m) != false; + public virtual bool OnBeforeDeath(Mobile m) => Parent?.OnBeforeDeath(m) ?? true; public virtual void OnDeath(Mobile m) { Parent?.OnDeath(m); } - public virtual bool OnDamage(Mobile m, ref int damage) => Parent?.OnDamage(m, ref damage) != false; + public virtual bool OnDamage(Mobile m, ref int damage) => Parent?.OnDamage(m, ref damage) ?? true; - public virtual bool OnHeal(Mobile m, ref int heal) => Parent?.OnHeal(m, ref heal) != false; + public virtual bool OnHeal(Mobile m, ref int heal) => Parent?.OnHeal(m, ref heal) ?? true; - public virtual bool OnDoubleClick(Mobile m, object o) => Parent?.OnDoubleClick(m, o) != false; + public virtual bool OnDoubleClick(Mobile m, object o) => Parent?.OnDoubleClick(m, o) ?? true; - public virtual bool OnSingleClick(Mobile m, object o) => Parent?.OnSingleClick(m, o) != false; + public virtual bool OnSingleClick(Mobile m, object o) => Parent?.OnSingleClick(m, o) ?? true; - public virtual bool AllowSpawn() => Parent?.AllowSpawn() != false; + public virtual bool AllowSpawn() => Parent?.AllowSpawn() ?? true; public virtual void AlterLightLevel(Mobile m, ref int global, ref int personal) { diff --git a/Projects/UOContent/Spells/Base/SpellHelper.cs b/Projects/UOContent/Spells/Base/SpellHelper.cs index 95e22b9e3..0d16ac311 100644 --- a/Projects/UOContent/Spells/Base/SpellHelper.cs +++ b/Projects/UOContent/Spells/Base/SpellHelper.cs @@ -660,7 +660,6 @@ namespace Server.Spells m_TravelType = type; var v = (int)type; - var isValid = true; if (caster != null) { @@ -669,16 +668,21 @@ namespace Server.Spells if (destination?.CheckTravel(caster, loc, type, out message) == false || current?.CheckTravel(caster, loc, type, out message) == false) { - isValid = false; + return false; } } - for (var i = 0; isValid && i < m_Validators.Length; ++i) + for (var i = 0; i < m_Validators.Length; ++i) { - isValid = m_Rules[v, i] || !m_Validators[i](map, loc); + var isValid = m_Rules[v, i] || !m_Validators[i](map, loc); + if (!isValid) + { + message = InvalidTravelMessage(type); + return false; + } } - return !isValid; + return true; } public static bool IsWindLoc(Point3D loc) diff --git a/Projects/UOContent/Spells/Ninjitsu/ShadowJump.cs b/Projects/UOContent/Spells/Ninjitsu/ShadowJump.cs index 6e0cdb770..f28d9cd87 100644 --- a/Projects/UOContent/Spells/Ninjitsu/ShadowJump.cs +++ b/Projects/UOContent/Spells/Ninjitsu/ShadowJump.cs @@ -90,7 +90,7 @@ namespace Server.Spells.Ninjitsu m.PlaySound(0x512); - Stealth.OnUse(m); // stealth check after the a jump + Stealth.OnUse(m); // stealth check after the shadow jump } FinishSequence();