This commit is contained in:
mark 2009-07-19 05:13:25 +00:00
parent cc7814db35
commit bcdee05c6c
83 changed files with 268 additions and 146 deletions

View file

@ -582,7 +582,7 @@ namespace Server.Mobiles
} }
} }
if ( m_Mobile.Spell == null && DateTime.Now > m_NextCastTime && m_Mobile.InRange( c, 12 ) ) if ( m_Mobile.Spell == null && DateTime.Now > m_NextCastTime && m_Mobile.InRange( c, Core.ML ? 10 : 12 ) )
{ {
// We are ready to cast a spell // We are ready to cast a spell
@ -621,7 +621,7 @@ namespace Server.Mobiles
{ {
if ( m_Mobile.InRange( toDispel, 10 ) ) if ( m_Mobile.InRange( toDispel, 10 ) )
RunFrom( toDispel ); RunFrom( toDispel );
else if ( !m_Mobile.InRange( toDispel, 12 ) ) else if ( !m_Mobile.InRange( toDispel, Core.ML ? 10 : 12 ) )
RunTo( toDispel ); RunTo( toDispel );
} }
else else
@ -722,7 +722,7 @@ namespace Server.Mobiles
Mobile comb = m_Mobile.Combatant; Mobile comb = m_Mobile.Combatant;
if ( comb != null && !comb.Deleted && comb.Alive && !comb.IsDeadBondedPet && m_Mobile.InRange( comb, 12 ) && CanDispel( comb ) ) if ( comb != null && !comb.Deleted && comb.Alive && !comb.IsDeadBondedPet && m_Mobile.InRange( comb, Core.ML ? 10 : 12 ) && CanDispel( comb ) )
{ {
active = comb; active = comb;
activePrio = m_Mobile.GetDistanceToSqrt( comb ); activePrio = m_Mobile.GetDistanceToSqrt( comb );
@ -736,7 +736,7 @@ namespace Server.Mobiles
AggressorInfo info = aggressed[i]; AggressorInfo info = aggressed[i];
Mobile m = info.Defender; Mobile m = info.Defender;
if ( m != comb && m.Combatant == m_Mobile && m_Mobile.InRange( m, 12 ) && CanDispel( m ) ) if ( m != comb && m.Combatant == m_Mobile && m_Mobile.InRange( m, Core.ML ? 10 : 12 ) && CanDispel( m ) )
{ {
double prio = m_Mobile.GetDistanceToSqrt( m ); double prio = m_Mobile.GetDistanceToSqrt( m );
@ -756,7 +756,7 @@ namespace Server.Mobiles
AggressorInfo info = aggressors[i]; AggressorInfo info = aggressors[i];
Mobile m = info.Attacker; Mobile m = info.Attacker;
if ( m != comb && m.Combatant == m_Mobile && m_Mobile.InRange( m, 12 ) && CanDispel( m ) ) if ( m != comb && m.Combatant == m_Mobile && m_Mobile.InRange( m, Core.ML ? 10 : 12 ) && CanDispel( m ) )
{ {
double prio = m_Mobile.GetDistanceToSqrt( m ); double prio = m_Mobile.GetDistanceToSqrt( m );
@ -790,7 +790,7 @@ namespace Server.Mobiles
actPrio = inactPrio = m_Mobile.GetDistanceToSqrt( comb ); actPrio = inactPrio = m_Mobile.GetDistanceToSqrt( comb );
} }
foreach ( Mobile m in m_Mobile.GetMobilesInRange( 12 ) ) foreach ( Mobile m in m_Mobile.GetMobilesInRange( Core.ML ? 10 : 12 ) )
{ {
if ( m != m_Mobile && CanDispel( m ) ) if ( m != m_Mobile && CanDispel( m ) )
{ {
@ -964,7 +964,7 @@ namespace Server.Mobiles
int teleRange = targ.Range; int teleRange = targ.Range;
if ( teleRange < 0 ) if ( teleRange < 0 )
teleRange = 12; teleRange = Core.ML ? 11 : 12;
for ( int i = 0; i < 10; ++i ) for ( int i = 0; i < 10; ++i )
{ {

View file

@ -242,8 +242,6 @@ namespace Server.Mobiles
private bool m_IsPrisoner; private bool m_IsPrisoner;
private Timer m_GhostDeletionTimer;
#endregion #endregion
public virtual InhumanSpeech SpeechType{ get{ return null; } } public virtual InhumanSpeech SpeechType{ get{ return null; } }
@ -251,11 +249,7 @@ namespace Server.Mobiles
public bool IsStabled public bool IsStabled
{ {
get{ return m_IsStabled; } get{ return m_IsStabled; }
set set{ m_IsStabled = value; }
{
m_IsStabled = value;
SetGhostDeletionTimer( !m_IsStabled );
}
} }
[CommandProperty( AccessLevel.GameMaster )] [CommandProperty( AccessLevel.GameMaster )]
@ -1732,8 +1726,6 @@ namespace Server.Mobiles
if ( IsAnimatedDead ) if ( IsAnimatedDead )
Spells.Necromancy.AnimateDeadSpell.Register( m_SummonMaster, this ); Spells.Necromancy.AnimateDeadSpell.Register( m_SummonMaster, this );
SetGhostDeletionTimer( true );
} }
public virtual bool IsHumanInTown() public virtual bool IsHumanInTown()
@ -1930,7 +1922,7 @@ namespace Server.Mobiles
if ( master != null && master == from ) //So friends can't start the bonding process 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 || GetControlChance( master, true ) >= 1.0 ) if ( m_dMinTameSkill <= 29.1 || master.Skills[SkillName.AnimalTaming].Base >= m_dMinTameSkill || ( this is LesserHiryu && master.Skills[SkillName.Bushido].Base >= 90.0 ) )
{ {
if ( BondingBegin == DateTime.MinValue ) if ( BondingBegin == DateTime.MinValue )
{ {
@ -4260,8 +4252,6 @@ namespace Server.Mobiles
GiftOfLifeSpell.HandleDeath( this ); GiftOfLifeSpell.HandleDeath( this );
CheckStatTimers(); CheckStatTimers();
SetGhostDeletionTimer( true );
} }
else else
{ {
@ -4881,26 +4871,8 @@ namespace Server.Mobiles
} }
CheckStatTimers(); CheckStatTimers();
SetGhostDeletionTimer( false );
} }
private void SetGhostDeletionTimer( bool running )
{
if( running && ( !IsDeadBondedPet || !Core.ML ) )
return;
if( m_GhostDeletionTimer != null )
m_GhostDeletionTimer.Stop();
if( !running )
return;
m_GhostDeletionTimer = new GhostDeletionTimer( this, TimeSpan.FromMinutes( 120 + Utility.Random( 120 ) ) );
m_GhostDeletionTimer.Start();
}
public override bool CanBeDamaged() public override bool CanBeDamaged()
{ {
if ( IsDeadPet ) if ( IsDeadPet )
@ -4937,26 +4909,6 @@ namespace Server.Mobiles
[CommandProperty( AccessLevel.GameMaster )] [CommandProperty( AccessLevel.GameMaster )]
public int RemoveStep { get { return m_RemoveStep; } set { m_RemoveStep = value; } } public int RemoveStep { get { return m_RemoveStep; } set { m_RemoveStep = value; } }
private class GhostDeletionTimer : Timer
{
private BaseCreature m_Creature;
public GhostDeletionTimer( BaseCreature Creature, TimeSpan delay ) : base( delay )
{
Priority = TimerPriority.FiveSeconds;
m_Creature = Creature;
}
protected override void OnTick()
{
if( Core.ML && m_Creature.IsDeadBondedPet )
{
m_Creature.Delete();
}
Stop();
}
}
} }
public class LoyaltyTimer : Timer public class LoyaltyTimer : Timer

View file

@ -45,7 +45,7 @@ namespace Server.Engines.BulkOrders
case 6: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.Lady ); break; case 6: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.Lady ); break;
case 7: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.MaleLeatherSet ); useMaterials = true; break; case 7: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.MaleLeatherSet ); useMaterials = true; break;
case 8: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.Pirate ); break; case 8: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.Pirate ); break;
case 9: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.ShoeSet ); break; case 9: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.ShoeSet ); useMaterials = Core.ML; break;
case 10: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.StuddedSet ); useMaterials = true; break; case 10: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.StuddedSet ); useMaterials = true; break;
case 11: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.TownCrier ); break; case 11: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.TownCrier ); break;
case 12: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.Wizard ); break; case 12: entries = LargeBulkEntry.ConvertEntries( this, LargeBulkEntry.Wizard ); break;

View file

@ -913,7 +913,7 @@ namespace Server.Items
return true; return true;
} }
public bool Scissor( Mobile from, Scissors scissors ) public virtual bool Scissor( Mobile from, Scissors scissors )
{ {
if ( !IsChildOf( from.Backpack ) ) if ( !IsChildOf( from.Backpack ) )
{ {

View file

@ -510,6 +510,44 @@ namespace Server.Items
} }
} }
public class MonkRobe : BaseOuterTorso
{
[Constructable]
public MonkRobe() : this( 0x21E )
{
}
[Constructable]
public MonkRobe( int hue ) : base( 0x2687, hue )
{
Weight = 1.0;
StrRequirement = 0;
}
public override int LabelNumber{ get{ return 1076584; } } // A monk's robe
public override bool CanBeBlessed { get { return false; } }
public override bool Dye( Mobile from, DyeTub sender )
{
from.SendLocalizedMessage( sender.FailMessage );
return false;
}
public MonkRobe( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x2684, 0x2683 )] [Flipable( 0x2684, 0x2683 )]
public class HoodedShroudOfShadows : BaseOuterTorso public class HoodedShroudOfShadows : BaseOuterTorso
{ {
@ -725,7 +763,6 @@ namespace Server.Items
[Flipable( 0x2FB9, 0x3173 )] [Flipable( 0x2FB9, 0x3173 )]
public class MaleElvenRobe : BaseOuterTorso public class MaleElvenRobe : BaseOuterTorso
{ {
// TODO: Supports arcane?
public override Race RequiredRace { get { return Race.Elf; } } public override Race RequiredRace { get { return Race.Elf; } }
[Constructable] [Constructable]
@ -739,8 +776,6 @@ namespace Server.Items
Weight = 2.0; Weight = 2.0;
} }
public override bool AllowFemaleWearer{ get{ return false; } }
public MaleElvenRobe( Serial serial ) : base( serial ) public MaleElvenRobe( Serial serial ) : base( serial )
{ {
} }
@ -763,7 +798,6 @@ namespace Server.Items
[Flipable( 0x2FBA, 0x3174 )] [Flipable( 0x2FBA, 0x3174 )]
public class FemaleElvenRobe : BaseOuterTorso public class FemaleElvenRobe : BaseOuterTorso
{ {
// TODO: Supports arcane?
public override Race RequiredRace { get { return Race.Elf; } } public override Race RequiredRace { get { return Race.Elf; } }
[Constructable] [Constructable]
public FemaleElvenRobe() : this( 0 ) public FemaleElvenRobe() : this( 0 )

View file

@ -16,6 +16,15 @@ namespace Server.Items
{ {
} }
public override bool Scissor( Mobile from, Scissors scissors )
{
if( DefaultResource == CraftResource.None )
return base.Scissor( from, scissors );
from.SendLocalizedMessage( 502440 ); // Scissors can not be used on that to produce anything.
return false;
}
public override void Serialize( GenericWriter writer ) public override void Serialize( GenericWriter writer )
{ {
base.Serialize( writer ); base.Serialize( writer );
@ -293,7 +302,6 @@ namespace Server.Items
public override bool Dye( Mobile from, DyeTub sender ) public override bool Dye( Mobile from, DyeTub sender )
{ {
from.SendLocalizedMessage( sender.FailMessage );
return false; return false;
} }
@ -433,6 +441,11 @@ namespace Server.Items
{ {
} }
public override bool Dye( Mobile from, DyeTub sender )
{
return false;
}
public override void Serialize( GenericWriter writer ) public override void Serialize( GenericWriter writer )
{ {
base.Serialize( writer ); base.Serialize( writer );

View file

@ -118,6 +118,18 @@ namespace Server.Items
{ {
} }
public override bool Dye( Mobile from, DyeTub sender )
{
from.SendLocalizedMessage( sender.FailMessage );
return false;
}
public override bool Scissor( Mobile from, Scissors scissors )
{
from.SendLocalizedMessage( 502440 ); // Scissors can not be used on that to produce anything.
return false;
}
public override void Serialize( GenericWriter writer ) public override void Serialize( GenericWriter writer )
{ {
base.Serialize( writer ); base.Serialize( writer );

View file

@ -222,7 +222,7 @@ namespace Server.Items
from.PlaySound( 0x23E ); from.PlaySound( 0x23E );
} }
} }
else if ( (item is BaseArmor && (((BaseArmor)item).MaterialType == ArmorMaterialType.Leather || ((BaseArmor)item).MaterialType == ArmorMaterialType.Studded)) && m_Tub.AllowLeather ) else if ( (item is BaseArmor && (((BaseArmor)item).MaterialType == ArmorMaterialType.Leather || ((BaseArmor)item).MaterialType == ArmorMaterialType.Studded) || item is ElvenBoots) && m_Tub.AllowLeather )
{ {
if ( !from.InRange( m_Tub.GetWorldLocation(), 1 ) || !from.InRange( item.GetWorldLocation(), 1 ) ) if ( !from.InRange( m_Tub.GetWorldLocation(), 1 ) || !from.InRange( item.GetWorldLocation(), 1 ) )
{ {

View file

@ -477,6 +477,8 @@ namespace Server.Items
m_Props.Set( 3, true ); // remove mage armor from possible properties m_Props.Set( 3, true ); // remove mage armor from possible properties
if ( armor.Resource >= CraftResource.RegularLeather && armor.Resource <= CraftResource.BarbedLeather ) if ( armor.Resource >= CraftResource.RegularLeather && armor.Resource <= CraftResource.BarbedLeather )
m_Props.Set( 0, true ); // remove lower requirements from possible properties for leather armor m_Props.Set( 0, true ); // remove lower requirements from possible properties for leather armor
if ( armor.RequiredRace == Race.Elf )
m_Props.Set( 7, true ); // elves inherently have night sight and elf only armor doesn't get night sight as a mod
for ( int i = 0; i < attributeCount; ++i ) for ( int i = 0; i < attributeCount; ++i )
{ {

View file

@ -15,8 +15,8 @@ namespace Server.Items
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MortalStrike; } } public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MortalStrike; } }
public override int AosStrengthReq{ get{ return 30; } } public override int AosStrengthReq{ get{ return 30; } }
public override int AosMinDamage{ get{ return 16; } } public override int AosMinDamage{ get{ return Core.ML ? 15 : 16; } }
public override int AosMaxDamage{ get{ return 18; } } public override int AosMaxDamage{ get{ return Core.ML ? 19 : 18; } }
public override int AosSpeed{ get{ return 25; } } public override int AosSpeed{ get{ return 25; } }
public override int OldStrengthReq{ get{ return 20; } } public override int OldStrengthReq{ get{ return 20; } }

View file

@ -15,7 +15,7 @@ namespace Server.Items
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MovingShot; } } public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MovingShot; } }
public override int AosStrengthReq{ get{ return 45; } } public override int AosStrengthReq{ get{ return 45; } }
public override int AosMinDamage{ get{ return 15; } } public override int AosMinDamage{ get{ return Core.ML ? 13 : 15; } }
public override int AosMaxDamage{ get{ return 17; } } public override int AosMaxDamage{ get{ return 17; } }
public override int AosSpeed{ get{ return 25; } } public override int AosSpeed{ get{ return 25; } }

View file

@ -16,7 +16,7 @@ namespace Server.Items
public override int AosStrengthReq{ get{ return 35; } } public override int AosStrengthReq{ get{ return 35; } }
public override int AosMinDamage{ get{ return 18; } } public override int AosMinDamage{ get{ return 18; } }
public override int AosMaxDamage{ get{ return 20; } } public override int AosMaxDamage{ get{ return Core.ML ? 22 : 20; } }
public override int AosSpeed{ get{ return 24; } } public override int AosSpeed{ get{ return 24; } }
public override int OldStrengthReq{ get{ return 30; } } public override int OldStrengthReq{ get{ return 30; } }

View file

@ -15,8 +15,8 @@ namespace Server.Items
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.Dismount; } } public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.Dismount; } }
public override int AosStrengthReq{ get{ return 80; } } public override int AosStrengthReq{ get{ return 80; } }
public override int AosMinDamage{ get{ return 19; } } public override int AosMinDamage{ get{ return Core.ML ? 20 : 19; } }
public override int AosMaxDamage{ get{ return 20; } } public override int AosMaxDamage{ get{ return Core.ML ? 24 : 20; } }
public override int AosSpeed{ get{ return 22; } } public override int AosSpeed{ get{ return 22; } }
public override int OldStrengthReq{ get{ return 40; } } public override int OldStrengthReq{ get{ return 40; } }

View file

@ -15,7 +15,7 @@ namespace Server.Items
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MovingShot; } } public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MovingShot; } }
public override int AosStrengthReq{ get{ return 30; } } public override int AosStrengthReq{ get{ return 30; } }
public override int AosMinDamage{ get{ return 10; } } public override int AosMinDamage{ get{ return Core.ML ? 8 : 10; } }
public override int AosMaxDamage{ get{ return 12; } } public override int AosMaxDamage{ get{ return 12; } }
public override int AosSpeed{ get{ return 41; } } public override int AosSpeed{ get{ return 41; } }

View file

@ -15,7 +15,7 @@ namespace Server.Items
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.DoubleShot; } } public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.DoubleShot; } }
public override int AosStrengthReq{ get{ return 35; } } public override int AosStrengthReq{ get{ return 35; } }
public override int AosMinDamage{ get{ return 18; } } public override int AosMinDamage{ get{ return Core.ML ? 16 : 18; } }
public override int AosMaxDamage{ get{ return 20; } } public override int AosMaxDamage{ get{ return 20; } }
public override int AosSpeed{ get{ return 25; } } public override int AosSpeed{ get{ return 25; } }

View file

@ -37,7 +37,6 @@ namespace Server.Mobiles
SetSkill( SkillName.Wrestling, 25.1, 40.0 ); SetSkill( SkillName.Wrestling, 25.1, 40.0 );
Fame = 500; Fame = 500;
Karma = -500;
VirtualArmor = 18; VirtualArmor = 18;

View file

@ -0,0 +1,53 @@
using System;
using System.Collections;
using Server;
using Server.Items;
namespace Server.Mobiles
{
public class Monk : BaseVendor
{
private ArrayList m_SBInfos = new ArrayList();
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
[Constructable]
public Monk() : base( "the Monk" )
{
SetSkill( SkillName.EvalInt, 100.0 );
SetSkill( SkillName.Tactics, 70.0, 90.0 );
SetSkill( SkillName.Wrestling, 70.0, 90.0 );
SetSkill( SkillName.MagicResist, 70.0, 90.0 );
SetSkill( SkillName.Macing, 70.0, 90.0 );
}
public override void InitSBInfo()
{
m_SBInfos.Add( new SBMonk() );
}
public override void InitOutfit()
{
AddItem( new Sandals() );
AddItem( new MonkRobe() );
}
public Monk( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View file

@ -0,0 +1,34 @@
using System;
using System.Collections;
using Server.Items;
namespace Server.Mobiles
{
public class SBMonk : SBInfo
{
private ArrayList m_BuyInfo = new InternalBuyInfo();
private IShopSellInfo m_SellInfo = new InternalSellInfo();
public SBMonk()
{
}
public override IShopSellInfo SellInfo { get { return m_SellInfo; } }
public override ArrayList BuyInfo { get { return m_BuyInfo; } }
public class InternalBuyInfo : ArrayList
{
public InternalBuyInfo()
{
Add( new GenericBuyInfo( typeof( MonkRobe ), 136, 20, 0x2687, 0x21E ) );
}
}
public class InternalSellInfo : GenericSellInfo
{
public InternalSellInfo()
{
}
}
}
}

View file

@ -96,7 +96,7 @@ namespace Server.Spells.Chivalry
{ {
private CleanseByFireSpell m_Owner; private CleanseByFireSpell m_Owner;
public InternalTarget( CleanseByFireSpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( CleanseByFireSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -112,7 +112,7 @@ namespace Server.Spells.Chivalry
{ {
private RemoveCurseSpell m_Owner; private RemoveCurseSpell m_Owner;
public InternalTarget( RemoveCurseSpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( RemoveCurseSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -141,7 +141,7 @@ namespace Server.Spells.Chivalry
{ {
private SacredJourneySpell m_Owner; private SacredJourneySpell m_Owner;
public InternalTarget( SacredJourneySpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( SacredJourneySpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -72,7 +72,7 @@ namespace Server.Spells.Eighth
{ {
private EnergyVortexSpell m_Owner; private EnergyVortexSpell m_Owner;
public InternalTarget( EnergyVortexSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( EnergyVortexSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -79,7 +79,7 @@ namespace Server.Spells.Fifth
{ {
private BladeSpiritsSpell m_Owner; private BladeSpiritsSpell m_Owner;
public InternalTarget( BladeSpiritsSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( BladeSpiritsSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -62,7 +62,7 @@ namespace Server.Spells.Fifth
{ {
private DispelFieldSpell m_Owner; private DispelFieldSpell m_Owner;
public InternalTarget( DispelFieldSpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( DispelFieldSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -135,7 +135,7 @@ namespace Server.Spells.Fifth
{ {
private MindBlastSpell m_Owner; private MindBlastSpell m_Owner;
public InternalTarget( MindBlastSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( MindBlastSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -82,7 +82,7 @@ namespace Server.Spells.Fifth
{ {
private ParalyzeSpell m_Owner; private ParalyzeSpell m_Owner;
public InternalTarget( ParalyzeSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( ParalyzeSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -275,7 +275,7 @@ namespace Server.Spells.Fifth
{ {
private PoisonFieldSpell m_Owner; private PoisonFieldSpell m_Owner;
public InternalTarget( PoisonFieldSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( PoisonFieldSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -60,7 +60,7 @@ namespace Server.Spells.First
{ {
private ClumsySpell m_Owner; private ClumsySpell m_Owner;
public InternalTarget( ClumsySpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( ClumsySpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -60,7 +60,7 @@ namespace Server.Spells.First
{ {
private FeeblemindSpell m_Owner; private FeeblemindSpell m_Owner;
public InternalTarget( FeeblemindSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( FeeblemindSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -84,7 +84,7 @@ namespace Server.Spells.First
{ {
private HealSpell m_Owner; private HealSpell m_Owner;
public InternalTarget( HealSpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( HealSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -75,7 +75,7 @@ namespace Server.Spells.First
{ {
private MagicArrowSpell m_Owner; private MagicArrowSpell m_Owner;
public InternalTarget( MagicArrowSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( MagicArrowSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -60,7 +60,7 @@ namespace Server.Spells.First
{ {
private WeakenSpell m_Owner; private WeakenSpell m_Owner;
public InternalTarget( WeakenSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( WeakenSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -123,7 +123,7 @@ namespace Server.Spells.Fourth
{ {
private ArchCureSpell m_Owner; private ArchCureSpell m_Owner;
public InternalTarget( ArchCureSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( ArchCureSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -133,7 +133,7 @@ namespace Server.Spells.Fourth
{ {
private ArchProtectionSpell m_Owner; private ArchProtectionSpell m_Owner;
public InternalTarget( ArchProtectionSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( ArchProtectionSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -91,7 +91,7 @@ namespace Server.Spells.Fourth
{ {
private CurseSpell m_Owner; private CurseSpell m_Owner;
public InternalTarget( CurseSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( CurseSpell owner ) : base( Core.ML? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -282,7 +282,7 @@ namespace Server.Spells.Fourth
{ {
private FireFieldSpell m_Owner; private FireFieldSpell m_Owner;
public InternalTarget( FireFieldSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( FireFieldSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -74,7 +74,7 @@ namespace Server.Spells.Fourth
{ {
private GreaterHealSpell m_Owner; private GreaterHealSpell m_Owner;
public InternalTarget( GreaterHealSpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( GreaterHealSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -71,7 +71,7 @@ namespace Server.Spells.Fourth
{ {
private LightningSpell m_Owner; private LightningSpell m_Owner;
public InternalTarget( LightningSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( LightningSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -112,7 +112,7 @@ namespace Server.Spells.Fourth
{ {
private ManaDrainSpell m_Owner; private ManaDrainSpell m_Owner;
public InternalTarget( ManaDrainSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( ManaDrainSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -146,7 +146,7 @@ namespace Server.Spells.Fourth
{ {
private RecallSpell m_Owner; private RecallSpell m_Owner;
public InternalTarget( RecallSpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( RecallSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;

View file

@ -403,7 +403,7 @@ namespace Server.Spells.Necromancy
{ {
private AnimateDeadSpell m_Owner; private AnimateDeadSpell m_Owner;
public InternalTarget( AnimateDeadSpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( AnimateDeadSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -140,11 +140,17 @@ namespace Server.Spells.Necromancy
} }
public void DoExpire() public void DoExpire()
{ {
m_Caster.SendLocalizedMessage( 1061620 ); // Your Blood Oath has been broken. if( m_OathTable.Contains( m_Caster ) )
m_Target.SendLocalizedMessage( 1061620 ); // Your Blood Oath has been broken. {
m_Caster.SendLocalizedMessage( 1061620 ); // Your Blood Oath has been broken.
m_OathTable.Remove ( m_Caster );
}
m_OathTable.Remove ( m_Caster ); if( m_OathTable.Contains( m_Target ) )
m_OathTable.Remove ( m_Target ); {
m_Target.SendLocalizedMessage( 1061620 ); // Your Blood Oath has been broken.
m_OathTable.Remove ( m_Target );
}
Stop (); Stop ();
@ -159,7 +165,7 @@ namespace Server.Spells.Necromancy
{ {
private BloodOathSpell m_Owner; private BloodOathSpell m_Owner;
public InternalTarget( BloodOathSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( BloodOathSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -132,7 +132,7 @@ namespace Server.Spells.Necromancy
{ {
private CorpseSkinSpell m_Owner; private CorpseSkinSpell m_Owner;
public InternalTarget( CorpseSkinSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( CorpseSkinSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -95,7 +95,7 @@ namespace Server.Spells.Necromancy
{ {
private EvilOmenSpell m_Owner; private EvilOmenSpell m_Owner;
public InternalTarget( EvilOmenSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( EvilOmenSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -109,7 +109,7 @@ namespace Server.Spells.Necromancy
{ {
private MindRotSpell m_Owner; private MindRotSpell m_Owner;
public InternalTarget( MindRotSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( MindRotSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -119,7 +119,7 @@ namespace Server.Spells.Necromancy
{ {
private PainSpikeSpell m_Owner; private PainSpikeSpell m_Owner;
public InternalTarget( PainSpikeSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( PainSpikeSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -94,7 +94,7 @@ namespace Server.Spells.Necromancy
private PoisonStrikeSpell m_Owner; private PoisonStrikeSpell m_Owner;
public InternalTarget( PoisonStrikeSpell owner ) public InternalTarget( PoisonStrikeSpell owner )
: base( 12, false, TargetFlags.Harmful ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -176,7 +176,7 @@ namespace Server.Spells.Necromancy
{ {
private StrangleSpell m_Owner; private StrangleSpell m_Owner;
public InternalTarget( StrangleSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( StrangleSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -77,7 +77,7 @@ namespace Server.Spells.Necromancy
{ {
private VengefulSpiritSpell m_Owner; private VengefulSpiritSpell m_Owner;
public InternalTarget( VengefulSpiritSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( VengefulSpiritSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -74,6 +74,7 @@ namespace Server.Spells.Ninjitsu
public override bool CheckFizzle() public override bool CheckFizzle()
{ {
// Spell is initially always successful, and with no skill gain. // Spell is initially always successful, and with no skill gain.
return true; return true;
} }
@ -97,7 +98,8 @@ namespace Server.Spells.Ninjitsu
if ( context != null ) if ( context != null )
{ {
RemoveContext( Caster, context, true ); if( ConsumeMana() )
RemoveContext( Caster, context, true );
} }
else if ( Caster is PlayerMobile ) else if ( Caster is PlayerMobile )
{ {
@ -108,13 +110,13 @@ namespace Server.Spells.Ninjitsu
} }
else else
{ {
if ( Morph( Caster, GetLastAnimalForm( Caster ) ) == MorphResult.Fail ) if ( ConsumeMana() && Morph( Caster, GetLastAnimalForm( Caster ) ) == MorphResult.Fail )
DoFizzle(); DoFizzle();
} }
} }
else else
{ {
if ( Morph( Caster, GetLastAnimalForm( Caster ) ) == MorphResult.Fail ) if ( ConsumeMana() && Morph( Caster, GetLastAnimalForm( Caster ) ) == MorphResult.Fail )
DoFizzle(); DoFizzle();
} }
} }
@ -122,6 +124,21 @@ namespace Server.Spells.Ninjitsu
FinishSequence(); FinishSequence();
} }
public bool ConsumeMana()
{
int mana = ScaleMana( RequiredMana );
if ( Caster.Mana < mana )
{
Caster.SendLocalizedMessage( 1060174, mana.ToString() ); // You must have at least ~1_MANA_REQUIREMENT~ Mana to use this ability.
return false;
}
Caster.Mana -= mana;
return true;
}
private static Hashtable m_LastAnimalForms = new Hashtable(); private static Hashtable m_LastAnimalForms = new Hashtable();
public int GetLastAnimalForm( Mobile m ) public int GetLastAnimalForm( Mobile m )
@ -379,7 +396,7 @@ namespace Server.Spells.Ninjitsu
{ {
int entryID = info.Switches[0] - 100; int entryID = info.Switches[0] - 100;
if ( AnimalForm.Morph( m_Caster, entryID ) == MorphResult.Fail ) if ( m_Spell.ConsumeMana() && AnimalForm.Morph( m_Caster, entryID ) == MorphResult.Fail )
{ {
m_Caster.LocalOverheadMessage( MessageType.Regular, 0x3B2, 502632 ); // The spell fizzles. m_Caster.LocalOverheadMessage( MessageType.Regular, 0x3B2, 502632 ); // The spell fizzles.
m_Caster.FixedParticles( 0x3735, 1, 30, 9503, EffectLayer.Waist ); m_Caster.FixedParticles( 0x3735, 1, 30, 9503, EffectLayer.Waist );

View file

@ -53,7 +53,7 @@ namespace Server.Spells.Second
{ {
private AgilitySpell m_Owner; private AgilitySpell m_Owner;
public InternalTarget( AgilitySpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( AgilitySpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -53,7 +53,7 @@ namespace Server.Spells.Second
{ {
private CunningSpell m_Owner; private CunningSpell m_Owner;
public InternalTarget( CunningSpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( CunningSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -69,7 +69,7 @@ namespace Server.Spells.Second
{ {
private CureSpell m_Owner; private CureSpell m_Owner;
public InternalTarget( CureSpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( CureSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -92,7 +92,7 @@ namespace Server.Spells.Second
{ {
private HarmSpell m_Owner; private HarmSpell m_Owner;
public InternalTarget( HarmSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( HarmSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -63,7 +63,7 @@ namespace Server.Spells.Second
{ {
private MagicTrapSpell m_Owner; private MagicTrapSpell m_Owner;
public InternalTarget( MagicTrapSpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( MagicTrapSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -58,7 +58,7 @@ namespace Server.Spells.Second
{ {
private RemoveTrapSpell m_Owner; private RemoveTrapSpell m_Owner;
public InternalTarget( RemoveTrapSpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( RemoveTrapSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -53,7 +53,7 @@ namespace Server.Spells.Second
{ {
private StrengthSpell m_Owner; private StrengthSpell m_Owner;
public InternalTarget( StrengthSpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( StrengthSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -117,7 +117,7 @@ namespace Server.Spells.Seventh
{ {
private ChainLightningSpell m_Owner; private ChainLightningSpell m_Owner;
public InternalTarget( ChainLightningSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( ChainLightningSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -171,7 +171,7 @@ namespace Server.Spells.Seventh
{ {
private EnergyFieldSpell m_Owner; private EnergyFieldSpell m_Owner;
public InternalTarget( EnergyFieldSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( EnergyFieldSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -72,7 +72,7 @@ namespace Server.Spells.Seventh
{ {
private FlameStrikeSpell m_Owner; private FlameStrikeSpell m_Owner;
public InternalTarget( FlameStrikeSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( FlameStrikeSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -98,7 +98,7 @@ namespace Server.Spells.Seventh
{ {
private ManaVampireSpell m_Owner; private ManaVampireSpell m_Owner;
public InternalTarget( ManaVampireSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( ManaVampireSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -92,7 +92,7 @@ namespace Server.Spells.Seventh
{ {
private MassDispelSpell m_Owner; private MassDispelSpell m_Owner;
public InternalTarget( MassDispelSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( MassDispelSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -116,7 +116,7 @@ namespace Server.Spells.Seventh
{ {
private MeteorSwarmSpell m_Owner; private MeteorSwarmSpell m_Owner;
public InternalTarget( MeteorSwarmSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( MeteorSwarmSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -33,7 +33,7 @@ namespace Server.Spells.Sixth
{ {
private DispelSpell m_Owner; private DispelSpell m_Owner;
public InternalTarget( DispelSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( DispelSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -77,7 +77,7 @@ namespace Server.Spells.Sixth
{ {
private EnergyBoltSpell m_Owner; private EnergyBoltSpell m_Owner;
public InternalTarget( EnergyBoltSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( EnergyBoltSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -111,7 +111,7 @@ namespace Server.Spells.Sixth
private ExplosionSpell m_Owner; private ExplosionSpell m_Owner;
public InternalTarget( ExplosionSpell owner ) public InternalTarget( ExplosionSpell owner )
: base( 12, false, TargetFlags.Harmful ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -102,7 +102,7 @@ namespace Server.Spells.Sixth
{ {
private InvisibilitySpell m_Owner; private InvisibilitySpell m_Owner;
public InternalTarget( InvisibilitySpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( InvisibilitySpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -68,7 +68,7 @@ namespace Server.Spells.Sixth
{ {
private MarkSpell m_Owner; private MarkSpell m_Owner;
public InternalTarget( MarkSpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( MarkSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -85,7 +85,7 @@ namespace Server.Spells.Sixth
{ {
private MassCurseSpell m_Owner; private MassCurseSpell m_Owner;
public InternalTarget( MassCurseSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( MassCurseSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -210,7 +210,7 @@ namespace Server.Spells.Sixth
{ {
private ParalyzeFieldSpell m_Owner; private ParalyzeFieldSpell m_Owner;
public InternalTarget( ParalyzeFieldSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( ParalyzeFieldSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -101,7 +101,7 @@ namespace Server.Spells.Sixth
{ {
private RevealSpell m_Owner; private RevealSpell m_Owner;
public InternalTarget( RevealSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( RevealSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -192,7 +192,7 @@ namespace Server.Spells.Spellweaving
private GiftOfLifeSpell m_Owner; private GiftOfLifeSpell m_Owner;
public InternalTarget( GiftOfLifeSpell owner ) public InternalTarget( GiftOfLifeSpell owner )
: base( 12, false, TargetFlags.Beneficial ) : base( 10, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -165,7 +165,7 @@ namespace Server.Spells.Spellweaving
private GiftOfRenewalSpell m_Owner; private GiftOfRenewalSpell m_Owner;
public InternalTarget( GiftOfRenewalSpell owner ) public InternalTarget( GiftOfRenewalSpell owner )
: base( 12, false, TargetFlags.Beneficial ) : base( 10, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -107,7 +107,7 @@ namespace Server.Spells.Spellweaving
private NatureFurySpell m_Owner; private NatureFurySpell m_Owner;
public InternalTarget( NatureFurySpell owner ) public InternalTarget( NatureFurySpell owner )
: base( 12, true, TargetFlags.None ) : base( 10, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -67,7 +67,7 @@ namespace Server.Spells.Spellweaving
{ {
private WordOfDeathSpell m_Owner; private WordOfDeathSpell m_Owner;
public InternalTarget( WordOfDeathSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( WordOfDeathSpell owner ) : base( 10, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -57,7 +57,7 @@ namespace Server.Spells.Third
{ {
private BlessSpell m_Owner; private BlessSpell m_Owner;
public InternalTarget( BlessSpell owner ) : base( 12, false, TargetFlags.Beneficial ) public InternalTarget( BlessSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Beneficial )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -73,7 +73,7 @@ namespace Server.Spells.Third
{ {
private FireballSpell m_Owner; private FireballSpell m_Owner;
public InternalTarget( FireballSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( FireballSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -65,7 +65,7 @@ namespace Server.Spells.Third
{ {
private MagicLockSpell m_Owner; private MagicLockSpell m_Owner;
public InternalTarget( MagicLockSpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( MagicLockSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -102,7 +102,7 @@ namespace Server.Spells.Third
{ {
private PoisonSpell m_Owner; private PoisonSpell m_Owner;
public InternalTarget( PoisonSpell owner ) : base( 12, false, TargetFlags.Harmful ) public InternalTarget( PoisonSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.Harmful )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -78,7 +78,7 @@ namespace Server.Spells.Third
{ {
private TelekinesisSpell m_Owner; private TelekinesisSpell m_Owner;
public InternalTarget( TelekinesisSpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( TelekinesisSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -104,7 +104,7 @@ namespace Server.Spells.Third
{ {
private TeleportSpell m_Owner; private TeleportSpell m_Owner;
public InternalTarget( TeleportSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( TeleportSpell owner ) : base( Core.ML ? 11 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -30,7 +30,7 @@ namespace Server.Spells.Third
{ {
private UnlockSpell m_Owner; private UnlockSpell m_Owner;
public InternalTarget( UnlockSpell owner ) : base( 12, false, TargetFlags.None ) public InternalTarget( UnlockSpell owner ) : base( Core.ML ? 10 : 12, false, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }

View file

@ -189,7 +189,7 @@ namespace Server.Spells.Third
{ {
private WallOfStoneSpell m_Owner; private WallOfStoneSpell m_Owner;
public InternalTarget( WallOfStoneSpell owner ) : base( 12, true, TargetFlags.None ) public InternalTarget( WallOfStoneSpell owner ) : base( Core.ML ? 10 : 12, true, TargetFlags.None )
{ {
m_Owner = owner; m_Owner = owner;
} }