Files
abysmal-isle/Scripts/Quests/GatheringOfEvidence.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

290 lines
8.8 KiB
C#

using System;
using Server.Items;
namespace Server.Engines.Quests
{
public class GatheringOfEvidence : BaseQuest
{
public override bool DoneOnce { get { return true; } }
public GatheringOfEvidence() : base()
{
this.AddObjective(new ObtainObjective(typeof(VoidCrystalOfCorruptedArcaneEssence), "Void Crystal of Corrupted Arcane Essence", 1));
this.AddObjective(new ObtainObjective(typeof(VoidCrystalOfCorruptedSpiritualEssence), "Void Crystal of Corrupted Spiritual Essence", 1));
this.AddObjective(new ObtainObjective(typeof(VoidCrystalOfCorruptedMysticalEssence), "Void Crystal of Corrupted Mystical Essence", 1));
this.AddReward(new BaseReward(typeof(ResonantShieldOfVengeance), "Resonant Shield of Vengeance"));
this.AddReward(new BaseReward(typeof(WindOfCorruption), "Wind of Corruption"));
}
public override object Title
{
get
{
return 1150316; // Gathering of Evidence (Gargoyle Rewards)
}
}
/*There seems to be unrest spreading among the refugees surrounding the Royal city. There are
* rumors of gargoyles willingly leaving their encampments and disappearing into the abyss.
* Through our own investigations, we have learned that there are militant gargoyle camps in
* the abyss where their magically gifted members are tapping into a new source of magic. We
* suspect they are tapping the void energies and require you to obtain proof so that we can
* prepare a plan of action to deal with any threat they may pose. Bring back all of the following;
* Void Crystal of Corrupted Arcane Essence, Void Crystal of Corrupted Spiritual Essence, and a
* Void Crystal of Corrupted Mystical Essence.*/
public override object Description
{
get
{
return 1150317;
}
}
public override object Refuse
{
get
{
return "That's a shame.";
}
}
//Have you retrieved the essences? We cannot prepare our strategy without solid evidence.
public override object Uncomplete
{
get
{
return 1150319;
}
}
/*Well Done! This is just what we needed. We can ill afford these separatist encampments
* upsetting the delicate balance with the void consuming our world.*/
public override object Complete
{
get
{
return 1150320;
}
}
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 GatheringProof : BaseQuest
{
public override bool DoneOnce { get { return true; } }
public GatheringProof()
: base()
{
this.AddObjective(new ObtainObjective(typeof(VoidCrystalOfCorruptedArcaneEssence), "Void Crystal of Corrupted Arcane Essence", 1));
this.AddObjective(new ObtainObjective(typeof(VoidCrystalOfCorruptedSpiritualEssence), "Void Crystal of Corrupted Spiritual Essence", 1));
this.AddObjective(new ObtainObjective(typeof(VoidCrystalOfCorruptedMysticalEssence), "Void Crystal of Corrupted Mystical Essence", 1));
this.AddReward(new BaseReward(typeof(ResonantShieldOfVengeanceHuman), "Resonant Shield of Vengeance"));
this.AddReward(new BaseReward(typeof(WindOfCorruptionHuman), "Wind of Corruption"));
}
public override object Title
{
get
{
return 1150384; // Gathering Proof (Human Rewards)
}
}
/*There seems to be unrest spreading among the refugees surrounding the Royal city. There are
* rumors of gargoyles willingly leaving their encampments and disappearing into the abyss.
* Through our own investigations, we have learned that there are militant gargoyle camps in
* the abyss where their magically gifted members are tapping into a new source of magic. We
* suspect they are tapping the void energies and require you to obtain proof so that we can
* prepare a plan of action to deal with any threat they may pose. Bring back all of the following;
* Void Crystal of Corrupted Arcane Essence, Void Crystal of Corrupted Spiritual Essence, and a
* Void Crystal of Corrupted Mystical Essence.*/
public override object Description
{
get
{
return 1150317;
}
}
public override object Refuse
{
get
{
return "That's a shame.";
}
}
//Have you retrieved the essences? We cannot prepare our strategy without solid evidence.
public override object Uncomplete
{
get
{
return 1150319;
}
}
/*Well Done! This is just what we needed. We can ill afford these separatist encampments
* upsetting the delicate balance with the void consuming our world.*/
public override object Complete
{
get
{
return 1150320;
}
}
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 Xeninlor : MondainQuester
{
[Constructable]
public Xeninlor()
: base("Xeninlor", "the Security Advisor")
{
}
public Xeninlor(Serial serial)
: base(serial)
{
}
public override Type[] Quests
{
get
{
return new Type[]
{
typeof(GatheringOfEvidence)
};
}
}
public override void InitBody()
{
this.InitStats(100, 100, 25);
this.Female = false;
this.CantWalk = true;
Race = Race.Gargoyle;
this.Body = 666;
Utility.AssignRandomHair(this);
Utility.AssignRandomFacialHair(this);
}
public override void InitOutfit()
{
this.AddItem(new Backpack());
this.AddItem(new GargishClothChest(Utility.RandomNeutralHue()));
this.AddItem(new GargishClothKilt(Utility.RandomNeutralHue()));
this.AddItem(new GargishClothLegs(Utility.RandomNeutralHue()));
this.AddItem(new SerpentStoneStaff());
}
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 Prassel : MondainQuester
{
[Constructable]
public Prassel()
: base("Prassel", "the Security Liason")
{
}
public Prassel(Serial serial)
: base(serial)
{
}
public override Type[] Quests
{
get
{
return new Type[]
{
typeof(GatheringProof)
};
}
}
public override void InitBody()
{
this.InitStats(100, 100, 25);
this.Female = false;
Race = Race.Human;
this.Body = 0x190;
Utility.AssignRandomHair(this);
Utility.AssignRandomFacialHair(this);
}
public override void InitOutfit()
{
this.AddItem(new Backpack());
this.AddItem(new Tunic(Utility.RandomNeutralHue()));
this.AddItem(new ShortPants(Utility.RandomNeutralHue()));
this.AddItem(new Boots());
this.AddItem(new Halberd());
}
public override bool CheckTerMur()
{
return false;
}
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();
}
}
}