public virtual void OnRefuse() { if (!QuestHelper.FirstChainQuest(this, Quester)) { UpdateChain(); } }
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); }