Removes implicit this.
This commit is contained in:
parent
04b4cfe75b
commit
83dcf536d8
533 changed files with 2804 additions and 2806 deletions
|
|
@ -1616,7 +1616,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
Name = creature.Name;
|
||||
}
|
||||
else if (this.ItemID == ShrinkTable.DefaultItemID || creature.GetType().IsDefined(typeof(FriendlyNameAttribute), false) || creature is Reptalon)
|
||||
else if (ItemID == ShrinkTable.DefaultItemID || creature.GetType().IsDefined(typeof(FriendlyNameAttribute), false) || creature is Reptalon)
|
||||
Name = FriendlyNameAttribute.GetFriendlyNameFor(creature.GetType()).ToString();
|
||||
|
||||
//(As Per OSI)No name. Normally, set by the ItemID of the Shrink Item unless we either explicitly set it with an Attribute, or, no lookup found
|
||||
|
|
@ -1976,7 +1976,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
using (StreamWriter op = new StreamWriter("nan_transform.txt", true))
|
||||
{
|
||||
op.WriteLine(String.Format("NaN in TransformMoveDelay: {0}, {1}, {2}, {3}", DateTime.UtcNow, this.GetType().ToString(), m_Mobile == null ? "null" : m_Mobile.GetType().ToString(), m_Mobile.HitsMax));
|
||||
op.WriteLine(String.Format("NaN in TransformMoveDelay: {0}, {1}, {2}, {3}", DateTime.UtcNow, GetType().ToString(), m_Mobile == null ? "null" : m_Mobile.GetType().ToString(), m_Mobile.HitsMax));
|
||||
}
|
||||
|
||||
return 1.0;
|
||||
|
|
@ -2501,7 +2501,7 @@ namespace Server.Mobiles
|
|||
continue;
|
||||
|
||||
// It also must abide by harmful spell rules.
|
||||
if (!Server.Spells.SpellHelper.ValidIndirectTarget(m_Mobile.SummonMaster, m))
|
||||
if (!SpellHelper.ValidIndirectTarget(m_Mobile.SummonMaster, m))
|
||||
continue;
|
||||
|
||||
// Animated creatures cannot attack players directly.
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( canAccess )
|
||||
{
|
||||
if ( this.Poisoned )
|
||||
if ( Poisoned )
|
||||
PrivateOverheadMessage( Network.MessageType.Regular, 0x3B2, 1049692, from.NetState ); // This mount is too ill to ride.
|
||||
else
|
||||
Rider = from;
|
||||
|
|
@ -240,7 +240,7 @@ namespace Server.Mobiles
|
|||
if ( m_InternalItem != null )
|
||||
value.AddItem( m_InternalItem );
|
||||
|
||||
value.Direction = this.Direction;
|
||||
value.Direction = Direction;
|
||||
|
||||
Internalize();
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ using Server.Engines.VeteranRewards;
|
|||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class EtherealMount : Item, IMount, IMountItem, Engines.VeteranRewards.IRewardItem
|
||||
public class EtherealMount : Item, IMount, IMountItem, IRewardItem
|
||||
{
|
||||
private int m_MountedID;
|
||||
private int m_RegularID;
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ namespace Server.Mobiles
|
|||
Timer.DelayCall( TimeSpan.Zero, delegate { Hue = GetHue(); } );
|
||||
|
||||
if ( version <= 1 )
|
||||
Timer.DelayCall( TimeSpan.Zero, delegate { if ( InternalItem != null ) { InternalItem.Hue = this.Hue; } } );
|
||||
Timer.DelayCall( TimeSpan.Zero, delegate { if ( InternalItem != null ) { InternalItem.Hue = Hue; } } );
|
||||
|
||||
if ( version < 2 )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ namespace Server.Mobiles
|
|||
Timer.DelayCall( TimeSpan.Zero, delegate { Hue = GetHue(); } );
|
||||
|
||||
if ( version <= 1 )
|
||||
Timer.DelayCall( TimeSpan.Zero, delegate { if ( InternalItem != null ) { InternalItem.Hue = this.Hue; } } );
|
||||
Timer.DelayCall( TimeSpan.Zero, delegate { if ( InternalItem != null ) { InternalItem.Hue = Hue; } } );
|
||||
|
||||
if ( version < 2 )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -29,14 +29,14 @@ namespace Server.Mobiles
|
|||
|
||||
if ( p != null )
|
||||
{
|
||||
int chanceToCure = 10000 + (int)(this.Skills[SkillName.Magery].Value * 75) - ((p.Level + 1) * (Core.AOS ? (p.Level < 4 ? 3300 : 3100) : 1750));
|
||||
int chanceToCure = 10000 + (int)(Skills[SkillName.Magery].Value * 75) - ((p.Level + 1) * (Core.AOS ? (p.Level < 4 ? 3300 : 3100) : 1750));
|
||||
chanceToCure /= 100;
|
||||
|
||||
if ( chanceToCure > Utility.Random( 100 ) )
|
||||
{
|
||||
if ( Rider.CurePoison( this ) ) //TODO: Confirm if mount is the one flagged for curing it or the rider is
|
||||
{
|
||||
Rider.LocalOverheadMessage( Server.Network.MessageType.Regular, 0x3B2, true, "Your mount senses you are in danger and aids you with magic." );
|
||||
Rider.LocalOverheadMessage( Network.MessageType.Regular, 0x3B2, true, "Your mount senses you are in danger and aids you with magic." );
|
||||
Rider.FixedParticles( 0x373A, 10, 15, 5012, EffectLayer.Waist );
|
||||
Rider.PlaySound( 0x1E0 ); // Cure spell effect.
|
||||
Rider.PlaySound( 0xA9 ); // Unicorn's whinny.
|
||||
|
|
|
|||
|
|
@ -9,18 +9,18 @@ namespace Server.Mobiles
|
|||
public Jwilson() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Hue = Utility.RandomList(0x89C,0x8A2,0x8A8,0x8AE);
|
||||
this.Body = 0x33;
|
||||
this.VirtualArmor = 8;
|
||||
Body = 0x33;
|
||||
VirtualArmor = 8;
|
||||
|
||||
this.InitStats(Utility.Random(22,13),Utility.Random(16,6),Utility.Random(16,5));
|
||||
InitStats(Utility.Random(22,13),Utility.Random(16,6),Utility.Random(16,5));
|
||||
|
||||
this.Skills[SkillName.Wrestling].Base = Utility.Random(24,17);
|
||||
this.Skills[SkillName.Tactics].Base = Utility.Random(18,14);
|
||||
this.Skills[SkillName.MagicResist].Base = Utility.Random(15,6);
|
||||
this.Skills[SkillName.Poisoning].Base = Utility.Random(31,20);
|
||||
Skills[SkillName.Wrestling].Base = Utility.Random(24,17);
|
||||
Skills[SkillName.Tactics].Base = Utility.Random(18,14);
|
||||
Skills[SkillName.MagicResist].Base = Utility.Random(15,6);
|
||||
Skills[SkillName.Poisoning].Base = Utility.Random(31,20);
|
||||
|
||||
this.Fame = Utility.Random(0,1249);
|
||||
this.Karma = Utility.Random(0,-624);
|
||||
Fame = Utility.Random(0,1249);
|
||||
Karma = Utility.Random(0,-624);
|
||||
}
|
||||
|
||||
public Jwilson(Serial serial) : base(serial)
|
||||
|
|
|
|||
|
|
@ -8,17 +8,17 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public Parrot() : base(AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
this.Body = 831;
|
||||
this.VirtualArmor = Utility.Random(0,6);
|
||||
Body = 831;
|
||||
VirtualArmor = Utility.Random(0,6);
|
||||
|
||||
this.InitStats((10),Utility.Random(25,16),(10));
|
||||
InitStats((10),Utility.Random(25,16),(10));
|
||||
|
||||
this.Skills[SkillName.Wrestling].Base = (6);
|
||||
this.Skills[SkillName.Tactics].Base = (6);
|
||||
this.Skills[SkillName.MagicResist].Base = (5);
|
||||
Skills[SkillName.Wrestling].Base = (6);
|
||||
Skills[SkillName.Tactics].Base = (6);
|
||||
Skills[SkillName.MagicResist].Base = (5);
|
||||
|
||||
this.Fame = Utility.Random(0,1249);
|
||||
this.Karma = Utility.Random(0,-624);
|
||||
Fame = Utility.Random(0,1249);
|
||||
Karma = Utility.Random(0,-624);
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 1;
|
||||
|
|
|
|||
|
|
@ -698,7 +698,7 @@ namespace Server.Mobiles
|
|||
BreathPlayAngerSound();
|
||||
BreathPlayAngerAnimation();
|
||||
|
||||
this.Direction = this.GetDirectionTo( target );
|
||||
Direction = GetDirectionTo( target );
|
||||
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( BreathEffectDelay ), new TimerStateCallback( BreathEffect_Callback ), target );
|
||||
}
|
||||
|
|
@ -817,13 +817,13 @@ namespace Server.Mobiles
|
|||
|
||||
public void SpillAcid( Mobile target, int Amount )
|
||||
{
|
||||
if ( (target != null && target.Map == null) || this.Map == null )
|
||||
if ( (target != null && target.Map == null) || Map == null )
|
||||
return;
|
||||
|
||||
for ( int i = 0; i < Amount; ++i )
|
||||
{
|
||||
Point3D loc = this.Location;
|
||||
Map map = this.Map;
|
||||
Point3D loc = Location;
|
||||
Map map = Map;
|
||||
Item acid = NewHarmfulItem();
|
||||
|
||||
if ( target?.Map != null && Amount == 1 )
|
||||
|
|
@ -930,7 +930,7 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual bool IsFriend( Mobile m )
|
||||
{
|
||||
OppositionGroup g = this.OppositionGroup;
|
||||
OppositionGroup g = OppositionGroup;
|
||||
|
||||
if ( g != null && g.IsEnemy( this, m ) )
|
||||
return false;
|
||||
|
|
@ -983,7 +983,7 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual bool IsEnemy( Mobile m )
|
||||
{
|
||||
OppositionGroup g = this.OppositionGroup;
|
||||
OppositionGroup g = OppositionGroup;
|
||||
|
||||
if ( g != null && g.IsEnemy( this, m ) )
|
||||
return true;
|
||||
|
|
@ -1003,7 +1003,7 @@ namespace Server.Mobiles
|
|||
if ( m is PlayerMobile mobile && mobile.HonorActive )
|
||||
return false;
|
||||
|
||||
if ( !(m is BaseCreature c) || m is Server.Engines.Quests.Haven.MilitiaFighter )
|
||||
if ( !(m is BaseCreature c) || m is Engines.Quests.Haven.MilitiaFighter )
|
||||
return true;
|
||||
|
||||
if ( TransformationSpellHelper.UnderTransformation( m, typeof( EtherealVoyageSpell ) ) )
|
||||
|
|
@ -1059,7 +1059,7 @@ namespace Server.Mobiles
|
|||
|
||||
double dMinTameSkill = m_MinTameSkill;
|
||||
|
||||
if ( dMinTameSkill > -24.9 && Server.SkillHandlers.AnimalTaming.CheckMastery( m, this ) )
|
||||
if ( dMinTameSkill > -24.9 && AnimalTaming.CheckMastery( m, this ) )
|
||||
dMinTameSkill = -24.9;
|
||||
|
||||
int taming = (int)((useBaseSkill ? m.Skills[SkillName.AnimalTaming].Base : m.Skills[SkillName.AnimalTaming].Value ) * 10);
|
||||
|
|
@ -1123,7 +1123,7 @@ namespace Server.Mobiles
|
|||
if ( !Summoned )
|
||||
return false;
|
||||
|
||||
Type type = this.GetType();
|
||||
Type type = GetType();
|
||||
|
||||
bool contains = false;
|
||||
|
||||
|
|
@ -1150,15 +1150,15 @@ namespace Server.Mobiles
|
|||
|
||||
public override void Damage( int amount, Mobile from )
|
||||
{
|
||||
int oldHits = this.Hits;
|
||||
int oldHits = Hits;
|
||||
|
||||
if ( Core.AOS && !this.Summoned && this.Controlled && 0.2 > Utility.RandomDouble() )
|
||||
if ( Core.AOS && !Summoned && Controlled && 0.2 > Utility.RandomDouble() )
|
||||
amount = (int)(amount * BonusPetDamageScalar);
|
||||
|
||||
if ( Spells.Necromancy.EvilOmenSpell.TryEndEffect( this ) )
|
||||
if ( EvilOmenSpell.TryEndEffect( this ) )
|
||||
amount = (int)(amount * 1.25);
|
||||
|
||||
Mobile oath = Spells.Necromancy.BloodOathSpell.GetBloodOath( from );
|
||||
Mobile oath = BloodOathSpell.GetBloodOath( from );
|
||||
|
||||
if ( oath == this )
|
||||
{
|
||||
|
|
@ -1170,7 +1170,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( SubdueBeforeTame && !Controlled )
|
||||
{
|
||||
if ( (oldHits > (this.HitsMax / 10)) && (this.Hits <= (this.HitsMax / 10)) )
|
||||
if ( (oldHits > (HitsMax / 10)) && (Hits <= (HitsMax / 10)) )
|
||||
PublicOverheadMessage( MessageType.Regular, 0x3B2, false, "* The creature has been beaten into subjugation! *" );
|
||||
}
|
||||
}
|
||||
|
|
@ -1198,7 +1198,7 @@ namespace Server.Mobiles
|
|||
if ( !Alive || IsDeadPet )
|
||||
return ApplyPoisonResult.Immune;
|
||||
|
||||
if ( Spells.Necromancy.EvilOmenSpell.TryEndEffect( this ) )
|
||||
if ( EvilOmenSpell.TryEndEffect( this ) )
|
||||
poison = PoisonImpl.IncreaseLevel( poison );
|
||||
|
||||
ApplyPoisonResult result = base.ApplyPoison( from, poison );
|
||||
|
|
@ -1344,9 +1344,9 @@ namespace Server.Mobiles
|
|||
set => m_ManaMax = value;
|
||||
}
|
||||
|
||||
public virtual bool CanOpenDoors => !this.Body.IsAnimal && !this.Body.IsSea;
|
||||
public virtual bool CanOpenDoors => !Body.IsAnimal && !Body.IsSea;
|
||||
|
||||
public virtual bool CanMoveOverObstacles => Core.AOS || this.Body.IsMonster;
|
||||
public virtual bool CanMoveOverObstacles => Core.AOS || Body.IsMonster;
|
||||
|
||||
public virtual bool CanDestroyObstacles => false;
|
||||
|
||||
|
|
@ -1412,7 +1412,7 @@ namespace Server.Mobiles
|
|||
|
||||
WeightOverloading.FatigueOnDamage( this, amount );
|
||||
|
||||
InhumanSpeech speechType = this.SpeechType;
|
||||
InhumanSpeech speechType = SpeechType;
|
||||
|
||||
if ( speechType != null && !willKill )
|
||||
speechType.OnDamage( this, amount );
|
||||
|
|
@ -1583,7 +1583,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( scales != 0 )
|
||||
{
|
||||
ScaleType sc = this.ScaleType;
|
||||
ScaleType sc = ScaleType;
|
||||
|
||||
switch ( sc )
|
||||
{
|
||||
|
|
@ -1664,7 +1664,7 @@ namespace Server.Mobiles
|
|||
|
||||
ChangeAIType(AI);
|
||||
|
||||
InhumanSpeech speechType = this.SpeechType;
|
||||
InhumanSpeech speechType = SpeechType;
|
||||
|
||||
speechType?.OnConstruct( this );
|
||||
|
||||
|
|
@ -2048,12 +2048,12 @@ namespace Server.Mobiles
|
|||
AddFollowers();
|
||||
|
||||
if ( IsAnimatedDead )
|
||||
Spells.Necromancy.AnimateDeadSpell.Register( m_SummonMaster, this );
|
||||
AnimateDeadSpell.Register( m_SummonMaster, this );
|
||||
}
|
||||
|
||||
public virtual bool IsHumanInTown()
|
||||
{
|
||||
return ( Body.IsHuman && Region.IsPartOf( typeof( Regions.GuardedRegion ) ) );
|
||||
return ( Body.IsHuman && Region.IsPartOf( typeof( GuardedRegion ) ) );
|
||||
}
|
||||
|
||||
public virtual bool CheckGold( Mobile from, Item dropped )
|
||||
|
|
@ -2075,9 +2075,9 @@ namespace Server.Mobiles
|
|||
{
|
||||
Direction = GetDirectionTo( from );
|
||||
|
||||
int oldSpeechHue = this.SpeechHue;
|
||||
int oldSpeechHue = SpeechHue;
|
||||
|
||||
this.SpeechHue = 0x23F;
|
||||
SpeechHue = 0x23F;
|
||||
SayTo( from, "Thou art giving me gold?" );
|
||||
|
||||
if ( dropped.Amount >= 400 )
|
||||
|
|
@ -2085,10 +2085,10 @@ namespace Server.Mobiles
|
|||
else
|
||||
SayTo( from, "Money is always welcome." );
|
||||
|
||||
this.SpeechHue = 0x3B2;
|
||||
SpeechHue = 0x3B2;
|
||||
SayTo( from, 501548 ); // I thank thee.
|
||||
|
||||
this.SpeechHue = oldSpeechHue;
|
||||
SpeechHue = oldSpeechHue;
|
||||
|
||||
dropped.Delete();
|
||||
return true;
|
||||
|
|
@ -2788,7 +2788,7 @@ namespace Server.Mobiles
|
|||
FocusMob = null;
|
||||
|
||||
if ( IsAnimatedDead )
|
||||
Spells.Necromancy.AnimateDeadSpell.Unregister( m_SummonMaster, this );
|
||||
AnimateDeadSpell.Unregister( m_SummonMaster, this );
|
||||
|
||||
if ( MLQuestSystem.Enabled )
|
||||
MLQuestSystem.HandleDeletion( this );
|
||||
|
|
@ -2799,13 +2799,13 @@ namespace Server.Mobiles
|
|||
public void DebugSay( string text )
|
||||
{
|
||||
if ( m_DebugAI )
|
||||
this.PublicOverheadMessage( MessageType.Regular, 41, false, text );
|
||||
PublicOverheadMessage( MessageType.Regular, 41, false, text );
|
||||
}
|
||||
|
||||
public void DebugSay( string format, params object[] args )
|
||||
{
|
||||
if ( m_DebugAI )
|
||||
this.PublicOverheadMessage( MessageType.Regular, 41, false, String.Format( format, args ) );
|
||||
PublicOverheadMessage( MessageType.Regular, 41, false, String.Format( format, args ) );
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -2867,7 +2867,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
int iCount = 0;
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( iRange ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( iRange ) )
|
||||
{
|
||||
if (m != this && m is BaseCreature creature && !creature.Deleted && creature.Team == Team && CanSee( creature ))
|
||||
{
|
||||
|
|
@ -2895,12 +2895,12 @@ namespace Server.Mobiles
|
|||
return;
|
||||
|
||||
Owner.From.TargetLocked = true;
|
||||
SkillHandlers.AnimalTaming.DisableMessage = true;
|
||||
AnimalTaming.DisableMessage = true;
|
||||
|
||||
if ( Owner.From.UseSkill( SkillName.AnimalTaming ) )
|
||||
Owner.From.Target.Invoke( Owner.From, m_Mobile );
|
||||
|
||||
SkillHandlers.AnimalTaming.DisableMessage = false;
|
||||
AnimalTaming.DisableMessage = false;
|
||||
Owner.From.TargetLocked = false;
|
||||
}
|
||||
}
|
||||
|
|
@ -3105,8 +3105,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.AggressiveAction( aggressor, criminal );
|
||||
|
||||
if ( this.ControlMaster != null )
|
||||
if ( NotorietyHandlers.CheckAggressor( this.ControlMaster.Aggressors, aggressor ) )
|
||||
if ( ControlMaster != null )
|
||||
if ( NotorietyHandlers.CheckAggressor( ControlMaster.Aggressors, aggressor ) )
|
||||
aggressor.Aggressors.Add( AggressorInfo.Create( this, aggressor, true ) );
|
||||
|
||||
OrderType ct = m_ControlOrder;
|
||||
|
|
@ -3184,7 +3184,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( CanTeach && from.Alive )
|
||||
{
|
||||
Skills ourSkills = this.Skills;
|
||||
Skills ourSkills = Skills;
|
||||
Skills theirSkills = from.Skills;
|
||||
|
||||
for ( int i = 0; i < ourSkills.Length && i < theirSkills.Length; ++i )
|
||||
|
|
@ -3207,7 +3207,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool HandlesOnSpeech( Mobile from )
|
||||
{
|
||||
InhumanSpeech speechType = this.SpeechType;
|
||||
InhumanSpeech speechType = SpeechType;
|
||||
|
||||
if ( speechType != null && (speechType.Flags & IHSFlags.OnSpeech) != 0 && from.InRange( this, 3 ) )
|
||||
return true;
|
||||
|
|
@ -3217,7 +3217,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnSpeech( SpeechEventArgs e )
|
||||
{
|
||||
InhumanSpeech speechType = this.SpeechType;
|
||||
InhumanSpeech speechType = SpeechType;
|
||||
|
||||
if ( speechType != null && speechType.OnSpeech( this, e.Mobile, e.Speech ) )
|
||||
e.Handled = true;
|
||||
|
|
@ -3259,7 +3259,7 @@ namespace Server.Mobiles
|
|||
if ( target == this || target == m_ControlMaster || target == m_SummonMaster || (!Controlled && !Summoned) )
|
||||
return;
|
||||
|
||||
List<AggressorInfo> list = this.Aggressors;
|
||||
List<AggressorInfo> list = Aggressors;
|
||||
|
||||
for ( int i = 0; i < list.Count; ++i )
|
||||
{
|
||||
|
|
@ -3269,7 +3269,7 @@ namespace Server.Mobiles
|
|||
return;
|
||||
}
|
||||
|
||||
list = this.Aggressed;
|
||||
list = Aggressed;
|
||||
|
||||
for ( int i = 0; i < list.Count; ++i )
|
||||
{
|
||||
|
|
@ -3428,7 +3428,7 @@ namespace Server.Mobiles
|
|||
ForceReacquire();
|
||||
}
|
||||
|
||||
InhumanSpeech speechType = this.SpeechType;
|
||||
InhumanSpeech speechType = SpeechType;
|
||||
|
||||
speechType?.OnMovement( this, m, oldLocation );
|
||||
|
||||
|
|
@ -3462,12 +3462,12 @@ namespace Server.Mobiles
|
|||
if ( !Body.IsHuman || Kills >= 5 || AlwaysMurderer || AlwaysAttackable || m.Kills < 5 || !m.InRange( Location, 12 ) || !m.Alive )
|
||||
return;
|
||||
|
||||
if ( this.Region.GetRegion( typeof( GuardedRegion ) ) is GuardedRegion guardedRegion )
|
||||
if ( Region.GetRegion( typeof( GuardedRegion ) ) is GuardedRegion guardedRegion )
|
||||
{
|
||||
if ( !guardedRegion.IsDisabled() && guardedRegion.IsGuardCandidate( m ) && BeginAction( typeof( GuardedRegion ) ) )
|
||||
{
|
||||
Say( 1013037 + Utility.Random( 16 ) );
|
||||
guardedRegion.CallGuards( this.Location );
|
||||
guardedRegion.CallGuards( Location );
|
||||
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 5.0 ), new TimerCallback( ReleaseGuardLock ) );
|
||||
|
||||
|
|
@ -3666,7 +3666,7 @@ namespace Server.Mobiles
|
|||
if ( Skills[name].Base > Skills[name].Cap )
|
||||
{
|
||||
if ( Core.SE )
|
||||
this.SkillsCap += ( Skills[name].BaseFixedPoint - Skills[name].CapFixedPoint );
|
||||
SkillsCap += ( Skills[name].BaseFixedPoint - Skills[name].CapFixedPoint );
|
||||
|
||||
Skills[name].Cap = Skills[name].Base;
|
||||
}
|
||||
|
|
@ -3682,7 +3682,7 @@ namespace Server.Mobiles
|
|||
if ( Skills[name].Base > Skills[name].Cap )
|
||||
{
|
||||
if ( Core.SE )
|
||||
this.SkillsCap += ( Skills[name].BaseFixedPoint - Skills[name].CapFixedPoint );
|
||||
SkillsCap += ( Skills[name].BaseFixedPoint - Skills[name].CapFixedPoint );
|
||||
|
||||
Skills[name].Cap = Skills[name].Base;
|
||||
}
|
||||
|
|
@ -4174,12 +4174,12 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( from.AccessLevel >= AccessLevel.GameMaster && !Body.IsHuman )
|
||||
{
|
||||
Container pack = this.Backpack;
|
||||
Container pack = Backpack;
|
||||
|
||||
pack?.DisplayTo( from );
|
||||
}
|
||||
|
||||
if ( this.DeathAdderCharmable && from.CanBeHarmful( this, false ) )
|
||||
if ( DeathAdderCharmable && from.CanBeHarmful( this, false ) )
|
||||
{
|
||||
if ( SummonFamiliarSpell.Table[from] is DeathAdder da && !da.Deleted )
|
||||
{
|
||||
|
|
@ -4279,9 +4279,9 @@ namespace Server.Mobiles
|
|||
{
|
||||
int treasureLevel = TreasureMapLevel;
|
||||
|
||||
if ( treasureLevel == 1 && this.Map == Map.Trammel && TreasureMap.IsInHavenIsland( this ) )
|
||||
if ( treasureLevel == 1 && Map == Map.Trammel && TreasureMap.IsInHavenIsland( this ) )
|
||||
{
|
||||
Mobile killer = this.LastKiller;
|
||||
Mobile killer = LastKiller;
|
||||
|
||||
if ( killer is BaseCreature bc )
|
||||
killer = bc.GetMaster();
|
||||
|
|
@ -4295,7 +4295,7 @@ namespace Server.Mobiles
|
|||
if ( treasureLevel >= 0 )
|
||||
{
|
||||
if ( m_Paragon && Paragon.ChestChance > Utility.RandomDouble() )
|
||||
PackItem( new ParagonChest( this.Name, treasureLevel ) );
|
||||
PackItem( new ParagonChest( Name, treasureLevel ) );
|
||||
else if ( (Map == Map.Felucca || Map == Map.Trammel) && TreasureMap.LootChance >= Utility.RandomDouble() )
|
||||
PackItem( new TreasureMap( treasureLevel, Map ) );
|
||||
}
|
||||
|
|
@ -4329,7 +4329,7 @@ namespace Server.Mobiles
|
|||
if ( IsAnimatedDead )
|
||||
Effects.SendLocationEffect( Location, Map, 0x3728, 13, 1, 0x461, 4 );
|
||||
|
||||
InhumanSpeech speechType = this.SpeechType;
|
||||
InhumanSpeech speechType = SpeechType;
|
||||
|
||||
speechType?.OnDeath( this );
|
||||
|
||||
|
|
@ -4507,10 +4507,10 @@ namespace Server.Mobiles
|
|||
|
||||
if ( IsBonded )
|
||||
{
|
||||
int sound = this.GetDeathSound();
|
||||
int sound = GetDeathSound();
|
||||
|
||||
if ( sound >= 0 )
|
||||
Effects.PlaySound( this, this.Map, sound );
|
||||
Effects.PlaySound( this, Map, sound );
|
||||
|
||||
Warmode = false;
|
||||
|
||||
|
|
@ -4530,7 +4530,7 @@ namespace Server.Mobiles
|
|||
SendIncomingPacket();
|
||||
|
||||
// TODO: This can be done in Parallel if there are lots of them.
|
||||
List<AggressorInfo> aggressors = this.Aggressors;
|
||||
List<AggressorInfo> aggressors = Aggressors;
|
||||
|
||||
for ( int i = 0; i < aggressors.Count; ++i )
|
||||
{
|
||||
|
|
@ -4540,7 +4540,7 @@ namespace Server.Mobiles
|
|||
info.Attacker.Combatant = null;
|
||||
}
|
||||
|
||||
List<AggressorInfo> aggressed = this.Aggressed;
|
||||
List<AggressorInfo> aggressed = Aggressed;
|
||||
|
||||
for ( int i = 0; i < aggressed.Count; ++i )
|
||||
{
|
||||
|
|
@ -4550,16 +4550,16 @@ namespace Server.Mobiles
|
|||
info.Defender.Combatant = null;
|
||||
}
|
||||
|
||||
Mobile owner = this.ControlMaster;
|
||||
Mobile owner = ControlMaster;
|
||||
|
||||
if ( owner == null || owner.Deleted || owner.Map != this.Map || !owner.InRange( this, 12 ) || !this.CanSee( owner ) || !this.InLOS( owner ) )
|
||||
if ( owner == null || owner.Deleted || owner.Map != Map || !owner.InRange( this, 12 ) || !CanSee( owner ) || !InLOS( owner ) )
|
||||
{
|
||||
if ( this.OwnerAbandonTime == DateTime.MinValue )
|
||||
this.OwnerAbandonTime = DateTime.UtcNow;
|
||||
if ( OwnerAbandonTime == DateTime.MinValue )
|
||||
OwnerAbandonTime = DateTime.UtcNow;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.OwnerAbandonTime = DateTime.MinValue;
|
||||
OwnerAbandonTime = DateTime.MinValue;
|
||||
}
|
||||
|
||||
GiftOfLifeSpell.HandleDeath( this );
|
||||
|
|
@ -4579,7 +4579,7 @@ namespace Server.Mobiles
|
|||
totalKarma += ((totalKarma/10)*3);
|
||||
}
|
||||
|
||||
List<DamageStore> list = GetLootingRights( this.DamageEntries, this.HitsMax );
|
||||
List<DamageStore> list = GetLootingRights( DamageEntries, HitsMax );
|
||||
List<Mobile> titles = new List<Mobile>();
|
||||
List<int> fame = new List<int>();
|
||||
List<int> karma = new List<int>();
|
||||
|
|
@ -4758,11 +4758,11 @@ namespace Server.Mobiles
|
|||
}
|
||||
else
|
||||
{
|
||||
ISpawner se = this.Spawner;
|
||||
ISpawner se = Spawner;
|
||||
if ( se?.UnlinkOnTaming == true )
|
||||
{
|
||||
this.Spawner.Remove( this );
|
||||
this.Spawner = null;
|
||||
Spawner.Remove( this );
|
||||
Spawner = null;
|
||||
}
|
||||
|
||||
if ( m.Followers + ControlSlots > m.FollowersMax )
|
||||
|
|
@ -4799,12 +4799,12 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.OnRegionChange( Old, New );
|
||||
|
||||
if ( this.Controlled )
|
||||
if ( Controlled )
|
||||
{
|
||||
if ( this.Spawner is SpawnEntry se && !se.UnlinkOnTaming && ( New == null || !New.AcceptsSpawnsFrom( se.Region ) ) )
|
||||
if ( Spawner is SpawnEntry se && !se.UnlinkOnTaming && ( New == null || !New.AcceptsSpawnsFrom( se.Region ) ) )
|
||||
{
|
||||
this.Spawner.Remove( this );
|
||||
this.Spawner = null;
|
||||
Spawner.Remove( this );
|
||||
Spawner = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4931,7 +4931,7 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual void Heal( Mobile patient )
|
||||
{
|
||||
if ( !Alive || this.Map == Map.Internal || !CanBeBeneficial( patient, true, true ) || patient.Map != this.Map || !InRange( patient, HealEndRange ) )
|
||||
if ( !Alive || Map == Map.Internal || !CanBeBeneficial( patient, true, true ) || patient.Map != Map || !InRange( patient, HealEndRange ) )
|
||||
{
|
||||
StopHeal();
|
||||
return;
|
||||
|
|
@ -5087,9 +5087,9 @@ namespace Server.Mobiles
|
|||
|
||||
if ( CanBreath && tc - m_NextBreathTime >= 0 ) // tested: controlled dragons do breath fire, what about summoned skeletal dragons?
|
||||
{
|
||||
Mobile target = this.Combatant;
|
||||
Mobile target = Combatant;
|
||||
|
||||
if ( target != null && target.Alive && !target.IsDeadBondedPet && CanBeHarmful( target ) && target.Map == this.Map && !IsDeadBondedPet && target.InRange( this, BreathRange ) && InLOS( target ) && !BardPacified )
|
||||
if ( target != null && target.Alive && !target.IsDeadBondedPet && CanBeHarmful( target ) && target.Map == Map && !IsDeadBondedPet && target.InRange( this, BreathRange ) && InLOS( target ) && !BardPacified )
|
||||
{
|
||||
if ( ( Core.TickCount - m_NextBreathTime ) < 30000 && Utility.RandomBool() )
|
||||
{
|
||||
|
|
@ -5102,9 +5102,9 @@ namespace Server.Mobiles
|
|||
|
||||
if ( ( CanHeal || CanHealOwner ) && Alive && !IsHealing && !BardPacified )
|
||||
{
|
||||
Mobile owner = this.ControlMaster;
|
||||
Mobile owner = ControlMaster;
|
||||
|
||||
if ( owner != null && CanHealOwner && tc - m_NextHealOwnerTime >= 0 && CanBeBeneficial( owner, true, true ) && owner.Map == this.Map && InRange( owner, HealStartRange ) && InLOS( owner ) && owner.Hits < HealOwnerTrigger * owner.HitsMax )
|
||||
if ( owner != null && CanHealOwner && tc - m_NextHealOwnerTime >= 0 && CanBeBeneficial( owner, true, true ) && owner.Map == Map && InRange( owner, HealStartRange ) && InLOS( owner ) && owner.Hits < HealOwnerTrigger * owner.HitsMax )
|
||||
{
|
||||
HealStart( owner );
|
||||
|
||||
|
|
@ -5118,15 +5118,15 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
|
||||
if (ReturnsToHome && this.IsSpawnerBound() && !this.InRange(Home, RangeHome) )
|
||||
if (ReturnsToHome && IsSpawnerBound() && !InRange(Home, RangeHome) )
|
||||
{
|
||||
if ((Combatant == null) && (Warmode == false) && Utility.RandomDouble() < .10) /* some throttling */
|
||||
{
|
||||
m_FailedReturnHome = !this.Move(GetDirectionTo(Home.X, Home.Y)) ? m_FailedReturnHome + 1 : 0;
|
||||
m_FailedReturnHome = !Move(GetDirectionTo(Home.X, Home.Y)) ? m_FailedReturnHome + 1 : 0;
|
||||
|
||||
if (m_FailedReturnHome > 5)
|
||||
{
|
||||
this.SetLocation(this.Home, true);
|
||||
SetLocation(Home, true);
|
||||
|
||||
m_FailedReturnHome = 0;
|
||||
}
|
||||
|
|
@ -5148,7 +5148,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
Corpse toRummage = null;
|
||||
|
||||
IPooledEnumerable<Corpse> eable = this.GetItemsInRange<Corpse>(2);
|
||||
IPooledEnumerable<Corpse> eable = GetItemsInRange<Corpse>(2);
|
||||
foreach ( Corpse item in eable )
|
||||
{
|
||||
if ( item.Items.Count > 0 )
|
||||
|
|
@ -5162,7 +5162,7 @@ namespace Server.Mobiles
|
|||
if ( toRummage == null )
|
||||
return false;
|
||||
|
||||
Container pack = this.Backpack;
|
||||
Container pack = Backpack;
|
||||
|
||||
if ( pack == null )
|
||||
return false;
|
||||
|
|
@ -5211,7 +5211,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( !Core.ML )
|
||||
{
|
||||
this.PublicOverheadMessage( MessageType.Emote, EmoteHue, false, "*looks furious*" );
|
||||
PublicOverheadMessage( MessageType.Emote, EmoteHue, false, "*looks furious*" );
|
||||
}
|
||||
|
||||
if ( bSuccess )
|
||||
|
|
@ -5247,7 +5247,7 @@ namespace Server.Mobiles
|
|||
|
||||
public bool FindMyName( string str, bool bWithAll )
|
||||
{
|
||||
string name = this.Name;
|
||||
string name = Name;
|
||||
|
||||
if ( name == null || str.Length < name.Length )
|
||||
return false;
|
||||
|
|
@ -5317,23 +5317,23 @@ namespace Server.Mobiles
|
|||
|
||||
IsDeadPet = false;
|
||||
|
||||
Effects.SendPacket( Location, Map, new BondedStatus( 0, this.Serial, 0 ) );
|
||||
Effects.SendPacket( Location, Map, new BondedStatus( 0, Serial, 0 ) );
|
||||
|
||||
this.SendIncomingPacket();
|
||||
this.SendIncomingPacket();
|
||||
SendIncomingPacket();
|
||||
SendIncomingPacket();
|
||||
|
||||
OnAfterResurrect();
|
||||
|
||||
Mobile owner = this.ControlMaster;
|
||||
Mobile owner = ControlMaster;
|
||||
|
||||
if ( owner == null || owner.Deleted || owner.Map != this.Map || !owner.InRange( this, 12 ) || !this.CanSee( owner ) || !this.InLOS( owner ) )
|
||||
if ( owner == null || owner.Deleted || owner.Map != Map || !owner.InRange( this, 12 ) || !CanSee( owner ) || !InLOS( owner ) )
|
||||
{
|
||||
if ( this.OwnerAbandonTime == DateTime.MinValue )
|
||||
this.OwnerAbandonTime = DateTime.UtcNow;
|
||||
if ( OwnerAbandonTime == DateTime.MinValue )
|
||||
OwnerAbandonTime = DateTime.UtcNow;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.OwnerAbandonTime = DateTime.MinValue;
|
||||
OwnerAbandonTime = DateTime.MinValue;
|
||||
}
|
||||
|
||||
CheckStatTimers();
|
||||
|
|
@ -5348,7 +5348,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
|
||||
public virtual bool PlayerRangeSensitive //If they are following a waypoint, they'll continue to follow it even if players aren't around
|
||||
=> (this.CurrentWayPoint == null);
|
||||
=> (CurrentWayPoint == null);
|
||||
|
||||
/* until we are sure about who should be getting deleted, move them instead */
|
||||
/* On OSI, they despawn */
|
||||
|
|
@ -5366,7 +5366,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnSectorDeactivate()
|
||||
{
|
||||
if ( !Deleted && ReturnsToHome && IsSpawnerBound() && !this.InRange( Home, ( RangeHome + 5 ) ) )
|
||||
if ( !Deleted && ReturnsToHome && IsSpawnerBound() && !InRange( Home, ( RangeHome + 5 ) ) )
|
||||
{
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( ( Utility.Random( 45 ) + 15 ) ), new TimerCallback( GoHome_Callback ) );
|
||||
|
||||
|
|
@ -5386,7 +5386,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( !( ( Map.GetSector( X, Y ) ).Active ) )
|
||||
{
|
||||
this.SetLocation( Home, true );
|
||||
SetLocation( Home, true );
|
||||
|
||||
if ( !( ( Map.GetSector( X, Y ) ).Active ) )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -122,8 +122,8 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual void DropPackContents()
|
||||
{
|
||||
Map map = this.Map;
|
||||
Container pack = this.Backpack;
|
||||
Map map = Map;
|
||||
Container pack = Backpack;
|
||||
|
||||
if ( map != null && map != Map.Internal && pack != null )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -65,14 +65,14 @@ namespace Server.Mobiles
|
|||
|
||||
m_NextPickup = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 5, 10 ) );
|
||||
|
||||
Container pack = this.Backpack;
|
||||
Container pack = Backpack;
|
||||
|
||||
if ( pack == null )
|
||||
return;
|
||||
|
||||
ArrayList list = new ArrayList();
|
||||
|
||||
foreach ( Item item in this.GetItemsInRange( 2 ) )
|
||||
foreach ( Item item in GetItemsInRange( 2 ) )
|
||||
{
|
||||
if ( item.Movable && item.Stackable )
|
||||
list.Add( item );
|
||||
|
|
@ -112,7 +112,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void BeginRelease( Mobile from )
|
||||
{
|
||||
Container pack = this.Backpack;
|
||||
Container pack = Backpack;
|
||||
|
||||
if ( pack != null && pack.Items.Count > 0 )
|
||||
from.SendGump( new WarningGump( 1060635, 30720, 1061672, 32512, 420, 280, new WarningGumpCallback( ConfirmRelease_Callback ), null ) );
|
||||
|
|
|
|||
|
|
@ -49,25 +49,25 @@ namespace Server.Mobiles
|
|||
|
||||
m_NextFlare = DateTime.UtcNow + TimeSpan.FromSeconds( 5.0 + (25.0 * Utility.RandomDouble()) );
|
||||
|
||||
this.FixedEffect( 0x37C4, 1, 12, 1109, 6 );
|
||||
this.PlaySound( 0x1D3 );
|
||||
FixedEffect( 0x37C4, 1, 12, 1109, 6 );
|
||||
PlaySound( 0x1D3 );
|
||||
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 0.5 ), new TimerCallback( Flare ) );
|
||||
}
|
||||
|
||||
private void Flare()
|
||||
{
|
||||
Mobile caster = this.ControlMaster;
|
||||
Mobile caster = ControlMaster;
|
||||
|
||||
if ( caster == null )
|
||||
caster = this.SummonMaster;
|
||||
caster = SummonMaster;
|
||||
|
||||
if ( caster == null )
|
||||
return;
|
||||
|
||||
ArrayList list = new ArrayList();
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 5 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 5 ) )
|
||||
{
|
||||
if ( m.Player && m.Alive && !m.IsDeadBondedPet && m.Karma <= 0 && m.AccessLevel < AccessLevel.Counselor )
|
||||
list.Add( m );
|
||||
|
|
|
|||
|
|
@ -71,8 +71,8 @@ namespace Server.Mobiles
|
|||
Skills[SkillName.MagicResist].Base = 120.0;
|
||||
Skills[SkillName.DetectHidden].Base = 100.0;
|
||||
|
||||
this.NextCombatTime = Core.TickCount + 500;
|
||||
this.Focus = target;
|
||||
NextCombatTime = Core.TickCount + 500;
|
||||
Focus = target;
|
||||
}
|
||||
|
||||
public ArcherGuard( Serial serial ) : base( serial )
|
||||
|
|
@ -103,7 +103,7 @@ namespace Server.Mobiles
|
|||
m_Focus = value;
|
||||
|
||||
if ( value != null )
|
||||
this.AggressiveAction( value );
|
||||
AggressiveAction( value );
|
||||
|
||||
Combatant = value;
|
||||
|
||||
|
|
@ -210,7 +210,7 @@ namespace Server.Mobiles
|
|||
|
||||
protected override void OnTick()
|
||||
{
|
||||
BaseGuard.Spawn( m_Focus, m_Focus, 1, true );
|
||||
Spawn( m_Focus, m_Focus, 1, true );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -86,8 +86,8 @@ namespace Server.Mobiles
|
|||
Skills[SkillName.MagicResist].Base = 120.0;
|
||||
Skills[SkillName.DetectHidden].Base = 100.0;
|
||||
|
||||
this.NextCombatTime = Core.TickCount + 500;
|
||||
this.Focus = target;
|
||||
NextCombatTime = Core.TickCount + 500;
|
||||
Focus = target;
|
||||
}
|
||||
|
||||
public WarriorGuard( Serial serial ) : base( serial )
|
||||
|
|
@ -118,7 +118,7 @@ namespace Server.Mobiles
|
|||
m_Focus = value;
|
||||
|
||||
if ( value != null )
|
||||
this.AggressiveAction( value );
|
||||
AggressiveAction( value );
|
||||
|
||||
Combatant = value;
|
||||
|
||||
|
|
@ -225,7 +225,7 @@ namespace Server.Mobiles
|
|||
|
||||
protected override void OnTick()
|
||||
{
|
||||
BaseGuard.Spawn( m_Focus, m_Focus, 1, true );
|
||||
Spawn( m_Focus, m_Focus, 1, true );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ namespace Server.Mobiles
|
|||
AI = AIType.AI_Mage;
|
||||
ActiveSpeed = 0.2;
|
||||
PassiveSpeed = 0.8;
|
||||
RangePerception = BaseCreature.DefaultRangePerception;
|
||||
RangePerception = DefaultRangePerception;
|
||||
FightMode = FightMode.Aggressor;
|
||||
}
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ namespace Server.Mobiles
|
|||
OfferResurrection( m );
|
||||
}
|
||||
}
|
||||
else if ( this.HealsYoungPlayers && m.Hits < m.HitsMax && m is PlayerMobile mobile && mobile.Young )
|
||||
else if ( HealsYoungPlayers && m.Hits < m.HitsMax && m is PlayerMobile mobile && mobile.Young )
|
||||
{
|
||||
OfferHeal( mobile );
|
||||
}
|
||||
|
|
@ -155,7 +155,7 @@ namespace Server.Mobiles
|
|||
AI = AIType.AI_Mage;
|
||||
ActiveSpeed = 0.2;
|
||||
PassiveSpeed = 0.8;
|
||||
RangePerception = BaseCreature.DefaultRangePerception;
|
||||
RangePerception = DefaultRangePerception;
|
||||
FightMode = FightMode.Aggressor;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ namespace Server.Mobiles
|
|||
|
||||
public static Mobile FindRandomPlayer( BaseCreature creature )
|
||||
{
|
||||
List<DamageStore> rights = BaseCreature.GetLootingRights( creature.DamageEntries, creature.HitsMax );
|
||||
List<DamageStore> rights = GetLootingRights( creature.DamageEntries, creature.HitsMax );
|
||||
|
||||
for ( int i = rights.Count - 1; i >= 0; --i )
|
||||
{
|
||||
|
|
@ -157,8 +157,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.OnDeath( c );
|
||||
|
||||
if ( !Summoned && !NoKillAwards && DemonKnight.CheckArtifactChance( this ) )
|
||||
DemonKnight.DistributeArtifact( this );
|
||||
if ( !Summoned && !NoKillAwards && CheckArtifactChance( this ) )
|
||||
DistributeArtifact( this );
|
||||
}
|
||||
|
||||
[Constructible]
|
||||
|
|
|
|||
|
|
@ -134,9 +134,9 @@ namespace Server.Mobiles
|
|||
PlaySound( 0x37D );
|
||||
}
|
||||
|
||||
if (m_Target.Hidden && InRange(m_Target, 3) && Core.TickCount - this.NextSkillTime >= 0 && UseSkill(SkillName.DetectHidden))
|
||||
if (m_Target.Hidden && InRange(m_Target, 3) && Core.TickCount - NextSkillTime >= 0 && UseSkill(SkillName.DetectHidden))
|
||||
{
|
||||
Target targ = this.Target;
|
||||
Target targ = Target;
|
||||
|
||||
if ( targ != null )
|
||||
targ.Invoke( this, this );
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( Hidden )
|
||||
{
|
||||
Effects.PlaySound( this.Location, this.Map, 0x2C8 );
|
||||
Effects.PlaySound( Location, Map, 0x2C8 );
|
||||
Combatant = null;
|
||||
}
|
||||
else
|
||||
|
|
@ -117,7 +117,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( !m_HasTeleportedAway && Hits < (HitsMax / 2) )
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map != null )
|
||||
{
|
||||
|
|
@ -131,16 +131,16 @@ namespace Server.Mobiles
|
|||
if ( !map.CanFit( x, y, z, 16, false, false ) )
|
||||
continue;
|
||||
|
||||
Point3D from = this.Location;
|
||||
Point3D from = Location;
|
||||
Point3D to = new Point3D( x, y, z );
|
||||
|
||||
if ( !InLOS( to ) )
|
||||
continue;
|
||||
|
||||
this.Location = to;
|
||||
this.ProcessDelta();
|
||||
this.Hidden = true;
|
||||
this.Combatant = null;
|
||||
Location = to;
|
||||
ProcessDelta();
|
||||
Hidden = true;
|
||||
Combatant = null;
|
||||
|
||||
Effects.SendLocationParticles( EffectItem.Create( from, map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 2023 );
|
||||
Effects.SendLocationParticles( EffectItem.Create( to, map, EffectItem.DefaultDuration ), 0x3728, 10, 10, 5023 );
|
||||
|
|
|
|||
|
|
@ -109,10 +109,10 @@ namespace Server.Mobiles
|
|||
m_Stunning = true;
|
||||
|
||||
defender.Animate( 21, 6, 1, true, false, 0 );
|
||||
this.PlaySound( 0xEE );
|
||||
PlaySound( 0xEE );
|
||||
defender.LocalOverheadMessage( MessageType.Regular, 0x3B2, false, "You have been stunned by a colossal blow!" );
|
||||
|
||||
if ( this.Weapon is BaseWeapon weapon )
|
||||
if ( Weapon is BaseWeapon weapon )
|
||||
weapon.OnHit( this, defender );
|
||||
|
||||
if ( defender.Alive )
|
||||
|
|
@ -148,10 +148,10 @@ namespace Server.Mobiles
|
|||
|
||||
if ( Utility.RandomBool() )
|
||||
{
|
||||
this.FixedParticles( 0x376A, 9, 32, 0x2539, EffectLayer.LeftHand );
|
||||
this.PlaySound( 0x1DE );
|
||||
FixedParticles( 0x376A, 9, 32, 0x2539, EffectLayer.LeftHand );
|
||||
PlaySound( 0x1DE );
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 2 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 2 ) )
|
||||
{
|
||||
if ( m != this && IsEnemy( m ) )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -80,8 +80,8 @@ namespace Server.Mobiles
|
|||
public void ThrowHatchet( Mobile to )
|
||||
{
|
||||
int damage = 50;
|
||||
this.MovingEffect( to, 0xF43, 10, 0, false, false );
|
||||
this.DoHarmful( to );
|
||||
MovingEffect( to, 0xF43, 10, 0, false, false );
|
||||
DoHarmful( to );
|
||||
AOS.Damage( to, this, damage, 100, 0, 0, 0, 0 );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -110,12 +110,12 @@ namespace Server.Mobiles
|
|||
|
||||
public void BeginSavageDance()
|
||||
{
|
||||
if ( this.Map == null )
|
||||
if ( Map == null )
|
||||
return;
|
||||
|
||||
ArrayList list = new ArrayList();
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 8 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 8 ) )
|
||||
{
|
||||
if ( m != this && m is SavageShaman )
|
||||
list.Add( m );
|
||||
|
|
@ -149,7 +149,7 @@ namespace Server.Mobiles
|
|||
|
||||
ArrayList list = new ArrayList();
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 8 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 8 ) )
|
||||
list.Add( m );
|
||||
|
||||
if ( list.Count > 0 )
|
||||
|
|
|
|||
|
|
@ -56,12 +56,12 @@ namespace Server.Mobiles
|
|||
{
|
||||
ArrayList list = new ArrayList();
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 2 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 2 ) )
|
||||
{
|
||||
if ( m == this || !CanBeHarmful( m ) )
|
||||
continue;
|
||||
|
||||
if ( m is BaseCreature creature && (creature.Controlled || creature.Summoned || creature.Team != this.Team) )
|
||||
if ( m is BaseCreature creature && (creature.Controlled || creature.Summoned || creature.Team != Team) )
|
||||
list.Add( m );
|
||||
else if ( m.Player )
|
||||
list.Add( m );
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ namespace Server.Mobiles
|
|||
Title = "the brigand";
|
||||
Hue = Utility.RandomSkinHue();
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
if ( Female = Utility.RandomBool() )
|
||||
{
|
||||
Body = 0x191;
|
||||
Name = NameList.RandomName( "female" );
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ namespace Server.Mobiles
|
|||
Race = Race.Elf;
|
||||
Hue = Race.RandomSkinHue();
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
if ( Female = Utility.RandomBool() )
|
||||
{
|
||||
Body = 0x25E;
|
||||
Name = NameList.RandomName( "female elf brigand" );
|
||||
|
|
|
|||
|
|
@ -11,16 +11,16 @@ namespace Server.Mobiles
|
|||
Title = "the executioner";
|
||||
Hue = Utility.RandomSkinHue();
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
if ( Female = Utility.RandomBool() )
|
||||
{
|
||||
this.Body = 0x191;
|
||||
this.Name = NameList.RandomName( "female" );
|
||||
Body = 0x191;
|
||||
Name = NameList.RandomName( "female" );
|
||||
AddItem( new Skirt( Utility.RandomRedHue() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Body = 0x190;
|
||||
this.Name = NameList.RandomName( "male" );
|
||||
Body = 0x190;
|
||||
Name = NameList.RandomName( "male" );
|
||||
AddItem( new ShortPants( Utility.RandomRedHue() ) );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -107,10 +107,10 @@ namespace Server.Mobiles
|
|||
m_Stunning = true;
|
||||
|
||||
defender.Animate( 21, 6, 1, true, false, 0 );
|
||||
this.PlaySound( 0xEE );
|
||||
PlaySound( 0xEE );
|
||||
defender.LocalOverheadMessage( MessageType.Regular, 0x3B2, false, "You have been stunned by a colossal blow!" );
|
||||
|
||||
if ( this.Weapon is BaseWeapon weapon )
|
||||
if ( Weapon is BaseWeapon weapon )
|
||||
weapon.OnHit( this, defender );
|
||||
|
||||
if ( defender.Alive )
|
||||
|
|
|
|||
|
|
@ -98,8 +98,8 @@ namespace Server.Mobiles
|
|||
public override bool OnBeforeDeath()
|
||||
{
|
||||
BoneMagi rm = new BoneMagi();
|
||||
rm.Team = this.Team;
|
||||
rm.Combatant = this.Combatant;
|
||||
rm.Team = Team;
|
||||
rm.Combatant = Combatant;
|
||||
rm.NoKillAwards = true;
|
||||
|
||||
if ( rm.Backpack == null )
|
||||
|
|
|
|||
|
|
@ -107,8 +107,8 @@ namespace Server.Mobiles
|
|||
public override bool OnBeforeDeath()
|
||||
{
|
||||
BoneKnight rm = new BoneKnight();
|
||||
rm.Team = this.Team;
|
||||
rm.Combatant = this.Combatant;
|
||||
rm.Team = Team;
|
||||
rm.Combatant = Combatant;
|
||||
rm.NoKillAwards = true;
|
||||
|
||||
if ( rm.Backpack == null )
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
DoHarmful( m );
|
||||
|
||||
this.MovingParticles( m, 0x1C19, 1, 0, false, true, 0, 0, 9502, 6014, 0x11D, EffectLayer.Waist, 0 );
|
||||
MovingParticles( m, 0x1C19, 1, 0, false, true, 0, 0, 9502, 6014, 0x11D, EffectLayer.Waist, 0 );
|
||||
|
||||
new InternalTimer( m, this ).Start();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ namespace Server.Mobiles
|
|||
|
||||
int orcs = 0;
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 10 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 10 ) )
|
||||
{
|
||||
if ( m is OrcishLord )
|
||||
++orcs;
|
||||
|
|
@ -116,7 +116,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
BaseCreature orc = new SpawnedOrcishLord();
|
||||
|
||||
orc.Team = this.Team;
|
||||
orc.Team = Team;
|
||||
|
||||
Point3D loc = target.Location;
|
||||
bool validLocation = false;
|
||||
|
|
@ -127,7 +127,7 @@ namespace Server.Mobiles
|
|||
int y = target.Y + Utility.Random( 3 ) - 1;
|
||||
int z = map.GetAverageZ( x, y );
|
||||
|
||||
if ( validLocation = map.CanFit( x, y, this.Z, 16, false, false ) )
|
||||
if ( validLocation = map.CanFit( x, y, Z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, Z );
|
||||
else if ( validLocation = map.CanFit( x, y, z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, z );
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ namespace Server.Mobiles
|
|||
|
||||
for ( int i = 0; i < list.Count; ++i )
|
||||
{
|
||||
if ( list[i] is ContextMenus.PaperdollEntry )
|
||||
if ( list[i] is PaperdollEntry )
|
||||
list.RemoveAt( i-- );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool OnBeforeDeath()
|
||||
{
|
||||
IMount mount = this.Mount;
|
||||
IMount mount = Mount;
|
||||
|
||||
if ( mount != null )
|
||||
mount.Rider = null;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public SpawnedOrcishLord()
|
||||
{
|
||||
Container pack = this.Backpack;
|
||||
Container pack = Backpack;
|
||||
|
||||
if ( pack != null )
|
||||
pack.Delete();
|
||||
|
|
|
|||
|
|
@ -113,14 +113,14 @@ namespace Server.Mobiles
|
|||
if ( !m_FieldActive )
|
||||
{
|
||||
// should there be an effect when spells nullifying is on?
|
||||
this.FixedParticles( 0, 10, 0, 0x2522, EffectLayer.Waist );
|
||||
FixedParticles( 0, 10, 0, 0x2522, EffectLayer.Waist );
|
||||
}
|
||||
else if ( m_FieldActive && !CanUseField )
|
||||
{
|
||||
m_FieldActive = false;
|
||||
|
||||
// TODO: message and effect when field turns down; cannot be verified on OSI due to a bug
|
||||
this.FixedParticles( 0x3735, 1, 30, 0x251F, EffectLayer.Waist );
|
||||
FixedParticles( 0x3735, 1, 30, 0x251F, EffectLayer.Waist );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( m_FieldActive )
|
||||
{
|
||||
this.FixedParticles( 0x376A, 20, 10, 0x2530, EffectLayer.Waist );
|
||||
FixedParticles( 0x376A, 20, 10, 0x2530, EffectLayer.Waist );
|
||||
|
||||
PlaySound( 0x2F4 );
|
||||
|
||||
|
|
@ -156,17 +156,17 @@ namespace Server.Mobiles
|
|||
{
|
||||
bool move = base.Move( d );
|
||||
|
||||
if ( move && m_FieldActive && this.Combatant != null )
|
||||
this.FixedParticles( 0, 10, 0, 0x2530, EffectLayer.Waist );
|
||||
if ( move && m_FieldActive && Combatant != null )
|
||||
FixedParticles( 0, 10, 0, 0x2530, EffectLayer.Waist );
|
||||
|
||||
return move;
|
||||
}
|
||||
|
||||
public void SendEBolt( Mobile to )
|
||||
{
|
||||
this.MovingParticles( to, 0x379F, 7, 0, false, true, 0xBE3, 0xFCB, 0x211 );
|
||||
MovingParticles( to, 0x379F, 7, 0, false, true, 0xBE3, 0xFCB, 0x211 );
|
||||
to.PlaySound( 0x229 );
|
||||
this.DoHarmful( to );
|
||||
DoHarmful( to );
|
||||
AOS.Damage( to, this, 50, 0, 0, 0, 0, 100 );
|
||||
}
|
||||
|
||||
|
|
@ -187,8 +187,8 @@ namespace Server.Mobiles
|
|||
|
||||
m_FieldActive = CanUseField;
|
||||
|
||||
if ( this.Name == "Exodus Minion" )
|
||||
this.Name = null;
|
||||
if ( Name == "Exodus Minion" )
|
||||
Name = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,14 +109,14 @@ namespace Server.Mobiles
|
|||
if ( !m_FieldActive )
|
||||
{
|
||||
// should there be an effect when spells nullifying is on?
|
||||
this.FixedParticles( 0, 10, 0, 0x2522, EffectLayer.Waist );
|
||||
FixedParticles( 0, 10, 0, 0x2522, EffectLayer.Waist );
|
||||
}
|
||||
else if ( m_FieldActive && !CanUseField )
|
||||
{
|
||||
m_FieldActive = false;
|
||||
|
||||
// TODO: message and effect when field turns down; cannot be verified on OSI due to a bug
|
||||
this.FixedParticles( 0x3735, 1, 30, 0x251F, EffectLayer.Waist );
|
||||
FixedParticles( 0x3735, 1, 30, 0x251F, EffectLayer.Waist );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -126,7 +126,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( m_FieldActive )
|
||||
{
|
||||
this.FixedParticles( 0x376A, 20, 10, 0x2530, EffectLayer.Waist );
|
||||
FixedParticles( 0x376A, 20, 10, 0x2530, EffectLayer.Waist );
|
||||
|
||||
PlaySound( 0x2F4 );
|
||||
|
||||
|
|
@ -152,17 +152,17 @@ namespace Server.Mobiles
|
|||
{
|
||||
bool move = base.Move( d );
|
||||
|
||||
if ( move && m_FieldActive && this.Combatant != null )
|
||||
this.FixedParticles( 0, 10, 0, 0x2530, EffectLayer.Waist );
|
||||
if ( move && m_FieldActive && Combatant != null )
|
||||
FixedParticles( 0, 10, 0, 0x2530, EffectLayer.Waist );
|
||||
|
||||
return move;
|
||||
}
|
||||
|
||||
public void SendEBolt( Mobile to )
|
||||
{
|
||||
this.MovingParticles( to, 0x379F, 7, 0, false, true, 0xBE3, 0xFCB, 0x211 );
|
||||
MovingParticles( to, 0x379F, 7, 0, false, true, 0xBE3, 0xFCB, 0x211 );
|
||||
to.PlaySound( 0x229 );
|
||||
this.DoHarmful( to );
|
||||
DoHarmful( to );
|
||||
AOS.Damage( to, this, 50, 0, 0, 0, 0, 100 );
|
||||
}
|
||||
|
||||
|
|
@ -183,8 +183,8 @@ namespace Server.Mobiles
|
|||
|
||||
m_FieldActive = CanUseField;
|
||||
|
||||
if ( this.Name == "Exodus Overseer" )
|
||||
this.Name = null;
|
||||
if ( Name == "Exodus Overseer" )
|
||||
Name = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool OnBeforeDeath()
|
||||
{
|
||||
IMount mount = this.Mount;
|
||||
IMount mount = Mount;
|
||||
|
||||
if ( mount != null )
|
||||
mount.Rider = null;
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool OnBeforeDeath()
|
||||
{
|
||||
IMount mount = this.Mount;
|
||||
IMount mount = Mount;
|
||||
|
||||
if ( mount != null )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ namespace Server.Mobiles
|
|||
"{0}!! You will pay for that!"
|
||||
};
|
||||
|
||||
this.Say( true, String.Format( toSay[Utility.Random( toSay.Length )], from.Name ) );
|
||||
Say( true, String.Format( toSay[Utility.Random( toSay.Length )], from.Name ) );
|
||||
}
|
||||
|
||||
base.OnDamage( amount, from, willKill );
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
JukaLord toBuff = null;
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 8 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 8 ) )
|
||||
{
|
||||
if ( m is JukaLord lord && IsFriend( lord ) && lord.Combatant != null && CanBeBeneficial( lord ) && lord.CanBeginAction( typeof( JukaMage ) ) && InLOS( lord ) )
|
||||
{
|
||||
|
|
@ -122,7 +122,7 @@ namespace Server.Mobiles
|
|||
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 30, 60 ) );
|
||||
|
||||
toBuff.Say( true, "Give me the power to destroy my enemies!" );
|
||||
this.Say( true, "Fight well my lord!" );
|
||||
Say( true, "Fight well my lord!" );
|
||||
|
||||
DoBeneficial( toBuff );
|
||||
|
||||
|
|
|
|||
|
|
@ -109,11 +109,11 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnThink()
|
||||
{
|
||||
if ( Combatant != null && this.MagicDamageAbsorb < 1 )
|
||||
if ( Combatant != null && MagicDamageAbsorb < 1 )
|
||||
{
|
||||
this.MagicDamageAbsorb = Utility.RandomMinMax( 5, 7 );
|
||||
this.FixedParticles( 0x375A, 10, 15, 5037, EffectLayer.Waist );
|
||||
this.PlaySound( 0x1E9 );
|
||||
MagicDamageAbsorb = Utility.RandomMinMax( 5, 7 );
|
||||
FixedParticles( 0x375A, 10, 15, 5037, EffectLayer.Waist );
|
||||
PlaySound( 0x1E9 );
|
||||
}
|
||||
|
||||
if ( DateTime.UtcNow >= m_NextAbilityTime )
|
||||
|
|
@ -122,7 +122,7 @@ namespace Server.Mobiles
|
|||
|
||||
ArrayList list = new ArrayList();
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 8 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 8 ) )
|
||||
{
|
||||
if ( m is MeerWarrior && IsFriend( m ) && CanBeBeneficial( m ) && m.Hits < m.HitsMax && !m.Poisoned && !MortalStrike.IsWounded( m ) )
|
||||
list.Add( m );
|
||||
|
|
|
|||
|
|
@ -80,8 +80,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
m_NextAbilityTime += TimeSpan.FromSeconds( 2.5 );
|
||||
|
||||
this.Say( true, "Beware, mortals! You have provoked my wrath!" );
|
||||
this.FixedParticles( 0x376A, 10, 10, 9537, 33, 0, EffectLayer.Waist );
|
||||
Say( true, "Beware, mortals! You have provoked my wrath!" );
|
||||
FixedParticles( 0x376A, 10, 10, 9537, 33, 0, EffectLayer.Waist );
|
||||
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 5.0 ), new TimerCallback( DoAreaLeech_Finish ) );
|
||||
}
|
||||
|
|
@ -90,15 +90,15 @@ namespace Server.Mobiles
|
|||
{
|
||||
ArrayList list = new ArrayList();
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 6 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 6 ) )
|
||||
{
|
||||
if ( this.CanBeHarmful( m ) && this.IsEnemy( m ) )
|
||||
if ( CanBeHarmful( m ) && IsEnemy( m ) )
|
||||
list.Add( m );
|
||||
}
|
||||
|
||||
if ( list.Count == 0 )
|
||||
{
|
||||
this.Say( true, "Bah! You have escaped my grasp this time, mortal!" );
|
||||
Say( true, "Bah! You have escaped my grasp this time, mortal!" );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -125,17 +125,17 @@ namespace Server.Mobiles
|
|||
m.MovingParticles( this, 0x36F4, 1, 0, false, false, 32, 0, 9535, 1, 0, (EffectLayer)255, 0x100 );
|
||||
m.MovingParticles( this, 0x0001, 1, 0, false, true, 32, 0, 9535, 9536, 0, (EffectLayer)255, 0 );
|
||||
|
||||
this.DoHarmful( m );
|
||||
this.Hits += AOS.Damage( m, this, damage, 100, 0, 0, 0, 0 );
|
||||
DoHarmful( m );
|
||||
Hits += AOS.Damage( m, this, damage, 100, 0, 0, 0, 0 );
|
||||
}
|
||||
|
||||
this.Say( true, "If I cannot cleanse thy soul, I will destroy it!" );
|
||||
Say( true, "If I cannot cleanse thy soul, I will destroy it!" );
|
||||
}
|
||||
}
|
||||
|
||||
private void DoFocusedLeech( Mobile combatant, string message )
|
||||
{
|
||||
this.Say( true, message );
|
||||
Say( true, message );
|
||||
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 0.5 ), new TimerStateCallback( DoFocusedLeech_Stage1 ), combatant );
|
||||
}
|
||||
|
|
@ -144,11 +144,11 @@ namespace Server.Mobiles
|
|||
{
|
||||
Mobile combatant = (Mobile)state;
|
||||
|
||||
if ( this.CanBeHarmful( combatant ) )
|
||||
if ( CanBeHarmful( combatant ) )
|
||||
{
|
||||
this.MovingParticles( combatant, 0x36FA, 1, 0, false, false, 1108, 0, 9533, 1, 0, (EffectLayer)255, 0x100 );
|
||||
this.MovingParticles( combatant, 0x0001, 1, 0, false, true, 1108, 0, 9533, 9534, 0, (EffectLayer)255, 0 );
|
||||
this.PlaySound( 0x1FB );
|
||||
MovingParticles( combatant, 0x36FA, 1, 0, false, false, 1108, 0, 9533, 1, 0, (EffectLayer)255, 0x100 );
|
||||
MovingParticles( combatant, 0x0001, 1, 0, false, true, 1108, 0, 9533, 9534, 0, (EffectLayer)255, 0 );
|
||||
PlaySound( 0x1FB );
|
||||
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 1.0 ), new TimerStateCallback( DoFocusedLeech_Stage2 ), combatant );
|
||||
}
|
||||
|
|
@ -158,14 +158,14 @@ namespace Server.Mobiles
|
|||
{
|
||||
Mobile combatant = (Mobile)state;
|
||||
|
||||
if ( this.CanBeHarmful( combatant ) )
|
||||
if ( CanBeHarmful( combatant ) )
|
||||
{
|
||||
combatant.MovingParticles( this, 0x36F4, 1, 0, false, false, 32, 0, 9535, 1, 0, (EffectLayer)255, 0x100 );
|
||||
combatant.MovingParticles( this, 0x0001, 1, 0, false, true, 32, 0, 9535, 9536, 0, (EffectLayer)255, 0 );
|
||||
|
||||
this.PlaySound( 0x209 );
|
||||
this.DoHarmful( combatant );
|
||||
this.Hits += AOS.Damage( combatant, this, Utility.RandomMinMax( 30, 40 ) - (Core.AOS ? 0 : 10), 100, 0, 0, 0, 0 );
|
||||
PlaySound( 0x209 );
|
||||
DoHarmful( combatant );
|
||||
Hits += AOS.Damage( combatant, this, Utility.RandomMinMax( 30, 40 ) - (Core.AOS ? 0 : 10), 100, 0, 0, 0, 0 );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -173,9 +173,9 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( DateTime.UtcNow >= m_NextAbilityTime )
|
||||
{
|
||||
Mobile combatant = this.Combatant;
|
||||
Mobile combatant = Combatant;
|
||||
|
||||
if ( combatant != null && combatant.Map == this.Map && combatant.InRange( this, 12 ) )
|
||||
if ( combatant != null && combatant.Map == Map && combatant.InRange( this, 12 ) )
|
||||
{
|
||||
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 10, 15 ) );
|
||||
|
||||
|
|
|
|||
|
|
@ -80,9 +80,9 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( DateTime.UtcNow >= m_NextAbilityTime )
|
||||
{
|
||||
Mobile combatant = this.Combatant;
|
||||
Mobile combatant = Combatant;
|
||||
|
||||
if ( combatant != null && combatant.Map == this.Map && combatant.InRange( this, 12 ) && IsEnemy( combatant ) && !UnderEffect( combatant ) )
|
||||
if ( combatant != null && combatant.Map == Map && combatant.InRange( this, 12 ) && IsEnemy( combatant ) && !UnderEffect( combatant ) )
|
||||
{
|
||||
m_NextAbilityTime = DateTime.UtcNow + TimeSpan.FromSeconds( Utility.RandomMinMax( 20, 30 ) );
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( bc.Controlled && bc.ControlMaster != null && !bc.ControlMaster.Deleted && bc.ControlMaster.Alive )
|
||||
{
|
||||
if ( bc.ControlMaster.Map == this.Map && bc.ControlMaster.InRange( this, 12 ) && !UnderEffect( bc.ControlMaster ) )
|
||||
if ( bc.ControlMaster.Map == Map && bc.ControlMaster.InRange( this, 12 ) && !UnderEffect( bc.ControlMaster ) )
|
||||
{
|
||||
Combatant = combatant = bc.ControlMaster;
|
||||
}
|
||||
|
|
@ -127,11 +127,11 @@ namespace Server.Mobiles
|
|||
rabid.FocusMob = combatant;
|
||||
rabid.MoveToWorld( loc, combatant.Map );
|
||||
}
|
||||
this.Say( 1071932 ); //Creatures of the forest, I call to thee! Aid me in the fight against all that is evil!
|
||||
Say( 1071932 ); //Creatures of the forest, I call to thee! Aid me in the fight against all that is evil!
|
||||
}
|
||||
else if ( combatant.Player )
|
||||
{
|
||||
this.Say( true, "I call a plague of insects to sting your flesh!" );
|
||||
Say( true, "I call a plague of insects to sting your flesh!" );
|
||||
m_Table[combatant] = Timer.DelayCall( TimeSpan.FromSeconds( 0.5 ), TimeSpan.FromSeconds( 7.0 ), new TimerStateCallback( DoEffect ), new object[]{ combatant, 0 } );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( from != null && !willKill && amount > 3 && from != null && !InRange( from, 7 ) )
|
||||
{
|
||||
this.MovingEffect( from, 0xF51, 10, 0, false, false );
|
||||
MovingEffect( from, 0xF51, 10, 0, false, false );
|
||||
SpellHelper.Damage( TimeSpan.FromSeconds( 1.0 ), from, this, Utility.RandomMinMax( 30, 40 ) - (Core.AOS ? 0 : 10), 100, 0, 0, 0, 0 );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -90,8 +90,8 @@ namespace Server.Mobiles
|
|||
|
||||
if ( version == 0 )
|
||||
{
|
||||
Server.SkillHandlers.AnimalTaming.ScaleStats( this, 0.50 );
|
||||
Server.SkillHandlers.AnimalTaming.ScaleSkills( this, 0.80, 0.90 ); // 90% * 80% = 72% of original skills trainable to 90%
|
||||
SkillHandlers.AnimalTaming.ScaleStats( this, 0.50 );
|
||||
SkillHandlers.AnimalTaming.ScaleSkills( this, 0.80, 0.90 ); // 90% * 80% = 72% of original skills trainable to 90%
|
||||
Skills[SkillName.Magery].Base = Skills[SkillName.Magery].Cap; // Greater dragons have a 90% cap reduction and 90% skill reduction on magery
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -167,15 +167,15 @@ namespace Server.Mobiles
|
|||
|
||||
public void Earthquake()
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
if (map == null)
|
||||
return;
|
||||
ArrayList targets = new ArrayList();
|
||||
foreach (Mobile m in this.GetMobilesInRange(8))
|
||||
foreach (Mobile m in GetMobilesInRange(8))
|
||||
{
|
||||
if (m == this || !CanBeHarmful(m))
|
||||
continue;
|
||||
if (m is BaseCreature creature && (creature.Controlled || creature.Summoned || creature.Team != this.Team))
|
||||
if (m is BaseCreature creature && (creature.Controlled || creature.Summoned || creature.Team != Team))
|
||||
targets.Add(m);
|
||||
else if (m.Player)
|
||||
targets.Add(m);
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ namespace Server.Mobiles
|
|||
|
||||
public void SpawnPixies( Mobile target )
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map == null )
|
||||
return;
|
||||
|
|
@ -89,11 +89,11 @@ namespace Server.Mobiles
|
|||
{
|
||||
Pixie pixie = new Pixie();
|
||||
|
||||
pixie.Team = this.Team;
|
||||
pixie.Team = Team;
|
||||
pixie.FightMode = FightMode.Closest;
|
||||
|
||||
bool validLocation = false;
|
||||
Point3D loc = this.Location;
|
||||
Point3D loc = Location;
|
||||
|
||||
for ( int j = 0; !validLocation && j < 10; ++j )
|
||||
{
|
||||
|
|
@ -101,7 +101,7 @@ namespace Server.Mobiles
|
|||
int y = Y + Utility.Random( 3 ) - 1;
|
||||
int z = map.GetAverageZ( x, y );
|
||||
|
||||
if ( validLocation = map.CanFit( x, y, this.Z, 16, false, false ) )
|
||||
if ( validLocation = map.CanFit( x, y, Z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, Z );
|
||||
else if ( validLocation = map.CanFit( x, y, z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, z );
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override double GetFightModeRanking( Mobile m, FightMode acqType, bool bPlayerOnly )
|
||||
{
|
||||
return m.Str / Math.Max( this.GetDistanceToSqrt( m ), 1.0 );
|
||||
return m.Str / Math.Max( GetDistanceToSqrt( m ), 1.0 );
|
||||
}
|
||||
|
||||
public override string DefaultName => "an animated weapon";
|
||||
|
|
|
|||
|
|
@ -155,10 +155,10 @@ namespace Server.Mobiles
|
|||
m_Stunning = true;
|
||||
|
||||
defender.Animate( 21, 6, 1, true, false, 0 );
|
||||
this.PlaySound( 0xEE );
|
||||
PlaySound( 0xEE );
|
||||
defender.LocalOverheadMessage( MessageType.Regular, 0x3B2, false, "You have been stunned by a colossal blow!" );
|
||||
|
||||
if ( this.Weapon is BaseWeapon weapon )
|
||||
if ( Weapon is BaseWeapon weapon )
|
||||
weapon.OnHit( this, defender );
|
||||
|
||||
if ( defender.Alive )
|
||||
|
|
@ -185,12 +185,12 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( Controlled || Summoned )
|
||||
{
|
||||
Mobile master = ( this.ControlMaster );
|
||||
Mobile master = ( ControlMaster );
|
||||
|
||||
if ( master == null )
|
||||
master = this.SummonMaster;
|
||||
master = SummonMaster;
|
||||
|
||||
if ( master != null && master.Player && master.Map == this.Map && master.InRange( Location, 20 ) )
|
||||
if ( master != null && master.Player && master.Map == Map && master.InRange( Location, 20 ) )
|
||||
{
|
||||
if ( master.Mana >= amount )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -89,12 +89,12 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnDamagedBySpell( Mobile caster )
|
||||
{
|
||||
if ( this.Map != null && caster != this && 0.25 > Utility.RandomDouble() )
|
||||
if ( Map != null && caster != this && 0.25 > Utility.RandomDouble() )
|
||||
{
|
||||
BaseCreature spawn = new PlagueSpawn( this );
|
||||
|
||||
spawn.Team = this.Team;
|
||||
spawn.MoveToWorld( this.Location, this.Map );
|
||||
spawn.Team = Team;
|
||||
spawn.MoveToWorld( Location, Map );
|
||||
spawn.Combatant = caster;
|
||||
|
||||
Say( 1053034 ); // * The plague beast creates another beast from its flesh! *
|
||||
|
|
@ -108,12 +108,12 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnGotMeleeAttack( Mobile attacker )
|
||||
{
|
||||
if ( this.Map != null && attacker != this && 0.25 > Utility.RandomDouble() )
|
||||
if ( Map != null && attacker != this && 0.25 > Utility.RandomDouble() )
|
||||
{
|
||||
BaseCreature spawn = new PlagueSpawn( this );
|
||||
|
||||
spawn.Team = this.Team;
|
||||
spawn.MoveToWorld( this.Location, this.Map );
|
||||
spawn.Team = Team;
|
||||
spawn.MoveToWorld( Location, Map );
|
||||
spawn.Combatant = attacker;
|
||||
|
||||
Say( 1053034 ); // * The plague beast creates another beast from its flesh! *
|
||||
|
|
@ -222,7 +222,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
int maxhits = 2000;
|
||||
|
||||
if ( this.IsParagon )
|
||||
if ( IsParagon )
|
||||
maxhits = (int)(maxhits * Paragon.HitsBuff);
|
||||
|
||||
if ( hp < 1000 && !Core.AOS )
|
||||
|
|
@ -232,9 +232,9 @@ namespace Server.Mobiles
|
|||
{
|
||||
HitsMaxSeed = maxhits;
|
||||
|
||||
int newHits = this.Hits + hp + Utility.RandomMinMax( 10, 20 ); // increase the hp until it hits if it goes over it'll max at 2000
|
||||
int newHits = Hits + hp + Utility.RandomMinMax( 10, 20 ); // increase the hp until it hits if it goes over it'll max at 2000
|
||||
|
||||
this.Hits = Math.Min( maxhits, newHits );
|
||||
Hits = Math.Min( maxhits, newHits );
|
||||
// Also provide heal for each devour on top of the hp increase
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ namespace Server.Mobiles
|
|||
|
||||
for ( int i = 0; i < list.Count; ++i )
|
||||
{
|
||||
if ( list[i] is ContextMenus.PaperdollEntry )
|
||||
if ( list[i] is PaperdollEntry )
|
||||
list.RemoveAt( i-- );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,17 +76,17 @@ namespace Server.Mobiles
|
|||
|
||||
public void SpawnBogling( Mobile m )
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map == null )
|
||||
return;
|
||||
|
||||
Bogling spawned = new Bogling();
|
||||
|
||||
spawned.Team = this.Team;
|
||||
spawned.Team = Team;
|
||||
|
||||
bool validLocation = false;
|
||||
Point3D loc = this.Location;
|
||||
Point3D loc = Location;
|
||||
|
||||
for ( int j = 0; !validLocation && j < 10; ++j )
|
||||
{
|
||||
|
|
@ -94,7 +94,7 @@ namespace Server.Mobiles
|
|||
int y = Y + Utility.Random( 3 ) - 1;
|
||||
int z = map.GetAverageZ( x, y );
|
||||
|
||||
if ( validLocation = map.CanFit( x, y, this.Z, 16, false, false ) )
|
||||
if ( validLocation = map.CanFit( x, y, Z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, Z );
|
||||
else if ( validLocation = map.CanFit( x, y, z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, z );
|
||||
|
|
@ -108,7 +108,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
ArrayList toEat = new ArrayList();
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 2 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 2 ) )
|
||||
{
|
||||
if ( m is Bogling )
|
||||
toEat.Add( m );
|
||||
|
|
@ -130,7 +130,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.OnGotMeleeAttack( attacker );
|
||||
|
||||
if ( this.Hits > (this.HitsMax / 4) )
|
||||
if ( Hits > (HitsMax / 4) )
|
||||
{
|
||||
if ( 0.25 >= Utility.RandomDouble() )
|
||||
SpawnBogling( attacker );
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void AlterMeleeDamageTo( Mobile to, ref int damage )
|
||||
{
|
||||
if ( Utility.RandomBool() && (this.Mana > 14) && to != null )
|
||||
if ( Utility.RandomBool() && (Mana > 14) && to != null )
|
||||
{
|
||||
damage = (damage + (damage / 2));
|
||||
to.SendLocalizedMessage( 1060091 ); // You take extra damage from the crushing attack!
|
||||
|
|
@ -117,9 +117,9 @@ namespace Server.Mobiles
|
|||
public void PoisonAttack( Mobile m )
|
||||
{
|
||||
DoHarmful( m );
|
||||
this.MovingParticles( m, 0x36D4, 1, 0, false, false, 0x3F, 0, 0x1F73, 1, 0, (EffectLayer)255, 0x100 );
|
||||
MovingParticles( m, 0x36D4, 1, 0, false, false, 0x3F, 0, 0x1F73, 1, 0, (EffectLayer)255, 0x100 );
|
||||
m.ApplyPoison( this, Poison.Regular );
|
||||
m.SendLocalizedMessage( 1070821, this.Name ); // %s spits a poisonous substance at you!
|
||||
m.SendLocalizedMessage( 1070821, Name ); // %s spits a poisonous substance at you!
|
||||
}
|
||||
|
||||
public override int Hides => 8;
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ namespace Server.Mobiles
|
|||
* Effect: - To: "0x57D4F5B" - ItemId: "0x27A3" - ItemIdName: "Tessen" - FromLocation: "(992 299, 24)" - ToLocation: "(992 308, 22)" - Speed: "10" - Duration: "0" - FixedDirection: "False" - Explode: "False" - Hue: "0x0" - Render: "0x0"
|
||||
* Damage: 50-65
|
||||
*/
|
||||
Effects.SendPacket( attacker, attacker.Map, new HuedEffect( EffectType.Moving, Serial.Zero, Serial.Zero, 0x27A3, this.Location, attacker.Location, 10, 0, false, false, 0, 0 ) );
|
||||
Effects.SendPacket( attacker, attacker.Map, new HuedEffect( EffectType.Moving, Serial.Zero, Serial.Zero, 0x27A3, Location, attacker.Location, 10, 0, false, false, 0, 0 ) );
|
||||
AOS.Damage( attacker, this, Utility.RandomMinMax( 50, 65 ), 100, 0, 0, 0, 0 );
|
||||
}
|
||||
}
|
||||
|
|
@ -92,7 +92,7 @@ namespace Server.Mobiles
|
|||
* Effect: - To: "0x57D4F5B" - ItemId: "0x27A3" - ItemIdName: "Tessen" - FromLocation: "(992 299, 24)" - ToLocation: "(992 308, 22)" - Speed: "10" - Duration: "0" - FixedDirection: "False" - Explode: "False" - Hue: "0x0" - Render: "0x0"
|
||||
* Damage: 50-65
|
||||
*/
|
||||
Effects.SendPacket( attacker, attacker.Map, new HuedEffect( EffectType.Moving, Serial.Zero, Serial.Zero, 0x27A3, this.Location, attacker.Location, 10, 0, false, false, 0, 0 ) );
|
||||
Effects.SendPacket( attacker, attacker.Map, new HuedEffect( EffectType.Moving, Serial.Zero, Serial.Zero, 0x27A3, Location, attacker.Location, 10, 0, false, false, 0, 0 ) );
|
||||
AOS.Damage( attacker, this, Utility.RandomMinMax( 50, 65 ), 100, 0, 0, 0, 0 );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ using Server.Items;
|
|||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[Server.Engines.Craft.Forge]
|
||||
[Engines.Craft.Forge]
|
||||
public class FireBeetle : BaseMount
|
||||
{
|
||||
public override string CorpseName => "a fire beetle corpse";
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ namespace Server.Mobiles
|
|||
|
||||
private void DoCounter( Mobile attacker )
|
||||
{
|
||||
if ( this.Map == null )
|
||||
if ( Map == null )
|
||||
return;
|
||||
|
||||
if ( attacker is BaseCreature creature && creature.BardProvoked )
|
||||
|
|
@ -105,7 +105,7 @@ namespace Server.Mobiles
|
|||
if ( target == null || !target.InRange( this, 18 ) )
|
||||
target = attacker;
|
||||
|
||||
this.Animate( 10, 4, 1, true, false, 0 );
|
||||
Animate( 10, 4, 1, true, false, 0 );
|
||||
|
||||
ArrayList targets = new ArrayList();
|
||||
|
||||
|
|
@ -114,7 +114,7 @@ namespace Server.Mobiles
|
|||
if ( m == this || !CanBeHarmful( m ) )
|
||||
continue;
|
||||
|
||||
if ( m is BaseCreature bc && (bc.Controlled || bc.Summoned || bc.Team != this.Team))
|
||||
if ( m is BaseCreature bc && (bc.Controlled || bc.Summoned || bc.Team != Team))
|
||||
targets.Add( m );
|
||||
else if ( m.Player && m.Alive )
|
||||
targets.Add( m );
|
||||
|
|
|
|||
|
|
@ -226,12 +226,12 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
|
||||
public Server.Guilds.RankDefinition GuildRank
|
||||
public Guilds.RankDefinition GuildRank
|
||||
{
|
||||
get
|
||||
{
|
||||
if ( this.AccessLevel >= AccessLevel.GameMaster )
|
||||
return Server.Guilds.RankDefinition.Leader;
|
||||
if ( AccessLevel >= AccessLevel.GameMaster )
|
||||
return Guilds.RankDefinition.Leader;
|
||||
else
|
||||
return m_GuildRank;
|
||||
}
|
||||
|
|
@ -747,9 +747,9 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( dismount )
|
||||
{
|
||||
if ( this.Mount != null )
|
||||
if ( Mount != null )
|
||||
{
|
||||
this.Mount.Rider = null;
|
||||
Mount.Rider = null;
|
||||
}
|
||||
else if ( AnimalForm.UnderTransformation( this ) )
|
||||
{
|
||||
|
|
@ -779,7 +779,7 @@ namespace Server.Mobiles
|
|||
if ( type != ResistanceType.Physical && 60 < max && Spells.Fourth.CurseSpell.UnderEffect( this ) )
|
||||
max = 60;
|
||||
|
||||
if ( Core.ML && this.Race == Race.Elf && type == ResistanceType.Energy )
|
||||
if ( Core.ML && Race == Race.Elf && type == ResistanceType.Energy )
|
||||
max += 5; //Intended to go after the 60 max from curse
|
||||
|
||||
return max;
|
||||
|
|
@ -791,7 +791,7 @@ namespace Server.Mobiles
|
|||
UpdateResistances();
|
||||
}
|
||||
|
||||
public override int MaxWeight => (((Core.ML && this.Race == Race.Human) ? 100 : 40) + (int)(3.5 * this.Str));
|
||||
public override int MaxWeight => (((Core.ML && Race == Race.Human) ? 100 : 40) + (int)(3.5 * Str));
|
||||
|
||||
private int m_LastGlobalLight = -1, m_LastPersonalLight = -1;
|
||||
|
||||
|
|
@ -805,17 +805,17 @@ namespace Server.Mobiles
|
|||
{
|
||||
global = LightCycle.ComputeLevelFor( this );
|
||||
|
||||
bool racialNightSight = (Core.ML && this.Race == Race.Elf);
|
||||
bool racialNightSight = (Core.ML && Race == Race.Elf);
|
||||
|
||||
if ( this.LightLevel < 21 && ( AosAttributes.GetValue( this, AosAttribute.NightSight ) > 0 || racialNightSight ))
|
||||
if ( LightLevel < 21 && ( AosAttributes.GetValue( this, AosAttribute.NightSight ) > 0 || racialNightSight ))
|
||||
personal = 21;
|
||||
else
|
||||
personal = this.LightLevel;
|
||||
personal = LightLevel;
|
||||
}
|
||||
|
||||
public override void CheckLightLevels( bool forceResend )
|
||||
{
|
||||
NetState ns = this.NetState;
|
||||
NetState ns = NetState;
|
||||
|
||||
if ( ns == null )
|
||||
return;
|
||||
|
|
@ -865,7 +865,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if (Mana < m_ExecutesLightningStrike)
|
||||
{
|
||||
LightningStrike.ClearCurrentMove(this);
|
||||
SpecialMove.ClearCurrentMove(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -913,7 +913,7 @@ namespace Server.Mobiles
|
|||
if ( m_NoDeltaRecursion || Map == null || Map == Map.Internal )
|
||||
return;
|
||||
|
||||
if ( this.Items == null )
|
||||
if ( Items == null )
|
||||
return;
|
||||
|
||||
m_NoDeltaRecursion = true;
|
||||
|
|
@ -927,16 +927,16 @@ namespace Server.Mobiles
|
|||
if ( Map == null || Map == Map.Internal )
|
||||
return;
|
||||
|
||||
List<Item> items = this.Items;
|
||||
List<Item> items = Items;
|
||||
|
||||
if ( items == null )
|
||||
return;
|
||||
|
||||
bool moved = false;
|
||||
|
||||
int str = this.Str;
|
||||
int dex = this.Dex;
|
||||
int intel = this.Int;
|
||||
int str = Str;
|
||||
int dex = Dex;
|
||||
int intel = Int;
|
||||
|
||||
#region Factions
|
||||
int factionItemCount = 0;
|
||||
|
|
@ -994,7 +994,7 @@ namespace Server.Mobiles
|
|||
drop = true;
|
||||
else if ( intel < weapon.IntRequirement )
|
||||
drop = true;
|
||||
else if ( weapon.RequiredRace != null && weapon.RequiredRace != this.Race )
|
||||
else if ( weapon.RequiredRace != null && weapon.RequiredRace != Race )
|
||||
drop = true;
|
||||
|
||||
if ( drop )
|
||||
|
|
@ -1021,7 +1021,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
drop = true;
|
||||
}
|
||||
else if ( armor.RequiredRace != null && armor.RequiredRace != this.Race )
|
||||
else if ( armor.RequiredRace != null && armor.RequiredRace != Race )
|
||||
{
|
||||
drop = true;
|
||||
}
|
||||
|
|
@ -1067,7 +1067,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
drop = true;
|
||||
}
|
||||
else if ( clothing.RequiredRace != null && clothing.RequiredRace != this.Race )
|
||||
else if ( clothing.RequiredRace != null && clothing.RequiredRace != Race )
|
||||
{
|
||||
drop = true;
|
||||
}
|
||||
|
|
@ -1247,13 +1247,13 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnSubItemAdded( Item item )
|
||||
{
|
||||
if ( AccessLevel < AccessLevel.GameMaster && item.IsChildOf( this.Backpack ) )
|
||||
if ( AccessLevel < AccessLevel.GameMaster && item.IsChildOf( Backpack ) )
|
||||
{
|
||||
int maxWeight = WeightOverloading.GetMaxWeight( this );
|
||||
int curWeight = Mobile.BodyWeight + this.TotalWeight;
|
||||
int curWeight = BodyWeight + TotalWeight;
|
||||
|
||||
if ( curWeight > maxWeight )
|
||||
this.SendLocalizedMessage( 1019035, true, String.Format( " : {0} / {1}", curWeight, maxWeight ) );
|
||||
SendLocalizedMessage( 1019035, true, String.Format( " : {0} / {1}", curWeight, maxWeight ) );
|
||||
}
|
||||
|
||||
base.OnSubItemAdded(item);
|
||||
|
|
@ -1304,7 +1304,7 @@ namespace Server.Mobiles
|
|||
Mana = Mana;
|
||||
}
|
||||
|
||||
if ( this.NetState != null )
|
||||
if ( NetState != null )
|
||||
CheckLightLevels( false );
|
||||
|
||||
InvalidateMyRunUO();
|
||||
|
|
@ -1321,7 +1321,7 @@ namespace Server.Mobiles
|
|||
Mana = Mana;
|
||||
}
|
||||
|
||||
if ( this.NetState != null )
|
||||
if ( NetState != null )
|
||||
CheckLightLevels( false );
|
||||
|
||||
InvalidateMyRunUO();
|
||||
|
|
@ -1363,7 +1363,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( Core.AOS )
|
||||
{
|
||||
strBase = this.Str; //this.Str already includes GetStatOffset/str
|
||||
strBase = Str; //this.Str already includes GetStatOffset/str
|
||||
strOffs = AosAttributes.GetValue( this, AosAttribute.BonusHits );
|
||||
|
||||
if ( Core.ML && strOffs > 25 && AccessLevel <= AccessLevel.Player )
|
||||
|
|
@ -1374,7 +1374,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
else
|
||||
{
|
||||
strBase = this.RawStr;
|
||||
strBase = RawStr;
|
||||
}
|
||||
|
||||
return (strBase / 2) + 50 + strOffs;
|
||||
|
|
@ -1396,7 +1396,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
get
|
||||
{
|
||||
if ( Core.ML && this.AccessLevel == AccessLevel.Player )
|
||||
if ( Core.ML && AccessLevel == AccessLevel.Player )
|
||||
return Math.Min( base.Str, 150 );
|
||||
|
||||
return base.Str;
|
||||
|
|
@ -1409,7 +1409,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
get
|
||||
{
|
||||
if ( Core.ML && this.AccessLevel == AccessLevel.Player )
|
||||
if ( Core.ML && AccessLevel == AccessLevel.Player )
|
||||
return Math.Min( base.Int, 150 );
|
||||
|
||||
return base.Int;
|
||||
|
|
@ -1422,7 +1422,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
get
|
||||
{
|
||||
if ( Core.ML && this.AccessLevel == AccessLevel.Player )
|
||||
if ( Core.ML && AccessLevel == AccessLevel.Player )
|
||||
return Math.Min( base.Dex, 150 );
|
||||
|
||||
return base.Dex;
|
||||
|
|
@ -1434,7 +1434,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool Move( Direction d )
|
||||
{
|
||||
NetState ns = this.NetState;
|
||||
NetState ns = NetState;
|
||||
|
||||
if ( ns != null )
|
||||
{
|
||||
|
|
@ -1453,11 +1453,11 @@ namespace Server.Mobiles
|
|||
bool res;
|
||||
|
||||
if ( !Alive )
|
||||
Server.Movement.MovementImpl.IgnoreMovableImpassables = true;
|
||||
Movement.MovementImpl.IgnoreMovableImpassables = true;
|
||||
|
||||
res = base.Move( d );
|
||||
|
||||
Server.Movement.MovementImpl.IgnoreMovableImpassables = false;
|
||||
Movement.MovementImpl.IgnoreMovableImpassables = false;
|
||||
|
||||
if ( !res )
|
||||
return false;
|
||||
|
|
@ -1478,7 +1478,7 @@ namespace Server.Mobiles
|
|||
|
||||
newZ = foundation.Z + HouseFoundation.GetLevelZ( context.Level, context.Foundation );
|
||||
|
||||
int newX = this.X, newY = this.Y;
|
||||
int newX = X, newY = Y;
|
||||
Movement.Movement.Offset( d, ref newX, ref newY );
|
||||
|
||||
int startX = foundation.X + foundation.Components.Min.X + 1;
|
||||
|
|
@ -1538,7 +1538,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
m_NextProtectionCheck = 10;
|
||||
|
||||
Regions.GuardedRegion reg = (Regions.GuardedRegion) this.Region.GetRegion( typeof( Regions.GuardedRegion ) );
|
||||
GuardedRegion reg = (GuardedRegion) Region.GetRegion( typeof( GuardedRegion ) );
|
||||
bool isProtected = ( reg != null && !reg.IsDisabled() );
|
||||
|
||||
if ( isProtected != m_LastProtectedMessage )
|
||||
|
|
@ -1564,7 +1564,7 @@ namespace Server.Mobiles
|
|||
if ( !isTeleport && AccessLevel == AccessLevel.Player )
|
||||
{
|
||||
// moving, not teleporting
|
||||
int zDrop = ( this.Location.Z - loc.Z );
|
||||
int zDrop = ( Location.Z - loc.Z );
|
||||
|
||||
if ( zDrop > 20 ) // we fell more than one story
|
||||
Hits -= ((zDrop / 20) * 10) - 5; // deal some damage; does not kill, disrupt, etc
|
||||
|
|
@ -1641,7 +1641,7 @@ namespace Server.Mobiles
|
|||
if ( Alive && Core.Expansion >= Expansion.AOS )
|
||||
{
|
||||
Party theirParty = from.Party as Party;
|
||||
Party ourParty = this.Party as Party;
|
||||
Party ourParty = Party as Party;
|
||||
|
||||
if ( theirParty == null && ourParty == null ) {
|
||||
list.Add( new AddToPartyEntry( from, this ) );
|
||||
|
|
@ -1670,10 +1670,10 @@ namespace Server.Mobiles
|
|||
{
|
||||
Mobile prot = m_JusticeProtectors[i];
|
||||
|
||||
string args = String.Format( "{0}\t{1}", this.Name, prot.Name );
|
||||
string args = String.Format( "{0}\t{1}", Name, prot.Name );
|
||||
|
||||
prot.SendLocalizedMessage( 1049371, args ); // The protective relationship between ~1_PLAYER1~ and ~2_PLAYER2~ has been ended.
|
||||
this.SendLocalizedMessage( 1049371, args ); // The protective relationship between ~1_PLAYER1~ and ~2_PLAYER2~ has been ended.
|
||||
SendLocalizedMessage( 1049371, args ); // The protective relationship between ~1_PLAYER1~ and ~2_PLAYER2~ has been ended.
|
||||
}
|
||||
|
||||
m_JusticeProtectors.Clear();
|
||||
|
|
@ -2127,7 +2127,7 @@ namespace Server.Mobiles
|
|||
|
||||
private void ToggleQuestItemTarget()
|
||||
{
|
||||
Server.Engines.MLQuests.Gumps.BaseQuestGump.CloseOtherGumps( this );
|
||||
Engines.MLQuests.Gumps.BaseQuestGump.CloseOtherGumps( this );
|
||||
CloseGump( typeof( Server.Engines.MLQuests.Gumps.QuestLogDetailedGump ) );
|
||||
CloseGump( typeof( Server.Engines.MLQuests.Gumps.QuestLogGump ) );
|
||||
CloseGump( typeof( Server.Engines.MLQuests.Gumps.QuestOfferGump ) );
|
||||
|
|
@ -2190,7 +2190,7 @@ namespace Server.Mobiles
|
|||
BaseHouse house = BaseHouse.FindHouseAt( this );
|
||||
|
||||
if ( house != null )
|
||||
this.Location = house.BanLocation;
|
||||
Location = house.BanLocation;
|
||||
}
|
||||
|
||||
private delegate void ContextCallback();
|
||||
|
|
@ -2292,7 +2292,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
#endregion
|
||||
|
||||
if ( this.AccessLevel < AccessLevel.GameMaster && item.Layer != Layer.Mount && this.HasTrade )
|
||||
if ( AccessLevel < AccessLevel.GameMaster && item.Layer != Layer.Mount && HasTrade )
|
||||
{
|
||||
BounceInfo bounce = item.GetBounce();
|
||||
|
||||
|
|
@ -2300,7 +2300,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( bounce.m_Parent is Item parent )
|
||||
{
|
||||
if ( parent == this.Backpack || parent.IsChildOf( this.Backpack ) )
|
||||
if ( parent == Backpack || parent.IsChildOf( Backpack ) )
|
||||
return true;
|
||||
}
|
||||
else if ( bounce.m_Parent == this )
|
||||
|
|
@ -2324,7 +2324,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( to.Holding != null )
|
||||
msgNum = 1062727; // You cannot trade with someone who is dragging something.
|
||||
else if ( this.HasTrade )
|
||||
else if ( HasTrade )
|
||||
msgNum = 1062781; // You are already trading with someone else!
|
||||
else if ( to.HasTrade )
|
||||
msgNum = 1062779; // That person is already involved in a trade
|
||||
|
|
@ -2340,7 +2340,7 @@ namespace Server.Mobiles
|
|||
plusWeight += cont.TotalWeight;
|
||||
}
|
||||
|
||||
if ( this.Backpack == null || !this.Backpack.CheckHold( this, item, false, checkItems, plusItems, plusWeight ) )
|
||||
if ( Backpack == null || !Backpack.CheckHold( this, item, false, checkItems, plusItems, plusWeight ) )
|
||||
msgNum = 1004040; // You would not be able to hold this if the trade failed.
|
||||
else if ( to.Backpack == null || !to.Backpack.CheckHold( to, item, false, checkItems, plusItems, plusWeight ) )
|
||||
msgNum = 1004039; // The recipient of this trade would not be able to carry this.
|
||||
|
|
@ -2394,8 +2394,8 @@ namespace Server.Mobiles
|
|||
if ( from.AccessLevel >= AccessLevel.GameMaster )
|
||||
return true;
|
||||
|
||||
Container pack = this.Backpack;
|
||||
if ( from == this && this.HasTrade && ( target == pack || target.IsChildOf( pack ) ) )
|
||||
Container pack = Backpack;
|
||||
if ( from == this && HasTrade && ( target == pack || target.IsChildOf( pack ) ) )
|
||||
{
|
||||
BounceInfo bounce = item.GetBounce();
|
||||
|
||||
|
|
@ -2426,7 +2426,7 @@ namespace Server.Mobiles
|
|||
|
||||
HouseFoundation foundation = context.Foundation;
|
||||
|
||||
int newX = this.X, newY = this.Y;
|
||||
int newX = X, newY = Y;
|
||||
int newZ = foundation.Z + HouseFoundation.GetLevelZ( context.Level, context.Foundation );
|
||||
|
||||
int startX = foundation.X + foundation.Components.Min.X + 1;
|
||||
|
|
@ -2539,11 +2539,11 @@ namespace Server.Mobiles
|
|||
|
||||
public override void Resurrect()
|
||||
{
|
||||
bool wasAlive = this.Alive;
|
||||
bool wasAlive = Alive;
|
||||
|
||||
base.Resurrect();
|
||||
|
||||
if ( this.Alive && !wasAlive )
|
||||
if ( Alive && !wasAlive )
|
||||
{
|
||||
Item deathRobe = new DeathRobe();
|
||||
|
||||
|
|
@ -2556,7 +2556,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
get
|
||||
{
|
||||
if ( Core.ML && this.Race == Race.Human )
|
||||
if ( Core.ML && Race == Race.Human )
|
||||
return 20.0;
|
||||
|
||||
return 0;
|
||||
|
|
@ -2581,7 +2581,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if (!item.Deleted && (item.LootType == LootType.Blessed || item.Insured))
|
||||
{
|
||||
if (this.Backpack != item.Parent)
|
||||
if (Backpack != item.Parent)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
@ -2607,11 +2607,11 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
|
||||
m_EquipSnapshot = new List<Item>( this.Items );
|
||||
m_EquipSnapshot = new List<Item>( Items );
|
||||
|
||||
m_NonAutoreinsuredItems = 0;
|
||||
m_InsuranceCost = 0;
|
||||
m_InsuranceAward = base.FindMostRecentDamager( false );
|
||||
m_InsuranceAward = FindMostRecentDamager( false );
|
||||
|
||||
if ( m_InsuranceAward is BaseCreature creature )
|
||||
{
|
||||
|
|
@ -2697,7 +2697,7 @@ namespace Server.Mobiles
|
|||
|
||||
DeathMoveResult res = base.GetParentMoveResultFor( item );
|
||||
|
||||
if ( res == DeathMoveResult.MoveToCorpse && item.Movable && this.Young )
|
||||
if ( res == DeathMoveResult.MoveToCorpse && item.Movable && Young )
|
||||
res = DeathMoveResult.MoveToBackpack;
|
||||
|
||||
return res;
|
||||
|
|
@ -2714,7 +2714,7 @@ namespace Server.Mobiles
|
|||
|
||||
DeathMoveResult res = base.GetInventoryMoveResultFor( item );
|
||||
|
||||
if ( res == DeathMoveResult.MoveToCorpse && item.Movable && this.Young )
|
||||
if ( res == DeathMoveResult.MoveToCorpse && item.Movable && Young )
|
||||
res = DeathMoveResult.MoveToBackpack;
|
||||
|
||||
return res;
|
||||
|
|
@ -2767,7 +2767,7 @@ namespace Server.Mobiles
|
|||
Criminal = true;
|
||||
}
|
||||
|
||||
if ( this.Kills >= 5 && DateTime.UtcNow >= m_NextJustAward )
|
||||
if ( Kills >= 5 && DateTime.UtcNow >= m_NextJustAward )
|
||||
{
|
||||
Mobile m = FindMostRecentDamager( false );
|
||||
|
||||
|
|
@ -2780,9 +2780,9 @@ namespace Server.Mobiles
|
|||
|
||||
int pointsToGain = 0;
|
||||
|
||||
pointsToGain += (int) Math.Sqrt( this.GameTime.TotalSeconds * 4 );
|
||||
pointsToGain += (int) Math.Sqrt( GameTime.TotalSeconds * 4 );
|
||||
pointsToGain *= 5;
|
||||
pointsToGain += (int) Math.Pow( this.Skills.Total / 250, 2 );
|
||||
pointsToGain += (int) Math.Pow( Skills.Total / 250, 2 );
|
||||
|
||||
if ( VirtueHelper.Award( m, VirtueName.Justice, pointsToGain, ref gainedPath ) )
|
||||
{
|
||||
|
|
@ -2805,7 +2805,7 @@ namespace Server.Mobiles
|
|||
pm.SendLocalizedMessage( 1060397, pm.m_InsuranceBonus.ToString() ); // ~1_AMOUNT~ gold has been deposited into your bank box.
|
||||
}
|
||||
|
||||
Mobile killer = this.FindMostRecentDamager( true );
|
||||
Mobile killer = FindMostRecentDamager( true );
|
||||
|
||||
if ( killer is BaseCreature bcKiller )
|
||||
{
|
||||
|
|
@ -2814,7 +2814,7 @@ namespace Server.Mobiles
|
|||
killer = master;
|
||||
}
|
||||
|
||||
if ( this.Young && m_DuelContext == null )
|
||||
if ( Young && m_DuelContext == null )
|
||||
{
|
||||
if ( YoungDeathTeleport() )
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 2.5 ), new TimerCallback( SendYoungDeathNotice ) );
|
||||
|
|
@ -3027,7 +3027,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( Guilds.Guild.NewGuildSystem && (type == MessageType.Guild || type == MessageType.Alliance) )
|
||||
{
|
||||
if ( !(this.Guild is Guild g) )
|
||||
if ( !(Guild is Guild g) )
|
||||
{
|
||||
SendLocalizedMessage( 1063142 ); // You are not in a guild!
|
||||
}
|
||||
|
|
@ -3087,10 +3087,10 @@ namespace Server.Mobiles
|
|||
|
||||
public override void Damage( int amount, Mobile from )
|
||||
{
|
||||
if ( Spells.Necromancy.EvilOmenSpell.TryEndEffect( this ) )
|
||||
if ( EvilOmenSpell.TryEndEffect( this ) )
|
||||
amount = (int)(amount * 1.25);
|
||||
|
||||
Mobile oath = Spells.Necromancy.BloodOathSpell.GetBloodOath( from );
|
||||
Mobile oath = BloodOathSpell.GetBloodOath( from );
|
||||
|
||||
/* Per EA's UO Herald Pub48 (ML):
|
||||
* ((resist spellsx10)/20 + 10=percentage of damage resisted)
|
||||
|
|
@ -3136,7 +3136,7 @@ namespace Server.Mobiles
|
|||
if ( !Alive )
|
||||
return ApplyPoisonResult.Immune;
|
||||
|
||||
if ( Spells.Necromancy.EvilOmenSpell.TryEndEffect( this ) )
|
||||
if ( EvilOmenSpell.TryEndEffect( this ) )
|
||||
poison = PoisonImpl.IncreaseLevel( poison );
|
||||
|
||||
ApplyPoisonResult result = base.ApplyPoison( from, poison );
|
||||
|
|
@ -3149,7 +3149,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool CheckPoisonImmunity( Mobile from, Poison poison )
|
||||
{
|
||||
if ( this.Young && (DuelContext == null || !DuelContext.Started || DuelContext.Finished) )
|
||||
if ( Young && (DuelContext == null || !DuelContext.Started || DuelContext.Finished) )
|
||||
return true;
|
||||
|
||||
return base.CheckPoisonImmunity( from, poison );
|
||||
|
|
@ -3157,7 +3157,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnPoisonImmunity( Mobile from, Poison poison )
|
||||
{
|
||||
if ( this.Young && (DuelContext == null || !DuelContext.Started || DuelContext.Finished) )
|
||||
if ( Young && (DuelContext == null || !DuelContext.Started || DuelContext.Finished) )
|
||||
SendLocalizedMessage( 502808 ); // You would have been poisoned, were you not new to the land of Britannia. Be careful in the future.
|
||||
else
|
||||
base.OnPoisonImmunity( from, poison );
|
||||
|
|
@ -3201,7 +3201,7 @@ namespace Server.Mobiles
|
|||
|
||||
public bool AntiMacroCheck( Skill skill, object obj )
|
||||
{
|
||||
if ( obj == null || m_AntiMacroTable == null || this.AccessLevel != AccessLevel.Player )
|
||||
if ( obj == null || m_AntiMacroTable == null || AccessLevel != AccessLevel.Player )
|
||||
return true;
|
||||
|
||||
Hashtable tbl = (Hashtable)m_AntiMacroTable[skill];
|
||||
|
|
@ -3514,7 +3514,7 @@ namespace Server.Mobiles
|
|||
if ( AccessLevel > AccessLevel.Player )
|
||||
m_IgnoreMobiles = true;
|
||||
|
||||
List<Mobile> list = this.Stabled;
|
||||
List<Mobile> list = Stabled;
|
||||
|
||||
for ( int i = 0; i < list.Count; ++i )
|
||||
{
|
||||
|
|
@ -3671,7 +3671,7 @@ namespace Server.Mobiles
|
|||
|
||||
writer.Write( m_LongTermElapse );
|
||||
writer.Write( m_ShortTermElapse );
|
||||
writer.Write( this.GameTime );
|
||||
writer.Write( GameTime );
|
||||
}
|
||||
|
||||
public static void CheckAtrophies( Mobile m )
|
||||
|
|
@ -3687,14 +3687,14 @@ namespace Server.Mobiles
|
|||
|
||||
public void CheckKillDecay()
|
||||
{
|
||||
if ( m_ShortTermElapse < this.GameTime )
|
||||
if ( m_ShortTermElapse < GameTime )
|
||||
{
|
||||
m_ShortTermElapse += TimeSpan.FromHours( 8 );
|
||||
if ( ShortTermMurders > 0 )
|
||||
--ShortTermMurders;
|
||||
}
|
||||
|
||||
if ( m_LongTermElapse < this.GameTime )
|
||||
if ( m_LongTermElapse < GameTime )
|
||||
{
|
||||
m_LongTermElapse += TimeSpan.FromHours( 40 );
|
||||
if ( Kills > 0 )
|
||||
|
|
@ -3704,8 +3704,8 @@ namespace Server.Mobiles
|
|||
|
||||
public void ResetKillTime()
|
||||
{
|
||||
m_ShortTermElapse = this.GameTime + TimeSpan.FromHours( 8 );
|
||||
m_LongTermElapse = this.GameTime + TimeSpan.FromHours( 40 );
|
||||
m_ShortTermElapse = GameTime + TimeSpan.FromHours( 8 );
|
||||
m_LongTermElapse = GameTime + TimeSpan.FromHours( 40 );
|
||||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
|
|
@ -3840,7 +3840,7 @@ namespace Server.Mobiles
|
|||
Faction faction = pl.Faction;
|
||||
|
||||
if ( faction.Commander == this )
|
||||
text = String.Concat( this.Female ? "(Commanding Lady of the " : "(Commanding Lord of the ", faction.Definition.FriendlyName, ")" );
|
||||
text = String.Concat( Female ? "(Commanding Lady of the " : "(Commanding Lord of the ", faction.Definition.FriendlyName, ")" );
|
||||
else if ( pl.Sheriff != null )
|
||||
text = String.Concat( "(The Sheriff of ", pl.Sheriff.Definition.FriendlyName, ", ", faction.Definition.FriendlyName, ")" );
|
||||
else if ( pl.Finance != null )
|
||||
|
|
@ -3885,7 +3885,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
else if ( AllowedStealthSteps-- <= 0 )
|
||||
{
|
||||
Server.SkillHandlers.Stealth.OnUse( this );
|
||||
SkillHandlers.Stealth.OnUse( this );
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -4014,7 +4014,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnKillsChange( int oldValue )
|
||||
{
|
||||
if ( this.Young && this.Kills > oldValue )
|
||||
if ( Young && Kills > oldValue )
|
||||
{
|
||||
((Account)Account)?.RemoveYoungStatus( 0 );
|
||||
}
|
||||
|
|
@ -4027,7 +4027,7 @@ namespace Server.Mobiles
|
|||
InvalidateMyRunUO();
|
||||
}
|
||||
|
||||
public override void OnGuildChange( Server.Guilds.BaseGuild oldGuild )
|
||||
public override void OnGuildChange( BaseGuild oldGuild )
|
||||
{
|
||||
InvalidateMyRunUO();
|
||||
}
|
||||
|
|
@ -4049,7 +4049,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnSkillChange( SkillName skill, double oldBase )
|
||||
{
|
||||
if ( this.Young && this.SkillsTotal >= 4500 )
|
||||
if ( Young && SkillsTotal >= 4500 )
|
||||
{
|
||||
((Account)Account)?.RemoveYoungStatus( 1019036 ); // You have successfully obtained a respectable skill level, and have outgrown your status as a young player!
|
||||
}
|
||||
|
|
@ -4096,24 +4096,24 @@ namespace Server.Mobiles
|
|||
|
||||
public override int ComputeMovementSpeed( Direction dir, bool checkTurning )
|
||||
{
|
||||
if ( checkTurning && (dir & Direction.Mask) != (this.Direction & Direction.Mask) )
|
||||
return Mobile.RunMount; // We are NOT actually moving (just a direction change)
|
||||
if ( checkTurning && (dir & Direction.Mask) != (Direction & Direction.Mask) )
|
||||
return RunMount; // We are NOT actually moving (just a direction change)
|
||||
|
||||
TransformContext context = TransformationSpellHelper.GetContext( this );
|
||||
|
||||
if ( context != null && context.Type == typeof( ReaperFormSpell ) )
|
||||
return Mobile.WalkFoot;
|
||||
return WalkFoot;
|
||||
|
||||
bool running = ( (dir & Direction.Running) != 0 );
|
||||
|
||||
bool onHorse = ( this.Mount != null );
|
||||
bool onHorse = ( Mount != null );
|
||||
|
||||
AnimalFormContext animalContext = AnimalForm.GetContext( this );
|
||||
|
||||
if ( onHorse || (animalContext != null && animalContext.SpeedBoost) )
|
||||
return ( running ? Mobile.RunMount : Mobile.WalkMount );
|
||||
return ( running ? RunMount : WalkMount );
|
||||
|
||||
return ( running ? Mobile.RunFoot : Mobile.WalkFoot );
|
||||
return ( running ? RunFoot : WalkFoot );
|
||||
}
|
||||
|
||||
public static bool MovementThrottle_Callback( NetState ns )
|
||||
|
|
@ -4172,12 +4172,12 @@ namespace Server.Mobiles
|
|||
|
||||
private void DeltaEnemies( Type oldType, Type newType )
|
||||
{
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 18 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 18 ) )
|
||||
{
|
||||
Type t = m.GetType();
|
||||
|
||||
if ( t == oldType || t == newType ) {
|
||||
NetState ns = this.NetState;
|
||||
NetState ns = NetState;
|
||||
|
||||
if ( ns != null ) {
|
||||
if ( ns.StygianAbyss ) {
|
||||
|
|
@ -4355,7 +4355,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
#endregion
|
||||
|
||||
if ( Core.ML && this.Map == Faction.Facet )
|
||||
if ( Core.ML && Map == Faction.Facet )
|
||||
{
|
||||
Faction faction = Faction.Find( this );
|
||||
|
||||
|
|
@ -4384,7 +4384,7 @@ namespace Server.Mobiles
|
|||
|
||||
public bool CheckYoungProtection( Mobile from )
|
||||
{
|
||||
if ( !this.Young )
|
||||
if ( !Young )
|
||||
return false;
|
||||
|
||||
if ( Region is BaseRegion region && !region.YoungProtected )
|
||||
|
|
@ -4393,7 +4393,7 @@ namespace Server.Mobiles
|
|||
if ( @from is BaseCreature creature && creature.IgnoreYoungProtection )
|
||||
return false;
|
||||
|
||||
if ( this.Quest != null && this.Quest.IgnoreYoungProtection( from ) )
|
||||
if ( Quest != null && Quest.IgnoreYoungProtection( from ) )
|
||||
return false;
|
||||
|
||||
if ( DateTime.UtcNow - m_LastYoungMessage > TimeSpan.FromMinutes( 1.0 ) )
|
||||
|
|
@ -4465,16 +4465,16 @@ namespace Server.Mobiles
|
|||
|
||||
public bool YoungDeathTeleport()
|
||||
{
|
||||
if ( this.Region.IsPartOf( typeof( Jail ) )
|
||||
|| this.Region.IsPartOf( "Samurai start location" )
|
||||
|| this.Region.IsPartOf( "Ninja start location" )
|
||||
|| this.Region.IsPartOf( "Ninja cave" ) )
|
||||
if ( Region.IsPartOf( typeof( Jail ) )
|
||||
|| Region.IsPartOf( "Samurai start location" )
|
||||
|| Region.IsPartOf( "Ninja start location" )
|
||||
|| Region.IsPartOf( "Ninja cave" ) )
|
||||
return false;
|
||||
|
||||
Point3D loc;
|
||||
Map map;
|
||||
|
||||
DungeonRegion dungeon = (DungeonRegion) this.Region.GetRegion( typeof( DungeonRegion ) );
|
||||
DungeonRegion dungeon = (DungeonRegion) Region.GetRegion( typeof( DungeonRegion ) );
|
||||
if ( dungeon != null && dungeon.EntranceLocation != Point3D.Zero )
|
||||
{
|
||||
loc = dungeon.EntranceLocation;
|
||||
|
|
@ -4482,8 +4482,8 @@ namespace Server.Mobiles
|
|||
}
|
||||
else
|
||||
{
|
||||
loc = this.Location;
|
||||
map = this.Map;
|
||||
loc = Location;
|
||||
map = Map;
|
||||
}
|
||||
|
||||
Point3D[] list;
|
||||
|
|
@ -4517,13 +4517,13 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
|
||||
this.MoveToWorld( dest, map );
|
||||
MoveToWorld( dest, map );
|
||||
return true;
|
||||
}
|
||||
|
||||
private void SendYoungDeathNotice()
|
||||
{
|
||||
this.SendGump( new YoungDeathNotice() );
|
||||
SendGump( new YoungDeathNotice() );
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
@ -4535,7 +4535,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnSpeech( SpeechEventArgs e )
|
||||
{
|
||||
if ( SpeechLog.Enabled && this.NetState != null )
|
||||
if ( SpeechLog.Enabled && NetState != null )
|
||||
{
|
||||
if ( m_SpeechLog == null )
|
||||
m_SpeechLog = new SpeechLog();
|
||||
|
|
@ -4919,7 +4919,7 @@ namespace Server.Mobiles
|
|||
if ( !BuffInfo.Enabled || m_BuffTable == null )
|
||||
return;
|
||||
|
||||
NetState state = this.NetState;
|
||||
NetState state = NetState;
|
||||
|
||||
if ( state != null && state.BuffIcon )
|
||||
{
|
||||
|
|
@ -4944,7 +4944,7 @@ namespace Server.Mobiles
|
|||
|
||||
m_BuffTable.Add( b.ID, b );
|
||||
|
||||
NetState state = this.NetState;
|
||||
NetState state = NetState;
|
||||
|
||||
if ( state != null && state.BuffIcon )
|
||||
{
|
||||
|
|
@ -4972,7 +4972,7 @@ namespace Server.Mobiles
|
|||
|
||||
m_BuffTable.Remove( b );
|
||||
|
||||
NetState state = this.NetState;
|
||||
NetState state = NetState;
|
||||
|
||||
if ( state != null && state.BuffIcon )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -137,14 +137,14 @@ namespace Server.Mobiles
|
|||
|
||||
public void SpawnRatmen( Mobile target )
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map == null )
|
||||
return;
|
||||
|
||||
int rats = 0;
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 10 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 10 ) )
|
||||
{
|
||||
if ( m is Ratman || m is RatmanArcher || m is RatmanMage )
|
||||
++rats;
|
||||
|
|
@ -168,10 +168,10 @@ namespace Server.Mobiles
|
|||
case 4: rat = new RatmanMage(); break;
|
||||
}
|
||||
|
||||
rat.Team = this.Team;
|
||||
rat.Team = Team;
|
||||
|
||||
bool validLocation = false;
|
||||
Point3D loc = this.Location;
|
||||
Point3D loc = Location;
|
||||
|
||||
for ( int j = 0; !validLocation && j < 10; ++j )
|
||||
{
|
||||
|
|
@ -179,7 +179,7 @@ namespace Server.Mobiles
|
|||
int y = Y + Utility.Random( 3 ) - 1;
|
||||
int z = map.GetAverageZ( x, y );
|
||||
|
||||
if ( validLocation = map.CanFit( x, y, this.Z, 16, false, false ) )
|
||||
if ( validLocation = map.CanFit( x, y, Z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, Z );
|
||||
else if ( validLocation = map.CanFit( x, y, z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, z );
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ namespace Server.Mobiles
|
|||
return;
|
||||
|
||||
List<Mobile> toGive = new List<Mobile>();
|
||||
List<DamageStore> rights = BaseCreature.GetLootingRights( this.DamageEntries, this.HitsMax );
|
||||
List<DamageStore> rights = GetLootingRights( DamageEntries, HitsMax );
|
||||
|
||||
for ( int i = rights.Count - 1; i >= 0; --i )
|
||||
{
|
||||
|
|
@ -218,7 +218,7 @@ namespace Server.Mobiles
|
|||
if ( NoGoodies )
|
||||
return base.OnBeforeDeath();
|
||||
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map != null )
|
||||
{
|
||||
|
|
@ -243,7 +243,7 @@ namespace Server.Mobiles
|
|||
if ( Map == Map.Felucca )
|
||||
{
|
||||
//TODO: Confirm SE change or AoS one too?
|
||||
List<DamageStore> rights = BaseCreature.GetLootingRights( this.DamageEntries, this.HitsMax );
|
||||
List<DamageStore> rights = GetLootingRights( DamageEntries, HitsMax );
|
||||
List<Mobile> toGive = new List<Mobile>();
|
||||
|
||||
for ( int i = rights.Count - 1; i >= 0; --i )
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool HandlesOnSpeech( Mobile from )
|
||||
{
|
||||
if ( from.InRange( this.Location, 2 ) )
|
||||
if ( from.InRange( Location, 2 ) )
|
||||
return true;
|
||||
|
||||
return base.HandlesOnSpeech( from );
|
||||
|
|
@ -88,7 +88,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnSpeech( SpeechEventArgs e )
|
||||
{
|
||||
if ( !e.Handled && e.HasKeyword( Keyword ) && e.Mobile.InRange( this.Location, 2 ) )
|
||||
if ( !e.Handled && e.HasKeyword( Keyword ) && e.Mobile.InRange( Location, 2 ) )
|
||||
{
|
||||
e.Handled = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public CapturedHordeMinion()
|
||||
{
|
||||
this.FightMode = FightMode.None;
|
||||
FightMode = FightMode.None;
|
||||
}
|
||||
|
||||
public override bool InitialInnocent => true;
|
||||
|
|
|
|||
|
|
@ -21,11 +21,11 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public Dummy(AIType iAI, FightMode iFightMode, int iRangePerception, int iRangeFight, double dActiveSpeed, double dPassiveSpeed) : base(iAI, iFightMode, iRangePerception, iRangeFight, dActiveSpeed, dPassiveSpeed)
|
||||
{
|
||||
this.Body = 400 + Utility.Random(2);
|
||||
this.Hue = Utility.RandomSkinHue();
|
||||
Body = 400 + Utility.Random(2);
|
||||
Hue = Utility.RandomSkinHue();
|
||||
|
||||
this.Skills[SkillName.DetectHidden].Base = 100;
|
||||
this.Skills[SkillName.MagicResist].Base = 120;
|
||||
Skills[SkillName.DetectHidden].Base = 100;
|
||||
Skills[SkillName.MagicResist].Base = 120;
|
||||
|
||||
Team = Utility.Random(3);
|
||||
|
||||
|
|
|
|||
|
|
@ -26,11 +26,11 @@ namespace Server.Mobiles
|
|||
int jHue = 25 + Team * 40;
|
||||
|
||||
// Skills and Stats
|
||||
this.InitStats( 125, 125, 90 );
|
||||
this.Skills[SkillName.Macing].Base = 120;
|
||||
this.Skills[SkillName.Anatomy].Base = 120;
|
||||
this.Skills[SkillName.Healing].Base = 120;
|
||||
this.Skills[SkillName.Tactics].Base = 120;
|
||||
InitStats( 125, 125, 90 );
|
||||
Skills[SkillName.Macing].Base = 120;
|
||||
Skills[SkillName.Anatomy].Base = 120;
|
||||
Skills[SkillName.Healing].Base = 120;
|
||||
Skills[SkillName.Tactics].Base = 120;
|
||||
|
||||
// Equip
|
||||
WarHammer war = new WarHammer();
|
||||
|
|
@ -99,11 +99,11 @@ namespace Server.Mobiles
|
|||
int jHue = 25 + Team * 40;
|
||||
|
||||
// Skills and Stats
|
||||
this.InitStats( 125, 125, 90 );
|
||||
this.Skills[SkillName.Fencing].Base = 120;
|
||||
this.Skills[SkillName.Anatomy].Base = 120;
|
||||
this.Skills[SkillName.Healing].Base = 120;
|
||||
this.Skills[SkillName.Tactics].Base = 120;
|
||||
InitStats( 125, 125, 90 );
|
||||
Skills[SkillName.Fencing].Base = 120;
|
||||
Skills[SkillName.Anatomy].Base = 120;
|
||||
Skills[SkillName.Healing].Base = 120;
|
||||
Skills[SkillName.Tactics].Base = 120;
|
||||
|
||||
// Equip
|
||||
Spear ssp = new Spear();
|
||||
|
|
@ -172,12 +172,12 @@ namespace Server.Mobiles
|
|||
int jHue = 25 + Team * 40;
|
||||
|
||||
// Skills and Stats
|
||||
this.InitStats( 125, 125, 90 );
|
||||
this.Skills[SkillName.Swords].Base = 120;
|
||||
this.Skills[SkillName.Anatomy].Base = 120;
|
||||
this.Skills[SkillName.Healing].Base = 120;
|
||||
this.Skills[SkillName.Tactics].Base = 120;
|
||||
this.Skills[SkillName.Parry].Base = 120;
|
||||
InitStats( 125, 125, 90 );
|
||||
Skills[SkillName.Swords].Base = 120;
|
||||
Skills[SkillName.Anatomy].Base = 120;
|
||||
Skills[SkillName.Healing].Base = 120;
|
||||
Skills[SkillName.Tactics].Base = 120;
|
||||
Skills[SkillName.Parry].Base = 120;
|
||||
|
||||
// Equip
|
||||
Katana kat = new Katana();
|
||||
|
|
@ -246,13 +246,13 @@ namespace Server.Mobiles
|
|||
int jHue = 25 + Team * 40;
|
||||
|
||||
// Skills and Stats
|
||||
this.InitStats( 90, 90, 125 );
|
||||
this.Skills[SkillName.Magery].Base = 120;
|
||||
this.Skills[SkillName.EvalInt].Base = 120;
|
||||
this.Skills[SkillName.Inscribe].Base = 100;
|
||||
this.Skills[SkillName.Wrestling].Base = 120;
|
||||
this.Skills[SkillName.Meditation].Base = 120;
|
||||
this.Skills[SkillName.Poisoning].Base = 100;
|
||||
InitStats( 90, 90, 125 );
|
||||
Skills[SkillName.Magery].Base = 120;
|
||||
Skills[SkillName.EvalInt].Base = 120;
|
||||
Skills[SkillName.Inscribe].Base = 100;
|
||||
Skills[SkillName.Wrestling].Base = 120;
|
||||
Skills[SkillName.Meditation].Base = 120;
|
||||
Skills[SkillName.Poisoning].Base = 100;
|
||||
|
||||
// Equip
|
||||
Spellbook book = new Spellbook();
|
||||
|
|
@ -314,13 +314,13 @@ namespace Server.Mobiles
|
|||
int jHue = 25 + Team * 40;
|
||||
|
||||
// Skills and Stats
|
||||
this.InitStats( 90, 90, 125 );
|
||||
this.Skills[SkillName.Magery].Base = 100;
|
||||
this.Skills[SkillName.EvalInt].Base = 120;
|
||||
this.Skills[SkillName.Anatomy].Base = 80;
|
||||
this.Skills[SkillName.Wrestling].Base = 80;
|
||||
this.Skills[SkillName.Meditation].Base = 100;
|
||||
this.Skills[SkillName.Poisoning].Base = 100;
|
||||
InitStats( 90, 90, 125 );
|
||||
Skills[SkillName.Magery].Base = 100;
|
||||
Skills[SkillName.EvalInt].Base = 120;
|
||||
Skills[SkillName.Anatomy].Base = 80;
|
||||
Skills[SkillName.Wrestling].Base = 80;
|
||||
Skills[SkillName.Meditation].Base = 100;
|
||||
Skills[SkillName.Poisoning].Base = 100;
|
||||
|
||||
// Equip
|
||||
Spellbook book = new Spellbook();
|
||||
|
|
@ -404,14 +404,14 @@ namespace Server.Mobiles
|
|||
int jHue = 25 + Team * 40;
|
||||
|
||||
// Skills and Stats
|
||||
this.InitStats( 125, 125, 125 );
|
||||
this.Skills[SkillName.Magery].Base = 120;
|
||||
this.Skills[SkillName.EvalInt].Base = 120;
|
||||
this.Skills[SkillName.Anatomy].Base = 120;
|
||||
this.Skills[SkillName.Wrestling].Base = 120;
|
||||
this.Skills[SkillName.Meditation].Base = 120;
|
||||
this.Skills[SkillName.Poisoning].Base = 100;
|
||||
this.Skills[SkillName.Inscribe].Base = 100;
|
||||
InitStats( 125, 125, 125 );
|
||||
Skills[SkillName.Magery].Base = 120;
|
||||
Skills[SkillName.EvalInt].Base = 120;
|
||||
Skills[SkillName.Anatomy].Base = 120;
|
||||
Skills[SkillName.Wrestling].Base = 120;
|
||||
Skills[SkillName.Meditation].Base = 120;
|
||||
Skills[SkillName.Poisoning].Base = 100;
|
||||
Skills[SkillName.Inscribe].Base = 100;
|
||||
|
||||
// Equip
|
||||
Spellbook book = new Spellbook();
|
||||
|
|
@ -499,13 +499,13 @@ namespace Server.Mobiles
|
|||
int jHue = 25 + Team * 40;
|
||||
|
||||
// Skills and Stats
|
||||
this.InitStats( 125, 125, 125 );
|
||||
this.Skills[SkillName.Magery].Base = 120;
|
||||
this.Skills[SkillName.EvalInt].Base = 120;
|
||||
this.Skills[SkillName.Anatomy].Base = 120;
|
||||
this.Skills[SkillName.Wrestling].Base = 120;
|
||||
this.Skills[SkillName.Meditation].Base = 120;
|
||||
this.Skills[SkillName.Healing].Base = 100;
|
||||
InitStats( 125, 125, 125 );
|
||||
Skills[SkillName.Magery].Base = 120;
|
||||
Skills[SkillName.EvalInt].Base = 120;
|
||||
Skills[SkillName.Anatomy].Base = 120;
|
||||
Skills[SkillName.Wrestling].Base = 120;
|
||||
Skills[SkillName.Meditation].Base = 120;
|
||||
Skills[SkillName.Healing].Base = 100;
|
||||
|
||||
// Equip
|
||||
Spellbook book = new Spellbook();
|
||||
|
|
@ -588,13 +588,13 @@ namespace Server.Mobiles
|
|||
int jHue = 25 + Team * 40;
|
||||
|
||||
// Skills and Stats
|
||||
this.InitStats( 105, 105, 105 );
|
||||
this.Skills[SkillName.Magery].Base = 120;
|
||||
this.Skills[SkillName.EvalInt].Base = 120;
|
||||
this.Skills[SkillName.Swords].Base = 120;
|
||||
this.Skills[SkillName.Tactics].Base = 120;
|
||||
this.Skills[SkillName.Meditation].Base = 120;
|
||||
this.Skills[SkillName.Poisoning].Base = 100;
|
||||
InitStats( 105, 105, 105 );
|
||||
Skills[SkillName.Magery].Base = 120;
|
||||
Skills[SkillName.EvalInt].Base = 120;
|
||||
Skills[SkillName.Swords].Base = 120;
|
||||
Skills[SkillName.Tactics].Base = 120;
|
||||
Skills[SkillName.Meditation].Base = 120;
|
||||
Skills[SkillName.Poisoning].Base = 100;
|
||||
|
||||
// Equip
|
||||
Spellbook book = new Spellbook();
|
||||
|
|
@ -705,13 +705,13 @@ namespace Server.Mobiles
|
|||
int jHue = 25 + Team * 40;
|
||||
|
||||
// Skills and Stats
|
||||
this.InitStats( 105, 105, 105 );
|
||||
this.Skills[SkillName.Healing].Base = 120;
|
||||
this.Skills[SkillName.Anatomy].Base = 120;
|
||||
this.Skills[SkillName.Stealing].Base = 120;
|
||||
this.Skills[SkillName.ArmsLore].Base = 100;
|
||||
this.Skills[SkillName.Meditation].Base = 120;
|
||||
this.Skills[SkillName.Wrestling].Base = 120;
|
||||
InitStats( 105, 105, 105 );
|
||||
Skills[SkillName.Healing].Base = 120;
|
||||
Skills[SkillName.Anatomy].Base = 120;
|
||||
Skills[SkillName.Stealing].Base = 120;
|
||||
Skills[SkillName.ArmsLore].Base = 100;
|
||||
Skills[SkillName.Meditation].Base = 120;
|
||||
Skills[SkillName.Wrestling].Base = 120;
|
||||
|
||||
// Equip
|
||||
Spellbook book = new Spellbook();
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ namespace Server.Mobiles
|
|||
|
||||
Say( 1049499 ); // Behold my true form!
|
||||
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map != null )
|
||||
{
|
||||
|
|
@ -167,11 +167,11 @@ namespace Server.Mobiles
|
|||
{
|
||||
int rdist = 10 + dist;
|
||||
|
||||
x = this.X + (int)(rx * rdist);
|
||||
y = this.Y + (int)(ry * rdist);
|
||||
x = X + (int)(rx * rdist);
|
||||
y = Y + (int)(ry * rdist);
|
||||
z = map.GetAverageZ( x, y );
|
||||
|
||||
if ( !(ok = map.CanFit( x, y, this.Z, 16, false, false ) ) )
|
||||
if ( !(ok = map.CanFit( x, y, Z, 16, false, false ) ) )
|
||||
ok = map.CanFit( x, y, z, 16, false, false );
|
||||
|
||||
if ( dist >= 0 )
|
||||
|
|
@ -185,7 +185,7 @@ namespace Server.Mobiles
|
|||
|
||||
HarrowerTentacles spawn = new HarrowerTentacles( this );
|
||||
|
||||
spawn.Team = this.Team;
|
||||
spawn.Team = Team;
|
||||
|
||||
spawn.MoveToWorld( new Point3D( x, y, z ), map );
|
||||
|
||||
|
|
@ -250,7 +250,7 @@ namespace Server.Mobiles
|
|||
public void GivePowerScrolls()
|
||||
{
|
||||
List<Mobile> toGive = new List<Mobile>();
|
||||
List<DamageStore> rights = BaseCreature.GetLootingRights( this.DamageEntries, this.HitsMax );
|
||||
List<DamageStore> rights = GetLootingRights( DamageEntries, HitsMax );
|
||||
|
||||
for ( int i = rights.Count - 1; i >= 0; --i )
|
||||
{
|
||||
|
|
@ -327,7 +327,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( m_TrueForm )
|
||||
{
|
||||
List<DamageStore> rights = BaseCreature.GetLootingRights( this.DamageEntries, this.HitsMax );
|
||||
List<DamageStore> rights = GetLootingRights( DamageEntries, HitsMax );
|
||||
|
||||
for ( int i = rights.Count - 1; i >= 0; --i )
|
||||
{
|
||||
|
|
@ -341,7 +341,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
GivePowerScrolls();
|
||||
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map != null )
|
||||
{
|
||||
|
|
@ -582,8 +582,8 @@ namespace Server.Mobiles
|
|||
|
||||
m.Location = to;
|
||||
|
||||
Server.Spells.SpellHelper.Turn( m_Owner, toTeleport );
|
||||
Server.Spells.SpellHelper.Turn( toTeleport, m_Owner );
|
||||
Spells.SpellHelper.Turn( m_Owner, toTeleport );
|
||||
Spells.SpellHelper.Turn( toTeleport, m_Owner );
|
||||
|
||||
m.ProcessDelta();
|
||||
|
||||
|
|
|
|||
|
|
@ -80,12 +80,12 @@ namespace Server.Mobiles
|
|||
|
||||
public void SpawnPixies( Mobile target )
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map == null )
|
||||
return;
|
||||
|
||||
this.Say( 1042154 ); // You shall never defeat me as long as I have my queen!
|
||||
Say( 1042154 ); // You shall never defeat me as long as I have my queen!
|
||||
|
||||
int newPixies = Utility.RandomMinMax( 3, 6 );
|
||||
|
||||
|
|
@ -93,11 +93,11 @@ namespace Server.Mobiles
|
|||
{
|
||||
Pixie pixie = new Pixie();
|
||||
|
||||
pixie.Team = this.Team;
|
||||
pixie.Team = Team;
|
||||
pixie.FightMode = FightMode.Closest;
|
||||
|
||||
bool validLocation = false;
|
||||
Point3D loc = this.Location;
|
||||
Point3D loc = Location;
|
||||
|
||||
for ( int j = 0; !validLocation && j < 10; ++j )
|
||||
{
|
||||
|
|
@ -105,7 +105,7 @@ namespace Server.Mobiles
|
|||
int y = Y + Utility.Random( 3 ) - 1;
|
||||
int z = map.GetAverageZ( x, y );
|
||||
|
||||
if ( validLocation = map.CanFit( x, y, this.Z, 16, false, false ) )
|
||||
if ( validLocation = map.CanFit( x, y, Z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, Z );
|
||||
else if ( validLocation = map.CanFit( x, y, z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, z );
|
||||
|
|
@ -143,18 +143,18 @@ namespace Server.Mobiles
|
|||
|
||||
public void CheckQueen()
|
||||
{
|
||||
if ( this.Map == null )
|
||||
if ( Map == null )
|
||||
return;
|
||||
|
||||
if ( !m_SpawnedQueen )
|
||||
{
|
||||
this.Say( 1042153 ); // Come forth my queen!
|
||||
Say( 1042153 ); // Come forth my queen!
|
||||
|
||||
m_Queen = new Silvani();
|
||||
|
||||
((BaseCreature)m_Queen).Team = this.Team;
|
||||
((BaseCreature)m_Queen).Team = Team;
|
||||
|
||||
m_Queen.MoveToWorld( this.Location, this.Map );
|
||||
m_Queen.MoveToWorld( Location, Map );
|
||||
|
||||
m_SpawnedQueen = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool OnBeforeDeath()
|
||||
{
|
||||
IMount mount = this.Mount;
|
||||
IMount mount = Mount;
|
||||
|
||||
if ( mount != null )
|
||||
mount.Rider = null;
|
||||
|
|
@ -227,7 +227,7 @@ namespace Server.Mobiles
|
|||
|
||||
public void AddUnholyBone( Mobile target, double chanceToThrow )
|
||||
{
|
||||
if ( this.Map == null )
|
||||
if ( Map == null )
|
||||
return;
|
||||
|
||||
if ( chanceToThrow >= Utility.RandomDouble() )
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ namespace Server.Mobiles
|
|||
public ParagonStamRegen( Mobile m )
|
||||
: base( FastRegenRate, FastRegenRate )
|
||||
{
|
||||
this.Priority = TimerPriority.FiftyMS;
|
||||
Priority = TimerPriority.FiftyMS;
|
||||
|
||||
m_Owner = m as BaseCreature;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,19 +76,19 @@ namespace Server.Mobiles
|
|||
|
||||
public void Earthquake()
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map == null )
|
||||
return;
|
||||
|
||||
ArrayList targets = new ArrayList();
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 8 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 8 ) )
|
||||
{
|
||||
if ( m == this || !CanBeHarmful( m ) )
|
||||
continue;
|
||||
|
||||
if ( m is BaseCreature && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned || ((BaseCreature)m).Team != this.Team) )
|
||||
if ( m is BaseCreature && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned || ((BaseCreature)m).Team != Team) )
|
||||
targets.Add( m );
|
||||
else if ( m.Player )
|
||||
targets.Add( m );
|
||||
|
|
|
|||
|
|
@ -77,17 +77,17 @@ namespace Server.Mobiles
|
|||
|
||||
public void DrainLife()
|
||||
{
|
||||
if ( this.Map == null )
|
||||
if ( Map == null )
|
||||
return;
|
||||
|
||||
ArrayList list = new ArrayList();
|
||||
|
||||
foreach ( Mobile m in this.GetMobilesInRange( 2 ) )
|
||||
foreach ( Mobile m in GetMobilesInRange( 2 ) )
|
||||
{
|
||||
if ( m == this || !CanBeHarmful( m ) )
|
||||
continue;
|
||||
|
||||
if ( m is BaseCreature && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned || ((BaseCreature)m).Team != this.Team) )
|
||||
if ( m is BaseCreature && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned || ((BaseCreature)m).Team != Team) )
|
||||
list.Add( m );
|
||||
else if ( m.Player )
|
||||
list.Add( m );
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ namespace Server.Mobiles
|
|||
|
||||
private void DoCounter( Mobile attacker )
|
||||
{
|
||||
if ( this.Map == null || ( attacker is BaseCreature && ((BaseCreature)attacker).BardProvoked ) )
|
||||
if ( Map == null || ( attacker is BaseCreature && ((BaseCreature)attacker).BardProvoked ) )
|
||||
return;
|
||||
|
||||
if ( 0.2 > Utility.RandomDouble() )
|
||||
|
|
@ -135,7 +135,7 @@ namespace Server.Mobiles
|
|||
if ( target == null || !target.InRange( this, 25 ) )
|
||||
target = attacker;
|
||||
|
||||
this.Animate( 10, 4, 1, true, false, 0 );
|
||||
Animate( 10, 4, 1, true, false, 0 );
|
||||
|
||||
ArrayList targets = new ArrayList();
|
||||
|
||||
|
|
@ -144,7 +144,7 @@ namespace Server.Mobiles
|
|||
if ( m == this || !CanBeHarmful( m ) )
|
||||
continue;
|
||||
|
||||
if ( m is BaseCreature && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned || ((BaseCreature)m).Team != this.Team) )
|
||||
if ( m is BaseCreature && (((BaseCreature)m).Controlled || ((BaseCreature)m).Summoned || ((BaseCreature)m).Team != Team) )
|
||||
targets.Add( m );
|
||||
else if ( m.Player )
|
||||
targets.Add( m );
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ namespace Server.Mobiles
|
|||
|
||||
public void SpawnPixies( Mobile target )
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map == null )
|
||||
return;
|
||||
|
|
@ -65,11 +65,11 @@ namespace Server.Mobiles
|
|||
{
|
||||
Pixie pixie = new Pixie();
|
||||
|
||||
pixie.Team = this.Team;
|
||||
pixie.Team = Team;
|
||||
pixie.FightMode = FightMode.Closest;
|
||||
|
||||
bool validLocation = false;
|
||||
Point3D loc = this.Location;
|
||||
Point3D loc = Location;
|
||||
|
||||
for ( int j = 0; !validLocation && j < 10; ++j )
|
||||
{
|
||||
|
|
@ -77,7 +77,7 @@ namespace Server.Mobiles
|
|||
int y = Y + Utility.Random( 3 ) - 1;
|
||||
int z = map.GetAverageZ( x, y );
|
||||
|
||||
if ( validLocation = map.CanFit( x, y, this.Z, 16, false, false ) )
|
||||
if ( validLocation = map.CanFit( x, y, Z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, Z );
|
||||
else if ( validLocation = map.CanFit( x, y, z, 16, false, false ) )
|
||||
loc = new Point3D( x, y, z );
|
||||
|
|
|
|||
|
|
@ -13,17 +13,17 @@ namespace Server.Mobiles
|
|||
|
||||
Hue = Utility.RandomSkinHue();
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
if ( Female = Utility.RandomBool() )
|
||||
{
|
||||
this.Body = 0x191;
|
||||
this.Name = NameList.RandomName( "female" );
|
||||
Body = 0x191;
|
||||
Name = NameList.RandomName( "female" );
|
||||
AddItem( new FancyDress( Utility.RandomDyedHue() ) );
|
||||
Title = "the actress";
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Body = 0x190;
|
||||
this.Name = NameList.RandomName( "male" );
|
||||
Body = 0x190;
|
||||
Name = NameList.RandomName( "male" );
|
||||
AddItem( new LongPants( Utility.RandomNeutralHue() ) );
|
||||
AddItem( new FancyShirt( Utility.RandomDyedHue() ) );
|
||||
Title = "the actor";
|
||||
|
|
|
|||
|
|
@ -20,15 +20,15 @@ namespace Server.Mobiles
|
|||
Hue = Utility.RandomSkinHue();
|
||||
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
if ( Female = Utility.RandomBool() )
|
||||
{
|
||||
this.Body = 0x191;
|
||||
this.Name = NameList.RandomName( "female" );
|
||||
Body = 0x191;
|
||||
Name = NameList.RandomName( "female" );
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Body = 0x190;
|
||||
this.Name = NameList.RandomName( "male" );
|
||||
Body = 0x190;
|
||||
Name = NameList.RandomName( "male" );
|
||||
}
|
||||
AddItem( new Doublet( Utility.RandomDyedHue() ) );
|
||||
AddItem( new Sandals( Utility.RandomNeutralHue() ) );
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool HandlesOnSpeech( Mobile from )
|
||||
{
|
||||
if ( from.InRange( this.Location, 12 ) )
|
||||
if ( from.InRange( Location, 12 ) )
|
||||
return true;
|
||||
|
||||
return base.HandlesOnSpeech( from );
|
||||
|
|
@ -280,7 +280,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override void OnSpeech( SpeechEventArgs e )
|
||||
{
|
||||
if ( !e.Handled && e.Mobile.InRange( this.Location, 12 ) )
|
||||
if ( !e.Handled && e.Mobile.InRange( Location, 12 ) )
|
||||
{
|
||||
for ( int i = 0; i < e.Keywords.Length; ++i )
|
||||
{
|
||||
|
|
@ -294,7 +294,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( e.Mobile.Criminal )
|
||||
{
|
||||
this.Say( 500389 ); // I will not do business with a criminal!
|
||||
Say( 500389 ); // I will not do business with a criminal!
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -311,11 +311,11 @@ namespace Server.Mobiles
|
|||
|
||||
if ( (!Core.ML && amount > 5000) || (Core.ML && amount > 60000) )
|
||||
{
|
||||
this.Say( 500381 ); // Thou canst not withdraw so much at one time!
|
||||
Say( 500381 ); // Thou canst not withdraw so much at one time!
|
||||
}
|
||||
else if (pack == null || pack.Deleted || !(pack.TotalWeight < pack.MaxWeight) || !(pack.TotalItems < pack.MaxItems))
|
||||
{
|
||||
this.Say(1048147); // Your backpack can't hold anything else.
|
||||
Say(1048147); // Your backpack can't hold anything else.
|
||||
}
|
||||
else if (amount > 0)
|
||||
{
|
||||
|
|
@ -323,13 +323,13 @@ namespace Server.Mobiles
|
|||
|
||||
if (box == null || !Withdraw(e.Mobile, amount))
|
||||
{
|
||||
this.Say(500384); // Ah, art thou trying to fool me? Thou hast not so much gold!
|
||||
Say(500384); // Ah, art thou trying to fool me? Thou hast not so much gold!
|
||||
}
|
||||
else
|
||||
{
|
||||
pack.DropItem(new Gold(amount));
|
||||
|
||||
this.Say(1010005); // Thou hast withdrawn gold from thy account.
|
||||
Say(1010005); // Thou hast withdrawn gold from thy account.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -342,17 +342,17 @@ namespace Server.Mobiles
|
|||
|
||||
if ( e.Mobile.Criminal )
|
||||
{
|
||||
this.Say( 500389 ); // I will not do business with a criminal!
|
||||
Say( 500389 ); // I will not do business with a criminal!
|
||||
break;
|
||||
}
|
||||
|
||||
if ( AccountGold.Enabled && e.Mobile.Account != null )
|
||||
{
|
||||
this.Say( 1155855, String.Format("{0:#,0}\t{1:#,0}", e.Mobile.Account.TotalPlat, e.Mobile.Account.TotalGold) ); // Thy current bank balance is ~1_AMOUNT~ platinum and ~2_AMOUNT~ gold.
|
||||
Say( 1155855, String.Format("{0:#,0}\t{1:#,0}", e.Mobile.Account.TotalPlat, e.Mobile.Account.TotalGold) ); // Thy current bank balance is ~1_AMOUNT~ platinum and ~2_AMOUNT~ gold.
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Say( 1042759, GetBalance(e.Mobile).ToString("#,0") ); // Thy current bank balance is ~1_AMOUNT~ gold.
|
||||
Say( 1042759, GetBalance(e.Mobile).ToString("#,0") ); // Thy current bank balance is ~1_AMOUNT~ gold.
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
@ -363,7 +363,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( e.Mobile.Criminal )
|
||||
{
|
||||
this.Say( 500378 ); // Thou art a criminal and cannot access thy bank box.
|
||||
Say( 500378 ); // Thou art a criminal and cannot access thy bank box.
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -380,7 +380,7 @@ namespace Server.Mobiles
|
|||
|
||||
if ( e.Mobile.Criminal )
|
||||
{
|
||||
this.Say( 500389 ); // I will not do business with a criminal!
|
||||
Say( 500389 ); // I will not do business with a criminal!
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -395,11 +395,11 @@ namespace Server.Mobiles
|
|||
|
||||
if ( amount < 5000 )
|
||||
{
|
||||
this.Say( 1010006 ); // We cannot create checks for such a paltry amount of gold!
|
||||
Say( 1010006 ); // We cannot create checks for such a paltry amount of gold!
|
||||
}
|
||||
else if ( amount > 1000000 )
|
||||
{
|
||||
this.Say( 1010007 ); // Our policies prevent us from creating checks worth that much!
|
||||
Say( 1010007 ); // Our policies prevent us from creating checks worth that much!
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -409,17 +409,17 @@ namespace Server.Mobiles
|
|||
|
||||
if ( !box.TryDropItem( e.Mobile, check, false ) )
|
||||
{
|
||||
this.Say( 500386 ); // There's not enough room in your bankbox for the check!
|
||||
Say( 500386 ); // There's not enough room in your bankbox for the check!
|
||||
check.Delete();
|
||||
}
|
||||
else if ( !box.ConsumeTotal( typeof( Gold ), amount ) )
|
||||
{
|
||||
this.Say( 500384 ); // Ah, art thou trying to fool me? Thou hast not so much gold!
|
||||
Say( 500384 ); // Ah, art thou trying to fool me? Thou hast not so much gold!
|
||||
check.Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Say( 1042673, AffixType.Append, amount.ToString(), "" ); // Into your bank box I have placed a check in the amount of:
|
||||
Say( 1042673, AffixType.Append, amount.ToString(), "" ); // Into your bank box I have placed a check in the amount of:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -282,7 +282,7 @@ namespace Server.Mobiles
|
|||
if ( MLQuestSystem.Enabled )
|
||||
return false;
|
||||
|
||||
if (from.InRange(this.Location, 3))
|
||||
if (from.InRange(Location, 3))
|
||||
return true;
|
||||
|
||||
return base.HandlesOnSpeech(from);
|
||||
|
|
@ -294,7 +294,7 @@ namespace Server.Mobiles
|
|||
|
||||
EDI dest = GetDestination();
|
||||
|
||||
if (dest != null && !e.Handled && e.Mobile.InRange(this.Location, 3))
|
||||
if (dest != null && !e.Handled && e.Mobile.InRange(Location, 3))
|
||||
{
|
||||
if (e.HasKeyword(0x1D)) // *destination*
|
||||
e.Handled = SayDestinationTo(e.Mobile);
|
||||
|
|
@ -377,7 +377,7 @@ namespace Server.Mobiles
|
|||
if ( MLQuestSystem.Enabled || master == null )
|
||||
return master;
|
||||
|
||||
if (master.Deleted || master.Map != this.Map || !master.InRange(Location, 30) || !master.Alive)
|
||||
if (master.Deleted || master.Map != Map || !master.InRange(Location, 30) || !master.Alive)
|
||||
{
|
||||
StopFollow();
|
||||
|
||||
|
|
@ -475,7 +475,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
pm.SendLocalizedMessage(1053004); // You must wait about a day before you can gain in compassion again.
|
||||
}
|
||||
else if (VirtueHelper.Award(pm, VirtueName.Compassion, this.IsPrisoner ? 400 : 200, ref gainedPath))
|
||||
else if (VirtueHelper.Award(pm, VirtueName.Compassion, IsPrisoner ? 400 : 200, ref gainedPath))
|
||||
{
|
||||
if (gainedPath)
|
||||
pm.SendLocalizedMessage(1053005); // You have achieved a path in compassion!
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ namespace Server.Mobiles
|
|||
else
|
||||
HairItemID = 0x203C;
|
||||
|
||||
HairHue = this.Race.RandomHairHue();
|
||||
HairHue = Race.RandomHairHue();
|
||||
|
||||
PackGold( 200, 250 );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,10 +20,10 @@ namespace Server.Mobiles
|
|||
|
||||
Hue = Utility.RandomSkinHue();
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
if ( Female = Utility.RandomBool() )
|
||||
{
|
||||
this.Body = 0x191;
|
||||
this.Name = NameList.RandomName( "female" );
|
||||
Body = 0x191;
|
||||
Name = NameList.RandomName( "female" );
|
||||
AddItem( new Kilt( Utility.RandomDyedHue() ) );
|
||||
AddItem( new Shirt( Utility.RandomDyedHue() ) );
|
||||
AddItem( new ThighBoots() );
|
||||
|
|
@ -31,8 +31,8 @@ namespace Server.Mobiles
|
|||
}
|
||||
else
|
||||
{
|
||||
this.Body = 0x190;
|
||||
this.Name = NameList.RandomName( "male" );
|
||||
Body = 0x190;
|
||||
Name = NameList.RandomName( "male" );
|
||||
AddItem( new ShortPants( Utility.RandomNeutralHue() ) );
|
||||
AddItem( new Shirt( Utility.RandomDyedHue() ) );
|
||||
AddItem( new Sandals() );
|
||||
|
|
|
|||
|
|
@ -20,16 +20,16 @@ namespace Server.Mobiles
|
|||
Blessed = true;
|
||||
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
if ( Female = Utility.RandomBool() )
|
||||
{
|
||||
this.Body = 0x191;
|
||||
this.Name = NameList.RandomName( "female" );
|
||||
Body = 0x191;
|
||||
Name = NameList.RandomName( "female" );
|
||||
Title = "the Harbor Mistress";
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Body = 0x190;
|
||||
this.Name = NameList.RandomName( "male" );
|
||||
Body = 0x190;
|
||||
Name = NameList.RandomName( "male" );
|
||||
Title = "the Harbor Master";
|
||||
}
|
||||
AddItem( new Shirt( Utility.RandomDyedHue() ) );
|
||||
|
|
|
|||
|
|
@ -14,16 +14,16 @@ namespace Server.Mobiles
|
|||
Title = "the sculptor";
|
||||
Hue = Utility.RandomSkinHue();
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
if ( Female = Utility.RandomBool() )
|
||||
{
|
||||
this.Body = 0x191;
|
||||
this.Name = NameList.RandomName( "female" );
|
||||
Body = 0x191;
|
||||
Name = NameList.RandomName( "female" );
|
||||
AddItem( new Kilt( Utility.RandomNeutralHue() ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Body = 0x190;
|
||||
this.Name = NameList.RandomName( "male" );
|
||||
Body = 0x190;
|
||||
Name = NameList.RandomName( "male" );
|
||||
AddItem( new LongPants( Utility.RandomNeutralHue() ) );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -481,15 +481,15 @@ namespace Server.Mobiles
|
|||
if ( !Core.AOS )
|
||||
NameHue = 0x35;
|
||||
|
||||
if ( this.Female = Utility.RandomBool() )
|
||||
if ( Female = Utility.RandomBool() )
|
||||
{
|
||||
this.Body = 0x191;
|
||||
this.Name = NameList.RandomName( "female" );
|
||||
Body = 0x191;
|
||||
Name = NameList.RandomName( "female" );
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Body = 0x190;
|
||||
this.Name = NameList.RandomName( "male" );
|
||||
Body = 0x190;
|
||||
Name = NameList.RandomName( "male" );
|
||||
}
|
||||
|
||||
AddItem( new FancyShirt( Utility.RandomBlueHue() ) );
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ namespace Server.Mobiles
|
|||
#region Faction
|
||||
public virtual int GetPriceScalar()
|
||||
{
|
||||
Town town = Town.FromRegion( this.Region );
|
||||
Town town = Town.FromRegion( Region );
|
||||
|
||||
if ( town != null )
|
||||
return ( 100 + town.Tax );
|
||||
|
|
@ -160,7 +160,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
LoadSBInfo();
|
||||
|
||||
this.Title = title;
|
||||
Title = title;
|
||||
InitBody();
|
||||
InitOutfit();
|
||||
|
||||
|
|
@ -297,7 +297,7 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual bool CheckTokuno()
|
||||
{
|
||||
if ( this.Map != Map.Tokuno )
|
||||
if ( Map != Map.Tokuno )
|
||||
return false;
|
||||
|
||||
NameList n;
|
||||
|
|
@ -307,7 +307,7 @@ namespace Server.Mobiles
|
|||
else
|
||||
n = NameList.GetNameList( "tokuno male" );
|
||||
|
||||
if ( !n.ContainsName( this.Name ) )
|
||||
if ( !n.ContainsName( Name ) )
|
||||
TurnToTokuno();
|
||||
|
||||
return true;
|
||||
|
|
@ -316,14 +316,14 @@ namespace Server.Mobiles
|
|||
public virtual void TurnToTokuno()
|
||||
{
|
||||
if ( Female )
|
||||
this.Name = NameList.RandomName( "tokuno female" );
|
||||
Name = NameList.RandomName( "tokuno female" );
|
||||
else
|
||||
this.Name = NameList.RandomName( "tokuno male" );
|
||||
Name = NameList.RandomName( "tokuno male" );
|
||||
}
|
||||
|
||||
public virtual bool CheckGargoyle()
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map != Map.Ilshenar )
|
||||
return false;
|
||||
|
|
@ -339,7 +339,7 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual bool CheckNecromancer()
|
||||
{
|
||||
Map map = this.Map;
|
||||
Map map = Map;
|
||||
|
||||
if ( map != Map.Malas )
|
||||
return false;
|
||||
|
|
@ -379,9 +379,9 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual void TurnToNecromancer()
|
||||
{
|
||||
for ( int i = 0; i < this.Items.Count; ++i )
|
||||
for ( int i = 0; i < Items.Count; ++i )
|
||||
{
|
||||
Item item = this.Items[i];
|
||||
Item item = Items[i];
|
||||
|
||||
if ( item is Hair || item is Beard )
|
||||
item.Hue = 0;
|
||||
|
|
@ -397,9 +397,9 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual void TurnToGargoyle()
|
||||
{
|
||||
for ( int i = 0; i < this.Items.Count; ++i )
|
||||
for ( int i = 0; i < Items.Count; ++i )
|
||||
{
|
||||
Item item = this.Items[i];
|
||||
Item item = Items[i];
|
||||
|
||||
if ( item is BaseClothing || item is Hair || item is Beard )
|
||||
item.Delete();
|
||||
|
|
@ -417,7 +417,7 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual void CapitalizeTitle()
|
||||
{
|
||||
string title = this.Title;
|
||||
string title = Title;
|
||||
|
||||
if ( title == null )
|
||||
return;
|
||||
|
|
@ -435,7 +435,7 @@ namespace Server.Mobiles
|
|||
split[i] = Char.ToUpper( split[i][0] ).ToString();
|
||||
}
|
||||
|
||||
this.Title = String.Join( " ", split );
|
||||
Title = String.Join( " ", split );
|
||||
}
|
||||
|
||||
public virtual int GetHairHue()
|
||||
|
|
@ -493,7 +493,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
m_LastRestock = DateTime.UtcNow;
|
||||
|
||||
IBuyItemInfo[] buyInfo = this.GetBuyInfo();
|
||||
IBuyItemInfo[] buyInfo = GetBuyInfo();
|
||||
|
||||
foreach ( IBuyItemInfo bii in buyInfo )
|
||||
bii.OnRestock();
|
||||
|
|
@ -522,11 +522,11 @@ namespace Server.Mobiles
|
|||
|
||||
int count = 0;
|
||||
List<BuyItemState> list;
|
||||
IBuyItemInfo[] buyInfo = this.GetBuyInfo();
|
||||
IShopSellInfo[] sellInfo = this.GetSellInfo();
|
||||
IBuyItemInfo[] buyInfo = GetBuyInfo();
|
||||
IShopSellInfo[] sellInfo = GetSellInfo();
|
||||
|
||||
list = new List<BuyItemState>( buyInfo.Length );
|
||||
Container cont = this.BuyPack;
|
||||
Container cont = BuyPack;
|
||||
|
||||
List<ObjectPropertyList> opls = null;
|
||||
|
||||
|
|
@ -781,7 +781,7 @@ namespace Server.Mobiles
|
|||
|
||||
private GenericBuyInfo LookupDisplayObject( object obj )
|
||||
{
|
||||
IBuyItemInfo[] buyInfo = this.GetBuyInfo();
|
||||
IBuyItemInfo[] buyInfo = GetBuyInfo();
|
||||
|
||||
for ( int i = 0; i < buyInfo.Length; ++i ) {
|
||||
GenericBuyInfo gbi = (GenericBuyInfo)buyInfo[i];
|
||||
|
|
@ -938,7 +938,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
ProcessSinglePurchase( buy, gbi, validBuy, ref controlSlots, ref fullPurchase, ref totalCost );
|
||||
}
|
||||
else if ( item != this.BuyPack && item.IsChildOf( this.BuyPack ) )
|
||||
else if ( item != BuyPack && item.IsChildOf( BuyPack ) )
|
||||
{
|
||||
if ( amount > item.Amount )
|
||||
amount = item.Amount;
|
||||
|
|
@ -1055,7 +1055,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
else
|
||||
{
|
||||
buyItem = Mobile.LiftItemDupe( item, item.Amount - amount );
|
||||
buyItem = LiftItemDupe( item, item.Amount - amount );
|
||||
|
||||
if ( buyItem == null )
|
||||
buyItem = item;
|
||||
|
|
@ -1108,12 +1108,12 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual bool CheckVendorAccess( Mobile from )
|
||||
{
|
||||
GuardedRegion reg = (GuardedRegion)this.Region.GetRegion( typeof( GuardedRegion ) );
|
||||
GuardedRegion reg = (GuardedRegion)Region.GetRegion( typeof( GuardedRegion ) );
|
||||
|
||||
if ( reg != null && !reg.CheckVendorAccess( this, from ) )
|
||||
return false;
|
||||
|
||||
if ( this.Region != from.Region )
|
||||
if ( Region != from.Region )
|
||||
{
|
||||
reg = (GuardedRegion)from.Region.GetRegion( typeof( GuardedRegion ) );
|
||||
|
||||
|
|
@ -1141,7 +1141,7 @@ namespace Server.Mobiles
|
|||
seller.PlaySound( 0x32 );
|
||||
|
||||
IShopSellInfo[] info = GetSellInfo();
|
||||
IBuyItemInfo[] buyInfo = this.GetBuyInfo();
|
||||
IBuyItemInfo[] buyInfo = GetBuyInfo();
|
||||
int GiveGold = 0;
|
||||
int Sold = 0;
|
||||
Container cont;
|
||||
|
|
@ -1202,11 +1202,11 @@ namespace Server.Mobiles
|
|||
|
||||
if ( !found )
|
||||
{
|
||||
cont = this.BuyPack;
|
||||
cont = BuyPack;
|
||||
|
||||
if ( amount < resp.Item.Amount )
|
||||
{
|
||||
Item item = Mobile.LiftItemDupe( resp.Item, resp.Item.Amount - amount );
|
||||
Item item = LiftItemDupe( resp.Item, resp.Item.Amount - amount );
|
||||
|
||||
if ( item != null )
|
||||
{
|
||||
|
|
@ -1274,7 +1274,7 @@ namespace Server.Mobiles
|
|||
|
||||
writer.Write( (int)1 ); // version
|
||||
|
||||
List<SBInfo> sbInfos = this.SBInfos;
|
||||
List<SBInfo> sbInfos = SBInfos;
|
||||
|
||||
for ( int i = 0; sbInfos != null && i < sbInfos.Count; ++i )
|
||||
{
|
||||
|
|
@ -1317,7 +1317,7 @@ namespace Server.Mobiles
|
|||
|
||||
LoadSBInfo();
|
||||
|
||||
List<SBInfo> sbInfos = this.SBInfos;
|
||||
List<SBInfo> sbInfos = SBInfos;
|
||||
|
||||
switch ( version )
|
||||
{
|
||||
|
|
@ -1416,7 +1416,7 @@ namespace Server.ContextMenus
|
|||
|
||||
public override void OnClick()
|
||||
{
|
||||
m_Vendor.VendorBuy( this.Owner.From );
|
||||
m_Vendor.VendorBuy( Owner.From );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1433,7 +1433,7 @@ namespace Server.ContextMenus
|
|||
|
||||
public override void OnClick()
|
||||
{
|
||||
m_Vendor.VendorSell( this.Owner.From );
|
||||
m_Vendor.VendorSell( Owner.From );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ namespace Server.Mobiles
|
|||
if ( m_DisplayEntity != null && !IsDeleted( m_DisplayEntity ) )
|
||||
return m_DisplayEntity;
|
||||
|
||||
bool canCache = this.CanCacheDisplay;
|
||||
bool canCache = CanCacheDisplay;
|
||||
|
||||
if ( canCache )
|
||||
m_DisplayEntity = DisplayCache.Cache.Lookup( m_Type );
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.Robe( Utility.RandomPinkHue() ) );
|
||||
AddItem( new Items.Robe( Utility.RandomPinkHue() ) );
|
||||
}
|
||||
|
||||
public Alchemist( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ namespace Server.Mobiles
|
|||
|
||||
public void EndClaimList( Mobile from, BaseCreature pet )
|
||||
{
|
||||
if ( pet == null || pet.Deleted || from.Map != this.Map || !from.Stabled.Contains( pet ) || !from.CheckAlive() )
|
||||
if ( pet == null || pet.Deleted || from.Map != Map || !from.Stabled.Contains( pet ) || !from.CheckAlive() )
|
||||
return;
|
||||
|
||||
if ( !from.InRange( this, 14 ) )
|
||||
|
|
@ -322,7 +322,7 @@ namespace Server.Mobiles
|
|||
pet.StabledBy = from;
|
||||
|
||||
if ( Core.SE )
|
||||
pet.Loyalty = BaseCreature.MaxLoyalty; // Wonderfully happy
|
||||
pet.Loyalty = MaxLoyalty; // Wonderfully happy
|
||||
|
||||
from.Stabled.Add( pet );
|
||||
|
||||
|
|
@ -416,7 +416,7 @@ namespace Server.Mobiles
|
|||
pet.StabledBy = null;
|
||||
|
||||
if ( Core.SE )
|
||||
pet.Loyalty = BaseCreature.MaxLoyalty; // Wonderfully Happy
|
||||
pet.Loyalty = MaxLoyalty; // Wonderfully Happy
|
||||
}
|
||||
|
||||
public override bool HandlesOnSpeech( Mobile from )
|
||||
|
|
|
|||
|
|
@ -66,8 +66,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.HalfApron( Utility.RandomYellowHue() ) );
|
||||
AddItem( new Server.Items.Bascinet() );
|
||||
AddItem( new Items.HalfApron( Utility.RandomYellowHue() ) );
|
||||
AddItem( new Items.Bascinet() );
|
||||
}
|
||||
|
||||
public Armorer( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
Item item = ( Utility.RandomBool() ? null : new Server.Items.RingmailChest() );
|
||||
Item item = ( Utility.RandomBool() ? null : new Items.RingmailChest() );
|
||||
|
||||
if ( item != null && !EquipItem( item ) )
|
||||
{
|
||||
|
|
@ -67,10 +67,10 @@ namespace Server.Mobiles
|
|||
}
|
||||
|
||||
if ( item == null )
|
||||
AddItem( new Server.Items.FullApron() );
|
||||
AddItem( new Items.FullApron() );
|
||||
|
||||
AddItem( new Server.Items.Bascinet() );
|
||||
AddItem( new Server.Items.SmithHammer() );
|
||||
AddItem( new Items.Bascinet() );
|
||||
AddItem( new Items.SmithHammer() );
|
||||
}
|
||||
|
||||
#region Bulk Orders
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.Bow() );
|
||||
AddItem( new Server.Items.LeatherGorget() );
|
||||
AddItem( new Items.Bow() );
|
||||
AddItem( new Items.LeatherGorget() );
|
||||
}
|
||||
|
||||
public override void InitSBInfo()
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.HalfApron() );
|
||||
AddItem( new Server.Items.Cleaver() );
|
||||
AddItem( new Items.HalfApron() );
|
||||
AddItem( new Items.Cleaver() );
|
||||
}
|
||||
|
||||
public Butcher( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.HalfApron() );
|
||||
AddItem( new Items.HalfApron() );
|
||||
}
|
||||
|
||||
public Carpenter( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.HalfApron() );
|
||||
AddItem( new Items.HalfApron() );
|
||||
}
|
||||
|
||||
public Cook( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.Robe( Utility.RandomPinkHue() ) );
|
||||
AddItem( new Items.Robe( Utility.RandomPinkHue() ) );
|
||||
}
|
||||
|
||||
public override void InitSBInfo()
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.WideBrimHat( Utility.RandomNeutralHue() ) );
|
||||
AddItem( new Items.WideBrimHat( Utility.RandomNeutralHue() ) );
|
||||
}
|
||||
|
||||
public Farmer( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.FishingPole() );
|
||||
AddItem( new Items.FishingPole() );
|
||||
}
|
||||
|
||||
public Fisherman( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -47,14 +47,14 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual bool WasNamed( string speech )
|
||||
{
|
||||
string name = this.Name;
|
||||
string name = Name;
|
||||
|
||||
return ( name != null && Insensitive.StartsWith( speech, name ) );
|
||||
}
|
||||
|
||||
public override bool HandlesOnSpeech( Mobile from )
|
||||
{
|
||||
if ( from.InRange( this.Location, 2 ) )
|
||||
if ( from.InRange( Location, 2 ) )
|
||||
return true;
|
||||
|
||||
return base.HandlesOnSpeech( from );
|
||||
|
|
@ -64,13 +64,13 @@ namespace Server.Mobiles
|
|||
{
|
||||
Mobile from = e.Mobile;
|
||||
|
||||
if ( !e.Handled && from is PlayerMobile && from.InRange( this.Location, 2 ) && WasNamed( e.Speech ) )
|
||||
if ( !e.Handled && from is PlayerMobile && from.InRange( Location, 2 ) && WasNamed( e.Speech ) )
|
||||
{
|
||||
PlayerMobile pm = (PlayerMobile)from;
|
||||
|
||||
if ( e.HasKeyword( 0x0004 ) ) // *join* | *member*
|
||||
{
|
||||
if ( pm.NpcGuild == this.NpcGuild )
|
||||
if ( pm.NpcGuild == NpcGuild )
|
||||
SayTo( from, 501047 ); // Thou art already a member of our guild.
|
||||
else if ( pm.NpcGuild != NpcGuild.None )
|
||||
SayTo( from, 501046 ); // Thou must resign from thy other guild first.
|
||||
|
|
@ -83,7 +83,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
else if ( e.HasKeyword( 0x0005 ) ) // *resign* | *quit*
|
||||
{
|
||||
if ( pm.NpcGuild != this.NpcGuild )
|
||||
if ( pm.NpcGuild != NpcGuild )
|
||||
{
|
||||
SayTo( from, 501052 ); // Thou dost not belong to my guild!
|
||||
}
|
||||
|
|
@ -110,7 +110,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
PlayerMobile pm = (PlayerMobile)from;
|
||||
|
||||
if ( pm.NpcGuild == this.NpcGuild )
|
||||
if ( pm.NpcGuild == NpcGuild )
|
||||
{
|
||||
SayTo( from, 501047 ); // Thou art already a member of our guild.
|
||||
}
|
||||
|
|
@ -126,7 +126,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
SayWelcomeTo( from );
|
||||
|
||||
pm.NpcGuild = this.NpcGuild;
|
||||
pm.NpcGuild = NpcGuild;
|
||||
pm.NpcGuildJoinTime = DateTime.UtcNow;
|
||||
pm.NpcGuildGameTime = pm.GameTime;
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
Item item = ( Utility.RandomBool() ? null : new Server.Items.RingmailChest() );
|
||||
Item item = ( Utility.RandomBool() ? null : new Items.RingmailChest() );
|
||||
|
||||
if ( item != null && !EquipItem( item ) )
|
||||
{
|
||||
|
|
@ -36,10 +36,10 @@ namespace Server.Mobiles
|
|||
}
|
||||
|
||||
if ( item == null )
|
||||
AddItem( new Server.Items.FullApron() );
|
||||
AddItem( new Items.FullApron() );
|
||||
|
||||
AddItem( new Server.Items.Bascinet() );
|
||||
AddItem( new Server.Items.SmithHammer() );
|
||||
AddItem( new Items.Bascinet() );
|
||||
AddItem( new Items.SmithHammer() );
|
||||
}
|
||||
|
||||
public BlacksmithGuildmaster( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.Robe( Utility.RandomYellowHue() ) );
|
||||
AddItem( new Items.Robe( Utility.RandomYellowHue() ) );
|
||||
}
|
||||
|
||||
public HealerGuildmaster( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.Robe( Utility.RandomBlueHue() ) );
|
||||
AddItem( new Server.Items.GnarledStaff() );
|
||||
AddItem( new Items.Robe( Utility.RandomBlueHue() ) );
|
||||
AddItem( new Items.GnarledStaff() );
|
||||
}
|
||||
|
||||
public MageGuildmaster( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ namespace Server.Mobiles
|
|||
base.InitOutfit();
|
||||
|
||||
if ( Utility.RandomBool() )
|
||||
AddItem( new Server.Items.Kryss() );
|
||||
AddItem( new Kryss() );
|
||||
else
|
||||
AddItem( new Server.Items.Dagger() );
|
||||
AddItem( new Dagger() );
|
||||
}
|
||||
|
||||
public override bool CheckCustomReqs( PlayerMobile pm )
|
||||
|
|
@ -61,7 +61,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool HandlesOnSpeech( Mobile from )
|
||||
{
|
||||
if ( from.InRange( this.Location, 2 ) )
|
||||
if ( from.InRange( Location, 2 ) )
|
||||
return true;
|
||||
|
||||
return base.HandlesOnSpeech( from );
|
||||
|
|
@ -71,7 +71,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
Mobile from = e.Mobile;
|
||||
|
||||
if ( !e.Handled && from is PlayerMobile && from.InRange( this.Location, 2 ) && e.HasKeyword( 0x1F ) ) // *disguise*
|
||||
if ( !e.Handled && from is PlayerMobile && from.InRange( Location, 2 ) && e.HasKeyword( 0x1F ) ) // *disguise*
|
||||
{
|
||||
PlayerMobile pm = (PlayerMobile)from;
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
Item item = ( Utility.RandomBool() ? null : new Server.Items.RingmailChest() );
|
||||
Item item = ( Utility.RandomBool() ? null : new RingmailChest() );
|
||||
|
||||
if ( item != null && !EquipItem( item ) )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.Robe( Utility.RandomBlueHue() ) );
|
||||
AddItem( new Items.Robe( Utility.RandomBlueHue() ) );
|
||||
}
|
||||
|
||||
public Mage( Serial serial ) : base( serial )
|
||||
|
|
|
|||
|
|
@ -22,10 +22,10 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.InitOutfit();
|
||||
|
||||
AddItem( new Server.Items.FancyShirt( 0x3E4 ) );
|
||||
AddItem( new Server.Items.LongPants( 0x192 ) );
|
||||
AddItem( new Server.Items.Pickaxe() );
|
||||
AddItem( new Server.Items.ThighBoots( 0x283 ) );
|
||||
AddItem( new Items.FancyShirt( 0x3E4 ) );
|
||||
AddItem( new Items.LongPants( 0x192 ) );
|
||||
AddItem( new Items.Pickaxe() );
|
||||
AddItem( new Items.ThighBoots( 0x283 ) );
|
||||
}
|
||||
|
||||
public Miner( Serial serial ) : base( serial )
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue