using Server.Items; using Server.Mobiles; using System; namespace Server.Engines.Quests.Matriarch { public class SolenMatriarchQuest : QuestSystem { private bool m_RedSolen; public SolenMatriarchQuest(PlayerMobile from, bool redSolen) : base(from) { m_RedSolen = redSolen; } // Serialization public SolenMatriarchQuest() { } public override object Name => // Solen Matriarch Quest 1054147; public override object OfferMessage { get { if (IsFriend(From, RedSolen)) { /* The Solen Matriarch smiles happily as you greet her.

* * Hello again. It is always good to see a friend of our colony.

* * Would you like me to process some zoogi fungus into powder of translocation * for you? I would be happy to do so if you will first undertake a couple * tasks for me.

* * First, I would like for you to eliminate some infiltrators from the other * solen colony. They are spying on my colony, and I fear for the safety of my * people. They must be slain.

* * After that, I must ask that you gather some water for me. Our water supplies * are inadequate, so we must try to supplement our reserve using water vats here * in our lair.

* * Will you accept my offer? */ return 1054083; } else { /* The Solen Matriarch smiles happily as she eats the seed you offered.

* * I think you for that seed. I was quite delicious. So full of flavor.

* * Hmm... if you would like, I could make you a friend of my colony. This would stop * the warriors, workers, and queens of my colony from thinking you are an intruder, * thus they would not attack you. In addition, as a friend of my colony I will process * zoogi fungus into powder of translocation for you.

* * To become a friend of my colony, I ask that you complete a couple tasks for me. These * are the same tasks I will ask of you when you wish me to process zoogi fungus, * by the way.

* * First, I would like for you to eliminate some infiltrators from the other solen colony. * They are spying on my colony, and I fear for the safety of my people. They must * be slain.

* * After that, I must ask that you gather some water for me. Our water supplies are * inadequate, so we must try to supplement our reserve using water vats here in our * lair.

* * Will you accept my offer? */ return 1054082; } } } public override TimeSpan RestartDelay => TimeSpan.Zero; public override bool IsTutorial => false; public override int Picture => 0x15C9; public bool RedSolen => m_RedSolen; public static bool IsFriend(PlayerMobile player, bool redSolen) { if (redSolen) return player.SolenFriendship == SolenFriendship.Red; else return player.SolenFriendship == SolenFriendship.Black; } public static bool GiveRewardTo(PlayerMobile player) { Gold gold = new Gold(Utility.RandomMinMax(250, 350)); if (player.PlaceInBackpack(gold)) { player.SendLocalizedMessage(1054076); // You have been given some gold. return true; } else { gold.Delete(); return false; } } public override void ChildDeserialize(GenericReader reader) { int version = reader.ReadEncodedInt(); m_RedSolen = reader.ReadBool(); } public override void ChildSerialize(GenericWriter writer) { writer.WriteEncodedInt(0); // version writer.Write(m_RedSolen); } public override void Accept() { base.Accept(); AddConversation(new AcceptConversation()); } } }