├── PickIt ├── README.md ├── packages.config ├── Misc.cs ├── Properties │ └── AssemblyInfo.cs ├── PickIt.csproj └── CustomItem.cs ├── DevTree ├── README.md ├── packages.config ├── Helpers.cs ├── Properties │ └── AssemblyInfo.cs └── DevTreeSettings.cs ├── ItemAlert ├── README.md ├── packages.config ├── ItemIcon.cs ├── Properties │ └── AssemblyInfo.cs ├── ItemAlertSettings.cs ├── AlertDrawStyle.cs └── ItemAlert.csproj ├── HealthBars ├── README.md ├── packages.config ├── Properties │ └── AssemblyInfo.cs ├── HealthBars.csproj └── HealthBarsSettings.cs ├── KillCounter ├── README.md ├── packages.config ├── Properties │ └── AssemblyInfo.cs └── KillCounter.csproj ├── IconsBuilder ├── README.md ├── PortalIcon.cs ├── packages.config ├── ShrineIcon.cs ├── PlayerIcon.cs ├── MissionMarkerIcon.cs ├── NpcIcon.cs ├── Properties │ └── AssemblyInfo.cs ├── IconsBuilderSettings.cs ├── MonsterIcon.cs ├── MiscIcon.cs └── IconsBuilder.csproj ├── MinimapIcons ├── README.md ├── packages.config ├── MapIcon.cs ├── MapIconsSettings.cs ├── Properties │ └── AssemblyInfo.cs └── MinimapIcons.csproj ├── PreloadAlert ├── README.md ├── packages.config ├── PreloadConfigLine.cs ├── Properties │ └── AssemblyInfo.cs └── PreloadAlert.csproj ├── AdvancedTooltip ├── README.md ├── packages.config ├── ItemLevelSettings.cs ├── AdvancedTooltipSettings.cs ├── ItemModsSettings.cs ├── Properties │ └── AssemblyInfo.cs ├── WeaponDpsSettings.cs └── AdvancedTooltip.csproj ├── MiscInformation ├── README.md ├── packages.config ├── MiscInformationSettings.cs ├── Properties │ └── AssemblyInfo.cs └── MiscInformation.csproj ├── MapsExchange ├── images │ ├── atlas.psd │ ├── buy.png │ ├── Circle.png │ ├── Circle2.png │ ├── ImagesAtlas.png │ ├── AtlasMapCircle.png │ └── AtlasMapCircleFilled.png ├── packages.config ├── Properties │ └── AssemblyInfo.cs ├── Mouse.cs ├── MapsExchange.csproj ├── MapsExchangeSettings.cs └── PoeTradeProcessor.cs ├── TutorialTextures └── atlas_generation.png ├── Stashie ├── IIFilter.cs ├── ListIndexNode.cs ├── ElderItemFiler.cs ├── ShaperItemFiler.cs ├── FracturedItemFiler.cs ├── IdentifiedItemFilter.cs ├── CustomFilter.cs ├── BaseFilter.cs ├── FilterParameterCompare.cs ├── README.md ├── FilterResult.cs ├── packages.config ├── Properties │ └── AssemblyInfo.cs ├── StashieSettings.cs ├── ItemData.cs └── Refill.cs ├── DPSMeter ├── packages.config ├── Properties │ └── AssemblyInfo.cs ├── DpsMeterSettings.cs └── DPSMeter.csproj ├── AdvancedUberLabLayout ├── packages.config ├── config.ini ├── Settings.cs ├── Properties │ └── AssemblyInfo.cs └── AdvancedUberLabLayout.csproj ├── EliteBar ├── packages.config ├── Properties │ └── AssemblyInfo.cs ├── EliteBarSettings.cs └── EliteBar.csproj ├── XPBar ├── Settings.cs ├── XPBar.sln ├── Properties │ └── AssemblyInfo.cs ├── XPBar.csproj └── Core.cs ├── Skill DPS ├── packages.config ├── app.config ├── Core │ └── Settings.cs ├── Properties │ └── AssemblyInfo.cs └── Skill DPS.csproj └── PassiveSkillTreePlanter ├── packages.config ├── app.config ├── PassiveSkillTreeJson_Downloader.cs ├── UrlDecoders ├── PathOfExileUrlDecoder.cs └── PoePlannerUrlDecoder.cs ├── PassiveSkillTreePlanter_Settings.cs ├── Properties └── AssemblyInfo.cs ├── SkillNode.cs └── SkillTreeJson ├── PoESkillTreeJsonDecoder.cs └── PoESkillTree.cs /PickIt/README.md: -------------------------------------------------------------------------------- 1 | PickIt 2 | -------------------------------------------------------------------------------- /DevTree/README.md: -------------------------------------------------------------------------------- 1 | DevTree 2 | -------------------------------------------------------------------------------- /ItemAlert/README.md: -------------------------------------------------------------------------------- 1 | ItemAlert 2 | -------------------------------------------------------------------------------- /HealthBars/README.md: -------------------------------------------------------------------------------- 1 | HealthBars 2 | -------------------------------------------------------------------------------- /KillCounter/README.md: -------------------------------------------------------------------------------- 1 | KillCounter 2 | -------------------------------------------------------------------------------- /IconsBuilder/README.md: -------------------------------------------------------------------------------- 1 | IconsBuilder 2 | -------------------------------------------------------------------------------- /MinimapIcons/README.md: -------------------------------------------------------------------------------- 1 | MinimapIcons 2 | -------------------------------------------------------------------------------- /PreloadAlert/README.md: -------------------------------------------------------------------------------- 1 | PreloadAlert 2 | -------------------------------------------------------------------------------- /AdvancedTooltip/README.md: -------------------------------------------------------------------------------- 1 | AdvancedTooltip 2 | -------------------------------------------------------------------------------- /MiscInformation/README.md: -------------------------------------------------------------------------------- 1 | MiscInformation 2 | -------------------------------------------------------------------------------- /MapsExchange/images/atlas.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Qvin0000/ExileApiPlugins/HEAD/MapsExchange/images/atlas.psd -------------------------------------------------------------------------------- /MapsExchange/images/buy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Qvin0000/ExileApiPlugins/HEAD/MapsExchange/images/buy.png -------------------------------------------------------------------------------- /MapsExchange/images/Circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Qvin0000/ExileApiPlugins/HEAD/MapsExchange/images/Circle.png -------------------------------------------------------------------------------- /MapsExchange/images/Circle2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Qvin0000/ExileApiPlugins/HEAD/MapsExchange/images/Circle2.png -------------------------------------------------------------------------------- /MapsExchange/images/ImagesAtlas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Qvin0000/ExileApiPlugins/HEAD/MapsExchange/images/ImagesAtlas.png -------------------------------------------------------------------------------- /MapsExchange/images/AtlasMapCircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Qvin0000/ExileApiPlugins/HEAD/MapsExchange/images/AtlasMapCircle.png -------------------------------------------------------------------------------- /TutorialTextures/atlas_generation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Qvin0000/ExileApiPlugins/HEAD/TutorialTextures/atlas_generation.png -------------------------------------------------------------------------------- /MapsExchange/images/AtlasMapCircleFilled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Qvin0000/ExileApiPlugins/HEAD/MapsExchange/images/AtlasMapCircleFilled.png -------------------------------------------------------------------------------- /Stashie/IIFilter.cs: -------------------------------------------------------------------------------- 1 | namespace Stashie 2 | { 3 | public interface IIFilter 4 | { 5 | bool CompareItem(ItemData itemData); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Stashie/ListIndexNode.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Nodes; 2 | 3 | namespace Stashie 4 | { 5 | public class ListIndexNode : ListNode 6 | { 7 | public int Index; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /PickIt/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /HealthBars/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /KillCounter/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Stashie/ElderItemFiler.cs: -------------------------------------------------------------------------------- 1 | namespace Stashie 2 | { 3 | public class ElderItemFiler : IIFilter 4 | { 5 | public bool isElder; 6 | 7 | public bool CompareItem(ItemData itemData) 8 | { 9 | return itemData.isElder == isElder; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Stashie/ShaperItemFiler.cs: -------------------------------------------------------------------------------- 1 | namespace Stashie 2 | { 3 | public class ShaperItemFiler : IIFilter 4 | { 5 | public bool isShaper; 6 | 7 | public bool CompareItem(ItemData itemData) 8 | { 9 | return itemData.isShaper == isShaper; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /DPSMeter/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MinimapIcons/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MapsExchange/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MiscInformation/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Stashie/FracturedItemFiler.cs: -------------------------------------------------------------------------------- 1 | namespace Stashie 2 | { 3 | public class FracturedItemFiler : IIFilter 4 | { 5 | public bool isFractured; 6 | 7 | public bool CompareItem(ItemData itemData) 8 | { 9 | return itemData.isFractured == isFractured; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Stashie/IdentifiedItemFilter.cs: -------------------------------------------------------------------------------- 1 | namespace Stashie 2 | { 3 | public class IdentifiedItemFilter : IIFilter 4 | { 5 | public bool BIdentified; 6 | 7 | public bool CompareItem(ItemData itemData) 8 | { 9 | return itemData.BIdentified == BIdentified; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /AdvancedUberLabLayout/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /IconsBuilder/PortalIcon.cs: -------------------------------------------------------------------------------- 1 | using ExileCore; 2 | using ExileCore.PoEMemory.MemoryObjects; 3 | using ExileCore.Shared.Abstract; 4 | 5 | namespace IconsBuilder 6 | { 7 | public class PortalIcon : BaseIcon 8 | { 9 | public PortalIcon(Entity entity, GameController gameController, IconsBuilderSettings settings) : base(entity, settings) 10 | { 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /EliteBar/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Stashie/CustomFilter.cs: -------------------------------------------------------------------------------- 1 | namespace Stashie 2 | { 3 | public class CustomFilter : BaseFilter 4 | { 5 | public string Name { get; set; } 6 | public ListIndexNode StashIndexNode { get; set; } 7 | public string SubmenuName { get; set; } 8 | public string Commands { get; set; } 9 | public int Index { get; set; } 10 | public bool AllowProcess => StashIndexNode.Index != -1; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /XPBar/Settings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Interfaces; 2 | using ExileCore.Shared.Nodes; 3 | 4 | namespace XPBar 5 | { 6 | public class Settings : ISettings 7 | { 8 | public Settings() 9 | { 10 | ExampleRangeNode = new RangeNode(1, 0, 100); 11 | } 12 | 13 | public RangeNode ExampleRangeNode { get; set; } 14 | public ToggleNode Enable { get; set; } = new ToggleNode(true); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /IconsBuilder/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Skill DPS/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /AdvancedTooltip/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PreloadAlert/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Stashie/BaseFilter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using JM.LinqFaster; 3 | 4 | namespace Stashie 5 | { 6 | public class BaseFilter : IIFilter 7 | { 8 | public List Filters { get; } = new List(); 9 | public bool BAny { get; set; } 10 | 11 | public bool CompareItem(ItemData itemData) 12 | { 13 | return BAny ? Filters.AnyF(x => x.CompareItem(itemData)) : Filters.AllF(x => x.CompareItem(itemData)); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Stashie/FilterParameterCompare.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Stashie 4 | { 5 | public class FilterParameterCompare : IIFilter 6 | { 7 | public int CompareInt; 8 | public string CompareString; 9 | public Func CompDeleg; 10 | public Func IntParameter; 11 | public Func StringParameter; 12 | 13 | public bool CompareItem(ItemData itemData) 14 | { 15 | return CompDeleg(itemData); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Stashie/README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | ##### How does it work? 6 | Walk up to your stashtab and open it, then press your hotkey (if you have that setting enabled). The plugin will then put all your inventory items in their corresponding tabs. The tab indexes are set by the user via the settings UI. Ignored cells are also featured. 7 | 8 | #### Wanna give feedback? 9 | https://discord.gg/Q3cdy4v 10 | 11 | ![](http://overseer.co/Stashie/Stashie.gif) 12 | -------------------------------------------------------------------------------- /ItemAlert/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Skill DPS/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /DevTree/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Stashie/FilterResult.cs: -------------------------------------------------------------------------------- 1 | using SharpDX; 2 | 3 | namespace Stashie 4 | { 5 | public class FilterResult 6 | { 7 | public FilterResult(CustomFilter filter, ItemData itemData) 8 | { 9 | Filter = filter; 10 | ItemData = itemData; 11 | StashIndex = filter.StashIndexNode.Index; 12 | ClickPos = itemData.GetClickPosCache(); 13 | } 14 | 15 | public CustomFilter Filter { get; } 16 | public ItemData ItemData { get; } 17 | public int StashIndex { get; } 18 | public Vector2 ClickPos { get; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /PickIt/Misc.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.PoEMemory.Components; 2 | using ExileCore.PoEMemory.MemoryObjects; 3 | using SharpDX; 4 | 5 | namespace PickIt 6 | { 7 | public class Misc 8 | { 9 | public static float EntityDistance(Entity entity, Entity player) 10 | { 11 | var component = entity?.GetComponent(); 12 | 13 | if (component == null) 14 | return 9999999f; 15 | 16 | var objectPosition = component.Pos; 17 | 18 | return Vector3.Distance(objectPosition, player.GetComponent().Pos); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /AdvancedUberLabLayout/config.ini: -------------------------------------------------------------------------------- 1 | { 2 | "Enable": false, 3 | "CurrentImageDateDay": 10, 4 | "ShowImage": true, 5 | "LabType": { 6 | "Values": [ 7 | "normal", 8 | "cruel", 9 | "merciless", 10 | "uber" 11 | ], 12 | "Value": "uber" 13 | }, 14 | "AutoLabDetection": true, 15 | "X": { 16 | "Value": 500.0 17 | }, 18 | "Y": { 19 | "Value": 0.0 20 | }, 21 | "Transparency": { 22 | "Value": 255.0 23 | }, 24 | "Size": { 25 | "Value": 71.0 26 | }, 27 | "ToggleDraw": { 28 | "Value": 46 29 | }, 30 | "Reload": { 31 | "Value": 45 32 | } 33 | } -------------------------------------------------------------------------------- /Stashie/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /PreloadAlert/PreloadConfigLine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using SharpDX; 3 | 4 | namespace PreloadAlert 5 | { 6 | public class PreloadConfigLine : ConfigLineBase 7 | { 8 | public Func FastColor; 9 | } 10 | 11 | public abstract class ConfigLineBase 12 | { 13 | public string Text { get; set; } 14 | public Color? Color { get; set; } 15 | 16 | public override bool Equals(object obj) 17 | { 18 | return Text == ((ConfigLineBase) obj).Text; 19 | } 20 | 21 | public override int GetHashCode() 22 | { 23 | return Text.GetHashCode(); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ItemAlert/ItemIcon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using ExileCore; 3 | using ExileCore.PoEMemory.MemoryObjects; 4 | using ExileCore.Shared; 5 | using ExileCore.Shared.Abstract; 6 | using ExileCore.Shared.Enums; 7 | 8 | namespace ItemAlert 9 | { 10 | internal class ItemIcon : BaseIcon 11 | { 12 | public ItemIcon(Entity entity, HudTexture hudTexture, Func func, GameController gameController, ItemAlertSettings settings) : 13 | base(entity, settings) 14 | { 15 | MainTexture = hudTexture; 16 | Show = () => func() && entity.IsValid; 17 | MainTexture.Size = settings.LootIcon; 18 | Priority = IconPriority.Medium; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /AdvancedTooltip/ItemLevelSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Interfaces; 2 | using ExileCore.Shared.Nodes; 3 | using SharpDX; 4 | 5 | namespace AdvancedTooltip 6 | { 7 | public class ItemLevelSettings : ISettings 8 | { 9 | public ItemLevelSettings() 10 | { 11 | Enable = new ToggleNode(true); 12 | TextSize = new RangeNode(16, 10, 50); 13 | TextColor = new ColorBGRA(255, 255, 0, 255); 14 | BackgroundColor = new ColorBGRA(0, 0, 0, 230); 15 | } 16 | 17 | public RangeNode TextSize { get; set; } 18 | public ColorNode TextColor { get; set; } 19 | public ColorNode BackgroundColor { get; set; } 20 | public ToggleNode Enable { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /IconsBuilder/ShrineIcon.cs: -------------------------------------------------------------------------------- 1 | using ExileCore; 2 | using ExileCore.PoEMemory.Components; 3 | using ExileCore.PoEMemory.MemoryObjects; 4 | using ExileCore.Shared; 5 | using ExileCore.Shared.Abstract; 6 | using ExileCore.Shared.Enums; 7 | using ExileCore.Shared.Helpers; 8 | 9 | namespace IconsBuilder 10 | { 11 | public class ShrineIcon : BaseIcon 12 | { 13 | public ShrineIcon(Entity entity, GameController gameController, IconsBuilderSettings settings) : base(entity, settings) 14 | { 15 | MainTexture = new HudTexture("Icons.png"); 16 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.Shrine); 17 | Text = entity.GetComponent()?.Name; 18 | MainTexture.Size = settings.SizeShrineIcon; 19 | Show = () => entity.IsValid && entity.GetComponent().IsAvailable; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MinimapIcons/MapIcon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using SharpDX; 3 | 4 | namespace MinimapIcons 5 | { 6 | public class MapIcon 7 | { 8 | public static Vector2 DeltaInWorldToMinimapDelta(Vector2 delta, double diag, float scale, float deltaZ = 0) 9 | { 10 | const float CAMERA_ANGLE = 38 * MathUtil.Pi / 180; 11 | 12 | // Values according to 40 degree rotation of cartesian coordiantes, still doesn't seem right but closer 13 | var cos = (float) (diag * Math.Cos(CAMERA_ANGLE) / scale); 14 | var sin = (float) (diag * Math.Sin(CAMERA_ANGLE) / scale); // possible to use cos so angle = nearly 45 degrees 15 | 16 | // 2D rotation formulas not correct, but it's what appears to work? 17 | return new Vector2((delta.X - delta.Y) * cos, deltaZ - (delta.X + delta.Y) * sin); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /AdvancedTooltip/AdvancedTooltipSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Attributes; 2 | using ExileCore.Shared.Interfaces; 3 | using ExileCore.Shared.Nodes; 4 | 5 | namespace AdvancedTooltip 6 | { 7 | public class AdvancedTooltipSettings : ISettings 8 | { 9 | public AdvancedTooltipSettings() 10 | { 11 | Enable = new ToggleNode(false); 12 | ItemLevel = new ItemLevelSettings(); 13 | ItemMods = new ItemModsSettings(); 14 | WeaponDps = new WeaponDpsSettings(); 15 | } 16 | 17 | [Menu("Item Level", 10)] 18 | public ItemLevelSettings ItemLevel { get; set; } 19 | [Menu("Item Mods", 20)] 20 | public ItemModsSettings ItemMods { get; set; } 21 | [Menu("Weapon Dps", 30)] 22 | public WeaponDpsSettings WeaponDps { get; set; } 23 | public ToggleNode Enable { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /IconsBuilder/PlayerIcon.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using ExileCore; 3 | using ExileCore.PoEMemory.Components; 4 | using ExileCore.PoEMemory.MemoryObjects; 5 | using ExileCore.Shared; 6 | using ExileCore.Shared.Abstract; 7 | using ExileCore.Shared.Enums; 8 | using ExileCore.Shared.Helpers; 9 | using SharpDX; 10 | 11 | namespace IconsBuilder 12 | { 13 | public class PlayerIcon : BaseIcon 14 | { 15 | public PlayerIcon(Entity entity, GameController gameController, IconsBuilderSettings settings, Dictionary modIcons) : 16 | base(entity, settings) 17 | { 18 | Show = () => entity.IsValid && !settings.HidePlayers; 19 | if (_HasIngameIcon) return; 20 | MainTexture = new HudTexture("Icons.png") {UV = SpriteHelper.GetUV(MapIconsIndex.OtherPlayer)}; 21 | Text = entity.GetComponent().PlayerName; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Skill DPS/Core/Settings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Attributes; 2 | using ExileCore.Shared.Interfaces; 3 | using ExileCore.Shared.Nodes; 4 | using SharpDX; 5 | 6 | namespace Skill_DPS.Core 7 | { 8 | public class Settings : ISettings 9 | { 10 | [Menu("Font Size")] 11 | public RangeNode FontSize { get; set; } = new RangeNode(15, 1, 50); 12 | 13 | [Menu("Font Color")] 14 | public ColorNode FontColor { get; set; } = new Color(216, 216, 216, 255); 15 | 16 | [Menu("Background Color2")] 17 | public ColorNode BackgroundColor { get; set; } = new Color(0, 0, 0, 255); 18 | 19 | [Menu("Border Color")] 20 | public ColorNode BorderColor { get; set; } = new Color(146, 107, 43, 255); 21 | public ToggleNode Enable { get; set; } = new ToggleNode(true); 22 | public RangeNode UpdateInterval { get; set; } = new RangeNode(1000,100,3000); 23 | } 24 | } -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/PassiveSkillTreeJson_Downloader.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Net.Http; 3 | using System.Text.RegularExpressions; 4 | using System.Threading.Tasks; 5 | 6 | namespace PassiveSkillTreePlanter 7 | { 8 | //Many thanks to https://github.com/EmmittJ/PoESkillTree 9 | 10 | public class PassiveSkillTreeJson_Downloader 11 | { 12 | private const string TreeAddress = "https://www.pathofexile.com/passive-skill-tree/"; 13 | 14 | public static async Task DownloadSkillTreeToFileAsync(string filePath) 15 | { 16 | var code = await new HttpClient().GetStringAsync(TreeAddress); 17 | var regex = new Regex("var passiveSkillTreeData.*"); 18 | var skillTreeObj = regex.Match(code).Value.Replace("\\/", "/"); 19 | skillTreeObj = skillTreeObj.Substring(27, skillTreeObj.Length - 27 - 1) + ""; 20 | File.WriteAllText(filePath, skillTreeObj); 21 | return skillTreeObj; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /XPBar/XPBar.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XPBar", "XPBar.csproj", "{C1B13FD4-C3A3-4C88-818F-497FE34C362F}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {C1B13FD4-C3A3-4C88-818F-497FE34C362F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {C1B13FD4-C3A3-4C88-818F-497FE34C362F}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {C1B13FD4-C3A3-4C88-818F-497FE34C362F}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {C1B13FD4-C3A3-4C88-818F-497FE34C362F}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /IconsBuilder/MissionMarkerIcon.cs: -------------------------------------------------------------------------------- 1 | using ExileCore; 2 | using ExileCore.PoEMemory.Components; 3 | using ExileCore.PoEMemory.MemoryObjects; 4 | using ExileCore.Shared; 5 | using ExileCore.Shared.Abstract; 6 | using ExileCore.Shared.Helpers; 7 | using SharpDX; 8 | 9 | namespace IconsBuilder 10 | { 11 | public class MissionMarkerIcon : BaseIcon 12 | { 13 | public MissionMarkerIcon(Entity entity, GameController gameController, IconsBuilderSettings settings) : base(entity, settings) 14 | { 15 | MainTexture = new HudTexture(); 16 | MainTexture.FileName = "Icons.png"; 17 | MainTexture.UV = SpriteHelper.GetUV(16, new Size2F(14, 14)); 18 | 19 | Show = () => 20 | { 21 | var switchState = entity.GetComponent() != null 22 | ? entity.GetComponent().Flag1 23 | : (byte?) null; 24 | 25 | var isTargetable = entity.IsTargetable; 26 | return switchState == 1 || isTargetable; 27 | }; 28 | 29 | MainTexture.Size = settings.SizeMiscIcon; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /AdvancedTooltip/ItemModsSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Interfaces; 2 | using ExileCore.Shared.Nodes; 3 | using SharpDX; 4 | 5 | namespace AdvancedTooltip 6 | { 7 | public class ItemModsSettings : ISettings 8 | { 9 | public ItemModsSettings() 10 | { 11 | Enable = new ToggleNode(true); 12 | ModTextSize = new RangeNode(13, 10, 50); 13 | BackgroundColor = new ColorBGRA(0, 0, 0, 220); 14 | PrefixColor = new ColorBGRA(136, 136, 255, 255); 15 | SuffixColor = new ColorBGRA(0, 206, 209, 255); 16 | T1Color = new ColorBGRA(255, 0, 255, 255); 17 | T2Color = new ColorBGRA(255, 255, 0, 255); 18 | T3Color = new ColorBGRA(0, 255, 0, 255); 19 | } 20 | 21 | public RangeNode ModTextSize { get; set; } 22 | public ColorNode BackgroundColor { get; set; } 23 | public ColorNode PrefixColor { get; set; } 24 | public ColorNode SuffixColor { get; set; } 25 | public ColorNode T1Color { get; set; } 26 | public ColorNode T2Color { get; set; } 27 | public ColorNode T3Color { get; set; } 28 | public ToggleNode Enable { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IconsBuilder/NpcIcon.cs: -------------------------------------------------------------------------------- 1 | using ExileCore; 2 | using ExileCore.PoEMemory.Components; 3 | using ExileCore.PoEMemory.MemoryObjects; 4 | using ExileCore.Shared; 5 | using ExileCore.Shared.Abstract; 6 | using ExileCore.Shared.Enums; 7 | using ExileCore.Shared.Helpers; 8 | 9 | namespace IconsBuilder 10 | { 11 | public class NpcIcon : BaseIcon 12 | { 13 | public NpcIcon(Entity entity, GameController gameController, IconsBuilderSettings settings) : base(entity, settings) 14 | { 15 | if (!_HasIngameIcon) MainTexture = new HudTexture("Icons.png"); 16 | 17 | MainTexture.Size = settings.SizeNpcIcon; 18 | var component = entity.GetComponent(); 19 | Text = component?.Name.Split(',')[0]; 20 | Show = () => entity.IsValid; 21 | if (_HasIngameIcon) return; 22 | 23 | if (entity.Path.StartsWith("Metadata/NPC/League/Cadiro")) 24 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.QuestObject); 25 | else if (entity.Path.StartsWith("Metadata/Monsters/LeagueBetrayal/MasterNinjaCop")) 26 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.BetrayalSymbolDjinn); 27 | else 28 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.NPC); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /MinimapIcons/MapIconsSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Attributes; 2 | using ExileCore.Shared.Interfaces; 3 | using ExileCore.Shared.Nodes; 4 | 5 | namespace MinimapIcons 6 | { 7 | public class MapIconsSettings : ISettings 8 | { 9 | [Menu("Draw Monster")] 10 | public ToggleNode DrawMonsters { get; set; } = new ToggleNode(false); 11 | [Menu("Icons on minimap")] 12 | public ToggleNode IconsOnMinimap { get; set; } = new ToggleNode(true); 13 | [Menu("Icons on large map")] 14 | public ToggleNode IconsOnLargeMap { get; set; } = new ToggleNode(true); 15 | [Menu("Size secondory icon")] 16 | public RangeNode SecondaryIconSize { get; set; } = new RangeNode(10, 1, 25); 17 | [Menu("Hidden monster icon size")] 18 | public RangeNode HideSize { get; set; } = new RangeNode(1, 0, 1); 19 | [Menu("Z for text")] 20 | public RangeNode ZForText { get; set; } = new RangeNode(-10, -50, 50); 21 | public ToggleNode DrawOnlyOnLargeMap { get; set; } = new ToggleNode(true); 22 | public ToggleNode MultiThreading { get; set; } = new ToggleNode(false); 23 | public ToggleNode DrawNotValid { get; set; } = new ToggleNode(true); 24 | public ToggleNode Enable { get; set; } = new ToggleNode(false); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /MiscInformation/MiscInformationSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Interfaces; 2 | using ExileCore.Shared.Nodes; 3 | using SharpDX; 4 | 5 | namespace MiscInformation 6 | { 7 | public class MiscInformationSettings : ISettings 8 | { 9 | public MiscInformationSettings() 10 | { 11 | BackgroundColor = new ColorBGRA(0, 0, 0, 255); 12 | AreaTextColor = new ColorBGRA(140, 200, 255, 255); 13 | XphTextColor = new ColorBGRA(220, 190, 130, 255); 14 | XphGetLeft = new ColorBGRA(220, 190, 130, 255); 15 | TimeLeftColor = new ColorBGRA(220, 190, 130, 255); 16 | FpsTextColor = new ColorBGRA(220, 190, 130, 255); 17 | TimerTextColor = new ColorBGRA(220, 190, 130, 255); 18 | LatencyTextColor = new ColorBGRA(220, 190, 130, 255); 19 | } 20 | 21 | public ToggleNode Enable { get; set; } = new ToggleNode(true); 22 | public ColorNode BackgroundColor { get; set; } 23 | public ColorNode AreaTextColor { get; set; } 24 | public ColorNode XphTextColor { get; set; } 25 | public ColorNode XphGetLeft { get; set; } 26 | public ColorNode TimeLeftColor { get; set; } 27 | public ColorNode FpsTextColor { get; set; } 28 | public ColorNode TimerTextColor { get; set; } 29 | public ColorNode LatencyTextColor { get; set; } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /DevTree/Helpers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using SharpDX; 5 | 6 | namespace DevTree 7 | { 8 | public partial class DevPlugin 9 | { 10 | private static readonly HashSet PrimitiveTypes = new HashSet 11 | { 12 | typeof(Enum), 13 | typeof(string), 14 | typeof(decimal), 15 | typeof(DateTime), 16 | typeof(TimeSpan), 17 | typeof(Guid), 18 | typeof(Vector2), 19 | typeof(Vector3) 20 | }; 21 | 22 | public static bool IsEnumerable(Type type) 23 | { 24 | return typeof(IEnumerable).IsAssignableFrom(type) || typeof(IEnumerable<>).IsAssignableFrom(type); 25 | } 26 | 27 | public static bool IsCollection(Type type) 28 | { 29 | return typeof(ICollection).IsAssignableFrom(type) || typeof(ICollection<>).IsAssignableFrom(type); 30 | } 31 | 32 | public static bool IsSimpleType(Type type) 33 | { 34 | return type.IsPrimitive || PrimitiveTypes.Contains(type) || Convert.GetTypeCode(type) != TypeCode.Object || 35 | type.BaseType == typeof(Enum) || type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>) && 36 | IsSimpleType(type.GetGenericArguments()[0]); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/UrlDecoders/PathOfExileUrlDecoder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text.RegularExpressions; 4 | 5 | namespace PassiveSkillTreePlanter.UrlDecoders 6 | { 7 | public class PathOfExileUrlDecoder 8 | { 9 | //Many thanks to https://github.com/EmmittJ/PoESkillTree 10 | private static readonly Regex UrlRegex = 11 | new Regex(@"(http(|s):\/\/|)(\w*\.|)pathofexile\.com\/(fullscreen-|)passive-skill-tree\/(?[\w-=]+)"); 12 | 13 | public static bool UrlMatch(string buildUrl) 14 | { 15 | return UrlRegex.IsMatch(buildUrl); 16 | } 17 | 18 | public static List Decode(string url) 19 | { 20 | var nodesId = new List(); 21 | 22 | var textToDecode = url.Substring(url.IndexOf("tree/") + 5).Replace("-", "+").Replace("_", "/"); 23 | 24 | var data = Convert.FromBase64String(textToDecode); 25 | 26 | var Version = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; 27 | var Class = data[4]; 28 | var aClass = data[5]; 29 | 30 | for (var k = Version > 3 ? 7 : 6; k < data.Length; k += 2) 31 | { 32 | var nodeId = (ushort) ((data[k] << 8) | data[k + 1]); 33 | nodesId.Add(nodeId); 34 | } 35 | 36 | return nodesId; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /PickIt/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("PickIt")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("PickIt")] 12 | [assembly: AssemblyCopyright("Copyright © 2019")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("286eb4c6-31a1-4b8e-bf5a-83f9591ae322")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /Stashie/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("Stashie")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("Stashie")] 12 | [assembly: AssemblyCopyright("Copyright © 2019")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("eed0427d-d8eb-4ebc-9f6f-4ae49a83963e")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /DPSMeter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("DPSMeter")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("DPSMeter")] 12 | [assembly: AssemblyCopyright("Copyright © 2019")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("daeab5b7-1485-4bf3-b09c-0b9f7a5cc89b")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /DevTree/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("DevTree")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("DevTree")] 12 | [assembly: AssemblyCopyright("Copyright © 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("EBC7708C-CDD2-4997-A482-D39F9986DDB5")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /EliteBar/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("EliteBar")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("EliteBar")] 12 | [assembly: AssemblyCopyright("Copyright © 2019")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("d13cd5d2-f97f-43eb-962a-116e84b23017")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /ItemAlert/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("ItemAlert")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("ItemAlert")] 12 | [assembly: AssemblyCopyright("Copyright © 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("fd3e6670-b40e-458c-9c77-a60c7c0cda31")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /HealthBars/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("HealthBars")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("HealthBars")] 12 | [assembly: AssemblyCopyright("Copyright © 2019")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("4dee86d7-5666-4b10-93c2-0cceef3799e5")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /AdvancedUberLabLayout/Settings.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | using ExileCore.Shared.Attributes; 3 | using ExileCore.Shared.Interfaces; 4 | using ExileCore.Shared.Nodes; 5 | 6 | public class Settings : ISettings 7 | { 8 | public int CurrentImageDateDay = -1; 9 | public bool ShowImage = true; 10 | 11 | public Settings() 12 | { 13 | LabType = new ListNode {Value = "uber"}; 14 | AutoLabDetection = new ToggleNode(true); 15 | X = new RangeNode(500, 0, 2000); 16 | Y = new RangeNode(0, 0, 2000); 17 | 18 | Transparency = new RangeNode(255, 0, 255); 19 | Size = new RangeNode(100, 10, 300); 20 | 21 | ToggleDraw = new HotkeyNode(Keys.Delete); 22 | Reload = new HotkeyNode(Keys.Insert); 23 | } 24 | 25 | [Menu("Lab Type")] 26 | public ListNode LabType { get; set; } 27 | [Menu("Auto Lab Detection")] 28 | public ToggleNode AutoLabDetection { get; set; } 29 | [Menu("Position X")] 30 | public RangeNode X { get; set; } 31 | [Menu("Position Y")] 32 | public RangeNode Y { get; set; } 33 | [Menu("Opacity")] 34 | public RangeNode Transparency { get; set; } 35 | [Menu("Size")] 36 | public RangeNode Size { get; set; } 37 | [Menu("Toggle Display")] 38 | public HotkeyNode ToggleDraw { get; set; } 39 | [Menu("Force Reload")] 40 | public HotkeyNode Reload { get; set; } 41 | public ToggleNode Enable { get; set; } = new ToggleNode(true); 42 | } 43 | -------------------------------------------------------------------------------- /KillCounter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("KillCounter")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("KillCounter")] 12 | [assembly: AssemblyCopyright("Copyright © 2019")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("b80f3d7e-eb08-44a6-9fc0-0e704820b920")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /MinimapIcons/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("MinBaseIcons")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("MinBaseIcons")] 12 | [assembly: AssemblyCopyright("Copyright © 2019")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("1ae459c5-308a-4a4e-95e3-4a87c57d2087")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /IconsBuilder/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("IconsBuilder")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("IconsBuilder")] 12 | [assembly: AssemblyCopyright("Copyright © 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("0D4BAE14-C9FF-47E1-8B60-D8A859512B20")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /MapsExchange/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("MapsExchange")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("MapsExchange")] 12 | [assembly: AssemblyCopyright("Copyright © 2016")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("48d21d6f-16aa-42dd-bd99-66f006c9b73b")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /PreloadAlert/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("PreloadAlert")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("PreloadAlert")] 12 | [assembly: AssemblyCopyright("Copyright © 2019")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("8B098CA6-52E6-4D70-9F00-6802AA2E464F")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /AdvancedTooltip/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("AdvancedTooltip")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("AdvancedTooltip")] 12 | [assembly: AssemblyCopyright("Copyright © 2018")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("e15ff26b-5d91-4492-a8bd-c9f5b60d8845")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /MiscInformation/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("MiscInformation")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("MiscInformation")] 12 | [assembly: AssemblyCopyright("Copyright © 2019")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("fe6bc0c3-db0e-4808-b99f-9c5d39ae1842")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /DPSMeter/DpsMeterSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Attributes; 2 | using ExileCore.Shared.Interfaces; 3 | using ExileCore.Shared.Nodes; 4 | using SharpDX; 5 | 6 | namespace DPSMeter 7 | { 8 | public class DPSMeterSettings : ISettings 9 | { 10 | public DPSMeterSettings() 11 | { 12 | ShowInTown = new ToggleNode(false); 13 | DpsFontColor = new ColorBGRA(220, 190, 130, 255); 14 | PeakFontColor = new ColorBGRA(220, 190, 130, 255); 15 | BackgroundColor = new ColorBGRA(0, 0, 0, 255); 16 | ClearNode = new ButtonNode(); 17 | } 18 | 19 | public ToggleNode Enable { get; set; } = new ToggleNode(false); 20 | public ToggleNode ShowInTown { get; set; } 21 | 22 | // public RangeNode TextSize { get; set; } = new RangeNode(16, 10, 20); 23 | public ColorNode DpsFontColor { get; set; } 24 | public ColorNode PeakFontColor { get; set; } 25 | public ColorNode BackgroundColor { get; set; } 26 | public ButtonNode ClearNode { get; set; } 27 | [Menu("Show AOE")] 28 | public ToggleNode ShowAOE { get; set; } = new ToggleNode(true); 29 | public ToggleNode ShowCurrentHitDamage { get; set; } = new ToggleNode(true); 30 | public ToggleNode HasCullingStrike { get; set; } = new ToggleNode(false); 31 | public RangeNode UpdateTime { get; set; } = new RangeNode(100, 50, 2000); 32 | public ToggleNode MultiThreading { get; set; } = new ToggleNode(false); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /XPBar/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("XPBar")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("XPBar")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("c1b13fd4-c3a3-4c88-818f-497fe34c362f")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /AdvancedUberLabLayout/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("AdvancedUberLabLayout")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("AdvancedUberLabLayout")] 12 | [assembly: AssemblyCopyright("Copyright © 2017")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("3c72be7e-bc50-4fd1-abb1-70eec9a88620")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/PassiveSkillTreePlanter_Settings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Attributes; 2 | using ExileCore.Shared.Interfaces; 3 | using ExileCore.Shared.Nodes; 4 | using SharpDX; 5 | using ImGuiVector2 = System.Numerics.Vector2; 6 | 7 | namespace PassiveSkillTreePlanter 8 | { 9 | public class PassiveSkillTreePlanterSettings : ISettings 10 | { 11 | public PassiveSkillTreePlanterSettings() 12 | { 13 | PickedBorderColor = new ColorNode(Color.Gray); 14 | UnpickedBorderColor = new ColorNode(Color.Green); 15 | WrongPickedBorderColor = new ColorNode(Color.Red); 16 | LineWidth = new RangeNode(3, 0, 5); 17 | LineColor = new ColorNode(new Color(0, 255, 0, 50)); 18 | SelectedURLFile = string.Empty; 19 | } 20 | 21 | public RangeNode PickedBorderWidth { get; set; } = new RangeNode(1, 1, 5); 22 | public RangeNode UnpickedBorderWidth { get; set; } = new RangeNode(3, 1, 5); 23 | public RangeNode WrongPickedBorderWidth { get; set; } = new RangeNode(3, 1, 5); 24 | public ColorNode PickedBorderColor { get; set; } 25 | public ColorNode UnpickedBorderColor { get; set; } 26 | public ColorNode WrongPickedBorderColor { get; set; } 27 | public RangeNode LineWidth { get; set; } 28 | public ColorNode LineColor { get; set; } 29 | public string SelectedURLFile { get; set; } 30 | public ToggleNode Enable { get; set; } = new ToggleNode(true); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("PassiveSkillTreePlanter")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("PassiveSkillTreePlanter")] 12 | [assembly: AssemblyCopyright("Copyright © 2017")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("caa01498-5c8a-429f-8bb8-57e29dd05e6e")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /Skill DPS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Test_Environment")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Test_Environment")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("1df43765-ff6e-478d-8d85-55c07ae137de")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /AdvancedTooltip/WeaponDpsSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Interfaces; 2 | using ExileCore.Shared.Nodes; 3 | using SharpDX; 4 | 5 | namespace AdvancedTooltip 6 | { 7 | public class WeaponDpsSettings : ISettings 8 | { 9 | public WeaponDpsSettings() 10 | { 11 | Enable = new ToggleNode(true); 12 | TextColor = new ColorBGRA(254, 192, 118, 255); 13 | DpsTextSize = new RangeNode(16, 10, 50); 14 | DpsNameTextSize = new RangeNode(13, 10, 50); 15 | BackgroundColor = new ColorBGRA(255, 255, 0, 255); 16 | DmgColdColor = new ColorBGRA(54, 100, 146, 255); 17 | DmgFireColor = new ColorBGRA(150, 0, 0, 255); 18 | DmgLightningColor = new ColorBGRA(255, 215, 0, 255); 19 | DmgChaosColor = new ColorBGRA(208, 31, 144, 255); 20 | pDamageColor = new ColorBGRA(255, 255, 255, 255); 21 | eDamageColor = new ColorBGRA(0, 255, 255, 255); 22 | } 23 | 24 | public ColorNode TextColor { get; set; } 25 | public RangeNode DpsTextSize { get; set; } 26 | public RangeNode DpsNameTextSize { get; set; } 27 | public ColorNode BackgroundColor { get; set; } 28 | public ColorNode DmgFireColor { get; set; } 29 | public ColorNode DmgColdColor { get; set; } 30 | public ColorNode DmgLightningColor { get; set; } 31 | public ColorNode DmgChaosColor { get; set; } 32 | public ColorNode pDamageColor { get; set; } 33 | public ColorNode eDamageColor { get; set; } 34 | public ToggleNode Enable { get; set; } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /DevTree/DevTreeSettings.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | using ExileCore.Shared.Attributes; 3 | using ExileCore.Shared.Interfaces; 4 | using ExileCore.Shared.Nodes; 5 | 6 | namespace DevTree 7 | { 8 | public class DevSetting : ISettings 9 | { 10 | public bool Opened = false; 11 | 12 | public DevSetting() 13 | { 14 | DebugNearestEnts = Keys.NumPad6; 15 | DebugHoverItem = Keys.NumPad5; 16 | NearestEntsRange = new RangeNode(300, 1, 2000); 17 | LimitEntriesDrawn = new ToggleNode(true); 18 | EntriesDrawLimit = new RangeNode(500, 1, 5000); 19 | Enable = new ToggleNode(true); 20 | LimitForCollection = new RangeNode(500, 2, 5000); 21 | } 22 | 23 | [Menu("Toggle window", 0)] 24 | public ToggleNode ToggleWindow { get; set; } = new ToggleNode(false); 25 | [Menu("Toggle window key")] 26 | public HotkeyNode ToggleWindowKey { get; set; } = new HotkeyNode(Keys.NumPad9); 27 | 28 | [Menu("Debug Nearest Ents")] 29 | public HotkeyNode DebugNearestEnts { get; set; } 30 | [Menu("Debug Hover Item")] 31 | public HotkeyNode DebugHoverItem { get; set; } 32 | [Menu("Nearest Ents Range")] 33 | public RangeNode NearestEntsRange { get; set; } 34 | [Menu("Limit for collections")] 35 | public RangeNode LimitForCollection { get; set; } 36 | [Menu("Limit Entries Drawn", 0)] 37 | public ToggleNode LimitEntriesDrawn { get; set; } 38 | [Menu("Entries Draw Limit", 1, 0)] 39 | public RangeNode EntriesDrawLimit { get; set; } 40 | public ToggleNode Enable { get; set; } 41 | 42 | public bool ToggleWindowState;//Just save the state 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /ItemAlert/ItemAlertSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Interfaces; 2 | using ExileCore.Shared.Nodes; 3 | 4 | namespace ItemAlert 5 | { 6 | public class ItemAlertSettings : ISettings 7 | { 8 | public RangeNode DimOtherByPercent = new RangeNode(100, 1, 100); 9 | public ToggleNode Alternative { get; set; } = new ToggleNode(true); 10 | public ToggleNode ShowItemOnMap { get; set; } = new ToggleNode(true); 11 | public FileNode FilePath { get; set; } = "config/my.filter"; 12 | public ToggleNode WithBorder { get; set; } = new ToggleNode(true); 13 | public ToggleNode WithSound { get; set; } = new ToggleNode(true); 14 | public RangeNode LootIcon { get; set; } = new RangeNode(7, 1, 50); 15 | public ToggleNode LootIconBorderColor { get; set; } = new ToggleNode(false); 16 | public RangeNode ItemAlertUpdateTime { get; set; } = new RangeNode(50, 10, 1000); 17 | public RangeNode ItemAlertLimitWork { get; set; } = new RangeNode(250, 10, 1000); 18 | public ToggleNode ShowText { get; set; } = new ToggleNode(true); 19 | public ToggleNode HideOthers { get; set; } = new ToggleNode(true); 20 | public RangeNode TextSize { get; set; } = new RangeNode(16, 10, 50); 21 | public ToggleNode DimOtherByPercentToggle { get; set; } = new ToggleNode(true); 22 | public ToggleNode BorderSettings { get; set; } = new ToggleNode(true); 23 | public ToggleNode UseDiamond { get; set; } = new ToggleNode(true); 24 | public ToggleNode MultiThreading { get; set; } = new ToggleNode(false); 25 | public RangeNode MultiThreadingWhenItemMoreThan { get; set; } = new RangeNode(30, 5, 500); 26 | public ToggleNode Enable { get; set; } = new ToggleNode(true); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ItemAlert/AlertDrawStyle.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Diagnostics; 3 | using ExileCore.Shared.Enums; 4 | using ExileCore.Shared.Static; 5 | using SharpDX; 6 | 7 | namespace ItemAlert 8 | { 9 | [DebuggerDisplay("{Text}")] 10 | public sealed class AlertDrawStyle 11 | { 12 | public static readonly Color DefaultBackgroundColor = new ColorBGRA(0, 0, 0, 180); 13 | 14 | private static readonly Dictionary colors = new Dictionary 15 | { 16 | {ItemRarity.Normal, Color.White}, 17 | {ItemRarity.Magic, HudSkin.MagicColor}, 18 | {ItemRarity.Rare, HudSkin.RareColor}, 19 | {ItemRarity.Unique, HudSkin.UniqueColor} 20 | }; 21 | 22 | public AlertDrawStyle(object colorRef, int borderWidth, string text, int iconIndex) 23 | { 24 | BorderWidth = borderWidth; 25 | Text = text; 26 | IconIndex = iconIndex; 27 | 28 | if (colorRef is Color) 29 | TextColor = (Color) colorRef; 30 | else 31 | TextColor = GetTextColorByRarity((ItemRarity) colorRef); 32 | 33 | BorderColor = TextColor; 34 | BackgroundColor = DefaultBackgroundColor; 35 | } 36 | 37 | public AlertDrawStyle(string text, Color textColor, int borderWidth, Color borderColor, Color backgroundColor, int iconIndex) 38 | { 39 | TextColor = textColor; 40 | BorderWidth = borderWidth; 41 | BorderColor = borderColor; 42 | Text = text; 43 | IconIndex = iconIndex; 44 | BackgroundColor = backgroundColor; 45 | } 46 | 47 | public Color TextColor { get; } 48 | public int BorderWidth { get; } 49 | public Color BorderColor { get; } 50 | public Color BackgroundColor { get; } 51 | public string Text { get; } 52 | public int IconIndex { get; } 53 | 54 | public static Color GetTextColorByRarity(ItemRarity itemRarity) 55 | { 56 | Color tempColor; 57 | return colors.TryGetValue(itemRarity, out tempColor) ? tempColor : Color.White; 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/SkillNode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using SharpDX; 4 | 5 | namespace PassiveSkillTreePlanter 6 | { 7 | public class SkillNode 8 | { 9 | public static float[] OrbitRadii = {0, 81.5f, 163, 326, 489}; 10 | public static float[] SkillsPerOrbit = {1, 6, 12, 12, 40}; 11 | public bool bJevel; 12 | public bool bKeyStone; 13 | public bool bMastery; 14 | public bool bMult; 15 | public bool bNotable; 16 | public List DrawNodeLinks = new List(); 17 | public Vector2 DrawPosition; 18 | 19 | //Cached for drawing 20 | public float DrawSize = 100; 21 | public ushort Id; // "id": -28194677, 22 | public List linkedNodes = new List(); 23 | public string Name; //"dn": "Block Recovery", 24 | public int Orbit; // "o": 1, 25 | public int OrbitIndex; // "oidx": 3, 26 | public SkillNodeGroup SkillNodeGroup; 27 | 28 | public Vector2 Position 29 | { 30 | get 31 | { 32 | if (SkillNodeGroup == null) return new Vector2(); 33 | double d = OrbitRadii[Orbit]; 34 | return SkillNodeGroup.Position - new Vector2((float) (d * Math.Sin(-Arc)), (float) (d * Math.Cos(-Arc))); 35 | } 36 | } 37 | 38 | public double Arc => GetOrbitAngle(OrbitIndex, (int) SkillsPerOrbit[Orbit]); 39 | 40 | public void Init() 41 | { 42 | DrawPosition = Position; 43 | 44 | if (bJevel) 45 | DrawSize = 160; 46 | 47 | if (bNotable) 48 | DrawSize = 170; 49 | 50 | if (bKeyStone) 51 | DrawSize = 250; 52 | } 53 | 54 | private static double GetOrbitAngle(int orbitIndex, int maxNodePositions) 55 | { 56 | return 2 * Math.PI * orbitIndex / maxNodePositions; 57 | } 58 | } 59 | 60 | public class SkillNodeGroup 61 | { 62 | public List Nodes = new List(); 63 | public Dictionary OcpOrb = new Dictionary(); 64 | public Vector2 Position; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /MapsExchange/Mouse.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.InteropServices; 2 | using System.Threading; 3 | using SharpDX; 4 | 5 | namespace MapsExchange 6 | { 7 | internal class Mouse 8 | { 9 | public enum MouseEvents 10 | { 11 | LeftDown = 0x00000002, 12 | LeftUp = 0x00000004, 13 | MiddleDown = 0x00000020, 14 | MiddleUp = 0x00000040, 15 | Move = 0x00000001, 16 | Absolute = 0x00008000, 17 | RightDown = 0x00000008, 18 | RightUp = 0x00000010 19 | } 20 | 21 | public const int DELAY_MOVE = 20; 22 | public const int DELAY_CLICK = 5; 23 | 24 | [DllImport("user32.dll")] 25 | public static extern bool SetCursorPos(int x, int y); 26 | 27 | [DllImport("user32.dll")] 28 | public static extern bool GetCursorPos(out Point lpPoint); 29 | 30 | public static Point GetCursorPosition() 31 | { 32 | Point lpPoint; 33 | GetCursorPos(out lpPoint); 34 | 35 | return lpPoint; 36 | } 37 | 38 | [DllImport("user32.dll")] 39 | private static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo); 40 | 41 | public static void moveMouse(Vector2 pos) 42 | { 43 | SetCursorPos((int) pos.X, (int) pos.Y); 44 | Thread.Sleep(DELAY_MOVE); 45 | } 46 | 47 | public static void LeftDown(int delay) 48 | { 49 | mouse_event((int) MouseEvents.LeftDown, 0, 0, 0, 0); 50 | Thread.Sleep(DELAY_CLICK + delay); 51 | } 52 | 53 | public static void LeftUp(int delay) 54 | { 55 | mouse_event((int) MouseEvents.LeftUp, 0, 0, 0, 0); 56 | Thread.Sleep(DELAY_CLICK + delay); 57 | } 58 | 59 | public static void RightDown(int delay) 60 | { 61 | mouse_event((int) MouseEvents.RightDown, 0, 0, 0, 0); 62 | Thread.Sleep(DELAY_CLICK + delay); 63 | } 64 | 65 | public static void RightUp(int delay) 66 | { 67 | mouse_event((int) MouseEvents.RightUp, 0, 0, 0, 0); 68 | Thread.Sleep(DELAY_CLICK + delay); 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/UrlDecoders/PoePlannerUrlDecoder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text.RegularExpressions; 5 | using ExileCore; 6 | 7 | namespace PassiveSkillTreePlanter.UrlDecoders 8 | { 9 | public class PoePlannerUrlDecoder 10 | { 11 | //Many thanks to https://github.com/EmmittJ/PoESkillTree 12 | private static readonly Regex UrlRegex = new Regex(@"(http(|s):\/\/|)(\w*\.|)poeplanner\.com\/(?[\w-=]+)"); 13 | 14 | public static bool UrlMatch(string buildUrl) 15 | { 16 | return UrlRegex.IsMatch(buildUrl); 17 | } 18 | 19 | public static List Decode(string url) 20 | { 21 | var nodesId = new List(); 22 | 23 | var buildSegment = url.Split('/').LastOrDefault(); 24 | 25 | if (buildSegment == null) 26 | { 27 | Logger.Log.Error("Can't decode PoePlanner Url", 5); 28 | return new List(); 29 | } 30 | 31 | buildSegment = buildSegment 32 | .Replace("-", "+") 33 | .Replace("_", "/"); 34 | 35 | var rawBytes = Convert.FromBase64String(buildSegment); 36 | 37 | var skillsBuffSize = (rawBytes[3] << 8) | rawBytes[4]; 38 | 39 | //var aurasBuffSize = rawBytes[5 + skillsBuffSize] << 8 | rawBytes[6 + skillsBuffSize]; 40 | //var equipBuffSize = rawBytes[7 + skillsBuffSize + aurasBuffSize] << 8 | rawBytes[8 + skillsBuffSize + aurasBuffSize]; 41 | 42 | var NodesData = new byte[skillsBuffSize]; 43 | Array.Copy(rawBytes, 5, NodesData, 0, skillsBuffSize); 44 | 45 | //var skilledNodesCount = NodesData[2] << 8 | NodesData[3]; 46 | 47 | //int i = 4; 48 | try 49 | { 50 | for (var i = 4; i < skillsBuffSize - 1; i += 2) 51 | { 52 | nodesId.Add((ushort) ((NodesData[i] << 8) | NodesData[i + 1])); 53 | } 54 | 55 | /* 56 | while (i < skillsBuffSize + 3) 57 | { 58 | nodesId.Add((ushort)(NodesData[i++] << 8 | NodesData[i++])); 59 | } 60 | */ 61 | } 62 | catch 63 | { 64 | Logger.Log.Error("Error while parsing some PoePlanner nodes from Url.", 5); 65 | } 66 | 67 | return nodesId; 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /IconsBuilder/IconsBuilderSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Attributes; 2 | using ExileCore.Shared.Interfaces; 3 | using ExileCore.Shared.Nodes; 4 | 5 | namespace IconsBuilder 6 | { 7 | public class IconsBuilderSettings : ISettings 8 | { 9 | [Menu("Default size")] 10 | public float SizeDefaultIcon { get; set; } = new RangeNode(16, 1, 50); 11 | [Menu("Size NPC icon")] 12 | public RangeNode SizeNpcIcon { get; set; } = new RangeNode(10, 1, 50); 13 | [Menu("Size monster icon")] 14 | public RangeNode SizeEntityWhiteIcon { get; set; } = new RangeNode(10, 1, 50); 15 | [Menu("Size magic monster icon")] 16 | public RangeNode SizeEntityMagicIcon { get; set; } = new RangeNode(10, 1, 50); 17 | [Menu("Size rare monster icon")] 18 | public RangeNode SizeEntityRareIcon { get; set; } = new RangeNode(10, 1, 50); 19 | [Menu("Size unique monster icon")] 20 | public RangeNode SizeEntityUniqueIcon { get; set; } = new RangeNode(10, 1, 50); 21 | [Menu("Size breach chest icon")] 22 | public RangeNode SizeBreachChestIcon { get; set; } = new RangeNode(10, 1, 50); 23 | [Menu("Size chests icon")] 24 | public RangeNode SizeChestIcon { get; set; } = new RangeNode(10, 1, 50); 25 | [Menu("Show small chests")] 26 | public ToggleNode ShowSmallChest { get; set; } = new ToggleNode(false); 27 | [Menu("Size small chests icon")] 28 | public RangeNode SizeSmallChestIcon { get; set; } = new RangeNode(10, 1, 50); 29 | [Menu("Size misc icon")] 30 | public RangeNode SizeMiscIcon { get; set; } = new RangeNode(10, 1, 50); 31 | [Menu("Size shrine icon")] 32 | public RangeNode SizeShrineIcon { get; set; } = new RangeNode(10, 1, 50); 33 | [Menu("Size secondory icon")] 34 | public RangeNode SecondaryIconSize { get; set; } = new RangeNode(10, 1, 50); 35 | [Menu("Hidden monster icon size")] 36 | public RangeNode HideSize { get; set; } = new RangeNode(1, 0, 1); 37 | [Menu("Debug information about entities")] 38 | public ToggleNode LogDebugInformation { get; set; } = new ToggleNode(true); 39 | [Menu("Reparse entities")] 40 | public ButtonNode Reparse { get; set; } = new ButtonNode(); 41 | public ToggleNode MultiThreading { get; set; } = new ToggleNode(false); 42 | public RangeNode MultiThreadingWhenEntityMoreThan { get; set; } = new RangeNode(10, 1, 200); 43 | public ToggleNode HidePlayers { get; set; } = new ToggleNode(false); 44 | public ToggleNode HideMinions { get; set; } = new ToggleNode(false); 45 | public ToggleNode Enable { get; set; } = new ToggleNode(true); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Stashie/StashieSettings.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Windows.Forms; 3 | using ExileCore.Shared.Attributes; 4 | using ExileCore.Shared.Interfaces; 5 | using ExileCore.Shared.Nodes; 6 | 7 | namespace Stashie 8 | { 9 | public class StashieSettings : ISettings 10 | { 11 | public List AllStashNames = new List(); 12 | public Dictionary CustomFilterOptions; 13 | public Dictionary> CustomRefillOptions; 14 | 15 | public StashieSettings() 16 | { 17 | Enable = new ToggleNode(false); 18 | RequireHotkey = new ToggleNode(true); 19 | DropHotkey = Keys.F3; 20 | ExtraDelay = new RangeNode(0, 0, 2000); 21 | MouseSpeed = new RangeNode(10, 0, 50); 22 | BlockInput = new ToggleNode(false); 23 | UseArrow = new ToggleNode(true); 24 | RefillCurrency = new ToggleNode(false); 25 | CurrencyStashTab = new ListIndexNode(); 26 | AllowHaveMore = new ToggleNode(false); 27 | CustomFilterOptions = new Dictionary(); 28 | CustomRefillOptions = new Dictionary>(); 29 | VisitTabWhenDone = new ToggleNode(false); 30 | TabToVisitWhenDone = new RangeNode(0, 0, 40); 31 | } 32 | 33 | [Menu("Settings", 500)] 34 | public EmptyNode Settings { get; set; } 35 | [Menu("Require Hotkey", "If you just want Stashie to drop items to stash, as soon as you open it.", 1000, 500)] 36 | public ToggleNode RequireHotkey { get; set; } 37 | [Menu("Hotkey", 1001, 1000)] 38 | public HotkeyNode DropHotkey { get; set; } 39 | [Menu("Extra Delay", "Is it going too fast? Then add a delay (in ms).", 2000, 500)] 40 | public RangeNode ExtraDelay { get; set; } 41 | [Menu("Block Input", "Block user input (except: Ctrl+Alt+Delete) when dropping items to stash.", 3000, 500)] 42 | public ToggleNode BlockInput { get; set; } 43 | [Menu("When done, go to tab.", "After Stashie has dropped all items to their respective tabs, then go to the following tab.", 4000, 44 | 500)] 45 | public ToggleNode VisitTabWhenDone { get; set; } 46 | [Menu("tab (index)", 4001, 4000)] 47 | public RangeNode TabToVisitWhenDone { get; set; } 48 | public ToggleNode RefillCurrency { get; set; } 49 | public ListIndexNode CurrencyStashTab { get; set; } 50 | public ToggleNode AllowHaveMore { get; set; } 51 | [Menu("Use keyboard arrow", "For switch", 5000, 500)] 52 | public ToggleNode UseArrow { get; set; } 53 | [Menu("Mouse Steps", "", 5001, 500)] 54 | public RangeNode MouseSpeed { get; set; } 55 | public ToggleNode Enable { get; set; } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/SkillTreeJson/PoESkillTreeJsonDecoder.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using ExileCore; 3 | using Newtonsoft.Json; 4 | using SharpDX; 5 | 6 | namespace PassiveSkillTreePlanter.SkillTreeJson 7 | { 8 | //Many thanks to https://github.com/EmmittJ/PoESkillTree 9 | 10 | public class PoESkillTreeJsonDecoder 11 | { 12 | public List NodeGroups; 13 | public List Nodes; 14 | public Dictionary Skillnodes; 15 | public PoESkillTree SkillTree; 16 | 17 | public void Decode(string jsonTree) 18 | { 19 | Nodes = new List(); 20 | 21 | var jss = new JsonSerializerSettings 22 | { 23 | Error = (sender, args) => 24 | { 25 | // This one is known: "509":{"x":_,"y":_,"oo":[],"n":[]}} has an Array in "oo". 26 | // if (args.ErrorContext.Path != "groups.509.oo") 27 | // PoeHUD.Plugins.BasePlugin.LogError("Exception while deserializing Json tree" + args.ErrorContext.Error, 5); 28 | if (args.ErrorContext.Path == null || !args.ErrorContext.Path.EndsWith(".oo")) 29 | Logger.Log.Error("Exception while deserializing Json tree" + args.ErrorContext.Error); 30 | 31 | args.ErrorContext.Handled = true; 32 | } 33 | }; 34 | 35 | SkillTree = JsonConvert.DeserializeObject(jsonTree, jss); 36 | Skillnodes = new Dictionary(); 37 | NodeGroups = new List(); 38 | 39 | foreach (var nd in SkillTree.nodes) 40 | { 41 | var skillNode = new SkillNode 42 | { 43 | Id = nd.Value.id, Name = nd.Value.dn, Orbit = nd.Value.o, OrbitIndex = nd.Value.oidx, bJevel = nd.Value.isJewelSocket, 44 | bKeyStone = nd.Value.ks, bMastery = nd.Value.m, bMult = nd.Value.isMultipleChoice, bNotable = nd.Value.not, 45 | linkedNodes = nd.Value._out 46 | }; 47 | 48 | Nodes.Add(skillNode); 49 | Skillnodes.Add(nd.Value.id, skillNode); 50 | } 51 | 52 | NodeGroups = new List(); 53 | 54 | foreach (var gp in SkillTree.groups) 55 | { 56 | var ng = new SkillNodeGroup(); 57 | ng.OcpOrb = gp.Value.oo; 58 | ng.Position = new Vector2((float) gp.Value.x, (float) gp.Value.y); 59 | 60 | foreach (var node in gp.Value.n) 61 | { 62 | var nodeToAdd = Skillnodes[node]; 63 | ng.Nodes.Add(nodeToAdd); 64 | nodeToAdd.SkillNodeGroup = ng; 65 | } 66 | 67 | NodeGroups.Add(ng); 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Stashie/ItemData.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.PoEMemory.Components; 2 | using ExileCore.PoEMemory.Elements.InventoryElements; 3 | using ExileCore.PoEMemory.Models; 4 | using ExileCore.Shared.Enums; 5 | using ExileCore.Shared.Helpers; 6 | using SharpDX; 7 | 8 | namespace Stashie 9 | { 10 | public class ItemData 11 | { 12 | public ItemData(NormalInventoryItem inventoryItem, BaseItemType baseItemType) 13 | { 14 | InventoryItem = inventoryItem; 15 | var item = inventoryItem.Item; 16 | Path = item.Path; 17 | var baseComponent = item.GetComponent(); 18 | isElder = baseComponent.isElder; 19 | isShaper = baseComponent.isShaper; 20 | var mods = item.GetComponent(); 21 | Rarity = mods?.ItemRarity ?? ItemRarity.Normal; 22 | BIdentified = mods?.Identified ?? true; 23 | ItemLevel = mods?.ItemLevel ?? 0; 24 | isFractured = mods?.HaveFractured ?? false; 25 | 26 | var quality = item.GetComponent(); 27 | ItemQuality = quality?.ItemQuality ?? 0; 28 | ClassName = baseItemType.ClassName; 29 | BaseName = baseItemType.BaseName; 30 | MapTier = item.HasComponent() ? item.GetComponent().Tier : 0; 31 | clientRect = InventoryItem.GetClientRect().Center; 32 | 33 | var sockets = item.GetComponent(); 34 | 35 | if (sockets != null) 36 | { 37 | NumberOfSockets = sockets.NumberOfSockets; 38 | LargestLinkSize = sockets.LargestLinkSize; 39 | } 40 | } 41 | 42 | public NormalInventoryItem InventoryItem { get; } 43 | public string Path { get; } 44 | public string ClassName { get; } 45 | public string BaseName { get; } 46 | public ItemRarity Rarity { get; } 47 | public int ItemQuality { get; } 48 | public bool BIdentified { get; } 49 | public int ItemLevel { get; } 50 | public int MapTier { get; } 51 | public bool isElder { get; } 52 | public bool isShaper { get; } 53 | public bool isFractured { get; } 54 | public Vector2 clientRect { get; } 55 | public int NumberOfSockets{ get; } 56 | public int LargestLinkSize{ get; } 57 | public Vector2 GetClickPosCache() 58 | { 59 | return clientRect; 60 | } 61 | 62 | public Vector2 GetClickPos() 63 | { 64 | var paddingPixels = 3; 65 | var clientRect = InventoryItem.GetClientRect(); 66 | var x = MathHepler.Randomizer.Next((int) clientRect.TopLeft.X + paddingPixels, (int) clientRect.TopRight.X - paddingPixels); 67 | var y = MathHepler.Randomizer.Next((int) clientRect.TopLeft.Y + paddingPixels, (int) clientRect.BottomLeft.Y - paddingPixels); 68 | return new Vector2(x, y); 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /EliteBar/EliteBarSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Attributes; 2 | using ExileCore.Shared.Interfaces; 3 | using ExileCore.Shared.Nodes; 4 | using SharpDX; 5 | 6 | namespace EliteBar 7 | { 8 | public class EliteBarSettings : ISettings 9 | { 10 | public EliteBarSettings() 11 | { 12 | Enable = new ToggleNode(false); 13 | } 14 | 15 | public ToggleNode Enable { get; set; } 16 | [Menu("Limit for work coroutine")] 17 | public RangeNode LimitCoroutine { get; set; } = new RangeNode(50, 10, 200); 18 | [Menu("Space between bar")] 19 | public RangeNode Space { get; set; } = new RangeNode(20, -100, 100); 20 | [Menu("X")] 21 | public RangeNode X { get; set; } = new RangeNode(0, 0, 3000); 22 | [Menu("Y")] 23 | public RangeNode Y { get; set; } = new RangeNode(0, 0, 3000); 24 | [Menu("Width")] 25 | public RangeNode Width { get; set; } = new RangeNode(100, 1, 1000); 26 | [Menu("Height")] 27 | public RangeNode Height { get; set; } = new RangeNode(20, 1, 200); 28 | [Menu("Border color")] 29 | public ColorNode BorderColor { get; set; } = new ColorNode(Color.Black); 30 | [Menu("Draw text from ImGui")] 31 | public ToggleNode ImguiRenderText { get; set; } = new ToggleNode(true); 32 | [Menu("Refresh")] 33 | public ButtonNode RefreshEntities { get; set; } = new ButtonNode(); 34 | [Menu("Offset X for text")] 35 | public RangeNode StartTextX { get; set; } = new RangeNode(0, -50, 350); 36 | [Menu("Offset Y for text")] 37 | public RangeNode StartTextY { get; set; } = new RangeNode(0, -50, 350); 38 | [Menu("Normal monster color")] 39 | public ColorNode NormalMonster { get; set; } = new ColorNode(Color.Red); 40 | [Menu("Magic monster color")] 41 | public ColorNode MagicMonster { get; set; } = new ColorNode(Color.MediumBlue); 42 | [Menu("Rare monster color")] 43 | public ColorNode RareMonster { get; set; } = new ColorNode(Color.Yellow); 44 | [Menu("Unique monster color")] 45 | public ColorNode UniqueMonster { get; set; } = new ColorNode(Color.Orange); 46 | [Menu("Show normal monster")] 47 | public ToggleNode ShowWhite { get; set; } = new ToggleNode(false); 48 | [Menu("Show magic monster")] 49 | public ToggleNode ShowMagic { get; set; } = new ToggleNode(false); 50 | [Menu("Show rare monster")] 51 | public ToggleNode ShowRare { get; set; } = new ToggleNode(true); 52 | [Menu("Show unique monster")] 53 | public ToggleNode ShowUnique { get; set; } = new ToggleNode(true); 54 | [Menu("Text Color")] 55 | public ColorNode TextColor { get; set; } = new ColorNode(Color.White); 56 | [Menu("Use imgui for draw")] 57 | public ToggleNode UseImguiForDraw { get; set; } = new ToggleNode(false); 58 | [Menu("BG for imgui")] 59 | public ColorNode ImguiDrawBg { get; set; } = new ColorNode(Color.Black); 60 | [Menu("Test")] 61 | public RangeNode Test { get; set; } = new RangeNode(1, 0, 1); 62 | public ToggleNode MultiThreading { get; set; } = new ToggleNode(false); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /MapsExchange/MapsExchange.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {48D21D6F-16AA-42DD-BD99-66F006C9B73B} 8 | Library 9 | Properties 10 | MapsExchange 11 | MapsExchange 12 | v4.8 13 | 512 14 | 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\MapsExchange\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | x64 25 | 26 | 27 | pdbonly 28 | true 29 | ..\..\ 30 | TRACE 31 | prompt 32 | 4 33 | x64 34 | 35 | 36 | 37 | ..\..\..\..\PoeHelper\ImGui.NET.dll 38 | False 39 | 40 | 41 | False 42 | ..\..\..\..\PoeHelper\SharpDX.Mathematics.dll 43 | False 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | {5539d732-34a7-44ab-9e28-116c3429b12a} 66 | Core 67 | False 68 | 69 | 70 | 71 | 72 | 73 | 74 | 81 | -------------------------------------------------------------------------------- /AdvancedUberLabLayout/AdvancedUberLabLayout.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {3C72BE7E-BC50-4FD1-ABB1-70EEC9A88620} 8 | Library 9 | Properties 10 | AdvancedUberLabLayout 11 | AdvancedUberLabLayout 12 | v4.8 13 | 512 14 | 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\AdvancedUberLabLayout\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | x64 25 | Off 26 | 27 | 28 | pdbonly 29 | true 30 | ..\..\ 31 | 32 | 33 | prompt 34 | 0 35 | x64 36 | Off 37 | 38 | 39 | 40 | ..\..\..\..\PoeHelper\ImGui.NET.dll 41 | False 42 | 43 | 44 | False 45 | ..\..\..\..\PoeHelper\SharpDX.Mathematics.dll 46 | False 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | {5539d732-34a7-44ab-9e28-116c3429b12a} 71 | Core 72 | False 73 | 74 | 75 | 76 | 83 | -------------------------------------------------------------------------------- /XPBar/XPBar.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {C1B13FD4-C3A3-4C88-818F-497FE34C362F} 8 | Library 9 | Properties 10 | XPBar 11 | XPBar 12 | v4.8 13 | 512 14 | 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\XPBar\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | bin\Release\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | true 35 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 36 | DEBUG;TRACE 37 | full 38 | x64 39 | prompt 40 | MinimumRecommendedRules.ruleset 41 | 42 | 43 | bin\x64\Release\ 44 | TRACE 45 | true 46 | pdbonly 47 | x64 48 | prompt 49 | MinimumRecommendedRules.ruleset 50 | 51 | 52 | 53 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 54 | False 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | {5539d732-34a7-44ab-9e28-116c3429b12a} 75 | Core 76 | False 77 | 78 | 79 | 80 | 87 | -------------------------------------------------------------------------------- /HealthBars/HealthBars.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {4DEE86D7-5666-4B10-93C2-0CCEEF3799E5} 8 | Library 9 | Properties 10 | HealthBars 11 | HealthBars 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\HealthBars\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | ..\..\..\..\PoeHelper\Plugins\Compiled\HealthBars\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | true 35 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 36 | DEBUG;TRACE 37 | full 38 | x64 39 | prompt 40 | MinimumRecommendedRules.ruleset 41 | 42 | 43 | bin\x64\Release\ 44 | TRACE 45 | true 46 | pdbonly 47 | x64 48 | prompt 49 | MinimumRecommendedRules.ruleset 50 | 51 | 52 | 53 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 54 | False 55 | 56 | 57 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 58 | False 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | {5539d732-34a7-44ab-9e28-116c3429b12a} 79 | Core 80 | False 81 | 82 | 83 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /MapsExchange/MapsExchangeSettings.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using ExileCore.Shared.Attributes; 3 | using ExileCore.Shared.Interfaces; 4 | using ExileCore.Shared.Nodes; 5 | using SharpDX; 6 | 7 | namespace MapsExchange 8 | { 9 | public class MapsExchangeSettings : ISettings 10 | { 11 | public Dictionary MapStashAmount = new Dictionary(); 12 | 13 | public MapsExchangeSettings() 14 | { 15 | BordersWidth = new RangeNode(3, 1, 10); 16 | Spacing = new RangeNode(1, 0, 10); 17 | ShowPenalty = new ToggleNode(true); 18 | } 19 | 20 | [Menu("Borders Width")] 21 | public RangeNode BordersWidth { get; set; } 22 | [Menu("Spacing")] 23 | public RangeNode Spacing { get; set; } 24 | [Menu("Show Penalty On Hover")] 25 | public ToggleNode ShowPenalty { get; set; } 26 | [Menu("Text Size")] 27 | public RangeNode TextSize { get; set; } = new RangeNode(30, 10, 100); 28 | [Menu("Show Amount")] 29 | public ToggleNode ShowAmount { get; set; } = new ToggleNode(true); 30 | [Menu("White Map Color")] 31 | public ColorNode WhiteMapColor { get; set; } = Color.White; 32 | [Menu("Yellow Map Color")] 33 | public ColorNode YellowMapColor { get; set; } = Color.Yellow; 34 | [Menu("Red Map Color")] 35 | public ColorNode RedMapColor { get; set; } = new Color(1, 0.3f, 0.3f, 1f); 36 | [Menu("Show OnAtlas", -100)] 37 | public ToggleNode ShowOnAtlas { get; set; } = new ToggleNode(true); 38 | [Menu("Note: Press CTRL whe atlas opened to see map level end exp penalty", -88, -100)] 39 | public EmptyNode AtlasNote { get; set; } 40 | [Menu("Maps Tab (to check amount)", -99, -100)] 41 | public RangeNode MapTabNode { get; set; } = new RangeNode(0, 0, 100); 42 | [Menu("Show UnCompleted", 0, -100)] 43 | public ToggleNode ShowUnCompleted { get; set; } = new ToggleNode(true); 44 | [Menu("Text Transparency", 1, 0)] 45 | public RangeNode UnCompletedTextTransparency { get; set; } = new RangeNode(255, 0, 255); 46 | [Menu("Text Bg", 2, 0)] 47 | public ColorNode UnCompletedTextBg { get; set; } = new Color(0, 0, 0, 1f); 48 | [Menu("Filled Circle", 3, 0)] 49 | public ToggleNode UnCompletedFilledCircle { get; set; } = new ToggleNode(true); 50 | [Menu("Fill Color", 4, 3)] 51 | public ColorNode UnCompletedFillColor { get; set; } = new Color(0, 0, 0, 0.75f); 52 | [Menu("Show Completed", 100, -100)] 53 | public ToggleNode ShowCompleted { get; set; } = new ToggleNode(true); 54 | [Menu("Text Transparency", 101, 100)] 55 | public RangeNode CompletedTextTransparency { get; set; } = new RangeNode(255, 0, 255); 56 | [Menu("Text Bg", 102, 100)] 57 | public ColorNode CompletedTextBg { get; set; } = new Color(0, 0, 0, 0.75f); 58 | [Menu("Filled Circle", 103, 100)] 59 | public ToggleNode CompletedFilledCircle { get; set; } = new ToggleNode(true); 60 | [Menu("Fill Color", 104, 103)] 61 | public ColorNode CompletedFillColor { get; set; } = new Color(1f, 0, 0, 0.235f); 62 | [Menu("Show Bonus Completed", 200, -100)] 63 | public ToggleNode ShowBonusCompleted { get; set; } = new ToggleNode(true); 64 | [Menu("Text Transparency", 201, 200)] 65 | public RangeNode BonusCompletedTextTransparency { get; set; } = new RangeNode(100, 0, 255); 66 | [Menu("Text Bg", 202, 200)] 67 | public ColorNode BonusCompletedTextBg { get; set; } = new Color(0, 0, 0, 0.5f); 68 | [Menu("Filled Circle", 203, 200)] 69 | public ToggleNode BonusCompletedFilledCircle { get; set; } = new ToggleNode(true); 70 | [Menu("Fill Color", 2042, 203)] 71 | public ColorNode BonusCompletedFillColor { get; set; } = new Color(0.1f, 0.9f, 0.1f, 0.01f); 72 | [Menu("Show Buy Button")] 73 | public ToggleNode ShowBuyButton { get; set; } = new ToggleNode(true); 74 | 75 | //[Menu("League")] // gonna use from GameController.Game.IngameState.ServerData.League 76 | //public ListNode League { get; set; } = new ListNode(); 77 | public ToggleNode Enable { get; set; } = new ToggleNode(true); 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /KillCounter/KillCounter.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {B80F3D7E-EB08-44A6-9FC0-0E704820B920} 8 | Library 9 | Properties 10 | KillCounter 11 | KillCounter 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\KillCounter\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | ..\..\..\..\PoeHelper\Plugins\Compiled\KillCounter\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | true 35 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 36 | DEBUG;TRACE 37 | full 38 | x64 39 | prompt 40 | MinimumRecommendedRules.ruleset 41 | 42 | 43 | bin\x64\Release\ 44 | TRACE 45 | true 46 | pdbonly 47 | x64 48 | prompt 49 | MinimumRecommendedRules.ruleset 50 | 51 | 52 | 53 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 54 | False 55 | 56 | 57 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 58 | False 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | {5539d732-34a7-44ab-9e28-116c3429b12a} 79 | Core 80 | False 81 | 82 | 83 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /ItemAlert/ItemAlert.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {FD3E6670-B40E-458C-9C77-A60C7C0CDA31} 8 | Library 9 | Properties 10 | ItemAlert 11 | ItemAlert 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | 18 | 19 | true 20 | full 21 | false 22 | ..\..\..\..\PoeHelper\Plugins\Compiled\ItemAlert\ 23 | DEBUG;TRACE 24 | prompt 25 | 4 26 | 27 | 28 | pdbonly 29 | true 30 | ..\..\..\..\PoeHelper\Plugins\Compiled\ItemAlert\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | ..\..\..\packages\Antlr4.Runtime.4.6.6\lib\net45\Antlr4.Runtime.dll 38 | False 39 | 40 | 41 | ..\..\..\packages\LinqFaster.1.0.0\lib\net461\JM.LinqFaster.dll 42 | False 43 | 44 | 45 | ..\..\..\packages\PoeFilterParser.1.0.42\lib\net471\PoeFilterParser.dll 46 | False 47 | 48 | 49 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 50 | False 51 | 52 | 53 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 54 | False 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | {5539d732-34a7-44ab-9e28-116c3429b12a} 81 | Core 82 | False 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /DPSMeter/DPSMeter.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {DAEAB5B7-1485-4BF3-B09C-0B9F7A5CC89B} 8 | Library 9 | Properties 10 | DPSMeter 11 | DPSMeter 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\DPSMeter\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | ..\..\..\..\PoeHelper\Plugins\Compiled\DPSMeter\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | true 35 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 36 | DEBUG;TRACE 37 | full 38 | x64 39 | prompt 40 | MinimumRecommendedRules.ruleset 41 | 42 | 43 | bin\x64\Release\ 44 | TRACE 45 | true 46 | pdbonly 47 | x64 48 | prompt 49 | MinimumRecommendedRules.ruleset 50 | 51 | 52 | 53 | ..\..\..\packages\LinqFaster.1.0.0\lib\net461\JM.LinqFaster.dll 54 | False 55 | 56 | 57 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 58 | False 59 | 60 | 61 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 62 | False 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | {5539d732-34a7-44ab-9e28-116c3429b12a} 85 | Core 86 | False 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /MinimapIcons/MinimapIcons.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {1AE459C5-308A-4A4E-95E3-4A87C57D2087} 8 | Library 9 | Properties 10 | MinimapIcons 11 | MinimapIcons 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\MinimapIcons\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | ..\..\..\..\PoeHelper\Plugins\Compiled\MinimapIcons\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | true 35 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 36 | DEBUG;TRACE 37 | full 38 | x64 39 | prompt 40 | MinimumRecommendedRules.ruleset 41 | 42 | 43 | bin\x64\Release\ 44 | TRACE 45 | true 46 | pdbonly 47 | x64 48 | prompt 49 | MinimumRecommendedRules.ruleset 50 | 51 | 52 | 53 | ..\..\..\packages\LinqFaster.1.0.0\lib\net461\JM.LinqFaster.dll 54 | False 55 | 56 | 57 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 58 | False 59 | 60 | 61 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 62 | False 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | {5539D732-34A7-44AB-9E28-116C3429B12A} 83 | Core 84 | False 85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /Skill DPS/Skill DPS.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {1DF43765-FF6E-478D-8D85-55C07AE137DE} 8 | Library 9 | Properties 10 | Skill_DPS 11 | Skill DPS 12 | v4.8 13 | 512 14 | 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\Skill DPS\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | ..\..\..\..\PoeHelper\Plugins\Compiled\Skill DPS\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | 35 | 36 | ..\..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll 37 | False 38 | 39 | 40 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 41 | False 42 | 43 | 44 | ..\..\..\packages\SharpDX.Desktop.4.2.0\lib\net45\SharpDX.Desktop.dll 45 | False 46 | 47 | 48 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 49 | False 50 | 51 | 52 | 53 | 54 | 55 | ..\..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll 56 | False 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | {5539d732-34a7-44ab-9e28-116c3429b12a} 78 | Core 79 | False 80 | 81 | 82 | 83 | 84 | 91 | -------------------------------------------------------------------------------- /MiscInformation/MiscInformation.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {FE6BC0C3-DB0E-4808-B99F-9C5D39AE1842} 8 | Library 9 | Properties 10 | MiscInformation 11 | MiscInformation 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\MiscInformation\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | ..\..\..\..\PoeHelper\Plugins\Compiled\MiscInformation\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | true 35 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 36 | DEBUG;TRACE 37 | full 38 | x64 39 | prompt 40 | MinimumRecommendedRules.ruleset 41 | 42 | 43 | bin\x64\Release\ 44 | TRACE 45 | true 46 | pdbonly 47 | x64 48 | prompt 49 | MinimumRecommendedRules.ruleset 50 | 51 | 52 | 53 | ..\..\..\packages\LinqFaster.1.0.0\lib\net461\JM.LinqFaster.dll 54 | False 55 | 56 | 57 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 58 | False 59 | 60 | 61 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 62 | False 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | {5539d732-34a7-44ab-9e28-116c3429b12a} 83 | Core 84 | False 85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /PickIt/PickIt.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {286EB4C6-31A1-4B8E-BF5A-83F9591AE322} 8 | Library 9 | Properties 10 | PickIt 11 | PickIt 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\PickIt\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | ..\..\..\..\PoeHelper\Plugins\Compiled\PickIt\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | true 35 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 36 | DEBUG;TRACE 37 | full 38 | x64 39 | prompt 40 | MinimumRecommendedRules.ruleset 41 | 42 | 43 | bin\x64\Release\ 44 | TRACE 45 | true 46 | pdbonly 47 | x64 48 | prompt 49 | MinimumRecommendedRules.ruleset 50 | 51 | 52 | 53 | 54 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 55 | False 56 | 57 | 58 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 59 | False 60 | 61 | 62 | 63 | 64 | 65 | C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.Windows.Forms.dll 66 | False 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | {5539d732-34a7-44ab-9e28-116c3429b12a} 86 | Core 87 | False 88 | 89 | 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /XPBar/Core.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using ExileCore; 3 | using ExileCore.PoEMemory.Components; 4 | using ExileCore.Shared.Enums; 5 | using SharpDX; 6 | 7 | namespace XPBar 8 | { 9 | public class Core : BaseSettingsPlugin 10 | { 11 | #region ExpTable 12 | 13 | private readonly uint[] ExpTable = 14 | { 15 | 525, 16 | 176, 17 | 3781, 18 | 7184, 19 | 12186, 20 | 19324, 21 | 29377, 22 | 43181, 23 | 61693, 24 | 8599, 25 | 117506, 26 | 157384, 27 | 207736, 28 | 269997, 29 | 346462, 30 | 439268, 31 | 551295, 32 | 685171, 33 | 843709, 34 | 1030734, 35 | 1249629, 36 | 1504995, 37 | 1800847, 38 | 2142652, 39 | 2535122, 40 | 2984677, 41 | 3496798, 42 | 4080655, 43 | 4742836, 44 | 5490247, 45 | 6334393, 46 | 7283446, 47 | 8384398, 48 | 9541110, 49 | 10874351, 50 | 12361842, 51 | 14018289, 52 | 15859432, 53 | 17905634, 54 | 20171471, 55 | 22679999, 56 | 25456123, 57 | 28517857, 58 | 31897771, 59 | 35621447, 60 | 39721017, 61 | 44225461, 62 | 49176560, 63 | 54607467, 64 | 60565335, 65 | 67094245, 66 | 74247659, 67 | 82075627, 68 | 90631041, 69 | 99984974, 70 | 110197515, 71 | 121340161, 72 | 133497202, 73 | 146749362, 74 | 161191120, 75 | 176922628, 76 | 194049893, 77 | 212684946, 78 | 232956711, 79 | 255001620, 80 | 278952403, 81 | 304972236, 82 | 333233648, 83 | 363906163, 84 | 397194041, 85 | 433312945, 86 | 472476370, 87 | 514937180, 88 | 560961898, 89 | 610815862, 90 | 664824416, 91 | 723298169, 92 | 786612664, 93 | 855129128, 94 | 929261318, 95 | 1009443795, 96 | 1096169525, 97 | 1189918242, 98 | 1291270350, 99 | 1400795257, 100 | 1519130326, 101 | 1646943474, 102 | 1784977296, 103 | 1934009687, 104 | 2094900291, 105 | 2268549086, 106 | 2455921256, 107 | 2658074992, 108 | 2876116901, 109 | 3111280300, 110 | 3364828162, 111 | 3638186694, 112 | 3932818530, 113 | 4250334444, 114 | }; 115 | 116 | #endregion 117 | 118 | private uint CurDiff; 119 | private int CurLvl; 120 | private uint CurMax; 121 | private uint CurMin; 122 | 123 | public override bool Initialise() 124 | { 125 | var pExp = GameController.Player.GetComponent().XP; 126 | 127 | for (var i = 0; i < ExpTable.Length - 1; i++) 128 | { 129 | var exp1 = ExpTable[i]; 130 | var exp2 = ExpTable[i + 1]; 131 | 132 | if (pExp > exp1 && pExp < exp2) 133 | { 134 | CurMin = exp1; 135 | CurMax = exp2; 136 | CurLvl = i + 2; 137 | break; 138 | } 139 | } 140 | CurDiff = CurMax - CurMin; 141 | return true; 142 | } 143 | 144 | public override void Render() 145 | { 146 | //var expElement = GameController.Game.IngameState.UIRoot.GetChildFromIndices(1, 57, 12); 147 | var pExp = GameController.Player.GetComponent().XP; 148 | 149 | pExp -= CurMin; 150 | var proc = (float) pExp / CurDiff; 151 | proc *= 100; 152 | var procStr = CurLvl + ": " + Math.Round(proc, 3) + "%"; 153 | var size = Graphics.MeasureText(procStr, 20); 154 | 155 | var scrRect = GameController.Window.GetWindowRectangle(); 156 | 157 | var center = new Vector2(scrRect.X + scrRect.Width / 2, scrRect.Height - 10); 158 | center.Y -= 5; 159 | var textRect = center; 160 | textRect.Y -= 5; 161 | Graphics.DrawText(procStr, textRect, Color.White, FontAlign.Center); // - new Vector2(size.Width / 2, size.Height / 2) 162 | 163 | var drawRect = new RectangleF(center.X - 5 - size.X / 2, center.Y - size.Y / 2, size.X + 10, size.Y); 164 | 165 | Graphics.DrawBox(drawRect, Color.Black); 166 | } 167 | } 168 | } 169 | -------------------------------------------------------------------------------- /PassiveSkillTreePlanter/SkillTreeJson/PoESkillTree.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Newtonsoft.Json; 3 | 4 | namespace PassiveSkillTreePlanter 5 | { 6 | //Many thanks to https://github.com/EmmittJ/PoESkillTree 7 | public class Character 8 | { 9 | public int base_str { get; set; } 10 | public int base_dex { get; set; } 11 | public int base_int { get; set; } 12 | } 13 | 14 | public class NodeGroup 15 | { 16 | public double x { get; set; } 17 | public double y { get; set; } 18 | public Dictionary oo { get; set; } 19 | public List n { get; set; } 20 | } 21 | 22 | public class Main 23 | { 24 | public ushort id { get; set; } 25 | public string icon { get; set; } 26 | public bool ks { get; set; } 27 | public bool not { get; set; } 28 | public string dn { get; set; } 29 | public bool m { get; set; } 30 | public int[] spc { get; set; } 31 | public string[] sd { get; set; } 32 | public int g { get; set; } 33 | public int o { get; set; } 34 | public int oidx { get; set; } 35 | public int sa { get; set; } 36 | public int da { get; set; } 37 | public int ia { get; set; } 38 | [JsonProperty("out")] 39 | public List ot { get; set; } 40 | } 41 | 42 | public class Node 43 | { 44 | public ushort id { get; set; } 45 | public string icon { get; set; } 46 | public bool ks { get; set; } 47 | public bool not { get; set; } 48 | public string dn { get; set; } 49 | public bool m { get; set; } 50 | public bool isJewelSocket { get; set; } 51 | public bool isMultipleChoice { get; set; } 52 | public bool isMultipleChoiceOption { get; set; } 53 | public int passivePointsGranted { get; set; } 54 | public string ascendancyName { get; set; } 55 | public bool isAscendancyStart { get; set; } 56 | public int[] spc { get; set; } 57 | public string[] sd { get; set; } 58 | public string[] reminderText { get; set; } 59 | public int g { get; set; } 60 | public int o { get; set; } 61 | public int oidx { get; set; } 62 | public int sa { get; set; } 63 | public int da { get; set; } 64 | public int ia { get; set; } 65 | [JsonProperty("out")] 66 | public List _out { get; set; } 67 | [JsonProperty("in")] 68 | public List _in { get; set; } 69 | } 70 | 71 | public class JsonConstants 72 | { 73 | public Dictionary classes { get; set; } 74 | public Dictionary characterAttributes { get; set; } 75 | public int PSSCentreInnerRadius { get; set; } 76 | } 77 | 78 | public class Art2D 79 | { 80 | public int x { get; set; } 81 | public int y { get; set; } 82 | public int w { get; set; } 83 | public int h { get; set; } 84 | } 85 | 86 | public class SkillSprite 87 | { 88 | public string filename { get; set; } 89 | public Dictionary coords { get; set; } 90 | } 91 | 92 | public class PoESkillTree 93 | { 94 | public Dictionary characterData { get; set; } 95 | public Dictionary groups { get; set; } 96 | public Main root { get; set; } 97 | public Main main { get; set; } 98 | public Dictionary nodes { get; set; } 99 | public Dictionary nodesDict { get; set; } 100 | public int min_x { get; set; } 101 | public int min_y { get; set; } 102 | public int max_x { get; set; } 103 | public int max_y { get; set; } 104 | public Dictionary> assets { get; set; } 105 | public JsonConstants constants { get; set; } 106 | public string imageRoot { get; set; } 107 | public Dictionary skillSprites { get; set; } 108 | public double[] imageZoomLevels { get; set; } 109 | } 110 | 111 | public class Opts 112 | { 113 | public Dictionary ascClasses { get; set; } 114 | } 115 | 116 | public class baseToAscClass 117 | { 118 | public string name { get; set; } 119 | public Dictionary classes { get; set; } 120 | } 121 | 122 | public class classes 123 | { 124 | [JsonProperty("name")] 125 | public string name { get; set; } 126 | [JsonProperty("displayName")] 127 | public string displayName { get; set; } 128 | [JsonProperty("flavourText")] 129 | public string flavourText { get; set; } 130 | [JsonProperty("flavourTextRect")] 131 | public string flavourTextRect { get; set; } 132 | [JsonProperty("flavourTextColour")] 133 | public string flavourTextColour { get; set; } 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /PickIt/CustomItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using ExileCore; 5 | using ExileCore.PoEMemory; 6 | using ExileCore.PoEMemory.Components; 7 | using ExileCore.PoEMemory.Elements; 8 | using ExileCore.PoEMemory.MemoryObjects; 9 | using ExileCore.Shared.Enums; 10 | using Map = ExileCore.PoEMemory.Components.Map; 11 | 12 | namespace PickIt 13 | { 14 | public class CustomItem 15 | { 16 | public Func IsTargeted; 17 | public bool IsValid; 18 | 19 | public CustomItem(LabelOnGround item, FilesContainer fs, float distance, Dictionary weightsRules) 20 | { 21 | LabelOnGround = item; 22 | Distance = distance; 23 | var itemItemOnGround = item.ItemOnGround; 24 | var worldItem = itemItemOnGround?.GetComponent(); 25 | if (worldItem == null) return; 26 | var groundItem = worldItem.ItemEntity; 27 | GroundItem = groundItem; 28 | Path = groundItem?.Path; 29 | if (GroundItem == null) return; 30 | 31 | if (Path != null && Path.Length < 1) 32 | { 33 | DebugWindow.LogMsg($"World: {worldItem.Address:X} P: {Path}", 2); 34 | DebugWindow.LogMsg($"Ground: {GroundItem.Address:X} P {Path}", 2); 35 | return; 36 | } 37 | 38 | IsTargeted = () => 39 | { 40 | var isTargeted = itemItemOnGround.GetComponent()?.isTargeted; 41 | return isTargeted != null && (bool) isTargeted; 42 | }; 43 | 44 | var baseItemType = fs.BaseItemTypes.Translate(Path); 45 | 46 | if (baseItemType != null) 47 | { 48 | ClassName = baseItemType.ClassName; 49 | BaseName = baseItemType.BaseName; 50 | Width = baseItemType.Width; 51 | Height = baseItemType.Height; 52 | if (weightsRules.TryGetValue(BaseName, out var w)) Weight = w; 53 | } 54 | 55 | var WeaponClass = new List 56 | { 57 | "One Hand Mace", 58 | "Two Hand Mace", 59 | "One Hand Axe", 60 | "Two Hand Axe", 61 | "One Hand Sword", 62 | "Two Hand Sword", 63 | "Thrusting One Hand Sword", 64 | "Bow", 65 | "Claw", 66 | "Dagger", 67 | "Sceptre", 68 | "Staff", 69 | "Wand" 70 | }; 71 | 72 | if (GroundItem.HasComponent()) 73 | { 74 | var quality = GroundItem.GetComponent(); 75 | Quality = quality.ItemQuality; 76 | } 77 | 78 | if (GroundItem.HasComponent()) 79 | { 80 | var @base = GroundItem.GetComponent(); 81 | IsElder = @base.isElder; 82 | IsShaper = @base.isShaper; 83 | } 84 | 85 | if (GroundItem.HasComponent()) 86 | { 87 | var mods = GroundItem.GetComponent(); 88 | Rarity = mods.ItemRarity; 89 | IsIdentified = mods.Identified; 90 | ItemLevel = mods.ItemLevel; 91 | IsFractured = mods.HaveFractured; 92 | } 93 | 94 | if (GroundItem.HasComponent()) 95 | { 96 | var sockets = GroundItem.GetComponent(); 97 | IsRGB = sockets.IsRGB; 98 | Sockets = sockets.NumberOfSockets; 99 | LargestLink = sockets.LargestLinkSize; 100 | } 101 | 102 | if (WeaponClass.Any(ClassName.Equals)) IsWeapon = true; 103 | 104 | MapTier = GroundItem.HasComponent() ? GroundItem.GetComponent().Tier : 0; 105 | IsValid = true; 106 | } 107 | 108 | public string BaseName { get; } = ""; 109 | public string ClassName { get; } = ""; 110 | public LabelOnGround LabelOnGround { get; } 111 | public float Distance { get; } 112 | public Entity GroundItem { get; } 113 | public int Height { get; } 114 | public bool IsElder { get; } 115 | public bool IsIdentified { get; } 116 | public bool IsRGB { get; } 117 | public bool IsShaper { get; } 118 | public bool IsWeapon { get; } 119 | public int ItemLevel { get; } 120 | public int LargestLink { get; } 121 | public int MapTier { get; } 122 | public string Path { get; } 123 | public int Quality { get; } 124 | public ItemRarity Rarity { get; } 125 | public int Sockets { get; } 126 | public int Width { get; } 127 | public bool IsFractured { get; } 128 | public int Weight { get; set; } 129 | 130 | public override string ToString() 131 | { 132 | return $"{BaseName} ({ClassName}) W: {Weight} Dist: {Distance}"; 133 | } 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /IconsBuilder/MonsterIcon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using ExileCore; 4 | using ExileCore.PoEMemory.Components; 5 | using ExileCore.PoEMemory.MemoryObjects; 6 | using ExileCore.Shared; 7 | using ExileCore.Shared.Abstract; 8 | using ExileCore.Shared.Enums; 9 | using ExileCore.Shared.Helpers; 10 | using JM.LinqFaster; 11 | using SharpDX; 12 | 13 | namespace IconsBuilder 14 | { 15 | public class MonsterIcon : BaseIcon 16 | { 17 | public MonsterIcon(Entity entity, GameController gameController, IconsBuilderSettings settings, Dictionary modIcons) 18 | : base(entity, settings) 19 | { 20 | Update(entity, settings, modIcons); 21 | } 22 | 23 | public long ID { get; set; } 24 | 25 | public void Update(Entity entity, IconsBuilderSettings settings, Dictionary modIcons) 26 | { 27 | Show = () => entity.IsAlive; 28 | ID = entity.Id; 29 | 30 | if (!_HasIngameIcon) MainTexture = new HudTexture("Icons.png"); 31 | 32 | switch (Rarity) 33 | { 34 | case MonsterRarity.White: 35 | MainTexture.Size = settings.SizeEntityWhiteIcon; 36 | break; 37 | case MonsterRarity.Magic: 38 | MainTexture.Size = settings.SizeEntityMagicIcon; 39 | break; 40 | case MonsterRarity.Rare: 41 | MainTexture.Size = settings.SizeEntityRareIcon; 42 | break; 43 | case MonsterRarity.Unique: 44 | MainTexture.Size = settings.SizeEntityUniqueIcon; 45 | break; 46 | default: 47 | throw new ArgumentException( 48 | $"{nameof(MonsterIcon)} wrong rarity for {entity.Path}. Dump: {entity.GetComponent().DumpObject()}"); 49 | 50 | break; 51 | } 52 | 53 | if (_HasIngameIcon && entity.HasComponent() && !entity.GetComponent().Name.Equals("NPC")) 54 | return; 55 | 56 | if (!entity.IsHostile) 57 | { 58 | if (!_HasIngameIcon) 59 | { 60 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.LootFilterSmallGreenCircle); 61 | Priority = IconPriority.Low; 62 | Show = () => !settings.HideMinions && entity.IsAlive; 63 | } 64 | 65 | //Spirits icon 66 | } 67 | else if (Rarity == MonsterRarity.Unique && entity.Path.Contains("Metadata/Monsters/Spirit/")) 68 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.LootFilterLargeGreenHexagon); 69 | else 70 | { 71 | string modName = null; 72 | 73 | if (entity.HasComponent()) 74 | { 75 | var objectMagicProperties = entity.GetComponent(); 76 | 77 | var mods = objectMagicProperties.Mods; 78 | 79 | if (mods != null) 80 | { 81 | if (mods.Contains("MonsterConvertsOnDeath_")) Show = () => entity.IsAlive && entity.IsHostile; 82 | 83 | modName = mods.FirstOrDefaultF(modIcons.ContainsKey); 84 | } 85 | } 86 | 87 | if (modName != null) 88 | { 89 | MainTexture = new HudTexture("sprites.png"); 90 | MainTexture.UV = SpriteHelper.GetUV(modIcons[modName], new Size2F(7, 8)); 91 | Priority = IconPriority.VeryHigh; 92 | } 93 | else 94 | { 95 | switch (Rarity) 96 | { 97 | case MonsterRarity.White: 98 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.LootFilterLargeRedCircle); 99 | break; 100 | case MonsterRarity.Magic: 101 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.LootFilterLargeBlueCircle); 102 | 103 | break; 104 | case MonsterRarity.Rare: 105 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.LootFilterLargeYellowCircle); 106 | break; 107 | case MonsterRarity.Unique: 108 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.LootFilterLargeCyanHexagon); 109 | MainTexture.Color = Color.DarkOrange; 110 | break; 111 | default: 112 | throw new ArgumentOutOfRangeException( 113 | $"Rarity wrong was is {Rarity}. {entity.GetComponent().DumpObject()}"); 114 | } 115 | } 116 | } 117 | } 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /EliteBar/EliteBar.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {D13CD5D2-F97F-43EB-962A-116E84B23017} 8 | Library 9 | Properties 10 | EliteBar 11 | EliteBar 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\EliteBar\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | pdbonly 27 | true 28 | ..\..\..\..\PoeHelper\Plugins\Compiled\DPSMeter\ 29 | TRACE 30 | prompt 31 | 4 32 | 33 | 34 | true 35 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 36 | DEBUG;TRACE 37 | full 38 | x64 39 | prompt 40 | MinimumRecommendedRules.ruleset 41 | 42 | 43 | bin\x64\Release\ 44 | TRACE 45 | true 46 | pdbonly 47 | x64 48 | prompt 49 | MinimumRecommendedRules.ruleset 50 | 51 | 52 | 53 | ..\..\..\..\PoeHelper\ImGui.NET.dll 54 | False 55 | 56 | 57 | 58 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 59 | False 60 | 61 | 62 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 63 | False 64 | 65 | 66 | 67 | 68 | 69 | 70 | ..\..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll 71 | False 72 | 73 | 74 | ..\..\..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | {5539d732-34a7-44ab-9e28-116c3429b12a} 92 | Core 93 | False 94 | 95 | 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /IconsBuilder/MiscIcon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using ExileCore; 3 | using ExileCore.PoEMemory.Components; 4 | using ExileCore.PoEMemory.MemoryObjects; 5 | using ExileCore.Shared; 6 | using ExileCore.Shared.Abstract; 7 | using ExileCore.Shared.Enums; 8 | using ExileCore.Shared.Helpers; 9 | 10 | namespace IconsBuilder 11 | { 12 | public class MiscIcon : BaseIcon 13 | { 14 | public MiscIcon(Entity entity, GameController gameController, IconsBuilderSettings settings) : base(entity, settings) 15 | { 16 | Update(entity, settings); 17 | } 18 | 19 | public override string ToString() 20 | { 21 | return $"{Entity.Path} : ({Entity.Type}) :{Text}"; 22 | } 23 | 24 | public void Update(Entity entity, IconsBuilderSettings settings) 25 | { 26 | if (!_HasIngameIcon) 27 | { 28 | MainTexture = new HudTexture(); 29 | MainTexture.FileName = "Icons.png"; 30 | MainTexture.Size = settings.SizeMiscIcon; 31 | } 32 | else 33 | { 34 | MainTexture.Size = settings.SizeDefaultIcon; 35 | Text = RenderName; 36 | Priority = IconPriority.VeryHigh; 37 | if (entity.GetComponent().Name.Equals("DelveRobot", StringComparison.Ordinal)) Text = "Follow Me"; 38 | 39 | return; 40 | } 41 | 42 | if (entity.HasComponent()) 43 | { 44 | if (entity.Path.Equals("Metadata/Terrain/Leagues/Synthesis/Objects/SynthesisPortal", StringComparison.Ordinal)) 45 | Show = () => entity.IsValid; 46 | else 47 | { 48 | Show = () => 49 | { 50 | var isVisible = false; 51 | 52 | if (entity.HasComponent()) 53 | { 54 | var minimapIcon = entity.GetComponent(); 55 | isVisible = minimapIcon.IsVisible && !minimapIcon.IsHide; 56 | } 57 | 58 | return entity.IsValid && isVisible && entity.IsTargetable; 59 | }; 60 | } 61 | } 62 | else 63 | Show = () => entity.IsValid && entity.GetComponent().IsVisible; 64 | 65 | if (entity.HasComponent() && entity.HasComponent()) 66 | { 67 | if (entity.Path.Equals("Metadata/MiscellaneousObjects/Abyss/AbyssCrackSpawners/AbyssCrackSkeletonSpawner")) 68 | { 69 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.AbyssCrack); 70 | 71 | Show = () => entity.IsValid && (entity.GetComponent().IsHide == false || 72 | entity.GetComponent().Flag1 == 1); 73 | } 74 | 75 | else if (entity.Path.Equals("Metadata/MiscellaneousObjects/Abyss/AbyssStartNode")) 76 | { 77 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.Abyss); 78 | 79 | Show = () => entity.IsValid && (entity.GetComponent().IsHide == false || 80 | entity.GetComponent().Flag1 == 1); 81 | } 82 | else if (entity.Path.Equals("Metadata/MiscellaneousObjects/Abyss/AbyssNodeSmall", StringComparison.Ordinal) || 83 | entity.Path.Equals("Metadata/MiscellaneousObjects/Abyss/AbyssNodeLarge", StringComparison.Ordinal) || 84 | entity.Path.StartsWith("Metadata/MiscellaneousObjects/Abyss/AbyssFinalNodeChest")) 85 | { 86 | Show = () => entity.IsValid && (entity.GetComponent().IsHide == false || 87 | entity.GetComponent().Flag1 == 1); 88 | } 89 | else if (entity.Path.StartsWith("Metadata/Terrain/Leagues/Incursion/Objects/IncursionPortal", StringComparison.Ordinal)) 90 | Show = () => entity.IsValid && entity.GetComponent().Flag1 < 3; 91 | else 92 | { 93 | Priority = IconPriority.Critical; 94 | Show = () => false; 95 | } 96 | } 97 | else if (entity.HasComponent()) 98 | { 99 | if (entity.Path.Contains("Metadata/Terrain/Leagues/Delve/Objects/DelveMineral")) 100 | { 101 | Priority = IconPriority.High; 102 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.DelveMineralVein); 103 | Text = "Sulphite"; 104 | Show = () => entity.IsValid && entity.IsTargetable; 105 | } 106 | else if (entity.Path.Contains("Metadata/Terrain/Leagues/Delve/Objects/EncounterControlObjects/AzuriteEncounterController")) 107 | { 108 | Priority = IconPriority.High; 109 | Text = "Start"; 110 | Show = () => entity.IsValid && entity.GetComponent().Flag1 < 3; 111 | MainTexture.UV = SpriteHelper.GetUV(MapIconsIndex.PartyLeader); 112 | } 113 | } 114 | } 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /Stashie/Refill.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using ExileCore; 5 | using ExileCore.Shared.Nodes; 6 | using SharpDX; 7 | 8 | namespace Stashie 9 | { 10 | public class RefillParser 11 | { 12 | private const string REFILL_CONFIG = "RefillCurrency.txt"; 13 | private const string SYMBOL_NAMEDIVIDER = ":"; 14 | private const char SYMBOL_PARAMETERSDIVIDER = ','; 15 | private const string SYMBOL_IGNORE = "#"; 16 | private const string SYMBOL_IGNORE2 = "//"; 17 | 18 | public static List Parse(string pluginDir) 19 | { 20 | var refills = new List(); 21 | 22 | var refillConfigPath = Path.Combine(pluginDir, REFILL_CONFIG); 23 | if (!File.Exists(refillConfigPath)) return refills; 24 | 25 | var configLines = File.ReadAllLines(refillConfigPath); 26 | 27 | for (var i = 0; i < configLines.Length; i++) 28 | { 29 | var configLine = configLines[i]; 30 | configLine = configLine.Replace("\t", ""); 31 | if (configLine.Replace(" ", "").Length == 0) continue; 32 | if (configLine.StartsWith(SYMBOL_IGNORE) || configLine.StartsWith(SYMBOL_IGNORE2)) continue; 33 | 34 | var newRefill = new RefillProcessor(); 35 | 36 | var nameIndex = configLine.IndexOf(SYMBOL_NAMEDIVIDER, StringComparison.Ordinal); 37 | 38 | if (nameIndex == -1) 39 | { 40 | DebugWindow.LogMsg($"Refill parser: Can't find refill name in line: {configLine}. Name should have \":\" divider.", 10); 41 | continue; 42 | } 43 | 44 | newRefill.MenuName = configLine.Substring(0, nameIndex); 45 | TrimName(ref newRefill.MenuName); 46 | 47 | configLine = configLine.Substring(nameIndex + SYMBOL_NAMEDIVIDER.Length); 48 | 49 | var configLineParams = configLine.Split(SYMBOL_PARAMETERSDIVIDER); 50 | 51 | if (configLineParams.Length != 4) 52 | { 53 | DebugWindow.LogMsg( 54 | $"Refill parser: Config line should have 4 parameters (ClassName,StackSize,InventoryX,InventoryY): {configLine}, Ignoring refill..", 55 | 10); 56 | 57 | continue; 58 | } 59 | 60 | newRefill.CurrencyClass = configLineParams[0]; 61 | TrimName(ref newRefill.CurrencyClass); 62 | 63 | if (!int.TryParse(configLineParams[1], out newRefill.StackSize)) 64 | { 65 | DebugWindow.LogMsg( 66 | $"Refill parser: Can't parse StackSize from 2nd parameter in line: {configLine} (line num: {i + 1}), Ignoring refill..", 67 | 10); 68 | 69 | continue; 70 | } 71 | 72 | if (!int.TryParse(configLineParams[2], out newRefill.InventPos.X)) 73 | { 74 | DebugWindow.LogMsg( 75 | $"Refill parser: Can't parse InventoryX from 3rd parameter in line: {configLine} (line num: {i + 1}), Ignoring refill..", 76 | 10); 77 | 78 | continue; 79 | } 80 | 81 | if (newRefill.InventPos.X < 1 || newRefill.InventPos.X > 12) 82 | { 83 | DebugWindow.LogMsg( 84 | $"Refill parser: InventoryX should be in range 1-12, current value: {newRefill.InventPos.X} (line num: {i + 1}), Ignoring refill..", 85 | 10); 86 | 87 | continue; 88 | } 89 | 90 | if (!int.TryParse(configLineParams[3], out newRefill.InventPos.Y)) 91 | { 92 | DebugWindow.LogMsg( 93 | $"Refill parser: Can't parse InventoryY from 4th parameter in line: {configLine} (line num: {i + 1}), Ignoring refill..", 94 | 10); 95 | 96 | continue; 97 | } 98 | 99 | if (newRefill.InventPos.Y < 1 || newRefill.InventPos.Y > 5) 100 | { 101 | DebugWindow.LogMsg( 102 | $"Refill parser: InventPosY should be in range 1-5, current value: {newRefill.InventPos.Y} (line num: {i + 1}), Ignoring refill..", 103 | 10); 104 | 105 | continue; 106 | } 107 | 108 | // Convert to zero based index. 109 | newRefill.InventPos.X--; 110 | newRefill.InventPos.Y--; 111 | 112 | refills.Add(newRefill); 113 | } 114 | 115 | return refills; 116 | } 117 | 118 | private static void TrimName(ref string name) 119 | { 120 | name = name.TrimEnd(' '); 121 | name = name.TrimStart(' '); 122 | } 123 | } 124 | 125 | public class RefillProcessor 126 | { 127 | public RangeNode AmountOption { get; set; } 128 | public Vector2 ClickPos; 129 | public string CurrencyClass; 130 | public Point InventPos; 131 | public string MenuName; 132 | 133 | //Temp values: 134 | public int OwnedCount; 135 | public int StackSize; 136 | 137 | public void Clear() 138 | { 139 | OwnedCount = 0; 140 | } 141 | } 142 | 143 | public class RefillSettings 144 | { 145 | public int Amount; 146 | public string RefillName; 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /PreloadAlert/PreloadAlert.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {8B098CA6-52E6-4D70-9F00-6802AA2E464F} 8 | Library 9 | Properties 10 | PreloadAlert 11 | PreloadAlert 12 | v4.8 13 | 512 14 | 15 | 16 | x64 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\PreloadAlert\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | x64 27 | pdbonly 28 | true 29 | ..\..\..\..\PoeHelper\Plugins\Compiled\PreloadAlert\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | true 36 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 37 | DEBUG;TRACE 38 | full 39 | x64 40 | prompt 41 | MinimumRecommendedRules.ruleset 42 | 43 | 44 | bin\x64\Release\ 45 | TRACE 46 | true 47 | pdbonly 48 | x64 49 | prompt 50 | MinimumRecommendedRules.ruleset 51 | 52 | 53 | 54 | ..\..\..\..\PoeHelper\ImGui.NET.dll 55 | False 56 | 57 | 58 | 59 | ..\..\..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll 60 | False 61 | 62 | 63 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 64 | False 65 | 66 | 67 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 68 | False 69 | 70 | 71 | 72 | 73 | 74 | 75 | ..\..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll 76 | False 77 | 78 | 79 | ..\..\..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll 80 | False 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | {5539d732-34a7-44ab-9e28-116c3429b12a} 94 | Core 95 | False 96 | 97 | 98 | 99 | 100 | 101 | 102 | 109 | -------------------------------------------------------------------------------- /AdvancedTooltip/AdvancedTooltip.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {E15FF26B-5D91-4492-A8BD-C9F5B60D8845} 8 | Library 9 | Properties 10 | AdvancedTooltip 11 | AdvancedTooltip 12 | v4.8 13 | 512 14 | true 15 | 16 | 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\AdvancedTooltip\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | x64 25 | 26 | 27 | pdbonly 28 | true 29 | ..\..\..\..\PoeHelper\Plugins\Compiled\AdvancedTooltip\ 30 | TRACE 31 | prompt 32 | 4 33 | x64 34 | 35 | 36 | true 37 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 38 | DEBUG;TRACE 39 | full 40 | x64 41 | prompt 42 | MinimumRecommendedRules.ruleset 43 | 44 | 45 | bin\x64\Release\ 46 | TRACE 47 | true 48 | pdbonly 49 | x64 50 | prompt 51 | MinimumRecommendedRules.ruleset 52 | 53 | 54 | 55 | 56 | ..\..\..\packages\Serilog.2.8.0\lib\net46\Serilog.dll 57 | False 58 | 59 | 60 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 61 | False 62 | 63 | 64 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 65 | False 66 | 67 | 68 | 69 | ..\..\..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll 70 | False 71 | 72 | 73 | 74 | 75 | ..\..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll 76 | False 77 | 78 | 79 | ..\..\..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll 80 | False 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | {5539D732-34A7-44AB-9E28-116C3429B12A} 102 | Core 103 | False 104 | 105 | 106 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /IconsBuilder/IconsBuilder.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {0D4BAE14-C9FF-47E1-8B60-D8A859512B20} 8 | Library 9 | Properties 10 | IconsBuilder 11 | IconsBuilder 12 | v4.8 13 | 512 14 | 15 | 16 | x64 17 | true 18 | full 19 | false 20 | ..\..\..\..\PoeHelper\Plugins\Compiled\IconsBuilder\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | x64 27 | pdbonly 28 | true 29 | ..\..\..\..\PoeHelper\Plugins\Compiled\IconsBuilder\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | true 36 | ..\..\..\..\PoeHelper\Plugins\Compiled\DevTree\ 37 | DEBUG;TRACE 38 | full 39 | x64 40 | prompt 41 | MinimumRecommendedRules.ruleset 42 | 43 | 44 | bin\x64\Release\ 45 | TRACE 46 | true 47 | pdbonly 48 | x64 49 | prompt 50 | MinimumRecommendedRules.ruleset 51 | 52 | 53 | 54 | ..\..\..\packages\LinqFaster.1.0.0\lib\net461\JM.LinqFaster.dll 55 | False 56 | 57 | 58 | 59 | ..\..\..\packages\morelinq.3.1.0\lib\net451\MoreLinq.dll 60 | False 61 | 62 | 63 | 64 | ..\..\..\packages\Serilog.2.8.0\lib\net46\Serilog.dll 65 | False 66 | 67 | 68 | ..\..\..\packages\SharpDX.4.2.0\lib\net45\SharpDX.dll 69 | False 70 | 71 | 72 | ..\..\..\packages\SharpDX.Mathematics.4.2.0\lib\net45\SharpDX.Mathematics.dll 73 | False 74 | 75 | 76 | 77 | 78 | 79 | 80 | ..\..\..\packages\System.ValueTuple.4.4.0\lib\net47\System.ValueTuple.dll 81 | False 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | {5539d732-34a7-44ab-9e28-116c3429b12a} 102 | Core 103 | False 104 | 105 | 106 | 107 | 108 | 109 | 110 | 117 | -------------------------------------------------------------------------------- /HealthBars/HealthBarsSettings.cs: -------------------------------------------------------------------------------- 1 | using ExileCore.Shared.Attributes; 2 | using ExileCore.Shared.Interfaces; 3 | using ExileCore.Shared.Nodes; 4 | 5 | namespace HealthBars 6 | { 7 | public class HealthBarsSettings : ISettings 8 | { 9 | public HealthBarsSettings() 10 | { 11 | Enable = new ToggleNode(false); 12 | ShowInTown = new ToggleNode(false); 13 | ShowES = new ToggleNode(true); 14 | ShowEnemies = new ToggleNode(true); 15 | Players = new UnitSettings(0x008000ff, 0); 16 | Minions = new UnitSettings(0x90ee90ff, 0); 17 | NormalEnemy = new UnitSettings(0xff0000ff, 0, 0x66ff66ff, false); 18 | MagicEnemy = new UnitSettings(0xff0000ff, 0x8888ffff, 0x66ff99ff, false); 19 | RareEnemy = new UnitSettings(0xff0000ff, 0xffff77ff, 0x66ff99ff, false); 20 | UniqueEnemy = new UnitSettings(0xff0000ff, 0xffa500ff, 0x66ff99ff, false); 21 | ShowDebuffPanel = new ToggleNode(false); 22 | DebuffPanelIconSize = new RangeNode(20, 15, 40); 23 | GlobalZ = new RangeNode(-100, -300, 300); 24 | PlayerZ = new RangeNode(-100, -300, 300); 25 | } 26 | 27 | [Menu("Show In Town")] 28 | public ToggleNode ShowInTown { get; set; } 29 | [Menu("Show ES")] 30 | public ToggleNode ShowES { get; set; } 31 | [Menu("Show Enemies", 0, 3)] 32 | public ToggleNode ShowEnemies { get; set; } 33 | [Menu("Players", 1)] 34 | public UnitSettings Players { get; set; } 35 | [Menu("Minions", 2)] 36 | public UnitSettings Minions { get; set; } 37 | [Menu("Normal enemy", 3)] 38 | public UnitSettings NormalEnemy { get; set; } 39 | [Menu("Magic enemy", 4)] 40 | public UnitSettings MagicEnemy { get; set; } 41 | [Menu("Rare enemy", 5)] 42 | public UnitSettings RareEnemy { get; set; } 43 | [Menu("Unique enemy", 6)] 44 | public UnitSettings UniqueEnemy { get; set; } 45 | [Menu("Show Debuff Panel")] 46 | public ToggleNode ShowDebuffPanel { get; set; } 47 | [Menu("Size debuff icon")] 48 | public RangeNode DebuffPanelIconSize { get; set; } 49 | [Menu("Z")] 50 | public RangeNode GlobalZ { get; set; } 51 | [Menu("Player Z")] 52 | public RangeNode PlayerZ { get; set; } 53 | [Menu("Hide Over UI")] 54 | public ToggleNode HideOverUi { get; set; } = new ToggleNode(true); 55 | [Menu("Using ImGui for render")] 56 | public ToggleNode ImGuiRender { get; set; } = new ToggleNode(false); 57 | public RangeNode LimitDrawDistance { get; set; } = new RangeNode(133, 0, 1000); 58 | [Menu("Rounding")] 59 | public RangeNode Rounding { get; set; } = new RangeNode(0, 0, 64); 60 | public ToggleNode MultiThreading { get; set; } = new ToggleNode(false); 61 | public RangeNode MultiThreadingCountEntities { get; set; } = new RangeNode(10, 1, 200); 62 | public RangeNode ShowMinionOnlyBelowHp { get; set; } = new RangeNode(50, 1, 100); 63 | public ToggleNode SelfHealthBarShow { get; set; } = new ToggleNode(true); 64 | public ToggleNode Enable { get; set; } 65 | } 66 | 67 | public class UnitSettings : ISettings 68 | { 69 | public UnitSettings(uint color, uint outline) 70 | { 71 | Enable = new ToggleNode(true); 72 | Width = new RangeNode(100, 20, 250); 73 | Height = new RangeNode(20, 5, 150); 74 | Color = color; 75 | Outline = outline; 76 | Under10Percent = 0xffffffff; 77 | PercentTextColor = 0xffffffff; 78 | HealthTextColor = 0xffffffff; 79 | HealthTextColorUnder10Percent = 0xffff00ff; 80 | ShowPercents = new ToggleNode(false); 81 | ShowHealthText = new ToggleNode(false); 82 | ShowFloatingCombatDamage = new ToggleNode(false); 83 | FloatingCombatTextSize = new RangeNode(15, 10, 30); 84 | FloatingCombatDamageColor = SharpDX.Color.Yellow; 85 | FloatingCombatHealColor = SharpDX.Color.Lime; 86 | BackGround = SharpDX.Color.Black; 87 | TextSize = new RangeNode(15, 10, 50); 88 | FloatingCombatStackSize = new RangeNode(1, 1, 10); 89 | } 90 | 91 | public UnitSettings(uint color, uint outline, uint percentTextColor, bool showText) : this(color, outline) 92 | { 93 | PercentTextColor = percentTextColor; 94 | ShowPercents.Value = showText; 95 | ShowHealthText.Value = showText; 96 | } 97 | 98 | public RangeNode Width { get; set; } 99 | public RangeNode Height { get; set; } 100 | public ColorNode Color { get; set; } 101 | public ColorNode Outline { get; set; } 102 | public ColorNode BackGround { get; set; } 103 | public ColorNode Under10Percent { get; set; } 104 | public ColorNode PercentTextColor { get; set; } 105 | public ColorNode HealthTextColor { get; set; } 106 | public ColorNode HealthTextColorUnder10Percent { get; set; } 107 | public ToggleNode ShowPercents { get; set; } 108 | public ToggleNode ShowHealthText { get; set; } 109 | public RangeNode TextSize { get; set; } 110 | [Menu("Floating Combat Text")] 111 | public ToggleNode ShowFloatingCombatDamage { get; set; } 112 | [Menu("Damage Color")] 113 | public ColorNode FloatingCombatDamageColor { get; set; } 114 | [Menu("Heal Color")] 115 | public ColorNode FloatingCombatHealColor { get; set; } 116 | [Menu("Text Size")] 117 | public RangeNode FloatingCombatTextSize { get; set; } 118 | [Menu("Number of Lines")] 119 | public RangeNode FloatingCombatStackSize { get; set; } 120 | [Menu("Enable")] 121 | public ToggleNode Enable { get; set; } 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /MapsExchange/PoeTradeProcessor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Net; 5 | 6 | namespace MapsExchange 7 | { 8 | public class PoeTradeProcessor 9 | { 10 | private readonly List DefaultPostData = new List(); 11 | private readonly string url = "http://poe.trade/search"; 12 | 13 | public PoeTradeProcessor() 14 | { 15 | DefaultPostData.Add("league=Bestiary"); 16 | DefaultPostData.Add("type=Map"); 17 | DefaultPostData.Add("base="); 18 | DefaultPostData.Add("name="); 19 | DefaultPostData.Add("dmg_min="); 20 | DefaultPostData.Add("dmg_max="); 21 | DefaultPostData.Add("aps_min="); 22 | DefaultPostData.Add("aps_max="); 23 | DefaultPostData.Add("crit_min="); 24 | DefaultPostData.Add("crit_max="); 25 | DefaultPostData.Add("dps_min="); 26 | DefaultPostData.Add("dps_max="); 27 | DefaultPostData.Add("edps_min="); 28 | DefaultPostData.Add("edps_max="); 29 | DefaultPostData.Add("pdps_min="); 30 | DefaultPostData.Add("pdps_max="); 31 | DefaultPostData.Add("armour_min="); 32 | DefaultPostData.Add("armour_max="); 33 | DefaultPostData.Add("evasion_min="); 34 | DefaultPostData.Add("evasion_max="); 35 | DefaultPostData.Add("shield_min="); 36 | DefaultPostData.Add("shield_max="); 37 | DefaultPostData.Add("block_min="); 38 | DefaultPostData.Add("block_max="); 39 | DefaultPostData.Add("sockets_min="); 40 | DefaultPostData.Add("sockets_max="); 41 | DefaultPostData.Add("link_min="); 42 | DefaultPostData.Add("link_max="); 43 | DefaultPostData.Add("sockets_r="); 44 | DefaultPostData.Add("sockets_g="); 45 | DefaultPostData.Add("sockets_b="); 46 | DefaultPostData.Add("sockets_w="); 47 | DefaultPostData.Add("linked_r="); 48 | DefaultPostData.Add("linked_g="); 49 | DefaultPostData.Add("linked_b="); 50 | DefaultPostData.Add("linked_w="); 51 | DefaultPostData.Add("rlevel_min="); 52 | DefaultPostData.Add("rlevel_max="); 53 | DefaultPostData.Add("rstr_min="); 54 | DefaultPostData.Add("rstr_max="); 55 | DefaultPostData.Add("rdex_min="); 56 | DefaultPostData.Add("rdex_max="); 57 | DefaultPostData.Add("rint_min="); 58 | DefaultPostData.Add("rint_max="); 59 | DefaultPostData.Add("mod_name="); 60 | DefaultPostData.Add("mod_min="); 61 | DefaultPostData.Add("mod_max="); 62 | DefaultPostData.Add("mod_weight="); 63 | DefaultPostData.Add("group_type=And"); 64 | DefaultPostData.Add("group_min="); 65 | DefaultPostData.Add("group_max="); 66 | DefaultPostData.Add("group_count=1"); 67 | DefaultPostData.Add("q_min="); 68 | DefaultPostData.Add("q_max="); 69 | DefaultPostData.Add("level_min="); 70 | DefaultPostData.Add("level_max="); 71 | DefaultPostData.Add("ilvl_min="); 72 | DefaultPostData.Add("ilvl_max="); 73 | DefaultPostData.Add("rarity="); 74 | DefaultPostData.Add("seller="); 75 | DefaultPostData.Add("thread="); 76 | DefaultPostData.Add("identified="); 77 | DefaultPostData.Add("corrupted="); 78 | DefaultPostData.Add("progress_min="); 79 | DefaultPostData.Add("progress_max="); 80 | DefaultPostData.Add("sockets_a_min="); 81 | DefaultPostData.Add("sockets_a_max="); 82 | DefaultPostData.Add("shaper="); 83 | DefaultPostData.Add("elder="); 84 | DefaultPostData.Add("online=x"); 85 | DefaultPostData.Add("has_buyout=1"); 86 | DefaultPostData.Add("altart="); 87 | DefaultPostData.Add("capquality=x"); 88 | DefaultPostData.Add("buyout_min="); 89 | DefaultPostData.Add("buyout_max="); 90 | DefaultPostData.Add("buyout_currency="); 91 | DefaultPostData.Add("crafted="); 92 | DefaultPostData.Add("enchanted="); 93 | } 94 | 95 | public void OpenBuyMap(string mapName, bool isUniq, string league) 96 | { 97 | mapName = mapName.Replace("The ", ""); 98 | var qParms = new List(DefaultPostData); 99 | InsertChangeData(qParms, "name", mapName.Replace(" ", "+")); 100 | 101 | if (isUniq) 102 | InsertChangeData(qParms, "rarity", "unique"); 103 | 104 | InsertChangeData(qParms, "league", league); 105 | 106 | using (var wb = new MyWebClient()) 107 | { 108 | var queryString = ToQueryString(qParms); 109 | 110 | var response = wb.UploadString(url, "POST", queryString); 111 | 112 | var urlOpen = wb.ResponseUri.AbsoluteUri; 113 | Process.Start(urlOpen); 114 | } 115 | } 116 | 117 | private int InsertChangeData(List data, string parm, string newData) 118 | { 119 | var pos = 0; 120 | 121 | for (var i = 0; i < data.Count; i++) 122 | { 123 | if (data[i].StartsWith(parm + "=")) 124 | { 125 | data[i] = parm + "=" + newData; 126 | pos = i; 127 | } 128 | } 129 | 130 | return pos; 131 | } 132 | 133 | private string ToQueryString(List nvc) 134 | { 135 | var array = nvc.ToArray(); 136 | return string.Join("&", array); 137 | } 138 | 139 | private class MyWebClient : WebClient 140 | { 141 | public Uri ResponseUri { get; private set; } 142 | 143 | protected override WebResponse GetWebResponse(WebRequest request) 144 | { 145 | var response = base.GetWebResponse(request); 146 | ResponseUri = response.ResponseUri; 147 | return response; 148 | } 149 | } 150 | } 151 | } 152 | --------------------------------------------------------------------------------