public override void OnComplete() { IdolQuester quester = ((SummonQuest)System).IdolQuester; quester.SayTo(System.From, "Well done, the Keeper has been slain!"); System.From.SendMessage("Check the Keepers corpse to see if your lucky enough to recieve an idol"); System.Complete(); }
public override void OnRead() { IdolQuester quester = ((SummonQuest)System).IdolQuester; QuestType type = quester.Type; if (quester == null) { System.From.SendMessage("Internal error: unable to find idolquester. Quest unable to continue."); System.Cancel(); } else { PentagramAddon altar = quester.Altar; if (altar == null) { System.From.SendMessage("Internal error: unable to find summoning altar. Quest unable to continue."); System.Cancel(); } else if ((WrongBoss.Active == false && type == QuestType.Wrong) || (HythBoss.Active == false && type == QuestType.Hythloth) || (DecBoss.Active == false && type == QuestType.Deceit) || (CoveBoss.Active == false && type == QuestType.Covetous) || (DestBoss.Active == false && type == QuestType.Destard) || (ShameBoss.Active == false && type == QuestType.Shame) || (DespBossTwo.Active == false && DespBoss.Active == false && type == QuestType.Despise)) { switch (type) { case QuestType.Shame: m_MiniBoss = new ShameBoss(); break; case QuestType.Deceit: m_MiniBoss = new DecBoss(); break; case QuestType.Destard: m_MiniBoss = new DestBoss(); break; case QuestType.Hythloth: m_MiniBoss = new HythBoss(); break; case QuestType.Despise: m_MiniBoss = new DespBoss(); break; case QuestType.Covetous: m_MiniBoss = new CoveBoss(); break; case QuestType.Wrong: m_MiniBoss = new WrongBoss(); break; } m_MiniBoss.MoveToWorld(altar.Location, altar.Map); System.AddObjective(new VanquishMinibossObjective()); } else { quester.SayTo(System.From, "The Keeper is already here!"); System.Cancel(); } } }
public override void CheckProgress() { IdolQuester quester = ((SummonQuest)System).IdolQuester; if ( (WrongBoss.Active == false && quester.Type == QuestType.Wrong) || (HythBoss.Active == false && quester.Type == QuestType.Hythloth) || (DecBoss.Active == false && quester.Type == QuestType.Deceit) || (CoveBoss.Active == false && quester.Type == QuestType.Covetous) || (DestBoss.Active == false && quester.Type == QuestType.Destard) || (ShameBoss.Active == false && quester.Type == QuestType.Shame) || (DespBossTwo.Active == false && DespBoss.Active == false && quester.Type == QuestType.Despise) ) { Complete(); } }
public override void Cancel() { base.Cancel(); QuestObjective obj = FindObjective(typeof(CollectFragmentsObjective)); QuestObjective objtwo = FindObjective(typeof(VanquishMinibossObjective)); if (obj != null && obj.CurProgress > 0 && objtwo == null && !obj.Completed) { BankBox box = From.BankBox; if (box != null) { IdolQuester quester = m_IdolQuester; QuestType type = quester.Type; switch (type) { case QuestType.Shame: m_Frag = new FragmentCrystal(QuestType.Shame, obj.CurProgress); break; case QuestType.Deceit: m_Frag = new FragmentCrystal(QuestType.Deceit, obj.CurProgress); break; case QuestType.Destard: m_Frag = new FragmentCrystal(QuestType.Destard, obj.CurProgress); break; case QuestType.Hythloth: m_Frag = new FragmentCrystal(QuestType.Hythloth, obj.CurProgress); break; case QuestType.Despise: m_Frag = new FragmentCrystal(QuestType.Despise, obj.CurProgress); break; case QuestType.Covetous: m_Frag = new FragmentCrystal(QuestType.Covetous, obj.CurProgress); break; case QuestType.Wrong: m_Frag = new FragmentCrystal(QuestType.Wrong, obj.CurProgress); break; } box.DropItem(m_Frag); From.SendMessage("The dungeon fragments you have offered up have been returned to you."); } } }
public override void OnComplete() { IdolQuester quester = ((SummonQuest)System).IdolQuester; if (quester == null) { System.From.SendMessage("Internal error: unable to find idolquester. Quest unable to continue."); System.Cancel(); } else { PentagramAddon altar = quester.Altar; if (altar == null) { System.From.SendMessage("Internal error: unable to find summoning altar. Quest unable to continue."); System.Cancel(); } else { System.AddConversation(new VanquishMinibossConversation()); } } }
public override void ChildDeserialize(GenericReader reader) { int version = reader.ReadEncodedInt(); m_IdolQuester = reader.ReadMobile() as IdolQuester; }
public SummonQuest(IdolQuester quester, PlayerMobile from) : base(from) { m_IdolQuester = quester; }