Initial HSMappy release (fork of Mappy)

Made-with: Cursor
This commit is contained in:
2026-02-26 03:54:51 -05:00
commit 9659f7a7d1
72 changed files with 6625 additions and 0 deletions
@@ -0,0 +1,18 @@
using KamiLib.Classes;
using KamiLib.Extensions;
using Lumina.Excel.Sheets;
namespace Mappy.Classes.Caches;
public class AetheryteAethernetCache : Cache<uint, Aetheryte?>
{
protected override Aetheryte? LoadValue(uint key)
{
if (Service.DataManager.GetExcelSheet<Aetheryte>().FirstOrNull(aetheryte => aetheryte.AethernetName.RowId == key) is not { AethernetGroup: var aethernetGroup })
return null;
if (Service.DataManager.GetExcelSheet<Aetheryte>().FirstOrNull(aetheryte => aetheryte.IsAetheryte && aetheryte.AethernetGroup == aethernetGroup) is not { } targetAetheryte)
return null;
return targetAetheryte;
}
}
+23
View File
@@ -0,0 +1,23 @@
using System.Linq;
using KamiLib.Classes;
using Lumina.Excel.Sheets;
namespace Mappy.Classes.Caches;
public class CardRewardCache : Cache<uint, string>
{
protected override string LoadValue(uint key)
{
if (Service.DataManager.GetExcelSheet<TripleTriad>().GetRow(key) is { RowId: not 0 } triadInfo) {
var cardRewards = triadInfo.ItemPossibleReward
.Where(reward => reward.RowId is not 0)
.Select(reward => reward.Value)
.Where(item => item.RowId is not 0)
.Select(item => item.Name.ExtractText());
return string.Join("\n", cardRewards);
}
return string.Empty;
}
}
@@ -0,0 +1,24 @@
using System;
using KamiLib.Classes;
using Lumina.Excel.Sheets;
namespace Mappy.Classes.Caches;
public class GatheringPointIconCache : Cache<uint, uint>
{
protected override uint LoadValue(uint key)
{
var gatheringPoint = Service.DataManager.GetExcelSheet<GatheringPoint>().GetRow(key);
var gatheringPointBase = Service.DataManager.GetExcelSheet<GatheringPointBase>().GetRow(gatheringPoint.GatheringPointBase.RowId);
return gatheringPointBase.GatheringType.RowId switch
{
0 => 60438,
1 => 60437,
2 => 60433,
3 => 60432,
5 => 60445,
_ => throw new Exception($"Unknown Gathering Type: {gatheringPointBase.GatheringType.RowId}"),
};
}
}
@@ -0,0 +1,15 @@
using KamiLib.Classes;
using Lumina.Excel.Sheets;
namespace Mappy.Classes.Caches;
public class GatheringPointNameCache : Cache<(uint dataId, string name), string>
{
protected override string LoadValue((uint dataId, string name) key)
{
var gatheringPoint = Service.DataManager.GetExcelSheet<GatheringPoint>().GetRow(key.dataId);
var gatheringPointBase = Service.DataManager.GetExcelSheet<GatheringPointBase>().GetRow(gatheringPoint.GatheringPointBase.RowId);
return $"Lv. {gatheringPointBase.GatheringLevel.ToString()} {key.name}";
}
}
+18
View File
@@ -0,0 +1,18 @@
using KamiLib.Classes;
using Lumina.Excel.Sheets;
using Lumina.Extensions;
namespace Mappy.Classes.Caches;
public class TooltipCache : Cache<uint, string>
{
protected override string LoadValue(uint key)
{
var mapMarker = Service.DataManager.GetExcelSheet<MapSymbol>().FirstOrNull(marker => marker.Icon == key);
if (mapMarker is null) return string.Empty;
if (!mapMarker.Value.PlaceName.IsValid) return string.Empty;
return mapMarker.Value.PlaceName.Value.Name.ExtractText();
}
}
+9
View File
@@ -0,0 +1,9 @@
using KamiLib.Classes;
using Lumina.Excel.Sheets;
namespace Mappy.Classes.Caches;
public class TripleTriadCache : Cache<uint, bool>
{
protected override bool LoadValue(uint key) => Service.DataManager.GetExcelSheet<TripleTriad>().HasRow(key);
}