123 lines
No EOL
3 KiB
C#
123 lines
No EOL
3 KiB
C#
namespace Server.Engines.Quests.Ambitious
|
|
{
|
|
public class DontOfferConversation : QuestConversation
|
|
{
|
|
public override object Message => 1054059;
|
|
|
|
public override bool Logged => false;
|
|
}
|
|
|
|
public class AcceptConversation : QuestConversation
|
|
{
|
|
public override object Message => 1054061;
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective(new KillQueensObjective());
|
|
}
|
|
}
|
|
|
|
public class DuringKillQueensConversation : QuestConversation
|
|
{
|
|
public override object Message => 1054066;
|
|
|
|
public override bool Logged => false;
|
|
}
|
|
|
|
public class GatherFungiConversation : QuestConversation
|
|
{
|
|
public override object Message => 1054068;
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.AddObjective(new GatherFungiObjective());
|
|
}
|
|
}
|
|
|
|
public class DuringFungiGatheringConversation : QuestConversation
|
|
{
|
|
public override object Message => 1054070;
|
|
|
|
public override bool Logged => false;
|
|
}
|
|
|
|
public class EndConversation : QuestConversation
|
|
{
|
|
public override object Message => 1054073;
|
|
|
|
public override void OnRead()
|
|
{
|
|
bool bagOfSending = true;
|
|
bool powderOfTranslocation = true;
|
|
bool gold = true;
|
|
|
|
AmbitiousQueenQuest.GiveRewardTo(System.From, ref bagOfSending, ref powderOfTranslocation, ref gold);
|
|
|
|
if (!bagOfSending && !powderOfTranslocation && !gold)
|
|
System.Complete();
|
|
else
|
|
System.AddConversation(new FullBackpackConversation(true, bagOfSending, powderOfTranslocation, gold));
|
|
}
|
|
}
|
|
|
|
public class FullBackpackConversation : QuestConversation
|
|
{
|
|
private bool m_BagOfSending;
|
|
private bool m_Gold;
|
|
|
|
private bool m_Logged;
|
|
private bool m_PowderOfTranslocation;
|
|
|
|
public FullBackpackConversation(bool logged, bool bagOfSending, bool powderOfTranslocation, bool gold)
|
|
{
|
|
m_Logged = logged;
|
|
|
|
m_BagOfSending = bagOfSending;
|
|
m_PowderOfTranslocation = powderOfTranslocation;
|
|
m_Gold = gold;
|
|
}
|
|
|
|
public FullBackpackConversation()
|
|
{
|
|
m_Logged = true;
|
|
}
|
|
|
|
public override object Message => 1054077;
|
|
|
|
public override bool Logged => m_Logged;
|
|
|
|
public override void OnRead()
|
|
{
|
|
if (m_Logged)
|
|
System.AddObjective(new GetRewardObjective(m_BagOfSending, m_PowderOfTranslocation, m_Gold));
|
|
}
|
|
|
|
public override void ChildDeserialize(GenericReader reader)
|
|
{
|
|
int version = reader.ReadEncodedInt();
|
|
|
|
m_BagOfSending = reader.ReadBool();
|
|
m_PowderOfTranslocation = reader.ReadBool();
|
|
m_Gold = reader.ReadBool();
|
|
}
|
|
|
|
public override void ChildSerialize(GenericWriter writer)
|
|
{
|
|
writer.WriteEncodedInt(0); // version
|
|
|
|
writer.Write(m_BagOfSending);
|
|
writer.Write(m_PowderOfTranslocation);
|
|
writer.Write(m_Gold);
|
|
}
|
|
}
|
|
|
|
public class End2Conversation : QuestConversation
|
|
{
|
|
public override object Message => 1054078;
|
|
|
|
public override void OnRead()
|
|
{
|
|
System.Complete();
|
|
}
|
|
}
|
|
} |