servuo/Scripts/Quests/SummonFey.cs
2020-04-16 18:41:32 -07:00

148 lines
No EOL
5.3 KiB
C#

using Server.Items;
using Server.Mobiles;
using System;
namespace Server.Engines.Quests
{
public class FirendOfTheFeyQuest : BaseQuest
{
public FirendOfTheFeyQuest()
: base()
{
AddObjective(new ObtainObjective(typeof(Beads), "beads", 1, 0x108B));
AddObjective(new ObtainObjective(typeof(JarHoney), "jar of honey", 1, 0x9EC));
AddReward(new BaseReward(1074874)); // The opportunity to prove yourself worthy of learning to Summon Fey. (Sufficient spellweaving skill is required to cast the spell)
}
public override QuestChain ChainID => QuestChain.SummonFey;
public override Type NextQuest => typeof(TokenOfFriendshipQuest);
/* Friend of the Fey */
public override object Title => 1074284;
/* The children of Sosaria understand the dedication and committment of an
arcanist -- and will, from time to time offer their friendship. If you would
forge such a bond, first seek out a goodwill offering to present. Pixies
enjoy sweets and pretty things. */
public override object Description => 1074286;
/* There's always time to make new friends. */
public override object Refuse => 1074288;
/* I think honey and some sparkly beads would please a pixie. */
public override object Uncomplete => 1074290;
/* What have we here? Oh yes, gifts for a pixie. */
public override object Complete => 1074292;
public override bool CanOffer()
{
return MondainsLegacy.Spellweaving;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
public class TokenOfFriendshipQuest : BaseQuest
{
public TokenOfFriendshipQuest()
: base()
{
AddObjective(new DeliverObjective(typeof(GiftForArielle), "gift for Arielle", 1, typeof(Arielle), "Arielle"));
AddReward(new BaseReward(1074874)); // The opportunity to prove yourself worthy of learning to Summon Fey. (Sufficient spellweaving skill is required to cast the spell)
}
public override QuestChain ChainID => QuestChain.SummonFey;
public override Type NextQuest => typeof(AllianceQuest);
/* Token of Friendship */
public override object Title => 1074293;
/* I've wrapped your gift suitably to present to a pixie of discriminating
taste. Seek out Arielle and give her your offering. */
public override object Description => 1074297;
/* I'll hold onto this gift in case you change your mind. */
public override object Refuse => 1074310;
/* Arielle wanders quite a bit, so I'm not sure exactly where to find her.
I'm sure she's going to love your gift. */
public override object Uncomplete => 1074315;
/* *giggle* Oooh! For me? */
public override object Complete => 1074319;
public override bool CanOffer()
{
return MondainsLegacy.Spellweaving;
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
public class AllianceQuest : BaseQuest
{
public AllianceQuest()
: base()
{
AddObjective(new SlayObjective(typeof(Reaper), "reapers", 20));
AddReward(new BaseReward(typeof(SummonFeyScroll), 1071032)); // Summon Fey
}
public override QuestChain ChainID => QuestChain.SummonFey;
/* Alliance */
public override object Title => 1074294;
/* *giggle* Mean reapers make pixies unhappy. *light-hearted giggle* You
could fix them! */
public override object Description => 1074298;
/* *giggle* Okies! */
public override object Refuse => 1074311;
/* Mean reapers are all around trees! *giggle* You fix them up, please. */
public override object Uncomplete => 1074316;
/* *giggle* Mean reapers got fixed! Pixie friend now! *giggle* When mean
thingies bother you, a brave pixie will help. */
public override object Complete => 1074320;
public override bool CanOffer()
{
return MondainsLegacy.Spellweaving;
}
public override void GiveRewards()
{
/* *giggle* Mean reapers got fixed! Pixie friend now! *giggle* When mean thingies
bother you, a brave pixie will help. */
Owner.SendLocalizedMessage(1074320, null, 0x2A);
base.GiveRewards();
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}