Add quest requirements that are only mentioned in quest text

This commit is contained in:
Liza 2024-09-04 23:18:06 +02:00
parent 7a9a49acf6
commit 0e33da7385
Signed by: liza
GPG Key ID: 7199F8D727D55F67

View File

@ -62,8 +62,100 @@ internal sealed class QuestData
_quests = quests.ToDictionary(x => x.QuestId, x => x);
// workaround because the game doesn't require completion of the CT questline through normal means
QuestInfo aTimeToEveryPurpose = (QuestInfo)_quests[new QuestId(425)];
aTimeToEveryPurpose.AddPreviousQuest(new QuestInfo.PreviousQuestInfo(new QuestId(495)));
AddPreviousQuest(new QuestId(425), new QuestId(495));
// "In order to undertake this quest" [...]
const int mountaintopDiplomacy = 1619;
const int inscrutableTastes = 2095;
const int tideGoesIn = 2490;
const int firstOfMany = 2534;
const int achtIaOrmhInn = 3320;
AddPreviousQuest(new QuestId(1480), new QuestId(2373));
AddPreviousQuest(new QuestId(1717), new QuestId(mountaintopDiplomacy));
AddPreviousQuest(new QuestId(2088), new QuestId(mountaintopDiplomacy));
AddPreviousQuest(new QuestId(2062), new QuestId(1617));
AddPreviousQuest(new QuestId(2063), new QuestId(mountaintopDiplomacy));
AddPreviousQuest(new QuestId(2257), new QuestId(1655));
AddPreviousQuest(new QuestId(2608), new QuestId(firstOfMany));
AddPreviousQuest(new QuestId(2600), new QuestId(2466));
AddPreviousQuest(new QuestId(2622), new QuestId(tideGoesIn));
AddPreviousQuest(new QuestId(2624), new QuestId(firstOfMany));
AddPreviousQuest(new QuestId(2898), new QuestId(tideGoesIn));
AddPreviousQuest(new QuestId(2974), new QuestId(2491));
AddPreviousQuest(new QuestId(2975), new QuestId(2630));
AddPreviousQuest(new QuestId(2912), new QuestId(tideGoesIn));
AddPreviousQuest(new QuestId(2914), new QuestId(2537));
AddPreviousQuest(new QuestId(2919), new QuestId(2455));
AddPreviousQuest(new QuestId(2952), new QuestId(2518));
AddPreviousQuest(new QuestId(2904), new QuestId(2503));
AddPreviousQuest(new QuestId(3038), new QuestId(firstOfMany));
AddPreviousQuest(new QuestId(3087), new QuestId(100));
AddPreviousQuest(new QuestId(3246), new QuestId(3314));
AddPreviousQuest(new QuestId(3247), new QuestId(achtIaOrmhInn));
AddPreviousQuest(new QuestId(3270), new QuestId(3333));
AddPreviousQuest(new QuestId(3271), new QuestId(3634));
AddPreviousQuest(new QuestId(3264), new QuestId(2247));
AddPreviousQuest(new QuestId(3253), new QuestId(2247));
AddPreviousQuest(new QuestId(3254), new QuestId(2537));
AddPreviousQuest(new QuestId(3228), new QuestId(achtIaOrmhInn));
AddPreviousQuest(new QuestId(3234), new QuestId(achtIaOrmhInn));
AddPreviousQuest(new QuestId(3237), new QuestId(achtIaOrmhInn));
AddPreviousQuest(new QuestId(3238), new QuestId(3634));
AddPreviousQuest(new QuestId(3240), new QuestId(achtIaOrmhInn));
AddPreviousQuest(new QuestId(3241), new QuestId(3648));
AddPreviousQuest(new QuestId(3628), new QuestId(3301));
AddPreviousQuest(new QuestId(3655), new QuestId(inscrutableTastes));
AddPreviousQuest(new QuestId(3771), new QuestId(495));
AddPreviousQuest(new QuestId(4068), new QuestId(1658));
AddPreviousQuest(new QuestId(4078), new QuestId(1583));
AddPreviousQuest(new QuestId(4150), new QuestId(4417));
AddPreviousQuest(new QuestId(4155), new QuestId(4383));
AddPreviousQuest(new QuestId(4156), new QuestId(3326));
AddPreviousQuest(new QuestId(4158), new QuestId(4434));
AddPreviousQuest(new QuestId(4159), new QuestId(4464));
AddPreviousQuest(new QuestId(4163), new QuestId(4398));
AddPreviousQuest(new QuestId(4165), new QuestId(4438));
AddPreviousQuest(new QuestId(4473), new QuestId(inscrutableTastes));
AddPreviousQuest(new QuestId(4650), new QuestId(2374));
AddPreviousQuest(new QuestId(4662), new QuestId(3166));
AddPreviousQuest(new QuestId(4761), new QuestId(4032));
AddPreviousQuest(new QuestId(4812), new QuestId(4750));
AddPreviousQuest(new QuestId(4851), new QuestId(2446));
AddPreviousQuest(new QuestId(4856), new QuestId(1669));
AddPreviousQuest(new QuestId(4857), new QuestId(2553));
AddPreviousQuest(new QuestId(4979), new QuestId(4896));
AddPreviousQuest(new QuestId(4980), new QuestId(4911));
AddPreviousQuest(new QuestId(4985), new QuestId(4903));
AddPreviousQuest(new QuestId(4987), new QuestId(4912));
AddPreviousQuest(new QuestId(4988), new QuestId(4942));
AddPreviousQuest(new QuestId(4992), new QuestId(4912));
AddPreviousQuest(new QuestId(4999), new QuestId(4908));
AddPreviousQuest(new QuestId(4966), new QuestId(inscrutableTastes));
AddPreviousQuest(new QuestId(5000), new QuestId(4908));
AddPreviousQuest(new QuestId(5001), new QuestId(4912));
// "In order to proceed with this quest" [...]
/* my little chocobo
AddPreviousQuest(new QuestId(1036), new QuestId());
AddPreviousQuest(new QuestId(1663), new QuestId());
AddPreviousQuest(new QuestId(3771), new QuestId());
AddPreviousQuest(new QuestId(4521), new QuestId());
*/
/* only applicable for fishers
const int spearfishing = 2922;
AddPreviousQuest(new QuestId(3811), new QuestId(spearfishing));
AddPreviousQuest(new QuestId(3812), new QuestId(spearfishing));
AddPreviousQuest(new QuestId(3817), new QuestId(spearfishing));
AddPreviousQuest(new QuestId(3818), new QuestId(spearfishing));
AddPreviousQuest(new QuestId(3821), new QuestId(spearfishing));
AddPreviousQuest(new QuestId(3833), new QuestId(spearfishing));
*/
}
private void AddPreviousQuest(QuestId questToUpdate, QuestId requiredQuestId)
{
QuestInfo quest = (QuestInfo)_quests[questToUpdate];
quest.AddPreviousQuest(new QuestInfo.PreviousQuestInfo(requiredQuestId));
}
public IQuestInfo GetQuestInfo(ElementId elementId)