Initial HSMappy release (fork of Mappy)
Made-with: Cursor
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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}";
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user