ModernUO/Projects/UOContent/Engines/Quests/Haochi's Trials/Conversations.cs

379 lines
11 KiB
C#
Raw 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.

namespace Server.Engines.Quests.Samurai
{
public class AcceptConversation : QuestConversation
{
public override int Message => 1049092;
public override void OnRead()
{
System.AddObjective(new FindHaochiObjective());
}
}
public class RadarConversation : QuestConversation
{
public override int Message => 1063033;
public override bool Logged => false;
}
public class FirstTrialIntroConversation : QuestConversation
{
public override int Message => 1063029;
public override void OnRead()
{
System.AddObjective(new FirstTrialIntroObjective());
}
}
public class FirstTrialKillConversation : QuestConversation
{
public override int Message => 1063031;
public override void OnRead()
{
System.AddObjective(new FirstTrialKillObjective());
}
}
public class GainKarmaConversation : QuestConversation
{
private bool m_CursedSoul;
public GainKarmaConversation(bool cursedSoul) => m_CursedSoul = cursedSoul;
public GainKarmaConversation()
{
}
public override int Message
{
get
{
if (m_CursedSoul)
{
return 1063040;
}
// You have just gained some <a href="?ForceTopic45">Karma</a> for killing a Young Ronin.
return 1063041;
}
}
public override bool Logged => false;
public override void ChildDeserialize(IGenericReader reader)
{
var version = reader.ReadEncodedInt();
m_CursedSoul = reader.ReadBool();
}
public override void ChildSerialize(IGenericWriter writer)
{
writer.WriteEncodedInt(0); // version
writer.Write(m_CursedSoul);
}
}
public class SecondTrialIntroConversation : QuestConversation
{
private bool m_CursedSoul;
public SecondTrialIntroConversation(bool cursedSoul) => m_CursedSoul = cursedSoul;
public SecondTrialIntroConversation()
{
}
public override int Message
{
get
{
if (m_CursedSoul)
{
return 1063045;
}
/* It is good that you rid the land of those dishonorable Samurai.
* Perhaps they will learn a greater lesson in death.<BR><BR>
*
* I have placed a reward in your pack.<BR><BR>
*
* The second trial will test your courage. You only have to follow
* the yellow path to see what awaits you.
*/
return 1063046;
}
}
public override void OnRead()
{
System.AddObjective(new SecondTrialIntroObjective());
}
public override void ChildDeserialize(IGenericReader reader)
{
var version = reader.ReadEncodedInt();
m_CursedSoul = reader.ReadBool();
}
public override void ChildSerialize(IGenericWriter writer)
{
writer.WriteEncodedInt(0); // version
writer.Write(m_CursedSoul);
}
}
public class SecondTrialAttackConversation : QuestConversation
{
public override int Message => 1063057;
public override void OnRead()
{
System.AddObjective(new SecondTrialAttackObjective());
}
}
public class ThirdTrialIntroConversation : QuestConversation
{
private bool m_Dragon;
public ThirdTrialIntroConversation(bool dragon) => m_Dragon = dragon;
public ThirdTrialIntroConversation()
{
}
public override int Message
{
get
{
if (m_Dragon)
{
return 1063060;
}
/* Fear remains in your eyes but you have learned that not all is
* what it appears to be. <BR><BR>
*
* You must have known the dragon would slay you instantly.
* You elected the weaker opponent though the imp did not come
* here to destroy. You have much to learn. <BR><BR>
*
* In these lands, death is not forever. The shrines can make you whole
* again as can a helpful mage or healer. <BR><BR>
*
* Seek them out when you have been mortally wounded. <BR><BR>
*
* The next trial will test your benevolence. You only have to walk the blue path.
*/
return 1063059;
}
}
public override void OnRead()
{
System.AddObjective(new ThirdTrialIntroObjective());
}
public override void ChildDeserialize(IGenericReader reader)
{
var version = reader.ReadEncodedInt();
m_Dragon = reader.ReadBool();
}
public override void ChildSerialize(IGenericWriter writer)
{
writer.WriteEncodedInt(0); // version
writer.Write(m_Dragon);
}
}
public class ThirdTrialKillConversation : QuestConversation
{
public override int Message => 1063062;
public override void OnRead()
{
System.AddObjective(new ThirdTrialKillObjective());
}
}
public class FourthTrialIntroConversation : QuestConversation
{
public override int Message => 1063065;
public override void OnRead()
{
System.AddObjective(new FourthTrialIntroObjective());
}
}
public class FourthTrialCatsConversation : QuestConversation
{
public override int Message => 1063067;
public override void OnRead()
{
System.AddObjective(new FourthTrialCatsObjective());
}
}
public class FifthTrialIntroConversation : QuestConversation
{
private bool m_KilledCat;
public FifthTrialIntroConversation(bool killedCat) => m_KilledCat = killedCat;
public FifthTrialIntroConversation()
{
}
public override int Message
{
get
{
if (m_KilledCat)
{
/*
* Respect comes from allowing another to make their own decisions.
* By denying the gypsy her animals, you negate the respect she is due.
* Perhaps you will have learned something to use next time a similar situation arises.
* <BR><BR>And now you must prove yourself again. Please retrieve my katana from the treasure room and return it to me.
*/
return 1063071;
}
/*
* You showed respect by helping another out while allowing the gypsy what little dignity she has left.
* <BR><BR>Now she will be able to feed herself and gain enough energy to walk to her camp.
* <BR><BR>The cats are her family members cursed by an evil mage.
* <BR><BR>Once she has enough strength to walk back to the camp, she will be able to undo the spell.
* <BR><BR>You have been rewarded for completing your trial. And now you must prove yourself again.
* <BR><BR>Please retrieve my katana from the treasure room and return it to me.
*/
return 1063070;
}
}
public override void OnRead()
{
System.AddObjective(new FifthTrialIntroObjective());
}
public override void ChildDeserialize(IGenericReader reader)
{
var version = reader.ReadEncodedInt();
m_KilledCat = reader.ReadBool();
}
public override void ChildSerialize(IGenericWriter writer)
{
writer.WriteEncodedInt(0); // version
writer.Write(m_KilledCat);
}
}
public class FifthTrialReturnConversation : QuestConversation
{
public override int Message => 1063248;
public override void OnRead()
{
System.AddObjective(new FifthTrialReturnObjective());
}
}
public class LostSwordConversation : QuestConversation
{
public override int Message => 1063074;
public override bool Logged => false;
}
public class SixthTrialIntroConversation : QuestConversation
{
private bool m_StolenTreasure;
public SixthTrialIntroConversation(bool stolenTreasure) => m_StolenTreasure = stolenTreasure;
public SixthTrialIntroConversation()
{
}
public override int Message
{
get
{
if (m_StolenTreasure)
{
/*
* I thank you for returning this sword.
* However, you should admonished for also taking treasure that was not asked for nor given back.
* <BR><BR>Think about your actions youngling.
* <BR><BR>Your training is nearly complete.
* Before you have your final trial, you should pay homage to Samurai who came before you.
* <BR><BR>Go into the Altar Room and light a candle for them. Afterwards, return to me.
*/
return 1063077;
}
/*
* Thank you for returning this sword to me and leaving the remaining treasure alone.
* <BR><BR>Your training is nearly complete.
* Before you have your final trial, you should pay homage to Samurai who came before you.
* <BR><BR>Go into the Altar Room and light a candle for them. Afterwards, return to me.
*/
return 1063076;
}
}
public override void OnRead()
{
System.AddObjective(new SixthTrialIntroObjective());
}
public override void ChildDeserialize(IGenericReader reader)
{
var version = reader.ReadEncodedInt();
m_StolenTreasure = reader.ReadBool();
}
public override void ChildSerialize(IGenericWriter writer)
{
writer.WriteEncodedInt(0); // version
writer.Write(m_StolenTreasure);
}
}
public class SeventhTrialIntroConversation : QuestConversation
{
public override int Message => 1063079;
public override void OnRead()
{
System.AddObjective(new SeventhTrialIntroObjective());
}
}
public class EndConversation : QuestConversation
{
public override int Message => 1063125;
public override void OnRead()
{
System.Complete();
}
}
}