public void RepairObeliskQuest() { QuestStep step = GetStep(83); if (step.QuestState == EQuestState.INACTIVE) { return; } step = GetStep(90); if (step.QuestState != EQuestState.INACTIVE) { LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddTokenIfNull(790); LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddTokenIfNull(791); LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddTokenIfNull(792); LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddTokenIfNull(793); LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddTokenIfNull(794); LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddTokenIfNull(795); LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddTokenIfNull(796); LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddTokenIfNull(797); return; } Int32 num = 0; step = GetStep(83); if (step.QuestState == EQuestState.ACTIVE) { num++; } step = GetStep(84); if (step.QuestState == EQuestState.ACTIVE) { num++; } step = GetStep(85); if (step.QuestState == EQuestState.ACTIVE) { num++; } step = GetStep(86); if (step.QuestState == EQuestState.ACTIVE) { num++; } step = GetStep(87); if (step.QuestState == EQuestState.ACTIVE) { num++; } step = GetStep(88); if (step.QuestState == EQuestState.ACTIVE) { num++; } step = GetStep(89); if (step.QuestState == EQuestState.ACTIVE) { num++; } MapData mapData = LegacyLogic.Instance.WorldManager.MapData["theworld"]; List <ObelisksStaticData> list = new List <ObelisksStaticData>(StaticDataHandler.GetIterator <ObelisksStaticData>(EDataType.OBELISKS)); foreach (ObelisksStaticData obelisksStaticData in list) { if (num > 0) { if (mapData.GetTerrainData(obelisksStaticData.Position).Visited) { LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddTokenIfNull(obelisksStaticData.TokenID); } num--; } } }
public void Load(SaveGameData p_data) { m_quests.Clear(); Int32 num = p_data.Get <Int32>("Count", 0); for (Int32 i = 0; i < num; i++) { SaveGameData saveGameData = p_data.Get <SaveGameData>("QuestStep" + i, null); if (saveGameData != null) { QuestStep questStep = new QuestStep(); questStep.Load(saveGameData); if (questStep.StaticData != null) { m_quests.Add(questStep); } } } AddDLCQuest(109); AddDLCQuest(111); AddDLCQuest(112); AddDLCQuest(114); AddDLCQuest(115); AddDLCQuest(116); AddDLCQuest(117); AddDLCQuest(118); AddDLCQuest(119); AddDLCQuest(120); if (GetStep(110) == null) { QuestStepStaticData staticData = StaticDataHandler.GetStaticData <QuestStepStaticData>(EDataType.QUEST_STEPS, 110); QuestStep questStep2 = new QuestStep(staticData); QuestStep step = GetStep(3); if (step.QuestState == EQuestState.ACTIVE) { if (step.GetObjective(4).QuestState == EQuestState.SOLVED) { step.QuestState = EQuestState.SOLVED; questStep2.QuestState = EQuestState.ACTIVE; } } else { questStep2.QuestState = step.QuestState; } questStep2.GetObjective(5).QuestState = step.GetObjective(5).QuestState; questStep2.GetObjective(6).QuestState = step.GetObjective(6).QuestState; questStep2.GetObjective(7).QuestState = step.GetObjective(7).QuestState; step.RemoveObjective(5); step.RemoveObjective(6); step.RemoveObjective(7); step.StaticData.UpdateFollowupStep(110); m_quests.Add(questStep2); } QuestStep step2 = GetStep(100); if (step2 != null) { QuestObjectiveStaticData staticData2 = StaticDataHandler.GetStaticData <QuestObjectiveStaticData>(EDataType.QUEST_OBJECTIVES, 167); QuestObjective objective = step2.GetObjective(167); objective.StaticData.SetMainObjective(staticData2.IsMainObjective); objective.StaticData.SetNpcID(staticData2.NpcID); objective.StaticData.SetTokenID(staticData2.TokenID); } step2 = GetStep(63); if (step2.QuestState == EQuestState.ACTIVE) { step2.Repair(); if (step2.CheckFinished()) { FinalizeStep(step2); } } }