Compare commits
No commits in common. "main" and "2fd865333f84f1cc6315dac6e82afb1607a45496" have entirely different histories.
main
...
2fd865333f
|
@ -1,6 +1,6 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuestMap", "QuestMap\QuestMap.csproj", "{63ACA302-ADBE-4353-A722-D38531C8A34D}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Quest Map", "Quest Map\Quest Map.csproj", "{63ACA302-ADBE-4353-A722-D38531C8A34D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
|
|
@ -151,10 +151,16 @@ namespace QuestMap {
|
|||
}
|
||||
|
||||
internal static IEnumerable<Quest> PreviousQuests(this Quest quest) {
|
||||
foreach (var previous in quest.PreviousQuest) {
|
||||
if (previous != null && previous.Row != 0) {
|
||||
yield return previous.Value!;
|
||||
}
|
||||
if (quest.PreviousQuest0.Row != 0) {
|
||||
yield return quest.PreviousQuest0.Value!;
|
||||
}
|
||||
|
||||
if (quest.PreviousQuest1.Row != 0) {
|
||||
yield return quest.PreviousQuest1.Value!;
|
||||
}
|
||||
|
||||
if (quest.PreviousQuest2.Row != 0) {
|
||||
yield return quest.PreviousQuest2.Value!;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,31 +1,31 @@
|
|||
using System.Threading.Channels;
|
||||
using Dalamud.Data;
|
||||
using Dalamud.Game.ClientState;
|
||||
using Dalamud.Game.Command;
|
||||
using Dalamud.Game.Gui;
|
||||
using Dalamud.IoC;
|
||||
using Dalamud.Plugin;
|
||||
using Dalamud.Plugin.Services;
|
||||
using XivCommon;
|
||||
|
||||
namespace QuestMap {
|
||||
// ReSharper disable once ClassNeverInstantiated.Global
|
||||
internal class Plugin : IDalamudPlugin {
|
||||
internal static string Name => "Quest Map";
|
||||
public string Name => "Quest Map";
|
||||
|
||||
[PluginService]
|
||||
internal DalamudPluginInterface Interface { get; init; } = null!;
|
||||
|
||||
[PluginService]
|
||||
internal IClientState ClientState { get; init; } = null!;
|
||||
internal ClientState ClientState { get; init; } = null!;
|
||||
|
||||
[PluginService]
|
||||
internal ICommandManager CommandManager { get; init; } = null!;
|
||||
internal CommandManager CommandManager { get; init; } = null!;
|
||||
|
||||
[PluginService]
|
||||
internal IDataManager DataManager { get; init; } = null!;
|
||||
internal DataManager DataManager { get; init; } = null!;
|
||||
|
||||
[PluginService]
|
||||
internal IGameGui GameGui { get; init; } = null!;
|
||||
|
||||
[PluginService]
|
||||
internal ITextureProvider TextureProvider { get; init; } = null!;
|
||||
internal GameGui GameGui { get; init; } = null!;
|
||||
|
||||
internal XivCommonBase Common { get; }
|
||||
internal Configuration Config { get; }
|
||||
|
@ -34,7 +34,7 @@ namespace QuestMap {
|
|||
private Commands Commands { get; }
|
||||
|
||||
public Plugin() {
|
||||
this.Common = new XivCommonBase(this.Interface);
|
||||
this.Common = new XivCommonBase();
|
||||
this.Config = this.Interface.GetPluginConfig() as Configuration ?? new Configuration();
|
||||
|
||||
var graphChannel = Channel.CreateUnbounded<GraphInfo>();
|
|
@ -9,8 +9,8 @@ using Dalamud;
|
|||
using Dalamud.Game.Text.SeStringHandling;
|
||||
using Dalamud.Game.Text.SeStringHandling.Payloads;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Internal;
|
||||
using ImGuiNET;
|
||||
using ImGuiScene;
|
||||
using Lumina.Data;
|
||||
using Lumina.Excel;
|
||||
using Lumina.Excel.GeneratedSheets;
|
||||
|
@ -41,7 +41,7 @@ namespace QuestMap {
|
|||
private ChannelReader<GraphInfo> GraphChannel { get; }
|
||||
private CancellationTokenSource? CancellationTokenSource { get; set; }
|
||||
private HashSet<uint> InfoWindows { get; } = new();
|
||||
private Dictionary<uint, IDalamudTextureWrap> Icons { get; } = new();
|
||||
private Dictionary<uint, TextureWrap> Icons { get; } = new();
|
||||
private List<(Quest, bool, string)> FilteredQuests { get; } = new();
|
||||
|
||||
internal bool Show;
|
||||
|
@ -198,7 +198,7 @@ namespace QuestMap {
|
|||
|
||||
ImGui.SetNextWindowSize(new Vector2(675, 600), ImGuiCond.FirstUseEver);
|
||||
|
||||
if (!ImGui.Begin(Plugin.Name, ref this.Show, ImGuiWindowFlags.MenuBar)) {
|
||||
if (!ImGui.Begin(this.Plugin.Name, ref this.Show, ImGuiWindowFlags.MenuBar)) {
|
||||
ImGui.End();
|
||||
return;
|
||||
}
|
||||
|
@ -398,12 +398,12 @@ namespace QuestMap {
|
|||
ImGui.PopFont();
|
||||
}
|
||||
|
||||
IDalamudTextureWrap? GetIcon(uint id) {
|
||||
TextureWrap? GetIcon(uint id) {
|
||||
if (this.Icons.TryGetValue(id, out var wrap)) {
|
||||
return wrap;
|
||||
}
|
||||
|
||||
wrap = this.Plugin.TextureProvider.GetIcon(id);
|
||||
wrap = this.Plugin.DataManager.GetImGuiTextureIcon(this.Plugin.ClientState.ClientLanguage, id);
|
||||
if (wrap != null) {
|
||||
this.Icons[id] = wrap;
|
||||
}
|
||||
|
@ -535,8 +535,8 @@ namespace QuestMap {
|
|||
if (quest.ItemRewardType is 0 or 1 or 3 or 5) {
|
||||
DrawItemRewards(
|
||||
"Rewards",
|
||||
quest.ItemReward
|
||||
.Zip(quest.ItemCountReward, (id, qty) => (id, qty))
|
||||
quest.ItemReward0
|
||||
.Zip(quest.ItemCountReward0, (id, qty) => (id, qty))
|
||||
.Where(entry => entry.id != 0)
|
||||
.Select(entry => (item: this.Plugin.DataManager.GetExcelSheet<Item>()!.GetRow(entry.id), entry.qty))
|
||||
.Where(entry => entry.item != null)
|
||||
|
@ -546,8 +546,8 @@ namespace QuestMap {
|
|||
|
||||
DrawItemRewards(
|
||||
"Optional rewards",
|
||||
quest.OptionalItemReward
|
||||
.Zip(quest.OptionalItemCountReward, (row, qty) => (row, qty))
|
||||
quest.ItemReward1
|
||||
.Zip(quest.ItemCountReward1, (row, qty) => (row, qty))
|
||||
.Where(entry => entry.row.Row != 0)
|
||||
.Select(entry => (item: entry.row.Value, entry.qty))
|
||||
.Where(entry => entry.item != null)
|
|
@ -1,53 +1,52 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7-windows</TargetFramework>
|
||||
<TargetFramework>net5-windows</TargetFramework>
|
||||
<RootNamespace>QuestMap</RootNamespace>
|
||||
<Version>1.4.7</Version>
|
||||
<Version>1.4.0</Version>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
|
||||
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<DalamudLibPath>$(AppData)\XIVLauncher\addon\Hooks\dev</DalamudLibPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))'">
|
||||
<DalamudLibPath>$(DALAMUD_HOME)</DalamudLibPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(IsCI)' == 'true'">
|
||||
<DalamudLibPath>$(HOME)/dalamud</DalamudLibPath>
|
||||
<IgnoredLints>
|
||||
D0008
|
||||
</IgnoredLints>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="Dalamud">
|
||||
<HintPath>$(DalamudLibPath)\Dalamud.dll</HintPath>
|
||||
<HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\Dalamud.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="ImGui.NET">
|
||||
<HintPath>$(DalamudLibPath)\ImGui.NET.dll</HintPath>
|
||||
<HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\ImGui.NET.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="ImGuiScene">
|
||||
<HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\ImGuiScene.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Lumina">
|
||||
<HintPath>$(DalamudLibPath)\Lumina.dll</HintPath>
|
||||
<HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\Lumina.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Lumina.Excel">
|
||||
<HintPath>$(DalamudLibPath)\Lumina.Excel.dll</HintPath>
|
||||
<HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\Lumina.Excel.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AutomaticGraphLayout" Version="1.1.12"/>
|
||||
<PackageReference Include="DalamudPackager" Version="2.1.12"/>
|
||||
<PackageReference Include="System.Threading.Channels" Version="7.0.0"/>
|
||||
<PackageReference Include="XivCommon" Version="9.0.0"/>
|
||||
<PackageReference Include="DalamudLinter" Version="1.0.3"/>
|
||||
<PackageReference Include="DalamudPackager" Version="2.1.2"/>
|
||||
<PackageReference Include="System.Threading.Channels" Version="5.0.0"/>
|
||||
<PackageReference Include="XivCommon" Version="3.0.2"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="..\icon.png" Link="images/icon.png" CopyToOutputDirectory="PreserveNewest" Visible="false"/>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -1,5 +1,5 @@
|
|||
name: Quest Map
|
||||
author: Anna
|
||||
author: ascclemens
|
||||
punchline: Explore quests and their rewards.
|
||||
description: |-
|
||||
Explore quests and their rewards.
|
||||
|
@ -11,4 +11,4 @@ description: |-
|
|||
|
||||
Icons: treasure map by Anthony Ledoux from the Noun Project and
|
||||
locked book by Anthony Ledoux from the Noun Project
|
||||
repo_url: https://git.anna.lgbt/anna/QuestMap
|
||||
repo_url: https://git.sr.ht/~jkcclemens/QuestMap
|
|
@ -52,7 +52,7 @@ namespace QuestMap {
|
|||
emoteRewards[quest.RowId] = quest.EmoteReward.Value!;
|
||||
}
|
||||
|
||||
foreach (var row in quest.ItemReward.Where(item => item != 0)) {
|
||||
foreach (var row in quest.ItemReward0.Where(item => item != 0)) {
|
||||
var item = this.Plugin.DataManager.GetExcelSheet<Item>()!.GetRow(row);
|
||||
if (item == null) {
|
||||
continue;
|
||||
|
@ -69,7 +69,7 @@ namespace QuestMap {
|
|||
rewards.Add(item);
|
||||
}
|
||||
|
||||
foreach (var row in quest.OptionalItemReward.Where(item => item.Row != 0)) {
|
||||
foreach (var row in quest.ItemReward1.Where(item => item.Row != 0)) {
|
||||
var item = row.Value;
|
||||
|
||||
List<Item> rewards;
|
||||
|
@ -220,8 +220,8 @@ namespace QuestMap {
|
|||
}
|
||||
|
||||
var name = quest.RowId switch {
|
||||
70058 => "A Realm Reborn (2.0)",
|
||||
66729 => "A Realm Awoken (2.1)",
|
||||
66060 => "A Realm Reborn (2.0)",
|
||||
69414 => "A Realm Awoken (2.1)",
|
||||
66899 => "Through the Maelstrom (2.2)",
|
||||
66996 => "Defenders of Eorzea (2.3)",
|
||||
65625 => "Dreams of Ice (2.4)",
|
||||
|
@ -248,12 +248,6 @@ namespace QuestMap {
|
|||
69552 => "Futures Rewritten (5.4)",
|
||||
69599 => "Death Unto Dawn - Part 1 (5.5)",
|
||||
69602 => "Death Unto Dawn - Part 2 (5.55)",
|
||||
70000 => "Endwalker (6.0)",
|
||||
70062 => "Newfound Adventure (6.1)",
|
||||
70136 => "Buried Memory (6.2)",
|
||||
70214 => "Gods Revel, Lands Tremble (6.3)",
|
||||
70279 => "The Dark Throne (6.4)",
|
||||
70286 => "Growing Light (6.5)",
|
||||
_ => null,
|
||||
};
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
"version": 1,
|
||||
"dependencies": {
|
||||
"net7.0-windows7.0": {
|
||||
"AutomaticGraphLayout": {
|
||||
"type": "Direct",
|
||||
"requested": "[1.1.12, )",
|
||||
"resolved": "1.1.12",
|
||||
"contentHash": "Txc1uVLwnKemnPWmGSAVSZaBR95VTxU7/LfarvSOuJC6KuwPW4xrLpIGTOUbCXYZiSnkxN2jiC3FwX/2051+9g=="
|
||||
},
|
||||
"DalamudPackager": {
|
||||
"type": "Direct",
|
||||
"requested": "[2.1.12, )",
|
||||
"resolved": "2.1.12",
|
||||
"contentHash": "Sc0PVxvgg4NQjcI8n10/VfUQBAS4O+Fw2pZrAqBdRMbthYGeogzu5+xmIGCGmsEZ/ukMOBuAqiNiB5qA3MRalg=="
|
||||
},
|
||||
"System.Threading.Channels": {
|
||||
"type": "Direct",
|
||||
"requested": "[7.0.0, )",
|
||||
"resolved": "7.0.0",
|
||||
"contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA=="
|
||||
},
|
||||
"XivCommon": {
|
||||
"type": "Direct",
|
||||
"requested": "[9.0.0, )",
|
||||
"resolved": "9.0.0",
|
||||
"contentHash": "avaBp3FmSCi/PiQhntCeBDYOHejdyTWmFtz4pRBVQQ8vHkmRx+YTk1la9dkYBMlXxRXKckEdH1iI1Fu61JlE7w=="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue