├── data ├── GemLevel.txt ├── ChanceToShock.txt ├── ToWeaponRange.txt ├── jewel │ ├── ESOnHit.txt │ ├── AreaDamage.txt │ ├── ChanceToBleed.txt │ ├── ChanceToShock.txt │ ├── IncrDamage.txt │ ├── ManaOnHit.txt │ ├── MeleeDamage.txt │ ├── AttackAndCastSpeed.txt │ ├── CastSpeedWithWhile.txt │ ├── CastSpeed_Jewels.txt │ ├── ChanceToFreeze.txt │ ├── ChanceToIgnite.txt │ ├── ChanceToPoison.txt │ ├── DamageOverTime.txt │ ├── IIR_Suffix_Jewels.txt │ ├── IncrChaosDamage.txt │ ├── IncrMaximumLife.txt │ ├── IncrMineDamage.txt │ ├── IncrPoisonDamage.txt │ ├── IncrTotemDamage.txt │ ├── IncrTotemLife.txt │ ├── IncrTrapDamage.txt │ ├── KnockBackOnHit.txt │ ├── LifeOnHit_Jewels.txt │ ├── ManaRegen_Jewels.txt │ ├── MeleeCritChance.txt │ ├── MinionBlockChance.txt │ ├── PoisonDuration.txt │ ├── ProjectileDamage.txt │ ├── ReducedManaCost.txt │ ├── To1Resist_Jewels.txt │ ├── To2Resist_Jewels.txt │ ├── CritMeleeMultiplier.txt │ ├── CritMultiplierSpells.txt │ ├── IgniteDurationOnEnemies.txt │ ├── IncrArmour_Jewels.txt │ ├── IncrBleedingDamage.txt │ ├── IncrBurningDamage.txt │ ├── IncrEvasion_Jewels.txt │ ├── IncrMaximumMana_Jewel.txt │ ├── IncrMineLayingSpeed.txt │ ├── IncrPhysDamage_Jewels.txt │ ├── IncrTrapThrowingSpeed.txt │ ├── MinionIncrMaximumLife.txt │ ├── MinionsDealIncrDamage.txt │ ├── ProjectileSpeed_Jewels.txt │ ├── SpellDamage_Jewels.txt │ ├── StunDuration_Jewels.txt │ ├── To1Attribute_Jewels.txt │ ├── To2Attributes_Jewels.txt │ ├── ToAllAttributes_Jewels.txt │ ├── ToAllResist_Jewels.txt │ ├── ToChaosResist_Jewels.txt │ ├── AttackSpeedWhileDualWielding.txt │ ├── AttackSpeedWith1H2HMelee.txt │ ├── AttackSpeedWithWeapontype.txt │ ├── AttackSpeed_Jewels.txt │ ├── BleedingDurationOnEnemies.txt │ ├── CritChanceElementalSkills.txt │ ├── CritChanceGlobal_Jewels.txt │ ├── CritChanceSpells_Jewels.txt │ ├── CritChanceWith1H2HMelee.txt │ ├── CritMultiplierGlobal_Jewels.txt │ ├── EnergyShieldRechargeRate.txt │ ├── FreezeDurationOnEnemies.txt │ ├── IncrAccuracyRating_Jewels.txt │ ├── ShockDurationOnEnemies.txt │ ├── StunRecovery_Suffix_Jewels.txt │ ├── ToAllResist_Jewels_Minions.txt │ ├── ToAllResist_Jewels_Totems.txt │ ├── AttackSpeedWhileHoldingShield.txt │ ├── BlockChance_ChanceToBlock_Jewels.txt │ ├── CritChanceGlobal_IncrAcc_Jewels.txt │ ├── CritMultiplierElementalSkills.txt │ ├── CritMultiplierWhileDualWielding.txt │ ├── CritMultiplierWith1H2HMelee.txt │ ├── FasterStartOfEnergyShieldRecharge.txt │ ├── IncrMaxEnergyShield_Jewels.txt │ ├── IncrPhysDamageWith1H2HMelee.txt │ ├── IncrPhysDamageWithWeapontype.txt │ ├── SpellDamageDualWielding_Jewels.txt │ ├── SpellDamageHoldingShield_Jewels.txt │ ├── SpellDamageWieldingStaff_Jewels.txt │ ├── WeaponCritChanceDualWielding.txt │ ├── CritChanceFireColdLightningSkills.txt │ ├── IncrAccuracyRating_CritChance_Jewels.txt │ ├── IncrFireColdLightningDamage_Jewels.txt │ ├── IncrPhysWeaponDamageDualWielding.txt │ ├── PhysicalAttackDamageLeeched_Jewels.txt │ ├── CritMultiplierFireColdLightningSkills.txt │ └── IncrMeleePhysDamageWhileHoldingShield.txt ├── CastSpeedRing.txt ├── ChanceToFreeze.txt ├── ChanceToIgnite.txt ├── FlaskDuration.txt ├── GemLevel_Support.txt ├── IncrDamageLeo.txt ├── LifeOnHit_GlovesRing.txt ├── ManaCostOfSkills.txt ├── MovementSpeed_Belt.txt ├── CastSpeedCraft.txt ├── FlaskChargesUsed.txt ├── FlaskLifeRecoveryRate.txt ├── FlaskManaRecoveryRate.txt ├── GemLevel_Bow.txt ├── GemLevel_Chaos.txt ├── GemLevel_Melee.txt ├── IncrTrapMineDamage.txt ├── LifeLeechedPerSecond.txt ├── AddsChaosDamage_1H.txt ├── BleedDuration.txt ├── GemLevel_Elemental.txt ├── ReducedAttrReqs.txt ├── AddsChaosDamage_2H.txt ├── AddsChaosDamage_AmuletRing.txt ├── ChanceToBlockSpells.txt ├── FlaskChargesGained.txt ├── GemLevel_Minion.txt ├── IncrTrapThrowingMineLayingSpeed.txt ├── LifeOnHit_Amulet.txt ├── ManaOnKill.txt ├── PoisonDuration.txt ├── BlockChance.txt ├── ChanceToBleed.txt ├── ChanceToPoison.txt ├── GemLevel_UnsetRing.txt ├── IncrRarity_Suffix_Craft.txt ├── LifeOnKill.txt ├── ManaLeech.txt ├── AdditionalPhysicalDamageReduction.txt ├── CastSpeedShield.txt ├── ChanceToDodgeAttacks_BodyArmour.txt ├── ChanceToDodgeSpellDamage.txt ├── EnergyShieldRegeneratedPerSecond.txt ├── IncrRarity_Suffix_GlovesBoots.txt ├── MaxLife_ToDef_GlovesBoots.txt ├── ToMaxES_MaxLife_GlovesBoots.txt ├── AttackSpeed_Shield.txt ├── CastSpeedAmulet.txt ├── ChanceToDodgeAttacks_Shield.txt ├── IncrBleedingDamage.txt ├── IncrBurningDamage.txt ├── IncrPoisonDamage.txt ├── IncrRarity_Prefix_GlovesBoots.txt ├── LightRadius_AccuracyRating.txt ├── ToArmour_MaxLife_GlovesBoots.txt ├── ToEvasion_MaxLife_GlovesBoots.txt ├── AccuracyRating_LightRadius.txt ├── AttackAndCastSpeed_Shield.txt ├── GemQuality_Support.txt ├── IncrAccuracyRating_LightRadius.txt ├── IncrQuantity.txt ├── IncrRarity_Prefix_Helmet.txt ├── LifeOnHit_Weapon.txt ├── abyss_jewel │ ├── LifeRegenerated.txt │ ├── ToArmour.txt │ ├── AccuracyRating.txt │ ├── ManaRegenerated.txt │ ├── MinionsRegenerateLife.txt │ ├── EnergyShieldRegenerated.txt │ ├── MaxLife.txt │ ├── MaxMana.txt │ ├── ToEvasionRating.txt │ ├── AddsChaosDamageToAttacks.txt │ ├── AddsPhysicalDamageToAttacks.txt │ ├── ToMaximumEnergyShield.txt │ ├── AddsPhysicalDamageToWeaponTypeAttacks.txt │ ├── AddsChaosDamageToSpells.txt │ ├── AddsColdDamageToSpells.txt │ ├── AddsFireDamageToSpells.txt │ ├── AddsLightningDamageToAttacks.txt │ ├── AddsLightningDamageToSpells.txt │ ├── AddsPhysicalDamageToSpells.txt │ ├── AddsColdDamageToAttacks.txt │ ├── AddsFireDamageToAttacks.txt │ ├── AddsChaosDamageToSpellsWhile.txt │ ├── AddsLightningDamageToSpellsWhile.txt │ ├── MinionsDealAdditionalLightningDamage.txt │ ├── AddsColdDamageToSpellsWhile.txt │ ├── AddsFireDamageToSpellsWhile.txt │ ├── AddsPhysicalDamageToSpellsWhile.txt │ ├── MinionsDealAdditionalChaosDamage.txt │ ├── MinionsDealAdditionalColdDamage.txt │ ├── MinionsDealAdditionalFireDamage.txt │ ├── MinionsDealAdditionalPhysicalDamage.txt │ ├── AddsLightningDamageToWeaponTypeAttacks.txt │ ├── AddsColdDamageToWeaponTypeAttacks.txt │ └── AddsFireDamageToWeaponTypeAttacks.txt ├── ManaOnBlock.txt ├── MaxLife_ToDef_ShieldHelmet.txt ├── PhysDamageReturn.txt ├── ToArmour_GlovesBoots.txt ├── ToArmour_GlovesBoots_HybridBase.txt ├── ToEvasion_GlovesBoots.txt ├── ToEvasion_GlovesBoots_HybridBase.txt ├── ToMaxES_GlovesBoots_HybridBase.txt ├── ToMaxES_MaxLife_ShieldHelmet.txt ├── ToArmour_MaxLife_ShieldHelmet.txt ├── ToEvasion_MaxLife_ShieldHelmet.txt ├── AttackSpeed_ArmourAndItems.txt ├── AttackSpeed_BowsAndWands.txt ├── IncrColdDamage_Suffix_Ring.txt ├── IncrFireDamage_Suffix_Ring.txt ├── LifeRegenPercent.txt ├── MaxLife_ToDef_BodyArmour.txt ├── StunThreshold.txt ├── ToAllResist.txt ├── ToArmour_Helmet.txt ├── ToArmour_Helmet_HybridBase.txt ├── ToEvasion_Helmet.txt ├── ToEvasion_Helmet_HybridBase.txt ├── ToMaxES_Helmet_HybridBase.txt ├── AddsColdDamage_Quivers.txt ├── AddsFireDamage_Gloves.txt ├── AddsPhysDamage_Gloves.txt ├── AddsPhysDamage_Quivers.txt ├── ChanceToAvoidBeingStunned.txt ├── ChanceToAvoidElementalAilments.txt ├── IncrLightningDamage_Suffix_Ring.txt ├── IncrRarity_Prefix_AmuletRing.txt ├── MovementSpeed_Boots.txt ├── PhysicalAttackDamageLeeched.txt ├── ProjectileSpeed.txt ├── SpellDamage_Amulet.txt ├── StunDuration.txt ├── ToArmour_MaxLife_BodyArmour.txt ├── ToEvasion_MaxLife_BodyArmour.txt ├── ToMaxES_MaxLife_BodyArmour.txt ├── crafted │ ├── MaxLife_Haku.txt │ ├── MaxLife_Tora.txt │ └── MaxLife_Elreon.txt ├── AddsFireDamage_Quivers.txt ├── AddsLightningDamage_Gloves.txt ├── AddsLightningDamage_Quivers.txt ├── IncrAttackDamage_Shield.txt ├── IncrEleDamage_Shield.txt ├── IncrPhysDamage_Shield.txt ├── IncrRarity_Suffix_AmuletRingHelmet.txt ├── IncrColdDamage_Suffix_Amulet.txt ├── IncrFireDamage_Suffix_Amulet.txt ├── LifeOnBlock.txt ├── ManaRegen.txt ├── MapList.txt ├── Uniques.txt ├── IncrLightningDamage_Suffix_Amulet.txt ├── ItemList.txt ├── LifeRegen.txt ├── ToAllResist_Amulet.txt ├── ToChaosResist.txt ├── AddsColdDamage_Gloves.txt ├── IncrArmour_StunRecovery.txt ├── StunBlockRecovery_Armour.txt ├── StunBlockRecovery_Evasion.txt ├── CastSpeed_2H.txt ├── CritChanceSpells.txt ├── CritChance_Amulet.txt ├── CritChance_Weapon.txt ├── CritMultiplierGlobal.txt ├── CritMultiplierLocal.txt ├── IncrArmour.txt ├── IncrArmour_Amulet.txt ├── IncrColdDamage_Suffix_Weapon.txt ├── IncrEvasion.txt ├── IncrEvasion_StunRecovery.txt ├── IncrFireDamage_Suffix_Weapon.txt ├── StunBlockRecovery_EnergyShield.txt ├── StunBlockRecovery_HybridBase.txt ├── StunBlockRecovery_Suffix.txt ├── AdditionalBlockChanceAgainstProjectiles.txt ├── AddsPhysDamage_Ring.txt ├── CastSpeed_1H.txt ├── CritChance_Quiver.txt ├── IncrElementalDamageWithAttackSkills_Ring.txt ├── IncrEnergyShield.txt ├── IncrEnergyShield_StunRecovery.txt ├── IncrLightningDamage_Suffix_Weapon.txt ├── MaxMana_SpellDamage.txt ├── ToMaxES_BodyArmourShield_HybridBase.txt ├── ToMaxES_GlovesBoots.txt ├── DivinationCardList.txt ├── IncrDefences_HybridBase_StunRecovery.txt ├── IncrElementalDamageWithAttackSkills.txt ├── IncrElementalDamageWithAttackSkills_Weapon.txt ├── IncrEvasion_Amulet.txt ├── IncrMaxEnergyShield_Amulet.txt ├── MaxLife_Ring.txt ├── SpellDamage_MaxMana_1H.txt ├── ToArmour_BodyArmourShield.txt ├── ToEvasion_BodyArmourShield.txt ├── IncrDefences_HybridBase.txt ├── LifeRegen_BodyArmour.txt ├── SpellDamage_1H.txt ├── SpellDamage_MaxMana_Staff.txt ├── ToAllAttributes.txt ├── ToArmour_BodyArmourShield_HybridBase.txt ├── ToColdResist.txt ├── ToEvasion_BodyArmourShield_HybridBase.txt ├── ToEvasion_Ring.txt ├── ToFireResist.txt ├── ToMaxES_Helmet.txt ├── AttackSpeed_Weapons.txt ├── ToLightningResist.txt ├── IncrPhysDamage.txt ├── SpellDamage_Staff.txt ├── ToArmour_Belt.txt ├── IncrPhysDamage_AccuracyRating.txt ├── To1Attribute.txt ├── AccuracyRating_IncrPhysDamage.txt ├── AccuracyRating_Weapon.txt ├── IncrArmour_BodyArmourShield.txt ├── IncrEvasion_BodyArmourShield.txt ├── ToAllAttributes_Amulet.txt ├── IncrEleTypeDamage_Prefix_Staff.txt ├── IncrEnergyShield_BodyArmourShield.txt ├── MaxLife_AmuletBootsGloves.txt ├── IncrDefences_HybridBase_BodyArmourShield.txt ├── IncrEleTypeDamage_Prefix_WandSceptreFocus.txt ├── AccuracyRating_BowWand.txt ├── AccuracyRating_Global.txt ├── ToMaxES_Shield.txt ├── MaxLife_BeltHelmetQuiver.txt ├── To1Attribute_ilvl85.txt ├── AddsPhysDamage_Amulet.txt ├── ToMaxES_BodyArmour.txt ├── ToMaxES_Ring.txt ├── AddsLightningDamage_1H.txt ├── AddsLightningDamage_AmuletRing.txt ├── AddsPhysDamage_1H.txt ├── MaxLife_Shield.txt ├── SpellAddsLightning_1H.txt ├── AccuracyRating_HelmetGloves.txt ├── AddsColdDamage_1H.txt ├── AddsColdDamage_AmuletRing.txt ├── AddsFireDamage_AmuletRing.txt ├── AddsPhysDamage_2H.txt ├── MaxMana.txt ├── SpellAddsCold_1H.txt ├── SpellAddsFire_1H.txt ├── SpellAddsLightning_2H.txt ├── AddsColdDamage_2H.txt ├── AddsFireDamage_1H.txt ├── AddsLightningDamage_2H.txt ├── MaxLife.txt ├── SpellAddsCold_2H.txt ├── SpellAddsFire_2H.txt ├── AddsFireDamage_2H.txt ├── ToMaxES_AmuletBelt.txt ├── MaxLife_BodyArmour.txt ├── MaxMana_AmuletRing.txt ├── TalismanTiers.txt ├── UniqueHasFatedVariant.txt ├── CurrencyRates.txt ├── metamorph_mapToOrgan.json ├── metamorph_organToMap.json └── item_bases.json ├── lib ├── PoEScripts_ColorPicker.ahk ├── PoEScripts_AdvancedToolTip.ahk ├── compileRelease.bat ├── curl.exe ├── curlTimes.bat ├── compileRelease.ahk ├── PoEScripts_RunAsAdmin.ahk ├── PoEScripts_CompareUserFolderWithScriptFolder.ahk ├── clearWebHistoryAll.bat ├── package.json ├── PoEScripts_SaveWriteTextFile.ahk ├── PoEScripts_CheckFolderWriteAccess.ahk ├── clearWebHistory.bat ├── PoEScripts_CheckInvalidScriptFolder.ahk ├── curl-formats.txt ├── PoEScripts_CheckCorrectClientLanguage.ahk ├── PoEScripts_CreateTempFolder.ahk ├── IEComObjectTestCall.ahk ├── zip.ahk ├── CalcChecksum.ahk ├── AssociatedProgram.ahk ├── Class_SplashUI.ahk ├── DebugPrintArray.ahk ├── getCookieData.cs ├── ConvertKeyToKeyCode.ahk ├── copyUpdate.bat └── PoEScripts_FinishUpdate.ahk ├── data_trade ├── relics.json ├── crafting_bases.txt ├── boot_enchantment_mods.txt ├── glove_enchantment_mods.txt └── currencyNames.json ├── resources ├── Version.txt ├── VersionTrade.txt ├── images │ ├── fb.ico │ ├── poe.ico │ ├── error.png │ ├── info.ico │ ├── info.png │ ├── bg-magic.png │ ├── bg-rare.png │ ├── edit_btn.png │ ├── greydot.png │ ├── poe-bw.ico │ ├── poe-web.ico │ ├── splash.png │ ├── bg-normal.png │ ├── bg-unique.png │ ├── info-blue.png │ ├── splash-bl.png │ ├── Paypal-Logo.png │ ├── poe-trade-bl.ico │ ├── fractured-symbol.png │ ├── colorPickerPreviewBg.png │ └── poe-trade-bl-update.ico ├── fonts │ ├── Fontin-Bold.ttf │ ├── Fontin-Italic.ttf │ ├── Fontin-Regular.ttf │ └── Fontin-SmallCaps.ttf ├── default_UserFiles │ ├── config.ini │ ├── CustomMacros │ │ └── customMacros_example_dontOverwrite.txt │ ├── MapModWarnings.ini │ ├── config_trade.ini │ └── AdditionalMacros.ini ├── AUTHORS_Trade.txt ├── AUTHORS.txt ├── tests │ ├── RunCurlTestPowershellScript.bat │ └── curl_test.ps1 └── ahk │ ├── jsonData.ahk │ └── Merge_ItemInfo.ahk ├── FAQ.url ├── Installation and Usage Instructions.url ├── ISSUE_TEMPLATE.md ├── .gitattributes ├── .gitignore ├── Run_ItemInfo.ahk ├── Run_TradeMacro.ahk └── README.markdown /data/GemLevel.txt: -------------------------------------------------------------------------------- 1 | 50|1 -------------------------------------------------------------------------------- /data/ChanceToShock.txt: -------------------------------------------------------------------------------- 1 | 15|6-8 -------------------------------------------------------------------------------- /data/ToWeaponRange.txt: -------------------------------------------------------------------------------- 1 | 35|1-2 -------------------------------------------------------------------------------- /data/jewel/ESOnHit.txt: -------------------------------------------------------------------------------- 1 | 1|2-3 -------------------------------------------------------------------------------- /data/CastSpeedRing.txt: -------------------------------------------------------------------------------- 1 | 2|5-7 2 | -------------------------------------------------------------------------------- /data/ChanceToFreeze.txt: -------------------------------------------------------------------------------- 1 | 15|6-8 -------------------------------------------------------------------------------- /data/ChanceToIgnite.txt: -------------------------------------------------------------------------------- 1 | 15|6-8 -------------------------------------------------------------------------------- /data/FlaskDuration.txt: -------------------------------------------------------------------------------- 1 | 7|10-20 -------------------------------------------------------------------------------- /data/GemLevel_Support.txt: -------------------------------------------------------------------------------- 1 | 44|1 -------------------------------------------------------------------------------- /data/IncrDamageLeo.txt: -------------------------------------------------------------------------------- 1 | 44|5-15 -------------------------------------------------------------------------------- /data/LifeOnHit_GlovesRing.txt: -------------------------------------------------------------------------------- 1 | 8|2 -------------------------------------------------------------------------------- /data/ManaCostOfSkills.txt: -------------------------------------------------------------------------------- 1 | 44|4-8 -------------------------------------------------------------------------------- /data/MovementSpeed_Belt.txt: -------------------------------------------------------------------------------- 1 | 40|1-5 -------------------------------------------------------------------------------- /data/jewel/AreaDamage.txt: -------------------------------------------------------------------------------- 1 | 1|10-12 -------------------------------------------------------------------------------- /data/jewel/ChanceToBleed.txt: -------------------------------------------------------------------------------- 1 | 1|3-5 -------------------------------------------------------------------------------- /data/jewel/ChanceToShock.txt: -------------------------------------------------------------------------------- 1 | 1|3-5 -------------------------------------------------------------------------------- /data/jewel/IncrDamage.txt: -------------------------------------------------------------------------------- 1 | 1|8-10 -------------------------------------------------------------------------------- /data/jewel/ManaOnHit.txt: -------------------------------------------------------------------------------- 1 | 1|1-2 -------------------------------------------------------------------------------- /data/jewel/MeleeDamage.txt: -------------------------------------------------------------------------------- 1 | 1|10-12 -------------------------------------------------------------------------------- /lib/PoEScripts_ColorPicker.ahk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/CastSpeedCraft.txt: -------------------------------------------------------------------------------- 1 | 1|4-8 2 | -------------------------------------------------------------------------------- /data/FlaskChargesUsed.txt: -------------------------------------------------------------------------------- 1 | 3|10-20 2 | -------------------------------------------------------------------------------- /data/FlaskLifeRecoveryRate.txt: -------------------------------------------------------------------------------- 1 | 5|10-20 -------------------------------------------------------------------------------- /data/FlaskManaRecoveryRate.txt: -------------------------------------------------------------------------------- 1 | 5|10-20 -------------------------------------------------------------------------------- /data/GemLevel_Bow.txt: -------------------------------------------------------------------------------- 1 | 9|1 2 | 64|2 -------------------------------------------------------------------------------- /data/GemLevel_Chaos.txt: -------------------------------------------------------------------------------- 1 | 4|1 2 | 55|2 -------------------------------------------------------------------------------- /data/GemLevel_Melee.txt: -------------------------------------------------------------------------------- 1 | 8|1 2 | 63|2 -------------------------------------------------------------------------------- /data/IncrTrapMineDamage.txt: -------------------------------------------------------------------------------- 1 | 1|10-20 -------------------------------------------------------------------------------- /data/LifeLeechedPerSecond.txt: -------------------------------------------------------------------------------- 1 | 44|20-40 -------------------------------------------------------------------------------- /data/jewel/AttackAndCastSpeed.txt: -------------------------------------------------------------------------------- 1 | 1|2-4 -------------------------------------------------------------------------------- /data/jewel/CastSpeedWithWhile.txt: -------------------------------------------------------------------------------- 1 | 1|3-5 -------------------------------------------------------------------------------- /data/jewel/CastSpeed_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|2-4 -------------------------------------------------------------------------------- /data/jewel/ChanceToFreeze.txt: -------------------------------------------------------------------------------- 1 | 1|3-5 -------------------------------------------------------------------------------- /data/jewel/ChanceToIgnite.txt: -------------------------------------------------------------------------------- 1 | 1|3-5 -------------------------------------------------------------------------------- /data/jewel/ChanceToPoison.txt: -------------------------------------------------------------------------------- 1 | 1|3-5 -------------------------------------------------------------------------------- /data/jewel/DamageOverTime.txt: -------------------------------------------------------------------------------- 1 | 1|10-12 -------------------------------------------------------------------------------- /data/jewel/IIR_Suffix_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|4-6 -------------------------------------------------------------------------------- /data/jewel/IncrChaosDamage.txt: -------------------------------------------------------------------------------- 1 | 1|9-13 -------------------------------------------------------------------------------- /data/jewel/IncrMaximumLife.txt: -------------------------------------------------------------------------------- 1 | 1|5-7 -------------------------------------------------------------------------------- /data/jewel/IncrMineDamage.txt: -------------------------------------------------------------------------------- 1 | 1|14-16 -------------------------------------------------------------------------------- /data/jewel/IncrPoisonDamage.txt: -------------------------------------------------------------------------------- 1 | 1|16-20 -------------------------------------------------------------------------------- /data/jewel/IncrTotemDamage.txt: -------------------------------------------------------------------------------- 1 | 1|12-16 -------------------------------------------------------------------------------- /data/jewel/IncrTotemLife.txt: -------------------------------------------------------------------------------- 1 | 1|8-12 -------------------------------------------------------------------------------- /data/jewel/IncrTrapDamage.txt: -------------------------------------------------------------------------------- 1 | 1|14-16 -------------------------------------------------------------------------------- /data/jewel/KnockBackOnHit.txt: -------------------------------------------------------------------------------- 1 | 1|4-6 -------------------------------------------------------------------------------- /data/jewel/LifeOnHit_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|2-3 -------------------------------------------------------------------------------- /data/jewel/ManaRegen_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|12-15 -------------------------------------------------------------------------------- /data/jewel/MeleeCritChance.txt: -------------------------------------------------------------------------------- 1 | 1|10-14 -------------------------------------------------------------------------------- /data/jewel/MinionBlockChance.txt: -------------------------------------------------------------------------------- 1 | 1|2-4 -------------------------------------------------------------------------------- /data/jewel/PoisonDuration.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 -------------------------------------------------------------------------------- /data/jewel/ProjectileDamage.txt: -------------------------------------------------------------------------------- 1 | 1|10-12 -------------------------------------------------------------------------------- /data/jewel/ReducedManaCost.txt: -------------------------------------------------------------------------------- 1 | 1|3-5 -------------------------------------------------------------------------------- /data/jewel/To1Resist_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|12-15 -------------------------------------------------------------------------------- /data/jewel/To2Resist_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|10-12 -------------------------------------------------------------------------------- /lib/PoEScripts_AdvancedToolTip.ahk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/AddsChaosDamage_1H.txt: -------------------------------------------------------------------------------- 1 | 83|47-72,98-123 -------------------------------------------------------------------------------- /data/BleedDuration.txt: -------------------------------------------------------------------------------- 1 | 30|8-12 2 | 60|13-18 -------------------------------------------------------------------------------- /data/GemLevel_Elemental.txt: -------------------------------------------------------------------------------- 1 | 2|1 2 | 55|2 -------------------------------------------------------------------------------- /data/ReducedAttrReqs.txt: -------------------------------------------------------------------------------- 1 | 36|18 2 | 60|32 -------------------------------------------------------------------------------- /data/jewel/CritMeleeMultiplier.txt: -------------------------------------------------------------------------------- 1 | 1|12-15 -------------------------------------------------------------------------------- /data/jewel/CritMultiplierSpells.txt: -------------------------------------------------------------------------------- 1 | 1|12-15 -------------------------------------------------------------------------------- /data/jewel/IgniteDurationOnEnemies.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 -------------------------------------------------------------------------------- /data/jewel/IncrArmour_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|14-18 -------------------------------------------------------------------------------- /data/jewel/IncrBleedingDamage.txt: -------------------------------------------------------------------------------- 1 | 1|16-20 -------------------------------------------------------------------------------- /data/jewel/IncrBurningDamage.txt: -------------------------------------------------------------------------------- 1 | 1|16-20 -------------------------------------------------------------------------------- /data/jewel/IncrEvasion_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|14-18 -------------------------------------------------------------------------------- /data/jewel/IncrMaximumMana_Jewel.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 -------------------------------------------------------------------------------- /data/jewel/IncrMineLayingSpeed.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 -------------------------------------------------------------------------------- /data/jewel/IncrPhysDamage_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|14-16 -------------------------------------------------------------------------------- /data/jewel/IncrTrapThrowingSpeed.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 -------------------------------------------------------------------------------- /data/jewel/MinionIncrMaximumLife.txt: -------------------------------------------------------------------------------- 1 | 1|8-12 -------------------------------------------------------------------------------- /data/jewel/MinionsDealIncrDamage.txt: -------------------------------------------------------------------------------- 1 | 1|14-16 -------------------------------------------------------------------------------- /data/jewel/ProjectileSpeed_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 -------------------------------------------------------------------------------- /data/jewel/SpellDamage_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|10-12 -------------------------------------------------------------------------------- /data/jewel/StunDuration_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|10-14 -------------------------------------------------------------------------------- /data/jewel/To1Attribute_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|12-16 -------------------------------------------------------------------------------- /data/jewel/To2Attributes_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|8-10 -------------------------------------------------------------------------------- /data/jewel/ToAllAttributes_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 -------------------------------------------------------------------------------- /data/jewel/ToAllResist_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|8-10 -------------------------------------------------------------------------------- /data/jewel/ToChaosResist_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|7-13 -------------------------------------------------------------------------------- /data_trade/relics.json: -------------------------------------------------------------------------------- 1 | {"relics":[]} 2 | -------------------------------------------------------------------------------- /data/AddsChaosDamage_2H.txt: -------------------------------------------------------------------------------- 1 | 83|70-108,147-185 -------------------------------------------------------------------------------- /data/AddsChaosDamage_AmuletRing.txt: -------------------------------------------------------------------------------- 1 | 30|8-11,18-23 -------------------------------------------------------------------------------- /data/ChanceToBlockSpells.txt: -------------------------------------------------------------------------------- 1 | 30|1-3 2 | 60|4-6 -------------------------------------------------------------------------------- /data/FlaskChargesGained.txt: -------------------------------------------------------------------------------- 1 | 2|10-20 2 | 85|21-30 -------------------------------------------------------------------------------- /data/GemLevel_Minion.txt: -------------------------------------------------------------------------------- 1 | 14|1 2 | 65|2 3 | 86|3 -------------------------------------------------------------------------------- /data/IncrTrapThrowingMineLayingSpeed.txt: -------------------------------------------------------------------------------- 1 | 1|6-12 -------------------------------------------------------------------------------- /data/LifeOnHit_Amulet.txt: -------------------------------------------------------------------------------- 1 | 8|2 2 | 20|3 3 | 30|4 -------------------------------------------------------------------------------- /data/ManaOnKill.txt: -------------------------------------------------------------------------------- 1 | 1|1 2 | 24|2-3 3 | 40|4-6 -------------------------------------------------------------------------------- /data/PoisonDuration.txt: -------------------------------------------------------------------------------- 1 | 30|8-12 2 | 60|13-18 -------------------------------------------------------------------------------- /data/jewel/AttackSpeedWhileDualWielding.txt: -------------------------------------------------------------------------------- 1 | 1|4-6 -------------------------------------------------------------------------------- /data/jewel/AttackSpeedWith1H2HMelee.txt: -------------------------------------------------------------------------------- 1 | 1|4-6 -------------------------------------------------------------------------------- /data/jewel/AttackSpeedWithWeapontype.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 -------------------------------------------------------------------------------- /data/jewel/AttackSpeed_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|3-5 2 | -------------------------------------------------------------------------------- /data/jewel/BleedingDurationOnEnemies.txt: -------------------------------------------------------------------------------- 1 | 1|12-16 -------------------------------------------------------------------------------- /data/jewel/CritChanceElementalSkills.txt: -------------------------------------------------------------------------------- 1 | 1|10-14 -------------------------------------------------------------------------------- /data/jewel/CritChanceGlobal_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|8-12 -------------------------------------------------------------------------------- /data/jewel/CritChanceSpells_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|10-14 -------------------------------------------------------------------------------- /data/jewel/CritChanceWith1H2HMelee.txt: -------------------------------------------------------------------------------- 1 | 1|14-18 -------------------------------------------------------------------------------- /data/jewel/CritMultiplierGlobal_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|9-12 -------------------------------------------------------------------------------- /data/jewel/EnergyShieldRechargeRate.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 -------------------------------------------------------------------------------- /data/jewel/FreezeDurationOnEnemies.txt: -------------------------------------------------------------------------------- 1 | 1|12-16 -------------------------------------------------------------------------------- /data/jewel/IncrAccuracyRating_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|10-14 -------------------------------------------------------------------------------- /data/jewel/ShockDurationOnEnemies.txt: -------------------------------------------------------------------------------- 1 | 1|12-16 -------------------------------------------------------------------------------- /data/jewel/StunRecovery_Suffix_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|10-14 -------------------------------------------------------------------------------- /data/jewel/ToAllResist_Jewels_Minions.txt: -------------------------------------------------------------------------------- 1 | 1|6-10 -------------------------------------------------------------------------------- /data/jewel/ToAllResist_Jewels_Totems.txt: -------------------------------------------------------------------------------- 1 | 1|6-10 -------------------------------------------------------------------------------- /data/BlockChance.txt: -------------------------------------------------------------------------------- 1 | 10|1-3 2 | 58|4-6 3 | 85|7-8 -------------------------------------------------------------------------------- /data/ChanceToBleed.txt: -------------------------------------------------------------------------------- 1 | 15|10 2 | 55|15 3 | 85|20 -------------------------------------------------------------------------------- /data/ChanceToPoison.txt: -------------------------------------------------------------------------------- 1 | 15|10 2 | 55|20 3 | 85|30 -------------------------------------------------------------------------------- /data/GemLevel_UnsetRing.txt: -------------------------------------------------------------------------------- 1 | 2|1 2 | 50|2 3 | 76|3 -------------------------------------------------------------------------------- /data/IncrRarity_Suffix_Craft.txt: -------------------------------------------------------------------------------- 1 | 30|13-17|Elreon 7 -------------------------------------------------------------------------------- /data/LifeOnKill.txt: -------------------------------------------------------------------------------- 1 | 1|3-6 2 | 23|7-10 3 | 40|11-14 -------------------------------------------------------------------------------- /data/ManaLeech.txt: -------------------------------------------------------------------------------- 1 | 50|0.2-0.4 2 | 70|0.6-0.8 3 | -------------------------------------------------------------------------------- /data/jewel/AttackSpeedWhileHoldingShield.txt: -------------------------------------------------------------------------------- 1 | 1|4-6 -------------------------------------------------------------------------------- /data/jewel/BlockChance_ChanceToBlock_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|1 -------------------------------------------------------------------------------- /data/jewel/CritChanceGlobal_IncrAcc_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|6-10 -------------------------------------------------------------------------------- /data/jewel/CritMultiplierElementalSkills.txt: -------------------------------------------------------------------------------- 1 | 1|12-15 -------------------------------------------------------------------------------- /data/jewel/CritMultiplierWhileDualWielding.txt: -------------------------------------------------------------------------------- 1 | 1|15-18 -------------------------------------------------------------------------------- /data/jewel/CritMultiplierWith1H2HMelee.txt: -------------------------------------------------------------------------------- 1 | 1|15-18 -------------------------------------------------------------------------------- /data/jewel/FasterStartOfEnergyShieldRecharge.txt: -------------------------------------------------------------------------------- 1 | 1|4-6 -------------------------------------------------------------------------------- /data/jewel/IncrMaxEnergyShield_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|6-8 2 | -------------------------------------------------------------------------------- /data/jewel/IncrPhysDamageWith1H2HMelee.txt: -------------------------------------------------------------------------------- 1 | 1|12-14 -------------------------------------------------------------------------------- /data/jewel/IncrPhysDamageWithWeapontype.txt: -------------------------------------------------------------------------------- 1 | 1|14-16 -------------------------------------------------------------------------------- /data/jewel/SpellDamageDualWielding_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|14-16 -------------------------------------------------------------------------------- /data/jewel/SpellDamageHoldingShield_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|14-16 -------------------------------------------------------------------------------- /data/jewel/SpellDamageWieldingStaff_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|14-16 -------------------------------------------------------------------------------- /data/jewel/WeaponCritChanceDualWielding.txt: -------------------------------------------------------------------------------- 1 | 1|14-18 -------------------------------------------------------------------------------- /data/AdditionalPhysicalDamageReduction.txt: -------------------------------------------------------------------------------- 1 | 25|2 2 | 85|3-4 -------------------------------------------------------------------------------- /data/CastSpeedShield.txt: -------------------------------------------------------------------------------- 1 | 2|5-7 2 | 15|8-10 3 | 30|11-13 -------------------------------------------------------------------------------- /data/ChanceToDodgeAttacks_BodyArmour.txt: -------------------------------------------------------------------------------- 1 | 25|3-4 2 | 85|5-6 -------------------------------------------------------------------------------- /data/ChanceToDodgeSpellDamage.txt: -------------------------------------------------------------------------------- 1 | 35|2 2 | 62|3 3 | 78|4 -------------------------------------------------------------------------------- /data/EnergyShieldRegeneratedPerSecond.txt: -------------------------------------------------------------------------------- 1 | 25|0.6 2 | 85|1 -------------------------------------------------------------------------------- /data/IncrRarity_Suffix_GlovesBoots.txt: -------------------------------------------------------------------------------- 1 | 3|6-10 2 | 30|11-14 -------------------------------------------------------------------------------- /data/MaxLife_ToDef_GlovesBoots.txt: -------------------------------------------------------------------------------- 1 | 30|18-23 2 | 46|24-28 -------------------------------------------------------------------------------- /data/ToMaxES_MaxLife_GlovesBoots.txt: -------------------------------------------------------------------------------- 1 | 30|8-10 2 | 46|11-15 -------------------------------------------------------------------------------- /data/jewel/CritChanceFireColdLightningSkills.txt: -------------------------------------------------------------------------------- 1 | 1|14-18 -------------------------------------------------------------------------------- /data/jewel/IncrAccuracyRating_CritChance_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|6-10 -------------------------------------------------------------------------------- /data/jewel/IncrFireColdLightningDamage_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|14-16 -------------------------------------------------------------------------------- /data/jewel/IncrPhysWeaponDamageDualWielding.txt: -------------------------------------------------------------------------------- 1 | 1|12-14 -------------------------------------------------------------------------------- /data/jewel/PhysicalAttackDamageLeeched_Jewels.txt: -------------------------------------------------------------------------------- 1 | 1|0.2-0.4 -------------------------------------------------------------------------------- /data/AttackSpeed_Shield.txt: -------------------------------------------------------------------------------- 1 | 1|5-7 2 | 11|8-10 3 | 22|11-13 -------------------------------------------------------------------------------- /data/CastSpeedAmulet.txt: -------------------------------------------------------------------------------- 1 | 2|5-7 2 | 15|8-10 3 | 30|11-13 4 | -------------------------------------------------------------------------------- /data/ChanceToDodgeAttacks_Shield.txt: -------------------------------------------------------------------------------- 1 | 35|2 2 | 62|3 3 | 78|4 -------------------------------------------------------------------------------- /data/IncrBleedingDamage.txt: -------------------------------------------------------------------------------- 1 | 20|21-25 2 | 40|26-30 3 | 60|31-35 -------------------------------------------------------------------------------- /data/IncrBurningDamage.txt: -------------------------------------------------------------------------------- 1 | 20|16-20 2 | 40|21-25 3 | 60|26-30 -------------------------------------------------------------------------------- /data/IncrPoisonDamage.txt: -------------------------------------------------------------------------------- 1 | 20|21-25 2 | 40|26-30 3 | 60|31-35 -------------------------------------------------------------------------------- /data/IncrRarity_Prefix_GlovesBoots.txt: -------------------------------------------------------------------------------- 1 | 20|8-12 2 | 39|13-18 -------------------------------------------------------------------------------- /data/LightRadius_AccuracyRating.txt: -------------------------------------------------------------------------------- 1 | 8|5 2 | 15|10 3 | 30|15 -------------------------------------------------------------------------------- /data/ToArmour_MaxLife_GlovesBoots.txt: -------------------------------------------------------------------------------- 1 | 30|14-20 2 | 46|21-42 -------------------------------------------------------------------------------- /data/ToEvasion_MaxLife_GlovesBoots.txt: -------------------------------------------------------------------------------- 1 | 30|14-20 2 | 46|21-42 -------------------------------------------------------------------------------- /data/jewel/CritMultiplierFireColdLightningSkills.txt: -------------------------------------------------------------------------------- 1 | 1|15-18 -------------------------------------------------------------------------------- /data/jewel/IncrMeleePhysDamageWhileHoldingShield.txt: -------------------------------------------------------------------------------- 1 | 1|12-14 -------------------------------------------------------------------------------- /data/AccuracyRating_LightRadius.txt: -------------------------------------------------------------------------------- 1 | 8|10-20 2 | 15|21-40 3 | 30|0 -------------------------------------------------------------------------------- /data/AttackAndCastSpeed_Shield.txt: -------------------------------------------------------------------------------- 1 | 15|3-4 2 | 45|5-8 3 | 70|7-8 -------------------------------------------------------------------------------- /data/GemQuality_Support.txt: -------------------------------------------------------------------------------- 1 | 1|4-5 2 | 1|5-6 3 | 1|6-7 4 | 1|7-8 -------------------------------------------------------------------------------- /data/IncrAccuracyRating_LightRadius.txt: -------------------------------------------------------------------------------- 1 | 8|0 2 | 15|0 3 | 30|5-10 -------------------------------------------------------------------------------- /data/IncrQuantity.txt: -------------------------------------------------------------------------------- 1 | 2|4-8 2 | 32|9-12 3 | 55|13-16 4 | 77|17-20 -------------------------------------------------------------------------------- /data/IncrRarity_Prefix_Helmet.txt: -------------------------------------------------------------------------------- 1 | 20|8-12 2 | 39|13-18 3 | 62|19-24 -------------------------------------------------------------------------------- /data/LifeOnHit_Weapon.txt: -------------------------------------------------------------------------------- 1 | 8|2 2 | 20|3 3 | 30|4 4 | 40|5 5 | -------------------------------------------------------------------------------- /data/abyss_jewel/LifeRegenerated.txt: -------------------------------------------------------------------------------- 1 | 1|2-4 2 | 40|5-8 3 | 80|9-12 -------------------------------------------------------------------------------- /data/abyss_jewel/ToArmour.txt: -------------------------------------------------------------------------------- 1 | 1|36-60 2 | 40|61-100 3 | 75|101-180 -------------------------------------------------------------------------------- /data/ManaOnBlock.txt: -------------------------------------------------------------------------------- 1 | 15|4-12 2 | 32|13-21 3 | 58|22-30 4 | 75|31-39 -------------------------------------------------------------------------------- /data/MaxLife_ToDef_ShieldHelmet.txt: -------------------------------------------------------------------------------- 1 | 30|18-23 2 | 46|24-28 3 | 62|29-33 -------------------------------------------------------------------------------- /data/PhysDamageReturn.txt: -------------------------------------------------------------------------------- 1 | 1|1-4 2 | 10|5-10 3 | 20|11-24 4 | 35|25-50 -------------------------------------------------------------------------------- /data/ToArmour_GlovesBoots.txt: -------------------------------------------------------------------------------- 1 | 1|3-10 2 | 18|11-35 3 | 30|36-60 4 | -------------------------------------------------------------------------------- /data/ToArmour_GlovesBoots_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 1|3-7 2 | 18|9-25 3 | 30|27-45 -------------------------------------------------------------------------------- /data/ToEvasion_GlovesBoots.txt: -------------------------------------------------------------------------------- 1 | 1|3-10 2 | 18|11-35 3 | 29|36-60 4 | -------------------------------------------------------------------------------- /data/ToEvasion_GlovesBoots_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 1|3-7 2 | 18|9-25 3 | 30|27-45 -------------------------------------------------------------------------------- /data/ToMaxES_GlovesBoots_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 1|3-4 2 | 18|9-12 3 | 30|18-22 -------------------------------------------------------------------------------- /data/ToMaxES_MaxLife_ShieldHelmet.txt: -------------------------------------------------------------------------------- 1 | 30|8-10 2 | 46|11-15 3 | 62|16-25 -------------------------------------------------------------------------------- /data/abyss_jewel/AccuracyRating.txt: -------------------------------------------------------------------------------- 1 | 1|31-60 2 | 52|61-120 3 | 78|121-240 -------------------------------------------------------------------------------- /data/abyss_jewel/ManaRegenerated.txt: -------------------------------------------------------------------------------- 1 | 1|0.5-1 2 | 40|1.1-2 3 | 75|2.1-3 -------------------------------------------------------------------------------- /data/abyss_jewel/MinionsRegenerateLife.txt: -------------------------------------------------------------------------------- 1 | 1|2-4 2 | 30|5-8 3 | 60|9-12 -------------------------------------------------------------------------------- /data/ToArmour_MaxLife_ShieldHelmet.txt: -------------------------------------------------------------------------------- 1 | 30|14-20 2 | 46|21-42 3 | 62|43-95 -------------------------------------------------------------------------------- /data/ToEvasion_MaxLife_ShieldHelmet.txt: -------------------------------------------------------------------------------- 1 | 30|14-20 2 | 46|21-42 3 | 62|43-95 -------------------------------------------------------------------------------- /data/abyss_jewel/EnergyShieldRegenerated.txt: -------------------------------------------------------------------------------- 1 | 1|2-4 2 | 30|5-8 3 | 60|9-12 -------------------------------------------------------------------------------- /data/abyss_jewel/MaxLife.txt: -------------------------------------------------------------------------------- 1 | 1|25-30 2 | 35|31-35 3 | 74|36-45 4 | 82|46-50 -------------------------------------------------------------------------------- /data/abyss_jewel/MaxMana.txt: -------------------------------------------------------------------------------- 1 | 1|25-30 2 | 40|31-35 3 | 75|36-45 4 | 83|46-50 -------------------------------------------------------------------------------- /data/abyss_jewel/ToEvasionRating.txt: -------------------------------------------------------------------------------- 1 | 1|36-60 2 | 40|61-100 3 | 75|101-180 -------------------------------------------------------------------------------- /lib/compileRelease.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd /D "%~dp0" 3 | start compileRelease.ahk -------------------------------------------------------------------------------- /data/AttackSpeed_ArmourAndItems.txt: -------------------------------------------------------------------------------- 1 | 1|5-7 2 | 11|8-10 3 | 22|11-13 4 | 76|14-16 -------------------------------------------------------------------------------- /data/AttackSpeed_BowsAndWands.txt: -------------------------------------------------------------------------------- 1 | 1|5-7 2 | 11|8-10 3 | 22|11-13 4 | 30|14-16 -------------------------------------------------------------------------------- /data/IncrColdDamage_Suffix_Ring.txt: -------------------------------------------------------------------------------- 1 | 12|3-7 2 | 24|8-12 3 | 36|13-17 4 | 50|18-22 -------------------------------------------------------------------------------- /data/IncrFireDamage_Suffix_Ring.txt: -------------------------------------------------------------------------------- 1 | 8|3-7 2 | 22|8-12 3 | 36|13-17 4 | 50|18-22 -------------------------------------------------------------------------------- /data/LifeRegenPercent.txt: -------------------------------------------------------------------------------- 1 | 18|0.4-0.5 2 | 36|0.6-0.7 3 | 60|0.8-0.9 4 | 81|1-1.1 -------------------------------------------------------------------------------- /data/MaxLife_ToDef_BodyArmour.txt: -------------------------------------------------------------------------------- 1 | 30|18-23 2 | 46|24-28 3 | 62|29-33 4 | 78|34-38 -------------------------------------------------------------------------------- /data/StunThreshold.txt: -------------------------------------------------------------------------------- 1 | 5|5-7 2 | 20|8-9 3 | 30|10-11 4 | 44|12-13 5 | 58|14-15 -------------------------------------------------------------------------------- /data/ToAllResist.txt: -------------------------------------------------------------------------------- 1 | 12|3-5 2 | 24|6-8 3 | 36|9-11 4 | 48|12-14 5 | 60|15-16 -------------------------------------------------------------------------------- /data/ToArmour_Helmet.txt: -------------------------------------------------------------------------------- 1 | 1|3-10 2 | 18|11-35 3 | 30|36-60 4 | 44|61-138 5 | -------------------------------------------------------------------------------- /data/ToArmour_Helmet_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 1|3-7 2 | 18|9-25 3 | 30|27-45 4 | 46|46-103 -------------------------------------------------------------------------------- /data/ToEvasion_Helmet.txt: -------------------------------------------------------------------------------- 1 | 1|3-10 2 | 18|11-35 3 | 29|36-60 4 | 42|61-138 5 | -------------------------------------------------------------------------------- /data/ToEvasion_Helmet_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 1|3-7 2 | 18|9-25 3 | 30|27-45 4 | 46|46-103 -------------------------------------------------------------------------------- /data/ToMaxES_Helmet_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 1|3-4 2 | 18|9-12 3 | 30|18-22 4 | 46|30-36 -------------------------------------------------------------------------------- /data/AddsColdDamage_Quivers.txt: -------------------------------------------------------------------------------- 1 | 2|1,2 2 | 13|3-4,7-8 3 | 21|5-7,10-12 4 | 29|6-9,13-16 -------------------------------------------------------------------------------- /data/AddsFireDamage_Gloves.txt: -------------------------------------------------------------------------------- 1 | 1|1,2 2 | 12|3-5,7-8 3 | 20|5-7,11-13 4 | 28|7-10,15-18 -------------------------------------------------------------------------------- /data/AddsPhysDamage_Gloves.txt: -------------------------------------------------------------------------------- 1 | 5|1,2 2 | 13|2-3,4-5 3 | 19|3-4,6-7 4 | 28|4-6,9-10 -------------------------------------------------------------------------------- /data/AddsPhysDamage_Quivers.txt: -------------------------------------------------------------------------------- 1 | 5|1,2 2 | 13|2-3,4-5 3 | 19|3-4,6-7 4 | 28|4-6,9-10 -------------------------------------------------------------------------------- /data/ChanceToAvoidBeingStunned.txt: -------------------------------------------------------------------------------- 1 | 23|11-13 2 | 41|14-16 3 | 57|17-19 4 | 73|20-22 -------------------------------------------------------------------------------- /data/ChanceToAvoidElementalAilments.txt: -------------------------------------------------------------------------------- 1 | 23|8-11 2 | 41|12-15 3 | 57|16-19 4 | 73|20-23 -------------------------------------------------------------------------------- /data/IncrLightningDamage_Suffix_Ring.txt: -------------------------------------------------------------------------------- 1 | 10|3-7 2 | 23|8-12 3 | 36|13-17 4 | 50|18-22 -------------------------------------------------------------------------------- /data/IncrRarity_Prefix_AmuletRing.txt: -------------------------------------------------------------------------------- 1 | 20|8-12 2 | 39|13-18 3 | 62|19-24 4 | 84|25-28 -------------------------------------------------------------------------------- /data/MovementSpeed_Boots.txt: -------------------------------------------------------------------------------- 1 | 1|10 2 | 15|15 3 | 30|20 4 | 40|25 5 | 55|30 6 | 86|35 -------------------------------------------------------------------------------- /data/PhysicalAttackDamageLeeched.txt: -------------------------------------------------------------------------------- 1 | 50|0.2-0.4 2 | 60|0.6-0.8 3 | 70|1.0-1.2 4 | -------------------------------------------------------------------------------- /data/ProjectileSpeed.txt: -------------------------------------------------------------------------------- 1 | 14|10-17 2 | 27|18-25 3 | 41|26-33 4 | 55|34-41 5 | 82|42-46 -------------------------------------------------------------------------------- /data/SpellDamage_Amulet.txt: -------------------------------------------------------------------------------- 1 | 5|3-7 2 | 20|8-12 3 | 38|13-17 4 | 56|18-22 5 | 76|23-26 -------------------------------------------------------------------------------- /data/StunDuration.txt: -------------------------------------------------------------------------------- 1 | 5|11-15 2 | 18|16-20 3 | 30|21-25 4 | 44|26-30 5 | 58|31-35 -------------------------------------------------------------------------------- /data/ToArmour_MaxLife_BodyArmour.txt: -------------------------------------------------------------------------------- 1 | 30|14-20 2 | 46|21-42 3 | 62|43-95 4 | 78|96-120 -------------------------------------------------------------------------------- /data/ToEvasion_MaxLife_BodyArmour.txt: -------------------------------------------------------------------------------- 1 | 30|14-20 2 | 46|21-42 3 | 62|43-95 4 | 78|96-120 -------------------------------------------------------------------------------- /data/ToMaxES_MaxLife_BodyArmour.txt: -------------------------------------------------------------------------------- 1 | 30|8-10 2 | 46|11-15 3 | 62|16-25 4 | 78|26-30 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsChaosDamageToAttacks.txt: -------------------------------------------------------------------------------- 1 | 36|1,3-4 2 | 48|2-3,5-6 3 | 64|4-5,7-8 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsPhysicalDamageToAttacks.txt: -------------------------------------------------------------------------------- 1 | 34|1,3-4 2 | 45|2-3,5-6 3 | 61|4-5,7-8 -------------------------------------------------------------------------------- /data/crafted/MaxLife_Haku.txt: -------------------------------------------------------------------------------- 1 | 15|35-44|Haku 2 2 | 25|45-54|Haku 4 3 | 35|55-64|Haku 6 -------------------------------------------------------------------------------- /data/crafted/MaxLife_Tora.txt: -------------------------------------------------------------------------------- 1 | 15|35-44|Tora 2 2 | 25|45-54|Tora 4 3 | 35|55-64|Tora 6 -------------------------------------------------------------------------------- /data/AddsFireDamage_Quivers.txt: -------------------------------------------------------------------------------- 1 | 1|1,2 2 | 12|3-5,7-8 3 | 20|5-7,11-13 4 | 28|7-10,15-18 -------------------------------------------------------------------------------- /data/AddsLightningDamage_Gloves.txt: -------------------------------------------------------------------------------- 1 | 3|1,5 2 | 13|1,14-15 3 | 22|1-2,22-23 4 | 28|1-2,27-28 -------------------------------------------------------------------------------- /data/AddsLightningDamage_Quivers.txt: -------------------------------------------------------------------------------- 1 | 3|1,5 2 | 13|1,14-15 3 | 22|1-2,22-23 4 | 28|1-2,27-28 -------------------------------------------------------------------------------- /data/IncrAttackDamage_Shield.txt: -------------------------------------------------------------------------------- 1 | 4|4-8 2 | 15|9-16 3 | 30|17-24 4 | 60|25-29 5 | 81|30-34 -------------------------------------------------------------------------------- /data/IncrEleDamage_Shield.txt: -------------------------------------------------------------------------------- 1 | 4|4-8 2 | 15|9-16 3 | 30|17-24 4 | 60|25-29 5 | 81|30-34 -------------------------------------------------------------------------------- /data/IncrPhysDamage_Shield.txt: -------------------------------------------------------------------------------- 1 | 4|8-12 2 | 15|13-17 3 | 30|18-22 4 | 60|23-28 5 | 81|29-33 -------------------------------------------------------------------------------- /data/IncrRarity_Suffix_AmuletRingHelmet.txt: -------------------------------------------------------------------------------- 1 | 3|6-10 2 | 30|11-14 3 | 53|15-20 4 | 75|21-26 -------------------------------------------------------------------------------- /data/abyss_jewel/ToMaximumEnergyShield.txt: -------------------------------------------------------------------------------- 1 | 1|25-30 2 | 40|31-35 3 | 75|36-45 4 | 83|46-50 -------------------------------------------------------------------------------- /lib/curl.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/lib/curl.exe -------------------------------------------------------------------------------- /resources/Version.txt: -------------------------------------------------------------------------------- 1 | ReleaseVersion := "3.5.00" 2 | AHKVersionRequired := "1.1.26" 3 | -------------------------------------------------------------------------------- /FAQ.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://github.com/POE-TradeMacro/POE-TradeMacro/wiki/FAQ 3 | -------------------------------------------------------------------------------- /data/IncrColdDamage_Suffix_Amulet.txt: -------------------------------------------------------------------------------- 1 | 12|3-7 2 | 24|8-12 3 | 36|13-17 4 | 50|18-22 5 | 64|23-26 -------------------------------------------------------------------------------- /data/IncrFireDamage_Suffix_Amulet.txt: -------------------------------------------------------------------------------- 1 | 8|3-7 2 | 22|8-12 3 | 36|13-17 4 | 50|18-22 5 | 64|23-26 -------------------------------------------------------------------------------- /data/LifeOnBlock.txt: -------------------------------------------------------------------------------- 1 | 11|5-15 2 | 22|16-25 3 | 36|26-40 4 | 48|41-60 5 | 60|61-85 6 | 75|86-100 -------------------------------------------------------------------------------- /data/ManaRegen.txt: -------------------------------------------------------------------------------- 1 | 2|10-19 2 | 18|20-29 3 | 29|30-39 4 | 42|40-49 5 | 55|50-59 6 | 79|60-69 -------------------------------------------------------------------------------- /data/MapList.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/data/MapList.txt -------------------------------------------------------------------------------- /data/Uniques.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/data/Uniques.txt -------------------------------------------------------------------------------- /data/crafted/MaxLife_Elreon.txt: -------------------------------------------------------------------------------- 1 | 15|15-24|Elreon 2 2 | 25|25-34|Elreon 4 3 | 35|35-44|Elreon 6 -------------------------------------------------------------------------------- /data/IncrLightningDamage_Suffix_Amulet.txt: -------------------------------------------------------------------------------- 1 | 10|3-7 2 | 23|8-12 3 | 36|13-17 4 | 50|18-22 5 | 64|23-26 -------------------------------------------------------------------------------- /data/ItemList.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/data/ItemList.txt -------------------------------------------------------------------------------- /data/LifeRegen.txt: -------------------------------------------------------------------------------- 1 | 1|1-2 2 | 18|2-4 3 | 30|4-7 4 | 44|7-10 5 | 59|10-13 6 | 78|13-16 7 | 83|16-20 -------------------------------------------------------------------------------- /data/ToAllResist_Amulet.txt: -------------------------------------------------------------------------------- 1 | 12|3-5 2 | 24|6-8 3 | 36|9-11 4 | 48|12-14 5 | 60|15-16 6 | 85|17-18 -------------------------------------------------------------------------------- /data/ToChaosResist.txt: -------------------------------------------------------------------------------- 1 | 16|5-10 2 | 30|11-15 3 | 44|16-20 4 | 56|21-25 5 | 65|26-30 6 | 81|31-35 -------------------------------------------------------------------------------- /data/AddsColdDamage_Gloves.txt: -------------------------------------------------------------------------------- 1 | 2|1,2 2 | 13|3-4,7-8 3 | 21|5-7,10-12 4 | 29|6-9,13-16 5 | 36|8-11,16-19 -------------------------------------------------------------------------------- /data/IncrArmour_StunRecovery.txt: -------------------------------------------------------------------------------- 1 | 1|6-13 2 | 17|14-20 3 | 29|21-26 4 | 42|27-32 5 | 60|33-38 6 | 78|39-42 -------------------------------------------------------------------------------- /data/StunBlockRecovery_Armour.txt: -------------------------------------------------------------------------------- 1 | 1|6-7 2 | 17|8-9 3 | 29|10-11 4 | 42|12-13 5 | 60|14-15 6 | 78|16-17 -------------------------------------------------------------------------------- /data/StunBlockRecovery_Evasion.txt: -------------------------------------------------------------------------------- 1 | 2|6-7 2 | 19|8-9 3 | 30|10-11 4 | 44|12-13 5 | 60|14-15 6 | 78|16-17 -------------------------------------------------------------------------------- /resources/VersionTrade.txt: -------------------------------------------------------------------------------- 1 | TradeReleaseVersion := "v2.16.0" 2 | TradeAHKVersionRequired := "1.1.26.00" 3 | -------------------------------------------------------------------------------- /data/CastSpeed_2H.txt: -------------------------------------------------------------------------------- 1 | 2|8-11 2 | 15|12-15 3 | 30|17-20 4 | 40|21-24 5 | 55|26-29 6 | 72|30-33 7 | 83|35-38 -------------------------------------------------------------------------------- /data/CritChanceSpells.txt: -------------------------------------------------------------------------------- 1 | 11|10-19 2 | 21|20-39 3 | 28|40-59 4 | 41|60-79 5 | 59|80-99 6 | 76|100-109 7 | -------------------------------------------------------------------------------- /data/CritChance_Amulet.txt: -------------------------------------------------------------------------------- 1 | 1|10-14 2 | 20|15-19 3 | 30|20-24 4 | 44|25-29 5 | 58|30-34 6 | 72|35-38 7 | -------------------------------------------------------------------------------- /data/CritChance_Weapon.txt: -------------------------------------------------------------------------------- 1 | 1|10-14 2 | 20|15-19 3 | 30|20-24 4 | 44|25-29 5 | 59|30-34 6 | 73|35-38 7 | -------------------------------------------------------------------------------- /data/CritMultiplierGlobal.txt: -------------------------------------------------------------------------------- 1 | 8|8-12 2 | 21|13-19 3 | 31|20-24 4 | 45|25-29 5 | 59|30-34 6 | 74|35-38 7 | -------------------------------------------------------------------------------- /data/CritMultiplierLocal.txt: -------------------------------------------------------------------------------- 1 | 8|8-14 2 | 21|15-19 3 | 30|20-24 4 | 44|25-29 5 | 59|30-34 6 | 73|35-38 7 | -------------------------------------------------------------------------------- /data/IncrArmour.txt: -------------------------------------------------------------------------------- 1 | 3|15-26 2 | 17|27-42 3 | 29|43-55 4 | 42|56-67 5 | 60|68-79 6 | 72|80-91 7 | 84|92-100 -------------------------------------------------------------------------------- /data/IncrArmour_Amulet.txt: -------------------------------------------------------------------------------- 1 | 2|2-4 2 | 18|5-7 3 | 30|8-10 4 | 42|11-13 5 | 56|14-16 6 | 70|17-19 7 | 77|20-22 -------------------------------------------------------------------------------- /data/IncrColdDamage_Suffix_Weapon.txt: -------------------------------------------------------------------------------- 1 | 12|3-7 2 | 24|8-12 3 | 36|13-17 4 | 50|18-22 5 | 64|23-26 6 | 76|27-30 -------------------------------------------------------------------------------- /data/IncrEvasion.txt: -------------------------------------------------------------------------------- 1 | 3|15-26 2 | 19|27-42 3 | 30|43-55 4 | 44|56-67 5 | 60|68-79 6 | 72|80-91 7 | 84|92-100 -------------------------------------------------------------------------------- /data/IncrEvasion_StunRecovery.txt: -------------------------------------------------------------------------------- 1 | 2|6-13 2 | 19|14-20 3 | 30|21-26 4 | 44|27-32 5 | 60|33-38 6 | 78|39-42 -------------------------------------------------------------------------------- /data/IncrFireDamage_Suffix_Weapon.txt: -------------------------------------------------------------------------------- 1 | 8|3-7 2 | 22|8-12 3 | 36|13-17 4 | 50|18-22 5 | 64|23-26 6 | 76|27-30 -------------------------------------------------------------------------------- /data/StunBlockRecovery_EnergyShield.txt: -------------------------------------------------------------------------------- 1 | 3|6-7 2 | 18|8-9 3 | 30|10-11 4 | 44|12-13 5 | 60|14-15 6 | 78|16-17 -------------------------------------------------------------------------------- /data/StunBlockRecovery_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 2|6-7 2 | 19|8-9 3 | 30|10-11 4 | 44|12-13 5 | 60|14-15 6 | 78|16-17 -------------------------------------------------------------------------------- /data/StunBlockRecovery_Suffix.txt: -------------------------------------------------------------------------------- 1 | 1|11-13 2 | 17|14-16 3 | 28|17-19 4 | 42|20-22 5 | 56|23-25 6 | 79|26-28 -------------------------------------------------------------------------------- /resources/images/fb.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/fb.ico -------------------------------------------------------------------------------- /resources/images/poe.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/poe.ico -------------------------------------------------------------------------------- /data/AdditionalBlockChanceAgainstProjectiles.txt: -------------------------------------------------------------------------------- 1 | 8|1-2 2 | 19|3-4 3 | 30|5-6 4 | 55|7-8 5 | 70|9-10 6 | 81|11-12 -------------------------------------------------------------------------------- /data/AddsPhysDamage_Ring.txt: -------------------------------------------------------------------------------- 1 | 5|1,2 2 | 13|2-3,4-5 3 | 19|3-4,6-7 4 | 28|4-6,9-10 5 | 35|5-7,11-12 6 | 44|6-9,13-15 -------------------------------------------------------------------------------- /data/CastSpeed_1H.txt: -------------------------------------------------------------------------------- 1 | 2|5-7 2 | 15|8-10 3 | 30|11-13 4 | 40|14-16 5 | 55|17-19 6 | 72|20-22 7 | 83|23-25 8 | -------------------------------------------------------------------------------- /data/CritChance_Quiver.txt: -------------------------------------------------------------------------------- 1 | 1|10-14 2 | 20|15-19 3 | 30|20-24 4 | 44|25-29 5 | 58|30-34 6 | 72|35-38 7 | 85|39-44 -------------------------------------------------------------------------------- /data/IncrElementalDamageWithAttackSkills_Ring.txt: -------------------------------------------------------------------------------- 1 | 4|5-10 2 | 15|11-20 3 | 30|21-30 4 | 60|31-36 5 | 81|37-42 6 | -------------------------------------------------------------------------------- /data/IncrEnergyShield.txt: -------------------------------------------------------------------------------- 1 | 3|11-28 2 | 18|27-42 3 | 30|43-55 4 | 44|56-67 5 | 60|68-79 6 | 72|80-91 7 | 84|92-100 -------------------------------------------------------------------------------- /data/IncrEnergyShield_StunRecovery.txt: -------------------------------------------------------------------------------- 1 | 3|6-13 2 | 18|14-20 3 | 30|21-26 4 | 44|27-32 5 | 60|33-38 6 | 78|39-42 -------------------------------------------------------------------------------- /data/IncrLightningDamage_Suffix_Weapon.txt: -------------------------------------------------------------------------------- 1 | 10|3-7 2 | 23|8-12 3 | 36|13-17 4 | 50|18-22 5 | 64|23-26 6 | 76|27-30 -------------------------------------------------------------------------------- /data/MaxMana_SpellDamage.txt: -------------------------------------------------------------------------------- 1 | 2|8-10 2 | 11|11-13 3 | 23|14-16 4 | 35|17-19 5 | 46|20-22 6 | 58|23-25 7 | 80|26-28 -------------------------------------------------------------------------------- /data/ToMaxES_BodyArmourShield_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 1|3-4 2 | 18|9-12 3 | 30|18-22 4 | 46|30-36 5 | 69|58-67 6 | 73|69-75 -------------------------------------------------------------------------------- /data/ToMaxES_GlovesBoots.txt: -------------------------------------------------------------------------------- 1 | 3|3-5 2 | 11|6-11 3 | 17|12-16 4 | 23|17-23 5 | 29|24-30 6 | 35|31-38 7 | 43|39-49 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsPhysicalDamageToWeaponTypeAttacks.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-4 2 | 42|3-4,5-6 3 | 64|5-6,7-9 4 | 83|7-8,10-12 -------------------------------------------------------------------------------- /resources/images/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/error.png -------------------------------------------------------------------------------- /resources/images/info.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/info.ico -------------------------------------------------------------------------------- /resources/images/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/info.png -------------------------------------------------------------------------------- /data/DivinationCardList.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/data/DivinationCardList.txt -------------------------------------------------------------------------------- /data/IncrDefences_HybridBase_StunRecovery.txt: -------------------------------------------------------------------------------- 1 | 2|6-13 2 | 19|14-20 3 | 30|21-26 4 | 44|27-32 5 | 60|33-38 6 | 78|39-42 -------------------------------------------------------------------------------- /data/IncrElementalDamageWithAttackSkills.txt: -------------------------------------------------------------------------------- 1 | 4|5-10 2 | 15|11-20 3 | 30|21-30 4 | 60|31-36 5 | 81|37-42 6 | 86|43-50 -------------------------------------------------------------------------------- /data/IncrElementalDamageWithAttackSkills_Weapon.txt: -------------------------------------------------------------------------------- 1 | 4|5-10 2 | 15|11-20 3 | 30|21-30 4 | 60|31-37 5 | 81|38-42 6 | -------------------------------------------------------------------------------- /data/IncrEvasion_Amulet.txt: -------------------------------------------------------------------------------- 1 | 2|2-4 2 | 19|5-7 3 | 30|8-10 4 | 42|11-13 5 | 56|14-16 6 | 70|17-19 7 | 77|20-22 8 | -------------------------------------------------------------------------------- /data/IncrMaxEnergyShield_Amulet.txt: -------------------------------------------------------------------------------- 1 | 3|2-4 2 | 18|5-7 3 | 30|8-10 4 | 42|11-13 5 | 56|14-16 6 | 70|17-19 7 | 77|20-22 -------------------------------------------------------------------------------- /data/MaxLife_Ring.txt: -------------------------------------------------------------------------------- 1 | 1|3-9 2 | 5|10-19 3 | 11|20-29 4 | 18|30-39 5 | 24|40-49 6 | 30|50-59 7 | 36|60-69 8 | 44|70-79 -------------------------------------------------------------------------------- /data/SpellDamage_MaxMana_1H.txt: -------------------------------------------------------------------------------- 1 | 2|5-9 2 | 11|10-14 3 | 23|15-19 4 | 35|20-24 5 | 46|25-29 6 | 58|30-34 7 | 80|35-39 -------------------------------------------------------------------------------- /data/ToArmour_BodyArmourShield.txt: -------------------------------------------------------------------------------- 1 | 1|3-10 2 | 18|11-35 3 | 30|36-60 4 | 46|61-138 5 | 59|139-322 6 | 73|323-400 7 | -------------------------------------------------------------------------------- /data/ToEvasion_BodyArmourShield.txt: -------------------------------------------------------------------------------- 1 | 1|3-10 2 | 18|11-35 3 | 29|36-60 4 | 42|61-138 5 | 56|139-322 6 | 70|323-400 7 | -------------------------------------------------------------------------------- /resources/images/bg-magic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/bg-magic.png -------------------------------------------------------------------------------- /resources/images/bg-rare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/bg-rare.png -------------------------------------------------------------------------------- /resources/images/edit_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/edit_btn.png -------------------------------------------------------------------------------- /resources/images/greydot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/greydot.png -------------------------------------------------------------------------------- /resources/images/poe-bw.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/poe-bw.ico -------------------------------------------------------------------------------- /resources/images/poe-web.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/poe-web.ico -------------------------------------------------------------------------------- /resources/images/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/splash.png -------------------------------------------------------------------------------- /data/IncrDefences_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 3|15-26 2 | 19|27-42 3 | 30|43-55 4 | 44|56-67 5 | 60|68-79 6 | 72|80-91 7 | 84|92-100 -------------------------------------------------------------------------------- /data/LifeRegen_BodyArmour.txt: -------------------------------------------------------------------------------- 1 | 1|1-2 2 | 18|2-4 3 | 30|4-7 4 | 44|7-10 5 | 59|10-13 6 | 78|13-16 7 | 83|16-20 8 | 86|20-25 -------------------------------------------------------------------------------- /data/SpellDamage_1H.txt: -------------------------------------------------------------------------------- 1 | 2|10-19 2 | 11|20-29 3 | 23|30-39 4 | 35|40-49 5 | 46|50-59 6 | 58|60-69 7 | 64|70-74 8 | 84|75-79 -------------------------------------------------------------------------------- /data/SpellDamage_MaxMana_Staff.txt: -------------------------------------------------------------------------------- 1 | 2|8-14 2 | 11|15-22 3 | 23|23-29 4 | 35|30-37 5 | 46|38-44 6 | 58|45-50 7 | 80|51-55 -------------------------------------------------------------------------------- /data/ToAllAttributes.txt: -------------------------------------------------------------------------------- 1 | 1|1-4 2 | 11|5-8 3 | 22|9-12 4 | 33|13-16 5 | 44|17-20 6 | 55|21-24 7 | 66|25-28 8 | 77|29-32 -------------------------------------------------------------------------------- /data/ToArmour_BodyArmourShield_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 1|3-7 2 | 18|9-25 3 | 30|27-45 4 | 46|46-103 5 | 69|105-241 6 | 73|243-300 -------------------------------------------------------------------------------- /data/ToColdResist.txt: -------------------------------------------------------------------------------- 1 | 1|6-11 2 | 14|12-17 3 | 26|18-23 4 | 38|24-29 5 | 50|30-35 6 | 60|36-41 7 | 72|42-45 8 | 84|46-48 -------------------------------------------------------------------------------- /data/ToEvasion_BodyArmourShield_HybridBase.txt: -------------------------------------------------------------------------------- 1 | 1|3-7 2 | 18|9-25 3 | 30|27-45 4 | 46|46-103 5 | 69|105-241 6 | 73|243-300 -------------------------------------------------------------------------------- /data/ToEvasion_Ring.txt: -------------------------------------------------------------------------------- 1 | 1|3-10 2 | 18|11-35 3 | 29|36-60 4 | 42|61-80 5 | 58|81-120 6 | 72|121-150 7 | 84|151-170 8 | -------------------------------------------------------------------------------- /data/ToFireResist.txt: -------------------------------------------------------------------------------- 1 | 1|6-11 2 | 12|12-17 3 | 24|18-23 4 | 36|24-29 5 | 48|30-35 6 | 60|36-41 7 | 72|42-45 8 | 84|46-48 -------------------------------------------------------------------------------- /data/ToMaxES_Helmet.txt: -------------------------------------------------------------------------------- 1 | 3|3-5 2 | 11|6-11 3 | 17|12-16 4 | 23|17-23 5 | 29|24-30 6 | 35|31-38 7 | 43|39-49 8 | 51|50-61 -------------------------------------------------------------------------------- /resources/fonts/Fontin-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/fonts/Fontin-Bold.ttf -------------------------------------------------------------------------------- /resources/images/bg-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/bg-normal.png -------------------------------------------------------------------------------- /resources/images/bg-unique.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/bg-unique.png -------------------------------------------------------------------------------- /resources/images/info-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/info-blue.png -------------------------------------------------------------------------------- /resources/images/splash-bl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/splash-bl.png -------------------------------------------------------------------------------- /data/AttackSpeed_Weapons.txt: -------------------------------------------------------------------------------- 1 | 1|5-7 2 | 11|8-10 3 | 22|11-13 4 | 30|14-16 5 | 37|17-19 6 | 45|20-22 7 | 60|23-25 8 | 77|26-27 -------------------------------------------------------------------------------- /data/ToLightningResist.txt: -------------------------------------------------------------------------------- 1 | 1|6-11 2 | 13|12-17 3 | 25|18-23 4 | 37|24-29 5 | 49|30-35 6 | 60|36-41 7 | 72|42-45 8 | 84|46-48 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsChaosDamageToSpells.txt: -------------------------------------------------------------------------------- 1 | 33|3-4,6-7 2 | 48|5-7,8-10 3 | 57|8-10,11-13 4 | 68|11-13,14-16 5 | 79|14-16,18-22 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsColdDamageToSpells.txt: -------------------------------------------------------------------------------- 1 | 29|6-8,9-11 2 | 43|9-11,12-14 3 | 52|12-14,15-19 4 | 63|15-17,20-23 5 | 76|19-23,24-32 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsFireDamageToSpells.txt: -------------------------------------------------------------------------------- 1 | 30|6-8,9-11 2 | 43|9-11,12-14 3 | 55|12-14,15-19 4 | 66|15-17,20-23 5 | 77|19-23,24-32 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsLightningDamageToAttacks.txt: -------------------------------------------------------------------------------- 1 | 35|1-2,27-29 2 | 44|1-3,35-38 3 | 52|1-4,42-45 4 | 64|2-5,51-55 5 | 76|2-6,62-68 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsLightningDamageToSpells.txt: -------------------------------------------------------------------------------- 1 | 28|1-2,15-19 2 | 44|1-3,20-24 3 | 54|1-4,25-29 4 | 65|1-5,30-32 5 | 75|1-6,37-45 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsPhysicalDamageToSpells.txt: -------------------------------------------------------------------------------- 1 | 32|3-4,6-7 2 | 45|5-7,8-10 3 | 56|8-10,11-13 4 | 65|11-13,14-16 5 | 78|14-16,18-22 -------------------------------------------------------------------------------- /resources/fonts/Fontin-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/fonts/Fontin-Italic.ttf -------------------------------------------------------------------------------- /resources/fonts/Fontin-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/fonts/Fontin-Regular.ttf -------------------------------------------------------------------------------- /resources/images/Paypal-Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/Paypal-Logo.png -------------------------------------------------------------------------------- /resources/images/poe-trade-bl.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/poe-trade-bl.ico -------------------------------------------------------------------------------- /data/IncrPhysDamage.txt: -------------------------------------------------------------------------------- 1 | 1|40-49 2 | 11|50-64 3 | 23|65-84 4 | 35|85-109 5 | 46|110-134 6 | 60|135-154 7 | 73|155-169 8 | 83|170-179 -------------------------------------------------------------------------------- /data/SpellDamage_Staff.txt: -------------------------------------------------------------------------------- 1 | 2|15-29 2 | 11|30-44 3 | 23|45-59 4 | 35|60-74 5 | 46|75-89 6 | 58|90-104 7 | 79|105-110 8 | 84|111-115 -------------------------------------------------------------------------------- /data/ToArmour_Belt.txt: -------------------------------------------------------------------------------- 1 | 1|3-10 2 | 18|11-35 3 | 30|36-60 4 | 44|61-138 5 | 57|139-322 6 | 71|323-400 7 | 83|401-460 8 | 86|461-540 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsColdDamageToAttacks.txt: -------------------------------------------------------------------------------- 1 | 36|6-9,12-15 2 | 45|8-11,15-19 3 | 53|10-14,20-24 4 | 65|12-16,25-30 5 | 77|14-19,31-37 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsFireDamageToAttacks.txt: -------------------------------------------------------------------------------- 1 | 35|6-10,14-18 2 | 44|9-12,19-23 3 | 52|11-15,24-28 4 | 64|13-19,28-34 5 | 76|15-21,34-40 -------------------------------------------------------------------------------- /resources/fonts/Fontin-SmallCaps.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/fonts/Fontin-SmallCaps.ttf -------------------------------------------------------------------------------- /data/IncrPhysDamage_AccuracyRating.txt: -------------------------------------------------------------------------------- 1 | 1|15-19 2 | 11|20-24 3 | 23|25-34 4 | 35|35-44 5 | 46|45-54 6 | 60|55-64 7 | 73|65-74 8 | 83|75-79 -------------------------------------------------------------------------------- /data/To1Attribute.txt: -------------------------------------------------------------------------------- 1 | 1|8-12 2 | 11|13-17 3 | 22|18-22 4 | 33|23-27 5 | 44|28-32 6 | 55|33-37 7 | 66|38-42 8 | 74|43-50 9 | 82|51-55 -------------------------------------------------------------------------------- /resources/default_UserFiles/config.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/default_UserFiles/config.ini -------------------------------------------------------------------------------- /resources/images/fractured-symbol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/fractured-symbol.png -------------------------------------------------------------------------------- /Installation and Usage Instructions.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://github.com/POE-TradeMacro/POE-TradeMacro/wiki/Usage---Installation 3 | -------------------------------------------------------------------------------- /data/AccuracyRating_IncrPhysDamage.txt: -------------------------------------------------------------------------------- 1 | 1|3-7 2 | 11|8-30 3 | 23|31-50 4 | 35|51-64 5 | 46|65-82 6 | 60|83-99 7 | 73|100-134 8 | 83|135-169 -------------------------------------------------------------------------------- /data/AccuracyRating_Weapon.txt: -------------------------------------------------------------------------------- 1 | 1|5-15 2 | 12|16-60 3 | 20|61-100 4 | 26|101-130 5 | 33|131-165 6 | 41|166-200 7 | 50|201-250 8 | 63|251-320 -------------------------------------------------------------------------------- /data/IncrArmour_BodyArmourShield.txt: -------------------------------------------------------------------------------- 1 | 3|15-26 2 | 17|27-42 3 | 29|43-55 4 | 42|56-67 5 | 60|68-79 6 | 72|80-91 7 | 84|92-100 8 | 86|101-110 -------------------------------------------------------------------------------- /data/IncrEvasion_BodyArmourShield.txt: -------------------------------------------------------------------------------- 1 | 3|15-26 2 | 19|27-42 3 | 30|43-55 4 | 44|56-67 5 | 60|68-79 6 | 72|80-91 7 | 84|92-100 8 | 86|101-110 -------------------------------------------------------------------------------- /data/ToAllAttributes_Amulet.txt: -------------------------------------------------------------------------------- 1 | 1|1-4 2 | 11|5-8 3 | 22|9-12 4 | 33|13-16 5 | 44|17-20 6 | 55|21-24 7 | 66|25-28 8 | 77|29-32 9 | 85|33-35 -------------------------------------------------------------------------------- /resources/images/colorPickerPreviewBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/colorPickerPreviewBg.png -------------------------------------------------------------------------------- /resources/images/poe-trade-bl-update.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PoE-TradeMacro/POE-TradeMacro/HEAD/resources/images/poe-trade-bl-update.ico -------------------------------------------------------------------------------- /data/IncrEleTypeDamage_Prefix_Staff.txt: -------------------------------------------------------------------------------- 1 | 2|15-29 2 | 11|30-44 3 | 23|45-59 4 | 35|60-74 5 | 46|75-89 6 | 58|90-104 7 | 79|105-110 8 | 84|111-115 -------------------------------------------------------------------------------- /data/IncrEnergyShield_BodyArmourShield.txt: -------------------------------------------------------------------------------- 1 | 3|11-28 2 | 18|27-42 3 | 30|43-55 4 | 44|56-67 5 | 60|68-79 6 | 72|80-91 7 | 84|92-100 8 | 86|101-110 -------------------------------------------------------------------------------- /data/MaxLife_AmuletBootsGloves.txt: -------------------------------------------------------------------------------- 1 | 1|3-9 2 | 5|10-19 3 | 11|20-29 4 | 18|30-39 5 | 24|40-49 6 | 30|50-59 7 | 36|60-69 8 | 44|70-79 9 | 54|80-89 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsChaosDamageToSpellsWhile.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-5 2 | 42|3-5,7-9 3 | 54|6-8,10-12 4 | 65|9-11,13-15 5 | 75|12-14,15-17 6 | 84|15-17,20-24 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsLightningDamageToSpellsWhile.txt: -------------------------------------------------------------------------------- 1 | 1|1,6-10 2 | 39|1-2,17-21 3 | 48|1-3,22-26 4 | 58|1-4,29-33 5 | 70|1-5,34-36 6 | 82|1-6,43-51 -------------------------------------------------------------------------------- /data/abyss_jewel/MinionsDealAdditionalLightningDamage.txt: -------------------------------------------------------------------------------- 1 | 1|1,3-5 2 | 39|1-2,8-12 3 | 48|1-3,13-17 4 | 58|2-5,18-22 5 | 70|2-6,23-29 6 | 82|3-9,30-36 -------------------------------------------------------------------------------- /data/IncrDefences_HybridBase_BodyArmourShield.txt: -------------------------------------------------------------------------------- 1 | 3|15-26 2 | 19|27-42 3 | 30|43-55 4 | 44|56-67 5 | 60|68-79 6 | 72|80-91 7 | 84|92-100 8 | 86|101-110 -------------------------------------------------------------------------------- /data/IncrEleTypeDamage_Prefix_WandSceptreFocus.txt: -------------------------------------------------------------------------------- 1 | 2|10-19 2 | 11|20-29 3 | 23|30-39 4 | 35|40-49 5 | 46|50-59 6 | 58|60-69 7 | 64|70-74 8 | 84|75-79 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsColdDamageToSpellsWhile.txt: -------------------------------------------------------------------------------- 1 | 1|2-4,5-7 2 | 38|7-9,11-13 3 | 47|10-12,14-16 4 | 56|13-15,17-21 5 | 68|16-18,22-24 6 | 80|19-25,26-34 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsFireDamageToSpellsWhile.txt: -------------------------------------------------------------------------------- 1 | 1|2-4,5-7 2 | 40|7-9,11-13 3 | 52|10-12,14-16 4 | 62|13-15,17-21 5 | 70|16-18,22-24 6 | 81|19-25,26-34 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsPhysicalDamageToSpellsWhile.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-5 2 | 42|3-5,7-9 3 | 54|6-8,10-12 4 | 63|9-11,13-15 5 | 72|12-14,15-17 6 | 83|15-17,20-24 -------------------------------------------------------------------------------- /data/abyss_jewel/MinionsDealAdditionalChaosDamage.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-5 2 | 42|3-5,7-9 3 | 54|6-8,10-12 4 | 65|9-11,13-15 5 | 75|12-14,16-18 6 | 84|15-17,22-26 -------------------------------------------------------------------------------- /data/abyss_jewel/MinionsDealAdditionalColdDamage.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-5 2 | 38|3-5,7-9 3 | 47|6-8,10-12 4 | 56|9-11,13-15 5 | 68|12-14,16-18 6 | 80|15-17,22-26 -------------------------------------------------------------------------------- /data/abyss_jewel/MinionsDealAdditionalFireDamage.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-5 2 | 40|3-5,7-9 3 | 52|6-8,10-12 4 | 62|9-11,13-15 5 | 70|12-14,16-18 6 | 81|15-17,22-26 -------------------------------------------------------------------------------- /data/abyss_jewel/MinionsDealAdditionalPhysicalDamage.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-5 2 | 42|3-5,7-9 3 | 54|6-8,10-12 4 | 63|9-11,13-15 5 | 72|12-14,16-18 6 | 83|15-17,22-26 -------------------------------------------------------------------------------- /data/AccuracyRating_BowWand.txt: -------------------------------------------------------------------------------- 1 | 1|5-15 2 | 12|16-60 3 | 20|61-100 4 | 26|101-130 5 | 33|131-165 6 | 41|166-200 7 | 50|201-250 8 | 63|251-320 9 | 80|321-360 -------------------------------------------------------------------------------- /data/AccuracyRating_Global.txt: -------------------------------------------------------------------------------- 1 | 1|5-15 2 | 12|16-60 3 | 20|61-100 4 | 26|101-130 5 | 33|131-165 6 | 41|166-200 7 | 50|201-250 8 | 63|251-320 9 | 76|321-400 -------------------------------------------------------------------------------- /data/ToMaxES_Shield.txt: -------------------------------------------------------------------------------- 1 | 3|3-5 2 | 11|6-11 3 | 17|12-16 4 | 23|17-23 5 | 29|24-30 6 | 35|31-38 7 | 43|39-49 8 | 51|50-61 9 | 60|62-76 10 | 69|77-90 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsLightningDamageToWeaponTypeAttacks.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,27-28 2 | 37|1-3,33-34 3 | 48|1-4,40-43 4 | 60|2-5,47-50 5 | 70|3-6,57-61 6 | 82|3-7,68-72 -------------------------------------------------------------------------------- /resources/AUTHORS_Trade.txt: -------------------------------------------------------------------------------- 1 | Eruyome 2 | thirdy 3 | mktums 4 | jn64 5 | Dgc2002 6 | OzoneH3 7 | DoctorVanGogh 8 | Rodrive 9 | 4GForce 10 | dein0s -------------------------------------------------------------------------------- /data/abyss_jewel/AddsColdDamageToWeaponTypeAttacks.txt: -------------------------------------------------------------------------------- 1 | 1|6-9,13-16 2 | 38|8-11,16-19 3 | 47|10-13,20-24 4 | 59|12-16,24-28 5 | 68|14-19,29-34 6 | 83|17-22,34-40 -------------------------------------------------------------------------------- /data/abyss_jewel/AddsFireDamageToWeaponTypeAttacks.txt: -------------------------------------------------------------------------------- 1 | 1|7-10,15-18 2 | 40|9-12,19-22 3 | 51|11-15,23-27 4 | 62|13-18,27-31 5 | 72|16-22,32-38 6 | 84|19-25,39-45 -------------------------------------------------------------------------------- /data/MaxLife_BeltHelmetQuiver.txt: -------------------------------------------------------------------------------- 1 | 1|3-9 2 | 5|10-19 3 | 11|20-29 4 | 18|30-39 5 | 24|40-49 6 | 30|50-59 7 | 36|60-69 8 | 44|70-79 9 | 54|80-89 10 | 64|90-99 -------------------------------------------------------------------------------- /data/To1Attribute_ilvl85.txt: -------------------------------------------------------------------------------- 1 | 1|8-12 2 | 11|13-17 3 | 22|18-22 4 | 33|23-27 5 | 44|28-32 6 | 55|33-37 7 | 66|38-42 8 | 74|43-50 9 | 82|51-55 10 | 85|56-60 -------------------------------------------------------------------------------- /data/AddsPhysDamage_Amulet.txt: -------------------------------------------------------------------------------- 1 | 5|1,2 2 | 13|2-3,4-5 3 | 19|3-4,6-7 4 | 28|4-6,9-10 5 | 35|5-7,11-12 6 | 44|6-9,13-15 7 | 52|7-10,15-18 8 | 64|9-12,19-22 9 | 76|11-15,22-26 -------------------------------------------------------------------------------- /data/ToMaxES_BodyArmour.txt: -------------------------------------------------------------------------------- 1 | 3|3-5 2 | 11|6-11 3 | 17|12-16 4 | 23|17-23 5 | 29|24-30 6 | 35|31-38 7 | 43|39-49 8 | 51|50-61 9 | 60|62-76 10 | 69|77-90 11 | 75|91-100 -------------------------------------------------------------------------------- /data/ToMaxES_Ring.txt: -------------------------------------------------------------------------------- 1 | 3|1-3 2 | 11|4-8 3 | 17|9-12 4 | 23|13-15 5 | 29|16-19 6 | 35|20-22 7 | 42|23-26 8 | 50|27-31 9 | 59|32-37 10 | 68|38-43 11 | 74|44-47 12 | -------------------------------------------------------------------------------- /data/AddsLightningDamage_1H.txt: -------------------------------------------------------------------------------- 1 | 3|1,6 2 | 13|1-2,27-28 3 | 19|1-3,41-43 4 | 31|2-5,58-61 5 | 34|2-6,72-76 6 | 42|2-7,91-96 7 | 51|3-9,110-116 8 | 63|4-11,133-140 9 | 74|4-13,158-166 -------------------------------------------------------------------------------- /data/AddsLightningDamage_AmuletRing.txt: -------------------------------------------------------------------------------- 1 | 3|1,5 2 | 13|1,14-15 3 | 22|1-2,22-23 4 | 28|1-2,27-28 5 | 35|1-3,33-34 6 | 44|1-4,40-43 7 | 52|2-5,47-50 8 | 64|3-6,57-61 9 | 76|3-7,68-72 -------------------------------------------------------------------------------- /data/AddsPhysDamage_1H.txt: -------------------------------------------------------------------------------- 1 | 2|1,2-3 2 | 13|4-5,8-9 3 | 21|6-8,13-15 4 | 29|7-11,16-19 5 | 36|9-13,20-24 6 | 46|13-17,26-30 7 | 54|14-19,29-35 8 | 65|17-24,36-41 9 | 77|20-27,41-49 -------------------------------------------------------------------------------- /data/MaxLife_Shield.txt: -------------------------------------------------------------------------------- 1 | 1|3-9 2 | 5|10-19 3 | 11|20-29 4 | 18|30-39 5 | 24|40-49 6 | 30|50-59 7 | 36|60-69 8 | 44|70-79 9 | 54|80-89 10 | 64|90-99 11 | 73|100-109 12 | -------------------------------------------------------------------------------- /data/SpellAddsLightning_1H.txt: -------------------------------------------------------------------------------- 1 | 1|1,4-5 2 | 11|1-2,21-22 3 | 18|1-3,33-35 4 | 26|1-4,46-49 5 | 33|2-5,58-61 6 | 42|2-6,73-77 7 | 51|2-7,88-93 8 | 62|3-9,106-112 9 | 74|3-10,126-133 -------------------------------------------------------------------------------- /data/AccuracyRating_HelmetGloves.txt: -------------------------------------------------------------------------------- 1 | 1|5-15 2 | 12|16-60 3 | 20|61-100 4 | 26|101-130 5 | 33|131-165 6 | 41|166-200 7 | 50|201-250 8 | 63|251-320 9 | 76|321-400 10 | 85|401-500 -------------------------------------------------------------------------------- /data/AddsColdDamage_1H.txt: -------------------------------------------------------------------------------- 1 | 2|1-2,3 2 | 12|6-8,13-15 3 | 19|10-13,19-23 4 | 27|14-18,27-32 5 | 34|17-23,34-40 6 | 43|22-29,43-50 7 | 52|26-35,52-60 8 | 63|31-42,63-73 9 | 75|37-50,74-87 -------------------------------------------------------------------------------- /data/AddsColdDamage_AmuletRing.txt: -------------------------------------------------------------------------------- 1 | 2|1,2 2 | 13|3-4,7-8 3 | 21|5-7,10-12 4 | 29|6-9,13-16 5 | 36|8-11,16-19 6 | 45|10-13,20-24 7 | 53|12-16,24-28 8 | 65|14-19,29-34 9 | 77|17-22,34-40 -------------------------------------------------------------------------------- /data/AddsFireDamage_AmuletRing.txt: -------------------------------------------------------------------------------- 1 | 1|1,2 2 | 12|3-5,7-8 3 | 20|5-7,11-13 4 | 28|7-10,15-18 5 | 35|9-12,19-22 6 | 44|11-15,23-27 7 | 52|13-18,27-31 8 | 64|16-22,32-38 9 | 76|19-25,39-45 -------------------------------------------------------------------------------- /data/AddsPhysDamage_2H.txt: -------------------------------------------------------------------------------- 1 | 2|2,4-5 2 | 13|6-8,12-14 3 | 21|9-12,18-21 4 | 29|11-15,23-27 5 | 36|14-19,28-33 6 | 46|18-24,36-42 7 | 54|20-27,41-48 8 | 65|24-33,49-57 9 | 77|29-38,58-68 -------------------------------------------------------------------------------- /data/MaxMana.txt: -------------------------------------------------------------------------------- 1 | 1|15-19 2 | 11|20-24 3 | 17|25-29 4 | 23|30-34 5 | 29|35-39 6 | 35|40-44 7 | 42|45-49 8 | 51|50-54 9 | 60|55-59 10 | 69|60-64 11 | 75|65-68 12 | 81|69-73 -------------------------------------------------------------------------------- /data/SpellAddsCold_1H.txt: -------------------------------------------------------------------------------- 1 | 1|1,2-3 2 | 11|5-7,10-12 3 | 18|8-10,16-18 4 | 26|11-15,22-25 5 | 33|14-18,27-32 6 | 42|17-23,34-40 7 | 51|21-28,41-48 8 | 62|25-33,50-58 9 | 74|30-40,60-69 -------------------------------------------------------------------------------- /data/SpellAddsFire_1H.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-4 2 | 11|6-8,12-14 3 | 18|10-13,19-22 4 | 26|13-18,27-31 5 | 33|17-22,33-39 6 | 42|21-28,42-49 7 | 51|25-34,51-59 8 | 62|31-41,61-71 9 | 74|36-49,73-85 -------------------------------------------------------------------------------- /data/SpellAddsLightning_2H.txt: -------------------------------------------------------------------------------- 1 | 1|1,6-7 2 | 11|1-3,32-34 3 | 18|1-4,49-52 4 | 26|2-6,69-73 5 | 33|2-7,87-92 6 | 42|3-9,109-115 7 | 51|4-11,132-139 8 | 62|4-13,159-168 9 | 74|5-15,189-200 -------------------------------------------------------------------------------- /data/AddsColdDamage_2H.txt: -------------------------------------------------------------------------------- 1 | 2|2-3,4-5 2 | 12|10-13,19-22 3 | 19|11-15,23-27 4 | 27|21-27,41-48 5 | 34|26-34,52-60 6 | 43|32-43,65-76 7 | 52|39-52,78-91 8 | 63|47-63,94-110 9 | 75|56-75,112-131 -------------------------------------------------------------------------------- /data/AddsFireDamage_1H.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-4 2 | 11|8-10,15-18 3 | 18|12-16,24-28 4 | 26|17-22,33-39 5 | 33|21-28,42-49 6 | 42|26-35,53-61 7 | 51|32-42,63-74 8 | 62|38-51,77-89 9 | 74|45-61,91-106 -------------------------------------------------------------------------------- /data/AddsLightningDamage_2H.txt: -------------------------------------------------------------------------------- 1 | 3|1,9-10 2 | 13|1-3,41-43 3 | 19|2-5,62-66 4 | 31|2-7,87-92 5 | 34|3-9,109-115 6 | 42|4-11,137-145 7 | 51|4-13,165-174 8 | 63|5-16,200-211 9 | 74|6-19,237-250 -------------------------------------------------------------------------------- /data/MaxLife.txt: -------------------------------------------------------------------------------- 1 | 1|3-9 2 | 5|10-19 3 | 11|20-29 4 | 18|30-39 5 | 24|40-49 6 | 30|50-59 7 | 36|60-69 8 | 44|70-79 9 | 54|80-89 10 | 64|90-99 11 | 73|100-109 12 | 81|110-119 13 | -------------------------------------------------------------------------------- /data/SpellAddsCold_2H.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,3-4 2 | 11|8-10,15-18 3 | 18|12-16,23-27 4 | 26|16-22,33-38 5 | 33|21-27,41-48 6 | 42|26-34,52-60 7 | 51|31-41,62-73 8 | 62|38-50,75-88 9 | 74|45-60,89-104 -------------------------------------------------------------------------------- /data/SpellAddsFire_2H.txt: -------------------------------------------------------------------------------- 1 | 1|1-2,4-5 2 | 11|8-11,17-19 3 | 18|13-17,26-30 4 | 26|18-24,36-42 5 | 33|23-30,45-53 6 | 42|28-38,57-66 7 | 51|34-46,68-80 8 | 62|41-55,83-96 9 | 74|49-65,98-115 -------------------------------------------------------------------------------- /data/AddsFireDamage_2H.txt: -------------------------------------------------------------------------------- 1 | 1|3-4,5-6 2 | 11|12-16,23-27 3 | 18|18-24,36-42 4 | 26|25-34,50-59 5 | 33|32-42,63-74 6 | 42|40-53,79-92 7 | 51|48-64,95-111 8 | 62|58-77,115-134 9 | 74|68-91,137-160 -------------------------------------------------------------------------------- /data/ToMaxES_AmuletBelt.txt: -------------------------------------------------------------------------------- 1 | 3|1-3 2 | 11|4-8 3 | 17|9-12 4 | 23|13-15 5 | 29|16-19 6 | 35|20-22 7 | 42|23-26 8 | 50|27-31 9 | 59|32-37 10 | 68|38-43 11 | 74|44-47 12 | 80|48-51 13 | -------------------------------------------------------------------------------- /resources/AUTHORS.txt: -------------------------------------------------------------------------------- 1 | mcpower 2 | Immo 3 | olop4444 4 | Aeons 5 | kongyuyu 6 | Fayted 7 | Kislorod 8 | Necrolis 9 | riQQ 10 | D_S 11 | restoutlife 12 | TheFrequency 13 | esunder 14 | dein0s -------------------------------------------------------------------------------- /data/MaxLife_BodyArmour.txt: -------------------------------------------------------------------------------- 1 | 1|3-9 2 | 5|10-19 3 | 11|20-29 4 | 18|30-39 5 | 24|40-49 6 | 30|50-59 7 | 36|60-69 8 | 44|70-79 9 | 54|80-89 10 | 64|90-99 11 | 73|100-109 12 | 81|110-119 13 | 86|120-129 -------------------------------------------------------------------------------- /data/MaxMana_AmuletRing.txt: -------------------------------------------------------------------------------- 1 | 1|15-19 2 | 11|20-24 3 | 17|25-29 4 | 23|30-34 5 | 29|35-39 6 | 35|40-44 7 | 42|45-49 8 | 51|50-54 9 | 60|55-59 10 | 69|60-64 11 | 75|65-68 12 | 81|69-73 13 | 85|74-78 -------------------------------------------------------------------------------- /resources/tests/RunCurlTestPowershellScript.bat: -------------------------------------------------------------------------------- 1 | SET workDir=%~dp0 2 | start PowerShell -NoProfile -ExecutionPolicy UnRestricted -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy UnRestricted -File %workDir%\curl_test.ps1' -Verb RunAs}" -------------------------------------------------------------------------------- /lib/curlTimes.bat: -------------------------------------------------------------------------------- 1 | "%~dp0curl.exe" -w "@%~dp0curl-formats.txt" -o NUL -sLk "http://poe.trade" -A "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" 2 | "%~dp0curl.exe" -w "@%~dp0curl-formats.txt" -o NUL -sLk "https://poe.ninja/api/Data/GetCurrencyOverview?league=Standard" -A "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" 3 | -------------------------------------------------------------------------------- /lib/compileRelease.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | 3 | RunWait, ..\Run_TradeMacro.ahk -mergeonly 4 | While (!FileExist(A_ScriptDir "\..\_TradeMacroMain.ahk")) { 5 | Sleep, 500 6 | } 7 | 8 | SplitPath, A_AhkPath,, AhkDir 9 | RunWait %comspec% /c ""%AhkDir%"\Compiler\Ahk2Exe.exe /in "..\_TradeMacroMain.ahk" /out "..\release\Fallback.exe" /icon "..\resources\images\fb.ico"" 10 | 11 | /* 12 | fallbackExe := A_ScriptDir "..\release\Fallback.exe" 13 | RunWait %comspec% /c "git update-index --chmod=+x "%fallbackExe%"" 14 | */ 15 | ExitApp -------------------------------------------------------------------------------- /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | _TEMPLATE_ (Remove the explanations here from your post) 2 | 3 | Make sure: 4 | * That you have checked the Wiki/FAQ before creating any issue. 5 | * That poe.trade/GGG's website don't have any issues if loading the script takes too long or failes. 6 | 7 | Information to include: 8 | * AHK (including 32/64bit) version if you have any kind of script errors. 9 | * Windows version could be relevant. 10 | 11 | Fill out everything that may be relevant and remove everything except these informations below: 12 | 13 | AHK version: 14 | Windows version: 15 | -------------------------------------------------------------------------------- /data_trade/crafting_bases.txt: -------------------------------------------------------------------------------- 1 | Vaal Regalia 2 | Hubris Circlet 3 | Titanium Spirit Shield 4 | Astral Plate 5 | Steel Ring 6 | Opal Ring 7 | Vanguard belt 8 | Crystal Belt 9 | Marble Amulet 10 | Sorcerer Boots 11 | Royal Burgonet 12 | Eternal Burgonet 13 | Fingerless Silk Gloves 14 | Gripped Gloves 15 | Spiked Gloves 16 | Bone Helmet 17 | Blue Pearl Amulet 18 | Two-Toned Boots 19 | Ambusher 20 | Platinum Kris 21 | Coronal Maul 22 | Sorcerer Gloves 23 | Harbinger Bow 24 | Praetor Crown 25 | Saintly Chainmail 26 | Glorious Plate 27 | Fossilised Spirit Shield 28 | -------------------------------------------------------------------------------- /resources/default_UserFiles/CustomMacros/customMacros_example_dontOverwrite.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Custom macro main file. Don't delete it. Using and including this file is important. 3 | You need this file and the already defined hotkey label, especially if you want to execute any personal code outside of hotkey labels. 4 | 5 | **TLDR**: 6 | You can add your own code below, use the existing Label. 7 | View a formatted description/how to here -> https://github.com/PoE-TradeMacro/POE-TradeMacro/wiki/Custom-Macros . 8 | 9 | */ 10 | 11 | CM_ExecuteCustomMacrosCode_Label: 12 | 13 | Return -------------------------------------------------------------------------------- /data/TalismanTiers.txt: -------------------------------------------------------------------------------- 1 | Breakrib Talisman|1 2 | Ashscale Talisman|1 3 | Deep One Talisman|1 4 | Lone Antler Talisman|1 5 | Deadhand Talisman|1 6 | Bonespire Talisman|1 7 | Black Maw Talisman|1 8 | Undying Flesh Talisman|1 9 | Rot Head Talisman|1 10 | Fangjaw Talisman|2 11 | Avian Twins Talisman|2 12 | Splitnewt Talisman|2 13 | Hexclaw Talisman|2 14 | Wereclaw Talisman|2 15 | Clutching Talisman|2 16 | Primal Skull Talisman|2 17 | Monkey Twins Talisman|3 18 | Three Rat Talisman|3 19 | Longtooth Talisman|3 20 | Rotfeather Talisman|3 21 | Three Hands Talisman|3 22 | Spinefuse Talisman|3 23 | Monkey Paw Talisman|3 24 | Greatwolf Talisman |4 25 | -------------------------------------------------------------------------------- /lib/PoEScripts_RunAsAdmin.ahk: -------------------------------------------------------------------------------- 1 | PoEScripts_RunAsAdmin() { 2 | Loop, %0% ; For each parameter: 3 | { 4 | param := %A_Index% ; Fetch the contents of the variable whose name is contained in A_Index. 5 | params .= A_Space . param 6 | } 7 | ShellExecute := A_IsUnicode ? "shell32\ShellExecute":"shell32\ShellExecuteA" 8 | 9 | If not A_IsAdmin 10 | { 11 | If A_IsCompiled 12 | DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_ScriptFullPath, str, params , str, A_WorkingDir, int, 1) 13 | Else 14 | DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_AhkPath, str, """" . A_ScriptFullPath . """" . A_Space . params, str, A_WorkingDir, int, 1) 15 | ExitApp 16 | } 17 | } -------------------------------------------------------------------------------- /lib/PoEScripts_CompareUserFolderWithScriptFolder.ahk: -------------------------------------------------------------------------------- 1 | PoEScripts_CompareUserFolderWithScriptFolder(userPath, scriptPath, project, exit = true) { 2 | If (userPath = scriptPath) { 3 | action := exit ? "move/install" : "install" 4 | msg := "The " project " macro can't be run from the " project " user settings folder. Please " action " the macro to a different location." 5 | msg .= "`n`nInvalid location: `n " userPath 6 | msg .= exit ? "`n`nScript will be closed." : "" 7 | 8 | SplashTextOff 9 | SplashUI.DestroyUI() 10 | If (exit) { 11 | MsgBox, 16, Invalid %project% Script Location, % msg 12 | ExitApp 13 | } Else { 14 | Return msg 15 | } 16 | } 17 | Return 18 | } 19 | -------------------------------------------------------------------------------- /lib/clearWebHistoryAll.bat: -------------------------------------------------------------------------------- 1 | set /p "=* Internet Explorer... "|: 6 | ; Comments with semicolon. Blank lines will be ignored. 7 | ; Last updated (manually): 2017-01-21 8 | Exalted Orb|1:88.52 9 | Blessing of Tul|1:24.5 10 | Divine Orb|1:21 11 | Blessing of Xoph|1:20 12 | Master Cartographer's Sextant|1:6.25 13 | Splinter of Uul-Netol|1:2.8 14 | Journeyman Cartographer's Sextant|1:2.62 15 | Splinter of Tul|1:1.8 16 | Splinter of Esh|1:1.8 17 | Orb of Regret|1:1.4 18 | Gemcutter's Prism|1:1.17 19 | Vaal Orb|1:1 20 | Regal Orb|1.1:1 21 | Apprentice Cartographer's Sextant|1.22:1 22 | Orb of Scouring|1.41:1 23 | Splinter of Xoph|2.08:1 24 | Orb of Fusing|2.86:1 25 | Orb of Alchemy|3.33:1 26 | Cartographer's Chisel|3.33:1 27 | Orb of Chance|4.17:1 28 | Blessed Orb|4.55:1 29 | Silver Coin|8.33:1 30 | Jeweller's Orb|11.11:1 31 | Orb of Alteration|12.5:1 32 | Chromatic Orb|12.5:1 33 | Glassblower's Bauble|14.29:1 34 | Orb of Augmentation|50:1 35 | Perandus Coin|100:1 36 | Orb of Transmutation|100:1 37 | Portal Scroll|100:1 38 | Blacksmith's Whetstone|100:1 39 | Armourer's Scrap|100:1 40 | Mirror of Kalandra|18000:1 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Directories potentially created on remote AFP share 39 | .AppleDB 40 | .AppleDesktop 41 | Network Trash Folder 42 | Temporary Items 43 | .apdisk 44 | .idea/.name 45 | .idea/misc.xml 46 | .idea/encodings.xml 47 | .idea/modules.xml 48 | .idea/POE-ItemInfo.iml 49 | .idea/workspace.xml 50 | POE-ItemInfo.ahk.bak 51 | .idea/ 52 | 53 | *.bak 54 | main.ahk 55 | TradeMacroMain.ahk 56 | temp/* 57 | temp 58 | data_trade/leagues.json 59 | data_trade/old_data_files/ 60 | data_trade/backup/* 61 | backup/* 62 | backup/ 63 | test.ahk 64 | test.txt 65 | DebugFile.txt 66 | 67 | lib/node_modules 68 | lib/npm-debug.log.* 69 | *.orig 70 | release 71 | _TradeMacroMain.ahk 72 | _ItemInfoMain.ahk 73 | resources/tests/tempOutput/* 74 | data/lang/lang.json 75 | test2.ahk 76 | test3.ahk 77 | test4.ahk 78 | -------------------------------------------------------------------------------- /lib/curl-formats.txt: -------------------------------------------------------------------------------- 1 | \n time_namelookup: %{time_namelookup}s The time it took from the start until the name resolving was completed. 2 | \n time_connect: %{time_connect}s The time it took from the start until the TCP connect to the remote host (or proxy) was completed. 3 | \n time_appconnect: %{time_appconnect}s The time it took from the start until the SSL/SSH/etc connect/handshake to the remote host was completed. 4 | \n time_pretransfer: %{time_pretransfer}s The time it took from the start until the file transfer was just about to begin. 5 | \n time_redirect: %{time_redirect}s The time it took for all redirection steps including name lookup, connect, pretransfer and transfer before the final transaction was started. 6 | \n time_starttransfer: %{time_starttransfer}s The time it took from the start until the first byte was just about to be transferred. 7 | \n ---------- 8 | \n time_total: %{time_total}s The total time, in seconds, that the full operation lasted. 9 | \n 10 | \n http_code: %{http_code} 11 | \n http_connect: %{http_connect} 12 | \n num_redirects: %{num_redirects} 13 | \n size_download: %{size_download} 14 | \n speed_download: %{speed_download} average bytes/s 15 | \n url_effective: %{url_effective} 16 | \n content_type: %{content_type} 17 | \n\n 18 | https://curl.haxx.se/docs/manpage.html 19 | \n -------------------------------------------------------------------------------- /resources/tests/curl_test.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | EDIT variables if you need to bypass cloudflare (user agent and cookies are needed) 3 | http://www.wikihow.com/View-Cookies -> look for poe.trade cookies (__cfduid and cf_clearance values) 4 | 5 | Examples: 6 | 7 | $cfduid = "d411cdb0dd67231fb45f4bb4df8e2e3c91500243215" 8 | $cfClearance = "sasdasdjdfsgdf" 9 | #> 10 | $error.clear() 11 | $useragent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" 12 | $cfduid = "" 13 | $cfClearance = "" 14 | 15 | $workDir = split-path -parent $MyInvocation.MyCommand.Definition 16 | $outDir = "$workDir\tempOutput" 17 | $outFile = "$workDir\tempOutput\outresult.txt" 18 | 19 | If(!(Test-Path $outDir)) { 20 | New-Item -ItemType Directory -Force -Path $outDir 21 | } 22 | If (Test-Path $outFile){ 23 | Remove-Item $outFile 24 | } 25 | 26 | cd $workDir 27 | cd ..\.. 28 | cd lib 29 | $currentDir = Get-Location 30 | 31 | [Threading.Thread]::CurrentThread.CurrentUICulture = 'en-us'; & "$currentDir\curl.exe" -ILks -H "User-Agent: $useragent" -H "Cookie: __cfduid= $cfduid; cf_clearance= $cfClearance" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" -H "Accept-Encoding:gzip, deflate" -H "Accept-Language:de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4" -H "Connection:keep-alive" -H "Host:poe.trade" -H "Upgrade-Insecure-Requests:1" "http://poe.trade" | Tee-Object -Variable cmdOutput 32 | 33 | $cmdOutput | Out-File $outFile 34 | 35 | If($error) { 36 | $error | Add-Content $outFile 37 | Write-Host $error 38 | } 39 | 40 | Invoke-Item $outFile -------------------------------------------------------------------------------- /lib/PoEScripts_CheckCorrectClientLanguage.ahk: -------------------------------------------------------------------------------- 1 | PoEScripts_CheckCorrectClientLanguage() { 2 | iniPath := A_MyDocuments . "\My Games\Path of Exile\" 3 | configs := [] 4 | productionIni := iniPath . "production_Config.ini" 5 | betaIni := iniPath . "beta_Config.ini" 6 | 7 | configs.push(productionIni) 8 | configs.push(betaIni) 9 | If (not FileExist(productionIni) and not FileExist(betaIni)) { 10 | Loop %iniPath%\*.ini 11 | { 12 | configs.push(iniPath . A_LoopFileName) 13 | } 14 | } 15 | 16 | wrongLanguage := false 17 | readFile := "" 18 | For key, val in configs { 19 | IniRead, language, %val%, LANGUAGE, language 20 | If (language != "ERROR") { 21 | If (language != "en") { 22 | wrongLanguage := true 23 | } 24 | RegExMatch(val, "i)([^\\]+)\.[^\\]+$", readFile) 25 | Break 26 | } 27 | } 28 | 29 | If (wrongLanguage) { 30 | msg := "It seems that you aren't using 'English' as your game clients language, according to the file '" readFile "'." "`n`n" 31 | msg .= "As long as GGG doesn't add a way to get the items data in english when using different game clients, this script won't work with those languages." "`n`n" 32 | msg .= "Please change your language or click 'ignore' if you want to start the script anyway." 33 | 34 | MsgBox, 0x1012, Wrong PoE Game Client Language, % msg 35 | 36 | IfMsgBox, Ignore 37 | { 38 | Return 1 39 | } 40 | IfMsgBox, Retry 41 | { 42 | PoEScripts_CheckCorrectClientLanguage() 43 | } 44 | IfMsgBox, Cancel 45 | { 46 | Return 0 47 | } 48 | IfMsgBox, Abort 49 | { 50 | Return 0 51 | } 52 | } 53 | Return 1 54 | } -------------------------------------------------------------------------------- /Run_ItemInfo.ahk: -------------------------------------------------------------------------------- 1 | ; ##################################################################################################################### 2 | ; # This script checks if the right AHK version is installed and runs the ItemInfo merge script. 3 | ; ##################################################################################################################### 4 | 5 | versionFilePath := A_ScriptDir "\resources\Version.txt" 6 | FileRead, versionFile, %versionFilePath% 7 | error := ErrorLevel 8 | 9 | If (not StrLen(versionFile) or error) { 10 | If (RegExMatch(A_ScriptDir, "i)\.zip$")) { 11 | MsgBox, 16, PoE-ItemInfo - Critical error, % "You are trying to run PoE-ItemInfo from inside a zip-archive, please unzip the whole folder. `n`nClosing script..." 12 | ExitApp 13 | } Else { 14 | If (FileExist(versionFilePath)) { 15 | MsgBox, 16, PoE-ItemInfo - Critical error, % "Script couldn't find the file """ A_ScriptDir "\resources\VersionTrade.txt"". `n`nClosing script..." 16 | } Else { 17 | MsgBox, 16, PoE-ItemInfo - Critical error, % "Script couldn't read/access the file """ A_ScriptDir "\resources\VersionTrade.txt"". `n`nClosing script..." 18 | } 19 | ExitApp 20 | } 21 | } 22 | Else { 23 | RegExMatch(versionFile, "i)ReleaseVersion.*?:=.*?""(.*?)""", relV) 24 | ReleaseVersion := relV1 25 | RegExMatch(versionFile, "i)AHKVersionRequired.*?:=.*?""(.*?)""", reqV) 26 | AHKVersionRequired := reqV1 27 | } 28 | 29 | MsgWrongAHKVersion := "AutoHotkey v" . AHKVersionRequired . " or later is needed to run this script. It is important not to run version 2.x. or 1.0. `n`nYou are using AutoHotkey v" . A_AhkVersion . " (installed at: " . A_AhkPath . ")`n`nPlease go to http://ahkscript.org to download the most recent version." 30 | If (A_AhkVersion < AHKVersionRequired or A_AhkVersion >= "2.0.00.00" or A_AhkVersion < "1.1.00.00") 31 | { 32 | MsgBox, 16, Wrong AutoHotkey Version, % MsgWrongAHKVersion 33 | ExitApp 34 | } 35 | 36 | Run "%A_AhkPath%" "%A_ScriptDir%\resources\ahk\Merge_ItemInfo.ahk" "%A_ScriptDir%" 37 | ExitApp -------------------------------------------------------------------------------- /lib/PoEScripts_CreateTempFolder.ahk: -------------------------------------------------------------------------------- 1 | PoEScripts_CreateTempFolder(ScriptDir, project) { 2 | ; make sure the script directory is not set to read only 3 | FileSetAttrib, -R, %ScriptDir%, 1 4 | ; make sure no other file in the script directory is set to read only 5 | FileSetAttrib, -R, %ScriptDir%\*.*, 1 6 | ; recreate temp folder 7 | FileRemoveDir, %ScriptDir%\temp, 1 8 | FileCreateDir, %ScriptDir%\temp 9 | 10 | StringTrimLeft, pathNoDrive, ScriptDir, 3 11 | userFolder := "Users\" A_UserName "\" 12 | isInUserFolder := InStr(pathNoDrive, userFolder) 13 | 14 | While !FileExist(ScriptDir "\temp") { 15 | Sleep, 100 16 | FileCreateDir, %ScriptDir%\temp 17 | CreateError := ErrorLevel 18 | ; make sure the temp folder is not read only 19 | FileSetAttrib, -R, %ScriptDir%\temp, 1 20 | 21 | If (CreateError or !FileExist(ScriptDir "\temp")) { 22 | msg := "Directory " ScriptDir "\temp could not be created.`n`n" 23 | msg .= isInUserFolder ? "It seems you're running the script from inside your windows user folder. Windows asking you for admin privileges or simply not having them can interfere with the script in this case.`n`n" : "" 24 | msg .= "You can try again a few times, confirm admin privileges if asked or try running this file as administrator (right-click to open context menu).`n`n" 25 | msg .= "You can also move the script location to somewhere else on your pc, for example " A_ProgramFiles ". This should solve all issues and is considered the best solution." 26 | msg .= "`n`nPlease also check if" ScriptDir "or " ScriptDir "\temp are set to read-only. This shouldn't be the case and will cause the script to fail." 27 | 28 | MsgBox, 5, %project%, % msg 29 | IfMsgBox, Cancel 30 | { 31 | SplashUI.DestroyUI() 32 | SplashTextOn, , 20, %project%, Exiting script... 33 | Sleep, 2000 34 | SplashTextOff 35 | Return False 36 | } 37 | } 38 | Else { 39 | Return True 40 | } 41 | } 42 | 43 | ; make sure the temp folder is not read only 44 | FileSetAttrib, -R, %ScriptDir%\temp, 1 45 | Return True 46 | } -------------------------------------------------------------------------------- /data_trade/glove_enchantment_mods.txt: -------------------------------------------------------------------------------- 1 | Trigger Word of Blades on Hit 2 | Trigger Edict of Blades on Hit 3 | Trigger Decree of Blades on Hit 4 | Trigger Commandment of Blades on Hit 5 | Trigger Word of Flames on Hit 6 | Trigger Edict of Flames on Hit 7 | Trigger Decree of Flames on Hit 8 | Trigger Commandment of Flames on Hit 9 | Trigger Word of Force on Hit 10 | Trigger Edict of Force on Hit 11 | Trigger Decree of Force on Hit 12 | Trigger Commandment of Force on Hit 13 | Trigger Word of Frost on Kill 14 | Trigger Edict of Frost on Kill 15 | Trigger Decree of Frost on Kill 16 | Trigger Commandment of Frost on Kill 17 | Trigger Word of Fury on Hit 18 | Trigger Edict of Fury on Hit 19 | Trigger Decree of Fury on Hit 20 | Trigger Commandment of Fury on Hit 21 | Trigger Word of Inferno on Kill 22 | Trigger Edict of Inferno on Kill 23 | Trigger Decree of Inferno on Kill 24 | Trigger Commandment of Inferno on Kill 25 | Trigger Word of Ire when Hit 26 | Trigger Edict of Ire when Hit 27 | Trigger Decree of Ire when Hit 28 | Trigger Commandment of Ire when Hit 29 | Trigger Word of Light when you take a Critical Strike 30 | Trigger Edict of Light when you take a Critical Strike 31 | Trigger Decree of Light when you take a Critical Strike 32 | Trigger Commandment of Light when you take a Critical Strike 33 | Trigger Word of Reflection when Hit 34 | Trigger Edict of Reflection when Hit 35 | Trigger Decree of Reflection when Hit 36 | Trigger Commandment of Reflection when Hit 37 | Trigger Word of Spite when Hit 38 | Trigger Edict of Spite when Hit 39 | Trigger Decree of Spite when Hit 40 | Trigger Commandment of Spite when Hit 41 | Trigger Word of the Tempest on Hit 42 | Trigger Edict of the Tempest on Hit 43 | Trigger Decree of the Tempest on Hit 44 | Trigger Commandment of the Tempest on Hit 45 | Trigger Word of the Grave when your Skills or Minions Kill 46 | Trigger Edict of the Grave when your Skills or Minions Kill 47 | Trigger Decree of the Grave when your Skills or Minions Kill 48 | Trigger Commandment of the Grave when your Skills or Minions Kill 49 | Trigger Word of Thunder on Kill 50 | Trigger Edict of Thunder on Kill 51 | Trigger Decree of Thunder on Kill 52 | Trigger Commandment of Thunder on Kill 53 | Trigger Word of War on Kill 54 | Trigger Edict of War on Kill 55 | Trigger Decree of War on Kill 56 | Trigger Commandment of War on Kill 57 | Trigger Word of Winter when Hit 58 | Trigger Edict of Winter when Hit 59 | Trigger Decree of Winter when Hit 60 | Trigger Commandment of Winter when Hit -------------------------------------------------------------------------------- /Run_TradeMacro.ahk: -------------------------------------------------------------------------------- 1 | ; ##################################################################################################################### 2 | ; # This script checks if the right AHK version is installed and runs the TradeMacro merge script. 3 | ; ##################################################################################################################### 4 | #SingleInstance, Force 5 | #NoEnv 6 | SetWorkingDir, %A_ScriptDir% 7 | 8 | versionFilePath := A_ScriptDir "\resources\VersionTrade.txt" 9 | FileRead, versionFile, %versionFilePath% 10 | error := ErrorLevel 11 | 12 | If (not StrLen(versionFile) or error) { 13 | If (RegExMatch(A_ScriptDir, "i)\.zip$")) { 14 | MsgBox, 16, PoE-TradeMacro - Critical error, % "You are trying to run PoE-TradeMacro from inside a zip-archive, please unzip the whole folder. `n`nClosing script..." 15 | ExitApp 16 | } Else { 17 | If (not FileExist(versionFilePath)) { 18 | MsgBox, 16, PoE-TradeMacro - Critical error, % "Script couldn't find the file """ A_ScriptDir "\resources\VersionTrade.txt"". `n`nClosing script..." 19 | } Else { 20 | msg := "Script couldn't read/access the file """ A_ScriptDir "\resources\VersionTrade.txt"". " 21 | msg .= "`n" "Try running this script as admin if you haven't done so already." 22 | msg .= "`n`n" "This could also be caused by some other application blocking AHK from reading the file, like your security suite or some application that snycs the drive/folder that the macro is located in." 23 | msg .= "`n`n" "Closing script..." 24 | MsgBox, 16, PoE-TradeMacro - Critical error, % msg 25 | } 26 | ExitApp 27 | } 28 | } 29 | Else { 30 | RegExMatch(versionFile, "i)TradeReleaseVersion.*?:=.*?""(.*?)""", relV) 31 | TradeReleaseVersion := relV1 32 | RegExMatch(versionFile, "i)TradeAHKVersionRequired.*?:=.*?""(.*?)""", reqV) 33 | TradeAHKVersionRequired := reqV1 34 | } 35 | 36 | TradeMsgWrongAHKVersion := "AutoHotkey v" . TradeAHKVersionRequired . " or later is needed to run this script. It is important not to run version 2.x. or 1.0. `n`nYou are using AutoHotkey v" . A_AhkVersion . " (installed at: " . A_AhkPath . ")`n`nPlease go to http://ahkscript.org to download the most recent version." 37 | If (A_AhkVersion < TradeAHKVersionRequired or A_AhkVersion >= "2.0.00.00" or A_AhkVersion < "1.1.00.00") 38 | { 39 | MsgBox, 16, Wrong AutoHotkey Version, % TradeMsgWrongAHKVersion 40 | ExitApp 41 | } 42 | 43 | arguments := "" 44 | Loop, %0% ; For each parameter 45 | { 46 | arguments .= " " %A_Index% 47 | } 48 | 49 | Run "%A_AhkPath%" "%A_ScriptDir%\resources\ahk\Merge_TradeMacro.ahk" "%A_ScriptDir%" %arguments% 50 | ExitApp -------------------------------------------------------------------------------- /lib/IEComObjectTestCall.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | 3 | userFolderPath = %1% 4 | 5 | ; don't use the fallback if it was completed successfully once 6 | ; 7 | global Fallback := True 8 | global wb1 := 9 | global wb2 := 10 | If (FileExist(userFolderPath "\IEComObjectCall.txt")) { 11 | Fallback := False 12 | } 13 | 14 | url := "https://poe-trademacro.github.io/userCount/index.html" 15 | killIElowutil := false 16 | Try { 17 | ;killIElowutil := CheckForRunningIElowutil() 18 | wb1 := ComObjCreate("InternetExplorer.Application") 19 | wb1.Visible := False 20 | wb1.Navigate(url) 21 | IELoad(wb1, loaded, userFolderPath) 22 | } Catch error { 23 | If (Fallback) { 24 | Try { 25 | wb2 := ComObjCreate("InternetExplorer.Application") 26 | wb2.Visible := True 27 | wb2.Navigate(url) 28 | IELoad(wb2, loaded, userFolderPath, true) 29 | } Catch e { 30 | CleanIE() 31 | } 32 | } 33 | } 34 | 35 | If (killIElowutil) { 36 | DetectHiddenWindows, On 37 | SetTitleMatchMode, 2 38 | 39 | Process, Exist, ielowutil.exe ; Sets errorlevel to process PID 40 | pid := ErrorLevel 41 | Process, Close, %pid% 42 | Process, Close, ielowutil.ex 43 | WinClose, % "ahk_pid " pid 44 | WinKill, % "ahk_pid " pid 45 | } 46 | 47 | CleanIE() { 48 | Try { 49 | wb1.Quit 50 | wb2.Quit 51 | } Catch e { 52 | 53 | } 54 | ExitApp 55 | } 56 | 57 | CheckForRunningIElowutil() { 58 | DetectHiddenWindows, On 59 | SetTitleMatchMode, 2 60 | Loop 61 | { 62 | Process, Exist, ielowutil.exe ; Sets errorlevel to process PID 63 | pid := ErrorLevel 64 | IfWinNotExist, % "ahk_pid " pid ; Expression for ahk_pid 65 | { 66 | Return 0 67 | } 68 | IfWinExist, % "ahk_pid " pid ; Expression for ahk_pid 69 | { 70 | Return 1 71 | } 72 | } 73 | } 74 | 75 | IELoad(wb, ByRef loaded = false, path = "", visible = false) ;You need to send the IE handle to the function unless you define it as global. 76 | { 77 | i := 0 78 | If !wb ;If wb is not a valid pointer then quit 79 | Return False 80 | Loop 81 | { 82 | Sleep,100 83 | Try { 84 | loaded := wb.Document.getElementById("loaded").innerHTML = "Loaded." ? true : false 85 | } catch e { 86 | 87 | } 88 | Try { 89 | ready := wb.Document.Readystate 90 | } catch a { 91 | 92 | } 93 | i++ 94 | } 95 | Until ((ready = "Complete" and loaded or i = 2000)) 96 | 97 | If (loaded and not FileExist(path "\IEComObjectCall.txt")) { 98 | FileAppend, true, %path%\IEComObjectCall.txt 99 | Fallback := False 100 | CleanIE() 101 | } 102 | If (not Fallback or (Fallback and not visible)) { 103 | CleanIE() 104 | } 105 | 106 | Return True 107 | } -------------------------------------------------------------------------------- /lib/zip.ahk: -------------------------------------------------------------------------------- 1 | /* 2 | Extract2Folder(Zip, Dest="", Filename="") 3 | 4 | Extract contents of a zip file to a folder using Windows Shell 5 | Based on code by shajul 6 | (http://www.autohotkey.com/board/topic/60706-native-zip-and-unzip-xpvista7-ahk-l/) 7 | 8 | Parameters 9 | Zip (required) 10 | If no path is specified then Zip is assumed to be in the Script Folder 11 | Dest (optional) 12 | Name of folder to extract to 13 | If not specified, a folder based on the Zip name is created in the Script Folder 14 | If a full path is not specified, then the specified folder is created in the Script Folder 15 | Filename (optional) 16 | Name of file to extract 17 | If not specified, the entire contents of Zip are extracted 18 | Only works for files in the root folder of Zip 19 | Wildcards not allowed 20 | 21 | Example usage: 22 | Extract2Folder("Test.zip") 23 | Extracts entire contents of Test.zip to a folder named 'Test' in the Script Folder 24 | The 'Test' folder will be created if it doesn't exist 25 | 26 | Extract2Folder("Test.zip",, "MyFile.txt") 27 | Extracts 'MyFile.txt' from the root folder of Test.zip to a folder named 'Test' in the Script Folder 28 | The 'Test' folder will be created if it doesn't exist 29 | 30 | Extract2Folder("Test.zip", "AnotherTest", "MyOtherFile.txt") 31 | Extracts 'MyOtherFile.txt' from the root folder of Test.zip to a folder named 'AnotherTest' in the Script Folder 32 | The 'AnotherTest' folder will be created if it doesn't exist 33 | 34 | Jess Harpur 2013 35 | It works for me on Windows 7 Home Premium SP1 64bit 36 | If it doesn't work for you, feel free to alter the code! 37 | */ 38 | Extract2Folder(Zip, Dest="", Filename="") 39 | { 40 | SplitPath, Zip,, SourceFolder 41 | if ! SourceFolder 42 | Zip := A_ScriptDir . "\" . Zip 43 | 44 | if ! Dest { 45 | SplitPath, Zip,, DestFolder,, Dest 46 | Dest := DestFolder . "\" . Dest . "\" 47 | } 48 | if SubStr(Dest, 0, 1) <> "\" 49 | Dest .= "\" 50 | SplitPath, Dest,,,,,DestDrive 51 | if ! DestDrive 52 | Dest := A_ScriptDir . "\" . Dest 53 | 54 | fso := ComObjCreate("Scripting.FileSystemObject") 55 | If Not fso.FolderExists(Dest) ;http://www.autohotkey.com/forum/viewtopic.php?p=402574 56 | fso.CreateFolder(Dest) 57 | 58 | AppObj := ComObjCreate("Shell.Application") 59 | FolderObj := AppObj.Namespace(Zip) 60 | if Filename { 61 | FileObj := FolderObj.ParseName(Filename) 62 | AppObj.Namespace(Dest).CopyHere(FileObj, 4|16) 63 | } 64 | else 65 | { 66 | FolderItemsObj := FolderObj.Items() 67 | AppObj.Namespace(Dest).CopyHere(FolderItemsObj, 4|16) 68 | } 69 | } -------------------------------------------------------------------------------- /lib/CalcChecksum.ahk: -------------------------------------------------------------------------------- 1 | HashFile(filePath,hashType=2) ; By Deo, http://www.autohotkey.com/forum/viewtopic.php?t=71133 2 | { 3 | PROV_RSA_AES := 24 4 | CRYPT_VERIFYCONTEXT := 0xF0000000 5 | BUFF_SIZE := 1024 * 1024 ; 1 MB 6 | HP_HASHVAL := 0x0002 7 | HP_HASHSIZE := 0x0004 8 | 9 | HASH_ALG := (hashType = 1 OR hashType = "MD2") ? (CALG_MD2 := 32769) : HASH_ALG 10 | HASH_ALG := (hashType = 2 OR hashType = "MD5") ? (CALG_MD5 := 32771) : HASH_ALG 11 | HASH_ALG := (hashType = 3 OR hashType = "SHA") ? (CALG_SHA := 32772) : HASH_ALG 12 | HASH_ALG := (hashType = 4 OR hashType = "SHA256") ? (CALG_SHA_256 := 32780) : HASH_ALG ;Vista+ only 13 | HASH_ALG := (hashType = 5 OR hashType = "SHA384") ? (CALG_SHA_384 := 32781) : HASH_ALG ;Vista+ only 14 | HASH_ALG := (hashType = 6 OR hashType = "SHA512") ? (CALG_SHA_512 := 32782) : HASH_ALG ;Vista+ only 15 | 16 | f := FileOpen(filePath,"r","CP0") 17 | if !IsObject(f) 18 | return 0 19 | if !hModule := DllCall( "GetModuleHandleW", "str", "Advapi32.dll", "Ptr" ) 20 | hModule := DllCall( "LoadLibraryW", "str", "Advapi32.dll", "Ptr" ) 21 | if !dllCall("Advapi32\CryptAcquireContextW" 22 | ,"Ptr*",hCryptProv 23 | ,"Uint",0 24 | ,"Uint",0 25 | ,"Uint",PROV_RSA_AES 26 | ,"UInt",CRYPT_VERIFYCONTEXT ) 27 | Gosub,HashTypeFreeHandles 28 | 29 | if !dllCall("Advapi32\CryptCreateHash" 30 | ,"Ptr",hCryptProv 31 | ,"Uint",HASH_ALG 32 | ,"Uint",0 33 | ,"Uint",0 34 | ,"Ptr*",hHash ) 35 | Gosub, HashTypeFreeHandles 36 | 37 | VarSetCapacity(read_buf,BUFF_SIZE,0) 38 | 39 | hCryptHashData := DllCall("GetProcAddress", "Ptr", hModule, "AStr", "CryptHashData", "Ptr") 40 | While (cbCount := f.RawRead(read_buf, BUFF_SIZE)) 41 | { 42 | if (cbCount = 0) 43 | break 44 | 45 | if !dllCall(hCryptHashData 46 | ,"Ptr",hHash 47 | ,"Ptr",&read_buf 48 | ,"Uint",cbCount 49 | ,"Uint",0 ) 50 | Gosub, HashTypeFreeHandles 51 | } 52 | 53 | if !dllCall("Advapi32\CryptGetHashParam" 54 | ,"Ptr",hHash 55 | ,"Uint",HP_HASHSIZE 56 | ,"Uint*",HashLen 57 | ,"Uint*",HashLenSize := 4 58 | ,"UInt",0 ) 59 | Gosub, HashTypeFreeHandles 60 | 61 | VarSetCapacity(pbHash,HashLen,0) 62 | if !dllCall("Advapi32\CryptGetHashParam" 63 | ,"Ptr",hHash 64 | ,"Uint",HP_HASHVAL 65 | ,"Ptr",&pbHash 66 | ,"Uint*",HashLen 67 | ,"UInt",0 ) 68 | Gosub, HashTypeFreeHandles 69 | 70 | SetFormat,integer,Hex 71 | loop,%HashLen% 72 | { 73 | num := numget(pbHash,A_index-1,"UChar") 74 | hashval .= substr((num >> 4),0) . substr((num & 0xf),0) 75 | } 76 | SetFormat,integer,D 77 | 78 | HashTypeFreeHandles: 79 | f.Close() 80 | DllCall("FreeLibrary", "Ptr", hModule) 81 | dllCall("Advapi32\CryptDestroyHash","Ptr",hHash) 82 | dllCall("Advapi32\CryptReleaseContext","Ptr",hCryptProv,"UInt",0) 83 | return hashval 84 | } -------------------------------------------------------------------------------- /lib/AssociatedProgram.ahk: -------------------------------------------------------------------------------- 1 | ;-- Function: AssociatedProgram 2 | ;-- Description: Returns the full path of the program (if any) associated to 3 | ; a file extension (p_FileExt). 4 | ;-- Original author: TheGood 5 | ; http://www.autohotkey.com/forum/viewtopic.php?p=363558#363558 6 | ;-- Modified by: Eruyome 7 | ;-- Programming note: AssocQueryStringA is never called because it returns 8 | ; invalid results on Windows XP. 9 | AssociatedProgram(p_FileExt) { 10 | program := "" 11 | ext := p_FileExt 12 | Static ASSOCSTR_EXECUTABLE:=2 13 | 14 | ;-- Workaround for AutoHotkey Basic 15 | PtrType:=A_PtrSize ? "Ptr":"UInt" 16 | 17 | ;-- File extension 18 | if SubStr(p_FileExt,1,1)<>"." 19 | p_FileExt:="." . p_FileExt ;-- Prepend dot 20 | 21 | ;-- If needed, convert file extension to Unicode 22 | l_FileExtW:=p_FileExt 23 | if not A_IsUnicode 24 | { 25 | nSize:=StrLen(p_FileExt)+1 ;-- Size in chars including terminating null 26 | VarSetCapacity(l_FileExtW,nSize*2) ;-- Size in bytes 27 | DllCall("MultiByteToWideChar","UInt",0,"UInt",0,PtrType,&p_FileExt,"Int",-1,PtrType,&l_FileExtW,"Int",nSize) 28 | } 29 | 30 | ;-- Get the full path to the program 31 | VarSetCapacity(l_EXENameW,65536,0) ;-- Size allows for 32K characters 32 | DllCall("shlwapi.dll\AssocQueryStringW" 33 | ,"UInt",0 ;-- ASSOCF flags 34 | ,"UInt",ASSOCSTR_EXECUTABLE ;-- ASSOCSTR flags 35 | ,PtrType,&l_FileExtW ;-- pszAssoc (file extension used) 36 | ,PtrType,0 ;-- pszExtra (not used) 37 | ,PtrType,&l_EXENameW ;-- pszOut (output string) 38 | ,PtrType . "*",65536) ;-- pcchOut (len of the output string) 39 | 40 | ;-- If needed, convert result back to ANSI 41 | if A_IsUnicode 42 | program := l_EXENameW 43 | else { 44 | nSize:=DllCall("WideCharToMultiByte","UInt",0,"UInt",0,PtrType,&l_EXENameW,"Int",-1,PtrType,0,"Int",0,PtrType,0,PtrType,0) 45 | ;-- Returns the number of bytes including the terminating null 46 | 47 | VarSetCapacity(l_EXEName,nSize) 48 | DllCall("WideCharToMultiByte","UInt",0,"UInt",0,PtrType,&l_EXENameW,"Int",-1,PtrType,&l_EXEName,"Int",nSize,PtrType,0,PtrType,0) 49 | program := l_EXEName 50 | } 51 | 52 | app1 := AssocQueryApp(ext) 53 | app2 := DefaultProgramUserChoice(ext) 54 | app := (app2 and app1 != app2) ? app2 : app1 55 | program := (program != app) ? app : program 56 | 57 | Return program 58 | } 59 | 60 | AssocQueryApp(ext) { 61 | RegRead, type, HKCR, .%ext% 62 | RegRead, act , HKCR, %type%\shell 63 | If ErrorLevel 64 | act = open 65 | RegRead, cmd , HKCR, %type%\shell\%act%\command 66 | app := Trim(RegExReplace(cmd, """(.*?)"".*","$1")) 67 | Return, app 68 | } 69 | 70 | DefaultProgramUserChoice(ext) { 71 | ; Find the Registry key name for the default browser 72 | Try { 73 | RegRead, AppKeyName, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%ext%\UserChoice, Progid 74 | 75 | ; Find the executable command associated with the above Registry key 76 | RegRead, AppFullCommand, HKEY_CLASSES_ROOT, %AppKeyName%\shell\open\command 77 | 78 | ; The above RegRead will return the path and executable name of the application contained within quotes and optional parameters 79 | ; We only want the text contained inside the first set of quotes which is the path and executable 80 | ; Find the ending quote position (we know the beginning quote is in position 0 so start searching at position 1) 81 | StringGetPos, pos, AppFullCommand, ",,1 82 | 83 | ; Decrement the found position by one to work correctly with the StringMid function 84 | pos := --pos 85 | 86 | ; Extract and return the path and executable of the browser 87 | StringMid, AppPathandEXE, AppFullCommand, 2, %pos% 88 | } Catch e { 89 | 90 | } 91 | Return AppPathandEXE 92 | } -------------------------------------------------------------------------------- /lib/Class_SplashUI.ahk: -------------------------------------------------------------------------------- 1 | class SplashUI 2 | { 3 | __New(params*) 4 | { 5 | c := params.MaxIndex() 6 | If (c > 6) { 7 | throw "Too many parameters passed to SplashUI.New()" 8 | } 9 | 10 | ; set defaults 11 | this.state := (params[1] = "" or not params[1]) ? "on" : params[1] 12 | this.title := (params[2] = "" or not params[2]) ? "Splash Screen" : params[2] 13 | this.message := (params[3] = "" or not params[3]) ? "Initializing script" : params[3] 14 | this.submessage := (params[4] = "" or not params[4]) ? "" : params[4] 15 | this.scriptVersion := (params[5] = "" or not params[5]) ? "" : params[5] 16 | this.borderImage := (params[6] = "" or not params[6]) ? "" : params[6] 17 | 18 | ; initialize 19 | this.CreateUI() 20 | } 21 | 22 | CreateUI() { 23 | Global SplashMessage, SplashSubMessage 24 | 25 | ;Destroy GUIs in case they still exist 26 | Gui, SplashUI:Destroy 27 | 28 | Gui, SplashUI:New, +Border -resize -SysMenu -Caption +HwndSplashHwnd 29 | Gui, SplashUI:Margin, 10, 2 30 | Gui, SplashUI:Color, FFFFFF, 000000 31 | 32 | Gui, SplashUI:Add, Progress, w900 h28 x0 y0 c505256 Background505256 33 | 34 | Gui, SplashUI:Font, s12 cFFFFFF bold, Verdana 35 | Gui, SplashUI:Add, Text, x10 y5 h20 w450 +Center BackgroundTrans, % this.title 36 | Gui, SplashUI:Font, s7 cFFFFFF norm, Verdana 37 | Gui, SplashUI:Add, Text, x+-90 yp+6 h20 w90 +Right BackgroundTrans, % this.scriptVersion 38 | 39 | Gui, SplashUI:Font, s10 c000000, Verdana 40 | Gui, SplashUI:Add, Text, x10 y+5 w450 +Center BackgroundTrans vSplashMessage, % this.message 41 | 42 | Gui, SplashUI:Font, s8 c000000, Consolas 43 | Gui, SplashUI:Add, Text, x10 y+10 w450 r4 +Left BackgroundTrans vSplashSubMessage, % StrLen(this.submessage) ? "- " this.submessage : this.submessage 44 | 45 | Gui, SplashUI:Font, s7 c000000, Verdana 46 | Gui, SplashUI:Add, Text, x10 y+5 h20 w450 +Right BackgroundTrans, % "AHK v" . A_AHKVersion 47 | 48 | Gui, SplashUI:+LastFound 49 | Gui, SplashUI:Show, Center w470 NA, % this.title 50 | 51 | WinGetPos, _TTX, _TTY, _TTW, _TTH, ahk_id %SplashHwnd% 52 | image := this.borderImage 53 | If (FileExist(image)) { 54 | WinGetPos, _TTX, _TTY, _TTW, _TTH, ahk_id %SplashHwnd% 55 | 56 | Gui, SplashUI:Add, Picture, w1000 h1 x0 y0, %image% 57 | Gui, SplashUI:Add, Picture, w1000 h1 x0 y0, %image% 58 | 59 | Gui, SplashUI:Add, Picture, w1 h1000 x0 y0, %image% 60 | Gui, SplashUI:Add, Picture, w1 h1000 x0 y0, %image% 61 | 62 | _TTH := _TTH -1 63 | _TTW := _TTW -1 64 | Gui, SplashUI:Add, Picture, w1000 h1 x0 y%_TTH%, %image% 65 | Gui, SplashUI:Add, Picture, w1000 h1 x0 y%_TTH%, %image% 66 | 67 | Gui, SplashUI:Add, Picture, w1 h1000 x%_TTW% y1, %image% 68 | Gui, SplashUI:Add, Picture, w1 h1000 x%_TTW% y1, %image% 69 | } 70 | 71 | If (state = "off") { 72 | Gui, SplashUI:Show, Hide 73 | } 74 | } 75 | 76 | ShowUI() { 77 | this.state := "on" 78 | If (this.state = "dead") { 79 | this.CreateUI() 80 | } Else { 81 | Gui, SplashUI:Show 82 | } 83 | } 84 | 85 | HideUI() { 86 | Gui, SplashUI:Show, Hide 87 | this.state := "off" 88 | } 89 | 90 | DestroyUI() { 91 | Gui, SplashUI:Destroy 92 | this.state := "dead" 93 | } 94 | 95 | SetMessage(message) { 96 | this.message := message 97 | GuiControl,,SplashMessage, % this.message 98 | Sleep, 1 ; add a small sleep to prevent text field overlapping caused by too fast updates 99 | } 100 | SetSubMessage(message) { 101 | If (StrLen(message)) { 102 | this.submessage := StrLen(this.submessage) ? this.submessage "`n" : "" 103 | this.submessage .= "- " message 104 | } Else { 105 | this.submessage := this.submessage "`n" "" 106 | } 107 | 108 | arr := StrSplit(this.submessage, "`n") 109 | mI := arr.MaxIndex() 110 | If (mI > 3) { 111 | this.submessage := Trim(arr[mI - 2] "`n" arr[mI - 1] "`n" arr[mI]) 112 | } 113 | 114 | GuiControl,,SplashSubMessage, % this.submessage 115 | Sleep, 1 ; add a small sleep to prevent text field overlapping caused by too fast updates 116 | } 117 | } -------------------------------------------------------------------------------- /resources/default_UserFiles/config_trade.ini: -------------------------------------------------------------------------------- 1 | [General] 2 | ShowItemResults=15 3 | ; Number of Items shown as search result; defaults to 15 if not set. 4 | ShowUpdateNotifications=1 5 | ; Defaults to 1 (show) if not set. 0 = hide 6 | OpenWithDefaultWin10Fix=0 7 | ; If your PC asks you what program to use to open the wiki-link, set this to 1 to let ahk find your default program from registry 8 | ShowAccountName=1 9 | ; Show also sellers account name in the results window, 1 = show; 0 = hide 10 | BrowserPath= 11 | CopyUrlToClipboard=0 12 | OpenUrlsOnEmptyItem=0 13 | DownloadDataFiles=1 14 | DeleteCookies=0 15 | CookieSelect=All 16 | UseGZip=1 17 | UpdateSkipSelection=0 18 | UpdateSkipBackup=0 19 | KeyToSCState=0 20 | ; 1 = scan codes, 0 = virtual key codes 21 | WikiAlternative=0 22 | CurlTimeout=25 23 | 24 | [Debug] 25 | Debug=0 26 | 27 | [Hotkeys] 28 | ; see http://www.autohotkey.com/docs/Hotkeys.htm for hotkey options 29 | PriceCheck=!d 30 | PriceCheck_alt=^d 31 | ; Defaults to alt + d if not set. 32 | AdvancedPriceCheck=!+d 33 | AdvancedPriceCheck_alt=+^d 34 | ; Defaults to alt + shift + d if not set. 35 | OpenWiki=!w 36 | OpenWiki_alt=^w 37 | ; Defaults to alt + w if not set. 38 | CustomInputSearch=!i 39 | CustomInputSearch_alt=^i 40 | ; Defaults to alt + i if not set. 41 | OpenSearchOnPoeTrade=!q 42 | OpenSearchOnPoeTrade_alt=^q 43 | ; Defaults to alt + q if not set 44 | ShowItemAge=!e 45 | ShowItemAge_alt=^e 46 | ; Defaults to alt + e if not set 47 | ChangeLeague=!l 48 | ChangeLeague_alt=^l 49 | ; Defaults to alt + o if not set 50 | OpenSearchOnPoEApp=!+q 51 | OpenSearchOnPoEApp_alt=+^q 52 | ; Defaults to alt + shift + q if not set 53 | SetCurrencyRatio=!r 54 | SetCurrencyRatio_alt=!r 55 | ; Defaults to alt + r if not set 56 | 57 | [HotkeyStates] 58 | PriceCheck=1 59 | AdvancedPriceCheck=1 60 | OpenWiki=1 61 | CustomInputSearch=1 62 | OpenSearchOnPoeTrade=1 63 | OpenSearchOnPoEApp=1 64 | ShowItemAge=1 65 | ChangeLeague=1 66 | SetCurrencyRatio=1 67 | 68 | [Search] 69 | AlternativeSearch=0 70 | PoENinjaSearch=0 71 | AccountName= 72 | SearchLeague=tmpstandard 73 | ; Defaults to "standard" or "tmpstandard" if there is a Temp-League active at the time of script execution. 74 | ; "tmpstandard" and "tmphardcore" are automatically replaced with their permanent counterparts if no Temp-League is active. 75 | ; Possible values: 76 | ; "tmpstandard" (current SC Temp-League) 77 | ; "tmphardcore" (current HC Temp-League) 78 | ; "standard", 79 | ; "hardcore" 80 | GemLevel=16 81 | ; Gem level is ignored in the search unless it's equal or higher than this value; defaults to 16 82 | ; Set to something like 30 to completely ignore the level. 83 | GemLevelRange=0 84 | GemQualityRange=0 85 | ; Use this to set a range to quality Gem searches; for example a range of 1 searches 14% - 16% when you have a 15% Quality Gem. 86 | ; Setting it to 0 (default) uses your Gems quality as min_quality without max_quality in your search. 87 | UseGemXP=0 88 | GemXPThreshold=70 89 | OnlineOnly=1 90 | BuyoutOnly=1 91 | ; 1 = search online only; 0 = search offline, too. 92 | Corrupted=Either 93 | ; yes, no, either; This setting gets ignored when you use the search on corrupted items. 94 | CorruptedOverride=0 95 | ; enables the corrupted search option selected by the user, otherwise a hardcoded default is being used. 96 | AdvancedSearchModValueRangeMin=20 97 | AdvancedSearchModValueRangeMax=20 98 | ShowPricesAsChaosEquiv=0 99 | ExactCurrencySearch=0 100 | PrefillMinValue=1 101 | PrefillMaxValue=1 102 | CurrencySearchHave=Chaos Orb 103 | CurrencySearchHave2=Exalted Orb 104 | ForceMaxLinks=1 105 | AlternativeCurrencySearch=0 106 | AdvancedSearchCheckMods=0 107 | AdvancedSearchCheckTotalEleRes=0 108 | AdvancedSearchCheckTotalLife=0 109 | AdvancedSearchCheckPDPS=0 110 | AdvancedSearchCheckEDPS=0 111 | AdvancedSearchCheckTotalES=0 112 | AdvancedSearchCheckES=0 113 | AdvancedSearchCheckILVL=0 114 | AdvancedSearchCheckBase=0 115 | RemoveMultipleListingsFromSameAccount=1 116 | UsePredictedItemPricing=1 117 | ; Uses poeprices.info pricing (via machine-learning). 118 | UsePredictedItemPricingGui=1 119 | ; Shows a feedback Gui instead of the default tooltip. 120 | IncludeSearchParamByFocus=1 121 | 122 | [Cache] 123 | Expire=3 124 | ; cache expire min 125 | 126 | [Cookies] 127 | UseManualCookies=0 128 | UserAgent= 129 | CfdUid= 130 | CfClearance= 131 | -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | [![GitHub All Releases](https://img.shields.io/github/downloads/POE-TradeMacro/POE-TradeMacro/total.svg)](https://github.com/PoE-TradeMacro/POE-TradeMacro/releases) 2 | [![GitHub release](https://img.shields.io/github/release/PoE-TradeMacro/PoE-TradeMacro.svg)](https://github.com/PoE-TradeMacro/POE-TradeMacro/releases/latest) 3 | 4 | [ [DISCORD](https://discord.gg/taKZqWw) ] - [ [FORUM](https://www.pathofexile.com/forum/view-thread/1757730) ] - [ [WIKI / FAQ](https://github.com/PoE-TradeMacro/POE-TradeMacro/wiki) ] - [ [VIDEO](https://github.com/PoE-TradeMacro/POE-TradeMacro#media--video) ] [PayPal Logo](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4ZVTWJNH6GSME) 5 | 6 | ----------------------------------- 7 | 8 | Welcome to POE-TradeMacro! 9 | 10 | **PoE TradeMacro** is an Autohotkey (AHK) script that provides several convenient QoL features for Path of Exile Trading. 11 | 12 | This builds on top of [PoE-ItemInfo](https://github.com/aRTy42/POE-ItemInfo) which provides very useful item information on **ctrl+c**. 13 | With TradeMacro, price checking is added via **alt+d**, **alt+shift+d** or **alt+i**. You can also open the items wiki page via **alt+w** or open the item search on poe.trade instead via **alt+q**. (Before TradeMacro version 2.15.3 `ctrl` was used instead of `alt` as defaults). 14 | TradeMacro will be updated to always have the latest PoE-ItemInfo code, you don't have to run their script since it's included here. 15 | 16 | 17 | #### Warning #### 18 | 19 | Never completely trust any price checking tool. Inform yourself about what this tool can do and what not (FAQ for example). Use the tools average and median prices to quickly judge if the first results could be accurate or totally wrong. When in doubt ask other people or do some manual checks. 20 | 21 | #### Usage / Instructions #### 22 | 23 | 1. Install AHK (http://ahkscript.org). Don't install AutoHotkey v2.x. PSA: If AHK crashes when starting TradeMacro try and use a different version, `AutoHotkey_1.1.26.01` should always work. 24 | 2. Download the [latest release](https://github.com/POE-TradeMacro/POE-TradeMacro/releases/latest) and extract the zip-file. 25 | 3. Make sure to run PoE in (borderless) windowed mode. Otherwise it won't work! 26 | 4. Run **_Run_TradeMacro.ahk_**. 27 | 5. Default league is set to `tmpstandard` (Softcore Temp-League). 28 | 6. A lot of options, including the league can be changed by opening the settings window or editing `config_trade.ini`. 29 | 7. Make sure to play Path of Exile in english, if you're using a different language it probably won't work. 30 | 31 | > **Right-click the script icon in your system tray and select `PoE Item Info Settings` to open the settings window and to edit both `PoE-ItemInfos` and `PoE-TradeMacros` settings.** 32 | 33 | 34 | #### Shortcuts #### 35 | 36 | 37 | |Shortcut|Old Shortcut|Description| 38 | |--- |--- |--- | 39 | | `alt+c` | `ctrl+c` | See item info (via PoE-ItemInfo). 40 | | `alt+d` | `ctrl+d` | Search item on poe.trade. 41 | | `alt+shift+d` | `ctrl+alt+d` | Advanced item search (select mods). 42 | | `alt+i` | `ctrl+i` | Opens a text input where you can type an item name to search for. 43 | | `alt+w` | `ctrl+w` | Open the items wiki page. 44 | | `alt+q` | `ctrl+q` | Open the item search on poe.trade instead of showing a tooltip with results. 45 | | `alt+shift+q` | `ctrl+alt+q` | Open an item on poeapp.com. 46 | | `alt+e` | `ctrl+e` | Show item age (own listed items if account name is specified in settings). 47 | | `alt+l` |`ctrl+l` | Switch leagues. 48 | | `alt+r` | `alt+r` | Copies an item note for premium tabs to your clipboard that creates a valid currency ratio on all trade sites. 49 | 50 | #### Additional Macros #### 51 | 52 | `AdditionalMacros.txt` allows you to add your own macros to be included in the script or to use some of the already created macros. Simply remove the comment by deleting the `;` in front of a line. 53 | 54 | See the following pages for more information. 55 | 56 | [Go to: FAQ](https://github.com/POE-TradeMacro/POE-TradeMacro/wiki/FAQ) 57 | 58 | [Go to: Options](https://github.com/POE-TradeMacro/POE-TradeMacro/wiki/Options) 59 | 60 | [Go to: Troubleshooting](https://github.com/POE-TradeMacro/POE-TradeMacro/wiki/Troubleshooting) 61 | 62 | [Go to: Cookie retrieval](https://github.com/PoE-TradeMacro/POE-TradeMacro/wiki/Cookie-retrieval) 63 | 64 | [Go to: AdditionalMacros](https://github.com/PoE-TradeMacro/POE-TradeMacro/wiki/AdditionalMacros) 65 | 66 | [Go to: Custom Macros](https://github.com/PoE-TradeMacro/POE-TradeMacro/wiki/Custom-Macros) 67 | 68 | #### Media / Video #### 69 | 70 | ![](http://i.imgur.com/NPsBuJo.png) 71 | 72 | -------------------------------------------------------------------------------- /lib/DebugPrintArray.ahk: -------------------------------------------------------------------------------- 1 | DebugPrintArray(Array, Display=1, Level=0, guiWidth=800, guiHeight=900) 2 | { 3 | Global DebugPrintArray 4 | 5 | Loop, % 4 + (Level*8) 6 | Tabs .= A_Space 7 | 8 | Output := "Array`r`n" . SubStr(Tabs, 5) . "(" 9 | 10 | If (StrLen(Array)) { 11 | Array := [Array] 12 | } 13 | 14 | For Key, Value in Array 15 | { 16 | If (IsObject(Value)) 17 | { 18 | Level++ 19 | Value := DebugPrintArray(Value, 0, Level) 20 | Level-- 21 | } 22 | 23 | Output .= "`r`n" . Tabs . "[" . Key . "] => " . Value 24 | } 25 | 26 | Output .= "`r`n" . SubStr(Tabs, 5) . ")" 27 | 28 | 29 | If (!Display) 30 | Return Output 31 | 32 | Gui, DebugPrintArray:+MaximizeBox +Resize 33 | Gui, DebugPrintArray:Font, s9, Courier New 34 | Gui, DebugPrintArray:Add, Edit, x12 y10 w%guiWidth% h%guiHeight% vDebugPrintArray ReadOnly HScroll, %Output% 35 | windowSize := guiWidth + 20 36 | windowHeight := guiHeight + 20 37 | Gui, DebugPrintArray:Show, w%windowSize% h%windowHeight%, DebugPrintArray 38 | Gui, DebugPrintArray:+LastFound 39 | ControlSend, , {Right} 40 | WinWaitClose 41 | Return Output 42 | 43 | DebugPrintArrayGuiSize: 44 | DebugAnchor("DebugPrintArray", "wh") 45 | Return 46 | 47 | DebugPrintArrayGuiClose: 48 | Gui, DebugPrintArray:Destroy 49 | Return 50 | 51 | DebugPrintArrayGuiEscape: 52 | Gui, DebugPrintArray:Destroy 53 | Return 54 | } 55 | 56 | /* 57 | Function: Anchor 58 | Defines how controls should be automatically positioned relative to the new dimensions of a window when resized. 59 | 60 | Parameters: 61 | cl - a control HWND, associated variable name or ClassNN to operate on 62 | a - (optional) one or more of the anchors: 'x', 'y', 'w' (width) and 'h' (height), 63 | optionally followed by a relative factor, e.g. "x h0.5" 64 | r - (optional) true to redraw controls, recommended for GroupBox and Button types 65 | 66 | Examples: 67 | > "xy" ; bounds a control to the bottom-left edge of the window 68 | > "w0.5" ; any change in the width of the window will resize the width of the control on a 2:1 ratio 69 | > "h" ; similar to above but directrly proportional to height 70 | 71 | Remarks: 72 | To assume the current window size for the new bounds of a control (i.e. resetting) simply omit the second and third parameters. 73 | However if the control had been created with DllCall() and has its own parent window, 74 | the container AutoHotkey created GUI must be made default with the +LastFound option prior to the call. 75 | For a complete example see anchor-example.ahk. 76 | 77 | License: 78 | - Version 4.60a 79 | - Simplified BSD License 80 | */ 81 | DebugAnchor(i, a = "", r = false) { 82 | static c, cs = 12, cx = 255, cl = 0, g, gs = 8, gl = 0, gpi, gw, gh, z = 0, k = 0xffff 83 | If z = 0 84 | VarSetCapacity(g, gs * 99, 0), VarSetCapacity(c, cs * cx, 0), z := true 85 | If (!WinExist("ahk_id" . i)) { 86 | GuiControlGet, t, Hwnd, %i% 87 | If ErrorLevel = 0 88 | i := t 89 | Else ControlGet, i, Hwnd, , %i% 90 | } 91 | VarSetCapacity(gi, 68, 0), DllCall("GetWindowInfo", "UInt", gp := DllCall("GetParent", "UInt", i), "UInt", &gi) 92 | , giw := NumGet(gi, 28, "Int") - NumGet(gi, 20, "Int"), gih := NumGet(gi, 32, "Int") - NumGet(gi, 24, "Int") 93 | If (gp != gpi) { 94 | gpi := gp 95 | Loop, %gl% 96 | If (NumGet(g, cb := gs * (A_Index - 1)) == gp) { 97 | gw := NumGet(g, cb + 4, "Short"), gh := NumGet(g, cb + 6, "Short"), gf := 1 98 | Break 99 | } 100 | If (!gf) 101 | NumPut(gp, g, gl), NumPut(gw := giw, g, gl + 4, "Short"), NumPut(gh := gih, g, gl + 6, "Short"), gl += gs 102 | } 103 | ControlGetPos, dx, dy, dw, dh, , ahk_id %i% 104 | Loop, %cl% 105 | If (NumGet(c, cb := cs * (A_Index - 1)) == i) { 106 | If a = 107 | { 108 | cf = 1 109 | Break 110 | } 111 | giw -= gw, gih -= gh, as := 1, dx := NumGet(c, cb + 4, "Short"), dy := NumGet(c, cb + 6, "Short") 112 | , cw := dw, dw := NumGet(c, cb + 8, "Short"), ch := dh, dh := NumGet(c, cb + 10, "Short") 113 | Loop, Parse, a, xywh 114 | If A_Index > 1 115 | av := SubStr(a, as, 1), as += 1 + StrLen(A_LoopField) 116 | , d%av% += (InStr("yh", av) ? gih : giw) * (A_LoopField + 0 ? A_LoopField : 1) 117 | DllCall("SetWindowPos", "UInt", i, "Int", 0, "Int", dx, "Int", dy 118 | , "Int", InStr(a, "w") ? dw : cw, "Int", InStr(a, "h") ? dh : ch, "Int", 4) 119 | If r != 0 120 | DllCall("RedrawWindow", "UInt", i, "UInt", 0, "UInt", 0, "UInt", 0x0101) ; RDW_UPDATENOW | RDW_INVALIDATE 121 | Return 122 | } 123 | If cf != 1 124 | cb := cl, cl += cs 125 | bx := NumGet(gi, 48), by := NumGet(gi, 16, "Int") - NumGet(gi, 8, "Int") - gih - NumGet(gi, 52) 126 | If cf = 1 127 | dw -= giw - gw, dh -= gih - gh 128 | NumPut(i, c, cb), NumPut(dx - bx, c, cb + 4, "Short"), NumPut(dy - by, c, cb + 6, "Short") 129 | , NumPut(dw, c, cb + 8, "Short"), NumPut(dh, c, cb + 10, "Short") 130 | Return, true 131 | } -------------------------------------------------------------------------------- /lib/getCookieData.cs: -------------------------------------------------------------------------------- 1 | // Authors: DoctorVanGogh, Eruyome, OzoneH3 2 | using System; 3 | using System.Runtime.InteropServices; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | using System.IO; 7 | 8 | class CloudflareCookie 9 | { 10 | [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] 11 | static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref System.UInt32 pcchCookieData, int dwFlags, IntPtr lpReserved); 12 | 13 | public const int INTERNET_COOKIE_HTTPONLY = 0x00002000; 14 | 15 | [STAThread] 16 | static void Main(string[] args) 17 | { 18 | var miniBrowser = new BrowserWindow(new Uri("http://poe.trade")); 19 | 20 | Application.Run(miniBrowser); 21 | 22 | string path = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + "/cookie_data.txt"; 23 | string outputAgent = "useragent=" + miniBrowser._agent + Environment.NewLine; 24 | File.WriteAllText(path, outputAgent); 25 | 26 | // Split cookie string and trim spaces/underscores before writing them line by line to file 27 | string outputCookies = miniBrowser._cookies + Environment.NewLine; 28 | Char delimiter = ';'; 29 | String[] cookies = outputCookies.Split(delimiter); 30 | foreach (var cookie in cookies) 31 | { 32 | char[] charsToTrim = { ' ', '_' }; 33 | string outputCookie = cookie.Trim(charsToTrim); 34 | 35 | if (outputCookie.Contains("cfduid") || outputCookie.Contains("cf_clearance")) 36 | { 37 | File.AppendAllText(path, outputCookie + Environment.NewLine); 38 | } 39 | } 40 | } 41 | 42 | public static string GetCookieString(Uri uri) 43 | { 44 | var url = uri.ToString(); 45 | 46 | // Determine the size of the cookie 47 | UInt32 datasize = 256 * 1024; 48 | StringBuilder cookieData = new StringBuilder(Convert.ToInt32(datasize)); 49 | if (!InternetGetCookieEx(url, null, cookieData, ref datasize, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero)) 50 | { 51 | if (datasize < 0) 52 | { 53 | return null; 54 | } 55 | // Allocate stringbuilder large enough to hold the cookie 56 | cookieData = new StringBuilder(Convert.ToInt32(datasize)); 57 | if (!InternetGetCookieEx(url, null, cookieData, ref datasize, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero)) 58 | { 59 | return null; 60 | } 61 | } 62 | return cookieData.ToString(); 63 | } 64 | 65 | class BrowserWindow : Form 66 | { 67 | private readonly Uri _uri; 68 | 69 | private WebBrowser _wb; 70 | public string _agent; 71 | public string _cookies; 72 | 73 | public BrowserWindow(Uri uri) 74 | { 75 | _uri = uri; 76 | ShowInTaskbar = false; 77 | WindowState = FormWindowState.Minimized; 78 | } 79 | 80 | protected override void OnLoad(EventArgs e) 81 | { 82 | base.OnLoad(e); 83 | _wb = new WebBrowser 84 | { 85 | AllowNavigation = true, 86 | ScriptErrorsSuppressed = true 87 | }; 88 | 89 | // get user agent 90 | string js = @""; 91 | _wb.Url = new Uri("about:blank"); 92 | _wb.Document.Write(js); 93 | _wb.Document.InvokeScript("getUserAgent"); 94 | _agent = _wb.DocumentText.Substring(js.Length); 95 | 96 | // send browser to targeted uri 97 | _wb.DocumentCompleted += wb_DocumentWait; 98 | _wb.Navigate(_uri); 99 | } 100 | 101 | void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 102 | { 103 | if (e.Url == _uri) 104 | { 105 | _cookies = GetCookieString(_uri); 106 | this.Close(); 107 | } 108 | } 109 | 110 | void wb_DocumentWait(object sender, WebBrowserDocumentCompletedEventArgs e) 111 | { 112 | if (e.Url == _uri) 113 | { 114 | _cookies = GetCookieString(_uri); 115 | 116 | if (_cookies.Contains("cf_clearance")) 117 | { 118 | this.Close(); 119 | 120 | } 121 | else 122 | { 123 | //Wait for the cloudflare solving 124 | System.Threading.Thread.Sleep(6000); 125 | 126 | _wb.DocumentCompleted -= wb_DocumentWait; 127 | _wb.DocumentCompleted += wb_DocumentCompleted; 128 | _wb.Navigate(_uri); 129 | } 130 | } 131 | } 132 | } 133 | } -------------------------------------------------------------------------------- /data/metamorph_mapToOrgan.json: -------------------------------------------------------------------------------- 1 | {"mapToOrgan":{"Lair Map":["Heart","Lung","Liver"],"Academy Map":["Eye","Lung","Liver"],"Scriptorium Map":["Lung","Liver"],"Vaal Pyramid Map":["Heart","Eye","Brain","Lung"],"Thicket Map":["Eye","Lung"],"Crimson Temple Map":["Heart","Lung","Liver"],"Laboratory Map":["Heart","Lung","Liver"],"Arid Lake Map":["Eye","Lung"],"Port Map":["Lung","Liver"],"Mesa Map":["Heart","Eye","Brain","Lung","Liver"],"Underground River Map":["Eye","Lung"],"Carcass Map":["Heart","Eye","Brain","Liver"],"Arena Map":["Heart","Eye","Brain","Lung","Liver"],"Flooded Mine Map":["Heart","Eye","Brain","Lung"],"Dungeon Map":["Brain","Lung","Liver"],"Marshes Map":["Heart","Eye","Lung"],"Shrine Map":["Heart","Eye","Brain","Lung","Liver"],"Sepulchre Map":["Lung","Liver"],"Arachnid Tomb Map":["Heart","Eye"],"Dunes Map":["Heart","Eye","Lung"],"Lava Lake Map":["Heart","Brain","Lung"],"Waste Pool Map":["Heart","Eye","Lung","Liver"],"City Square Map":["Eye","Brain","Lung","Liver"],"Park Map":["Heart","Eye","Brain","Lung"],"Cemetery Map":["Eye","Brain","Lung"],"Spider Lair Map":["Eye","Lung"],"Bog Map":["Eye","Lung"],"Peninsula Map":["Eye","Brain","Liver"],"Castle Ruins Map":["Heart","Eye","Lung"],"Jungle Valley Map":["Eye","Lung"],"Arsenal Map":["Eye","Brain","Lung","Liver"],"Underground Sea Map":["Heart","Brain","Lung","Liver"],"Relic Chambers Map":["Eye","Lung","Liver"],"Infested Valley Map":["Heart","Eye","Brain"],"Gardens Map":["Heart","Lung","Liver"],"Tower Map":["Heart","Eye","Lung","Liver"],"Conservatory Map":["Heart","Eye","Liver"],"Crystal Ore Map":["Eye","Heart","Brain","Liver"],"Shore Map":["Eye","Lung","Liver"],"Ramparts Map":["Eye","Brain","Lung","Liver"],"Fields Map":["Heart","Eye","Liver"],"Volcano Map":["Lung"],"Tropical Island Map":["Eye","Lung"],"Bazaar Map":["Eye","Brain","Liver"],"Arachnid Nest Map":["Eye","Lung"],"Cells Map":["Heart","Lung","Liver"],"Excavation Map":["Eye","Brain","Lung","Liver"],"Museum Map":["Eye","Brain","Liver"],"Villa Map":["Heart","Brain","Lung"],"Bone Crypt Map":["Heart","Eye","Lung"],"Geode Map":["Eye","Brain","Liver"],"Vault Map":["Eye","Brain","Lung","Liver"],"Ivory Temple Map":["Eye","Heart","Brain","Lung","Liver"],"Basilica Map":[],"Dig Map":["Heart","Eye","Brain","Lung"],"Summit Map":["Heart","Eye","Brain","Lung"],"Cage Map":["Heart","Eye","Lung","Liver"],"Caldera Map":["Eye","Brain","Lung","Liver"],"Armoury Map":["Heart","Eye","Brain"],"Colonnade Map":["Eye","Brain","Liver"],"Plateau Map":["Heart","Eye","Brain","Lung","Liver"],"Graveyard Map":["Eye","Liver","Lung"],"Burial Chambers Map":["Heart","Eye"],"Pit Map":["Heart","Eye","Lung"],"Overgrown Shrine Map":["Heart","Eye","Brain","Lung","Liver"],"Fungal Hollow Map":["Heart","Eye","Brain","Lung","Liver"],"Courtyard Map":["Eye","Heart","Brain","Lung","Liver"],"Atoll Map":["Heart","Eye","Lung"],"Racecourse Map":["Heart","Eye","Lung","Liver"],"Temple Map":["Eye","Brain","Lung","Liver"],"Desert Spring Map":["Heart","Eye","Brain","Lung","Liver"],"Courthouse Map":["Eye","Heart","Brain","Lung","Liver"],"Mud Geyser Map":["Heart","Eye","Lung"],"Spider Forest Map":["Heart","Eye"],"Glacier Map":["Eye","Lung"],"Overgrown Ruin Map":["Heart","Eye","Lung","Liver"],"Ancient City Map":["Eye","Lung","Liver"],"Necropolis Map":["Eye","Brain","Liver"],"Desert Map":["Eye","Liver"],"Belfry Map":["Heart","Brain","Lung"],"Siege Map":["Heart","Eye","Lung"],"Grotto Map":["Heart","Eye","Brain","Liver"],"Reef Map":["Heart","Lung","Liver"],"Acid Caverns Map":["Heart","Eye","Brain","Lung","Liver"],"Lava Chamber Map":["Heart","Eye","Lung","Liver"],"Dark Forest Map":["Heart","Lung","Liver"],"Beach Map":["Eye","Lung","Liver"],"Core Map":["Heart","Eye","Lung","Liver"],"Haunted Mansion Map":["Heart","Brain","Lung","Liver"],"Mausoleum Map":["Eye","Liver"],"Vaal Temple Map":["Heart","Eye","Brain","Lung","Liver"],"Barrows Map":["Eye","Brain"],"Cursed Crypt Map":["Eye","Lung","Liver"],"Coral Ruins Map":["Heart","Eye","Brain","Lung","Liver"],"Maze Map":["Heart","Brain","Lung"],"Alleyways Map":["Heart","Eye","Lung","Liver"],"Lookout Map":["Heart","Eye","Lung","Liver"],"Primordial Pool Map":["Heart","Lung","Liver"],"Precinct Map":["Heart","Eye","Brain","Lung","Liver"],"Lighthouse Map":["Eye","Heart","Brain","Lung","Liver"],"Canyon Map":["Heart","Eye","Lung","Liver"],"Waterways Map":["Eye","Lung","Liver"],"Promenade Map":["Eye","Heart","Brain","Liver"],"Orchard Map":["Heart","Brain","Lung"],"Toxic Sewer Map":["Heart","Eye","Brain","Lung"],"Malformation Map":["Heart","Eye","Brain","Liver"],"Crater Map":["Heart","Eye","Brain","Lung","Liver"],"Wharf Map":["Eye","Brain"],"Iceberg Map":["Heart","Eye","Brain","Lung","Liver"],"Channel Map":["Heart","Eye","Lung","Liver"],"Strand Map":["Heart","Eye","Lung"],"Pier Map":["Eye","Brain","Liver"],"Phantasmagoria Map":["Heart","Eye","Liver"],"Wasteland Map":["Heart","Eye","Lung"],"Coves Map":["Eye","Lung","Liver"],"Estuary Map":["Heart","Eye","Lung"],"Colosseum Map":["Heart","Eye","Brain","Lung","Liver"],"Terrace Map":["Heart","Eye","Lung"],"Primordial Blocks Map":["Heart","Brain","Lung","Liver"],"Defiled Cathedral Map":["Heart","Eye","Brain","Lung","Liver"],"Sulphur Vents Map":["Heart","Lung","Liver"],"Shipyard Map":["Eye","Brain","Lung","Liver"],"Leyline Map":["Heart","Lung"],"Ashen Wood Map":["Eye","Brain","Lung","Liver"],"Moon Temple Map":["Heart","Lung","Liver"],"Palace Map":["Heart","Eye","Brain","Lung","Liver"],"Sunken City Map":["Heart","Brain","Lung","Liver"],"Mineral Pools Map":["Heart","Eye"],"Ghetto Map":["Eye","Brain","Liver"],"Factory Map":["Heart","Eye","Brain","Liver"],"Residence Map":["Lung","Liver"],"Plaza Map":["Heart","Brain","Lung"],"Pen Map":["Heart","Eye","Lung"],"Chateau Map":["Heart","Eye"],"Arcade Map":["Heart","Brain","Lung"]}} -------------------------------------------------------------------------------- /resources/default_UserFiles/AdditionalMacros.ini: -------------------------------------------------------------------------------- 1 | [General] 2 | KeyToSCState=0 3 | KeyToSCState_Description="Short$ KeyToSC. Long$ " 4 | EnableState=1 5 | EnableState_Description="Short$ Enable AdditionalMacros. Long$ Enables or disables AdditionalMacros completely. `nNeeds a script reload to take effect." 6 | 7 | [TogglePOEItemScript] 8 | ; Pause item parsing with the pause key (other macros remain). 9 | Description=Pause item parsing with the pause key (other macros remain). (Default = Pause). 10 | State=1 11 | Hotkeys=Pause 12 | 13 | [Minimize] 14 | ; Winkey+D minimizes the active PoE window (PoE stays minimized this way). 15 | Description=Winkey+D minimizes the active PoE window (PoE stays minimized this way). (Default = WinKey + D). 16 | State=1 17 | Hotkeys=#D 18 | 19 | [HighlightItems] 20 | ; Ctrl+F fills search bars in the stash or vendor screens with the item's name or info you're hovering over. 21 | ; Needs the coordinates of your hideout mtx stash search bar if you want to search hideout objects. 22 | ; Change behaviour: 23 | ; Arg1 = Use broader terms, default: 0. 24 | ; Arg2 = Leave the search field after pasting the search terms, default: 1. 25 | Description=Fills search bars in the stash or vendor screens with the item's name or info you're hovering over. (Default = Ctrl + F).\n\nNeeds the coordinates of your hideout mtx stash search bar if you want to search\nhideout objects. 26 | State=1 27 | Arg1=0 28 | Arg2=1 29 | Arg3=1 30 | Arg4=1565 31 | Arg5=898 32 | Hotkeys=^F 33 | 34 | [HighlightItemsAlt] 35 | ; Ctrl+Alt+F uses much broader search terms for the highlight function. 36 | ; Change behaviour: 37 | ; Arg1 = Use broader terms, default: 1. 38 | ; Arg2 = Leave the search field after pasting the search terms, default: 1. 39 | Description=Uses much broader search terms for the highlight function. (Default = Ctrl+Alt+F). 40 | State=1 41 | Arg1=1 42 | Arg2=1 43 | Hotkeys=^!F 44 | 45 | [LookUpAffixes] 46 | ; Opens poeaffix.net in your browser, navigating to the item that you're hovering over. 47 | Description=Opens poeaffix.net in your browser, navigating to the item that you're hovering over. (Default = Ctrl + M). 48 | State=1 49 | Hotkeys=^M 50 | 51 | [CloseScripts] 52 | ; Ctrl+Esc closes all running scripts specified by (and including) ItemInfo or TradeMacro. 53 | Description=Closes all running scripts specified by (and including) ItemInfo or TradeMacro. (Default = Ctrl + Esc). 54 | State=0 55 | Hotkeys=^Escape 56 | 57 | [KickYourself] 58 | ; Quickly leave a group by kicking yourself. Only works for one specific character name. 59 | Description=Quickly leave a group by kicking yourself. Only works for one specific character name. (Default = F4). 60 | State=0 61 | Character=Character name 62 | Hotkeys=F4 63 | 64 | [Hideout] 65 | ; Go to hideout with F5. 66 | Description=Go to hideout from towns/other hideouts. (Default = F5). 67 | State=1 68 | Hotkeys=F5 69 | 70 | [ScrollTabRight] 71 | ; Ctrl+scroll down or holding right mouse button+scroll down scrolls through stash tabs rightward. 72 | Description=Scroll through stash tabs rightward. (Default = Ctrl+scroll down or holding right mouse button+scroll down). 73 | State=1 74 | Hotkeys=^WheelDown, ~RButton & WheelDown 75 | 76 | [ScrollTabLeft] 77 | ; Ctrl+scroll up or holding right mouse button+scroll up scrolls through stash tabs leftward. 78 | Description=Scroll through stash tabs leftward. (Default = Ctrl+scroll up or holding right mouse button+scroll up). 79 | State=1 80 | Hotkeys=^WheelUp, ~RButton & WheelUp 81 | 82 | [SendCtrlC] 83 | ; Ctrl+right mouse button sends ctrl+c. 84 | Description=Sends ctrl+c. (Default = Ctrl+right mouse button). 85 | State=0 86 | Hotkeys=^RButton 87 | 88 | [Remaining] 89 | ; Mobs remaining with F9. 90 | Description=Mobs remaining with F9. (Default = F9). 91 | State=0 92 | Hotkeys=F9 93 | 94 | [JoinChannel] 95 | ; Join a channel with F10. Default: global 820. 96 | Description=Join a channel. Default channel: global 820. (Default = F10). 97 | State=0 98 | Hotkeys=F10 99 | Channel=global 820 100 | 101 | [SetAfkMessage] 102 | ; Pastes afk message to your chat and marks "X" so you can type in the estimated time. 103 | Description=Pastes afk message to your chat and marks "X" so you can type in the estimated time. (Default = F11). 104 | State=0 105 | Hotkeys=F11 106 | 107 | [OpenOnPoEAntiquary] 108 | ; Opens an item on http://poe-antiquary.xyz to lookup a price history from past leagues. 109 | Description=Opens an item on http://poe-antiquary.xyz to lookup a price history from past leagues. (Default = Ctrl + Alt + A). 110 | State=1 111 | Hotkeys=^!a 112 | 113 | [AdvItemFilterPreview] 114 | ; Parses your current loot filter (if a custom filter is being used) and shows a highlighting preview for our item, including information about the mathcing filter rule 115 | Description=Shows a preview of your items custom loot filter formatting, including some details about the matching filter rule. (Default = Ctrl + Alt + C). 116 | State=1 117 | Hotkeys=^!c 118 | 119 | [ColorBlindSupport] 120 | ; Shows text-based information about an items socket colors or a gems color 121 | Description=Shows text-based information about an items socket colors or a gems color. (Default = Alt + C). 122 | State=0 123 | Hotkeys=!c 124 | 125 | [WhoisLastWhisper] 126 | ; Sends "/whois lastWhisperCharacterName" when keys are released (not when pressed). 127 | Description=Sends '/whois lastWhisperCharacterName' when keys are released (not when pressed). (Default = Ctrl + Alt + Enter). 128 | State=1 129 | Hotkeys=^!Enter -------------------------------------------------------------------------------- /resources/ahk/jsonData.ahk: -------------------------------------------------------------------------------- 1 | ; Can't get JSON load working inside any Function/Class or in TradeMacroInit 2 | ; Works here, though. 3 | ; Data is available via global variables 4 | ; json scraped with https://github.com/Eruyome/scrapeVariableUniqueItems/ 5 | 6 | ; when using the fallback exe we're missing the parameters passed by the merge script and missed clearing the temp folder 7 | argumentIsMergedScript = %5% 8 | If (argumentIsMergedScript != "isMergedScript") { 9 | FileRemoveDir, %A_ScriptDir%\temp, 1 10 | FileCreateDir, %A_ScriptDir%\temp 11 | } 12 | 13 | ; Parse the unique items data 14 | global TradeUniqueData := ReadJSONDataFromFile(A_ScriptDir "\data_trade\uniques.json", "uniques") 15 | 16 | ; Parse the unique relic items data 17 | global TradeRelicData := ReadJSONDataFromFile(A_ScriptDir "\data_trade\relics.json", "relics") 18 | 19 | ; Parse the poe.trade mods 20 | global TradeModsData := ReadJSONDataFromFile(A_ScriptDir "\data_trade\mods.json", "mods") 21 | 22 | ; Parse currency names (in-game names mapped to poe.trade names) 23 | global TradeCurrencyNames := ReadJSONDataFromFile(A_ScriptDir "\data_trade\currencyNames.json", "currencyNames") 24 | 25 | ; Parse fallback currency IDs 26 | global TradeCurrencyIDsFallback := ReadJSONDataFromFile(A_ScriptDir "\data_trade\currencyIDs_Fallback.json") 27 | 28 | ; Parse the currency tags 29 | global TradeCurrencyTags := ReadJSONDataFromFile(A_ScriptDir "\data_trade\currency_tags.json", "tags") 30 | 31 | ; Parse item base data (weapons) 32 | global TradeItemBasesWeapons := ReadJSONDataFromFile(A_ScriptDir "\data_trade\item_bases_weapon.json", "item_bases_weapon") 33 | 34 | ; Parse item base data (armours) 35 | global TradeItemBasesArmours := ReadJSONDataFromFile(A_ScriptDir "\data_trade\item_bases_armour.json", "item_bases_armour") 36 | 37 | SplashUI.SetSubMessage("Parsing leagues from GGGs API...") 38 | ; Download and parse the current leagues 39 | postData := "" 40 | reqHeaders := [] 41 | ;options := "ReturnHeaders: Skip" 42 | options := "`n" "RequestType: GET" 43 | reqHeaders.push("Host: api.pathofexile.com") 44 | reqHeaders.push("Connection: keep-alive") 45 | reqHeaders.push("Cache-Control: max-age=0") 46 | reqHeaders.push("Content-type: application/x-www-form-urlencoded; charset=UTF-8") 47 | reqHeaders.push("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8") 48 | reqHeaders.push("User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36") 49 | parsedLeagueJSON := PoEScripts_Download("http://api.pathofexile.com/leagues?type=main", postData, reqHeaders, options, true, true, false, "", reqHeadersCurl) 50 | WriteToLogFile("Requesting leagues from api.pathofexile.com...`n`n" "cURL command:`n" reqHeadersCurl "`n`nAnswer: " reqHeaders, "StartupLog.txt", "PoE-TradeMacro") 51 | 52 | If (PoEScripts_SaveWriteTextFile(A_ScriptDir "\temp\currentLeagues.json", parsedLeagueJSON, "utf-8", true, true)) { 53 | WriteToLogFile("Failed to delete " A_ScriptDir "\temp\currentLeagues.json before writing JSON data. `n", "StartupLog.txt", "PoE-TradeMacro") 54 | } 55 | 56 | errorMsg := "Parsing the league data (json) from the Path of Exile API failed." 57 | errorMsg .= "`nThis should only happen when the pathofexile.com servers are down for maintenance or if you have network issues and can't connect to the site." 58 | errorMsg .= "`n`nMost likely the servers are down, please check by visiting pathofexile.com and try again later." 59 | errorMsg .= "`n`nThe script execution will be stopped." 60 | errorMsg .= "`n`nPlease do not report this issue if the pathofexile.com servers are down for maintenance!" 61 | errorMsg .= "`nNobody can help you in that case, you'll have to wait until they are up again." 62 | 63 | Try { 64 | test := FileExist(A_ScriptDir "\temp\currentLeagues.json") 65 | If (test) { 66 | FileRead, JSONFile, %A_ScriptDir%\temp\currentLeagues.json 67 | parsedJSON := JSON.Load(JSONFile) 68 | global LeaguesData := parsedJSON 69 | } 70 | Else { 71 | MsgBox, 16, PoE-TradeMacro - Error, %errorMsg% 72 | ExitApp 73 | } 74 | } Catch error { 75 | MsgBox, 16, PoE-TradeMacro - Error, %errorMsg% 76 | ExitApp 77 | } 78 | 79 | ReadJSONDataFromFile(filepath, key = "", critical = false) { 80 | data := 81 | 82 | failed := false 83 | errorMsg := "Parsing the JSON data from the file """ filepath """ failed." 84 | errorMsg .= "`n" "" 85 | 86 | Try { 87 | test := FileExist(filepath) 88 | If (test) { 89 | FileRead, JSONFile, %filepath% 90 | parsedJSON := JSON.Load(JSONFile) 91 | If (StrLen(key)) { 92 | data := parsedJSON[key] 93 | } Else { 94 | data := parsedJSON 95 | } 96 | } 97 | Else { 98 | errorMsg .= "`n" "The file doesn't exist." 99 | failed := true 100 | } 101 | } Catch error { 102 | errorMsg .= "`n" "The file may contain invalid JSON data which would mean that the file got ""broken.""" 103 | failed := true 104 | } 105 | 106 | If (failed) { 107 | If (not critical) { 108 | errorMsg .= "`n`n" "You can continue running the script so that you can go to the settings" 109 | errorMsg .= "`n" "menu -> TradeMaco tab -> disable ""Download data files on start"" to make sure that this is not caused by a failed download." 110 | errorMsg .= "`n`n" "You will have to use the data file from the original script download though to replace the missing/broken one." 111 | } 112 | errorMsg .= "`n`n" "Repeating the script start could solve this issue." 113 | 114 | MsgBox, 16, PoE-TradeMacro - Error, %errorMsg% 115 | If (critical) { 116 | ExitApp 117 | } 118 | } 119 | 120 | Return data 121 | } -------------------------------------------------------------------------------- /lib/ConvertKeyToKeyCode.ahk: -------------------------------------------------------------------------------- 1 | ; ############################################################################################################# 2 | ; # This script was originally developed for the TradeMacro (https://github.com/PoE-TradeMacro/POE-TradeMacro) 3 | ; # It allows to run script and use hotkeys regardless of the current keyboard layout 4 | ; # 5 | ; # Github: https://github.com/dein0s 6 | ; # Twitter: https://twitter.com/dein0s 7 | ; # Discord: dein0s#2248 8 | ; ############################################################################################################# 9 | 10 | 11 | Global ENG_US := 0x4090409 12 | Global DetectHiddenWindowsDefault := A_DetectHiddenWindows 13 | Global TitleMatchModeDefault := A_TitleMatchMode 14 | Global FormatIntegerDefault := A_FormatInteger 15 | Global ScriptID := GetCurrentScriptID() 16 | Global ScriptThread := DllCall("GetWindowThreadProcessId", "UInt", ScriptID, "UInt", 0) 17 | 18 | Global ExcludeModifiersPattern := "[^\#\!\^\+\&\<\>\*\~\$\s]+" 19 | Global PrefixSC := "SC" 20 | Global PrefixVK := "VK" 21 | 22 | 23 | SetSettingsExecution() { 24 | DetectHiddenWindows, On 25 | SetTitleMatchMode, 2 26 | SetFormat, IntegerFast, H 27 | Return 28 | } 29 | 30 | 31 | SetSettingsDefault() { 32 | DetectHiddenWindows, %DetectHiddenWindowsDefault% 33 | SetTitleMatchMode, %TitleMatchModeDefault% 34 | SetFormat, IntegerFast, %FormatIntegerDefault% 35 | Return 36 | } 37 | 38 | 39 | GetCurrentScriptID() { 40 | SetSettingsExecution() 41 | WinGet, _ScriptID, ID, %A_ScriptName% ahk_class AutoHotkey 42 | SetSettingsDefault() 43 | Return _ScriptID 44 | } 45 | 46 | 47 | GetCurrentLayout() { 48 | ; Get current keyboard layout for the active script 49 | SetSettingsExecution() 50 | _Layout := DllCall("GetKeyboardLayout", "UInt", ScriptThread) 51 | SetSettingsDefault() 52 | Return _Layout 53 | } 54 | 55 | 56 | SwitchLayout(LayoutID) { 57 | ; Switch keyboard layout for the active script 58 | SetSettingsExecution() 59 | ; Switch the script keyboard layout to the layout identical to the active window 60 | ; 0x50 - WM_INPUTLANGCHANGEREQUEST 61 | SendMessage, 0x50,, %LayoutID%,, ahk_id %ScriptID% 62 | ; https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs.85%29.aspx 63 | ; update user profile and broadcast WM_SETTINGCHANGE message 64 | DllCall("SystemParametersInfo", "UInt", 0x005A, "UInt", 0, "UInt", LayoutID, "UInt", 2) 65 | SetSettingsDefault() 66 | Return 67 | } 68 | 69 | 70 | CustomGetKeyCode(Key, SC:=true) { 71 | _Defaultlayout := GetCurrentLayout() 72 | _KeyCode := (SC=true) ? GetKeySC(Key) : GetKeyVK(Key) 73 | If (_KeyCode = 0 and _Defaultlayout != ENG_US) { 74 | ; Retrieving key code can fail (0 returned from GetKeySC()/GetKeyVK()) if the Key couldn't be found 75 | ; in a current keyboard layout (ie. "d" key in a russian layout) or if it's MouseKey or some MediaKey 76 | 77 | ; NB: workaround for the issues caused by https://github.com/PoE-TradeMacro/POE-TradeMacro/pull/540 78 | SwitchLayoutStart := A_TickCount 79 | SwitchLayoutElapsed := 0 80 | while (GetCurrentLayout() != ENG_US and SwitchLayoutElapsed < 120) { 81 | SwitchLayout(ENG_US) 82 | Sleep, 50 83 | SwitchLayoutElapsed := (A_TickCount - SwitchLayoutStart) / 1000 84 | } 85 | _KeyCode := (SC=true) ? GetKeySC(Key) : GetKeyVK(Key) 86 | SwitchLayout(_Defaultlayout) 87 | } 88 | Return _KeyCode 89 | } 90 | 91 | 92 | CustomGetKeyName(KeyCode, ForceENG:=true) { 93 | _Defaultlayout := GetCurrentLayout() 94 | If (ForceENG and _Defaultlayout != ENG_US) { 95 | SwitchLayout(ENG_US) 96 | } 97 | _KeyName := GetKeyName(KeyCode) 98 | If (_Defaultlayout != GetCurrentLayout()) { 99 | SwitchLayout(_Defaultlayout) 100 | } 101 | Return _KeyName 102 | } 103 | 104 | 105 | KeyCodeToKeyName(KeyCode, ForceENG:=true) { 106 | _Result := KeyCode 107 | _Pos := 1 108 | While (_Pos := RegExMatch(KeyCode, ExcludeModifiersPattern, _Match, _Pos + StrLen(_Match))) { 109 | If InStr(_Match, PrefixSC) or InStr(_Match, PrefixVK) { 110 | _KeyName := CustomGetKeyName(_Match, ForceENG) 111 | _Result := RegExReplace(_Result, _Match, _KeyName) 112 | } 113 | } 114 | Return _Result 115 | } 116 | 117 | 118 | KeyNameToKeyCode(Key, SC:=true) { 119 | _Result := Key 120 | _Pos := 1 121 | _CodePrefix := (SC=true) ? PrefixSC : PrefixVK 122 | _NotCodePrefix := (SC=true) ? PrefixVK : PrefixSC 123 | While (_Pos := RegExMatch(Key, ExcludeModifiersPattern, _Match, _Pos + StrLen(_Match))) { 124 | If !InStr(_Match, _CodePrefix) { 125 | _NameToConvert := _Match 126 | If InStr(_Match, _NotCodePrefix) { 127 | _NameToConvert := KeyCodeToKeyName(_Match) 128 | } 129 | _KeyCode := CustomGetKeyCode(_NameToConvert, SC) 130 | _Result := (_KeyCode=0) ? _Result : RegExReplace(_Result, _Match, Format("{1:s}{2:X}", _CodePrefix, _KeyCode)) 131 | } 132 | } 133 | Return _Result 134 | } 135 | 136 | PrettyKeyName(KeyName) { 137 | _Result := KeyName 138 | _Result := RegExReplace(_Result, "i)[#]", "Win|") 139 | _Result := RegExReplace(_Result, "i)[!]", "alt|") 140 | _Result := RegExReplace(_Result, "i)[+]", "shift|") 141 | _Result := RegExReplace(_Result, "i)[~]", "(non blocking) ") 142 | _Result := RegExReplace(_Result, "i)[&]", "+") 143 | _Result := RegExReplace(_Result, "i)[\^]", "ctrl|") 144 | _Result := RegExReplace(_Result, "i)[<]", "(left) ") 145 | _Result := RegExReplace(_Result, "i)[>]", "(right) ") 146 | 147 | _Result := Trim(RegExReplace(_Result, "i)[|]", " + ")) 148 | _Result := Trim(RegExReplace(_Result, "i)[+]$", "")) 149 | 150 | Return _Result 151 | } 152 | 153 | KeyToSC(Key) { 154 | Return KeyNameToKeyCode(Key, true) 155 | } 156 | 157 | 158 | KeyToVK(Key) { 159 | Return KeyNameToKeyCode(Key, false) 160 | } 161 | -------------------------------------------------------------------------------- /lib/copyUpdate.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | 3 | set updateScriptPath=%1 4 | set installPath=%2 5 | set installFolder=%3 6 | set tempInstallPath=%4 7 | set tempInstallFolder=%5 8 | set debug=%6 9 | set robocopyExe=%SystemRoot%\System32\robocopy.exe 10 | set findStrExe=%SystemRoot%\System32\findstr.exe 11 | 12 | if %%debug EQU 1 ( 13 | if not defined in_subprocess (cmd /k set in_subprocess=y ^& %0 %*) & exit ) 14 | ) 15 | 16 | if not exist %updateScriptPath% ( 17 | dir /b /a %installPath%"\*" | >nul %findStrExe% "^" && (set extractedFilesExist=1) || (set extractedFilesExist=0) 18 | if %%extractedFilesExist EQU 0 ( 19 | set error="Folder with extracted update files is empty." 20 | set errorL=20 21 | ) else ( 22 | set error="Folder with extracted update files does not exist." 23 | set errorL=19 24 | ) 25 | goto EndScript 26 | ) 27 | 28 | :: create temporary install folder 29 | :: if the installation of new files fails we don't want to have the script deleted completely 30 | if exist %tempInstallPath% ( 31 | rd /s /q %tempInstallPath% 32 | if exist %tempInstallPath% rd /s /q %tempInstallPath% || rem 33 | if exist %tempInstallPath% ( 34 | echo. 35 | echo Executed command: rd /s /q %tempInstallPath% 36 | echo Failed to remove/clear temporary installation folder. 37 | echo. 38 | ) 39 | ) 40 | mkdir %tempInstallPath% 41 | 42 | if not exist %tempInstallPath% ( 43 | set error="Failed to create temporary install folder. Cancelled update." 44 | set errorL=18 45 | goto EndScript 46 | ) 47 | 48 | :: copy new script files to temp install directory 49 | :: https://ss64.com/nt/robocopy-exit.html 50 | echo Executing command: %robocopyExe% %updateScriptPath% %tempInstallPath% /s /NFL /NDL /NJH /NJS /nc /np 51 | %robocopyExe% %updateScriptPath% %tempInstallPath% /s /NFL /NDL /NJH /NJS /nc /np 52 | if %ERRORLEVEL% EQU 16 set errorL=%ERRORLEVEL% & set error="***FATAL ERROR***" & goto EndScript 53 | if %ERRORLEVEL% EQU 15 set errorL=%ERRORLEVEL% & set error="OKCOPY + FAIL + MISMATCHES + XTRA" & goto EndScript 54 | if %ERRORLEVEL% EQU 14 set errorL=%ERRORLEVEL% & set error="FAIL + MISMATCHES + XTRA" & goto EndScript 55 | if %ERRORLEVEL% EQU 13 set errorL=%ERRORLEVEL% & set error="OKCOPY + FAIL + MISMATCHES" & goto EndScript 56 | if %ERRORLEVEL% EQU 12 set errorL=%ERRORLEVEL% & set error="FAIL + MISMATCHES" & goto EndScript 57 | if %ERRORLEVEL% EQU 11 set errorL=%ERRORLEVEL% & set error="OKCOPY + FAIL + XTRA" & goto EndScript 58 | if %ERRORLEVEL% EQU 10 set errorL=%ERRORLEVEL% & set error="FAIL + XTRA" & goto EndScript 59 | if %ERRORLEVEL% EQU 9 set errorL=%ERRORLEVEL% & set error="OKCOPY + FAIL" & goto EndScript 60 | if %ERRORLEVEL% EQU 8 set errorL=%ERRORLEVEL% & set error="FAIL" & goto EndScript 61 | if %ERRORLEVEL% EQU 7 set errorL=%ERRORLEVEL% & set error="OKCOPY + MISMATCHES + XTRA" & goto EndScript 62 | if %ERRORLEVEL% EQU 6 set errorL=%ERRORLEVEL% & set error="MISMATCHES + XTRA" & goto EndScript 63 | if %ERRORLEVEL% EQU 5 set errorL=%ERRORLEVEL% & set error="OKCOPY + MISMATCHES" & goto EndScript 64 | if %ERRORLEVEL% EQU 4 set errorL=%ERRORLEVEL% & set error="MISMATCHES" & goto EndScript 65 | if %ERRORLEVEL% EQU 3 set errorL=%ERRORLEVEL% & set error="OKCOPY + XTRA" & goto EndScript 66 | if %ERRORLEVEL% EQU 2 set errorL=%ERRORLEVEL% & set error="XTRA" & goto EndScript 67 | if %ERRORLEVEL% EQU 1 set errorL=%ERRORLEVEL% & set error="OKCOPY" & goto SwapInstalls 68 | if %ERRORLEVEL% EQU 0 set errorL=%ERRORLEVEL% & set error="No Change" & goto EndScript 69 | 70 | :SwapInstalls 71 | :: delete install folder (old script) and rename temp install folder to install folder 72 | if exist %installPath% ( 73 | rd /s /q %installPath% 74 | if exist %installPath% rd /s /q %installPath% || rem 75 | if exist %installPath% ( 76 | echo. 77 | echo executed command: rd /s /q %installPath% 78 | echo Failed to remove/clear installation folder. 79 | echo. 80 | ) 81 | ) 82 | 83 | if exist %installPath% ( 84 | dir /b /a %installPath%"\*" | >nul %findStrExe% "^" && (set clearInstallDir=0) || set clearInstallDir=1 85 | ) else ( 86 | set clearInstallDir=1 87 | ) 88 | 89 | if %clearInstallDir% EQU 1 ( 90 | echo Executing command: %robocopyExe% %tempInstallPath% %installPath% /E /MOVE /NFL /NDL /NJH /nc /np 91 | %robocopyExe% %tempInstallPath% %installPath% /E /MOVE /NFL /NDL /NJH /nc /np 92 | if %ERRORLEVEL% NEQ 1 ( 93 | echo Swap directories, rename/move temp folder to install folder: 94 | echo. robocopy ERRORLEVEL: %ERRORLEVEL% 95 | echo. temp : %tempInstallPath% 96 | echo. install : %installPath% 97 | echo. 98 | set error2="Failed to rename temp install folder to install folder. Using temp install folder to run the script." 99 | set errorL2=17 100 | goto EndScript 101 | ) else ( 102 | set error2="OKCOPY" 103 | set errorL2=%ERRORLEVEL% 104 | if exist %tempInstallPath% ( 105 | rd /s /q %tempInstallPath% 106 | if exist %tempInstallPath% rd /s /q %tempInstallPath% || rem 107 | if exist %tempInstallPath% ( 108 | echo. 109 | echo Executed command: rd /s /q %tempInstallPath% 110 | echo Cleanup: Failed to clear temporary installation folder. 111 | echo. 112 | ) 113 | ) 114 | ) 115 | ) else ( 116 | set error2="Failed to rename temp install folder to install folder. Using temp install folder to run the script." 117 | set errorL2=17 118 | goto EndScript 119 | ) 120 | goto EndScript 121 | 122 | :EndScript 123 | :: clean directory again 124 | if exist %updateScriptPath% ( 125 | for /f %%i in ('rd /s /q %updateScriptPath%') do set test=%%i 126 | ) 127 | echo - Copy "update files" to "temp install folder": 128 | echo. - Error/Exit Code: %error% 129 | echo. - Errorlevel: %errorL% 130 | echo. 131 | echo - Copy "temp install folder" to "install folder": 132 | echo. - Error/Exit Code: %error2% 133 | echo. - Errorlevel: %errorL2% 134 | echo. 135 | 136 | :: write exit code to file 137 | echo %errorL% >exitCode.txt 138 | 139 | ::pause -------------------------------------------------------------------------------- /resources/ahk/Merge_ItemInfo.ahk: -------------------------------------------------------------------------------- 1 | ; #################################################################################################### 2 | ; # This script merges PoE-ItemInfo and AdditionalMacros into one script and executes it. 3 | ; # We also have to set some global variables and pass them to the ItemInfo script. 4 | ; # This is to support using ItemInfo as dependancy for other tools. 5 | ; #################################################################################################### 6 | #Include, %A_ScriptDir%\..\..\lib\PoEScripts_CheckFolderWriteAccess.ahk 7 | #Include, %A_ScriptDir%\..\..\lib\PoEScripts_CompareUserFolderWithScriptFolder.ahk 8 | #Include, %A_ScriptDir%\..\..\lib\PoEScripts_CheckCorrectClientLanguage.ahk 9 | #Include, %A_ScriptDir%\..\..\lib\PoEScripts_CreateTempFolder.ahk 10 | #Include, %A_ScriptDir%\..\..\lib\PoEScripts_HandleUserSettings.ahk 11 | #Include, %A_ScriptDir%\..\..\lib\PoEScripts_CheckInvalidScriptFolder.ahk 12 | 13 | RunAsAdmin() 14 | arg1 = %1% 15 | scriptDir := FileExist(arg1) ? arg1 : RegExReplace(A_ScriptDir, "(.*)\\[^\\]+\\.*", "$1") 16 | 17 | /* 18 | Set ProjectName to create user settings folder in A_MyDocuments 19 | */ 20 | projectName := "PoE-ItemInfo" 21 | 22 | /* 23 | Check some folder permissions 24 | */ 25 | PoEScripts_CheckFolderWriteAccess(A_MyDocuments . "\" . projectName) 26 | PoEScripts_CheckFolderWriteAccess(scriptDir) 27 | 28 | If (not PoEScripts_CheckCorrectClientLanguage()) { 29 | ExitApp 30 | } 31 | If (!PoEScripts_CreateTempFolder(scriptDir, projectName)) { 32 | ExitApp 33 | } 34 | PoEScripts_CheckInvalidScriptFolder(scriptDir, "PoE-ItemInfo") 35 | 36 | /* 37 | Set some important variables 38 | */ 39 | FilesToCopyToUserFolder := scriptDir . "\resources\default_UserFiles" 40 | overwrittenFiles := PoEScripts_HandleUserSettings(projectName, A_MyDocuments, "", FilesToCopyToUserFolder, scriptDir) 41 | isDevelopmentVersion := PoEScripts_isDevelopmentVersion(scriptDir) 42 | userDirectory := A_MyDocuments . "\" . projectName . isDevelopmentVersion 43 | 44 | PoEScripts_CompareUserFolderWithScriptFolder(userDirectory, scriptDir, projectName) 45 | 46 | /* 47 | merge all scripts into `_ItemInfoMain.ahk` and execute it. 48 | */ 49 | info := ReadFileToMerge(file01 := scriptDir "\resources\ahk\POE-ItemInfo.ahk") 50 | addMacros := ReadFileToMerge(file02 := scriptDir "\resources\ahk\AdditionalMacros.ahk") 51 | 52 | info := info . "`n`r`n`r" 53 | addMacros := "`n`r#IfWinActive ahk_group PoEWindowGrp" . "`n`r`n`r" . addMacros 54 | addMacros .= AppendCustomMacros(userDirectory) 55 | 56 | CloseScript("ItemInfoMain.ahk") 57 | FileDelete, %scriptDir%\_ItemInfoMain.ahk 58 | FileCopy, %scriptDir%\resources\ahk\POE-ItemInfo.ahk, %scriptDir%\_ItemInfoMain.ahk 59 | 60 | ; additional macros 61 | FileAppend, % "`r`n`r`n/* ###--- Merged File: " file02 " ---### `r`n*/`r`n", %scriptDir%\_TradeMacroMain.ahk 62 | FileAppend, %addMacros% , %scriptDir%\_ItemInfoMain.ahk 63 | 64 | ; set script hidden 65 | FileSetAttrib, +H, %scriptDir%\_ItemInfoMain.ahk 66 | ; pass some parameters to ItemInfo 67 | Run "%A_AhkPath%" "%scriptDir%\_ItemInfoMain.ahk" "%projectName%" "%userDirectory%" "%isDevelopmentVersion%" "%overwrittenFiles%" 68 | 69 | ExitApp 70 | 71 | 72 | ; #################################################################################################### 73 | ; # functions 74 | ; #################################################################################################### 75 | 76 | CloseScript(Name) 77 | { 78 | DetectHiddenWindows On 79 | SetTitleMatchMode RegEx 80 | IfWinExist, i)%Name%.* ahk_class AutoHotkey 81 | { 82 | WinClose 83 | WinWaitClose, i)%Name%.* ahk_class AutoHotkey, , 2 84 | If ErrorLevel 85 | Return "Unable to close " . Name 86 | Else 87 | Return "Closed " . Name 88 | } 89 | Else 90 | Return Name . " not found" 91 | } 92 | 93 | RunAsAdmin() 94 | { 95 | ShellExecute := A_IsUnicode ? "shell32\ShellExecute":"shell32\ShellExecuteA" 96 | If Not A_IsAdmin 97 | { 98 | If A_IsCompiled 99 | DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_ScriptFullPath, str, A_WorkingDir, int, 1) 100 | Else 101 | DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_AhkPath, str, """" . A_ScriptFullPath . """", str, A_WorkingDir, int, 1) 102 | ExitApp 103 | } 104 | } 105 | 106 | AppendCustomMacros(userDirectory) 107 | { 108 | If (!InStr(FileExist(userDirectory "\CustomMacros"), "D")) { 109 | FileCreateDir, %userDirectory%\CustomMacros\ 110 | } 111 | 112 | appendedMacros := "`n`n" 113 | extensions := "txt,ahk" 114 | Loop %userDirectory%\CustomMacros\* 115 | { 116 | If A_LoopFileExt in %extensions% 117 | { 118 | FileRead, tmp, %A_LoopFileFullPath% 119 | appendedMacros .= "`r`n`r`n/* ###--- Merged File: " A_LoopFileFullPath " ---### `r`n*/`r`n" 120 | appendedMacros .= "`n" tmp "`n`n" 121 | } 122 | } 123 | 124 | Return appendedMacros 125 | } 126 | 127 | ReadFileToMerge(path, fallbackSrcPath = "") { 128 | fallback := StrLen(fallbackSrcPath) ? "`n`nAs a fallback you can try copying the file manually from """ fallbackSrcPath "" : "" 129 | If (FileExist(path)) { 130 | ErrorLevel := 0 131 | FileRead, file, %path% 132 | If (ErrorLevel = 1) { 133 | ; file does not exist (should be caught already) 134 | Msgbox, 4096, Critical file read error, The file "%path%" doesn't exist. %fallback%`n`nClosing Script... 135 | ExitApp 136 | } Else If (ErrorLevel = 2) { 137 | ; file is locked or inaccessible 138 | Msgbox, 4096, Critical file read error, The file "%path%" is locked or inaccessible.`n`nClosing Script... 139 | ExitApp 140 | } Else If (ErrorLevel = 3) { 141 | ; the system lacks sufficient memory to load the file 142 | Msgbox, 4096, Critical file read error, The system lacks sufficient memory to load the file "%path%".`n`nClosing Script... 143 | ExitApp 144 | } Else { 145 | Return file 146 | } 147 | } Else { 148 | Msgbox, 4096, Critical file read error, The file "%path%" doesn't exist. %fallback%`n`nClosing Script... 149 | ExitApp 150 | } 151 | } 152 | -------------------------------------------------------------------------------- /lib/PoEScripts_FinishUpdate.ahk: -------------------------------------------------------------------------------- 1 | ; ##################################################################################################################### 2 | ; # Finishes the script update 3 | ; # 4 | ; # This has to be done from an external script so that the script directory can be overwritten 5 | ; # without killing the update midway. 6 | ; ##################################################################################################################### 7 | 8 | #SingleInstance force 9 | #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 10 | #Persistent ; Stay open in background 11 | SetWorkingDir, %A_ScriptDir% 12 | 13 | parentScriptDir = %1% 14 | updateScriptPath = %2% 15 | installPath = %3% 16 | projectName = %4% 17 | scriptName = %5% 18 | debug = %6% 19 | 20 | Try { 21 | RunAsAdmin() 22 | DetectHiddenWindows On 23 | SetTitleMatchMode RegEx 24 | IfWinExist, i)%scriptName%.* ahk_class AutoHotkey 25 | { 26 | WinClose 27 | WinWaitClose, i)%scriptName%.* ahk_class AutoHotkey, , 2 28 | } 29 | 30 | RegExMatch(updateScriptPath, "(.*)\\.*", updateParentDir) 31 | RegExMatch(installPath, "(.*)\\.*", installParentDir) 32 | installFolder := RegExReplace(installPath, "(.*\\)") 33 | renamedUpdatePath := updateParentDir1 "\" installFolder 34 | installParentDir := installParentDir1 35 | 36 | If (debug) { 37 | RunWait, "copyUpdate.bat" "%updateScriptPath%" "%installPath%" "%installFolder%" "%installPath%_tempInstall" "%installFolder%_tempInstall" "1" && pause, , 38 | } Else { 39 | RunWait, "copyUpdate.bat" "%updateScriptPath%" "%installPath%" "%installFolder%" "%installPath%_tempInstall" "%installFolder%_tempInstall", , hide 40 | } 41 | 42 | If (FileExist("exitCode.txt")) { 43 | FileRead, exitCode, exitCode.txt 44 | code := "" 45 | Loop, Parse, exitCode, `n, `r 46 | { 47 | If (StrLen(A_LoopField)) { 48 | code := Trim(A_LoopField) 49 | } 50 | } 51 | 52 | scriptStartFile := RegExReplace(projectName, "i).*-", "Run_") . ".ahk" 53 | 54 | If (code = 1) { 55 | ; do nothing 56 | } Else If (code = 17) { 57 | ; renaming tempInstall to install folder via batch failed, try again with AHK 58 | FileMoveDir, %installPath%_tempInstall, %installPath%, R 59 | If (ErrorLevel) { 60 | ; also failed, use tempInstall to run the script 61 | installPath := %installPath% "_tempInstall" 62 | } 63 | } Else { 64 | MsgBox,,, % "Exception thrown while copying new files to " installPath ". Update failed!`n`n" ParseExitCode(code) 65 | ExitApp 66 | } 67 | } Else { 68 | MsgBox,,, % "Exception thrown while copying new files to " installPath ". Update failed!`n`n Update scripted failed to run." 69 | ExitApp 70 | } 71 | } Catch e { 72 | MsgBox,,, % "Exception thrown while copying new files to " installPath ". Update failed!`n`nwhat: " e.what "`nfile: " e.file "`nline: " e.line "`nmessage: " e.message "`nextra: " e.extra 73 | ExitApp 74 | } 75 | 76 | ; remove 'PoE-' from project name since the start files are named 'Run_ItemInfo/Run_TradeMacro' 77 | scriptStartFile := RegExReplace(projectName, "i).*-", "Run_") . ".ahk" 78 | scriptStartFile := installPath . "\" . scriptStartFile 79 | 80 | Run, "%A_AhkPath%" "%scriptStartFile%" 81 | ExitApp 82 | 83 | RunAsAdmin() { 84 | Loop, %0% ; For each parameter: 85 | { 86 | param := %A_Index% ; Fetch the contents of the variable whose name is contained in A_Index. 87 | params .= A_Space . param 88 | } 89 | ShellExecute := A_IsUnicode ? "shell32\ShellExecute":"shell32\ShellExecuteA" 90 | 91 | If not A_IsAdmin 92 | { 93 | If A_IsCompiled 94 | DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_ScriptFullPath, str, params , str, A_WorkingDir, int, 1) 95 | Else 96 | DllCall(ShellExecute, uint, 0, str, "RunAs", str, A_AhkPath, str, """" . A_ScriptFullPath . """" . A_Space . params, str, A_WorkingDir, int, 1) 97 | ExitApp 98 | } 99 | } 100 | 101 | ParseExitCode(code) { 102 | ; https://ss64.com/nt/robocopy-exit.html 103 | msg := "" 104 | if (code = 17) { 105 | msg := "Install directory could not be emptied. Cancelled update." 106 | } 107 | else if (code = 16) { 108 | msg := "***FATAL ERROR***" 109 | } 110 | else if (code = 15) { 111 | msg := "OKCOPY + FAIL + MISMATCHES + XTRA" 112 | } 113 | else if (code = 14) { 114 | msg := "FAIL + MISMATCHES + XTRA" 115 | } 116 | else if (code = 13) { 117 | msg := "OKCOPY + FAIL + MISMATCHES" 118 | } 119 | else if (code = 12) { 120 | msg := "FAIL + MISMATCHES" 121 | } 122 | else if (code = 11) { 123 | msg := "OKCOPY + FAIL + XTRA" 124 | } 125 | else if (code = 10) { 126 | msg := "FAIL + XTRA" 127 | } 128 | else if (code = 9) { 129 | msg := "OKCOPY + FAIL" 130 | } 131 | else if (code = 8) { 132 | msg := "Some files or directories could not be copied.`n(copy errors occurred and the retry limit was exceeded)." 133 | } 134 | else if (code = 7) { 135 | msg := "Files were copied, a file mismatch was present, and additional files were present." 136 | } 137 | else if (code = 6) { 138 | msg := "Additional files and mismatched files exist. No files were copied and no failures were encountered.`nThis means that the files already exist in the destination directory." 139 | } 140 | else if (code = 5) { 141 | msg := "Some files were copied. Some files were mismatched. No failure was encountered." 142 | } 143 | else if (code = 4) { 144 | msg := "Some Mismatched files or directories were detected." 145 | } 146 | else if (code = 3) { 147 | msg := "Some files were copied. Additional files were present. No failure was encountered." 148 | } 149 | else if (code = 2) { 150 | msg := "Some Extra files or directories were detected. No files were copied." 151 | } 152 | else if (code = 1) { 153 | msg := "One or more files were copied successfully (that is, new files have arrived)." 154 | } 155 | else if (code = 0) { 156 | msg := "No errors occurred, and no copying was done.`nThe source and destination directory trees are completely synchronized." 157 | } 158 | 159 | return msg 160 | } -------------------------------------------------------------------------------- /data/metamorph_organToMap.json: -------------------------------------------------------------------------------- 1 | {"organToMap":{"Heart":["Armoury Map","Lair Map","Plateau Map","Vaal Pyramid Map","Pit Map","Burial Chambers Map","Crimson Temple Map","Laboratory Map","Overgrown Shrine Map","Fungal Hollow Map","Courtyard Map","Mesa Map","Atoll Map","Carcass Map","Arena Map","Racecourse Map","Flooded Mine Map","Marshes Map","Shrine Map","Desert Spring Map","Arachnid Tomb Map","Mud Geyser Map","Courthouse Map","Spider Forest Map","Overgrown Ruin Map","Dunes Map","Waste Pool Map","Lava Lake Map","Belfry Map","Siege Map","Grotto Map","Reef Map","Acid Caverns Map","Lava Chamber Map","Dark Forest Map","Park Map","Core Map","Castle Ruins Map","Haunted Mansion Map","Vaal Temple Map","Underground Sea Map","Maze Map","Coral Ruins Map","Infested Valley Map","Alleyways Map","Lookout Map","Primordial Pool Map","Precinct Map","Lighthouse Map","Canyon Map","Gardens Map","Promenade Map","Tower Map","Toxic Sewer Map","Orchard Map","Conservatory Map","Crystal Ore Map","Malformation Map","Crater Map","Fields Map","Iceberg Map","Channel Map","Strand Map","Phantasmagoria Map","Wasteland Map","Cells Map","Estuary Map","Colosseum Map","Terrace Map","Villa Map","Primordial Blocks Map","Defiled Cathedral Map","Bone Crypt Map","Sulphur Vents Map","Leyline Map","Moon Temple Map","Ivory Temple Map","Palace Map","Dig Map","Sunken City Map","Mineral Pools Map","Summit Map","Cage Map","Factory Map","Plaza Map","Pen Map","Chateau Map","Arcade Map"],"Eye":["Academy Map","Thicket Map","Vaal Pyramid Map","Arid Lake Map","Mesa Map","Underground River Map","Carcass Map","Arena Map","Flooded Mine Map","Marshes Map","Shrine Map","Arachnid Tomb Map","Dunes Map","Waste Pool Map","City Square Map","Park Map","Cemetery Map","Bog Map","Spider Lair Map","Peninsula Map","Castle Ruins Map","Jungle Valley Map","Arsenal Map","Relic Chambers Map","Infested Valley Map","Tower Map","Conservatory Map","Crystal Ore Map","Shore Map","Ramparts Map","Fields Map","Tropical Island Map","Bazaar Map","Arachnid Nest Map","Excavation Map","Museum Map","Bone Crypt Map","Geode Map","Vault Map","Ivory Temple Map","Dig Map","Summit Map","Cage Map","Caldera Map","Armoury Map","Colonnade Map","Graveyard Map","Pit Map","Burial Chambers Map","Overgrown Shrine Map","Fungal Hollow Map","Courtyard Map","Atoll Map","Racecourse Map","Temple Map","Desert Spring Map","Mud Geyser Map","Courthouse Map","Spider Forest Map","Glacier Map","Overgrown Ruin Map","Ancient City Map","Necropolis Map","Desert Map","Siege Map","Grotto Map","Acid Caverns Map","Lava Chamber Map","Beach Map","Core Map","Mausoleum Map","Barrows Map","Vaal Temple Map","Cursed Crypt Map","Coral Ruins Map","Alleyways Map","Lookout Map","Precinct Map","Lighthouse Map","Canyon Map","Waterways Map","Promenade Map","Toxic Sewer Map","Malformation Map","Wharf Map","Crater Map","Iceberg Map","Channel Map","Strand Map","Phantasmagoria Map","Pier Map","Wasteland Map","Coves Map","Estuary Map","Colosseum Map","Terrace Map","Defiled Cathedral Map","Shipyard Map","Ashen Wood Map","Palace Map","Mineral Pools Map","Ghetto Map","Factory Map","Pen Map","Chateau Map"],"Brain":["Armoury Map","Colonnade Map","Plateau Map","Vaal Pyramid Map","Overgrown Shrine Map","Fungal Hollow Map","Courtyard Map","Mesa Map","Arena Map","Carcass Map","Temple Map","Flooded Mine Map","Dungeon Map","Shrine Map","Desert Spring Map","Courthouse Map","Necropolis Map","Lava Lake Map","Belfry Map","Grotto Map","Acid Caverns Map","City Square Map","Park Map","Cemetery Map","Peninsula Map","Haunted Mansion Map","Barrows Map","Vaal Temple Map","Arsenal Map","Underground Sea Map","Maze Map","Coral Ruins Map","Infested Valley Map","Precinct Map","Lighthouse Map","Promenade Map","Toxic Sewer Map","Orchard Map","Crystal Ore Map","Ramparts Map","Malformation Map","Wharf Map","Crater Map","Iceberg Map","Bazaar Map","Pier Map","Colosseum Map","Excavation Map","Museum Map","Villa Map","Primordial Blocks Map","Defiled Cathedral Map","Geode Map","Shipyard Map","Vault Map","Ashen Wood Map","Ivory Temple Map","Palace Map","Dig Map","Sunken City Map","Ghetto Map","Summit Map","Factory Map","Plaza Map","Caldera Map","Arcade Map"],"Lung":["Lair Map","Academy Map","Thicket Map","Scriptorium Map","Vaal Pyramid Map","Crimson Temple Map","Laboratory Map","Arid Lake Map","Mesa Map","Port Map","Underground River Map","Arena Map","Flooded Mine Map","Dungeon Map","Marshes Map","Shrine Map","Sepulchre Map","Dunes Map","Waste Pool Map","Lava Lake Map","City Square Map","Park Map","Cemetery Map","Bog Map","Spider Lair Map","Castle Ruins Map","Jungle Valley Map","Arsenal Map","Underground Sea Map","Relic Chambers Map","Gardens Map","Tower Map","Shore Map","Ramparts Map","Volcano Map","Tropical Island Map","Arachnid Nest Map","Cells Map","Excavation Map","Villa Map","Bone Crypt Map","Vault Map","Ivory Temple Map","Dig Map","Summit Map","Cage Map","Caldera Map","Graveyard Map","Plateau Map","Pit Map","Overgrown Shrine Map","Fungal Hollow Map","Courtyard Map","Atoll Map","Racecourse Map","Temple Map","Desert Spring Map","Mud Geyser Map","Courthouse Map","Glacier Map","Overgrown Ruin Map","Ancient City Map","Belfry Map","Siege Map","Reef Map","Acid Caverns Map","Lava Chamber Map","Dark Forest Map","Beach Map","Core Map","Haunted Mansion Map","Vaal Temple Map","Cursed Crypt Map","Maze Map","Coral Ruins Map","Alleyways Map","Lookout Map","Primordial Pool Map","Precinct Map","Canyon Map","Lighthouse Map","Waterways Map","Toxic Sewer Map","Orchard Map","Crater Map","Iceberg Map","Channel Map","Strand Map","Wasteland Map","Coves Map","Estuary Map","Colosseum Map","Terrace Map","Primordial Blocks Map","Defiled Cathedral Map","Sulphur Vents Map","Shipyard Map","Leyline Map","Moon Temple Map","Ashen Wood Map","Palace Map","Sunken City Map","Residence Map","Plaza Map","Pen Map","Arcade Map"],"Liver":["Lair Map","Academy Map","Colonnade Map","Graveyard Map","Plateau Map","Scriptorium Map","Crimson Temple Map","Laboratory Map","Overgrown Shrine Map","Fungal Hollow Map","Courtyard Map","Mesa Map","Port Map","Arena Map","Carcass Map","Temple Map","Racecourse Map","Dungeon Map","Shrine Map","Sepulchre Map","Desert Spring Map","Courthouse Map","Overgrown Ruin Map","Ancient City Map","Necropolis Map","Waste Pool Map","Desert Map","Grotto Map","Reef Map","Acid Caverns Map","City Square Map","Lava Chamber Map","Dark Forest Map","Beach Map","Core Map","Peninsula Map","Haunted Mansion Map","Mausoleum Map","Vaal Temple Map","Cursed Crypt Map","Arsenal Map","Underground Sea Map","Relic Chambers Map","Coral Ruins Map","Alleyways Map","Lookout Map","Primordial Pool Map","Precinct Map","Canyon Map","Lighthouse Map","Gardens Map","Waterways Map","Promenade Map","Tower Map","Conservatory Map","Shore Map","Crystal Ore Map","Ramparts Map","Malformation Map","Crater Map","Fields Map","Iceberg Map","Bazaar Map","Channel Map","Phantasmagoria Map","Pier Map","Coves Map","Cells Map","Colosseum Map","Excavation Map","Museum Map","Primordial Blocks Map","Defiled Cathedral Map","Geode Map","Sulphur Vents Map","Shipyard Map","Vault Map","Ivory Temple Map","Moon Temple Map","Ashen Wood Map","Palace Map","Sunken City Map","Ghetto Map","Cage Map","Factory Map","Residence Map","Caldera Map"]}} -------------------------------------------------------------------------------- /data_trade/currencyNames.json: -------------------------------------------------------------------------------- 1 | { 2 | "currencyNames" : { 3 | "eng" : { 4 | "Orb_of_Alchemy" : "alchemy", 5 | "Orb_of_Alteration" : "alteration", 6 | "Apprentice_Cartographers_Sextant" : "apprentice sextant", 7 | "Armourers_Scrap" : "armourer's", 8 | "Orb_of_Augmentation" : "augmentation", 9 | "Glassblowers_Bauble" : "bauble", 10 | "Blessed_Orb" : "blessed", 11 | "Blessing_of_Chayula" : "blessing of chayula", 12 | "Blessing_of_Esh" : "blessing of esh", 13 | "Blessing_of_Tul" : "blessing of tul", 14 | "Blessing_of_Uul-Netol" : "blessing of uul-netol", 15 | "Blessing_of_Xoph" : "blessing of xoph", 16 | "Orb_of_Chance" : "chance", 17 | "Chaos_Orb" : "chaos", 18 | "Chayulas_Breachstone" : "chayula's breachstone", 19 | "Fragment_of_the_Chimera" : "chimera", 20 | "Cartographers_Chisel" : "chisel", 21 | "Chromatic_Orb" : "chrome", 22 | "Perandus_Coin" : "coin", 23 | "Sacrifice_of_Dawn" : "dawn", 24 | "Deafening_Essence_of_Anger" : "deafening essence of anger", 25 | "Deafening_Essence_of_Anguish" : "deafening essence of anguish", 26 | "Deafening_essence_of_contempt" : "deafening essence of contempt", 27 | "Deafening_essence_of_doubt" : "deafening essence of doubt", 28 | "Deafening_essence_of_dread" : "deafening essence of dread", 29 | "Deafening_essence_of_envy" : "deafening essence of envy", 30 | "Deafening_essence_of_fear" : "deafening essence of fear", 31 | "Deafening_essence_of_greed" : "deafening essence of greed", 32 | "Deafening_essence_of_hatred" : "deafening essence of hatred", 33 | "deafening_essence_of_loathing" : "deafening essence of loathing", 34 | "deafening_essence_of_misery" : "deafening essence of misery", 35 | "deafening_essence_of_rage" : "deafening essence of rage", 36 | "deafening_essence_of_scorn" : "deafening essence of scorn", 37 | "deafening_essence_of_sorrow" : "deafening essence of sorrow", 38 | "deafening_essence_of_spite" : "deafening essence of spite", 39 | "deafening_essence_of_suffering" : "deafening essence of suffering", 40 | "deafening_essence_of_torment" : "deafening essence of torment", 41 | "deafening_essence_of_woe" : "deafening essence of woe", 42 | "deafening_essence_of_wrath" : "deafening essence of wrath", 43 | "deafening_essence_of_zeal" : "deafening essence of zeal", 44 | "Divine_Orb" : "divine", 45 | "Sacrifice_of_Dusk" : "dusk", 46 | "Ebers_Key" : "eber's", 47 | "eshs_breachstone" : "esh's breachstone", 48 | "essence_of_delirium" : "essence of delirium", 49 | "essence_of_horror" : "essence of horror", 50 | "essence_of_hysteria" : "essence of hysteria", 51 | "essence_of_insanity" : "essence of insanity", 52 | "Eternal_Orb" : "eternal", 53 | "Exalted_Orb" : "exalted", 54 | "Orb_of_Fusing" : "fusing", 55 | "Gemcutters_Prism" : "gcp", 56 | "Mortal_Grief" : "grief", 57 | "Mortal_Hope" : "hope", 58 | "Fragment_of_the_Hydra" : "hydra", 59 | "Mortal_Ignorance" : "ignorance", 60 | "Inyas_Key" : "inya's", 61 | "Jewellers_Orb" : "jeweller's", 62 | "Journeyman_Cartographers_Sextant" : "journeyman sextant", 63 | "Master_Cartographers_Sextant" : "master sextant", 64 | "Sacrifice_of_Midnight" : "midnight", 65 | "Fragment_of_the_Minotaur" : "minotaur", 66 | "Mirror_of_Kalandra" : "mirror", 67 | "Mortal_Set" : "mortal set", 68 | "Sacrifice_of_Noon" : "noon", 69 | "Offering_to_the_Goddess" : "offering", 70 | "Pale_Court_set" : "pale court set", 71 | "Fragment_of_the_Phoenix" : "phoenix", 72 | "Portal_Scroll" : "portal", 73 | "Mortal_Rage" : "rage", 74 | "Regal_Orb" : "regal", 75 | "Orb_of_Regret" : "regret", 76 | "Remnant_of_Corruption" : "remnant of corruption", 77 | "Sacrifice_Set" : "sacrifice set", 78 | "Orb_of_Scouring" : "scouring", 79 | "screaming_essence_of_anger" : "screaming essence of anger", 80 | "screaming_essence_of_anguish" : "screaming essence of anguish", 81 | "screaming_essence_of_contempt" : "screaming essence of contempt", 82 | "screaming_essence_of_doubt" : "screaming essence of doubt", 83 | "screaming_essence_of_dread" : "screaming essence of dread", 84 | "screaming_essence_of_envy" : "screaming essence of envy", 85 | "screaming_essence_of_fear" : "screaming essence of fear", 86 | "screaming_essence_of_greed" : "screaming essence of greed", 87 | "screaming_essence_of_hatred" : "screaming essence of hatred", 88 | "screaming_essence_of_loathing" : "screaming essence of loathing", 89 | "screaming_essence_of_misery" : "screaming essence of misery", 90 | "screaming_essence_of_rage" : "screaming essence of rage", 91 | "screaming_essence_of_scorn" : "screaming essence of scorn", 92 | "screaming_essence_of_sorrow" : "screaming essence of sorrow", 93 | "screaming_essence_of_spite" : "screaming essence of spite", 94 | "screaming_essence_of_suffering" : "screaming essence of suffering", 95 | "screaming_essence_of_torment" : "screaming essence of torment", 96 | "screaming_essence_of_woe" : "screaming essence of woe", 97 | "screaming_essence_of_wrath" : "screaming essence of wrath", 98 | "screaming_essence_of_zeal" : "screaming essence of zeal", 99 | "Shaper_Set" : "shaper set", 100 | "shrieking_essence_of_anger" : "shrieking essence of anger", 101 | "shrieking_essence_of_anguish" : "shrieking essence of anguish", 102 | "shrieking_essence_of_contempt" : "shrieking essence of contempt", 103 | "shrieking_essence_of_doubt" : "shrieking essence of doubt", 104 | "shrieking_essence_of_dread" : "shrieking essence of dread", 105 | "shrieking_essence_of_envy" : "shrieking essence of envy", 106 | "shrieking_essence_of_fear" : "shrieking essence of fear", 107 | "shrieking_essence_of_greed" : "shrieking essence of greed", 108 | "shrieking_essence_of_hatred" : "shrieking essence of hatred", 109 | "shrieking_essence_of_loathing" : "shrieking essence of loathing", 110 | "shrieking_essence_of_misery" : "shrieking essence of misery", 111 | "shrieking_essence_of_rage" : "shrieking essence of rage", 112 | "shrieking_essence_of_scorn" : "shrieking essence of scorn", 113 | "shrieking_essence_of_sorrow" : "shrieking essence of sorrow", 114 | "shrieking_essence_of_spite" : "shrieking essence of spite", 115 | "shrieking_essence_of_suffering" : "shrieking essence of suffering", 116 | "shrieking_essence_of_torment" : "shrieking essence of torment", 117 | "shrieking_essence_of_woe" : "shrieking essence of woe", 118 | "shrieking_essence_of_wrath" : "shrieking essence of wrath", 119 | "shrieking_essence_of_zeal" : "shrieking essence of zeal", 120 | "Silver_Coin" : "silver", 121 | "splinter_of_chayula" : "splinter of chayula", 122 | "splinter_of_esh" : "splinter of esh", 123 | "splinter_of_tul" : "splinter of tul", 124 | "splinter_of_uul-netol" : "splinter of uul-netol", 125 | "splinter_of_xoph" : "splinter of xoph", 126 | "Orb_of_Transmutation" : "transmutation", 127 | "tuls_breachstone" : "tul's breachstone", 128 | "uul-netols_breachstone" : "uul-netol's breachstone", 129 | "Vaal_Orb" : "vaal", 130 | "Volkuurs_Key" : "volkuur's", 131 | "Blacksmiths_Whetstone" : "whetstone", 132 | "Scroll_of_Wisdom" : "wisdom", 133 | "xophs_breachstone" : "xoph's breachstone", 134 | "Yriels_Key" : "yriel's", 135 | "Divine_Vessel": "divine vessel", 136 | "Orb_of_Annulment": "orb of annulment", 137 | "Orb_of Binding": "orb of binding", 138 | "Orb_of_Horizons": "orb of horizons", 139 | "Harbinger's_Orb": "harbinger's orb", 140 | "Ancient_Orb": "ancient orb", 141 | "Annulment_Shard": "annulment shard", 142 | "Exalted_Shard": "exalted shard", 143 | "Mirror_Shard": "mirror shard", 144 | "Ancient_Reliquary_Key": "ancient reliquary key" 145 | } 146 | } 147 | } -------------------------------------------------------------------------------- /data/item_bases.json: -------------------------------------------------------------------------------- 1 | {"item_bases":{"Agate Amulet":{"Item Class":"Amulets","Level":16,"Drop Level":20,"Width":1,"Height":1},"Amber Amulet":{"Item Class":"Amulets","Level":5,"Drop Level":7,"Width":1,"Height":1},"Amethyst Flask":{"Item Class":"Utility Flasks","Level":18,"Drop Level":18,"Width":1,"Height":2},"Aquamarine Flask":{"Item Class":"Utility Flasks","Level":27,"Drop Level":27,"Width":1,"Height":2},"Ashscale Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Avian Twins Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Basalt Flask":{"Item Class":"Utility Flasks","Level":40,"Drop Level":40,"Width":1,"Height":2},"Bismuth Flask":{"Item Class":"Utility Flasks","Level":8,"Drop Level":8,"Width":1,"Height":2},"Black Maw Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Blue Pearl Amulet":{"Item Class":"Amulets","Level":77,"Drop Level":77,"Width":1,"Height":1},"Bonespire Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Breakrib Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Chrysalis Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":35,"Width":1,"Height":1},"Citrine Amulet":{"Item Class":"Amulets","Level":16,"Drop Level":20,"Width":1,"Height":1},"Clutching Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Colossal Hybrid Flask":{"Item Class":"Hybrid Flasks","Level":40,"Drop Level":40,"Width":1,"Height":2},"Colossal Life Flask":{"Item Class":"Life Flasks","Level":30,"Drop Level":30,"Width":1,"Height":2},"Colossal Mana Flask":{"Item Class":"Mana Flasks","Level":30,"Drop Level":30,"Width":1,"Height":2},"Coral Amulet":{"Item Class":"Amulets","Level":1,"Drop Level":3,"Width":1,"Height":1},"Deadhand Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Deep One Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Diamond Flask":{"Item Class":"Critical Utility Flasks","Level":27,"Drop Level":27,"Width":1,"Height":2},"Divine Life Flask":{"Item Class":"Life Flasks","Level":60,"Drop Level":60,"Width":1,"Height":2},"Divine Mana Flask":{"Item Class":"Mana Flasks","Level":60,"Drop Level":60,"Width":1,"Height":2},"Eternal Life Flask":{"Item Class":"Life Flasks","Level":65,"Drop Level":65,"Width":1,"Height":2},"Eternal Mana Flask":{"Item Class":"Mana Flasks","Level":65,"Drop Level":65,"Width":1,"Height":2},"Fangjaw Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Giant Life Flask":{"Item Class":"Life Flasks","Level":24,"Drop Level":24,"Width":1,"Height":2},"Giant Mana Flask":{"Item Class":"Mana Flasks","Level":24,"Drop Level":24,"Width":1,"Height":2},"Gold Amulet":{"Item Class":"Amulets","Level":8,"Drop Level":15,"Width":1,"Height":1},"Grand Life Flask":{"Item Class":"Life Flasks","Level":18,"Drop Level":18,"Width":1,"Height":2},"Grand Mana Flask":{"Item Class":"Mana Flasks","Level":18,"Drop Level":18,"Width":1,"Height":2},"Granite Flask":{"Item Class":"Utility Flasks","Level":27,"Drop Level":27,"Width":1,"Height":2},"Greater Life Flask":{"Item Class":"Life Flasks","Level":12,"Drop Level":12,"Width":1,"Height":2},"Greater Mana Flask":{"Item Class":"Mana Flasks","Level":12,"Drop Level":12,"Width":1,"Height":2},"Greatwolf Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Hallowed Hybrid Flask":{"Item Class":"Hybrid Flasks","Level":60,"Drop Level":60,"Width":1,"Height":2},"Hallowed Life Flask":{"Item Class":"Life Flasks","Level":42,"Drop Level":42,"Width":1,"Height":2},"Hallowed Mana Flask":{"Item Class":"Mana Flasks","Level":42,"Drop Level":42,"Width":1,"Height":2},"Hexclaw Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Horned Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Jade Amulet":{"Item Class":"Amulets","Level":5,"Drop Level":7,"Width":1,"Height":1},"Jade Flask":{"Item Class":"Utility Flasks","Level":27,"Drop Level":27,"Width":1,"Height":2},"Jet Amulet":{"Item Class":"Amulets","Level":12,"Drop Level":1,"Width":1,"Height":1},"Lapis Amulet":{"Item Class":"Amulets","Level":5,"Drop Level":7,"Width":1,"Height":1},"Large Hybrid Flask":{"Item Class":"Hybrid Flasks","Level":30,"Drop Level":30,"Width":1,"Height":2},"Large Life Flask":{"Item Class":"Life Flasks","Level":6,"Drop Level":6,"Width":1,"Height":2},"Large Mana Flask":{"Item Class":"Mana Flasks","Level":6,"Drop Level":6,"Width":1,"Height":2},"Lone Antler Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Longtooth Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Mandible Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Marble Amulet":{"Item Class":"Amulets","Level":74,"Drop Level":74,"Width":1,"Height":1},"Medium Hybrid Flask":{"Item Class":"Hybrid Flasks","Level":20,"Drop Level":20,"Width":1,"Height":2},"Medium Life Flask":{"Item Class":"Life Flasks","Level":3,"Drop Level":3,"Width":1,"Height":2},"Medium Mana Flask":{"Item Class":"Mana Flasks","Level":3,"Drop Level":3,"Width":1,"Height":2},"Monkey Paw Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Monkey Twins Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Onyx Amulet":{"Item Class":"Amulets","Level":20,"Drop Level":25,"Width":1,"Height":1},"Paua Amulet":{"Item Class":"Amulets","Level":1,"Drop Level":3,"Width":1,"Height":1},"Primal Skull Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Quartz Flask":{"Item Class":"Utility Flasks","Level":27,"Drop Level":27,"Width":1,"Height":2},"Quicksilver Flask":{"Item Class":"Utility Flasks","Level":4,"Drop Level":4,"Width":1,"Height":2},"Rot Head Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Rotfeather Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Ruby Amulet":{"Item Class":"Amulets","Level":1,"Drop Level":50,"Width":1,"Height":1},"Ruby Flask":{"Item Class":"Utility Flasks","Level":18,"Drop Level":18,"Width":1,"Height":2},"Sacred Hybrid Flask":{"Item Class":"Hybrid Flasks","Level":50,"Drop Level":50,"Width":1,"Height":2},"Sacred Life Flask":{"Item Class":"Life Flasks","Level":36,"Drop Level":36,"Width":1,"Height":2},"Sacred Mana Flask":{"Item Class":"Mana Flasks","Level":36,"Drop Level":36,"Width":1,"Height":2},"Sanctified Life Flask":{"Item Class":"Life Flasks","Level":50,"Drop Level":50,"Width":1,"Height":2},"Sanctified Mana Flask":{"Item Class":"Mana Flasks","Level":50,"Drop Level":50,"Width":1,"Height":2},"Sapphire Flask":{"Item Class":"Utility Flasks","Level":18,"Drop Level":18,"Width":1,"Height":2},"Silver Flask":{"Item Class":"Utility Flasks","Level":22,"Drop Level":22,"Width":1,"Height":2},"Small Hybrid Flask":{"Item Class":"Hybrid Flasks","Level":10,"Drop Level":10,"Width":1,"Height":2},"Small Life Flask":{"Item Class":"Life Flasks","Level":1,"Drop Level":1,"Width":1,"Height":2},"Small Mana Flask":{"Item Class":"Mana Flasks","Level":1,"Drop Level":1,"Width":1,"Height":2},"Spinefuse Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Splitnewt Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Stibnite Flask":{"Item Class":"Utility Flasks","Level":14,"Drop Level":14,"Width":1,"Height":2},"Sulphur Flask":{"Item Class":"Utility Flasks","Level":35,"Drop Level":35,"Width":1,"Height":2},"Three Hands Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Three Rat Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Topaz Flask":{"Item Class":"Utility Flasks","Level":18,"Drop Level":18,"Width":1,"Height":2},"Turquoise Amulet":{"Item Class":"Amulets","Level":16,"Drop Level":20,"Width":1,"Height":1},"Undying Flesh Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Wereclaw Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":1,"Width":1,"Height":1},"Writhing Talisman":{"Item Class":"Amulets","Level":1,"Drop Level":35,"Width":1,"Height":1}}} 2 | --------------------------------------------------------------------------------