Compare commits
No commits in common. "main" and "149d1b806d2fb94b1aece1b55449d460563bc0f1" have entirely different histories.
main
...
149d1b806d
|
@ -1,59 +1,49 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7-windows</TargetFramework>
|
||||
<Version>1.2.7</Version>
|
||||
<TargetFramework>net5-windows</TargetFramework>
|
||||
<Version>1.2.1</Version>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</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>
|
||||
</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="FFXIVClientStructs">
|
||||
<HintPath>$(DalamudLibPath)\FFXIVClientStructs.dll</HintPath>
|
||||
<HintPath>$(AppData)\XIVLauncher\addon\Hooks\dev\FFXIVClientStructs.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>$(DalamudLibPath)\ImGuiScene.dll</HintPath>
|
||||
<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="DalamudPackager" Version="2.1.12"/>
|
||||
<PackageReference Include="XivCommon" Version="9.0.0"/>
|
||||
<PackageReference Include="DalamudPackager" Version="2.1.2"/>
|
||||
<PackageReference Include="XivCommon" Version="3.0.1"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="..\icon.png" Link="images/icon.png" CopyToOutputDirectory="PreserveNewest" Visible="false"/>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
author: Anna
|
||||
author: ascclemens
|
||||
name: Better Party Finder
|
||||
punchline: Use advanced Party Finder filter presets.
|
||||
description: |-
|
||||
|
@ -12,4 +12,3 @@ description: |-
|
|||
- Remove PFs above maximum item level
|
||||
- Filter on item level range
|
||||
- Filter on multiple jobs and slots (ex. MCH + GNB available)
|
||||
repo_url: https://git.anna.lgbt/anna/BetterPartyFinder
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace BetterPartyFinder {
|
|||
SeString msg = "Party description: ";
|
||||
msg.Payloads.AddRange(listing.Description.Payloads);
|
||||
|
||||
this.Plugin.ChatGui.Print(new XivChatEntry {
|
||||
this.Plugin.ChatGui.PrintChat(new XivChatEntry {
|
||||
Name = "Better Party Finder",
|
||||
Type = XivChatType.SystemMessage,
|
||||
Message = msg,
|
||||
|
|
|
@ -1,33 +1,37 @@
|
|||
using Dalamud.IoC;
|
||||
using Dalamud.Data;
|
||||
using Dalamud.Game.ClientState;
|
||||
using Dalamud.Game.Command;
|
||||
using Dalamud.Game.Gui;
|
||||
using Dalamud.Game.Gui.PartyFinder;
|
||||
using Dalamud.IoC;
|
||||
using Dalamud.Plugin;
|
||||
using Dalamud.Plugin.Services;
|
||||
using XivCommon;
|
||||
|
||||
namespace BetterPartyFinder {
|
||||
// ReSharper disable once ClassNeverInstantiated.Global
|
||||
public class Plugin : IDalamudPlugin {
|
||||
internal static string Name => "Better Party Finder";
|
||||
public string Name => "Better Party Finder";
|
||||
|
||||
[PluginService]
|
||||
internal DalamudPluginInterface Interface { get; init; } = null!;
|
||||
|
||||
[PluginService]
|
||||
internal IChatGui ChatGui { get; init; } = null!;
|
||||
internal ChatGui ChatGui { 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!;
|
||||
internal GameGui GameGui { get; init; } = null!;
|
||||
|
||||
[PluginService]
|
||||
internal IPartyFinderGui PartyFinderGui { get; init; } = null!;
|
||||
internal PartyFinderGui PartyFinderGui { get; init; } = null!;
|
||||
|
||||
internal Configuration Config { get; }
|
||||
private Filter Filter { get; }
|
||||
|
@ -40,7 +44,7 @@ namespace BetterPartyFinder {
|
|||
this.Config = Configuration.Load(this) ?? new Configuration();
|
||||
this.Config.Initialise(this);
|
||||
|
||||
this.Common = new XivCommonBase(this.Interface, Hooks.PartyFinder);
|
||||
this.Common = new XivCommonBase(Hooks.PartyFinder);
|
||||
this.Filter = new Filter(this);
|
||||
this.JoinHandler = new JoinHandler(this);
|
||||
this.Ui = new PluginUi(this);
|
||||
|
|
|
@ -2,11 +2,10 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using Dalamud.Data;
|
||||
using Dalamud.Game.Gui.PartyFinder.Types;
|
||||
using Dalamud.Game.Text.SeStringHandling;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Component.GUI;
|
||||
using ImGuiNET;
|
||||
using Lumina.Excel.GeneratedSheets;
|
||||
|
@ -89,7 +88,7 @@ namespace BetterPartyFinder {
|
|||
private void DrawSettingsWindow() {
|
||||
ImGui.SetNextWindowSize(new Vector2(-1f, -1f), ImGuiCond.FirstUseEver);
|
||||
|
||||
if (!this.SettingsVisible || !ImGui.Begin($"{Plugin.Name} settings", ref this._settingsVisible)) {
|
||||
if (!this.SettingsVisible || !ImGui.Begin($"{this.Plugin.Name} settings", ref this._settingsVisible)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -142,7 +141,7 @@ namespace BetterPartyFinder {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!ImGui.Begin(Plugin.Name, ref this._visible, ImGuiWindowFlags.NoDocking)) {
|
||||
if (!ImGui.Begin(this.Plugin.Name, ref this._visible, ImGuiWindowFlags.NoDocking)) {
|
||||
if (ImGui.IsWindowCollapsed() && addon != null && addon->IsVisible) {
|
||||
// wait until addon is initialised to show
|
||||
var rootNode = addon->RootNode;
|
||||
|
@ -363,7 +362,7 @@ namespace BetterPartyFinder {
|
|||
|
||||
if (ImGui.BeginChild("duty-selection", new Vector2(-1f, -1f))) {
|
||||
var duties = this.Plugin.DataManager.GetExcelSheet<ContentFinderCondition>()!
|
||||
.Where(cf => cf.Unknown30)
|
||||
.Where(cf => cf.Unknown29)
|
||||
.Where(cf => AllowedContentTypes.Contains(cf.ContentType.Row));
|
||||
|
||||
var searchQuery = this.DutySearchQuery.Trim();
|
||||
|
@ -679,7 +678,7 @@ namespace BetterPartyFinder {
|
|||
}
|
||||
|
||||
internal static class UiCategoryExt {
|
||||
internal static string? Name(this UiCategory category, IDataManager data) {
|
||||
internal static string? Name(this UiCategory category, DataManager data) {
|
||||
var ct = data.GetExcelSheet<ContentType>()!;
|
||||
var addon = data.GetExcelSheet<Addon>()!;
|
||||
|
||||
|
@ -703,7 +702,7 @@ namespace BetterPartyFinder {
|
|||
};
|
||||
}
|
||||
|
||||
internal static bool ListingMatches(this UiCategory category, IDataManager data, PartyFinderListing listing) {
|
||||
internal static bool ListingMatches(this UiCategory category, DataManager data, PartyFinderListing listing) {
|
||||
var cr = data.GetExcelSheet<ContentRoulette>()!;
|
||||
|
||||
var isDuty = listing.Category == DutyCategory.Duty;
|
||||
|
@ -713,13 +712,13 @@ namespace BetterPartyFinder {
|
|||
|
||||
return category switch {
|
||||
UiCategory.None => isOther && isDuty && listing.RawDuty == 0,
|
||||
UiCategory.DutyRoulette => listing.DutyType == DutyType.Roulette && isDuty && (!cr.GetRow(listing.RawDuty)?.IsPvP ?? false),
|
||||
UiCategory.DutyRoulette => listing.DutyType == DutyType.Roulette && isDuty && (!cr.GetRow(listing.RawDuty)?.Unknown10 ?? false),
|
||||
UiCategory.Dungeons => isNormalDuty && listing.Duty.Value.ContentType.Row == (uint) ContentType2.Dungeons,
|
||||
UiCategory.Guildhests => isNormalDuty && listing.Duty.Value.ContentType.Row == (uint) ContentType2.Guildhests,
|
||||
UiCategory.Trials => isNormalDuty && !listing.Duty.Value.HighEndDuty && listing.Duty.Value.ContentType.Row == (uint) ContentType2.Trials,
|
||||
UiCategory.Raids => isNormalDuty && !listing.Duty.Value.HighEndDuty && listing.Duty.Value.ContentType.Row == (uint) ContentType2.Raids,
|
||||
UiCategory.HighEndDuty => isNormalDuty && listing.Duty.Value.HighEndDuty,
|
||||
UiCategory.Pvp => listing.DutyType == DutyType.Roulette && isDuty && (cr.GetRow(listing.RawDuty)?.IsPvP ?? false)
|
||||
UiCategory.Pvp => listing.DutyType == DutyType.Roulette && isDuty && (cr.GetRow(listing.RawDuty)?.Unknown10 ?? false)
|
||||
|| isNormalDuty && listing.Duty.Value.ContentType.Row == (uint) ContentType2.Pvp,
|
||||
UiCategory.QuestBattles => isOther && listing.Category == DutyCategory.QuestBattles,
|
||||
UiCategory.Fates => isOther && listing.Category == DutyCategory.Fates,
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using Dalamud.Data;
|
||||
using Dalamud.Game.ClientState.Objects.SubKinds;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Lumina.Excel.GeneratedSheets;
|
||||
|
||||
namespace BetterPartyFinder {
|
||||
public static class Util {
|
||||
internal static uint MaxItemLevel { get; private set; }
|
||||
|
||||
internal static void CalculateMaxItemLevel(IDataManager data) {
|
||||
internal static void CalculateMaxItemLevel(DataManager data) {
|
||||
if (MaxItemLevel > 0) {
|
||||
return;
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ namespace BetterPartyFinder {
|
|||
return CultureInfo.InvariantCulture.CompareInfo.IndexOf(haystack, needle, CompareOptions.IgnoreCase) >= 0;
|
||||
}
|
||||
|
||||
internal static IEnumerable<World> WorldsOnDataCentre(IDataManager data, PlayerCharacter character) {
|
||||
internal static IEnumerable<World> WorldsOnDataCentre(DataManager data, PlayerCharacter character) {
|
||||
var dcRow = character.HomeWorld.GameData.DataCenter.Row;
|
||||
return data.GetExcelSheet<World>()!
|
||||
.Where(world => world.IsPublic && world.DataCenter.Row == dcRow);
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"version": 1,
|
||||
"dependencies": {
|
||||
"net7.0-windows7.0": {
|
||||
"DalamudPackager": {
|
||||
"type": "Direct",
|
||||
"requested": "[2.1.12, )",
|
||||
"resolved": "2.1.12",
|
||||
"contentHash": "Sc0PVxvgg4NQjcI8n10/VfUQBAS4O+Fw2pZrAqBdRMbthYGeogzu5+xmIGCGmsEZ/ukMOBuAqiNiB5qA3MRalg=="
|
||||
},
|
||||
"XivCommon": {
|
||||
"type": "Direct",
|
||||
"requested": "[9.0.0, )",
|
||||
"resolved": "9.0.0",
|
||||
"contentHash": "avaBp3FmSCi/PiQhntCeBDYOHejdyTWmFtz4pRBVQQ8vHkmRx+YTk1la9dkYBMlXxRXKckEdH1iI1Fu61JlE7w=="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue