408 lines
11 KiB
C#
408 lines
11 KiB
C#
using System;
|
|
using Server.Items;
|
|
|
|
namespace Server.Engines.Quests
|
|
{
|
|
public class BrokenShaftQuest : BaseQuest
|
|
{
|
|
public BrokenShaftQuest()
|
|
: base()
|
|
{
|
|
this.AddObjective(new ObtainObjective(typeof(Arrow), "arrows", 10, 0xF3F));
|
|
|
|
this.AddReward(new BaseReward(typeof(FletcherCraftsmanSatchel), 1074282));
|
|
}
|
|
|
|
/* Broken Shaft */
|
|
public override object Title
|
|
{
|
|
get
|
|
{
|
|
return 1074018;
|
|
}
|
|
}
|
|
/* What do humans know of archery? Humans can barely shoot straight. Why, your efforts are
|
|
absurd. In fact, I will make a wager - if these so called human arrows I've heard about are
|
|
really as effective and innovative as human braggarts would have me believe, then I'll trade
|
|
you something useful. I might even teach you something of elven craftsmanship. */
|
|
public override object Description
|
|
{
|
|
get
|
|
{
|
|
return 1074112;
|
|
}
|
|
}
|
|
/* Fine then, I'm shall find another to run my errands then. */
|
|
public override object Refuse
|
|
{
|
|
get
|
|
{
|
|
return 1074063;
|
|
}
|
|
}
|
|
/* Hurry up! I don't have all day to wait for you to bring what I desire! */
|
|
public override object Uncomplete
|
|
{
|
|
get
|
|
{
|
|
return 1074064;
|
|
}
|
|
}
|
|
/* These human made goods are laughable! It offends so -- I must show you what elven skill is capable of! */
|
|
public override object Complete
|
|
{
|
|
get
|
|
{
|
|
return 1074065;
|
|
}
|
|
}
|
|
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 BendingTheBowQuest : BaseQuest
|
|
{
|
|
public BendingTheBowQuest()
|
|
: base()
|
|
{
|
|
this.AddObjective(new ObtainObjective(typeof(Bow), "bows", 10, 0x13B2));
|
|
|
|
this.AddReward(new BaseReward(typeof(FletcherCraftsmanSatchel), 1074282));
|
|
}
|
|
|
|
/* Bending the Bow */
|
|
public override object Title
|
|
{
|
|
get
|
|
{
|
|
return 1074019;
|
|
}
|
|
}
|
|
/* Human craftsmanship! Ha! Why, take an elven bow. It will last for a lifetime, never break and
|
|
always shoot an arrow straight and true. Can't say the same for a human, can you? Bring me some
|
|
of these human made bows, and I will show you. */
|
|
public override object Description
|
|
{
|
|
get
|
|
{
|
|
return 1074113;
|
|
}
|
|
}
|
|
/* Fine then, I'm shall find another to run my errands then. */
|
|
public override object Refuse
|
|
{
|
|
get
|
|
{
|
|
return 1074063;
|
|
}
|
|
}
|
|
/* Hurry up! I don't have all day to wait for you to bring what I desire! */
|
|
public override object Uncomplete
|
|
{
|
|
get
|
|
{
|
|
return 1074064;
|
|
}
|
|
}
|
|
/* These human made goods are laughable! It offends so -- I must show you what elven skill is capable of! */
|
|
public override object Complete
|
|
{
|
|
get
|
|
{
|
|
return 1074065;
|
|
}
|
|
}
|
|
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 ArmsRaceQuest : BaseQuest
|
|
{
|
|
public ArmsRaceQuest()
|
|
: base()
|
|
{
|
|
this.AddObjective(new ObtainObjective(typeof(Crossbow), "crossbows", 10, 0xF50));
|
|
|
|
this.AddReward(new BaseReward(typeof(FletcherCraftsmanSatchel), 1074282));
|
|
}
|
|
|
|
/* Arms Race */
|
|
public override object Title
|
|
{
|
|
get
|
|
{
|
|
return 1074020;
|
|
}
|
|
}
|
|
/* Leave it to a human to try and improve upon perfection. To take a bow and turn it into a mechanical
|
|
contraption like a crossbow. I wish to see more of this sort of "invention". Fetch for me a crossbow,
|
|
human. */
|
|
public override object Description
|
|
{
|
|
get
|
|
{
|
|
return 1074114;
|
|
}
|
|
}
|
|
/* Fine then, I'm shall find another to run my errands then. */
|
|
public override object Refuse
|
|
{
|
|
get
|
|
{
|
|
return 1074063;
|
|
}
|
|
}
|
|
/* Hurry up! I don't have all day to wait for you to bring what I desire! */
|
|
public override object Uncomplete
|
|
{
|
|
get
|
|
{
|
|
return 1074064;
|
|
}
|
|
}
|
|
/* These human made goods are laughable! It offends so -- I must show you what elven skill is capable of! */
|
|
public override object Complete
|
|
{
|
|
get
|
|
{
|
|
return 1074065;
|
|
}
|
|
}
|
|
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 ImprovedCrossbowsQuest : BaseQuest
|
|
{
|
|
public ImprovedCrossbowsQuest()
|
|
: base()
|
|
{
|
|
this.AddObjective(new ObtainObjective(typeof(HeavyCrossbow), "heavy crossbows", 10, 0x13FD));
|
|
|
|
this.AddReward(new BaseReward(typeof(FletcherCraftsmanSatchel), 1074282));
|
|
}
|
|
|
|
/* Improved Crossbows */
|
|
public override object Title
|
|
{
|
|
get
|
|
{
|
|
return 1074021;
|
|
}
|
|
}
|
|
/* How lazy is man! You cannot even be bothered to pull your own drawstring and hold an arrow ready? You
|
|
must invent a device to do it for you? I cannot understand, but perhaps if I examine a heavy crossbow for
|
|
myself, I will see their appeal. Go and bring me such a device and I will repay your meager favor. */
|
|
public override object Description
|
|
{
|
|
get
|
|
{
|
|
return 1074115;
|
|
}
|
|
}
|
|
/* Fine then, I'm shall find another to run my errands then. */
|
|
public override object Refuse
|
|
{
|
|
get
|
|
{
|
|
return 1074063;
|
|
}
|
|
}
|
|
/* Hurry up! I don't have all day to wait for you to bring what I desire! */
|
|
public override object Uncomplete
|
|
{
|
|
get
|
|
{
|
|
return 1074064;
|
|
}
|
|
}
|
|
/* These human made goods are laughable! It offends so -- I must show you what elven skill is capable of! */
|
|
public override object Complete
|
|
{
|
|
get
|
|
{
|
|
return 1074065;
|
|
}
|
|
}
|
|
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 BuildingTheBetterCrossbowQuest : BaseQuest
|
|
{
|
|
public BuildingTheBetterCrossbowQuest()
|
|
: base()
|
|
{
|
|
this.AddObjective(new ObtainObjective(typeof(RepeatingCrossbow), "repeating crossbow", 10, 0x26C3));
|
|
|
|
this.AddReward(new BaseReward(typeof(FletcherCraftsmanSatchel), 1074282));
|
|
}
|
|
|
|
/* Building the Better Crossbow */
|
|
public override object Title
|
|
{
|
|
get
|
|
{
|
|
return 1074022;
|
|
}
|
|
}
|
|
/* More is always better for a human, eh? Take these repeating crossbows. What sort of mind invents such a thing?
|
|
I must look at it more closely. Bring such a contraption to me and you'll receive a token for your efforts. */
|
|
public override object Description
|
|
{
|
|
get
|
|
{
|
|
return 1074116;
|
|
}
|
|
}
|
|
/* Fine then, I'm shall find another to run my errands then. */
|
|
public override object Refuse
|
|
{
|
|
get
|
|
{
|
|
return 1074063;
|
|
}
|
|
}
|
|
/* Hurry up! I don't have all day to wait for you to bring what I desire! */
|
|
public override object Uncomplete
|
|
{
|
|
get
|
|
{
|
|
return 1074064;
|
|
}
|
|
}
|
|
/* These human made goods are laughable! It offends so -- I must show you what elven skill is capable of! */
|
|
public override object Complete
|
|
{
|
|
get
|
|
{
|
|
return 1074065;
|
|
}
|
|
}
|
|
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 Beotham : MondainQuester
|
|
{
|
|
[Constructable]
|
|
public Beotham()
|
|
: base("Beotham", "the bowcrafter")
|
|
{
|
|
}
|
|
|
|
public Beotham(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override Type[] Quests
|
|
{
|
|
get
|
|
{
|
|
return new Type[]
|
|
{
|
|
typeof(BrokenShaftQuest),
|
|
typeof(BendingTheBowQuest),
|
|
typeof(ArmsRaceQuest),
|
|
typeof(ImprovedCrossbowsQuest),
|
|
typeof(BuildingTheBetterCrossbowQuest)
|
|
};
|
|
}
|
|
}
|
|
public override void InitBody()
|
|
{
|
|
this.InitStats(100, 100, 25);
|
|
|
|
this.Female = false;
|
|
this.CantWalk = true;
|
|
this.Race = Race.Elf;
|
|
|
|
this.Hue = 0x876C;
|
|
this.HairItemID = 0x2FC0;
|
|
this.HairHue = 0x238;
|
|
}
|
|
|
|
public override void InitOutfit()
|
|
{
|
|
this.AddItem(new Sandals(0x901));
|
|
this.AddItem(new LongPants(0x52C));
|
|
this.AddItem(new FancyShirt(0x546));
|
|
|
|
Item item;
|
|
|
|
item = new LeafGloves();
|
|
item.Hue = 0x901;
|
|
this.AddItem(item);
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
} |