356 lines
10 KiB
C#
356 lines
10 KiB
C#
using System;
|
|
using Server.Items;
|
|
|
|
namespace Server.Engines.Quests
|
|
{
|
|
public class WarriorsOfTheGemkeeperQuest : BaseQuest
|
|
{
|
|
public WarriorsOfTheGemkeeperQuest()
|
|
: base()
|
|
{
|
|
this.AddObjective(new ObtainObjective(typeof(MapFragment), "fragment of a map", 1));
|
|
|
|
this.AddReward(new BaseReward(1074876)); // Knowledge of the legendary minotaur.
|
|
}
|
|
|
|
public override QuestChain ChainID
|
|
{
|
|
get
|
|
{
|
|
return QuestChain.GemkeeperWarriors;
|
|
}
|
|
}
|
|
public override Type NextQuest
|
|
{
|
|
get
|
|
{
|
|
return typeof(CloseEnoughQuest);
|
|
}
|
|
}
|
|
/* Warriors of the Gemkeeper */
|
|
public override object Title
|
|
{
|
|
get
|
|
{
|
|
return 1074536;
|
|
}
|
|
}
|
|
/* Here we honor the Gemkeeper's Apprentice and seek to aid her efforts against the humans responsible
|
|
for the death of her teacher - and the destruction of the elven way of life. Our tales speak of a fierce
|
|
race of servants of the Gemkeeper, the men-bulls whose battle-skill was renowned. It is desireable to
|
|
discover the fate of these noble creatures after the Rupture. Will you seek information? */
|
|
public override object Description
|
|
{
|
|
get
|
|
{
|
|
return 1074537;
|
|
}
|
|
}
|
|
/* Fine then, I'm shall find another to run my errands then. */
|
|
public override object Refuse
|
|
{
|
|
get
|
|
{
|
|
return 1074063;
|
|
}
|
|
}
|
|
/* I care not how you get the information. Kill as many humans as you must ... but find the fate of the
|
|
minotaurs. Perhaps another of the Gemkeeper's servants has the knowledge we seek. */
|
|
public override object Uncomplete
|
|
{
|
|
get
|
|
{
|
|
return 1074540;
|
|
}
|
|
}
|
|
/* What have you found? */
|
|
public override object Complete
|
|
{
|
|
get
|
|
{
|
|
return 1074542;
|
|
}
|
|
}
|
|
public override bool CanOffer()
|
|
{
|
|
return MondainsLegacy.Labyrinth;
|
|
}
|
|
|
|
public override void OnCompleted()
|
|
{
|
|
this.Owner.SendLocalizedMessage(1074541, null, 0x23); // You have discovered an important clue!
|
|
this.Owner.PlaySound(this.CompleteSound);
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write((int)0); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadInt();
|
|
}
|
|
}
|
|
|
|
public class CloseEnoughQuest : BaseQuest
|
|
{
|
|
public CloseEnoughQuest()
|
|
: base()
|
|
{
|
|
this.AddObjective(new DeliverObjective(typeof(MapFragment), "fragment of a map", 1, typeof(Canir), "Canir (Sanctuary)"));
|
|
|
|
this.AddReward(new BaseReward(1074876)); // Knowledge of the legendary minotaur.
|
|
}
|
|
|
|
public override QuestChain ChainID
|
|
{
|
|
get
|
|
{
|
|
return QuestChain.GemkeeperWarriors;
|
|
}
|
|
}
|
|
public override Type NextQuest
|
|
{
|
|
get
|
|
{
|
|
return typeof(TakingTheBullByTheHornsQuest);
|
|
}
|
|
}
|
|
/* Close Enough */
|
|
public override object Title
|
|
{
|
|
get
|
|
{
|
|
return 1074544;
|
|
}
|
|
}
|
|
/* Ah ha! You see here ... and over here ... The map fragment places the city of the bull-men, Labyrinth,
|
|
on that piece of Sosaria that was thrown into the sky. Hmmm, I would have you go there and seek out these
|
|
warriors to see if they might join our cause. But, legend speaks of a mighty barrier to prevent invasion
|
|
of the city. Take this map to Canir and explain the problem. Perhaps she can devise a solution. */
|
|
public override object Description
|
|
{
|
|
get
|
|
{
|
|
return 1074546;
|
|
}
|
|
}
|
|
/* Fine then, I'm shall find another to run my errands then. */
|
|
public override object Refuse
|
|
{
|
|
get
|
|
{
|
|
return 1074063;
|
|
}
|
|
}
|
|
/* Canir is nearby, run and speak with her. */
|
|
public override object Uncomplete
|
|
{
|
|
get
|
|
{
|
|
return 1074548;
|
|
}
|
|
}
|
|
/* Yes? What do you want? I'm very busy. */
|
|
public override object Complete
|
|
{
|
|
get
|
|
{
|
|
return 1074549;
|
|
}
|
|
}
|
|
public override bool CanOffer()
|
|
{
|
|
return MondainsLegacy.Labyrinth;
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write((int)0); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadInt();
|
|
}
|
|
}
|
|
|
|
public class TakingTheBullByTheHornsQuest : BaseQuest
|
|
{
|
|
public TakingTheBullByTheHornsQuest()
|
|
: base()
|
|
{
|
|
this.AddObjective(new ObtainObjective(typeof(GamanHorns), "gaman horns", 20, 0x1084));
|
|
|
|
this.AddReward(new BaseReward(1074876)); // Knowledge of the legendary minotaur.
|
|
}
|
|
|
|
public override QuestChain ChainID
|
|
{
|
|
get
|
|
{
|
|
return QuestChain.GemkeeperWarriors;
|
|
}
|
|
}
|
|
public override Type NextQuest
|
|
{
|
|
get
|
|
{
|
|
return typeof(EmissaryToTheMinotaurQuest);
|
|
}
|
|
}
|
|
/* Taking the Bull by the Horns */
|
|
public override object Title
|
|
{
|
|
get
|
|
{
|
|
return 1074551;
|
|
}
|
|
}
|
|
/* Interesting. I believe I have a way. I will need some materials to infuse you with the essence of a
|
|
bull-man, so you can fool their defenses. The most similar beast to the original Baratarian bull that the
|
|
minotaur were bred from is undoubtedly the mighty Gaman, native to the Lands of the Feudal Lords. I need
|
|
horns, in great quantity to undertake this magic. */
|
|
public override object Description
|
|
{
|
|
get
|
|
{
|
|
return 1074553;
|
|
}
|
|
}
|
|
/* Oh come now, don't be afraid. The magic won't harm you. */
|
|
public override object Refuse
|
|
{
|
|
get
|
|
{
|
|
return 1074554;
|
|
}
|
|
}
|
|
/* I cannot grant you the ability to pass through the bull-men's defenses without the gaman horns. */
|
|
public override object Uncomplete
|
|
{
|
|
get
|
|
{
|
|
return 1074555;
|
|
}
|
|
}
|
|
/* You've returned at last! Give me just a moment to examine what you've brought and I can perform the
|
|
magic that will allow you enter the Labyrinth. */
|
|
public override object Complete
|
|
{
|
|
get
|
|
{
|
|
return 1074556;
|
|
}
|
|
}
|
|
public override bool CanOffer()
|
|
{
|
|
return MondainsLegacy.Labyrinth;
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write((int)0); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadInt();
|
|
}
|
|
}
|
|
|
|
public class EmissaryToTheMinotaurQuest : BaseQuest
|
|
{
|
|
public EmissaryToTheMinotaurQuest()
|
|
: base()
|
|
{
|
|
this.AddObjective(new ObtainObjective(typeof(MinotaurArtifact), "minotaur artifacts", 3));
|
|
|
|
this.AddReward(new BaseReward(typeof(RewardBox), 1072584)); // A strongbox.
|
|
}
|
|
|
|
public override QuestChain ChainID
|
|
{
|
|
get
|
|
{
|
|
return QuestChain.GemkeeperWarriors;
|
|
}
|
|
}
|
|
/* Emissary to the Minotaur */
|
|
public override object Title
|
|
{
|
|
get
|
|
{
|
|
return 1074824;
|
|
}
|
|
}
|
|
/* *whew* It is done! The fierce essence of the bull has been infused into your aura. You are able
|
|
now to breach the ancient defenses of the city. Go forth and seek the minotaur -- and then return
|
|
with wonderous tales and evidence of your visit to the Labyrinth. */
|
|
public override object Description
|
|
{
|
|
get
|
|
{
|
|
return 1074825;
|
|
}
|
|
}
|
|
/* As you wish. I can't understand why you'd pass up such a remarkable opportunity. Think of the
|
|
adventures you would have. */
|
|
public override object Refuse
|
|
{
|
|
get
|
|
{
|
|
return 1074827;
|
|
}
|
|
}
|
|
/* You won't reach the minotaur city by loitering around here! What are you waiting for? You need to
|
|
get to Malas and find the access point for the island. You'll be renowned for your discovery! */
|
|
public override object Uncomplete
|
|
{
|
|
get
|
|
{
|
|
return 1074828;
|
|
}
|
|
}
|
|
/* Oh! You've returned at last! I can't wait to hear the tales ... but first, let me see those artifacts.
|
|
You've certainly earned this reward. */
|
|
public override object Complete
|
|
{
|
|
get
|
|
{
|
|
return 1074829;
|
|
}
|
|
}
|
|
public override bool CanOffer()
|
|
{
|
|
return MondainsLegacy.Labyrinth;
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write((int)0); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadInt();
|
|
}
|
|
}
|
|
} |