Reorganizes Project (#41)
This commit is contained in:
parent
08bf44af9a
commit
3614a66aee
3499 changed files with 79 additions and 55 deletions
342
Projects/Scripts/Engines/Quests/Haochi's Trials/Objectives.cs
Normal file
342
Projects/Scripts/Engines/Quests/Haochi's Trials/Objectives.cs
Normal file
|
|
@ -0,0 +1,342 @@
|
|||
using System;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Engines.Quests.Samurai
|
||||
{
|
||||
public class FindHaochiObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063026;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new FirstTrialIntroConversation());
|
||||
}
|
||||
}
|
||||
|
||||
public class FirstTrialIntroObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063030;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new FirstTrialKillConversation());
|
||||
}
|
||||
}
|
||||
|
||||
public class FirstTrialKillObjective : QuestObjective
|
||||
{
|
||||
private int m_CursedSoulsKilled;
|
||||
private int m_YoungRoninKilled;
|
||||
|
||||
public override object Message => 1063032;
|
||||
|
||||
public override int MaxProgress => 3;
|
||||
|
||||
public override void OnKill(BaseCreature creature, Container corpse)
|
||||
{
|
||||
if (creature is CursedSoul)
|
||||
{
|
||||
if (m_CursedSoulsKilled == 0)
|
||||
System.AddConversation(new GainKarmaConversation(true));
|
||||
|
||||
m_CursedSoulsKilled++;
|
||||
|
||||
// Cursed Souls killed: ~1_COUNT~
|
||||
System.From.SendLocalizedMessage(1063038, m_CursedSoulsKilled.ToString());
|
||||
}
|
||||
else if (creature is YoungRonin)
|
||||
{
|
||||
if (m_YoungRoninKilled == 0)
|
||||
System.AddConversation(new GainKarmaConversation(false));
|
||||
|
||||
m_YoungRoninKilled++;
|
||||
|
||||
// Young Ronin killed: ~1_COUNT~
|
||||
System.From.SendLocalizedMessage(1063039, m_YoungRoninKilled.ToString());
|
||||
}
|
||||
|
||||
CurProgress = Math.Max(m_CursedSoulsKilled, m_YoungRoninKilled);
|
||||
}
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddObjective(new FirstTrialReturnObjective(m_CursedSoulsKilled > m_YoungRoninKilled));
|
||||
}
|
||||
|
||||
public override void ChildDeserialize(GenericReader reader)
|
||||
{
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_CursedSoulsKilled = reader.ReadEncodedInt();
|
||||
m_YoungRoninKilled = reader.ReadEncodedInt();
|
||||
}
|
||||
|
||||
public override void ChildSerialize(GenericWriter writer)
|
||||
{
|
||||
writer.WriteEncodedInt(0); // version
|
||||
|
||||
writer.WriteEncodedInt(m_CursedSoulsKilled);
|
||||
writer.WriteEncodedInt(m_YoungRoninKilled);
|
||||
}
|
||||
}
|
||||
|
||||
public class FirstTrialReturnObjective : QuestObjective
|
||||
{
|
||||
private bool m_CursedSoul;
|
||||
|
||||
public FirstTrialReturnObjective(bool cursedSoul)
|
||||
{
|
||||
m_CursedSoul = cursedSoul;
|
||||
}
|
||||
|
||||
public FirstTrialReturnObjective()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Message => 1063044;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new SecondTrialIntroConversation(m_CursedSoul));
|
||||
}
|
||||
|
||||
public override void ChildDeserialize(GenericReader reader)
|
||||
{
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_CursedSoul = reader.ReadBool();
|
||||
}
|
||||
|
||||
public override void ChildSerialize(GenericWriter writer)
|
||||
{
|
||||
writer.WriteEncodedInt(0); // version
|
||||
|
||||
writer.Write(m_CursedSoul);
|
||||
}
|
||||
}
|
||||
|
||||
public class SecondTrialIntroObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063047;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new SecondTrialAttackConversation());
|
||||
}
|
||||
}
|
||||
|
||||
public class SecondTrialAttackObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063058;
|
||||
}
|
||||
|
||||
public class SecondTrialReturnObjective : QuestObjective
|
||||
{
|
||||
public SecondTrialReturnObjective(bool dragon)
|
||||
{
|
||||
Dragon = dragon;
|
||||
}
|
||||
|
||||
public SecondTrialReturnObjective()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Message => 1063229;
|
||||
|
||||
public bool Dragon{ get; private set; }
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new ThirdTrialIntroConversation(Dragon));
|
||||
}
|
||||
|
||||
public override void ChildDeserialize(GenericReader reader)
|
||||
{
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
Dragon = reader.ReadBool();
|
||||
}
|
||||
|
||||
public override void ChildSerialize(GenericWriter writer)
|
||||
{
|
||||
writer.WriteEncodedInt(0); // version
|
||||
|
||||
writer.Write(Dragon);
|
||||
}
|
||||
}
|
||||
|
||||
public class ThirdTrialIntroObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063061;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new ThirdTrialKillConversation());
|
||||
}
|
||||
}
|
||||
|
||||
public class ThirdTrialKillObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063063;
|
||||
|
||||
public override void OnKill(BaseCreature creature, Container corpse)
|
||||
{
|
||||
if (creature is InjuredWolf)
|
||||
Complete();
|
||||
}
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddObjective(new ThirdTrialReturnObjective());
|
||||
}
|
||||
}
|
||||
|
||||
public class ThirdTrialReturnObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063064;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new FourthTrialIntroConversation());
|
||||
}
|
||||
}
|
||||
|
||||
public class FourthTrialIntroObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063066;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new FourthTrialCatsConversation());
|
||||
}
|
||||
}
|
||||
|
||||
public class FourthTrialCatsObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063068;
|
||||
|
||||
public override void OnKill(BaseCreature creature, Container corpse)
|
||||
{
|
||||
if (creature is DiseasedCat)
|
||||
{
|
||||
Complete();
|
||||
System.AddObjective(new FourthTrialReturnObjective(true));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class FourthTrialReturnObjective : QuestObjective
|
||||
{
|
||||
public FourthTrialReturnObjective(bool killedCat)
|
||||
{
|
||||
KilledCat = killedCat;
|
||||
}
|
||||
|
||||
public FourthTrialReturnObjective()
|
||||
{
|
||||
}
|
||||
|
||||
public override object Message => 1063242;
|
||||
|
||||
public bool KilledCat{ get; private set; }
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new FifthTrialIntroConversation(KilledCat));
|
||||
}
|
||||
|
||||
public override void ChildDeserialize(GenericReader reader)
|
||||
{
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
KilledCat = reader.ReadBool();
|
||||
}
|
||||
|
||||
public override void ChildSerialize(GenericWriter writer)
|
||||
{
|
||||
writer.WriteEncodedInt(0); // version
|
||||
|
||||
writer.Write(KilledCat);
|
||||
}
|
||||
}
|
||||
|
||||
public class FifthTrialIntroObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063072;
|
||||
|
||||
public bool StolenTreasure{ get; set; }
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new FifthTrialReturnConversation());
|
||||
}
|
||||
|
||||
public override void ChildDeserialize(GenericReader reader)
|
||||
{
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
StolenTreasure = reader.ReadBool();
|
||||
}
|
||||
|
||||
public override void ChildSerialize(GenericWriter writer)
|
||||
{
|
||||
writer.WriteEncodedInt(0); // version
|
||||
|
||||
writer.Write(StolenTreasure);
|
||||
}
|
||||
}
|
||||
|
||||
public class FifthTrialReturnObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063073;
|
||||
}
|
||||
|
||||
public class SixthTrialIntroObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063078;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddObjective(new SixthTrialReturnObjective());
|
||||
}
|
||||
}
|
||||
|
||||
public class SixthTrialReturnObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063252;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new SeventhTrialIntroConversation());
|
||||
}
|
||||
}
|
||||
|
||||
public class SeventhTrialIntroObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063080;
|
||||
|
||||
public override int MaxProgress => 3;
|
||||
|
||||
public override void OnKill(BaseCreature creature, Container corpse)
|
||||
{
|
||||
if (creature is YoungNinja)
|
||||
CurProgress++;
|
||||
}
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddObjective(new SeventhTrialReturnObjective());
|
||||
}
|
||||
}
|
||||
|
||||
public class SeventhTrialReturnObjective : QuestObjective
|
||||
{
|
||||
public override object Message => 1063253;
|
||||
|
||||
public override void OnComplete()
|
||||
{
|
||||
System.AddConversation(new EndConversation());
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue