public virtual void RemoveQuest(bool removeChain) { StopTimer(); if (removeChain) { m_Owner.Chains.Remove(ChainID); } if (Completed && (RestartDelay > TimeSpan.Zero || ForceRemember || DoneOnce) && NextQuest == null) { Type type = GetType(); if (ChainID != QuestChain.None) { type = QuestHelper.FindFirstChainQuest(this); } QuestHelper.Delay(Owner, type, RestartDelay); } QuestHelper.RemoveAcceleratedSkillgain(Owner); for (int i = m_Owner.Quests.Count - 1; i >= 0; i--) { if (m_Owner.Quests[i] == this) { m_Owner.Quests.RemoveAt(i); break; } } }
public virtual void RemoveQuest(bool removeChain) { StopTimer(); if (removeChain) { m_Owner.Chains.Remove(ChainID); } if (Completed && (RestartDelay > TimeSpan.Zero || ForceRemember || DoneOnce) && NextQuest == null && Owner.AccessLevel == AccessLevel.Player) { Type type = GetType(); if (ChainID != QuestChain.None) { type = QuestHelper.FindFirstChainQuest(this); } QuestHelper.Delay(Owner, type, RestartDelay); } QuestHelper.RemoveAcceleratedSkillgain(Owner); if (m_Owner.Quests.Contains(this)) { m_Owner.Quests.Remove(this); } }
public override void OnCompleted() { QuestHelper.RemoveAcceleratedSkillgain(Quest.Owner); }