Add DefaultName property to Mobiles & Items (#18)
This commit is contained in:
parent
b06f5bf60d
commit
8ee42c8ea2
713 changed files with 5112 additions and 4987 deletions
|
|
@ -410,7 +410,7 @@ namespace Server.Engines.CannedEvil
|
|||
private ScrollofTranscendence CreateRandomSoT( bool felucca )
|
||||
{
|
||||
int level = Utility.RandomMinMax( 1, 5 );
|
||||
|
||||
|
||||
if ( felucca )
|
||||
level += 5;
|
||||
|
||||
|
|
@ -427,7 +427,7 @@ namespace Server.Engines.CannedEvil
|
|||
killer.SendLocalizedMessage( 1094936 ); // You have received a Scroll of Transcendence!
|
||||
else
|
||||
killer.SendLocalizedMessage( 1049524 ); // You have received a scroll of power!
|
||||
|
||||
|
||||
if ( killer.Alive )
|
||||
killer.AddToBackpack( scroll );
|
||||
else
|
||||
|
|
@ -437,13 +437,13 @@ namespace Server.Engines.CannedEvil
|
|||
else
|
||||
killer.AddToBackpack( scroll );
|
||||
}
|
||||
|
||||
|
||||
// Justice reward
|
||||
PlayerMobile pm = (PlayerMobile)killer;
|
||||
for (int j = 0; j < pm.JusticeProtectors.Count; ++j)
|
||||
{
|
||||
Mobile prot = (Mobile)pm.JusticeProtectors[j];
|
||||
|
||||
|
||||
if ( prot.Map != killer.Map || prot.Kills >= 5 || prot.Criminal || !JusticeVirtue.CheckMapRegion( killer, prot ) )
|
||||
continue;
|
||||
|
||||
|
|
@ -463,7 +463,7 @@ namespace Server.Engines.CannedEvil
|
|||
prot.SendLocalizedMessage( 1049368 ); // You have been rewarded for your dedication to Justice!
|
||||
|
||||
SpecialScroll scrollDupe = Activator.CreateInstance( scroll.GetType() ) as SpecialScroll;
|
||||
|
||||
|
||||
if ( scrollDupe != null )
|
||||
{
|
||||
scrollDupe.Skill = scroll.Skill;
|
||||
|
|
@ -547,7 +547,7 @@ namespace Server.Engines.CannedEvil
|
|||
{
|
||||
PlayerMobile pm = (PlayerMobile)killer;
|
||||
double random = Utility.Random ( 49 );
|
||||
|
||||
|
||||
if ( random <= 24 )
|
||||
{
|
||||
ScrollofTranscendence SoTF = CreateRandomSoT( true );
|
||||
|
|
@ -1258,7 +1258,7 @@ namespace Server.Engines.CannedEvil
|
|||
|
||||
public class ChampionSpawnRegion : BaseRegion
|
||||
{
|
||||
public override bool YoungProtected { get { return false; } }
|
||||
public override bool YoungProtected => false;
|
||||
|
||||
private ChampionSpawn m_Spawn;
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ namespace Server.Engines.CannedEvil
|
|||
} ),
|
||||
new ChampionSpawnInfo( "Unholy Terror", typeof( Neira ), new string[]{ "Scourge", "Punisher", "Nemesis" }, new Type[][] // Unholy Terror
|
||||
{ // Unholy Terror
|
||||
(Core.AOS ?
|
||||
(Core.AOS ?
|
||||
new Type[]{ typeof( Bogle ), typeof( Ghoul ), typeof( Shade ), typeof( Spectre ), typeof( Wraith ) } // Level 1 (Pre-AoS)
|
||||
: new Type[]{ typeof( Ghoul ), typeof( Shade ), typeof( Spectre ), typeof( Wraith ) } ), // Level 1
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ namespace Server.Engines.CannedEvil
|
|||
new Type[]{ typeof( Pixie ), typeof( ShadowWisp ) },
|
||||
new Type[]{ typeof( Centaur ), typeof( MLDryad ) },
|
||||
new Type[]{ typeof( Satyr ), typeof( CuSidhe ) },
|
||||
new Type[]{ typeof( FerelTreefellow ), typeof( RagingGrizzlyBear ) }
|
||||
new Type[]{ typeof( FeralTreefellow ), typeof( RagingGrizzlyBear ) }
|
||||
} ),
|
||||
new ChampionSpawnInfo( "The Corrupt", typeof( Ilhenir ), new string[]{ "Cleanser", "Expunger", "Depurator" } , new Type[][]
|
||||
{ // Unholy Terror
|
||||
|
|
@ -119,4 +119,4 @@ namespace Server.Engines.CannedEvil
|
|||
return m_Table[v];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
public class BRBomb : Item
|
||||
{
|
||||
public override string DefaultName => "da bomb";
|
||||
|
||||
private BRGame m_Game;
|
||||
private Mobile m_Thrower;
|
||||
private EffectTimer m_Timer;
|
||||
|
|
@ -33,12 +35,11 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
public BRBomb( BRGame game ) : base( 0x103C ) // 0x103C = bread, 0x1042 = pie, 0x1364 = rock, 0x13a8 = pillow, 0x2256 = bagball
|
||||
{
|
||||
Name = "da bomb";
|
||||
Movable = false;
|
||||
Hue = 0x35;
|
||||
|
||||
m_Game = game;
|
||||
|
||||
|
||||
m_Helpers = new ArrayList();
|
||||
|
||||
m_Timer = new EffectTimer( this );
|
||||
|
|
@ -63,14 +64,14 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
if ( !m_Bomb.m_Flying && m_Bomb.Map != Map.Internal )
|
||||
Effects.SendLocationEffect( m_Bomb.GetWorldLocation(), m_Bomb.Map, 0x377A, 16, 10, m_Bomb.Hue, 0 );
|
||||
|
||||
|
||||
if ( m_Bomb.Location != m_Bomb.m_Game.Controller.BombHome )
|
||||
{
|
||||
if ( ++m_Count >= 30 )
|
||||
{
|
||||
m_Bomb.m_Game.ReturnBomb();
|
||||
m_Bomb.m_Game.Alert( "The bomb has been returned to it's starting point." );
|
||||
|
||||
|
||||
m_Count = 0;
|
||||
m_Bomb.m_Helpers.Clear();
|
||||
}
|
||||
|
|
@ -130,7 +131,7 @@ namespace Server.Engines.ConPVP
|
|||
//int theifRank = mob.Skills.Stealing.Value + mob.Skills.Snooping.Value + mob.Skills.Hiding.Value + mob.Skills.Stealth.Value + mob.Skills.RemoveTrap.Value + mob.Skills.Lockpicking.Value + mob.Skills.ItemID.Value;
|
||||
|
||||
// To Do: Give them a special ability while holding the ball maybe based on skills?
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnRemoved(IEntity parent)
|
||||
|
|
@ -189,7 +190,7 @@ namespace Server.Engines.ConPVP
|
|||
public override void OnAfterDelete()
|
||||
{
|
||||
base.OnAfterDelete ();
|
||||
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
}
|
||||
|
|
@ -266,7 +267,7 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
if ( m_Game == null )
|
||||
return true;
|
||||
|
||||
|
||||
if ( !IsChildOf( from.Backpack ) )
|
||||
return true;
|
||||
|
||||
|
|
@ -297,7 +298,7 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
DoAnim( this.GetWorldLocation(), ballLoc, this.Map );
|
||||
this.MoveToWorld( ballLoc );
|
||||
|
||||
|
||||
m_Path.Clear();
|
||||
m_PathIdx = 0;
|
||||
|
||||
|
|
@ -321,7 +322,7 @@ namespace Server.Engines.ConPVP
|
|||
else if ( zdiff < 16 )
|
||||
return Utility.RandomBool(); // 50% chance
|
||||
else
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
private void DoAnim( Point3D start, Point3D end, Map map )
|
||||
|
|
@ -465,11 +466,11 @@ namespace Server.Engines.ConPVP
|
|||
int xp = ( i - (count / 2) );
|
||||
|
||||
p.Z += (int)Math.Ceiling( coeff * xp * xp + height );
|
||||
|
||||
|
||||
list[i] = p;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
m_Path.Clear();
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
m_Path.Add( (Point3D)list[i] );
|
||||
|
|
@ -619,7 +620,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
area.Free();
|
||||
|
||||
|
||||
IPooledEnumerable<NetState> clients = this.Map.GetClientsInBounds( rect );
|
||||
foreach ( NetState ns in clients)
|
||||
{
|
||||
|
|
@ -630,7 +631,7 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
Point3D point;
|
||||
Point3D loc = m.Location;
|
||||
|
||||
|
||||
for ( int j = m_PathIdx; j < pathCheckEnd && !found; j++ )
|
||||
{
|
||||
point = m_Path[j];
|
||||
|
|
@ -646,7 +647,7 @@ namespace Server.Engines.ConPVP
|
|||
continue;
|
||||
|
||||
clients.Free();
|
||||
|
||||
|
||||
// TODO: probably need to change this a lot...
|
||||
DoCatch( m );
|
||||
|
||||
|
|
@ -654,7 +655,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
clients.Free();
|
||||
|
||||
|
||||
m_PathIdx = pathCheckEnd;
|
||||
|
||||
if ( m_PathIdx > 0 && m_PathIdx - 1 < m_Path.Count )
|
||||
|
|
@ -670,7 +671,7 @@ namespace Server.Engines.ConPVP
|
|||
this.MoveToWorld( m_Path.Last );
|
||||
|
||||
int myZ = this.Map.GetAverageZ( this.X, this.Y );
|
||||
|
||||
|
||||
StaticTile[] statics = this.Map.Tiles.GetStaticTiles( this.X, this.Y, true );
|
||||
for ( int j = 0; j < statics.Length; j++ )
|
||||
{
|
||||
|
|
@ -737,7 +738,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
m_Game.ReturnBomb();
|
||||
|
||||
|
||||
m_Flying = false;
|
||||
this.Visible = true;
|
||||
m_Path.Clear();
|
||||
|
|
@ -764,7 +765,7 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
if ( m_Helpers.Contains( m ) )
|
||||
m_Helpers.Remove( m );
|
||||
|
||||
|
||||
if ( m_Helpers.Count > 0 )
|
||||
{
|
||||
Mobile last = (Mobile)m_Helpers[0];
|
||||
|
|
@ -819,19 +820,19 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
// Center Sparkle
|
||||
this.AddComponent( new AddonComponent( 0x375A ), 0, 0, -1 );
|
||||
|
||||
|
||||
if ( !m_North )
|
||||
{
|
||||
// Pillars
|
||||
this.AddComponent( new AddonComponent( 0x0CE ), 0, +1, -2 );
|
||||
this.AddComponent( new AddonComponent( 0x0CC ), 0, -1, -2 );
|
||||
this.AddComponent( new AddonComponent( 0x0D0 ), 0, 0, -2 );
|
||||
|
||||
|
||||
// Yellow parts
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x0DF ), 0x499 ), 0, +1, 7 );
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x0DF ), 0x499 ), 0, 0, 16 );
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x0DF ), 0x499 ), 0, -1, 7 );
|
||||
|
||||
|
||||
// Blue Sparkles
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x377A ), 0x84C ), 0, +1, 12 );
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x377A ), 0x84C ), 0, +1, -1 );
|
||||
|
|
@ -844,12 +845,12 @@ namespace Server.Engines.ConPVP
|
|||
this.AddComponent( new AddonComponent( 0x0CF ), +1, 0, -2 );
|
||||
this.AddComponent( new AddonComponent( 0x0CC ), -1, 0, -2 );
|
||||
this.AddComponent( new AddonComponent( 0x0D1 ), 0, 0, -2 );
|
||||
|
||||
|
||||
// Yellow parts
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x0DF ), 0x499 ), +1, 0, 7 );
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x0DF ), 0x499 ), 0, 0, 16 );
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x0DF ), 0x499 ), -1, 0, 7 );
|
||||
|
||||
|
||||
// Blue Sparkles
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x377A ), 0x84C ), +1, 0, 12 );
|
||||
this.AddComponent( SetHue( new AddonComponent( 0x377A ), 0x84C ), +1, 0, -1 );
|
||||
|
|
@ -858,11 +859,11 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
public override string DefaultName => "Bombing Run Goal";
|
||||
|
||||
[Constructible]
|
||||
public BRGoal()
|
||||
{
|
||||
Name = "Bombing Run Goal";
|
||||
|
||||
this.ItemID = 0x51D;
|
||||
this.Hue = 0x84C;
|
||||
this.Visible = true;
|
||||
|
|
@ -905,19 +906,19 @@ namespace Server.Engines.ConPVP
|
|||
this.Hue = 0x84C;
|
||||
}
|
||||
|
||||
public override bool ShareHue{ get{ return false; } }
|
||||
public override bool ShareHue => false;
|
||||
|
||||
public BRTeamInfo Team
|
||||
{
|
||||
get { return m_Team; }
|
||||
set
|
||||
public BRTeamInfo Team
|
||||
{
|
||||
get { return m_Team; }
|
||||
set
|
||||
{
|
||||
m_Team = value;
|
||||
m_Team = value;
|
||||
if ( m_Team != null && m_Team.Color != 0 )
|
||||
this.Hue = m_Team.Color;
|
||||
else
|
||||
this.Hue = 0x84C;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private BRTeamInfo m_Team;
|
||||
|
|
@ -949,13 +950,14 @@ namespace Server.Engines.ConPVP
|
|||
|
||||
public sealed class BRBoard : Item
|
||||
{
|
||||
public override string DefaultName => "Scoreboard";
|
||||
|
||||
public BRTeamInfo m_TeamInfo;
|
||||
|
||||
[Constructible]
|
||||
public BRBoard()
|
||||
: base( 7774 )
|
||||
{
|
||||
Name = "Scoreboard";
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
|
|
@ -1211,7 +1213,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
public int Captures
|
||||
{
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_Captures;
|
||||
|
|
@ -1346,9 +1348,9 @@ namespace Server.Engines.ConPVP
|
|||
public BRGoal Goal
|
||||
{
|
||||
get { return m_Goal; }
|
||||
set
|
||||
set
|
||||
{
|
||||
m_Goal = value;
|
||||
m_Goal = value;
|
||||
if ( m_Goal != null )
|
||||
m_Goal.Team = this;
|
||||
}
|
||||
|
|
@ -1452,10 +1454,8 @@ namespace Server.Engines.ConPVP
|
|||
set { m_BombHome = value; }
|
||||
}
|
||||
|
||||
public override string Title
|
||||
{
|
||||
get { return "Bombing Run"; }
|
||||
}
|
||||
public override string Title => "Bombing Run";
|
||||
public override string DefaultName => "Bombing Run Controller";
|
||||
|
||||
public override string GetTeamName( int teamID )
|
||||
{
|
||||
|
|
@ -1473,8 +1473,6 @@ namespace Server.Engines.ConPVP
|
|||
Visible = false;
|
||||
Movable = false;
|
||||
|
||||
Name = "Bombing Run Controller";
|
||||
|
||||
m_Duration = TimeSpan.FromMinutes( 30.0 );
|
||||
|
||||
m_BombHome = Point3D.Zero;
|
||||
|
|
@ -1943,7 +1941,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
ReturnBomb();
|
||||
|
||||
|
||||
if( m_Bomb != null )
|
||||
m_Bomb.Delete();
|
||||
|
||||
|
|
|
|||
|
|
@ -355,7 +355,7 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
if ( mob == null )
|
||||
return null;
|
||||
|
||||
|
||||
DDPlayerInfo val;
|
||||
|
||||
if ( !m_Players.TryGetValue( mob, out val ) )
|
||||
|
|
@ -970,13 +970,13 @@ namespace Server.Engines.ConPVP
|
|||
if ( point == null || from == null || team == null || !m_Capturable )
|
||||
return;
|
||||
|
||||
bool wasDom = ( m_Controller.PointA != null && m_Controller.PointB != null &&
|
||||
bool wasDom = ( m_Controller.PointA != null && m_Controller.PointB != null &&
|
||||
m_Controller.PointA.TeamOwner == m_Controller.PointB.TeamOwner && m_Controller.PointA.TeamOwner != null );
|
||||
|
||||
point.TeamOwner = team;
|
||||
Alert( "{0} has captured {1}!", team.Name, point.Name );
|
||||
|
||||
bool isDom = ( m_Controller.PointA != null && m_Controller.PointB != null &&
|
||||
bool isDom = ( m_Controller.PointA != null && m_Controller.PointB != null &&
|
||||
m_Controller.PointA.TeamOwner == m_Controller.PointB.TeamOwner && m_Controller.PointA.TeamOwner != null );
|
||||
|
||||
if ( wasDom && !isDom )
|
||||
|
|
@ -993,7 +993,7 @@ namespace Server.Engines.ConPVP
|
|||
m_CaptureTimer.Stop();
|
||||
m_CaptureTimer = null;
|
||||
}
|
||||
|
||||
|
||||
if ( !wasDom && isDom )
|
||||
{
|
||||
m_CapStage = 0;
|
||||
|
|
@ -1010,7 +1010,7 @@ namespace Server.Engines.ConPVP
|
|||
team = m_Controller.PointA.TeamOwner;
|
||||
else if ( m_Controller.PointB != null && m_Controller.PointB.TeamOwner != null )
|
||||
team = m_Controller.PointB.TeamOwner;
|
||||
|
||||
|
||||
if ( team == null )
|
||||
{
|
||||
m_Capturable = true;
|
||||
|
|
@ -1060,7 +1060,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
private void UncaptureTick()
|
||||
{
|
||||
{
|
||||
m_Capturable = true;
|
||||
|
||||
if ( m_CaptureTimer != null )
|
||||
|
|
@ -1134,32 +1134,32 @@ namespace Server.Engines.ConPVP
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
public override bool ShareHue{ get{ return false; } }
|
||||
public override bool ShareHue => false;
|
||||
|
||||
public DDGame Game
|
||||
{
|
||||
get{ return m_Game; }
|
||||
{
|
||||
get{ return m_Game; }
|
||||
set
|
||||
{
|
||||
m_Game = value;
|
||||
{
|
||||
m_Game = value;
|
||||
m_TeamOwner = null;
|
||||
|
||||
|
||||
if ( m_Game != null )
|
||||
SetNonCaptureHue();
|
||||
SetNonCaptureHue();
|
||||
else
|
||||
SetUncapturableHue();
|
||||
}
|
||||
}
|
||||
|
||||
public DDTeamInfo TeamOwner
|
||||
{
|
||||
get{ return m_TeamOwner; }
|
||||
{
|
||||
get{ return m_TeamOwner; }
|
||||
set
|
||||
{
|
||||
m_TeamOwner = value;
|
||||
{
|
||||
m_TeamOwner = value;
|
||||
|
||||
SetNonCaptureHue();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public const int UncapturableHue = 0x497;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
public static readonly int SafeZonePriority = HouseRegion.HousePriority + 1;
|
||||
|
||||
/*public override bool AllowReds{ get{ return true; } }*/
|
||||
/*public override bool AllowReds => true;*/
|
||||
|
||||
public SafeZone( Rectangle2D area, Point3D goloc, Map map, bool isGuarded ) : base( null, map, SafeZonePriority, area )
|
||||
{
|
||||
|
|
@ -74,4 +74,4 @@ namespace Server.Engines.ConPVP
|
|||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -163,14 +163,14 @@ namespace Server.Engines.Doom
|
|||
Movable = false;
|
||||
}
|
||||
|
||||
public override bool HandlesOnMovement { get { return true; } }
|
||||
public override bool HandlesOnMovement => true;
|
||||
public override bool OnMoveOver( Mobile m )
|
||||
{
|
||||
if( m != null && m is PlayerMobile )
|
||||
{
|
||||
if ( SpellHelper.CheckCombat( m ) )
|
||||
{
|
||||
m.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
|
||||
m.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,14 +8,14 @@ namespace Server.Mobiles
|
|||
[CorpseName( "an evil corpse" )]
|
||||
public class UnholyFamiliar : BaseCreature
|
||||
{
|
||||
public override bool IsDispellable { get { return false; } }
|
||||
public override bool IsBondable { get { return false; } }
|
||||
public override bool IsDispellable => false;
|
||||
public override bool IsBondable => false;
|
||||
public override string DefaultName => "a dark wolf";
|
||||
|
||||
[Constructible]
|
||||
public UnholyFamiliar()
|
||||
: base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a dark wolf";
|
||||
Body = 99;
|
||||
BaseSoundID = 0xE5;
|
||||
|
||||
|
|
@ -83,4 +83,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ namespace Server.Mobiles
|
|||
[CorpseName( "an unholy corpse" )]
|
||||
public class UnholySteed : BaseMount
|
||||
{
|
||||
public override bool IsDispellable { get { return false; } }
|
||||
public override bool IsBondable { get { return false; } }
|
||||
public override bool IsDispellable => false;
|
||||
public override bool IsBondable => false;
|
||||
|
||||
public override bool HasBreath { get { return true; } }
|
||||
public override bool CanBreath { get { return true; } }
|
||||
public override bool HasBreath => true;
|
||||
public override bool CanBreath => true;
|
||||
|
||||
[Constructible]
|
||||
public UnholySteed()
|
||||
|
|
@ -88,4 +88,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,14 +8,15 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a holy corpse" )]
|
||||
public class HolyFamiliar : BaseCreature
|
||||
{
|
||||
public override bool IsDispellable { get { return false; } }
|
||||
public override bool IsBondable { get { return false; } }
|
||||
public override bool IsDispellable => false;
|
||||
public override bool IsBondable => false;
|
||||
|
||||
public override string DefaultName => "a silver wolf";
|
||||
|
||||
[Constructible]
|
||||
public HolyFamiliar()
|
||||
: base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a silver wolf";
|
||||
Body = 100;
|
||||
BaseSoundID = 0xE5;
|
||||
|
||||
|
|
@ -83,4 +84,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a holy corpse" )]
|
||||
public class HolySteed : BaseMount
|
||||
{
|
||||
public override bool IsDispellable { get{ return false; } }
|
||||
public override bool IsBondable { get { return false; } }
|
||||
public override bool IsDispellable => false;
|
||||
public override bool IsBondable => false;
|
||||
|
||||
public override bool HasBreath { get { return true; } }
|
||||
public override bool CanBreath { get { return true; } }
|
||||
public override bool HasBreath => true;
|
||||
public override bool CanBreath => true;
|
||||
|
||||
[Constructible]
|
||||
public HolySteed()
|
||||
|
|
@ -88,4 +88,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ namespace Server.Factions
|
|||
private Town m_Town;
|
||||
private Orders m_Orders;
|
||||
|
||||
public override bool BardImmune{ get{ return true; } }
|
||||
public override bool BardImmune => true;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster, AccessLevel.Administrator )]
|
||||
public Faction Faction
|
||||
|
|
@ -56,7 +56,7 @@ namespace Server.Factions
|
|||
}
|
||||
|
||||
public override TimeSpan ReacquireDelay{ get{ return TimeSpan.FromSeconds( 2.0 ); } }
|
||||
|
||||
|
||||
public override bool IsEnemy( Mobile m )
|
||||
{
|
||||
Faction ourFaction = m_Faction;
|
||||
|
|
@ -93,7 +93,7 @@ namespace Server.Factions
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public override void OnMovement( Mobile m, Point3D oldLocation )
|
||||
{
|
||||
if ( m.Player && m.Alive && InRange( m, 10 ) && !InRange( oldLocation, 10 ) && InLOS( m ) && m_Orders.GetReaction( Faction.Find( m ) ).Type == ReactionType.Warn )
|
||||
|
|
@ -167,7 +167,7 @@ namespace Server.Factions
|
|||
|
||||
return ( name != null && Insensitive.StartsWith( speech, name ) );
|
||||
}
|
||||
|
||||
|
||||
public override void OnSpeech( SpeechEventArgs e )
|
||||
{
|
||||
base.OnSpeech( e );
|
||||
|
|
@ -406,7 +406,7 @@ namespace Server.Factions
|
|||
GenerateRandomHair();
|
||||
}
|
||||
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
public override bool ClickTitle => false;
|
||||
|
||||
public BaseFactionGuard( string title ) : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
|
|
@ -512,4 +512,4 @@ namespace Server.Factions
|
|||
Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,9 +5,10 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class GrimmochDrummel : BaseCreature
|
||||
{
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
public override bool ShowFameTitle{ get{ return false; } }
|
||||
public override bool DeleteCorpseOnDeath{ get{ return true; } }
|
||||
public override bool ClickTitle => false;
|
||||
public override bool ShowFameTitle => false;
|
||||
public override bool DeleteCorpseOnDeath => true;
|
||||
public override string DefaultName => "Grimmoch Drummel";
|
||||
|
||||
[Constructible]
|
||||
public GrimmochDrummel() : base( AIType.AI_Archer, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
|
|
@ -16,7 +17,6 @@ namespace Server.Mobiles
|
|||
|
||||
Hue = 0x8596;
|
||||
Body = 0x190;
|
||||
Name = "Grimmoch Drummel";
|
||||
|
||||
HairItemID = 0x204A; //Krisna
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ namespace Server.Mobiles
|
|||
return true;
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
public override bool AlwaysMurderer => true;
|
||||
|
||||
public GrimmochDrummel( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
@ -128,4 +128,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,9 +5,10 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class LysanderGathenwale : BaseCreature
|
||||
{
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
public override bool ShowFameTitle{ get{ return false; } }
|
||||
public override bool DeleteCorpseOnDeath{ get{ return true; } }
|
||||
public override bool ClickTitle => false;
|
||||
public override bool ShowFameTitle => false;
|
||||
public override bool DeleteCorpseOnDeath => true;
|
||||
public override string DefaultName => "Lysander Gatherwale";
|
||||
|
||||
[Constructible]
|
||||
public LysanderGathenwale() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
|
|
@ -16,7 +17,6 @@ namespace Server.Mobiles
|
|||
|
||||
Hue = 0x8838;
|
||||
Body = 0x190;
|
||||
Name = "Lysander Gathenwale";
|
||||
|
||||
AddItem( new Boots( 0x599 ) );
|
||||
AddItem( new Cloak( 0x96F ) );
|
||||
|
|
@ -109,7 +109,7 @@ namespace Server.Mobiles
|
|||
return true;
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
public override bool AlwaysMurderer => true;
|
||||
|
||||
public LysanderGathenwale( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
@ -129,4 +129,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class MorgBergen : BaseCreature
|
||||
{
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
public override bool ShowFameTitle{ get{ return false; } }
|
||||
public override bool DeleteCorpseOnDeath{ get{ return true; } }
|
||||
public override bool ShowFameTitle => false;
|
||||
public override bool DeleteCorpseOnDeath => true;
|
||||
public override string DefaultName => "Morg Bergen";
|
||||
|
||||
[Constructible]
|
||||
public MorgBergen() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
|
|
@ -16,7 +16,6 @@ namespace Server.Mobiles
|
|||
|
||||
Hue = 0x8596;
|
||||
Body = 0x190;
|
||||
Name = "Morg Bergen";
|
||||
|
||||
AddItem( new ShortPants( 0x59C ) );
|
||||
|
||||
|
|
@ -88,7 +87,7 @@ namespace Server.Mobiles
|
|||
return true;
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
public override bool AlwaysMurderer => true;
|
||||
|
||||
public MorgBergen( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
@ -108,4 +107,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class TavaraSewel : BaseCreature
|
||||
{
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
public override bool ShowFameTitle{ get{ return false; } }
|
||||
public override bool DeleteCorpseOnDeath{ get{ return true; } }
|
||||
public override bool ShowFameTitle => false;
|
||||
public override bool DeleteCorpseOnDeath => true;
|
||||
public override string DefaultName => "Tavara Sewel";
|
||||
|
||||
[Constructible]
|
||||
public TavaraSewel () : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
|
|
@ -17,7 +17,6 @@ namespace Server.Mobiles
|
|||
Hue = 0x8838;
|
||||
Female = true;
|
||||
Body = 0x191;
|
||||
Name = "Tavara Sewel";
|
||||
|
||||
AddItem( new Kilt( 0x59C ) );
|
||||
AddItem( new Sandals( 0x599 ) );
|
||||
|
|
@ -97,7 +96,7 @@ namespace Server.Mobiles
|
|||
return true;
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
public override bool AlwaysMurderer => true;
|
||||
|
||||
public TavaraSewel( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
@ -117,4 +116,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ namespace Server.Items
|
|||
{
|
||||
}
|
||||
|
||||
public override bool HandlesOnMovement{ get{ return true; } }
|
||||
public override bool HandlesOnMovement => true;
|
||||
|
||||
public override void OnMovement( Mobile m, Point3D oldLocation )
|
||||
{
|
||||
|
|
@ -220,4 +220,4 @@ namespace Server.Items
|
|||
Timer.DelayCall( TimeSpan.Zero, new TimerCallback( Refresh ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -86,13 +86,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Kia (Bedlam)" )]
|
||||
public class Kia : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Kia";
|
||||
|
||||
[Constructible]
|
||||
public Kia()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Kia";
|
||||
Title = "the student";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
@ -130,9 +130,11 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Emerillo (Bedlam)" )]
|
||||
public class Emerillo : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Emerillo";
|
||||
|
||||
public override bool CanShout => true;
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074222 ); // Could I trouble you for some assistance?
|
||||
|
|
@ -142,7 +144,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Emerillo()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Emerillo";
|
||||
Title = "the cook";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -181,13 +182,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Nythalia : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Mythalia";
|
||||
|
||||
[Constructible]
|
||||
public Nythalia()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Nythalia";
|
||||
Title = "the student";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class ARockAndAHardPlace : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( SympatheticMagic ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public ARockAndAHardPlace()
|
||||
{
|
||||
|
|
@ -65,7 +65,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class SympatheticMagic : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( AlreadyDead ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public SympatheticMagic()
|
||||
{
|
||||
|
|
@ -85,7 +85,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class AlreadyDead : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( Eureka ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public AlreadyDead()
|
||||
{
|
||||
|
|
@ -103,7 +103,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
private class InternalObjective : CollectObjective
|
||||
{
|
||||
public override bool ShowDetailed { get { return false; } }
|
||||
public override bool ShowDetailed => false;
|
||||
|
||||
public InternalObjective()
|
||||
: base( 10, typeof( Bone ), 1074963 ) // (10) workable samples
|
||||
|
|
@ -115,7 +115,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class Eureka : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( SubContracting ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public Eureka()
|
||||
{
|
||||
|
|
@ -152,7 +152,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class SubContracting : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public SubContracting()
|
||||
{
|
||||
|
|
@ -178,13 +178,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Jamal (near Blighted Grove)" )]
|
||||
public class Jamal : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Jamal";
|
||||
|
||||
[Constructible]
|
||||
public Jamal()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "Jamal";
|
||||
Title = "the Fisherman";
|
||||
Body = 400;
|
||||
Hue = Race.RandomSkinHue();
|
||||
|
|
@ -222,9 +222,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Iosep (Jhelom)" )]
|
||||
public class Iosep : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Iosep";
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -237,7 +238,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Iosep()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "Iosep";
|
||||
Title = "the Exporter";
|
||||
Body = 400;
|
||||
Hue = Race.RandomSkinHue();
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Aemaeth2 : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public Aemaeth2()
|
||||
{
|
||||
|
|
@ -110,13 +110,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Aurelia : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Aurelia";
|
||||
|
||||
[Constructible]
|
||||
public Aurelia()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Aurelia";
|
||||
Title = "the Architect's Daughter";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
@ -160,13 +160,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Szandor" )]
|
||||
public class SkeletonOfSzandor : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Skeleton of Szandor";
|
||||
|
||||
[Constructible]
|
||||
public SkeletonOfSzandor()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Skeleton of Szandor";
|
||||
Title = "the Late Architect";
|
||||
Hue = 0x83F2; // TODO: Random human hue? Why???
|
||||
Body = 0x32;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -13,7 +13,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Seasons : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public Seasons()
|
||||
{
|
||||
|
|
@ -49,7 +49,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class CaretakerOfTheLand : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public CaretakerOfTheLand()
|
||||
{
|
||||
|
|
@ -85,7 +85,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class WisdomOfTheSphynx : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public WisdomOfTheSphynx()
|
||||
{
|
||||
|
|
@ -117,7 +117,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
private class InternalObjective : CollectObjective
|
||||
{
|
||||
public override bool ShowDetailed { get { return false; } }
|
||||
public override bool ShowDetailed => false;
|
||||
|
||||
public InternalObjective()
|
||||
: base( 1, typeof( Pitcher ), 1074869 ) // The answer to the riddle.
|
||||
|
|
@ -135,7 +135,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class DefendingTheHerd : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public DefendingTheHerd()
|
||||
{
|
||||
|
|
@ -171,7 +171,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class TheBalanceOfNature : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public TheBalanceOfNature()
|
||||
{
|
||||
|
|
@ -206,7 +206,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class TheJoysOfLife : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public TheJoysOfLife()
|
||||
{
|
||||
|
|
@ -246,12 +246,12 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Maul" )]
|
||||
public class MaulTheBear : GrizzlyBear
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Maul";
|
||||
|
||||
[Constructible]
|
||||
public MaulTheBear()
|
||||
{
|
||||
Name = "Maul";
|
||||
AI = AIType.AI_Vendor;
|
||||
FightMode = FightMode.None;
|
||||
Tamable = false;
|
||||
|
|
@ -279,12 +279,12 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Strongroot : Treefellow
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Strongroot";
|
||||
|
||||
[Constructible]
|
||||
public Strongroot()
|
||||
{
|
||||
Name = "Strongroot";
|
||||
AI = AIType.AI_Vendor;
|
||||
FightMode = FightMode.None;
|
||||
}
|
||||
|
|
@ -311,13 +311,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Enigma : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Enigma";
|
||||
|
||||
[Constructible]
|
||||
public Enigma()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Enigma";
|
||||
BodyValue = 788;
|
||||
BaseSoundID = 0x3EE;
|
||||
|
||||
|
|
@ -346,8 +346,9 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Bravehorn : BaseEscortable
|
||||
{
|
||||
public override bool StaticMLQuester { get { return true; } }
|
||||
public override bool InitialInnocent { get { return true; } }
|
||||
public override bool StaticMLQuester => true;
|
||||
public override bool InitialInnocent => true;
|
||||
public override string DefaultName => "Bravehorn";
|
||||
|
||||
[Constructible]
|
||||
public Bravehorn()
|
||||
|
|
@ -356,7 +357,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public override void InitBody()
|
||||
{
|
||||
Name = "Bravehorn";
|
||||
Body = 0xEA;
|
||||
|
||||
SetStr( 41, 71 );
|
||||
|
|
@ -424,10 +424,11 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class BravehornsMate : Hind
|
||||
{
|
||||
public override string DefaultName => "bravehorn's mate";
|
||||
|
||||
[Constructible]
|
||||
public BravehornsMate()
|
||||
{
|
||||
Name = "bravehorn's mate";
|
||||
Tamable = false;
|
||||
}
|
||||
|
||||
|
|
@ -453,12 +454,12 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Huntsman : Centaur
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Huntsman";
|
||||
|
||||
[Constructible]
|
||||
public Huntsman()
|
||||
{
|
||||
Name = "Huntsman";
|
||||
AI = AIType.AI_Vendor;
|
||||
FightMode = FightMode.None;
|
||||
}
|
||||
|
|
@ -485,12 +486,12 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Arielle : Pixie
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Arielle";
|
||||
|
||||
[Constructible]
|
||||
public Arielle()
|
||||
{
|
||||
Name = "Arielle";
|
||||
AI = AIType.AI_Vendor;
|
||||
FightMode = FightMode.None;
|
||||
}
|
||||
|
|
@ -521,7 +522,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Ingenuity : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public Ingenuity()
|
||||
{
|
||||
|
|
@ -558,7 +559,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class HeaveHo : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public HeaveHo()
|
||||
{
|
||||
|
|
@ -593,7 +594,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
// This is not a real quest, it is only used as a reference
|
||||
public class HumanInNeed : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public HumanInNeed()
|
||||
{
|
||||
|
|
@ -612,7 +613,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class AllSeasonAdventurer : MLQuest
|
||||
{
|
||||
public override bool RecordCompletion { get { return true; } }
|
||||
public override bool RecordCompletion => true;
|
||||
|
||||
public AllSeasonAdventurer()
|
||||
{
|
||||
|
|
@ -651,9 +652,9 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Sledge (Buc's Den)" )]
|
||||
public class Sledge : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Sledge";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -666,7 +667,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Sledge()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Sledge";
|
||||
Title = "the Versatile";
|
||||
Body = 400;
|
||||
Hue = Race.RandomSkinHue();
|
||||
|
|
@ -702,13 +702,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Patricus (Vesper)" )]
|
||||
public class Patricus : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Patricus";
|
||||
|
||||
[Constructible]
|
||||
public Patricus()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Patricus";
|
||||
Title = "the Trader";
|
||||
Body = 400;
|
||||
Hue = Race.RandomSkinHue();
|
||||
|
|
@ -744,9 +744,9 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Belulah (Nujel'm)" )] // On OSI it's "Belulah (Nu'Jelm)" (incorrect spelling)
|
||||
public class Belulah : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Belulah";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
/*
|
||||
|
|
@ -760,7 +760,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Belulah()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Belulah";
|
||||
Title = "the scorned";
|
||||
Female = true;
|
||||
Body = 401;
|
||||
|
|
|
|||
|
|
@ -22,13 +22,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
Title = 1075392; // Honest Beggar
|
||||
Description = 1075393; // Beg pardon, sir. I mean, madam. Uh, can I ask a favor of you? I found this jeweled ring. Most people would sell it and keep the money, but not me. I ain't never stole nothing, and I ain't about to start. I tried to take it over to Brit castle, figgerin' it must belong to some highborn lady, but the guards threw me out. You look like they might let you pass. Will you take the ring over there and see if you can find the owner?
|
||||
RefusalMessage = 1075395; // I see. Too good to help an honest beggar like me, eh?
|
||||
InProgressMessage = 1075396; // A jewel like this must be worth a lot, so it must belong to some noble or another. I would show it around the castle. Someone’s bound to recognize it.
|
||||
InProgressMessage = 1075396; // A jewel like this must be worth a lot, so it must belong to some noble or another. I would show it around the castle. Someone<EFBFBD>s bound to recognize it.
|
||||
CompletionMessage = 1075397; // Didst thou find my ring? I thank thee very much! It is an old ring, and a gift from my husband. I was most distraught when I realized it was missing.
|
||||
CompletionNotice = CompletionNoticeShort;
|
||||
|
||||
Objectives.Add( new DeliverObjective( typeof( ReginasRing ), 1, "Regina's Ring", typeof( Regina ) ) );
|
||||
|
||||
Rewards.Add( new DummyReward( 1075394 ) ); // Find the ring’s owner.
|
||||
Rewards.Add( new DummyReward( 1075394 ) ); // Find the ring<EFBFBD>s owner.
|
||||
}
|
||||
|
||||
public override void Generate()
|
||||
|
|
@ -42,14 +42,14 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class ReginasThanks : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public ReginasThanks()
|
||||
{
|
||||
Activated = true;
|
||||
OneTimeOnly = true;
|
||||
Title = 1075398; // Regina’s Thanks
|
||||
Description = 1075399; // What’s that you say? It was a humble beggar that found my ring? Such honesty must be rewarded. Here, take this packet and return it to him, and I will be in your debt.
|
||||
Title = 1075398; // Regina<EFBFBD>s Thanks
|
||||
Description = 1075399; // What<EFBFBD>s that you say? It was a humble beggar that found my ring? Such honesty must be rewarded. Here, take this packet and return it to him, and I will be in your debt.
|
||||
RefusalMessage = 1075401; // Hmph. Very well. What did you say his name was?
|
||||
InProgressMessage = 1075402; // Take the packet and return it to the beggar who found my ring.
|
||||
CompletionMessage = 1075403; // What? For me? Let me see . . . these sapphire earrings are for you, it says. Oh, she wants to offer me a job! This is the most wonderful thing that ever happened to me!
|
||||
|
|
@ -75,13 +75,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Evan : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Evan";
|
||||
|
||||
[Constructible]
|
||||
public Evan()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Evan";
|
||||
Title = "the Beggar";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -119,13 +119,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Regina : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Regina";
|
||||
|
||||
[Constructible]
|
||||
public Regina()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Regina";
|
||||
Title = "the Noble";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
|
|||
|
|
@ -121,10 +121,11 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Lissbet : BaseEscortable
|
||||
{
|
||||
public override bool StaticMLQuester { get { return true; } }
|
||||
public override bool InitialInnocent { get { return true; } }
|
||||
public override bool StaticMLQuester => true;
|
||||
public override bool InitialInnocent => true;
|
||||
public override string DefaultName => "Lissbet";
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -147,7 +148,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
Hue = Utility.RandomSkinHue();
|
||||
Female = true;
|
||||
Body = 401;
|
||||
Name = "Lissbet";
|
||||
|
||||
Title = "the flower girl";
|
||||
|
||||
HairItemID = 0x203D;
|
||||
|
|
@ -183,14 +184,14 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class GrandpaCharley : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Grandpa Charley";
|
||||
public override bool CanTeach => true;
|
||||
|
||||
[Constructible]
|
||||
public GrandpaCharley()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Grandpa Charley";
|
||||
Title = "the farmer";
|
||||
Body = 400;
|
||||
Hue = Race.RandomSkinHue();
|
||||
|
|
@ -235,9 +236,9 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Jelrice (Ilshenar)" )]
|
||||
public class Jelrice : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Jelrice";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074221 ); // Greetings! I have a small task for you good traveler.
|
||||
|
|
@ -247,7 +248,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Jelrice()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Jelrice";
|
||||
Title = "the trader";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
@ -285,9 +285,9 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Yorus (Ilshenar)" )]
|
||||
public class Yorus : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Yorus";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074218 ); // Hey! I want to talk to you, now.
|
||||
|
|
@ -297,7 +297,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Yorus()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Yorus";
|
||||
Title = "the tinker";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
|
|||
|
|
@ -43,10 +43,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Drithen (Umbra)" )]
|
||||
public class Drithen : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Drithen";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074188 ); // Weakling! You are not up to the task I have.
|
||||
|
|
@ -56,7 +56,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Drithen()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Drithen";
|
||||
Title = "the Fierce";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class YouScratchMyBack : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( FoolingAernya ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public YouScratchMyBack()
|
||||
{
|
||||
|
|
@ -73,7 +73,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class FoolingAernya : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( NotQuiteThatEasy ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public FoolingAernya()
|
||||
{
|
||||
|
|
@ -94,7 +94,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class NotQuiteThatEasy : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( ConvinceMe ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public NotQuiteThatEasy()
|
||||
{
|
||||
|
|
@ -127,7 +127,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class ConvinceMe : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( TuitionReimbursement ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public ConvinceMe()
|
||||
{
|
||||
|
|
@ -158,7 +158,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class TuitionReimbursement : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public TuitionReimbursement()
|
||||
{
|
||||
|
|
@ -183,13 +183,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Aernya (Umbra)" )]
|
||||
public class Aernya : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Aernya";
|
||||
|
||||
[Constructible]
|
||||
public Aernya()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Aernya";
|
||||
Title = "the Mistress of Admissions";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
@ -229,13 +229,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Gorrow (Luna)" )]
|
||||
public class Gorrow : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Gorrow";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074200, // Thank goodness you are here, there’s no time to lose.
|
||||
1074200, // Thank goodness you are here, there<EFBFBD>s no time to lose.
|
||||
1074203 // Hello friend. I realize you are busy but if you would be willing to render me a service I can assure you that you will be judiciously renumerated.
|
||||
) );
|
||||
}
|
||||
|
|
@ -244,7 +244,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Gorrow()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Gorrow";
|
||||
Title = "the Mayor";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -282,10 +281,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Master Gnosos (Bedlam)" )]
|
||||
public class MasterGnosos : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Master Gnosos";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074186 ); // Come here, I have a task.
|
||||
|
|
@ -295,7 +294,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public MasterGnosos()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Master Gnosos";
|
||||
Title = "the necromancer";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class NewHavenEscort : BaseEscort
|
||||
{
|
||||
// New Haven escorts do not count for 'helping a human in need'
|
||||
public override bool AwardHumanInNeed { get { return false; } }
|
||||
public override bool AwardHumanInNeed => false;
|
||||
|
||||
// Escort reward
|
||||
private static readonly BaseReward m_Reward = new ItemReward( "Gold", typeof( Gold ), 500 );
|
||||
|
|
|
|||
|
|
@ -714,7 +714,8 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Aelorn : KeeperOfChivalry
|
||||
{
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override string DefaultName => "Aelorn";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078133 ); // Hail, friend. Want to live the life of a paladin?
|
||||
|
|
@ -723,7 +724,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[Constructible]
|
||||
public Aelorn()
|
||||
{
|
||||
Name = "Aelorn";
|
||||
Title = "the Chivalry Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -777,10 +777,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Dimethro : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Dimethro";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078128 ); // You there! Wanna master hand to hand defense? Of course you do!
|
||||
|
|
@ -790,7 +790,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Dimethro()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Dimethro";
|
||||
Title = "the Wrestling Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -836,10 +835,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Churchill : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Churchill";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078141 ); // Don't listen to Jockles. Real warriors wield mace weapons!
|
||||
|
|
@ -849,7 +848,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Churchill()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Churchill";
|
||||
Title = "the Mace Fighting Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -914,7 +912,8 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Robyn : Bowyer
|
||||
{
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override string DefaultName => "Robyn";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078202 ); // Archery requires a steady aim and dexterous fingers.
|
||||
|
|
@ -923,7 +922,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[Constructible]
|
||||
public Robyn()
|
||||
{
|
||||
Name = "Robyn";
|
||||
Title = "the Archery Instructor";
|
||||
BodyValue = 0x191;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -996,10 +994,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Recaro : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Recaro";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078187 ); // The art of fencing requires a dexterous hand, a quick wit and fleet feet.
|
||||
|
|
@ -1009,7 +1007,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Recaro()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Recaro";
|
||||
Title = "the Fencer Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -1076,10 +1073,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class AldenArmstrong : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Alden Armstrong";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078136 ); // There is an art to slaying your enemies swiftly. It's called tactics, and I can teach it to you.
|
||||
|
|
@ -1089,7 +1086,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public AldenArmstrong()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Alden Armstrong";
|
||||
Title = "the Tactics Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -1137,10 +1133,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Jockles : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Jockles";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078135 ); // Talk to me to learn the way of the blade.
|
||||
|
|
@ -1150,7 +1146,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Jockles()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Jockles";
|
||||
Title = "the Swordsmanship Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83FA;
|
||||
|
|
@ -1198,10 +1193,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class TylAriadne : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Tyl Ariadne";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078140 ); // Want to learn how to parry blows?
|
||||
|
|
@ -1211,7 +1206,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public TylAriadne()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Tyl Ariadne";
|
||||
Title = "the Parrying Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x8374;
|
||||
|
|
@ -1279,10 +1273,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Alefian : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Alefian";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078130 ); // A mage should learn how to resist spells.
|
||||
|
|
@ -1292,7 +1286,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Alefian()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Alefian";
|
||||
Title = "the Resisting Spells Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -1335,10 +1328,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Gustar : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Gustar";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078126 ); // Meditation allows a mage to replenish mana quickly. I can teach you.
|
||||
|
|
@ -1348,7 +1341,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Gustar()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Gustar";
|
||||
Title = "the Meditation Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83F5;
|
||||
|
|
@ -1419,10 +1411,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Jillian : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Jillian";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078129 ); // I can teach you how to scribe magic scrolls.
|
||||
|
|
@ -1432,7 +1424,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Jillian()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Jillian";
|
||||
Title = "the Inscription Instructor";
|
||||
BodyValue = 0x191;
|
||||
Female = true;
|
||||
|
|
@ -1476,10 +1467,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Kaelynna : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Kaelynna";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078125 ); // Want to unlock the secrets of magery?
|
||||
|
|
@ -1489,7 +1480,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Kaelynna()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Kaelynna";
|
||||
Title = "the Magery Instructor";
|
||||
BodyValue = 0x191;
|
||||
Female = true;
|
||||
|
|
@ -1533,10 +1523,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Mithneral : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Mithneral";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078127 ); // Want to maximize your spell damage? I have a scholarly task for you!
|
||||
|
|
@ -1546,7 +1536,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Mithneral()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Mithneral";
|
||||
Title = "the Evaluating Intelligence Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -1594,7 +1583,8 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class AmeliaYoungstone : Tinker
|
||||
{
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override string DefaultName => "Amelia Youngstone";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078123 ); // Tinkering is very useful for a blacksmith. You can make your own tools.
|
||||
|
|
@ -1603,7 +1593,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[Constructible]
|
||||
public AmeliaYoungstone()
|
||||
{
|
||||
Name = "Amelia Youngstone";
|
||||
Title = "the Tinkering Instructor";
|
||||
BodyValue = 0x191;
|
||||
Female = true;
|
||||
|
|
@ -1653,10 +1642,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class AndreasVesalius : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Andreas Vesalius";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078138 ); // Learning of the body will allow you to excel in combat.
|
||||
|
|
@ -1666,7 +1655,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public AndreasVesalius()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Andreas Vesalius";
|
||||
Title = "the Anatomy Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EC;
|
||||
|
|
@ -1713,10 +1701,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Avicenna : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Avicenna";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078137 ); // A warrior needs to learn how to apply bandages to wounds.
|
||||
|
|
@ -1726,7 +1714,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Avicenna()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Avicenna";
|
||||
Title = "the Healing Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -1770,10 +1757,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class SarsmeaSmythe : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Sarsmea Smythe";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078139 ); // Know yourself, and you will become a true warrior.
|
||||
|
|
@ -1783,7 +1770,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public SarsmeaSmythe()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Sarsmea Smythe";
|
||||
Title = "the Focus Instructor";
|
||||
BodyValue = 0x191;
|
||||
Female = true;
|
||||
|
|
@ -1835,7 +1821,8 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos { get { return m_SBInfos; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override string DefaultName => "Ryuichi";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078155 ); // I can teach you Ninjitsu. The Art of Stealth.
|
||||
|
|
@ -1845,7 +1832,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Ryuichi()
|
||||
: base( "the Ninjitsu Instructor" )
|
||||
{
|
||||
Name = "Ryuichi";
|
||||
Hue = 0x8403;
|
||||
|
||||
SetSkill( SkillName.Hiding, 120.0 );
|
||||
|
|
@ -1903,10 +1889,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Chiyo : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Chiyo";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078165 ); // To be undetected means you cannot be harmed.
|
||||
|
|
@ -1916,7 +1902,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Chiyo()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Chiyo";
|
||||
Title = "the Hiding Instructor";
|
||||
BodyValue = 0xF7;
|
||||
|
||||
|
|
@ -1952,10 +1937,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Jun : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Jun";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078175 ); // Walk Silently. Remain unseen. I can teach you.
|
||||
|
|
@ -1965,7 +1950,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Jun()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Jun";
|
||||
Title = "the Stealth Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x8403;
|
||||
|
|
@ -2012,10 +1996,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Walker : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Walker";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -2029,7 +2013,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Walker()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Walker";
|
||||
Title = "the Tracking Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -2080,7 +2063,8 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos { get { return m_SBInfos; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override string DefaultName => "Hamato";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078134 ); // Seek me to learn the way of the samurai.
|
||||
|
|
@ -2090,7 +2074,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Hamato()
|
||||
: base( "the Bushido Instructor" )
|
||||
{
|
||||
Name = "Hamato";
|
||||
Hue = 0x8403;
|
||||
|
||||
SetSkill( SkillName.Anatomy, 120.0 );
|
||||
|
|
@ -2149,7 +2132,8 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Mulcivikh : Mage
|
||||
{
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override string DefaultName => "Mulcivikh";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078131 ); // Allured by dark magic, aren't you?
|
||||
|
|
@ -2158,7 +2142,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[Constructible]
|
||||
public Mulcivikh()
|
||||
{
|
||||
Name = "Mulcivikh";
|
||||
Title = "the Necromancy Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -2226,7 +2209,8 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Morganna : Mage
|
||||
{
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override string DefaultName => "Morganna";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078132 ); // Want to learn how to channel the supernatural?
|
||||
|
|
@ -2235,7 +2219,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[Constructible]
|
||||
public Morganna()
|
||||
{
|
||||
Name = "Morganna";
|
||||
Title = "the Spirit Speak Instructor";
|
||||
BodyValue = 0x191;
|
||||
Female = true;
|
||||
|
|
@ -2283,10 +2266,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class JacobWaltz : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Jacob Waltz";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078124 ); // You there! I can use some help mining these rocks!
|
||||
|
|
@ -2296,7 +2279,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public JacobWaltz()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Jacob Waltz";
|
||||
Title = "the Miner Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
@ -2346,7 +2328,8 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class GeorgeHephaestus : Blacksmith
|
||||
{
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override string DefaultName => "George Hephaestus";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1078122 ); // Wanna learn how to make powerful weapons and armor? Talk to me.
|
||||
|
|
@ -2355,7 +2338,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[Constructible]
|
||||
public GeorgeHephaestus()
|
||||
{
|
||||
Name = "George Hephaestus";
|
||||
Title = "the Blacksmith Instructor";
|
||||
BodyValue = 0x190;
|
||||
Hue = 0x83EA;
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
Title = 1075530; // More Ore Please
|
||||
Description = 1075529; // Have a pickaxe? My supplier is late and I need some iron ore so I can complete a bulk order for another merchant. If you can get me some soon I'll pay you double what it's worth on the market. Just find a cave or mountainside and try to use your pickaxe there, maybe you'll strike a good vein! 5 large pieces should do it.
|
||||
RefusalMessage = 1075531; // Not feeling strong enough today? Its alright, I didn't need a bucket of rocks anyway.
|
||||
InProgressMessage = 1075532; // Hmmm… we need some more Ore. Try finding a mountain or cave, and give it a whack.
|
||||
InProgressMessage = 1075532; // Hmmm<EFBFBD> we need some more Ore. Try finding a mountain or cave, and give it a whack.
|
||||
CompletionMessage = 1075533; // I see you found a good vien! Great! This will help get this order out on time. Good work!
|
||||
|
||||
Objectives.Add( new InternalObjective() );
|
||||
|
|
@ -331,15 +331,15 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Andric : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Andric";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074205, // Oh great adventurer, would you please assist a weak soul in need of aid?
|
||||
1074213 // Hey buddy. Looking for work?
|
||||
1074213 // Hey buddy.<EFBFBD> Looking for work?
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
@ -347,7 +347,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Andric()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Andric";
|
||||
Title = "the archer trainer";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -405,13 +404,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Kashiel : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override string DefaultName => "Kashiel";
|
||||
public override bool IsInvulnerable => true;
|
||||
|
||||
[Constructible]
|
||||
public Kashiel()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Kashiel";
|
||||
Title = "the archer";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
@ -467,14 +466,14 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Asandos : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Asandos";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074205, // Oh great adventurer, would you please assist a weak soul in need of aid?
|
||||
1074213 // Hey buddy. Looking for work?
|
||||
1074213 // Hey buddy.<EFBFBD> Looking for work?
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
@ -482,7 +481,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Asandos()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Asandos";
|
||||
Title = "the chef";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -523,14 +521,14 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
//[QuesterName( "Clarisse" )] // On OSI the gumps refer to her as this, different from actual name
|
||||
public class Clairesse : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Clairesse";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074205, // Oh great adventurer, would you please assist a weak soul in need of aid?
|
||||
1074213 // Hey buddy. Looking for work?
|
||||
1074213 // Hey buddy.<EFBFBD> Looking for work?
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
@ -538,7 +536,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Clairesse()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Clairesse";
|
||||
Title = "the servant";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
@ -575,15 +572,15 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Gervis : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Gervis";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074205, // Oh great adventurer, would you please assist a weak soul in need of aid?
|
||||
1074213, // Hey buddy. Looking for work?
|
||||
1074213, // Hey buddy.<EFBFBD> Looking for work?
|
||||
1074211 // I could use some help.
|
||||
) );
|
||||
}
|
||||
|
|
@ -592,7 +589,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Gervis()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Gervis";
|
||||
Title = "the blacksmith trainer";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -639,9 +635,9 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Mugg : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Mugg";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074211 ); // I could use some help.
|
||||
|
|
@ -651,7 +647,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Mugg()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Mugg";
|
||||
Title = "the miner";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -692,14 +687,14 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Lowel : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Lowel";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074205, // Oh great adventurer, would you please assist a weak soul in need of aid?
|
||||
1074213 // Hey buddy. Looking for work?
|
||||
1074213 // Hey buddy.<EFBFBD> Looking for work?
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
@ -707,7 +702,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Lowel()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Lowel";
|
||||
Title = "the carpenter";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -746,14 +740,14 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Lyle : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Lyle";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074205, // Oh great adventurer, would you please assist a weak soul in need of aid?
|
||||
1074213 // Hey buddy. Looking for work?
|
||||
1074213 // Hey buddy.<EFBFBD> Looking for work?
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
@ -761,7 +755,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Lyle()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Lyle";
|
||||
Title = "the mage";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -798,13 +791,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Nibbet : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override string DefaultName => "Nibbet";
|
||||
public override bool IsInvulnerable => true;
|
||||
|
||||
[Constructible]
|
||||
public Nibbet()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Nibbet";
|
||||
Title = "the tinker";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -843,14 +836,14 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Norton : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Norton";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074205, // Oh great adventurer, would you please assist a weak soul in need of aid?
|
||||
1074213, // Hey buddy. Looking for work?
|
||||
1074213, // Hey buddy.<EFBFBD> Looking for work?
|
||||
1074211 // I could use some help.
|
||||
) );
|
||||
}
|
||||
|
|
@ -859,7 +852,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Norton()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Norton";
|
||||
Title = "the fisher";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -897,14 +889,14 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Sadrah : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Sadrah";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074205, // Oh great adventurer, would you please assist a weak soul in need of aid?
|
||||
1074213, // Hey buddy. Looking for work?
|
||||
1074213, // Hey buddy.<EFBFBD> Looking for work?
|
||||
1074211 // I could use some help.
|
||||
) );
|
||||
}
|
||||
|
|
@ -913,7 +905,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Sadrah()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Sadrah";
|
||||
Title = "the courier";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
@ -953,13 +944,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Hargrove : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override string DefaultName => "Hargrove";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074213, // Hey buddy. Looking for work?
|
||||
1074213, // Hey buddy.<EFBFBD> Looking for work?
|
||||
1074211 // I could use some help.
|
||||
) );
|
||||
}
|
||||
|
|
@ -968,7 +959,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Hargrove()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Hargrove";
|
||||
Title = "the Lumberjack";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
|
|||
|
|
@ -365,7 +365,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
{
|
||||
Activated = true;
|
||||
Title = 1073085; // Arch Enemies
|
||||
Description = 1073575; // Vermin! They get into everything! I told the boy to leave out some poisoned cheese -- and they shot him. What else can I do? Unless…these ratmen are skilled with a bow, but I'd lay a wager you're better, eh? Could you skin a few of the wretches for me?
|
||||
Description = 1073575; // Vermin! They get into everything! I told the boy to leave out some poisoned cheese -- and they shot him. What else can I do? Unless<EFBFBD>these ratmen are skilled with a bow, but I'd lay a wager you're better, eh? Could you skin a few of the wretches for me?
|
||||
RefusalMessage = 1073580; // I hope you'll reconsider. Until then, farwell.
|
||||
InProgressMessage = 1073595; // I don't see 10 tails from Ratman Archers on your belt -- and until I do, no reward for you.
|
||||
|
||||
|
|
@ -413,7 +413,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class LeaderOfThePack : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( SayonaraSzavetra ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public LeaderOfThePack()
|
||||
{
|
||||
|
|
@ -432,7 +432,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class SayonaraSzavetra : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public SayonaraSzavetra()
|
||||
{
|
||||
|
|
@ -541,7 +541,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class TheBrainsOfTheOperation : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( TheBrawn ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public TheBrainsOfTheOperation()
|
||||
{
|
||||
|
|
@ -560,7 +560,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class TheBrawn : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( TheBiggerTheyAre ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public TheBrawn()
|
||||
{
|
||||
|
|
@ -578,7 +578,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class TheBiggerTheyAre : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public TheBiggerTheyAre()
|
||||
{
|
||||
|
|
@ -635,7 +635,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
{
|
||||
Activated = true;
|
||||
Title = 1073082; // Common Brigands
|
||||
Description = 1073572; // Thank goodness, a hero like you has arrived! Brigands have descended upon this area like locusts, stealing and looting where ever they go. We need someone to put these vile curs where they belong -- in their graves. Are you up to the task?
|
||||
Description = 1073572; // Thank goodness, a hero like you has arrived! Brigands have descended upon this area like locusts, stealing and looting where ever they go. We need someone to put these vile curs where they belong -- in their graves. Are you up to the task?
|
||||
RefusalMessage = 1073580; // I hope you'll reconsider. Until then, farwell.
|
||||
InProgressMessage = 1073592; // The Brigands still plague us. Have you killed 20 of their number?<br>
|
||||
|
||||
|
|
@ -652,10 +652,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Beotham (Sanctuary)" )]
|
||||
public class Beotham : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Beotham";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -668,7 +668,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Beotham()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Beotham";
|
||||
Title = "the bowcrafter";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25D;
|
||||
|
|
@ -717,20 +716,19 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
{
|
||||
// TODO: Add quests: Spring Cleaning
|
||||
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Danoel";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074197 ); // Pardon me, but if you could spare some time I’d greatly appreciate it.
|
||||
MLQuestSystem.Tell( this, pm, 1074197 ); // Pardon me, but if you could spare some time I<EFBFBD>d greatly appreciate it.
|
||||
}
|
||||
|
||||
[Constructible]
|
||||
public Danoel()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Danoel";
|
||||
Title = "the metal weaver";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25D;
|
||||
|
|
@ -774,10 +772,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Tallinin (Sanctuary)" )]
|
||||
public class Tallinin : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Tallinin";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -790,7 +788,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Tallinin()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Tallinin";
|
||||
Title = "the cloth weaver";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25E;
|
||||
|
|
@ -831,15 +828,15 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Tiana (Sanctuary)" )]
|
||||
public class Tiana : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Tiana";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074214, // Knave! Come here right now!
|
||||
1074218 // Hey! I want to talk to you, now.
|
||||
1074218 // Hey!<EFBFBD> I want to talk to you, now.
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
@ -847,7 +844,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Tiana()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Tiana";
|
||||
Title = "the guard";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25E;
|
||||
|
|
@ -901,10 +897,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
{
|
||||
// TODO: Add quest Dreadhorn
|
||||
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Lorekeeper Oolua";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074187 ); // Want a job?
|
||||
|
|
@ -914,7 +910,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public LorekeeperOolua()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Lorekeeper Oolua";
|
||||
Title = "the keeper of tradition";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25E;
|
||||
|
|
@ -957,15 +952,15 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Rollarn (Sanctuary)" )]
|
||||
public class LorekeeperRollarn : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Lorekeeper Rollarn";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074196, // Excuse me! I’m sorry to interrupt but I urgently need some assistance.
|
||||
1074197 // Pardon me, but if you could spare some time I’d greatly appreciate it.
|
||||
1074196, // Excuse me! I<EFBFBD>m sorry to interrupt but I urgently need some assistance.
|
||||
1074197 // Pardon me, but if you could spare some time I<EFBFBD>d greatly appreciate it.
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
@ -973,7 +968,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public LorekeeperRollarn()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Lorekeeper Rollarn";
|
||||
Title = "the keeper of tradition";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25D;
|
||||
|
|
@ -1021,10 +1015,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Dallid (Sanctuary)" )]
|
||||
public class Dallid : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Dallid";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -1037,7 +1031,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Dallid()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Dallid";
|
||||
Title = "the cook";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25D;
|
||||
|
|
@ -1080,10 +1073,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Canir (Sanctuary)" )]
|
||||
public class Canir : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Canir";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -1096,7 +1089,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Canir()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Canir";
|
||||
Title = "the thaumaturgist";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25E;
|
||||
|
|
@ -1137,13 +1129,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Yellienir : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override string DefaultName => "Yellienir";
|
||||
public override bool IsInvulnerable => true;
|
||||
|
||||
[Constructible]
|
||||
public Yellienir()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Yellienir";
|
||||
Title = "the bark weaver";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25E;
|
||||
|
|
@ -1183,15 +1175,15 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Elder Onallan (Sanctuary)" )]
|
||||
public class ElderOnallan : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Elder Onallan";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
1074217, // I want to make you an offer you’d be a fool to refuse.
|
||||
1074218 // Hey! I want to talk to you, now.
|
||||
1074217, // I want to make you an offer you<EFBFBD>d be a fool to <20>refuse.
|
||||
1074218 // Hey!<EFBFBD> I want to talk to you, now.
|
||||
) );
|
||||
}
|
||||
|
||||
|
|
@ -1199,7 +1191,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public ElderOnallan()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Elder Onallan";
|
||||
Title = "the wise";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25D;
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class NeedsOfTheManyHeartwood1 : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( NeedsOfTheManyHeartwood2 ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public NeedsOfTheManyHeartwood1()
|
||||
{
|
||||
|
|
@ -95,7 +95,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class NeedsOfTheManyHeartwood2 : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( MakingAContributionHeartwood ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public NeedsOfTheManyHeartwood2()
|
||||
{
|
||||
|
|
@ -115,7 +115,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class MakingAContributionHeartwood : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( UnnaturalCreations ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public MakingAContributionHeartwood()
|
||||
{
|
||||
|
|
@ -136,7 +136,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class UnnaturalCreations : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public UnnaturalCreations()
|
||||
{
|
||||
|
|
@ -196,7 +196,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class NeedsOfTheManySanctuary : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( MakingAContributionSanctuary ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public NeedsOfTheManySanctuary()
|
||||
{
|
||||
|
|
@ -216,7 +216,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class MakingAContributionSanctuary : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( SuppliesForSanctuary ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public MakingAContributionSanctuary()
|
||||
{
|
||||
|
|
@ -236,7 +236,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class SuppliesForSanctuary : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( TheHumanBlight ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public SuppliesForSanctuary()
|
||||
{
|
||||
|
|
@ -257,7 +257,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class TheHumanBlight : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public TheHumanBlight()
|
||||
{
|
||||
|
|
@ -317,7 +317,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class TokenOfFriendship : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( Alliance ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public TokenOfFriendship()
|
||||
{
|
||||
|
|
@ -336,7 +336,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class Alliance : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public Alliance()
|
||||
{
|
||||
|
|
@ -397,7 +397,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class CrackingTheWhipI : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( CrackingTheWhipII ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public CrackingTheWhipI()
|
||||
{
|
||||
|
|
@ -417,7 +417,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
// TODO: Verify
|
||||
public class CrackingTheWhipII : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public CrackingTheWhipII()
|
||||
{
|
||||
|
|
@ -448,10 +448,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Aeluva (The Heartwood)" )]
|
||||
public class Aeluva : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Aeluva";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
/*
|
||||
|
|
@ -465,7 +465,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Aeluva()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2.0 )
|
||||
{
|
||||
Name = "Aeluva";
|
||||
Title = "the arcanist";
|
||||
Race = Race.Elf;
|
||||
Female = true;
|
||||
|
|
@ -507,10 +506,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Koole (Sanctuary)" )]
|
||||
public class Koole : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Koole";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -523,7 +522,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Koole()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2.0 )
|
||||
{
|
||||
Name = "Koole";
|
||||
Title = "the arcanist";
|
||||
Race = Race.Elf;
|
||||
Body = 605;
|
||||
|
|
@ -573,10 +571,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Synaeva (The Heartwood)" )]
|
||||
public class Synaeva : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Synaeva";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074223 ); // Have you done it yet? Oh, I haven’t told you, have I?
|
||||
|
|
@ -586,7 +584,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public Synaeva()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2.0 )
|
||||
{
|
||||
Name = "Synaeva";
|
||||
Title = "the arcanist";
|
||||
Race = Race.Elf;
|
||||
Female = true;
|
||||
|
|
@ -633,10 +630,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Elder Brae (Sanctuary)" )]
|
||||
public class ElderBrae : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Elder Brae";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, Utility.RandomList(
|
||||
|
|
@ -649,7 +646,6 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public ElderBrae()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2.0 )
|
||||
{
|
||||
Name = "Elder Brae";
|
||||
Title = "the wise";
|
||||
Race = Race.Elf;
|
||||
Female = true;
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class TheGoldenHorn : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( Bullish ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public TheGoldenHorn()
|
||||
{
|
||||
|
|
@ -62,7 +62,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class Bullish : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( LostCivilization ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public Bullish()
|
||||
{
|
||||
|
|
@ -81,7 +81,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class LostCivilization : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public LostCivilization()
|
||||
{
|
||||
|
|
@ -105,20 +105,19 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Broolol (The Heartwood)" )]
|
||||
public class LorekeeperBroolol : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool CanTeach { get { return true; } }
|
||||
|
||||
public override bool CanShout { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool CanTeach => true;
|
||||
public override string DefaultName => "Lorekeeper Broolol";
|
||||
public override bool CanShout => true;
|
||||
public override void Shout( PlayerMobile pm )
|
||||
{
|
||||
MLQuestSystem.Tell( this, pm, 1074200 ); // Thank goodness you are here, there’s no time to lose.
|
||||
MLQuestSystem.Tell( this, pm, 1074200 ); // Thank goodness you are here, there<EFBFBD>s no time to lose.
|
||||
}
|
||||
|
||||
[Constructible]
|
||||
public LorekeeperBroolol()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Lorekeeper Broolol";
|
||||
Title = "the keeper of tradition";
|
||||
Race = Race.Elf;
|
||||
BodyValue = 0x25E;
|
||||
|
|
|
|||
|
|
@ -20,10 +20,10 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
{
|
||||
Activated = true;
|
||||
Title = 1075355; // Unfading Memories
|
||||
Description = 1075356; // Aargh! It’s just not right! It doesn’t capture the unique color of her hair at all! If only I had some Prismatic Amber. That would be perfect. They used to mine it in Malas, but alas, those veins ran dry some time ago. I hear it may have been found in the Prism of Light. Oh, if only there were a bold adventurer within earshot who would go to the Prism of Light and retrieve some for me!
|
||||
Description = 1075356; // Aargh! It<EFBFBD>s just not right! It doesn<73>t capture the unique color of her hair at all! If only I had some Prismatic Amber. That would be perfect. They used to mine it in Malas, but alas, those veins ran dry some time ago. I hear it may have been found in the Prism of Light. Oh, if only there were a bold adventurer within earshot who would go to the Prism of Light and retrieve some for me!
|
||||
RefusalMessage = 1075358; // Is there no one who can help a humble artist pursue his Muse?
|
||||
InProgressMessage = 1075359; // You can find Prismatic Amber in the Prism of Light, located just north of the city of Nujel'm.
|
||||
CompletionMessage = 1075360; // I knew it! See, it’s just the color I needed! Look how it brings out the highlights of her wheaten tresses!
|
||||
CompletionMessage = 1075360; // I knew it! See, it<EFBFBD>s just the color I needed! Look how it brings out the highlights of her wheaten tresses!
|
||||
CompletionNotice = CompletionNoticeShort;
|
||||
|
||||
Objectives.Add( new CollectObjective( 1, typeof( PrismaticAmber ), "Prismatic Amber" ) );
|
||||
|
|
@ -43,7 +43,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class UnfadingMemoriesPartTwo : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( UnfadingMemoriesPartThree ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public UnfadingMemoriesPartTwo()
|
||||
{
|
||||
|
|
@ -52,28 +52,28 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
Description = 1075368; // Finished! With the pigment I was able to create from the Prismatic Amber you brought me, I was able to complete my humble work. I should explain. Once, I loved a noble lady of gentleness and refinement, who possessed such beauty that I have found myself unable to love another to this day. But it was from afar that I admired her, for it is not for one so lowly as I to pay court to the likes of her. You have heard of the fair Thalia, Lady of Nujel'm? No? Well, she was my Muse, my inspiration, and when I heard she was to be married, I lost whatever pitiful talent I possessed. I felt I must compose a portrait of her, my masterpiece, or I would never be able to paint again. You, my friend, have helped me complete my work. Now I ask another favor of you. Will you take it to her as a wedding gift? She will probably reject it, but I must make the offer.
|
||||
RefusalMessage = 1075370; // Alright then, you have already helped me more than I deserved. I shall find someone else to undertake this task.
|
||||
InProgressMessage = 1075371; // The wedding is taking place in the palace in Nujel'm. You will likely find her there.
|
||||
CompletionMessage = 1075372; // I’m sorry, I’m getting ready to be married. I don’t have time to . . . what’s that you say?
|
||||
CompletionMessage = 1075372; // I<EFBFBD>m sorry, I<>m getting ready to be married. I don<6F>t have time to . . . what<61>s that you say?
|
||||
CompletionNotice = CompletionNoticeShort;
|
||||
|
||||
Objectives.Add( new DeliverObjective( typeof( PortraitOfTheBride ), 1, "Portrait of the Bride", typeof( Thalia ) ) );
|
||||
|
||||
Rewards.Add( new DummyReward( 1075369 ) ); // The Artist’s gratitude.
|
||||
Rewards.Add( new DummyReward( 1075369 ) ); // The Artist<EFBFBD>s gratitude.
|
||||
}
|
||||
}
|
||||
|
||||
public class UnfadingMemoriesPartThree : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public UnfadingMemoriesPartThree()
|
||||
{
|
||||
Activated = true;
|
||||
OneTimeOnly = true;
|
||||
Title = 1075373; // Unfading Memories
|
||||
Description = 1075374; // Emilio painted this? It is absolutely wonderful! I used to love looking at his paintings, but I don’t remember him creating anything like this before. Would you be so kind as to carry a letter to him? Fate may have it that I am to marry another, yet I am compelled to reveal to him that his love was not entirely unrequited.
|
||||
Description = 1075374; // Emilio painted this? It is absolutely wonderful! I used to love looking at his paintings, but I don<EFBFBD>t remember him creating anything like this before. Would you be so kind as to carry a letter to him? Fate may have it that I am to marry another, yet I am compelled to reveal to him that his love was not entirely unrequited.
|
||||
RefusalMessage = 1075376; // Very well, then. If you will excuse me, I need to get ready.
|
||||
InProgressMessage = 1075377; // Take the letter back to the Artist’s Guild in Britain, if you would do me this kindness.
|
||||
CompletionMessage = 1075378; // She said what? She thinks what of me? I . . . I can’t believe it! All this time, I never knew how she truly felt. Thank you, my friend. I believe now I will be able to paint once again. Here, take this bleach. I was going to use it to destroy all of my works. Perhaps you can find a better use for it now.
|
||||
InProgressMessage = 1075377; // Take the letter back to the Artist<EFBFBD>s Guild in Britain, if you would do me this kindness.
|
||||
CompletionMessage = 1075378; // She said what? She thinks what of me? I . . . I can<EFBFBD>t believe it! All this time, I never knew how she truly felt. Thank you, my friend. I believe now I will be able to paint once again. Here, take this bleach. I was going to use it to destroy all of my works. Perhaps you can find a better use for it now.
|
||||
CompletionNotice = CompletionNoticeShort;
|
||||
|
||||
Objectives.Add( new DeliverObjective( typeof( BridesLetter ), 1, "Bride's Letter", typeof( Emilio ) ) );
|
||||
|
|
@ -97,13 +97,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Emilio (Britain)" )] // OSI's description is "Artist", not very helpful
|
||||
public class Emilio : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override string DefaultName => "Emilio";
|
||||
public override bool IsInvulnerable => true;
|
||||
|
||||
[Constructible]
|
||||
public Emilio()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Emilio";
|
||||
Title = "the Tortured Artist";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x190;
|
||||
|
|
@ -145,13 +145,13 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
[QuesterName( "Thalia (Nujel'm)" )] // OSI's description is "Bride", not very helpful
|
||||
public class Thalia : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override string DefaultName => "Thalia";
|
||||
public override bool IsInvulnerable => true;
|
||||
|
||||
[Constructible]
|
||||
public Thalia()
|
||||
: base( AIType.AI_Vendor, FightMode.None, 2, 1, 0.5, 2 )
|
||||
{
|
||||
Name = "Thalia";
|
||||
Title = "the Bride";
|
||||
Race = Race.Human;
|
||||
BodyValue = 0x191;
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class CloseEnough : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( TakingTheBullByTheHorns ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public CloseEnough()
|
||||
{
|
||||
|
|
@ -52,7 +52,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
public class TakingTheBullByTheHorns : MLQuest
|
||||
{
|
||||
public override Type NextQuest { get { return typeof( EmissaryToTheMinotaur ); } }
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public TakingTheBullByTheHorns()
|
||||
{
|
||||
|
|
@ -71,7 +71,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
public class EmissaryToTheMinotaur : MLQuest
|
||||
{
|
||||
public override bool IsChainTriggered { get { return true; } }
|
||||
public override bool IsChainTriggered => true;
|
||||
|
||||
public EmissaryToTheMinotaur()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1073128; } } // A personal letter addressed to: Ahie
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1075452; } } // Alchemist's Bandage
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1075303; } } // Basin of Crystal-Clear Water
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1075301; } } // Bride's Letter
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1074625; } } // Completed Tuition Reimbursement Form
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1074520; } } // Crate for Sledge
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1075319; } } // Dread Spider Silk
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1074533; } } // Fragment of a Map
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1073131; } } // Friends of the Library Application
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ namespace Server.Items
|
|||
public override int LabelNumber{ get{ return 1074356; } } // gift for arielle
|
||||
public override int DefaultGumpID { get { return 0x41; } }
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1073135; } } // Notarized Application
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1072744; } } // Official Sealing Wax
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1075300; } } // Portrait of the Bride
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ namespace Server.Engines.MLQuests.Items
|
|||
{
|
||||
}
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
@ -111,7 +111,7 @@ namespace Server.Engines.MLQuests.Items
|
|||
{
|
||||
}
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void HandleInvalidTransfer( Mobile from )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1075306; } } // Regina's Letter
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1075305; } } // Regina's Ring
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ namespace Server.Items
|
|||
public override int LabelNumber{ get{ return 1074998; } } // Sealed Notes For Jamal
|
||||
public override double DefaultWeight{ get{ return 1.0; } }
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1073132; } } // Sealing Wax Order addressed to Petrus
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1074614; } } // Signed Tuition Reimbursement Form
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1075283; } } // Spirit bottle
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1074997; } } // Tainted Tree Sample
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber{ get{ return 1074610; } } // Tuition Reimbursement Form (in triplicate)
|
||||
|
||||
public override bool Nontransferable { get { return true; } }
|
||||
public override bool Nontransferable => true;
|
||||
|
||||
public override void AddNameProperties( ObjectPropertyList list )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ namespace Server.Engines.MLQuests.Mobiles
|
|||
{
|
||||
public abstract class DoneQuestCollector : BaseCreature, IRaceChanger
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
public override bool IsInvulnerable => true;
|
||||
|
||||
public abstract TextDefinition[] Offer { get; }
|
||||
public abstract TextDefinition[] Incomplete { get; }
|
||||
|
|
@ -273,10 +273,11 @@ namespace Server.Engines.MLQuests.Mobiles
|
|||
public override TextDefinition[] Complete { get { return m_Complete; } }
|
||||
public override Type[] Needed { get { return m_Needed; } }
|
||||
|
||||
public override string DefaultName => "Darius";
|
||||
|
||||
[Constructible]
|
||||
public Darius()
|
||||
{
|
||||
Name = "Darius";
|
||||
Title = "the wise";
|
||||
Race = Race.Elf;
|
||||
Hue = Race.RandomSkinHue();
|
||||
|
|
@ -369,10 +370,11 @@ namespace Server.Engines.MLQuests.Mobiles
|
|||
public override TextDefinition[] Complete { get { return m_Complete; } }
|
||||
public override Type[] Needed { get { return m_Needed; } }
|
||||
|
||||
public override string DefaultName => "Nedrick";
|
||||
|
||||
[Constructible]
|
||||
public Nedrick()
|
||||
{
|
||||
Name = "Nedrick";
|
||||
Title = "the iron worker";
|
||||
Race = Race.Human;
|
||||
Hue = Race.RandomSkinHue();
|
||||
|
|
|
|||
|
|
@ -18,12 +18,12 @@ namespace Server.Engines.MLQuests.Mobiles
|
|||
|
||||
private DateTime m_NextShout;
|
||||
|
||||
public override bool IsActiveVendor { get { return false; } }
|
||||
public override string DefaultName => "Sir Helper";
|
||||
public override bool IsActiveVendor => false;
|
||||
|
||||
[Constructible]
|
||||
public SirHelper()
|
||||
{
|
||||
Name = "Sir Helper";
|
||||
Title = "the Profession Guide"; // TODO: Don't display in paperdoll
|
||||
|
||||
Hue = 0x83EA;
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
{
|
||||
private TimeSpan m_Duration;
|
||||
|
||||
public override bool IsTimed { get { return true; } }
|
||||
public override bool IsTimed => true;
|
||||
public override TimeSpan Duration { get { return m_Duration; } }
|
||||
|
||||
public TimedCollectObjective( TimeSpan duration, int amount, Type type, TextDefinition name )
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
{
|
||||
private TimeSpan m_Duration;
|
||||
|
||||
public override bool IsTimed { get { return true; } }
|
||||
public override bool IsTimed => true;
|
||||
public override TimeSpan Duration { get { return m_Duration; } }
|
||||
|
||||
public TimedDeliverObjective( TimeSpan duration, Type delivery, int amount, TextDefinition name, Type destination )
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ namespace Server.Engines.MLQuests.Objectives
|
|||
{
|
||||
private TimeSpan m_Duration;
|
||||
|
||||
public override bool IsTimed { get { return true; } }
|
||||
public override bool IsTimed => true;
|
||||
public override TimeSpan Duration { get { return m_Duration; } }
|
||||
|
||||
public TimedKillObjective( TimeSpan duration, int amount, Type[] types, TextDefinition name )
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@ namespace Server.Mobiles
|
|||
[CorpseName( "a giant ice worm corpse" )]
|
||||
public class GiantIceWorm : BaseCreature
|
||||
{
|
||||
public override bool SubdueBeforeTame { get { return true; } }
|
||||
public override bool SubdueBeforeTame => true;
|
||||
public override string DefaultName => "a giant ice worm";
|
||||
|
||||
[Constructible]
|
||||
public GiantIceWorm() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Body = 89;
|
||||
Name = "a giant ice worm";
|
||||
BaseSoundID = 0xDC;
|
||||
|
||||
SetStr( 216, 245 );
|
||||
|
|
@ -71,4 +71,4 @@ namespace Server.Mobiles
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ namespace Server.Engines.Plants
|
|||
|
||||
public PlantSystem PlantSystem { get { return m_PlantSystem; } }
|
||||
|
||||
public override bool ForceShowProperties{ get{ return ObjectPropertyList.Enabled; } }
|
||||
public override bool ForceShowProperties => ObjectPropertyList.Enabled;
|
||||
|
||||
public override void OnSingleClick( Mobile from )
|
||||
{
|
||||
|
|
@ -593,4 +593,4 @@ namespace Server.Engines.Plants
|
|||
m_Instances.Remove( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ namespace Server.Engines.Plants
|
|||
{
|
||||
}
|
||||
|
||||
public override bool ForceShowProperties{ get{ return ObjectPropertyList.Enabled; } }
|
||||
public override bool ForceShowProperties => ObjectPropertyList.Enabled;
|
||||
|
||||
private int GetLabel( out string args )
|
||||
{
|
||||
|
|
@ -250,4 +250,4 @@ namespace Server.Engines.Plants
|
|||
m_PlantHue |= PlantHue.Reproduces;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,16 +39,16 @@ namespace Server.Engines.Quests.Ambitious
|
|||
get
|
||||
{
|
||||
/* <I>The Solen queen considers you eagerly for a moment then says,</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Yes. Yes, I think you could be of use. Normally, of course, I would handle
|
||||
* these things on my own, but these are busy times. Much to do, much to do.
|
||||
* And besides, if I am to one day become the Matriarch, then it will be good to
|
||||
* have experience trusting others to carry out various tasks for me. Yes.<BR><BR>
|
||||
*
|
||||
*
|
||||
* That is my plan, you see - I will become the next Matriarch. Our current
|
||||
* Matriarch is fine and all, but she won't be around forever. And when she steps
|
||||
* down, I intend to be the next in line. Ruling others is my destiny, you see.<BR><BR>
|
||||
*
|
||||
*
|
||||
* What I ask of you is quite simple. First, I need you to remove some of the
|
||||
* - well - competition, I suppose. Though I dare say most are hardly competent to
|
||||
* live up to such a title. I'm referring to the other queens of this colony,
|
||||
|
|
@ -57,9 +57,9 @@ namespace Server.Engines.Quests.Ambitious
|
|||
* at me - this is how things work in a proper society, and ours has been more proper
|
||||
* than most since the dawn of time. It's them or me, and whenever I give it
|
||||
* any thought, I'm quite sure I'd prefer it to be them.<BR><BR>
|
||||
*
|
||||
*
|
||||
* I also need you to gather some zoogi fungus for me - 50 should do the trick.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Will you accept my offer?
|
||||
*/
|
||||
return 1054060;
|
||||
|
|
@ -67,7 +67,7 @@ namespace Server.Engines.Quests.Ambitious
|
|||
}
|
||||
|
||||
public override TimeSpan RestartDelay{ get{ return TimeSpan.Zero; } }
|
||||
public override bool IsTutorial{ get{ return false; } }
|
||||
public override bool IsTutorial => false;
|
||||
|
||||
public override int Picture{ get{ return 0x15C9; } }
|
||||
|
||||
|
|
@ -154,4 +154,4 @@ namespace Server.Engines.Quests.Ambitious
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Server.Engines.Quests.Ambitious
|
|||
get
|
||||
{
|
||||
/* <I>The Solen queen considers you for a moment then says,</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Hmmm... I could perhaps benefit from your assistance, but you seem to be
|
||||
* busy with another task at the moment. Return to me when you complete whatever
|
||||
* it is that you're working on and maybe I can still put you to good use.
|
||||
|
|
@ -19,7 +19,7 @@ namespace Server.Engines.Quests.Ambitious
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public DontOfferConversation()
|
||||
{
|
||||
|
|
@ -33,17 +33,17 @@ namespace Server.Engines.Quests.Ambitious
|
|||
get
|
||||
{
|
||||
/* <I>The Solen queen smiles as you decide to help her.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Excellent. We'll worry about the zoogi fungus later - start by eliminating
|
||||
* 5 queens from my colony.<BR><BR>That part's important, by the way; they must
|
||||
* be queens from my colony. Killing queens from the other solen colony does
|
||||
* little to help me become Matriarch of this colony and will not count
|
||||
* toward your task.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Oh, and none of those nasty infiltrator queens either. They perform a necessary
|
||||
* duty, I suppose, spying on the other colony. I fail to see why that couldn't be
|
||||
* left totally to the warriors, though. Nevertheless, they do not count as well.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Very well. Carry on. I'll be waiting for your return.
|
||||
*/
|
||||
return 1054061;
|
||||
|
|
@ -67,20 +67,20 @@ namespace Server.Engines.Quests.Ambitious
|
|||
get
|
||||
{
|
||||
/* <I>The Solen queen looks up as you approach.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* You're back, but you have not yet eliminated 5 queens from my colony.
|
||||
* Return when you have completed this task.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Remember, by the way, that queens from the other solen colony and
|
||||
* infiltrator queens do not count toward your task.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Very well. Carry on. I'll be waiting for your return.
|
||||
*/
|
||||
return 1054066;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public DuringKillQueensConversation()
|
||||
{
|
||||
|
|
@ -94,14 +94,14 @@ namespace Server.Engines.Quests.Ambitious
|
|||
get
|
||||
{
|
||||
/* <I>The Solen queen looks pleased to see you.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Splendid! You've done quite well in reducing my competition to become
|
||||
* the next Matriarch. Now I must ask that you gather some zoogi fungus for me.
|
||||
* I must practice processing it into powder of translocation.<BR><BR>
|
||||
*
|
||||
*
|
||||
* I believe the amount we agreed upon earlier was 50. Please return when
|
||||
* you have that amount and then give them to me.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Farewell for now.
|
||||
*/
|
||||
return 1054068;
|
||||
|
|
@ -125,16 +125,16 @@ namespace Server.Engines.Quests.Ambitious
|
|||
get
|
||||
{
|
||||
/* <I>The Solen queen looks up as you approach.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Do you have the zoogi fungus?<BR><BR>
|
||||
*
|
||||
*
|
||||
* If so, give them to me. Otherwise, go gather some and then return to me.
|
||||
*/
|
||||
return 1054070;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public DuringFungiGatheringConversation()
|
||||
{
|
||||
|
|
@ -148,11 +148,11 @@ namespace Server.Engines.Quests.Ambitious
|
|||
get
|
||||
{
|
||||
/* <I>The Solen queen smiles as she takes the zoogi fungus from you.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Wonderful! I greatly appreciate your help with these tasks. My plans are beginning
|
||||
* to take shape ensuring that I will be the next Matriarch. But there is still
|
||||
* much to be done until then.<BR><BR>
|
||||
*
|
||||
*
|
||||
* You've done what I've asked of you and for that I thank you. Please accept this
|
||||
* bag of sending and some powder of translocation as a reward. Oh, and I suppose
|
||||
* I should give you some gold as well. Yes, yes. Of course.
|
||||
|
|
@ -191,10 +191,10 @@ namespace Server.Engines.Quests.Ambitious
|
|||
get
|
||||
{
|
||||
/* <I>The Solen queen looks at you with a smile.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* While I'd like to finish conducting our business, it seems that you're a
|
||||
* bit overloaded with equipment at the moment.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Perhaps you should free some room in your backpack before we proceed.
|
||||
*/
|
||||
return 1054077;
|
||||
|
|
@ -206,7 +206,7 @@ namespace Server.Engines.Quests.Ambitious
|
|||
private bool m_PowderOfTranslocation;
|
||||
private bool m_Gold;
|
||||
|
||||
public override bool Logged{ get{ return m_Logged; } }
|
||||
public override bool Logged => m_Logged;
|
||||
|
||||
public FullBackpackConversation( bool logged, bool bagOfSending, bool powderOfTranslocation, bool gold )
|
||||
{
|
||||
|
|
@ -254,7 +254,7 @@ namespace Server.Engines.Quests.Ambitious
|
|||
get
|
||||
{
|
||||
/* <I>The Solen queen looks up as you approach.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Ah good, you've returned. I will conclude our business by giving you any
|
||||
* remaining rewards I owe you for aiding me.
|
||||
*/
|
||||
|
|
@ -271,4 +271,4 @@ namespace Server.Engines.Quests.Ambitious
|
|||
System.Complete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ namespace Server.Engines.Quests.Ambitious
|
|||
public abstract class BaseAmbitiousSolenQueen : BaseQuester
|
||||
{
|
||||
public abstract bool RedSolen{ get; }
|
||||
|
||||
public override bool DisallowAllMoves{ get{ return false; } }
|
||||
public override string DefaultName => "an ambitious solen queen";
|
||||
public override bool DisallowAllMoves => false;
|
||||
|
||||
public BaseAmbitiousSolenQueen()
|
||||
{
|
||||
|
|
@ -17,8 +17,6 @@ namespace Server.Engines.Quests.Ambitious
|
|||
|
||||
public override void InitBody()
|
||||
{
|
||||
Name = "an ambitious solen queen";
|
||||
|
||||
Body = 0x30F;
|
||||
|
||||
if ( !RedSolen )
|
||||
|
|
@ -169,7 +167,7 @@ namespace Server.Engines.Quests.Ambitious
|
|||
|
||||
public class RedAmbitiousSolenQueen : BaseAmbitiousSolenQueen
|
||||
{
|
||||
public override bool RedSolen{ get{ return true; } }
|
||||
public override bool RedSolen => true;
|
||||
|
||||
[Constructible]
|
||||
public RedAmbitiousSolenQueen()
|
||||
|
|
@ -197,7 +195,7 @@ namespace Server.Engines.Quests.Ambitious
|
|||
|
||||
public class BlackAmbitiousSolenQueen : BaseAmbitiousSolenQueen
|
||||
{
|
||||
public override bool RedSolen{ get{ return false; } }
|
||||
public override bool RedSolen => false;
|
||||
|
||||
[Constructible]
|
||||
public BlackAmbitiousSolenQueen()
|
||||
|
|
@ -222,4 +220,4 @@ namespace Server.Engines.Quests.Ambitious
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,9 +71,9 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Elwood greets you warmly, like an old friend he's not
|
||||
* quite sure he ever had.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Hello. Yes. Sit down. Please. Good. Okay, stand. Up to you.<BR><BR>
|
||||
*
|
||||
*
|
||||
* So, what brings you to these parts... hey, wait. Just had a thought.
|
||||
* Would you like to do me a favor? Yes, really. You know, for old
|
||||
* times sake. The good ole days. You were always one of my best
|
||||
|
|
@ -83,7 +83,7 @@ namespace Server.Engines.Quests.Collector
|
|||
* not so new - just more of the same. But don't have to tell you that.
|
||||
* You know, don't you. Yes. Just like old times. That's what it'll be.
|
||||
* You and me - together again. Ah, it's been too long.<BR><BR>
|
||||
*
|
||||
*
|
||||
* So what do you think? The fee will be the same as always. I'm a fair
|
||||
* man. You know that. So what do you say?
|
||||
*/
|
||||
|
|
@ -92,7 +92,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
|
||||
public override TimeSpan RestartDelay{ get{ return TimeSpan.Zero; } }
|
||||
public override bool IsTutorial{ get{ return false; } }
|
||||
public override bool IsTutorial => false;
|
||||
|
||||
public override int Picture{ get{ return 0x15A9; } }
|
||||
|
||||
|
|
@ -119,4 +119,4 @@ namespace Server.Engines.Quests.Collector
|
|||
AddConversation( new DeclineConversation() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,14 +10,14 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood looks up from his ale as you greet him.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* What's that? Who me? No, no. You must be looking for someone else.
|
||||
*/
|
||||
return 1055080;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public DontOfferConversation()
|
||||
{
|
||||
|
|
@ -32,18 +32,18 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Elwood looks a bit flustered and nearly knocks over his
|
||||
* bottle of ale.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Well, I see. It's like that, is it? Yes. Well then. Okay.
|
||||
* You've changed. Yes. Yes, you have. Something's changed. I know
|
||||
* I haven't. Not me. Not good ole Elwood.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Elwood trails off, though you can still hear him muttering softly.</I>
|
||||
*/
|
||||
return 1055082;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public DeclineConversation()
|
||||
{
|
||||
|
|
@ -57,21 +57,21 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood slaps his knee and grins at you.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Yes. Yes. That's the spirit. I knew it. Knew it when I
|
||||
* first saw you. You remind me so much of your dear departed
|
||||
* father. Or someone. Not sure. Maybe no one. But that's okay.
|
||||
* Ah, good times.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Anyway, so as you know, I'm a collector. Got all kinds of
|
||||
* interesting things laying around back at my warehouse.
|
||||
* You know. You've seen it. Haven't you? Yes? No? Nevermind.
|
||||
* Not important.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Right. So, always trying to add new things to my collection.
|
||||
* Or sometimes just get more of something. Can't have too many.
|
||||
* Right? Yeah? Sure.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Let's see. Where to start. Oh, I know. Pearls. Yes. But not
|
||||
* just any pearls. Rainbow pearls. Yes. From the lake here in
|
||||
* Haven. Seems all that magic Uzeraan was throwing around when
|
||||
|
|
@ -79,10 +79,10 @@ namespace Server.Engines.Quests.Collector
|
|||
* of the shellfish down there. Exactly, rainbow pearls. Useless
|
||||
* for magic, but an item worth collecting. Trust me on this.
|
||||
* Trust me.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Need you to go fish some up for me. Down at the lake. Lake Haven.
|
||||
* Off ya go. Happy fishing!<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Elwood turns back to his ale and now seems oblivious to you.</I>
|
||||
*/
|
||||
return 1055083;
|
||||
|
|
@ -106,7 +106,7 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood looks up as you tap him on the shoulder.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Good. Good. You're back. Wait. You don't have the rainbow pearls I
|
||||
* need. Taking a break? Yeah. Sure. There's no hurry. Let me know when
|
||||
* you've got all those pearls, though. I'll be here.
|
||||
|
|
@ -115,7 +115,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ElwoodDuringFishConversation()
|
||||
{
|
||||
|
|
@ -129,19 +129,19 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood jumps slightly when you call his name.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* What. I'm awake. Oh, It's you. Hey, look at those pearls.
|
||||
* Beautiful. Wow. Where'd you get those... oh right. I sent you to get
|
||||
* them. From the lake. Lake Haven. Great job. Gotta love rainbow
|
||||
* pearls. Oooh, Colors.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Okay, let's see. Next. Need a painting. Go to the Colored Canvas and
|
||||
* speak to Alberta. Alberta Giacco. Best painter I've ever met. Ask
|
||||
* her to do a painting of you. Yes. Of you. A portrait. Never know if
|
||||
* you might up and become famous one day. Need to have a painting of you
|
||||
* in my collection. From now. Before all the fame. Go. Alberta awaits.
|
||||
* She's in Vesper.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Elwood starts playing with the pearls you brought him and seems
|
||||
* to have forgotten you're there.</I>
|
||||
*/
|
||||
|
|
@ -167,15 +167,15 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Alberta looks up from the painting she is working on and
|
||||
* faces you.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Excuse me. I don't mean to be rude, but I'm in the middle
|
||||
* of something, and can't... oh wait, I see. You must be the one
|
||||
* Elwood sent over.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Very well. If you'll have a seat on the stool over there, we'll
|
||||
* get started. This will just take a few seconds. I paint quite
|
||||
* quickly, you see. I'll start once you are seated.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Alberta exchanges the painting she was working on for a blank canvas.</I>
|
||||
*/
|
||||
return 1055092;
|
||||
|
|
@ -199,7 +199,7 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Alberta looks at you sympathetically.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Don't worry, this will only take a few seconds. I realize
|
||||
* that stool can be uncomfortable, and I apologize for that.
|
||||
* Perhaps I should replace it with a more comfortable chair.
|
||||
|
|
@ -210,7 +210,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public AlbertaStoolConversation()
|
||||
{
|
||||
|
|
@ -225,13 +225,13 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Alberta stands back from the canvas and surveys her
|
||||
* work.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Not too bad. Quite good even, if I do say so myself. As always,
|
||||
* of course.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Oh, you're still here. Please let Elwood know that the painting
|
||||
* has been completed. I'll have it sent to him once it dries.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Alberta removes the portrait from her easel and sets
|
||||
* it aside to dry.</I>
|
||||
*/
|
||||
|
|
@ -256,7 +256,7 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Alberta stops cleaning her brushes and looks your way.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Don't worry, I'll send the painting to Elwood once it's dry. Please
|
||||
* let him know that the painting has been finished.
|
||||
*/
|
||||
|
|
@ -264,7 +264,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public AlbertaAfterPaintingConversation()
|
||||
{
|
||||
|
|
@ -279,7 +279,7 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Elwood yawns and stretches, then focuses his gaze
|
||||
* on you.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Hello. Do I know you? Hold on a second. Yes. Yes, I do.
|
||||
* You were going to bring me some rainbow pearls. Wait. No.
|
||||
* You already did that. I remember now. Right. So go get that
|
||||
|
|
@ -290,7 +290,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ElwoodDuringPainting1Conversation()
|
||||
{
|
||||
|
|
@ -305,13 +305,13 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Elwood drums his fingers on the counter then looks
|
||||
* up at you expectantly.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Ah, finally. I'm famished. This so-called tavern doesn't
|
||||
* even serve pizza, so one must have it delivered. It's an
|
||||
* outrage. Er... wait. Where's my pizza? Yes, my pizza.
|
||||
* What kind of delivery is this? Didn't even bring my pizza.
|
||||
* This will severely impact your tip, I'm afraid.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Hold on a moment. You were helping me with something else,
|
||||
* weren't you? Ah. Yes. I've got it now. You were to have a
|
||||
* portrait done. Well. Good. Yes. But let's not dawdle.
|
||||
|
|
@ -322,7 +322,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ElwoodDuringPainting2Conversation()
|
||||
{
|
||||
|
|
@ -336,24 +336,24 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood notices you immediately and waves you over.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* You're back. Good. That's good. Hmm. You don't seem to have that
|
||||
* painting yet. Don't tell me Alberta refused. That's no good. I made
|
||||
* her what she is! She was living in the gutter when I found her. The
|
||||
* gutter. And she has the... what's that? Oh, she finished the portrait.
|
||||
* Right. Good. Can always count on Alberta. Always. Best painter in
|
||||
* the land.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Just have a couple... er... wait... make that... two more task for you.
|
||||
* Then our business will be concluded. For now. Old chums like us will
|
||||
* always work together again. Yes. We go so far back. Right. I think.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Anyway. There's a musician. A minstrel. His name's Gabriel Piete. Quite
|
||||
* the good singer. One of my favorites. Absolute favorite. What I'd like
|
||||
* is his autograph. Simple. Just his autograph. You're likely to find him
|
||||
* at the Conservatory of Music in Britain. He's often there. Often. Between
|
||||
* performances. Hurry now. There ya go.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Elwood falls silent though his lips are still moving. It looks like
|
||||
* he's quietly repeating the word, "autograph."</I>
|
||||
*/
|
||||
|
|
@ -379,16 +379,16 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Gabriel sighs loudly as you address him and stops whatever
|
||||
* it was that he was doing.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* WHAT?!? Can you not see that I'm working here? Ugh, sometimes
|
||||
* I wish they'd just lock the outer doors to anyone who doesn't
|
||||
* belong here. So go ahead and fawn. Get it over with, and then
|
||||
* leave. Sooner you're out of here, the sooner I'm back to work.<BR><BR>
|
||||
*
|
||||
*
|
||||
* I see. So you want an autograph. Fine. If it'll get rid of you,
|
||||
* I'll give you my autograph. But I'll only sign some sheet music
|
||||
* for one of my songs. Until then, please let me get back to work.<BR><BR>
|
||||
*
|
||||
*
|
||||
* You can probably find some of my sheet music at one of the theaters
|
||||
* in the land. When I perform there, they often sell it as a souvenir.
|
||||
* Speak to the impresario... the theater manager. My last three
|
||||
|
|
@ -415,7 +415,7 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Gabriel does not look happy to see you.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Do you have any sheet music? No. Please return when you do,
|
||||
* but until then please leave me to my work.
|
||||
*/
|
||||
|
|
@ -423,7 +423,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public GabrielNoSheetMusicConversation()
|
||||
{
|
||||
|
|
@ -444,7 +444,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public NoSheetMusicConversation()
|
||||
{
|
||||
|
|
@ -479,10 +479,10 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Gabriel looks up impatiently as you approach.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Good. We can finally be done with one another. Here, let me
|
||||
* sign that and have this business completed.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Gabriel takes the sheet music, autographs it, and then hands it back to you.</I>
|
||||
*/
|
||||
return 1055113;
|
||||
|
|
@ -510,7 +510,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public GabrielIgnoreConversation()
|
||||
{
|
||||
|
|
@ -525,16 +525,16 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Elwood jumps and almost falls from his stool when you
|
||||
* tap his shoulder.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Oh my. Don't do that. Scared me half to death. Sneaking up on
|
||||
* people like that. I don't even know you. Yes, I do. I do know you.
|
||||
* Ordered a pizza from you and never received it. I'm rather miffed
|
||||
* about that.<BR><BR>
|
||||
*
|
||||
*
|
||||
* No. No. Wait. Of course. Not the pizza. You're here with the
|
||||
* moonfire brew I wanted. Magical moonfire brew. Not sure what it is.
|
||||
* Just want some.<BR><BR>
|
||||
*
|
||||
*
|
||||
* What's that? Oh. The autograph. Gabriel Piete. Yes. Of course.
|
||||
* Do you have it? No. Well. Hmm. Don't sneak up on people like that. Not polite.
|
||||
*/
|
||||
|
|
@ -542,7 +542,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ElwoodDuringAutograph1Conversation()
|
||||
{
|
||||
|
|
@ -557,10 +557,10 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Elwood seems to be studying the bottom of his bottle of ale
|
||||
* as you approach.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* What's this? Strange. Quite strange. I could have sworn I was
|
||||
* drinking wine.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Oh, hello. Yes. Good to see you. Any luck with that autograph?
|
||||
* Bet you thought I'd forgotten. No. Not me. Mind like a steel trap.
|
||||
* Can't get it open no matter how hard you try. Or something. No luck
|
||||
|
|
@ -570,7 +570,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ElwoodDuringAutograph2Conversation()
|
||||
{
|
||||
|
|
@ -584,7 +584,7 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood scratches his ear then notices you.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Good day. What brings you to the Albatross? Me? An autograph?
|
||||
* You want my autograph? Well, I suppose. What's that? Oh. Yes.
|
||||
* Gabriel Piete. Yes. Get his autograph and return to me. Good day.
|
||||
|
|
@ -593,7 +593,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ElwoodDuringAutograph3Conversation()
|
||||
{
|
||||
|
|
@ -608,14 +608,14 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
/* <I>Elwood looks up eagerly as you tell him about the autographed
|
||||
* sheet music.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Quite good work. Not an easy one to deal with, that one. Gabriel Piete.
|
||||
* Yes. Well done. Nice autograph.<BR><BR>
|
||||
*
|
||||
*
|
||||
* One last task. I would like a set of toy monster figurines made by the
|
||||
* famous toymaker, Tomas O'Neerlan. You'll find him in Trinsic. He's often
|
||||
* at the Tinker's Guild. Try looking there.<BR><BR>
|
||||
*
|
||||
*
|
||||
* You're doing quite well. Quite well indeed. Knew you would. Just like old
|
||||
* times. Yes. Quite good.
|
||||
*/
|
||||
|
|
@ -640,11 +640,11 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Tomas smiles freely as you speak to him.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Ah, to be sure I can make you some toy monster figurines.
|
||||
* That's my work, making toys. Worry not, we'll put together
|
||||
* a good set of monsters for you and your figurines.<BR><BR>
|
||||
*
|
||||
*
|
||||
* But I'll be needing something from you before I can begin.
|
||||
* Here, take these enchanted paints. Using them, you can capture
|
||||
* a set of images of the creatures you wish me to make into toys.
|
||||
|
|
@ -673,7 +673,7 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Tomas greets you warmly as you approach.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* 'Tis good to see you. I see that you have not yet collected
|
||||
* all of the images we need. 'Tis fine, but I'll be needing
|
||||
* those before I can make the toy figurines. Return when you have
|
||||
|
|
@ -683,7 +683,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public TomasDuringCollectingConversation()
|
||||
{
|
||||
|
|
@ -697,7 +697,7 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Tomas grins as you walk toward him.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* I see that you have collected all of the images we need.
|
||||
* 'Tis good. I'll begin straight away on the toy figurines.
|
||||
* I'll have them delivered to you when ready. Where shall I send
|
||||
|
|
@ -726,11 +726,11 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>You watch as Elwood spins around blissfully on his stool.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Oh. Forgive me. Didn't see you there. Whoo. Dizzy. Can't see straight.
|
||||
* Have you gotten those figurines yet? No. Ah. Not to worry. Keep at it.
|
||||
* No doubt you'll come through with those.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Excuse me a moment. I think I need to sit down. Wait. I am sitting down.
|
||||
* Good then. Yes. Sitting down.<BR><BR><I>Elwood reaches out and takes hold
|
||||
* of the counter as if to steady himself.</I>
|
||||
|
|
@ -739,7 +739,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ElwoodDuringToys1Conversation()
|
||||
{
|
||||
|
|
@ -753,14 +753,14 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood suddenly stops and beckons you over to him.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Over here. Come here. Don't be alarmed, but I think one of the
|
||||
* tavernkeepers used to be a wandering healer. Said something about
|
||||
* the good ole days when people would just walk up and hand gold to
|
||||
* them. Piles of gold. Out of the blue. Can you imagine? Got so much
|
||||
* gold, this ex-healer decided to buy a tavern and settle down. Kind
|
||||
* of sad really. Can't even cure my hangover now. Nice tavern though.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Right. Anyway. Let me know when those toy figurines are ready.
|
||||
* I'll be here. As always.
|
||||
*/
|
||||
|
|
@ -768,7 +768,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ElwoodDuringToys2Conversation()
|
||||
{
|
||||
|
|
@ -782,11 +782,11 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood is singing as you greet him.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Come. Join in. It's a Gabriel Piete song. I have the sheet music
|
||||
* for it. It's even autographed by Gabriel Piete himself. Yes.
|
||||
* One of his songs. Brilliant.<BR><BR>
|
||||
*
|
||||
*
|
||||
* So let me see the toys. Figurines. Let's see them. Oh. You don't
|
||||
* have them yet. I see. Well. Okay. That's too bad.
|
||||
*/
|
||||
|
|
@ -794,7 +794,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ElwoodDuringToys3Conversation()
|
||||
{
|
||||
|
|
@ -808,15 +808,15 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood takes a sip of his ale as you address him.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Ah. That's the stuff. Ale. Nothing better. What's that? Toy figurines
|
||||
* will be delivered. Right. Yes. Perhaps better than Ale. Tough one.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Very good work. Quite. Think we're all done now. You completed everything
|
||||
* I asked. Would work with you again. Yes. We should.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Ah. Yes. your payment. The usual. I think you'll be pleased.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>With that Elwood rummages around in his backpack. He eventually
|
||||
* pulls out a small bag and hands it to you.</I>
|
||||
*/
|
||||
|
|
@ -843,7 +843,7 @@ namespace Server.Engines.Quests.Collector
|
|||
get
|
||||
{
|
||||
/* <I>Elwood stares at you as you approach.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* I know you. Oh yes. You've been running some errands for me.
|
||||
* We are about done. Noticed that your backpack is a bit full.
|
||||
* Might want to make some room. Won't be able to hold your payment.
|
||||
|
|
@ -853,7 +853,7 @@ namespace Server.Engines.Quests.Collector
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return m_Logged; } }
|
||||
public override bool Logged => m_Logged;
|
||||
|
||||
public FullEndConversation( bool logged )
|
||||
{
|
||||
|
|
@ -871,4 +871,4 @@ namespace Server.Engines.Quests.Collector
|
|||
System.AddObjective( new MakeRoomObjective() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
public class AlbertaGiacco : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Alberta Giacco";
|
||||
|
||||
[Constructible]
|
||||
public AlbertaGiacco() : base( "the respected painter" )
|
||||
{
|
||||
|
|
@ -25,7 +27,6 @@ namespace Server.Engines.Quests.Collector
|
|||
|
||||
Female = true;
|
||||
Body = 0x191;
|
||||
Name = "Alberta Giacco";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -91,4 +92,4 @@ namespace Server.Engines.Quests.Collector
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
public class ElwoodMcCarrin : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Elwood McCarrin";
|
||||
|
||||
[Constructible]
|
||||
public ElwoodMcCarrin() : base( "the well-known collector" )
|
||||
{
|
||||
|
|
@ -25,7 +27,6 @@ namespace Server.Engines.Quests.Collector
|
|||
|
||||
Female = false;
|
||||
Body = 0x190;
|
||||
Name = "Elwood McCarrin";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -240,4 +241,4 @@ namespace Server.Engines.Quests.Collector
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
public class GabrielPiete : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Gabriel Piete";
|
||||
|
||||
[Constructible]
|
||||
public GabrielPiete() : base( "the renowned minstrel" )
|
||||
{
|
||||
|
|
@ -25,7 +27,6 @@ namespace Server.Engines.Quests.Collector
|
|||
|
||||
Female = false;
|
||||
Body = 0x190;
|
||||
Name = "Gabriel Piete";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -102,4 +103,4 @@ namespace Server.Engines.Quests.Collector
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Collector
|
|||
{
|
||||
public class TomasONeerlan : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Tomas O'Neerlan";
|
||||
|
||||
[Constructible]
|
||||
public TomasONeerlan() : base( "the famed toymaker" )
|
||||
{
|
||||
|
|
@ -25,7 +27,6 @@ namespace Server.Engines.Quests.Collector
|
|||
|
||||
Female = false;
|
||||
Body = 0x190;
|
||||
Name = "Tomas O'Neerlan";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -108,4 +109,4 @@ namespace Server.Engines.Quests.Collector
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,11 +31,11 @@ namespace Server.Engines.Quests
|
|||
protected List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override bool IsActiveVendor{ get{ return false; } }
|
||||
public override bool IsInvulnerable{ get{ return true; } }
|
||||
public override bool DisallowAllMoves{ get{ return true; } }
|
||||
public override bool IsActiveVendor => false;
|
||||
public override bool IsInvulnerable => true;
|
||||
public override bool DisallowAllMoves => true;
|
||||
public override bool ClickTitle{ get { return false; } }
|
||||
public override bool CanTeach{ get{ return false; } }
|
||||
public override bool CanTeach => false;
|
||||
|
||||
public virtual int TalkNumber{ get{ return 6146; } } // Talk
|
||||
|
||||
|
|
@ -125,4 +125,4 @@ namespace Server.Engines.Quests
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,19 +12,19 @@ namespace Server.Engines.Quests.Necro
|
|||
get
|
||||
{
|
||||
/* <I><U>Important Quest Information</U></I><BR><BR>
|
||||
*
|
||||
*
|
||||
* During your quest, any important information that a
|
||||
* <a href = "?ForceTopic31">NPC</a> gives you, will appear in a
|
||||
* window such as this one. You can review the information at
|
||||
* any time during your quest.<BR><BR><U>Getting Help</U><BR><BR>
|
||||
*
|
||||
*
|
||||
* Some of the text you will come across during your quest, will
|
||||
* be underlined <a href = "?ForceTopic73">links to the codex of
|
||||
* wisdom</a>, or online help system. You can click on the text
|
||||
* to get detailed information on the underlined subject. You
|
||||
* may also access the Codex Of Wisdom by pressing "F1" or by
|
||||
* clicking on the "?" on the toolbar at the top of your screen.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <U>Context Menus</U><BR><BR>Context menus can be called up by
|
||||
* single left-clicking (or Shift + single left-click, if you
|
||||
* changed it) on most objects or NPCs in the world. Nearly
|
||||
|
|
@ -60,39 +60,39 @@ namespace Server.Engines.Quests.Necro
|
|||
get
|
||||
{
|
||||
/* Excellent choice, young apprentice of evil!<BR><BR>
|
||||
*
|
||||
*
|
||||
* I will not waste our time with pleasantries. There is much work
|
||||
* to be done – especially in light of the recent Paladin ambushes
|
||||
* to be done <EFBFBD> especially in light of the recent Paladin ambushes
|
||||
* that we have suffered. The necromantic brotherhood is working
|
||||
* towards the summoning of the elder daemon Kronus, who will rise
|
||||
* from the Well of Tears to help us finally crush the Paladin forces
|
||||
* that have plagued our lands for so long now.<BR><BR>
|
||||
*
|
||||
*
|
||||
* To summon Kronus, we must energize the Well of Tears with a series
|
||||
* of dark rituals. Unfortunately the rituals needed to sufficiently
|
||||
* energize the Well of Tears have been lost to us. Your task will be
|
||||
* to recover one of the ritual scrolls needed for the summoning.<BR><BR>
|
||||
*
|
||||
*
|
||||
* You will need to find the corpse of the Arch Necromancer Maabus, which
|
||||
* has been laid to rest in the tomb of elders. We believe his spirit may
|
||||
* have memory of where we may find the scrolls needed for the summoning.
|
||||
* You will need to awaken him from the slumber of death, using your
|
||||
* Animate Dead spell, of course.<BR><BR>
|
||||
*
|
||||
*
|
||||
* To reach the tomb, step onto the magical teleporter just to the
|
||||
* <a href = "?ForceTopic13">West</a> of where I am standing.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Once you have been teleported, follow the path, which will lead you to
|
||||
* the tomb of Maabus.<BR><BR>One more thing before you go:<BR><BR>
|
||||
*
|
||||
*
|
||||
* Should you get into trouble out there or should you lose your way, do
|
||||
* not worry. I have also given you a magical horn - a <I>Horn of Retreat</I>.
|
||||
* Play the horn at any time to open a magical gateway that leads back to this
|
||||
* tower.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Should your horn run out of <a href = "?ForceTopic83">charges</a>, simply
|
||||
* hand me the horn to have it recharged.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Good luck friend.
|
||||
*/
|
||||
return 1060099;
|
||||
|
|
@ -126,26 +126,26 @@ namespace Server.Engines.Quests.Necro
|
|||
{
|
||||
/* <I>Maabus emits an ear-crawling screech as his body reanimates.
|
||||
* He turns and angrily screams at you</I>:<BR><BR>
|
||||
*
|
||||
*
|
||||
* YOU INFIDEL! HOW DARE YOU AWAKEN MAABUS!?!<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Maabus continues to scream at you angrily for some time.
|
||||
* As he settles down, you explain to him the purpose of your visit.
|
||||
* Once you explain that you are on a quest to summon the elder daemon
|
||||
* Kronus, Maabus begins to cooperate, and begins to speak in a more
|
||||
* reasonable tone</I>:<BR><BR>
|
||||
*
|
||||
* Well, why didn’t you say so? If you’re going to raise Kronus from
|
||||
*
|
||||
* Well, why didn<EFBFBD>t you say so? If you<EFBFBD>re going to raise Kronus from
|
||||
* the Well of Tears, you must first complete a long series of dark
|
||||
* rituals. I once owned one of the scrolls needed for the summoning,
|
||||
* but alas it was lost to me when I lost my life to a cowardly Paladin
|
||||
* ambush near the Paladin city of Light. They would have probably
|
||||
* hidden the scroll in their precious crystal cave near the city.<BR><BR>
|
||||
*
|
||||
*
|
||||
* There is a teleporter in the corner of this tomb. It will transport
|
||||
* you near the crystal cave at which I believe one of the calling scrolls
|
||||
* is hidden. Good luck.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Maabus' body slumps back into the coffinas your magic expires</I>.
|
||||
*/
|
||||
return 1060103;
|
||||
|
|
@ -180,22 +180,22 @@ namespace Server.Engines.Quests.Necro
|
|||
* the space in front of him. As he begins to speak to you, you realize
|
||||
* this man is blind. You attempt to persuade the blind man that you are
|
||||
* a Paladin seeking to inspect the scroll of calling...</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Greetings traveler!<BR><BR>
|
||||
*
|
||||
*
|
||||
* You seek entrance to the Crystal Cave, home of the Calling Scroll? Hmm.
|
||||
* You reak of death and decay, brother. You reak of death like a Necromancer,
|
||||
* but yet you claim to be a Paladin in hopes that I will grant thee passage
|
||||
* into the cave?<BR><BR>
|
||||
*
|
||||
* Please don’t think ill of me for this, but I’m just a blind, old man looking
|
||||
*
|
||||
* Please don<EFBFBD>t think ill of me for this, but I<EFBFBD>m just a blind, old man looking
|
||||
* to keep the brotherhood of Paladins safe from the clutches of the elder daemon
|
||||
* Kronus. The Necromancers have been after this particular scroll for quite some
|
||||
* time, so we must take all the security precautions we can.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Before I can let you pass into the Crystal Cave, you must speak to me the secret
|
||||
* word that is kept in the Scroll of Abraxus in the Vault of Secrets at the Paladin
|
||||
* city of Light. It’s the only way that I can be sure you are who you claim to be,
|
||||
* city of Light. It<EFBFBD>s the only way that I can be sure you are who you claim to be,
|
||||
* since Necromancers cannot enter the Vault due to powerful protective magic that
|
||||
* the brotherhood has blessed the vault with.
|
||||
*/
|
||||
|
|
@ -221,18 +221,18 @@ namespace Server.Engines.Quests.Necro
|
|||
{
|
||||
/* <I>Mardoth looks at you expectantly until you tell him that you failed
|
||||
* to retrieve the scroll...</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* You failed? Very unfortunate... So now you must find your way into
|
||||
* the paladin’s Vault of Secrets, eh? Well, you won't be able to get in
|
||||
* – there is a powerful magic aura that protects the Vault from all
|
||||
* the paladin<EFBFBD>s Vault of Secrets, eh? Well, you won't be able to get in
|
||||
* <EFBFBD> there is a powerful magic aura that protects the Vault from all
|
||||
* Necromancers. We simply cannot enter. However, that's not to say you
|
||||
* familiar spirit can't.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Mardoth grins with obvious satisfaction
|
||||
* as he explains the details of the <a href="?ForceTopic127">Summon
|
||||
* Familiar</a> spell to you...</I>, which will allow you to summon a
|
||||
* scavenging Horde Minion to steal the scroll.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Very well. You are prepared to go. Take the teleporter just to the
|
||||
* <a href = "?ForceTopic13">West</a> of where I am standing to transport
|
||||
* to the Paladin city of Light. Once you have arrived in the city, follow
|
||||
|
|
@ -261,16 +261,16 @@ namespace Server.Engines.Quests.Necro
|
|||
/* You have arrived in the Vault of Secrets. You can feel the
|
||||
* protective magic in this place restricting you, making you
|
||||
* feel nearly claustrophobic.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Just ahead of you and out of your reach, you see a collection
|
||||
* of scrolls and books, one of them being entitled
|
||||
* 'Scroll of Abraxus' . You can only assume that this scroll
|
||||
* holds the current password required to enter the Crystal Cave.<BR><BR>
|
||||
*
|
||||
*
|
||||
* This would be a good opportunity to <a href="?ForceTopic127">summon
|
||||
* your familiar</a>. Since your familiar is not a Necromancer, it
|
||||
* will not be affected by the anti-magic aura that surrounds the Vault.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Summon your familiar with the <a href="?ForceTopic127">Summon Familiar</a> spell.
|
||||
*/
|
||||
return 1060110;
|
||||
|
|
@ -304,10 +304,10 @@ namespace Server.Engines.Quests.Necro
|
|||
* password needed to gain passage into the Crystal Cave where the
|
||||
* Scroll of Calling is kept. Read the scroll (double click) and
|
||||
* figure out the password.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Once you have the password, return to the Crystal Cave and speak
|
||||
* the password to the guard.<BR><BR>
|
||||
*
|
||||
*
|
||||
* If you do not know the way to the Crystal Cave from the Paladin City,
|
||||
* you can use the magic teleporter located just outside of the vault.
|
||||
*/
|
||||
|
|
@ -333,18 +333,18 @@ namespace Server.Engines.Quests.Necro
|
|||
{
|
||||
/* Very well Paladin, you have proven to me your identity.
|
||||
* I grant thee passage.<BR><BR>
|
||||
*
|
||||
* Be careful, however – I’ve heard that the cave has been
|
||||
*
|
||||
* Be careful, however <EFBFBD> I<EFBFBD>ve heard that the cave has been
|
||||
* infested with a vermin of some sort. Our High Lord
|
||||
* Melkeer was supposed to send some troops to clear the
|
||||
* vermin out of the cave, but that was last week already.
|
||||
* I fear that he forgot.<BR><BR>
|
||||
*
|
||||
*
|
||||
* If you can find it in your goodness to dispose of at
|
||||
* least 5 of those vermin in there, I shall reward your
|
||||
* efforts. If however you are too busy, and I would
|
||||
* understand if you were, don’t bother with the vermin.<BR><BR>
|
||||
*
|
||||
* understand if you were, don<EFBFBD>t bother with the vermin.<BR><BR>
|
||||
*
|
||||
* You may now pass through the energy barrier to enter the
|
||||
* Crystal Cave. Take care honorable Paladin soul.
|
||||
* Walk in the light my friend.
|
||||
|
|
@ -371,7 +371,7 @@ namespace Server.Engines.Quests.Necro
|
|||
{
|
||||
/* You've just slain a creature. Now is a good time to learn how
|
||||
* to heal yourself as a Necromancer.<BR><BR>
|
||||
*
|
||||
*
|
||||
* As a follower of the dark path, you are able to recover lost
|
||||
* hitpoints by communing with the spirit world via the skill
|
||||
* <a href="?ForceTopic133">Spirit Speak</a>. Learn more about it now,
|
||||
|
|
@ -393,17 +393,17 @@ namespace Server.Engines.Quests.Necro
|
|||
get
|
||||
{
|
||||
/* I thank you for going out of your way to clean out some
|
||||
* of the vermin in that cave – here is your reward: a bag
|
||||
* of the vermin in that cave <EFBFBD> here is your reward: a bag
|
||||
* containing 500 gold coins plus a strange and magical artifact
|
||||
* that should come in handy in your travels.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Take care young Paladin!
|
||||
*/
|
||||
return 1060717;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public HorusRewardConversation()
|
||||
{
|
||||
|
|
@ -423,7 +423,7 @@ namespace Server.Engines.Quests.Necro
|
|||
/* You return without the scroll of Calling? I'm afraid that
|
||||
* won't do. You must return to the Crystal Cave and fetch
|
||||
* another scroll. Use the teleporter to the West of me to
|
||||
* get there. Return here when you have the scroll. Do not
|
||||
* get there. Return here when you have the scroll. Do not
|
||||
* fail me this time, young apprentice of evil.
|
||||
*/
|
||||
return 1062058;
|
||||
|
|
@ -439,7 +439,7 @@ namespace Server.Engines.Quests.Necro
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public LostCallingScrollConversation( bool fromMardoth )
|
||||
{
|
||||
|
|
@ -476,13 +476,13 @@ namespace Server.Engines.Quests.Necro
|
|||
* You can now perform the rite of calling at the Well of Tears.
|
||||
* This ritual will help charge the Well to prepare for the coming
|
||||
* of Kronus. You are prepared to do your part young Necromancer!<BR><BR>
|
||||
*
|
||||
*
|
||||
* Just outside of this tower, you will find a path lined with red
|
||||
* lanterns. Follow this path to get to the Well of Tears. Once
|
||||
* you have arrived at the Well, use the scroll to perform the
|
||||
* ritual of calling. Performing the rite will empower the well
|
||||
* and bring us that much closer to the arrival of Kronus.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Once you have completed the ritual, return here for your
|
||||
* promised reward.
|
||||
*/
|
||||
|
|
@ -508,25 +508,25 @@ namespace Server.Engines.Quests.Necro
|
|||
{
|
||||
/* You have done as I asked... I knew I could count on you from
|
||||
* the moment you walked in here!<BR><BR>
|
||||
*
|
||||
*
|
||||
* The forces of evil are strong within you. You will become
|
||||
* a great Necromancer in this life - perhaps even the greatest.<BR><BR>
|
||||
*
|
||||
*
|
||||
* My work for you is done here. I release you from my service
|
||||
* to go into the world and fight for our cause...<BR><BR>
|
||||
*
|
||||
*
|
||||
* Oh...I almost forgot - your reward. Here is a magical
|
||||
* weapon and 2000 gold for you, in the form of a check. Don't
|
||||
* spend it all in one place though, eh?<BR><BR>
|
||||
*
|
||||
*
|
||||
* Actually, before you can spend any of it at all, you will
|
||||
* have to <a href="?ForceTopic86">cash the check</a> at the
|
||||
* nearest bank. Shopkeepers never accept checks for payment,
|
||||
* they require cash.<BR><BR>
|
||||
*
|
||||
*
|
||||
* In your pack, you will find an enchanted sextant. Use this
|
||||
* sextant to guide you to the nearest bank.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Farewell, and stay true to the ways of the shadow...
|
||||
*/
|
||||
return 1060133;
|
||||
|
|
@ -550,18 +550,18 @@ namespace Server.Engines.Quests.Necro
|
|||
get
|
||||
{
|
||||
/* <I>The banker smiles at you and greets you in a loud and robust voice...</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Well hello there adventurer! I see you've learned how to cash checks. Wonderful!
|
||||
* Let me tell you a bit about the banks in this world...<BR><BR>
|
||||
*
|
||||
*
|
||||
* Anything that you place into any bank box, can be retrieved from any other
|
||||
* bank box in the land. For instance, if you place an item into a bank box in
|
||||
* Britain, it can be retrieved from your bank box in Moonglow or any other city.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Bank boxes are very secure. So secure, in fact, that no one can ever get into
|
||||
* your bank box except for yourself. Security is hard to come by these days,
|
||||
* but you can trust in the banking system of Britannia! We shall not let you down!<BR><BR>
|
||||
*
|
||||
*
|
||||
* I hope to be seeing much more of you as your riches grow! May your bank box overflow
|
||||
* with the spoils of your adventures.<BR><BR>Farewell adventurer, you are now free to
|
||||
* explore the world on your own.
|
||||
|
|
@ -587,7 +587,7 @@ namespace Server.Engines.Quests.Necro
|
|||
get
|
||||
{
|
||||
/* If you are leaving the tower, you should learn about the Radar Map.<BR><BR>
|
||||
*
|
||||
*
|
||||
* The Radar Map (or Overhead View) can be opened by pressing 'ALT-R'
|
||||
* on your keyboard. It shows your immediate surroundings from a bird's
|
||||
* eye view.<BR><BR>Pressing ALT-R twice, will enlarge the Radar Map a
|
||||
|
|
@ -598,10 +598,10 @@ namespace Server.Engines.Quests.Necro
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public RadarConversation()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,34 +65,34 @@ namespace Server.Engines.Quests.Necro
|
|||
* of his translucently pale and heavily wrinkled skin, turns
|
||||
* to you and gives you a half-cocked grin that makes you
|
||||
* feel somewhat uneasy.<BR><BR>
|
||||
*
|
||||
*
|
||||
* After a short pause, he begins to speak to you...</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Hmm. What's this? Another budding Necromancer to join the
|
||||
* ranks of Evil? Here... let me take a look at you... Ah
|
||||
* yes... Very Good! I sense the forces of evil are strong
|
||||
* within you, child – but you need training so that you can
|
||||
* within you, child <EFBFBD> but you need training so that you can
|
||||
* learn to focus your skills against those aligned against
|
||||
* our cause. You are destined to become a legendary
|
||||
* Necromancer - with the proper training, that only I can
|
||||
* give you.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <I>Mardoth pauses just long enough to give you a wide,
|
||||
* skin-crawling grin.</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* Let me introduce myself. I am Mardoth, the guildmaster of
|
||||
* the Necromantic Brotherhood. I have taken it upon myself
|
||||
* to train anyone willing to learn the dark arts of Necromancy.
|
||||
* The path of destruction, decay and obliteration is not an
|
||||
* easy one. Only the most evil and the most dedicated can
|
||||
* hope to master the sinister art of death.<BR><BR>
|
||||
*
|
||||
* I can lend you training and help supply you with equipment –
|
||||
*
|
||||
* I can lend you training and help supply you with equipment <EFBFBD>
|
||||
* in exchange for a few services rendered by you, of course.
|
||||
* Nothing major, just a little death and destruction here and
|
||||
* there - the tasks should be easy as a tasty meat pie for one
|
||||
* as treacherous and evil as yourself.<BR><BR>
|
||||
*
|
||||
*
|
||||
* What do you say? Do we have a deal?
|
||||
*/
|
||||
return 1060094;
|
||||
|
|
@ -100,7 +100,7 @@ namespace Server.Engines.Quests.Necro
|
|||
}
|
||||
|
||||
public override TimeSpan RestartDelay{ get{ return TimeSpan.MaxValue; } }
|
||||
public override bool IsTutorial{ get{ return true; } }
|
||||
public override bool IsTutorial => true;
|
||||
|
||||
public override int Picture{ get{ return 0x15B5; } }
|
||||
|
||||
|
|
@ -150,4 +150,4 @@ namespace Server.Engines.Quests.Necro
|
|||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ namespace Server.Engines.Quests.Necro
|
|||
{
|
||||
public class Horus : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Horus";
|
||||
|
||||
[Constructible]
|
||||
public Horus() : base( "the Guardian" )
|
||||
{
|
||||
|
|
@ -24,8 +26,6 @@ namespace Server.Engines.Quests.Necro
|
|||
|
||||
Hue = 0x83F3;
|
||||
Body = 0x190;
|
||||
|
||||
Name = "Horus";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -195,4 +195,4 @@ namespace Server.Engines.Quests.Necro
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ namespace Server.Engines.Quests.Necro
|
|||
{
|
||||
public class Maabus : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Maabus";
|
||||
|
||||
public Maabus()
|
||||
{
|
||||
}
|
||||
|
|
@ -14,7 +16,6 @@ namespace Server.Engines.Quests.Necro
|
|||
public override void InitBody()
|
||||
{
|
||||
Body = 0x94;
|
||||
Name = "Maabus";
|
||||
}
|
||||
|
||||
public Maabus( Serial serial ) : base( serial )
|
||||
|
|
@ -44,4 +45,4 @@ namespace Server.Engines.Quests.Necro
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Server.Engines.Quests.Necro
|
|||
{
|
||||
public class Mardoth : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Mardoth";
|
||||
|
||||
[Constructible]
|
||||
public Mardoth() : base( "the Ancient Necromancer" )
|
||||
{
|
||||
|
|
@ -21,8 +23,6 @@ namespace Server.Engines.Quests.Necro
|
|||
|
||||
Hue = 0x8849;
|
||||
Body = 0x190;
|
||||
|
||||
Name = "Mardoth";
|
||||
}
|
||||
|
||||
public override bool OnDragDrop( Mobile from, Item dropped )
|
||||
|
|
@ -227,4 +227,4 @@ namespace Server.Engines.Quests.Necro
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,19 +12,19 @@ namespace Server.Engines.Quests.Ninja
|
|||
get
|
||||
{
|
||||
/* <I><U>Important Quest Information</U></I><BR><BR>
|
||||
*
|
||||
*
|
||||
* During your quest, any important information that a
|
||||
* <a href = "?ForceTopic31">NPC</a> gives you, will appear in a
|
||||
* window such as this one. You can review the information at
|
||||
* any time during your quest.<BR><BR><U>Getting Help</U><BR><BR>
|
||||
*
|
||||
*
|
||||
* Some of the text you will come across during your quest, will
|
||||
* be underlined <a href = "?ForceTopic73">links to the codex of
|
||||
* wisdom</a>, or online help system. You can click on the text
|
||||
* to get detailed information on the underlined subject. You
|
||||
* may also access the Codex Of Wisdom by pressing "F1" or by
|
||||
* clicking on the "?" on the toolbar at the top of your screen.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <U>Context Menus</U><BR><BR>Context menus can be called up by
|
||||
* single left-clicking (or Shift + single left-click, if you
|
||||
* changed it) on most objects or NPCs in the world. Nearly
|
||||
|
|
@ -53,19 +53,19 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
get
|
||||
{
|
||||
/* Ah, another fledgling unfurls its wings. Welcome to my
|
||||
/* Ah, another fledgling unfurls its wings. Welcome to my
|
||||
* home young one. <BR><BR>
|
||||
*
|
||||
* I am Daimyo Emino, a passionate collector of sorts.
|
||||
*
|
||||
* I am Daimyo Emino, a passionate collector of sorts.
|
||||
* One who is vengeful towards those impeding my reign. <BR><BR>
|
||||
*
|
||||
* You have the look of someone who could help me but
|
||||
* your skills are untested. Are you willing to prove
|
||||
*
|
||||
* You have the look of someone who could help me but
|
||||
* your skills are untested. Are you willing to prove
|
||||
* your mettle as my hireling? <BR><BR>
|
||||
*
|
||||
* Elite Ninja Zoel awaits you in the backyard. He will
|
||||
* lead you to the first trial. You will be directed
|
||||
* further when you arrive at your destination. You
|
||||
*
|
||||
* Elite Ninja Zoel awaits you in the backyard. He will
|
||||
* lead you to the first trial. You will be directed
|
||||
* further when you arrive at your destination. You
|
||||
* should speak to him before exploring the yard or cave entrance.
|
||||
*/
|
||||
return 1063175;
|
||||
|
|
@ -89,11 +89,11 @@ namespace Server.Engines.Quests.Ninja
|
|||
get
|
||||
{
|
||||
/* To view the surrounding area, you should learn about the Radar Map.<BR><BR>
|
||||
*
|
||||
*
|
||||
* The Radar Map (or Overhead View) can be opened by pressing 'ALT-R'
|
||||
* on your keyboard. It shows your immediate surroundings from a
|
||||
* bird's eye view.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Pressing ALT-R twice, will enlarge the Radar Map a little.
|
||||
* Use the Radar Map often as you travel throughout the world
|
||||
* to familiarize yourself with your surroundings.
|
||||
|
|
@ -102,7 +102,7 @@ namespace Server.Engines.Quests.Ninja
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public RadarConversation()
|
||||
{
|
||||
|
|
@ -116,21 +116,21 @@ namespace Server.Engines.Quests.Ninja
|
|||
get
|
||||
{
|
||||
/* <I>Zoel studies your face as you approach him. Wryly, he says:</I><BR><BR>
|
||||
*
|
||||
* Daimyo Emino has sent another already? The stains from the
|
||||
*
|
||||
* Daimyo Emino has sent another already? The stains from the
|
||||
* last have not yet dried! <BR><BR>
|
||||
*
|
||||
* No matter, we’ll finish you off and clean it all at once, eh? <BR><BR>
|
||||
*
|
||||
*
|
||||
* No matter, we<EFBFBD>ll finish you off and clean it all at once, eh? <BR><BR>
|
||||
*
|
||||
* Now to the point, your only task is to survive in the abandoned inn.<BR><BR>
|
||||
*
|
||||
* You will be instructed when you need to act and when you should
|
||||
*
|
||||
* You will be instructed when you need to act and when you should
|
||||
* return to one of us. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Only a true Ninja is deft enough to finish and remain alive.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Your future... or your demise... lies in this cave beyond. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Now go.
|
||||
*/
|
||||
return 1063177;
|
||||
|
|
@ -154,11 +154,11 @@ namespace Server.Engines.Quests.Ninja
|
|||
get
|
||||
{
|
||||
/* A glowing archway stands before you. <BR><BR>
|
||||
*
|
||||
* To either side of its frame are mounted demon heads,
|
||||
*
|
||||
* To either side of its frame are mounted demon heads,
|
||||
* breathing fire and watching your every move. <BR><BR>
|
||||
*
|
||||
* To pass through, you must first vanish from the demons’
|
||||
*
|
||||
* To pass through, you must first vanish from the demons<EFBFBD>
|
||||
* sight. Only then can you slowly traverse the entryway.
|
||||
*/
|
||||
return 1063180;
|
||||
|
|
@ -181,15 +181,15 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
get
|
||||
{
|
||||
/* You’ll need to hide in order to pass through the door. <BR><BR>
|
||||
*
|
||||
* To find out how to use active skills, visit the
|
||||
* <a href = "?ForceTopic73">Codex of Wisdom</a>.
|
||||
* To activate a skill, locate it on your skills
|
||||
* list and click the blue button located to the
|
||||
* left of the skill's name.<br><br>Once you have
|
||||
/* You<EFBFBD>ll need to hide in order to pass through the door. <BR><BR>
|
||||
*
|
||||
* To find out how to use active skills, visit the
|
||||
* <a href = "?ForceTopic73">Codex of Wisdom</a>.
|
||||
* To activate a skill, locate it on your skills
|
||||
* list and click the blue button located to the
|
||||
* left of the skill's name.<br><br>Once you have
|
||||
* successfully hidden, you may move slowly through the door.
|
||||
*
|
||||
*
|
||||
*/
|
||||
return 1063181;
|
||||
}
|
||||
|
|
@ -207,10 +207,10 @@ namespace Server.Engines.Quests.Ninja
|
|||
get
|
||||
{
|
||||
/*
|
||||
* Through the door lies a short passageway.
|
||||
* The path ends abruptly at a strange tile on the floor.
|
||||
* The special tile is known as a teleporter.
|
||||
* Step on the teleporter tile and you will be transported
|
||||
* Through the door lies a short passageway.
|
||||
* The path ends abruptly at a strange tile on the floor.
|
||||
* The special tile is known as a teleporter.
|
||||
* Step on the teleporter tile and you will be transported
|
||||
* to a new location.
|
||||
*/
|
||||
return 1063182;
|
||||
|
|
@ -234,15 +234,15 @@ namespace Server.Engines.Quests.Ninja
|
|||
get
|
||||
{
|
||||
/* <I>Daimyo Emino smiles as you approach him:</I> <BR><BR>
|
||||
*
|
||||
* I see that you have survived both the first trial and Zoel’s temper. <BR><BR>
|
||||
*
|
||||
*
|
||||
* I see that you have survived both the first trial and Zoel<EFBFBD>s temper. <BR><BR>
|
||||
*
|
||||
* For that you have been rewarded with Leggings and Gloves
|
||||
* befitting your occupation. The material is the only armor
|
||||
* a <b><I>True Ninja</i></b> needs. <BR><BR>
|
||||
*
|
||||
* You have yet to prove yourself fully, young hireling.
|
||||
* Another trial must be met. Off to Zoel you go.
|
||||
*
|
||||
* You have yet to prove yourself fully, young hireling.
|
||||
* Another trial must be met. Off to Zoel you go.
|
||||
* Bring him this note so he knows we have spoken.
|
||||
*/
|
||||
return 1063184;
|
||||
|
|
@ -270,7 +270,7 @@ namespace Server.Engines.Quests.Ninja
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public LostNoteConversation()
|
||||
{
|
||||
|
|
@ -285,24 +285,24 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
/* <I>Zoel quickly grabs the scroll from your
|
||||
* hand and reads the note:</i> <BR><BR>
|
||||
*
|
||||
* Still alive then? You’ll have to impress me
|
||||
* further before I will give my approval of
|
||||
*
|
||||
* Still alive then? You<EFBFBD>ll have to impress me
|
||||
* further before I will give my approval of
|
||||
* you to Daimyo Emino. <BR><BR>
|
||||
*
|
||||
*
|
||||
* You must return to the inn and begin the next trial. <BR><BR>
|
||||
*
|
||||
* We believe an associate has, shall we say,
|
||||
*
|
||||
* We believe an associate has, shall we say,
|
||||
* inadvertently negated our contract. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Find out what information you can and return
|
||||
* to Daimyo Emino with the news. And be careful
|
||||
* not to lose your head.<BR><BR>
|
||||
*
|
||||
* The Blue Teleporter Tile in Daimyo Emino’s
|
||||
* residence will lead you to your fate.
|
||||
*
|
||||
* The Blue Teleporter Tile in Daimyo Emino<EFBFBD>s
|
||||
* residence will lead you to your fate.
|
||||
* I suggest you hurry. <BR><BR>
|
||||
*
|
||||
*
|
||||
* ...And take care to tread softly. There
|
||||
* is no greater traitor than a heavy footfall upon a path.
|
||||
*/
|
||||
|
|
@ -326,24 +326,24 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
get
|
||||
{
|
||||
/* You quietly approach the door and see
|
||||
* a woman named Jedah Entille speaking
|
||||
* to a shady figure in dark clothing.
|
||||
* You move closer so you can overhear
|
||||
* the conversation. Fortunately, your
|
||||
/* You quietly approach the door and see
|
||||
* a woman named Jedah Entille speaking
|
||||
* to a shady figure in dark clothing.
|
||||
* You move closer so you can overhear
|
||||
* the conversation. Fortunately, your
|
||||
* entrance did not alert the preoccupied party. <BR><BR>
|
||||
*
|
||||
* Jedah’s brash voice permeates the air:<I><BR><BR>
|
||||
*
|
||||
* Now that it is hidden, we’ll hide out here
|
||||
* until Daimyo Emino forgets about us.
|
||||
* Once he realizes his beloved sword is missing,
|
||||
* he’ll surely start looking for the thieves.
|
||||
*
|
||||
* Jedah<EFBFBD>s brash voice permeates the air:<I><BR><BR>
|
||||
*
|
||||
* Now that it is hidden, we<EFBFBD>ll hide out here
|
||||
* until Daimyo Emino forgets about us.
|
||||
* Once he realizes his beloved sword is missing,
|
||||
* he<EFBFBD>ll surely start looking for the thieves.
|
||||
* We will be long gone by that time. </I><BR><BR>
|
||||
*
|
||||
* After overhearing the conversation,
|
||||
* you understand why you were sent on
|
||||
* this trial. You must immediately tell
|
||||
*
|
||||
* After overhearing the conversation,
|
||||
* you understand why you were sent on
|
||||
* this trial. You must immediately tell
|
||||
* Daimyo Emino what you have learned.
|
||||
* */
|
||||
return 1063196;
|
||||
|
|
@ -366,36 +366,36 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
get
|
||||
{
|
||||
/* <I>Daimyo Emino frowns as you relay the information.
|
||||
/* <I>Daimyo Emino frowns as you relay the information.
|
||||
* He pauses for a moment before speaking to you:</i> <BR><BR>
|
||||
*
|
||||
* Jedah was once one of my most promising students,
|
||||
*
|
||||
* Jedah was once one of my most promising students,
|
||||
* but her greed will be her downfall. <BR><BR>
|
||||
*
|
||||
* I will send one of my disciples to deal with her later.
|
||||
*
|
||||
* I will send one of my disciples to deal with her later.
|
||||
* It is more important to get that sword back first. <BR><BR>
|
||||
*
|
||||
* I’m counting on you to find it. She would have kept it
|
||||
* close to her. Take the White Teleporter, located in my
|
||||
* backyard, and check inside boxes and chests around the
|
||||
* treasure room of the inn and return it to me when you
|
||||
*
|
||||
* I<EFBFBD>m counting on you to find it. She would have kept it
|
||||
* close to her. Take the White Teleporter, located in my
|
||||
* backyard, and check inside boxes and chests around the
|
||||
* treasure room of the inn and return it to me when you
|
||||
* find it.<BR><BR>
|
||||
*
|
||||
* Be very careful. Jedah was an expert with traps and no
|
||||
* doubt she’s protecting the sword with them. <BR><BR>
|
||||
*
|
||||
* If you find a trap, try timing it and you may be able
|
||||
*
|
||||
* Be very careful. Jedah was an expert with traps and no
|
||||
* doubt she<EFBFBD>s protecting the sword with them. <BR><BR>
|
||||
*
|
||||
* If you find a trap, try timing it and you may be able
|
||||
* to avoid damage. <BR><BR>
|
||||
*
|
||||
* I’ve provided you with several heal potions in case you
|
||||
*
|
||||
* I<EFBFBD>ve provided you with several heal potions in case you
|
||||
* become injured. <BR><BR>
|
||||
*
|
||||
* In the bag you will also find more clothing appropriate
|
||||
*
|
||||
* In the bag you will also find more clothing appropriate
|
||||
* to your new found profession. <BR><BR>
|
||||
*
|
||||
* Please return the sword to me. I implore you not to take
|
||||
*
|
||||
* Please return the sword to me. I implore you not to take
|
||||
* anything else that may be hidden in the Inn. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Thank you.
|
||||
*/
|
||||
return 1063199;
|
||||
|
|
@ -418,10 +418,10 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
get
|
||||
{
|
||||
/* A narrow hallway greets the teleporter.
|
||||
* The enclosed space is the perfect setting
|
||||
* for dangerous traps. Walk through the
|
||||
* hallway being careful to avoid the traps.
|
||||
/* A narrow hallway greets the teleporter.
|
||||
* The enclosed space is the perfect setting
|
||||
* for dangerous traps. Walk through the
|
||||
* hallway being careful to avoid the traps.
|
||||
* You may be able to time the traps to avoid injury.
|
||||
*/
|
||||
return 1063201;
|
||||
|
|
@ -444,11 +444,11 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
get
|
||||
{
|
||||
/* The lid of the chest refuses to budge at first,
|
||||
/* The lid of the chest refuses to budge at first,
|
||||
* but slowly you are able to pry the lid open. <BR><BR>
|
||||
*
|
||||
* Inside lies the sword you have been in search of.
|
||||
* You quickly take the sword and stash it in your backpack.
|
||||
*
|
||||
* Inside lies the sword you have been in search of.
|
||||
* You quickly take the sword and stash it in your backpack.
|
||||
* Bring the sword back to Daimyo Emino.
|
||||
*/
|
||||
return 1063203;
|
||||
|
|
@ -471,12 +471,12 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
get
|
||||
{
|
||||
/* Screams echo through the chamber as you walk
|
||||
* away from the chest. Jedah’s Henchmen have
|
||||
/* Screams echo through the chamber as you walk
|
||||
* away from the chest. Jedah<EFBFBD>s Henchmen have
|
||||
* become cognizant of your presence. <BR><BR>
|
||||
*
|
||||
* It is time for your Ninja Spirit to come alive.
|
||||
* Slay 3 of the Henchmen before returning to Daimyo Emino.
|
||||
*
|
||||
* It is time for your Ninja Spirit to come alive.
|
||||
* Slay 3 of the Henchmen before returning to Daimyo Emino.
|
||||
*/
|
||||
return 1063205;
|
||||
}
|
||||
|
|
@ -503,7 +503,7 @@ namespace Server.Engines.Quests.Ninja
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public ContinueSlayHenchmenConversation()
|
||||
{
|
||||
|
|
@ -517,7 +517,7 @@ namespace Server.Engines.Quests.Ninja
|
|||
get
|
||||
{
|
||||
/* Go to Daimyo Emino. Go back through the chamber the way you came.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Give Daimyo Emino the sword when you've returned to his side.
|
||||
*/
|
||||
return 1063211;
|
||||
|
|
@ -545,7 +545,7 @@ namespace Server.Engines.Quests.Ninja
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public LostSwordConversation()
|
||||
{
|
||||
|
|
@ -562,9 +562,9 @@ namespace Server.Engines.Quests.Ninja
|
|||
* To the right of the cave entrance you will find a luminous oval
|
||||
* object known as a Moongate, step through it and you'll
|
||||
* find yourself in Zento.<BR><BR>
|
||||
*
|
||||
*
|
||||
* You may want to visit Ansella Gryen when you arrive. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Please accept the gifts I have placed in your pack. You
|
||||
* have earned them. Farewell for now.
|
||||
*/
|
||||
|
|
@ -590,7 +590,7 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
/* You have earned these gifts for returning the sword.
|
||||
* For that I thank you. <BR><BR>
|
||||
*
|
||||
*
|
||||
* However, your reward has been lessened by your greed
|
||||
* in the treasure room. Do not think I did not notice your full pockets.
|
||||
*/
|
||||
|
|
@ -607,4 +607,4 @@ namespace Server.Engines.Quests.Ninja
|
|||
System.Complete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ namespace Server.Engines.Quests.Ninja
|
|||
}
|
||||
|
||||
public override TimeSpan RestartDelay{ get{ return TimeSpan.MaxValue; } }
|
||||
public override bool IsTutorial{ get{ return true; } }
|
||||
public override bool IsTutorial => true;
|
||||
|
||||
public override int Picture{ get{ return 0x15D5; } }
|
||||
|
||||
|
|
@ -156,4 +156,4 @@ namespace Server.Engines.Quests.Ninja
|
|||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
}
|
||||
|
||||
public override bool IsDecoContainer{ get{ return false; } }
|
||||
public override bool IsDecoContainer => false;
|
||||
|
||||
private void GenerateTreasure()
|
||||
{
|
||||
|
|
@ -145,4 +145,4 @@ namespace Server.Engines.Quests.Ninja
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
public class Emino : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Daimyo Emino";
|
||||
|
||||
[Constructible]
|
||||
public Emino() : base( "the Notorious" )
|
||||
{
|
||||
|
|
@ -21,7 +23,6 @@ namespace Server.Engines.Quests.Ninja
|
|||
|
||||
Female = false;
|
||||
Body = 0x190;
|
||||
Name = "Daimyo Emino";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -224,4 +225,4 @@ namespace Server.Engines.Quests.Ninja
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
public class EnshroudedFigure : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "an enshrouded figure";
|
||||
|
||||
[Constructible]
|
||||
public EnshroudedFigure()
|
||||
{
|
||||
|
|
@ -20,7 +22,6 @@ namespace Server.Engines.Quests.Ninja
|
|||
Hue = 0x8401;
|
||||
Female = false;
|
||||
Body = 0x190;
|
||||
Name = "enshrouded figure";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -53,4 +54,4 @@ namespace Server.Engines.Quests.Ninja
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
public class Henchman : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a henchman";
|
||||
|
||||
[Constructible]
|
||||
public Henchman() : base( AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
|
|
@ -14,7 +16,6 @@ namespace Server.Engines.Quests.Ninja
|
|||
|
||||
Hue = Utility.RandomSkinHue();
|
||||
Body = 0x190;
|
||||
Name = "a henchman";
|
||||
|
||||
Utility.AssignRandomHair( this );
|
||||
Utility.AssignRandomFacialHair( this );
|
||||
|
|
@ -32,7 +33,7 @@ namespace Server.Engines.Quests.Ninja
|
|||
SetSkill( SkillName.Tactics, 50.0 );
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
public override bool AlwaysMurderer => true;
|
||||
|
||||
public Henchman( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
@ -52,4 +53,4 @@ namespace Server.Engines.Quests.Ninja
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
public class JedahEntille : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Jedah Entille";
|
||||
|
||||
[Constructible]
|
||||
public JedahEntille() : base( "the Silent" )
|
||||
{
|
||||
|
|
@ -20,7 +22,6 @@ namespace Server.Engines.Quests.Ninja
|
|||
Hue = 0x83FE;
|
||||
Female = true;
|
||||
Body = 0x191;
|
||||
Name = "Jedah Entille";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -57,4 +58,4 @@ namespace Server.Engines.Quests.Ninja
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ namespace Server.Engines.Quests.Ninja
|
|||
{
|
||||
public class Zoel : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Elite Ninja Zoel";
|
||||
|
||||
[Constructible]
|
||||
public Zoel() : base( "the Masterful Tactician" )
|
||||
{
|
||||
|
|
@ -22,7 +24,6 @@ namespace Server.Engines.Quests.Ninja
|
|||
|
||||
Female = false;
|
||||
Body = 0x190;
|
||||
Name = "Elite Ninja Zoel";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -135,4 +136,4 @@ namespace Server.Engines.Quests.Ninja
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,21 +12,21 @@ namespace Server.Engines.Quests.Samurai
|
|||
get
|
||||
{
|
||||
/* <I><U>Important Quest Information</U></I><BR><BR>
|
||||
*
|
||||
*
|
||||
* During your quest, any important information that a
|
||||
* <a href = "?ForceTopic31">NPC</a> gives you, will appear in a window
|
||||
* such as this one. You can review the information at any time during your
|
||||
* quest.<BR><BR>
|
||||
*
|
||||
*
|
||||
* <U>Getting Help</U><BR><BR>
|
||||
*
|
||||
*
|
||||
* Some of the text you will come across during your quest,
|
||||
* will be underlined <a href = "?ForceTopic73">links to the codex of wisdom</a>,
|
||||
* or online help system. You can click on the text to get detailed information
|
||||
* on the underlined subject. You may also access the Codex Of Wisdom by
|
||||
* pressing "F1" or by clicking on the "?" on the toolbar at the top of
|
||||
* your screen.<BR><BR><U>Context Menus</U><BR><BR>
|
||||
*
|
||||
*
|
||||
* Context menus can be called up by single left-clicking (or Shift + single
|
||||
* left-click, if you changed it) on most objects or NPCs in the world.
|
||||
* Nearly everything, including your own avatar will have context menus available.
|
||||
|
|
@ -54,11 +54,11 @@ namespace Server.Engines.Quests.Samurai
|
|||
get
|
||||
{
|
||||
/* To view the surrounding area, you should learn about the Radar Map.<BR><BR>
|
||||
*
|
||||
*
|
||||
* The Radar Map (or Overhead View) can be opened by pressing 'ALT-R'
|
||||
* on your keyboard. It shows your immediate surroundings from a
|
||||
* bird's eye view.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Pressing ALT-R twice, will enlarge the Radar Map a little.
|
||||
* Use the Radar Map often as you travel throughout the world
|
||||
* to familiarize yourself with your surroundings.
|
||||
|
|
@ -67,7 +67,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public RadarConversation()
|
||||
{
|
||||
|
|
@ -81,24 +81,24 @@ namespace Server.Engines.Quests.Samurai
|
|||
get
|
||||
{
|
||||
/* Greetings. I am Daimyo Haochi, the Feudal Lord of this region. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Since you are here at my side, you must wish to learn the ways of the Samurai.<BR><BR>
|
||||
*
|
||||
* Wielding a blade is easy, anyone can grasp a sword’s hilt. Learning how to
|
||||
*
|
||||
* Wielding a blade is easy, anyone can grasp a sword<EFBFBD>s hilt. Learning how to
|
||||
* fight properly and skillfully is to become an Armsman.<BR><BR>
|
||||
*
|
||||
*
|
||||
* Learning how to master weapons, and even more importantly when not to use
|
||||
* them, is the Way of the Warrior. The Way of the Samurai. The Code of the
|
||||
* Bushido. That is why you are here. <BR><BR>
|
||||
*
|
||||
*
|
||||
* You will go through 7 trials to prove your adherence to the Samurai code. <BR><BR>
|
||||
*
|
||||
*
|
||||
* The first trial will test your decision making skills. You only have to enter
|
||||
* the area beyond the green passageway. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Do not attempt to hurry your trials. The guards will only let you through
|
||||
* to each trial when I have deemed you ready.<br><br>
|
||||
*
|
||||
*
|
||||
* As a last resort you may use the golden teleporter tiles in each trial area
|
||||
* but do so at your own risk. You may not be able to return and complete your
|
||||
* trials once you have chosen to escape.
|
||||
|
|
@ -124,20 +124,20 @@ namespace Server.Engines.Quests.Samurai
|
|||
get
|
||||
{
|
||||
/* Beyond you are two troubled groups.<BR><BR>
|
||||
*
|
||||
*
|
||||
* The Cursed Souls were once proud warriors that were ensorcelled
|
||||
* by an evil mage. The mage trapped and killed them later but the spell
|
||||
* has not lifted from their souls in death. <BR><BR>
|
||||
*
|
||||
*
|
||||
* The Young Ronin were former Samurai in training who lost their way.
|
||||
* They are loyal only to those with enough coin in their pocket. <BR><BR>
|
||||
*
|
||||
*
|
||||
* You must decide who needs to be fought to the death. You may wish to
|
||||
* <a href="?ForceTopic27">review combat techniques</a> as well as
|
||||
* <a href = "?ForceTopic29">information on healing yourself</a>. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Return to Daimyo Haochi after you have finished with your trial.<br><br>
|
||||
*
|
||||
*
|
||||
* If you should die during any of your trials, visit one of the Ankh Shrines
|
||||
* and you will be resurrected. You should retrieve your belongings from your
|
||||
* body before returning to the Daimyo or you may not be able to return to your corpse.
|
||||
|
|
@ -175,7 +175,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
private bool m_CursedSoul;
|
||||
|
||||
|
|
@ -214,9 +214,9 @@ namespace Server.Engines.Quests.Samurai
|
|||
/* It is good that you rid the land of the Cursed Souls so they can
|
||||
* be at peace in death. They had been cursed for doing what they
|
||||
* thought was an honorable deed. Now they can have respect in their death.<BR><BR>
|
||||
*
|
||||
*
|
||||
* I have placed a reward in your pack. <BR><BR>
|
||||
*
|
||||
*
|
||||
* The second trial will test your courage. You only have to follow the yellow
|
||||
* path to see what awaits you.
|
||||
*/
|
||||
|
|
@ -226,9 +226,9 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* It is good that you rid the land of those dishonorable Samurai.
|
||||
* Perhaps they will learn a greater lesson in death.<BR><BR>
|
||||
*
|
||||
*
|
||||
* I have placed a reward in your pack.<BR><BR>
|
||||
*
|
||||
*
|
||||
* The second trial will test your courage. You only have to follow
|
||||
* the yellow path to see what awaits you.
|
||||
*/
|
||||
|
|
@ -277,10 +277,10 @@ namespace Server.Engines.Quests.Samurai
|
|||
/* Beyond the guards is a test of courage. You must face your fear and attack a
|
||||
* great beast. You must choose which beast to slay for there is more than
|
||||
* one beyond the courtyard doors. <BR><BR>
|
||||
*
|
||||
*
|
||||
* The imp entered the courtyard unaware of its surroundings. The dragon came
|
||||
* knowingly, hunting for the flesh of humans – A feast for the beast. <BR><BR>
|
||||
*
|
||||
* knowingly, hunting for the flesh of humans <EFBFBD> A feast for the beast. <BR><BR>
|
||||
*
|
||||
* You must rid the courtyard of these beasts but you may only choose one to
|
||||
* attack. Go and choose wisely.
|
||||
*/
|
||||
|
|
@ -308,14 +308,14 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* You faced the dragon knowing it would be your certain death.
|
||||
* That is the courage of a Samurai. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Your spirit speaks as a Samurai already. <BR><BR>
|
||||
*
|
||||
*
|
||||
* In these lands, death is not forever. The shrines can make you whole
|
||||
* again as can a helpful mage or healer. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Seek them out when you have been mortally wounded. <BR><BR>
|
||||
*
|
||||
*
|
||||
* The next trial will test your benevolence. You only have to walk the blue path.
|
||||
*/
|
||||
return 1063060;
|
||||
|
|
@ -324,16 +324,16 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* Fear remains in your eyes but you have learned that not all is
|
||||
* what it appears to be. <BR><BR>
|
||||
*
|
||||
*
|
||||
* You must have known the dragon would slay you instantly.
|
||||
* You elected the weaker opponent though the imp did not come
|
||||
* here to destroy. You have much to learn. <BR><BR>
|
||||
*
|
||||
*
|
||||
* In these lands, death is not forever. The shrines can make you whole
|
||||
* again as can a helpful mage or healer. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Seek them out when you have been mortally wounded. <BR><BR>
|
||||
*
|
||||
*
|
||||
* The next trial will test your benevolence. You only have to walk the blue path.
|
||||
*/
|
||||
return 1063059;
|
||||
|
|
@ -380,7 +380,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* A pack of wolves circle your feet. They have been injured and are in pain.
|
||||
* A quick death will end their suffering.<br><br>
|
||||
*
|
||||
*
|
||||
* Use your Honorable Execution skill or other means to finish off a wounded wolf.
|
||||
* Do so and return to Daimyo Haochi.
|
||||
*/
|
||||
|
|
@ -405,13 +405,13 @@ namespace Server.Engines.Quests.Samurai
|
|||
get
|
||||
{
|
||||
/* <I>Daimyo Haochi smiles as you walk up to him. Quietly he says:</I><BR><BR>
|
||||
*
|
||||
*
|
||||
* A Samurai understands the need to help others even as he wields a blade against
|
||||
* them. <BR><BR>
|
||||
*
|
||||
*
|
||||
* You have shown compassion. A true Samurai is benevolent even to an enemy.
|
||||
* For this you have been rewarded. <BR><BR>
|
||||
*
|
||||
*
|
||||
* And now you must prove yourself again. Walk the red path.
|
||||
* We will talk again later.
|
||||
*/
|
||||
|
|
@ -437,17 +437,17 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* <I>You approach a disheveled gypsy standing near a small shed.
|
||||
* You sense that she has not eaten nor bathed in quite some time. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Around her is a large colony of mangy and diseased cats. It appears
|
||||
* she has spent what little money she’s earned to feed the cats instead
|
||||
* she has spent what little money she<EFBFBD>s earned to feed the cats instead
|
||||
* of herself. <BR><BR>
|
||||
*
|
||||
*
|
||||
* You have a decision to make. You can give her gold so she can buy some
|
||||
* food for her animals and herself. You can also remove the necessity
|
||||
* of the extra mouths to feed so she may concentrate on saving herself.</i><br><br>
|
||||
*
|
||||
*
|
||||
* If you elect to give the gypsy money, you can do so by clicking your stack
|
||||
* of gold and selecting ‘1’. Then dragging it and dropping it on the Gypsy.
|
||||
* of gold and selecting <EFBFBD>1<EFBFBD>. Then dragging it and dropping it on the Gypsy.
|
||||
*/
|
||||
return 1063067;
|
||||
}
|
||||
|
|
@ -475,7 +475,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
* By denying the gypsy her animals, you negate the respect she is due.
|
||||
* Perhaps you will have learned something to use next time a similar
|
||||
* situation arises. <BR><BR>
|
||||
*
|
||||
*
|
||||
* And now you must prove yourself again. Please retrieve my katana
|
||||
* from the treasure room and return it to me.
|
||||
*/
|
||||
|
|
@ -485,15 +485,15 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* You showed respect by helping another out while allowing the gypsy
|
||||
* what little dignity she has left. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Now she will be able to feed herself and gain enough energy to walk
|
||||
* to her camp. <BR><BR>
|
||||
*
|
||||
* The cats are her family members– cursed by an evil mage. <BR><BR>
|
||||
*
|
||||
*
|
||||
* The cats are her family members<EFBFBD> cursed by an evil mage. <BR><BR>
|
||||
*
|
||||
* Once she has enough strength to walk back to the camp, she will be
|
||||
* able to undo the spell. <BR><BR>
|
||||
*
|
||||
*
|
||||
* You have been rewarded for completing your trial. And now you must
|
||||
* prove yourself again. <BR><BR>Please retrieve my katana from the
|
||||
* treasure room and return it to me.
|
||||
|
|
@ -544,7 +544,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
* you walk into the Daimyo's treasure cache. A vast fortune in gold,
|
||||
* gemstones, and jewelry is stored here! Surely, the Daimyo wouldn't
|
||||
* miss a single small item...<br><br>
|
||||
*
|
||||
*
|
||||
* You spot the sword quickly amongst the cache of gemstones and other valuables.
|
||||
* In one quick motion you retrieve it and stash it in your pack.</i>
|
||||
*/
|
||||
|
|
@ -573,7 +573,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
}
|
||||
}
|
||||
|
||||
public override bool Logged{ get{ return false; } }
|
||||
public override bool Logged => false;
|
||||
|
||||
public LostSwordConversation()
|
||||
{
|
||||
|
|
@ -590,12 +590,12 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* I thank you for returning this sword. However, you should admonished
|
||||
* for also taking treasure that was not asked for nor given back. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Think about your actions youngling. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Your training is nearly complete. Before you have your final trial,
|
||||
* you should pay homage to Samurai who came before you. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Go into the Altar Room and light a candle for them.
|
||||
* Afterwards, return to me.
|
||||
*/
|
||||
|
|
@ -605,10 +605,10 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* Thank you for returning this sword to me and leaving the remaining
|
||||
* treasure alone. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Your training is nearly complete. Before you have your final trial,
|
||||
* you should pay homage to Samurai who came before you. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Go into the Altar Room and light a candle for them. Afterwards, return to me.
|
||||
*/
|
||||
return 1063076;
|
||||
|
|
@ -654,12 +654,12 @@ namespace Server.Engines.Quests.Samurai
|
|||
get
|
||||
{
|
||||
/* You have done well young Samurai. There is but one thing left to do. <BR><BR>
|
||||
*
|
||||
*
|
||||
* In the final room is the holding cell containing young Ninjas who came to
|
||||
* take my life. They were caught and placed in my custody. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Take care of these miscreants and show them where your loyalty lies. <BR><BR>
|
||||
*
|
||||
*
|
||||
* This is your final act as a Samurai in training.
|
||||
*/
|
||||
return 1063079;
|
||||
|
|
@ -684,16 +684,16 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* You have proven yourself young one. You will continue to improve as your skills
|
||||
* are honed with age. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Now it is time for you to explore the lands. Beyond this path lies Zento
|
||||
* City, your future home. On these grounds you will find a golden oval object
|
||||
* known as a Moongate, step through it and you'll find yourself in Zento.<BR><BR>
|
||||
*
|
||||
*
|
||||
* You may want to visit Ansella Gryen when you arrive. <BR><BR>
|
||||
*
|
||||
*
|
||||
* You have learned the ways. You are an honorable warrior, a Samurai in
|
||||
* the highest regards. <BR><BR>
|
||||
*
|
||||
*
|
||||
* Please accept the gifts I have placed in your pack. You have earned them.
|
||||
* Farewell for now.
|
||||
*/
|
||||
|
|
@ -710,4 +710,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
System.Complete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,14 +64,14 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
/* <i>As you enter the courtyard you notice a faded sign.
|
||||
* It reads: </i><br><br>
|
||||
*
|
||||
*
|
||||
* Welcome to your new home, Samurai.<br><br>
|
||||
*
|
||||
*
|
||||
* Though your skills are only a shadow of what they can be some day,
|
||||
* you must prove your adherence to the code of the Bushido.<br><br>
|
||||
*
|
||||
*
|
||||
* Seek Daimyo Haochi for guidance.<br><br>
|
||||
*
|
||||
*
|
||||
* <i>Will you accept the challenge?</i>
|
||||
*/
|
||||
return 1063023;
|
||||
|
|
@ -79,7 +79,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
}
|
||||
|
||||
public override TimeSpan RestartDelay{ get{ return TimeSpan.MaxValue; } }
|
||||
public override bool IsTutorial{ get{ return true; } }
|
||||
public override bool IsTutorial => true;
|
||||
|
||||
public override int Picture{ get{ return 0x15D7; } }
|
||||
|
||||
|
|
@ -148,4 +148,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,11 +6,12 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
public class HaochisKatanaGenerator : Item
|
||||
{
|
||||
public override string DefaultName => "Haochi's katana generator";
|
||||
|
||||
[Constructible]
|
||||
public HaochisKatanaGenerator() : base( 0x1B7B )
|
||||
{
|
||||
Visible = false;
|
||||
Name = "Haochi's katana generator";
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
|
|
@ -77,4 +78,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
}
|
||||
|
||||
public override bool IsDecoContainer{ get{ return false; } }
|
||||
public override bool IsDecoContainer => false;
|
||||
|
||||
private void GenerateTreasure()
|
||||
{
|
||||
|
|
@ -102,4 +102,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
Timer.DelayCall( TimeSpan.Zero, new TimerCallback( GenerateTreasure ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,10 +7,11 @@ namespace Server.Engines.Quests.Samurai
|
|||
[CorpseName( "a cursed soul corpse" )]
|
||||
public class CursedSoul : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a cursed soul";
|
||||
|
||||
[Constructible]
|
||||
public CursedSoul() : base( AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a cursed soul";
|
||||
Body = 3;
|
||||
BaseSoundID = 471;
|
||||
|
||||
|
|
@ -67,4 +68,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,10 +5,11 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
public class DeadlyImp : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a deadly imp";
|
||||
|
||||
[Constructible]
|
||||
public DeadlyImp() : base( AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a deadly imp";
|
||||
Body = 74;
|
||||
BaseSoundID = 422;
|
||||
Hue = 0x66A;
|
||||
|
|
@ -77,4 +78,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,10 +5,11 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
public class DiseasedCat : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a diseased cat";
|
||||
|
||||
[Constructible]
|
||||
public DiseasedCat() : base( AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a diseased cat";
|
||||
Body = 0xC9;
|
||||
Hue = Utility.RandomAnimalHue();
|
||||
BaseSoundID = 0x69;
|
||||
|
|
@ -33,7 +34,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
VirtualArmor = 8;
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
public override bool AlwaysMurderer => true;
|
||||
|
||||
public DiseasedCat( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
@ -51,9 +52,6 @@ namespace Server.Engines.Quests.Samurai
|
|||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
if( Name == "a deseased cat" )
|
||||
Name = "a diseased cat";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,10 +5,11 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
public class FierceDragon : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a fierce dragon";
|
||||
|
||||
[Constructible]
|
||||
public FierceDragon() : base( AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a fierce dragon";
|
||||
Body = 103;
|
||||
BaseSoundID = 362;
|
||||
|
||||
|
|
@ -99,4 +100,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
public class Haochi : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Daimyo Haochi";
|
||||
|
||||
[Constructible]
|
||||
public Haochi() : base( "the Honorable Samurai Legend" )
|
||||
{
|
||||
|
|
@ -21,7 +23,6 @@ namespace Server.Engines.Quests.Samurai
|
|||
|
||||
Female = false;
|
||||
Body = 0x190;
|
||||
Name = "Daimyo Haochi";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -179,4 +180,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,11 +6,12 @@ namespace Server.Engines.Quests.Samurai
|
|||
[CorpseName( "an injured wolf corpse" )]
|
||||
public class InjuredWolf : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "an injured wolf";
|
||||
|
||||
[Constructible]
|
||||
public InjuredWolf() : base( AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Body = 0xE1;
|
||||
Name = "an injured wolf";
|
||||
BaseSoundID = 0xE5;
|
||||
|
||||
Hue = Utility.RandomAnimalHue();
|
||||
|
|
@ -56,4 +57,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Samurai
|
|||
{
|
||||
public class Relnia : BaseQuester
|
||||
{
|
||||
public override string DefaultName => "Disheveled Relnia";
|
||||
|
||||
[Constructible]
|
||||
public Relnia() : base( "the Gypsy" )
|
||||
{
|
||||
|
|
@ -21,7 +23,6 @@ namespace Server.Engines.Quests.Samurai
|
|||
|
||||
Female = true;
|
||||
Body = 0x191;
|
||||
Name = "Disheveled Relnia";
|
||||
}
|
||||
|
||||
public override void InitOutfit()
|
||||
|
|
@ -93,4 +94,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Samurai
|
|||
[CorpseName( "a young ninja's corpse" )]
|
||||
public class YoungNinja : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a young ninja";
|
||||
|
||||
[Constructible]
|
||||
public YoungNinja() : base( AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
|
|
@ -16,7 +18,6 @@ namespace Server.Engines.Quests.Samurai
|
|||
|
||||
Hue = Utility.RandomSkinHue();
|
||||
Body = 0x190;
|
||||
Name = "a young ninja";
|
||||
|
||||
Utility.AssignRandomHair( this );
|
||||
Utility.AssignRandomFacialHair( this );
|
||||
|
|
@ -39,7 +40,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
SetSkill( SkillName.Tactics, 50.0 );
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
public override bool AlwaysMurderer => true;
|
||||
|
||||
public YoungNinja( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
@ -59,4 +60,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ namespace Server.Engines.Quests.Samurai
|
|||
[CorpseName( "a young ronin's corpse" )]
|
||||
public class YoungRonin : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a young ronin";
|
||||
|
||||
[Constructible]
|
||||
public YoungRonin() : base( AIType.AI_Melee, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
|
|
@ -16,7 +18,6 @@ namespace Server.Engines.Quests.Samurai
|
|||
|
||||
Hue = Utility.RandomSkinHue();
|
||||
Body = 0x190;
|
||||
Name = "a young ronin";
|
||||
|
||||
Utility.AssignRandomHair( this );
|
||||
Utility.AssignRandomFacialHair( this );
|
||||
|
|
@ -45,7 +46,7 @@ namespace Server.Engines.Quests.Samurai
|
|||
SetSkill( SkillName.Tactics, 50.0 );
|
||||
}
|
||||
|
||||
public override bool AlwaysMurderer{ get{ return true; } }
|
||||
public override bool AlwaysMurderer => true;
|
||||
|
||||
public YoungRonin( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
@ -65,4 +66,4 @@ namespace Server.Engines.Quests.Samurai
|
|||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
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