- Enabled quests that were locked due to issues.

- Added a CompletionNotice setting to MLQuest to replace the OnComplete overrides.
- MLQuest.CanOffer now recursively checks NextQuest for OneTimeOnly/HasRestartDelay as well.
- Implemented quest restart delays and enabled them on the crafting quests.
- Questers offering multiple quests will no longer randomly offer quests for which CanOffer is false, as long as there are other quests for which CanOffer is true.
- Added a manual Register method to MLQuestSystem for registering quests without using MLQuests.cfg (to be used in Configure).
- Misc quest tweaks.
- Corrected typo in cove.cfg deco file.
This commit is contained in:
eos 2013-02-08 16:54:36 +00:00
parent 741e8a3301
commit 3b94a24a9a
24 changed files with 320 additions and 409 deletions

View file

@ -24,34 +24,13 @@ namespace Server.Engines.MLQuests.Definitions
RefusalMessage = 1075324; // Oh! Alright then. I hope someone comes along soon who can help me, or I dont know what will become of us.
InProgressMessage = 1075325; // My father - or what remains of him - can be found in the graveyard northwest of the city.
CompletionMessage = 1075326; // What is this you give me? A basin of water?
CompletionNotice = CompletionNoticeShort;
Objectives.Add( new DeliverObjective( typeof( BasinOfCrystalClearWater ), 1, 1075303, typeof( SkeletonOfSzandor ), "Szandor" ) );
Rewards.Add( new DummyReward( 1075323 ) ); // Aurelia's gratitude.
}
public override bool CanOffer( BaseCreature quester, PlayerMobile pm )
{
if ( !base.CanOffer( quester, pm ) )
return false;
MLQuestContext context = MLQuestSystem.GetContext( pm );
// This quest can be repeated, but only while the next quest has not been completed.
if ( context != null && context.HasDoneQuest( NextQuest ) )
{
MLQuestSystem.Tell( quester, pm, 1075454 ); // I cannot offer you the quest again.
return false;
}
return true;
}
public override void OnComplete( MLQuestInstance instance )
{
instance.Player.SendLocalizedMessage( 1046258, "", 0x23 ); // Your quest is complete.
}
public override void Generate()
{
base.Generate();
@ -74,17 +53,13 @@ namespace Server.Engines.MLQuests.Definitions
RefusalMessage = 1075330; // You wont take this back to my daughter? Please, I cannot leave until she knows I am at peace.
InProgressMessage = 1075331; // My daughter will be at my home, on the east side of the city.
CompletionMessage = 1075332; // Thank goodness! Now we can honor my father for the great man he was while he lived, rather than the horror he became.
CompletionNotice = CompletionNoticeShort;
Objectives.Add( new DeliverObjective( typeof( BasinOfCrystalClearWater ), 1, 1075303, typeof( Aurelia ), "Aurelia" ) );
Rewards.Add( new ItemReward( 1075304, typeof( MirrorOfPurification ) ) );
}
public override void OnComplete( MLQuestInstance instance )
{
instance.Player.SendLocalizedMessage( 1046258, "", 0x23 ); // Your quest is complete.
}
public override void Generate()
{
base.Generate();