Files
abysmal-isle/Scripts/Quests/DoughtyWarriorsQuest.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

250 lines
7.8 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using Server;
using Server.Items;
using Server.Mobiles;
namespace Server.Engines.Quests
{
public class DoughtyWarriorsQuest : BaseQuest
{
public override QuestChain ChainID { get { return QuestChain.DoughtyWarriors; } }
public override Type NextQuest { get { return typeof(DoughtyWarriors2Quest); } }
public override bool DoneOnce { get { return true; } }
/* Doughty Warriors */
public override object Title { get { return 1075379; } }
/*Youngsters these days! Sorry, I didnt introduce myself. Im Kane,
* the Master of Arms for this city. This lot of trainees I got, theyre
* not worth a bucket of sour spit. You know the invasion some years back?
* Well, some of these pups werent even born then! What I need is an example,
* something that will put some steel into their spines. You seem pretty tough,
* what do you say to helping me out? */
public override object Description { get { return 1075380; } }
/* Ah. I see. Never mind then. */
public override object Refuse { get { return 1075382; } }
/* Youll find mongbats all over the place. Theyre a real pest.
* Once youve killed ten of them, come back and see me again. */
public override object Uncomplete { get { return 1075383; } }
/* Excellent! Thats the old fighting spirit. */
public override object Complete { get { return 1075384; } }
public DoughtyWarriorsQuest()
: base()
{
AddObjective(new SlayObjective(typeof(Mongbat), "Mongbats", 10));
AddReward(new BaseReward(1075381)); // Show them what a real warrior is made of!
}
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 DoughtyWarriors2Quest : BaseQuest
{
public override QuestChain ChainID { get { return QuestChain.DoughtyWarriors; } }
public override Type NextQuest { get { return typeof(DoughtyWarriors3Quest); } }
public override bool DoneOnce { get { return true; } }
/* Doughty Warriors */
public override object Title { get { return 1075404; } }
/* You did great work. Thanks to you, my puppies are training harder than ever.
* I think they could actually take a mongbat now. Im still worried theyll
* slack off, though. What say you to slaying some Imps for me now? Show them
* how its really done? */
public override object Description { get { return 1075405; } }
/* Youre pretty sad. When I was a young warrior, I wasnt one to walk away from a challenge. */
public override object Refuse { get { return 1075407; } }
/* You wont find many imps on this continent. Mostly, theyre native to Ilshenar. Might be a
* few up around the hedge maze east of Skara Brae, though. */
public override object Uncomplete { get { return 1075408; } }
/* Hah! I knew you were up to the challenge. */
public override object Complete { get { return 1075409; } }
public DoughtyWarriors2Quest()
: base()
{
AddObjective(new SlayObjective(typeof(Imp), "Imps", 10));
AddReward(new BaseReward(1075406)); // Show them what a real warrior is REALLY made of!
}
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 DoughtyWarriors3Quest : BaseQuest
{
public override QuestChain ChainID { get { return QuestChain.DoughtyWarriors; } }
public override bool DoneOnce { get { return true; } }
/* Doughty Warriors */
public override object Title { get { return 1075410; } }
/* Youve really inspired my trainees. Theyre working harder than ever. Ive got
* one more request for you, and its a big one. Those mongbats didnt pose a problem.
* You mowed down the imps with no trouble. But do you dare take on a couple of daemons? */
public override object Description { get { return 1075411; } }
/* What? Youre not scared of a couple of lousy daemons, are you? */
public override object Refuse { get { return 1075413; } }
/* Theres all kinds of daemons you can kill. There are some near the hedge maze,
* and some really powerful ones in Dungeon Doom. */
public override object Uncomplete { get { return 1075414; } }
/* Thanks for helping me out. Youre a real hero to my guards. Valor is its own reward,
* but maybe you wouldnt mind wearing this sash. We dont give these out to just
* anyone, you know! */
public override object Complete { get { return 1075415; } }
public DoughtyWarriors3Quest()
: base()
{
AddObjective(new SlayObjective(typeof(Daemon), "Daemons", 10));
AddReward(new BaseReward(typeof(SashOfMight), 1075412)); // Sash of Might
}
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 Kane : MondainQuester
{
public override Type[] Quests
{
get
{
return new Type[]
{
typeof( DoughtyWarriorsQuest )
};
}
}
[Constructable]
public Kane()
: base("Kane", "the Master of Arms")
{
if (!(this is MondainQuester))
this.Name = "Kane";
this.Title = "the Master of Arms";
}
public Kane(Serial serial)
: base(serial)
{
}
public override void InitBody()
{
InitStats(100, 100, 25);
Female = false;
Race = Race.Human;
//Hue = 0x840C;
HairItemID = 0x203C;
HairHue = 0x3B3;
}
public override void InitOutfit()
{
AddItem( new PlateArms() );
AddItem( new PlateChest() );
AddItem( new PlateGloves() );
AddItem( new StuddedGorget() );
AddItem( new PlateLegs() );
switch ( Utility.Random( 4 ) )
{
case 0: AddItem( new PlateHelm() ); break;
case 1: AddItem( new NorseHelm() ); break;
case 2: AddItem( new CloseHelm() ); break;
case 3: AddItem( new Helmet() ); break;
}
switch ( Utility.Random( 3 ) )
{
case 0: AddItem( new BodySash( 0x482 ) ); break;
case 1: AddItem( new Doublet( 0x482 ) ); break;
case 2: AddItem( new Tunic( 0x482 ) ); break;
}
AddItem( new Broadsword() );
Item shield = new MetalKiteShield();
shield.Hue = Utility.RandomNondyedHue();
AddItem( shield );
switch ( Utility.Random( 2 ) )
{
case 0: AddItem( new Boots() ); break;
case 1: AddItem( new ThighBoots() ); break;
}
PackGold( 100, 200 );
Blessed = true;
}
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();
}
}
}