- Modified the quest system to allow non-BaseCreature quest givers, now requires IQuestGiver.
- Added base quest giver items, both timed and untimed. - Added BatteredBucket and Lost and Found quest. - Moved quester 'friendly names' to a class attribute. If left unspecified, the type name is used. - Misc quest corrections. - The bag of sending will now reject nontransferable items. - Fixed quest items generating error messages when StackWith was attempted on them. (StackWith is not supposed to produce feedback.) - Quest items can now be dropped onto the player's backpack.
This commit is contained in:
parent
0fcd5821a5
commit
71a9e054de
36 changed files with 627 additions and 258 deletions
|
|
@ -1110,7 +1110,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
InProgressMessage = 1073948; // I will be in your debt if you bring me kilts.
|
||||
CompletionMessage = 1073974; // I say truly - that is a magnificent garment! You have more than earned a reward.
|
||||
|
||||
Objectives.Add( new CollectObjective( 10, typeof( Kilt ), 1015281 ) ); // kilt
|
||||
Objectives.Add( new CollectObjective( 10, typeof( Kilt ), 1025431 ) ); // kilt
|
||||
|
||||
Rewards.Add( ItemReward.TailorSatchel );
|
||||
}
|
||||
|
|
@ -1128,7 +1128,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
InProgressMessage = 1073949; // I will be in your debt if you bring me fancy shirts.
|
||||
CompletionMessage = 1073973; // I appreciate your service. Now, see what elven hands can create.
|
||||
|
||||
Objectives.Add( new CollectObjective( 10, typeof( FancyShirt ), 1015272 ) ); // fancy shirt
|
||||
Objectives.Add( new CollectObjective( 10, typeof( FancyShirt ), 1027933 ) ); // fancy shirt
|
||||
|
||||
Rewards.Add( ItemReward.TailorSatchel );
|
||||
}
|
||||
|
|
@ -1146,7 +1146,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
InProgressMessage = 1073951; // I will be in your debt if you bring me studded bustiers.
|
||||
CompletionMessage = 1073976; // Truly, it is worse than I feared. Still, I appreciate your efforts on my behalf.
|
||||
|
||||
Objectives.Add( new CollectObjective( 10, typeof( FemaleStuddedChest ), 1015310 ) ); // studded bustier
|
||||
Objectives.Add( new CollectObjective( 10, typeof( FemaleStuddedChest ), 1027180 ) ); // studded bustier
|
||||
|
||||
Rewards.Add( ItemReward.TailorSatchel );
|
||||
}
|
||||
|
|
@ -1236,7 +1236,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
InProgressMessage = 1073952; // I will be in your debt if you bring me tinker's tools.
|
||||
CompletionMessage = 1073977; // Now, I shall see what an elf can invent!
|
||||
|
||||
Objectives.Add( new CollectObjective( 10, typeof( TinkerTools ), 1011218 ) ); // tinker's tools
|
||||
Objectives.Add( new CollectObjective( 10, typeof( TinkerTools ), 1027868 ) ); // tinker's tools
|
||||
|
||||
Rewards.Add( ItemReward.TinkerSatchel );
|
||||
}
|
||||
|
|
@ -1438,7 +1438,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
InProgressMessage = 1073959; // I will be in your debt if you bring me broadswords.
|
||||
CompletionMessage = 1073978; // Enjoy my thanks for your service.
|
||||
|
||||
Objectives.Add( new CollectObjective( 12, typeof( Broadsword ), 1015055 ) ); // broadsword
|
||||
Objectives.Add( new CollectObjective( 12, typeof( Broadsword ), 1023934 ) ); // broadsword
|
||||
|
||||
Rewards.Add( ItemReward.BlacksmithSatchel );
|
||||
}
|
||||
|
|
@ -1474,7 +1474,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
InProgressMessage = 1073957; // I will be in your debt if you bring me bascinets.
|
||||
CompletionMessage = 1073978; // Enjoy my thanks for your service.
|
||||
|
||||
Objectives.Add( new CollectObjective( 15, typeof( Bascinet ), 1015040 ) ); // bascinet
|
||||
Objectives.Add( new CollectObjective( 15, typeof( Bascinet ), 1025132 ) ); // bascinet
|
||||
|
||||
Rewards.Add( ItemReward.BlacksmithSatchel );
|
||||
}
|
||||
|
|
@ -1821,6 +1821,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
|
||||
#region Mobiles
|
||||
|
||||
[QuesterName( "Saril (The Heartwood)" )]
|
||||
public class Saril : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -1881,6 +1882,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Cailla (The Heartwood)" )]
|
||||
public class Cailla : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -1942,6 +1944,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Tamm (The Heartwood)" )]
|
||||
public class Tamm : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2001,6 +2004,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Landy (The Heartwood)" )]
|
||||
public class Landy : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2061,6 +2065,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Elder Alejaha (The Heartwood)" )]
|
||||
public class Alejaha : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2120,6 +2125,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Mielan (The Heartwood)" )]
|
||||
public class Mielan : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2177,6 +2183,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Ciala (The Heartwood)" )]
|
||||
public class Ciala : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2238,6 +2245,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Aniel (The Heartwood)" )]
|
||||
public class Aniel : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2295,6 +2303,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Aulan (The Heartwood)" )]
|
||||
public class Aulan : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2366,6 +2375,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Brinnae (The Heartwood)" )]
|
||||
public class Brinnae : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2420,6 +2430,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Elder Caelas (The Heartwood)" )]
|
||||
public class Caelas : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2477,6 +2488,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Clehin (The Heartwood)" )]
|
||||
public class Clehin : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2603,6 +2615,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Salaenih (The Heartwood)" )]
|
||||
public class Salaenih : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2680,6 +2693,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Vilo (The Heartwood)" )]
|
||||
public class Vilo : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2741,6 +2755,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Tholef (The Heartwood)" )]
|
||||
public class Tholef : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2804,6 +2819,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Tillanil (The Heartwood)" )]
|
||||
public class Tillanil : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2860,6 +2876,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Waelian (The Heartwood)" )]
|
||||
public class Waelian : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2923,6 +2940,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Sleen (The Heartwood)" )]
|
||||
public class Sleen : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -2980,6 +2998,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Unoelil (The Heartwood)" )]
|
||||
public class Unoelil : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -3036,6 +3055,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Anolly (The Heartwood)" )]
|
||||
public class Anolly : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -3084,6 +3104,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Jusae (The Heartwood)" )]
|
||||
public class Jusae : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -3150,6 +3171,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Cillitha (The Heartwood)" )]
|
||||
public class Cillitha : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -3206,6 +3228,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Lohn (The Heartwood)" )]
|
||||
public class Lohn : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -3269,6 +3292,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Olla (The Heartwood)" )]
|
||||
public class Olla : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -3328,6 +3352,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Thallary (The Heartwood)" )]
|
||||
public class Thallary : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -3386,6 +3411,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Ahie (The Heartwood)" )]
|
||||
public class Ahie : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -4195,6 +4221,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Nillaen (The Heartwood)" )]
|
||||
public class LorekeeperNillaen : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -4245,6 +4272,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Ryal (The Heartwood)" )]
|
||||
public class LorekeeperRyal : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -4303,6 +4331,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Braen (The Heartwood)" )]
|
||||
public class Braen : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
@ -4356,6 +4385,7 @@ namespace Server.Engines.MLQuests.Definitions
|
|||
}
|
||||
}
|
||||
|
||||
[QuesterName( "Elder Acob (The Heartwood)" )]
|
||||
public class ElderAcob : BaseCreature
|
||||
{
|
||||
public override bool IsInvulnerable { get { return true; } }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue