379 lines
11 KiB
C#
379 lines
11 KiB
C#
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();
|
||
}
|
||
}
|
||
}
|