예제 #1
0
        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();
        }
예제 #2
0
        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();
                }
            }
        }