Exemple #1
0
 public virtual void OnRefuse()
 {
     if (!QuestHelper.FirstChainQuest(this, Quester))
     {
         UpdateChain();
     }
 }
Exemple #2
0
        public virtual void OnResign(bool resignChain)
        {
            m_Owner.PlaySound(ResignSound);

            // update chain
            if (!resignChain && !QuestHelper.FirstChainQuest(this, Quester))
            {
                UpdateChain();
            }

            // delete items	that were given on quest start
            for (int i = 0; i < m_Objectives.Count; i++)
            {
                if (m_Objectives[i] is ObtainObjective)
                {
                    ObtainObjective obtain = (ObtainObjective)m_Objectives[i];

                    QuestHelper.RemoveStatus(m_Owner, obtain.Obtain);
                }
                else if (m_Objectives[i] is DeliverObjective)
                {
                    DeliverObjective deliver = (DeliverObjective)m_Objectives[i];

                    QuestHelper.DeleteItems(m_Owner, deliver.Delivery, deliver.MaxProgress, true);
                }
            }

            // delete escorter
            if (m_Quester is BaseEscort)
            {
                BaseEscort escort = (BaseEscort)m_Quester;

                escort.Say(1005653);                   // Hmmm.  I seem to have lost my master.
                escort.PlaySound(0x5B3);
                escort.BeginDelete(m_Owner);
            }

            RemoveQuest(resignChain);
        }