diff --git a/Directory.Build.targets b/Directory.Build.targets
index ae3c9a42..ca80e97a 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -1,5 +1,5 @@
- 4.1
+ 4.2
diff --git a/LLib b/LLib
index 70b0bef2..e4bbc05e 160000
--- a/LLib
+++ b/LLib
@@ -1 +1 @@
-Subproject commit 70b0bef2459898a70f7b34b4d196bbaeb72397b1
+Subproject commit e4bbc05ede6f6f01e7028b24614ed8cb333e909c
diff --git a/Questionable/Controller/GameUi/InteractionUiController.cs b/Questionable/Controller/GameUi/InteractionUiController.cs
index 797093dd..1ea84928 100644
--- a/Questionable/Controller/GameUi/InteractionUiController.cs
+++ b/Questionable/Controller/GameUi/InteractionUiController.cs
@@ -756,12 +756,12 @@ internal sealed class InteractionUiController : IDisposable
private bool TryFindWarp(ushort targetTerritoryId, string actualPrompt, [NotNullWhen(true)] out uint? warpId,
[NotNullWhen(true)] out string? warpText)
{
- var warps = _dataManager.GetExcelSheet()!
+ var warps = _dataManager.GetExcelSheet()
.Where(x => x.RowId > 0 && x.TerritoryType.RowId == targetTerritoryId);
foreach (var entry in warps)
{
- string? excelName = entry.Name.ToString();
- string? excelQuestion = entry.Question.ToString();
+ string excelName = entry.Name.ToString();
+ string excelQuestion = entry.Question.ToString();
if (!string.IsNullOrEmpty(excelQuestion) && GameFunctions.GameStringEquals(excelQuestion, actualPrompt))
{
diff --git a/Questionable/Data/AetherCurrentData.cs b/Questionable/Data/AetherCurrentData.cs
index 04bb7c37..ac9bb414 100644
--- a/Questionable/Data/AetherCurrentData.cs
+++ b/Questionable/Data/AetherCurrentData.cs
@@ -11,7 +11,7 @@ internal sealed class AetherCurrentData
public AetherCurrentData(IDataManager dataManager)
{
- _overworldCurrents = dataManager.GetExcelSheet()!
+ _overworldCurrents = dataManager.GetExcelSheet()
.Where(x => x.RowId > 0)
.Where(x => x.Territory.IsValid)
.ToImmutableDictionary(
diff --git a/Questionable/Data/QuestData.cs b/Questionable/Data/QuestData.cs
index 0bc96b55..77b20e01 100644
--- a/Questionable/Data/QuestData.cs
+++ b/Questionable/Data/QuestData.cs
@@ -40,7 +40,7 @@ internal sealed class QuestData
public QuestData(IDataManager dataManager)
{
Dictionary questChapters =
- dataManager.GetExcelSheet()!
+ dataManager.GetExcelSheet()
.Where(x => x.RowId > 0 && x.Quest.RowId > 0)
.ToDictionary(x => x.Quest.RowId, x => x.Redo.RowId);
diff --git a/Questionable/Functions/ChatFunctions.cs b/Questionable/Functions/ChatFunctions.cs
index d53ed9be..a0f935ab 100644
--- a/Questionable/Functions/ChatFunctions.cs
+++ b/Questionable/Functions/ChatFunctions.cs
@@ -46,7 +46,7 @@ internal sealed unsafe class ChatFunctions
.Where(x => x.TextCommand.IsValid)
.Select(x => (x.RowId, Command: x.TextCommand.Value.Command.ToString()))
.Where(x => !string.IsNullOrEmpty(x.Command) && x.Command.StartsWith('/'))
- .ToDictionary(x => (EEmote)x.RowId, x => x.Command!)
+ .ToDictionary(x => (EEmote)x.RowId, x => x.Command)
.AsReadOnly();
}
diff --git a/Questionable/Functions/QuestFunctions.cs b/Questionable/Functions/QuestFunctions.cs
index fa837cac..1ef56c4e 100644
--- a/Questionable/Functions/QuestFunctions.cs
+++ b/Questionable/Functions/QuestFunctions.cs
@@ -129,9 +129,6 @@ internal sealed unsafe class QuestFunctions
var trackedQuest = questManager->TrackedQuests[i];
switch (trackedQuest.QuestType)
{
- default:
- break;
-
case 1: // normal quest
currentQuest = new QuestId(questManager->NormalQuests[trackedQuest.Index].QuestId);
if (_questRegistry.IsKnownQuest(currentQuest))
@@ -629,7 +626,7 @@ internal sealed unsafe class QuestFunctions
public bool IsClassJobUnlocked(EClassJob classJob)
{
- var classJobRow = _dataManager.GetExcelSheet()!.GetRow((uint)classJob)!;
+ var classJobRow = _dataManager.GetExcelSheet().GetRow((uint)classJob);
var questId = (ushort)classJobRow.UnlockQuest.RowId;
if (questId != 0)
return IsQuestComplete(new QuestId(questId));
@@ -640,7 +637,7 @@ internal sealed unsafe class QuestFunctions
public bool IsJobUnlocked(EClassJob classJob)
{
- var classJobRow = _dataManager.GetExcelSheet()!.GetRow((uint)classJob)!;
+ var classJobRow = _dataManager.GetExcelSheet().GetRow((uint)classJob);
return IsClassJobUnlocked((EClassJob)classJobRow.ClassJobParent.RowId);
}
diff --git a/Questionable/Model/SatisfactionSupplyInfo.cs b/Questionable/Model/SatisfactionSupplyInfo.cs
index e2c25ad8..21c92936 100644
--- a/Questionable/Model/SatisfactionSupplyInfo.cs
+++ b/Questionable/Model/SatisfactionSupplyInfo.cs
@@ -15,7 +15,7 @@ internal sealed class SatisfactionSupplyInfo : IQuestInfo
IssuerDataId = npc.Npc.RowId;
Level = npc.LevelUnlock;
SortKey = QuestId.Value;
- Expansion = (EExpansionVersion)npc.QuestRequired.Value!.Expansion.RowId;
+ Expansion = (EExpansionVersion)npc.QuestRequired.Value.Expansion.RowId;
PreviousQuests = [new PreviousQuestInfo(new QuestId((ushort)(npc.QuestRequired.RowId & 0xFFFF)))];
}
diff --git a/Questionable/Windows/JournalComponents/GatheringJournalComponent.cs b/Questionable/Windows/JournalComponents/GatheringJournalComponent.cs
index 53b1576e..daac30a4 100644
--- a/Questionable/Windows/JournalComponents/GatheringJournalComponent.cs
+++ b/Questionable/Windows/JournalComponents/GatheringJournalComponent.cs
@@ -108,9 +108,9 @@ internal sealed class GatheringJournalComponent
.GroupBy(x => x.GatheringPointId)
.ToDictionary(x => x.Key, x => x.First());
- var itemSheet = dataManager.GetExcelSheet- ()!;
+ var itemSheet = dataManager.GetExcelSheet
- ();
- _gatheringItems = dataManager.GetExcelSheet()!
+ _gatheringItems = dataManager.GetExcelSheet()
.Where(x => x.RowId != 0 && x.GatheringItemLevel.RowId != 0)
.Select(x => new
{
@@ -120,7 +120,7 @@ internal sealed class GatheringJournalComponent
.Where(x => !string.IsNullOrEmpty(x.Name))
.ToDictionary(x => x.GatheringItemId, x => x.Name!);
- _gatheringPointsByExpansion = dataManager.GetExcelSheet()!
+ _gatheringPointsByExpansion = dataManager.GetExcelSheet()
.Where(x => x.GatheringPointBase.RowId != 0)
.Where(x => x.GatheringPointBase.RowId is < 653 or > 680) // exclude ishgard restoration phase 1
.DistinctBy(x => x.GatheringPointBase.RowId)
@@ -128,7 +128,7 @@ internal sealed class GatheringJournalComponent
{
GatheringPointId = x.RowId,
Point = new DefaultGatheringPoint(new GatheringPointId((ushort)x.GatheringPointBase.RowId),
- x.GatheringPointBase.Value!.GatheringType.RowId switch
+ x.GatheringPointBase.Value.GatheringType.RowId switch
{
0 or 1 => EClassJob.Miner,
2 or 3 => EClassJob.Botanist,
@@ -159,7 +159,7 @@ internal sealed class GatheringJournalComponent
_gatheringPointRegistry.TryGetGatheringPoint(x.Point.Id, out GatheringRoot? gatheringRoot))
{
// for some reason the game doesn't know where this gathering location is
- var territoryType = territoryTypeSheet.GetRow(gatheringRoot.Steps.Last().TerritoryId)!;
+ var territoryType = territoryTypeSheet.GetRow(gatheringRoot.Steps.Last().TerritoryId);
return x.Point with
{
Expansion = (EExpansionVersion)territoryType.ExVersion.RowId,