Release 1.4.14

- Added "Have you been Crit Recently?" option
- Fixed template tooltips in all/shared items lists
- Fixed issue causing mod ranges to be lost when adding to shared item list
This commit is contained in:
Openarl
2017-05-24 00:43:58 +10:00
parent 749cc4283f
commit e7490aa7d7
13 changed files with 336 additions and 13 deletions

1
.gitignore vendored
View File

@@ -250,3 +250,4 @@ ModelManifest.xml
# FAKE - F# Make
.fake/
*.lnk
/Export/stat_descriptions.txt

View File

@@ -259,6 +259,9 @@ local varList = {
{ var = "conditionBeenHitRecently", type = "check", label = "Have you been Hit Recently?", ifCond = "BeenHitRecently", apply = function(val, modList, enemyModList)
modList:NewMod("Condition:BeenHitRecently", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
end },
{ var = "conditionBeenCritRecently", type = "check", label = "Have you been Crit Recently?", ifCond = "BeenCritRecently", apply = function(val, modList, enemyModList)
modList:NewMod("Condition:BeenCritRecently", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
end },
{ var = "conditionBeenSavageHitRecently", type = "check", label = "Have you been Savage Hit Recently?", ifCond = "BeenSavageHitRecently", apply = function(val, modList, enemyModList)
modList:NewMod("Condition:BeenSavageHitRecently", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
end },

View File

@@ -57,7 +57,7 @@ end
function ItemListClass:AddValueTooltip(index, itemId)
local item = self.itemsTab.list[itemId]
if not main.popups[1] then
self.itemsTab:AddItemTooltip(item, nil, true)
self.itemsTab:AddItemTooltip(item)
return data.colorCodes[item.rarity], true
end
end

View File

@@ -31,7 +31,7 @@ end
function SharedItemListClass:AddValueTooltip(index, item)
if not main.popups[1] then
self.itemsTab:AddItemTooltip(item, nil, true)
self.itemsTab:AddItemTooltip(item)
return data.colorCodes[item.rarity], true
end
end
@@ -42,7 +42,7 @@ end
function SharedItemListClass:ReceiveDrag(type, value, source)
if type == "Item" then
local newItem = itemLib.makeItemFromRaw(value.raw)
local newItem = itemLib.makeItemFromRaw(itemLib.createItemRaw(value))
if not value.id then
itemLib.normaliseQuality(newItem)
end

View File

@@ -77,7 +77,7 @@ local SkillsTabClass = common.NewClass("SkillsTab", "UndoHandler", "ControlHost"
local item = self.displayGroup.sourceItem or { rarity = "NORMAL", name = "?" }
local itemName = data.colorCodes[item.rarity]..item.name.."^7"
local activeGem = self.displayGroup.gemList[1]
local label = [[^7This is a special group created for the ']]..activeGem.color..activeGem.name..[[^7' skill,
local label = [[^7This is a special group created for the ']]..activeGem.color..(activeGem.name or activeGem.nameSpec)..[[^7' skill,
which is being provided by ']]..itemName..[['.
You cannot delete this group, but it will disappear if you un-equip the item.]]
if not self.displayGroup.noSupports then

114
Data/ModCorrupted.lua Normal file
View File

@@ -0,0 +1,114 @@
-- Item data (c) Grinding Gear Games
return {
["MovementVelocityCorrupted"] = { "(2-5)% increased Movement Speed", weightKey = { "amulet", "boots", "default", }, weightVal = { 1000, 1000, 0, }, },
["MaxFrenzyChargesCorrupted"] = { "+1 to Maximum Frenzy Charges", weightKey = { "boots", "amulet", "default", }, weightVal = { 1000, 1000, 0, }, },
["MaxPowerChargesCorrupted"] = { "+1 to Maximum Power Charges", weightKey = { "two_hand_weapon", "default", }, weightVal = { 1000, 0, }, },
["MinionDamageCorrupted"] = { "Minions deal (15-20)% increased Damage", weightKey = { "helmet", "amulet", "default", }, weightVal = { 1000, 1000, 0, }, },
["SocketedVaalGemsIncreaseCorrupted"] = { "+(1-2) to Level of Socketed Vaal Gems", weightKey = { "helmet", "gloves", "boots", "body_armour", "shield", "default", }, weightVal = { 1000, 1000, 1000, 1000, 1000, 0, }, },
["DamageTakenFlatReductionCorrupted1"] = { "-(10-5) Physical Damage taken from Attacks", weightKey = { "amulet", "shield", "default", }, weightVal = { 1000, 1000, 0, }, },
["DamageTakenFlatReductionCorrupted2"] = { "-(16-11) Physical Damage taken from Attacks", weightKey = { "amulet", "shield", "default", }, weightVal = { 1000, 1000, 0, }, },
["DamageTakenFlatReductionCorrupted3"] = { "-(24-17) Physical Damage taken from Attacks", weightKey = { "amulet", "shield", "default", }, weightVal = { 1000, 1000, 0, }, },
["FireDamageLifeLeechPermyriadCorrupted"] = { "0.2% of Fire Damage Leeched as Life", weightKey = { "amulet", "quiver", "two_hand_weapon", "weapon", "default", }, weightVal = { 1000, 1000, 1000, 200, 0, }, },
["ColdDamageLifeLeechPermyriadCorrupted"] = { "0.2% of Cold Damage Leeched as Life", weightKey = { "amulet", "quiver", "two_hand_weapon", "weapon", "default", }, weightVal = { 1000, 1000, 1000, 200, 0, }, },
["LightningDamageLifeLeechPermyriadCorrupted"] = { "0.2% of Lightning Damage Leeched as Life", weightKey = { "amulet", "quiver", "two_hand_weapon", "weapon", "default", }, weightVal = { 1000, 1000, 1000, 200, 0, }, },
["IncreasedCastSpeedCorrupted"] = { "(4-6)% increased Cast Speed", weightKey = { "no_caster_mods", "ring", "gloves", "focus", "default", }, weightVal = { 0, 500, 1000, 1000, 0, }, },
["ChanceToFleeCorrupted"] = { "5% chance to Cause Monsters to Flee", weightKey = { "weapon", "default", }, weightVal = { 1000, 0, }, },
["BlockChanceCorrupted"] = { "(2-4)% Chance to Block", weightKey = { "staff", "amulet", "default", }, weightVal = { 1000, 1000, 0, }, },
["LocalAddedChaosDamageCorrupted1"] = { "Adds (1-2) to (3-5) Chaos Damage", weightKey = { "no_attack_mods", "weapon", "default", }, weightVal = { 0, 1000, 0, }, },
["LocalAddedChaosDamageCorrupted2"] = { "Adds (6-8) to (11-13) Chaos Damage", weightKey = { "no_attack_mods", "weapon", "default", }, weightVal = { 0, 1000, 0, }, },
["LocalAddedChaosDamageCorrupted3"] = { "Adds (8-11) to (19-23) Chaos Damage", weightKey = { "no_attack_mods", "weapon", "default", }, weightVal = { 0, 1000, 0, }, },
["AddedChaosDamageCorrupted1"] = { "Adds 1 to (2-3) Chaos Damage to Attacks", weightKey = { "no_attack_mods", "ring", "default", }, weightVal = { 0, 1000, 0, }, },
["AddedChaosDamageCorrupted2"] = { "Adds (3-4) to (6-8) Chaos Damage to Attacks", weightKey = { "no_attack_mods", "ring", "default", }, weightVal = { 0, 1000, 0, }, },
["AddedChaosDamageCorrupted3"] = { "Adds (7-9) to (11-13) Chaos Damage to Attacks", weightKey = { "no_attack_mods", "ring", "default", }, weightVal = { 0, 1000, 0, }, },
["SpellBlockChanceCorrupted"] = { "(2-4)% Chance to Block Spells", weightKey = { "staff", "amulet", "shield", "default", }, weightVal = { 1000, 1000, 1000, 0, }, },
["AttackSpeedCorrupted"] = { "(4-8)% increased Attack Speed", weightKey = { "no_attack_mods", "amulet", "default", }, weightVal = { 0, 1000, 0, }, },
["WeaponElementalDamageCorrupted"] = { "(6-12)% increased Elemental Damage with Weapons", weightKey = { "no_attack_mods", "ring", "amulet", "default", }, weightVal = { 0, 1000, 1000, 0, }, },
["CullingStrikeCorrupted"] = { "Culling Strike", weightKey = { "sword", "axe", "dagger", "wand", "bow", "claw", "default", }, weightVal = { 1000, 1000, 1000, 1000, 1000, 1000, 0, }, },
["ManaOnLifeLostCorrupted"] = { "(3-6)% of Damage taken gained as Mana when Hit", weightKey = { "amulet", "ring", "shield", "default", }, weightVal = { 1000, 1000, 1000, 0, }, },
["MaximumResistanceCorrupted"] = { "+1% to all maximum Resistances", weightKey = { "amulet", "body_armour", "default", }, weightVal = { 100, 200, 0, }, },
["AdditionalCurseCorrupted"] = { "Enemies can have 1 additional Curse", weightKey = { "amulet", "default", }, weightVal = { 500, 0, }, },
["ChanceToAvoidFreezeCorruption"] = { "(10-20)% chance to Avoid being Frozen", weightKey = { "amulet", "body_armour", "ring", "default", }, weightVal = { 500, 500, 100, 0, }, },
["ChanceToAvoidIgniteCorruption"] = { "(10-20)% chance to Avoid being Ignited", weightKey = { "amulet", "body_armour", "shield", "default", }, weightVal = { 500, 500, 500, 0, }, },
["ChaosResistCorruption"] = { "+(2-4)% to Chaos Resistance", weightKey = { "fishing_rod", "weapon", "jewel", "default", }, weightVal = { 0, 0, 0, 2000, }, },
["ChanceToDodgeCorruption"] = { "(2-4)% chance to Dodge Attacks", weightKey = { "boots", "default", }, weightVal = { 1000, 0, }, },
["CannotBeKnockedBackCorruption"] = { "Cannot be Knocked Back", weightKey = { "boots", "body_armour", "default", }, weightVal = { 1000, 1000, 0, }, },
["GemLevelCorruption"] = { "+1 to Level of Socketed Gems", weightKey = { "boots", "gloves", "body_armour", "shield", "default", }, weightVal = { 1000, 1000, 1000, 1000, 0, }, },
["AvoidShockCorruption"] = { "(10-20)% chance to Avoid being Shocked", weightKey = { "body_armour", "belt", "default", }, weightVal = { 1000, 1000, 0, }, },
["CannotBeLeechedFromCorruption"] = { "Enemies Cannot Leech Life From You", weightKey = { "helmet", "default", }, weightVal = { 1000, 0, }, },
["DamageTakenFromManaBeforeLifeCorruption"] = { "When Hit, (3-5)% of Damage is taken from Mana before Life", weightKey = { "helmet", "default", }, weightVal = { 1000, 0, }, },
["DamageConversionFireCorruption"] = { "(10-20)% of Physical Damage Converted to Fire Damage", weightKey = { "quiver", "sceptre", "default", }, weightVal = { 500, 500, 0, }, },
["DamageConversionColdCorruption"] = { "(10-20)% of Physical Damage Converted to Cold Damage", weightKey = { "quiver", "sceptre", "default", }, weightVal = { 500, 500, 0, }, },
["DamageConversionLighningCorruption"] = { "(10-20)% of Physical Damage Converted to Lightning Damage", weightKey = { "quiver", "sceptre", "default", }, weightVal = { 500, 500, 0, }, },
["AdditionalArrowsCorruption"] = { "Adds an additional Arrow", weightKey = { "no_attack_mods", "quiver", "bow", "default", }, weightVal = { 0, 1000, 500, 0, }, },
["AdditionalAOERangeCorruption"] = { "(4-6)% increased Area of Effect of Area Skills", weightKey = { "belt", "default", }, weightVal = { 1000, 0, }, },
["IncreasedDurationCorruption"] = { "(5-8)% increased Skill Effect Duration", weightKey = { "belt", "default", }, weightVal = { 1000, 0, }, },
["AdditionalTrapsCorruption_"] = { "Can have up to 1 additional Trap placed at a time", weightKey = { "belt", "default", }, weightVal = { 1000, 0, }, },
["MaximumEnduranceChargesCorruption_"] = { "+1 to Maximum Endurance Charges", weightKey = { "belt", "default", }, weightVal = { 1000, 0, }, },
["DualWieldBlockCorruption"] = { "(3-6)% additional Block Chance while Dual Wielding", weightKey = { "sceptre", "axe", "mace", "wand", "one_hand_weapon", "default", }, weightVal = { 0, 0, 0, 0, 1000, 0, }, },
["PierceCurruption"] = { "(5-10)% chance of Arrows Piercing", weightKey = { "no_attack_mods", "bow", "default", }, weightVal = { 0, 1000, 0, }, },
["GlobalPierceCorruption"] = { "(4-8)% chance of Projectiles Piercing", weightKey = { "wand", "default", }, weightVal = { 1000, 0, }, },
["CurseOnHitTemporalChainsCurruption"] = { "Curse Enemies with level (10-12) Temporal Chains on Hit", weightKey = { "gloves", "default", }, weightVal = { 400, 0, }, },
["CurseOnHitVulnerabilityCorruption"] = { "Curse Enemies with level (10-12) Vulnerability on Hit", weightKey = { "gloves", "default", }, weightVal = { 400, 0, }, },
["CurseOnHitElementalWeaknessCorruption"] = { "Curse Enemies with level (10-12) Elemental Weakness on Hit", weightKey = { "gloves", "default", }, weightVal = { 400, 0, }, },
["SupportedByCastOnStunCorruption"] = { "Socketed Gems are supported by level 12 Cast when Stunned", weightKey = { "gloves", "helmet", "default", }, weightVal = { 1000, 1000, 0, }, },
["SupportedByCastOnCritCorruption"] = { "Socketed Gems are supported by level 12 Cast On Crit", weightKey = { "gloves", "helmet", "default", }, weightVal = { 1000, 1000, 0, }, },
["SupportedByMeleeSplashCorruption"] = { "Socketed Gems are supported by level 10 Melee Splash", weightKey = { "no_attack_mods", "wand", "one_hand_weapon", "default", }, weightVal = { 0, 0, 1000, 0, }, },
["SupportedByAddedFireDamageCorrupted"] = { "Socketed Gems are Supported by level 12 Added Fire Damage", weightKey = { "two_hand_weapon", "mace", "default", }, weightVal = { 0, 1000, 0, }, },
["SupportedByStunCorrupted"] = { "Socketed Gems are supported by level 6 Stun", weightKey = { "mace", "default", }, weightVal = { 1000, 0, }, },
["LocalMeleeWeaponRangeCorrupted"] = { "+(1-2) to Weapon range", weightKey = { "no_attack_mods", "sceptre", "rapier", "wand", "bow", "weapon", "default", }, weightVal = { 0, 0, 0, 0, 0, 1000, 0, }, },
["SocketedSkillsManaMultiplierCorrupted"] = { "Socketed Skill Gems get a 95% Mana Multiplier", weightKey = { "body_armour", "default", }, weightVal = { 1000, 0, }, },
["SupportedByElementalProliferationCorrupted"] = { "Socketed Gems are Supported by level 1 Elemental Proliferation", weightKey = { "wand", "default", }, weightVal = { 1000, 0, }, },
["SupportedByAccuracyCorrupted_"] = { "Socketed Gems are supported by level 12 Additional Accuracy", weightKey = { "no_attack_mods", "one_hand_weapon", "sword", "default", }, weightVal = { 0, 0, 1000, 0, }, },
["SupportedByMultistrikeCorrupted"] = { "Socketed Gems are supported by level 1 Multistrike", weightKey = { "no_attack_mods", "two_hand_weapon", "sword", "default", }, weightVal = { 0, 0, 1000, 0, }, },
["SupportedByAreaOfEffectCorrupted_"] = { "Socketed Gems are Supported by level 1 Increased Area of Effect", weightKey = { "staff", "default", }, weightVal = { 1000, 0, }, },
["SupportedByLifeLeechCorrupted"] = { "Socketed Gems are supported by level 15 Life Leech", weightKey = { "claw", "default", }, weightVal = { 1000, 0, }, },
["SupportedByCriticalMultiplierCorrupted"] = { "Socketed Gems are supported by level 14 Increased Critical Damage", weightKey = { "dagger", "default", }, weightVal = { 1000, 0, }, },
["SupportedByForkCorrupted"] = { "Socketed Gems are supported by level 1 Fork", weightKey = { "bow", "default", }, weightVal = { 1000, 0, }, },
["SupportedByWeaponElementalDamageCorrupted_"] = { "Socketed Gems are supported by level 12 Weapon Elemental Damage", weightKey = { "no_attack_mods", "sceptre", "default", }, weightVal = { 0, 1000, 0, }, },
["SupportedByFasterCastCorrupted"] = { "Socketed Gems are Supported by Level 10 Faster Casting", weightKey = { "no_caster_mods", "sceptre", "default", }, weightVal = { 0, 1000, 0, }, },
["PuritySkillCorrupted"] = { "Grants level 15 Purity of Elements Skill", weightKey = { "amulet", "belt", "default", }, weightVal = { 300, 1000, 0, }, },
["CriticalWeaknessSkillCorrupted"] = { "Grants level 10 Assassin's Mark Skill", weightKey = { "gloves", "default", }, weightVal = { 1000, 0, }, },
["PurityOfFireSkillCorrupted_"] = { "Grants level 15 Purity of Fire Skill", weightKey = { "amulet", "body_armour", "default", }, weightVal = { 150, 500, 0, }, },
["PurityOfColdSkillCorrupted"] = { "Grants level 15 Purity of Ice Skill", weightKey = { "amulet", "body_armour", "default", }, weightVal = { 150, 500, 0, }, },
["PurityOfLightningSkillCorrupted"] = { "Grants level 15 Purity of Lightning Skill", weightKey = { "amulet", "body_armour", "default", }, weightVal = { 150, 500, 0, }, },
["WrathSkillCorrupted"] = { "Grants level 7 Wrath Skill", weightKey = { "helmet", "default", }, weightVal = { 330, 0, }, },
["HatredSkillCorrupted"] = { "Grants level 11 Hatred Skill", weightKey = { "helmet", "default", }, weightVal = { 330, 0, }, },
["AngerSkillCorrupted"] = { "Grants level 15 Anger Skill", weightKey = { "helmet", "default", }, weightVal = { 330, 0, }, },
["DeterminationSkillCorrupted"] = { "Grants level 16 Determination Skill", weightKey = { "shield", "default", }, weightVal = { 330, 0, }, },
["GraceSkillCorrupted"] = { "Grants level 16 Grace Skill", weightKey = { "shield", "default", }, weightVal = { 330, 0, }, },
["DisciplineSkillCorrupted"] = { "Grants level 16 Discipline Skill", weightKey = { "shield", "default", }, weightVal = { 330, 0, }, },
["ProjectileWeaknessSkillCorrupted"] = { "Grants level 15 Projectile Weakness Skill", weightKey = { "quiver", "default", }, weightVal = { 1000, 0, }, },
["ElementalWeaknessSkillCorrupted"] = { "Grants level 10 Elemental Weakness Skill", weightKey = { "wand", "default", }, weightVal = { 1000, 0, }, },
["VulnerabilitySkillCorrupted"] = { "Grants level 10 Vulnerability Skill", weightKey = { "axe", "default", }, weightVal = { 1000, 0, }, },
["ClaritySkillCorrupted1"] = { "Grants level 4 Clarity Skill", weightKey = { "amulet", "belt", "default", }, weightVal = { 250, 350, 0, }, },
["ClaritySkillCorrupted2"] = { "Grants level 8 Clarity Skill", weightKey = { "amulet", "belt", "default", }, weightVal = { 250, 350, 0, }, },
["ClaritySkillCorrupted3"] = { "Grants level 12 Clarity Skill", weightKey = { "belt", "default", }, weightVal = { 350, 0, }, },
["ClaritySkillCorrupted4"] = { "Grants level 16 Clarity Skill", weightKey = { "belt", "default", }, weightVal = { 350, 0, }, },
["FrostbiteSkillCorrupted"] = { "Grants level 14 Frostbite Skill", weightKey = { "ring", "default", }, weightVal = { 500, 0, }, },
["FlammabilitySkillCorrupted"] = { "Grants level 14 Flammability Skill", weightKey = { "ring", "default", }, weightVal = { 500, 0, }, },
["ConductivitySkillCorrupted"] = { "Grants level 14 Conductivity Skill", weightKey = { "ring", "default", }, weightVal = { 500, 0, }, },
["TemporalChainsSkillCorrupted"] = { "Grants level 14 Temporal Chains Skill", weightKey = { "boots", "default", }, weightVal = { 1000, 0, }, },
["HasteSkillCorrupted"] = { "Grants level 14 Haste Skill", weightKey = { "boots", "default", }, weightVal = { 1000, 0, }, },
["ManaOnHitCorrupted"] = { "+(1-2) Mana gained for each Enemy hit by your Attacks", weightKey = { "no_attack_mods", "ring", "default", }, weightVal = { 0, 500, 0, }, },
["VitalitySkillCorrupted"] = { "Grants level 15 Vitality Skill", weightKey = { "belt", "default", }, weightVal = { 1000, 0, }, },
["FishingQuantityCorrupted"] = { "(5-10)% increased Quantity of Fish Caught", weightKey = { "fishing_rod", "default", }, weightVal = { 1000, 0, }, },
["FishingRarityCorrupted"] = { "(5-10)% increased Rarity of Fish Caught", weightKey = { "fishing_rod", "default", }, weightVal = { 1000, 0, }, },
["CastSpeedCorrupted"] = { "(10-20)% increased Cast Speed", weightKey = { "no_caster_mods", "fishing_rod", "default", }, weightVal = { 0, 1000, 0, }, },
["CanCatchCorruptFishCorrupted"] = { "You can catch Corrupted Fish", weightKey = { "fishing_rod", "default", }, weightVal = { 1000, 0, }, },
["ChaosResistJewelCorrupted"] = { "+(1-3)% to Chaos Resistance", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["ReducedCharacterSizeJewelCorrupted"] = { "1% reduced Character Size", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["ReducedChillDurationJewelCorrupted"] = { "(3-5)% reduced Chill Duration on You", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["ReducedFreezeDurationJewelCorrupted"] = { "(3-5)% reduced Freeze Duration on You", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["ReducedIgniteDurationJewelCorrupted"] = { "(3-5)% reduced Ignite Duration on You", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["ReducedShockDurationJewelCorrupted"] = { "(3-5)% reduced Shock Duration on You", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["IncreasedChargeDurationJewelCorrupted_"] = { "(3-7)% increased Endurance, Frenzy and Power Charge Duration", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["AddedChaosDamageJewelCorrupted"] = { "Adds 1 to (2-3) Chaos Damage to Attacks", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["ChanceToBeCritJewelCorrupted"] = { "(3-5)% additional Chance to receive a Critical Strike", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["DamageWhileDeadJewelCorrupted"] = { "(20-30)% increased Damage while Dead", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["VaalSkillDamageJewelCorrupted"] = { "(5-10)% increased Vaal Skill Damage", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["ChaosDamagePerCorruptedItemJewelCorrupted"] = { "1% increased Chaos Damage per equipped Corrupted Item", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["LifeLeechRatePerCorruptedItemJewelCorrupted"] = { "1% increased Life Leeched per second per equipped Corrupted Item", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["ManaLeechRatePerCorruptedItemJewelCorrupted"] = { "1% increased Mana Leeched per second per equipped Corrupted Item", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
["SilenceImmunityJewelCorrupted"] = { "You cannot be Cursed with Silence", weightKey = { "jewel", "default", }, weightVal = { 1000, 0, }, },
}

195
Export/mods.lua Normal file
View File

@@ -0,0 +1,195 @@
#@
dofile("_common.lua")
loadDat("Mods")
loadDat("Stats")
loadDat("Tags")
loadDat("ItemClasses")
local nk = { }
local statDescriptor = { }
do
local curLang
local curDescriptor = { }
for line in io.lines("stat_descriptions.txt") do
local noDesc = line:match("no_description ([%w_%+%-%%]+)")
if noDesc then
statDescriptor[noDesc] = { }
elseif line:match("description") then
curLang = { }
curDescriptor = { lang = { ["English"] = curLang } }
elseif not curDescriptor.stats then
local stats = line:match("%d+ ([%w_%+%-%% ]+)")
if stats then
curDescriptor.stats = { }
for stat in stats:gmatch("[%w_%+%-%%]+") do
table.insert(curDescriptor.stats, stat)
statDescriptor[stat] = curDescriptor
end
end
else
local langName = line:match('lang ".+"')
if langName then
curLang = { }
curDescriptor.lang[langName] = curLang
else
local statLimits, text, special = line:match('([%d%-#| ]+) "(.-)"%s*(.*)')
if statLimits then
local desc = { text = text, special = { }, limit = { } }
for statLimit in statLimits:gmatch("[%d%-#|]+") do
local limit = { }
if statLimit == "#" then
limit.min = "#"
limit.max = "#"
elseif statLimit:match("^%d+$") then
limit.min = tonumber(statLimit)
limit.max = tonumber(statLimit)
else
limit.min, limit.max = statLimit:match("([%d%-#]+)|([%d%-#]+)")
limit.min = tonumber(limit.min) or limit.min
limit.max = tonumber(limit.max) or limit.max
end
table.insert(desc.limit, limit)
end
for k, v in special:gmatch("([%w%%_]+) (%w+)") do
table.insert(desc.special, {
k = k,
v = tonumber(v) or v,
})
nk[k] = v
end
table.insert(curLang, desc)
end
end
end
end
end
for k, v in pairs(nk) do
--print("'"..k.."' = '"..v.."'")
end
local function matchLimit(lang, val)
for _, desc in ipairs(lang) do
local match = true
for i, limit in ipairs(desc.limit) do
if (limit.max ~= "#" and val[i].min > limit.max) or (limit.min ~= "#" and val[i].min < limit.min) then
match = false
break
end
end
if match then
return desc
end
end
end
local function describeMod(mod)
local out = { }
local stats = { }
for i = 1, 5 do
if mod["StatsKey"..i] then
stats[Stats[mod["StatsKey"..i]].Id] = { min = mod["Stat"..i.."Min"], max = mod["Stat"..i.."Max"], fmt = "d" }
end
end
local descriptors = { }
for s, v in pairs(stats) do
descriptors[statDescriptor[s]] = true
end
for descriptor in pairs(descriptors) do
local val = { }
for i, s in ipairs(descriptor.stats) do
val[i] = stats[s]
end
local desc = matchLimit(descriptor.lang["English"], val)
if desc then
for _, spec in ipairs(desc.special) do
if spec.k == "negate" then
val[spec.v].max, val[spec.v].min = -val[spec.v].min, -val[spec.v].max
elseif spec.k == "divide_by_one_hundred" then
val[spec.v].min = val[spec.v].min / 100
val[spec.v].max = val[spec.v].max / 100
val[spec.v].fmt = ".1f"
elseif spec.k == "divide_by_one_hundred_2dp" then
val[spec.v].min = val[spec.v].min / 100
val[spec.v].max = val[spec.v].max / 100
val[spec.v].fmt = ".2f"
elseif spec.k == "per_minute_to_per_second" then
val[spec.v].min = val[spec.v].min / 60
val[spec.v].max = val[spec.v].max / 60
val[spec.v].fmt = ".1f"
elseif spec.k == "per_minute_to_per_second_0dp" then
val[spec.v].min = val[spec.v].min / 60
val[spec.v].max = val[spec.v].max / 60
elseif spec.k == "milliseconds_to_seconds" then
val[spec.v].min = val[spec.v].min / 1000
val[spec.v].max = val[spec.v].max / 1000
val[spec.v].fmt = ".2f"
elseif spec.k == "milliseconds_to_seconds_0dp" then
val[spec.v].min = val[spec.v].min / 1000
val[spec.v].max = val[spec.v].max / 1000
elseif spec.k == "deciseconds_to_seconds" then
val[spec.v].min = val[spec.v].min / 10
val[spec.v].max = val[spec.v].max / 10
val[spec.v].fmt = ".2f"
elseif spec.k == "60%_of_value" then
val[spec.v].min = val[spec.v].min * 0.6
val[spec.v].max = val[spec.v].max * 0.6
elseif spec.k == "mod_value_to_item_class" then
val[spec.v].min = ItemClasses[val[spec.v].min].Name
val[spec.v].max = ItemClasses[val[spec.v].max].Name
val[spec.v].fmt = "s"
elseif spec.k == "multiplicative_damage_modifier" then
val[spec.v].min = 100 + val[spec.v].min
val[spec.v].max = 100 + val[spec.v].max
end
end
table.insert(out, (desc.text:gsub("%%(%d)%%", function(n)
local v = val[tonumber(n)]
if v.min == v.max then
return string.format("%"..v.fmt, v.min)
else
return string.format("(%"..v.fmt.."-%"..v.fmt..")", v.min, v.max)
end
end):gsub("%%d", function()
local v = val[1]
if v.min == v.max then
return string.format("%"..v.fmt, v.min)
else
return string.format("(%"..v.fmt.."-%"..v.fmt..")", v.min, v.max)
end
end):gsub("%%(%d)$(%+?d)", function(n, fmt)
local v = val[tonumber(n)]
if v.min == v.max then
return string.format("%"..fmt, v.min)
elseif fmt == "+d" then
if v.min < 0 then
return string.format("-(%d-%d)", -v.min, -v.max)
else
return string.format("+(%d-%d)", v.min, v.max)
end
else
return string.format("(%"..fmt.."-%"..fmt..")", v.min, v.max)
end
end):gsub("%%%%","%%")))
end
end
return out
end
local corr = io.open("../Data/ModCorrupted.lua", "w")
corr:write('-- Item data (c) Grinding Gear Games\n\nreturn {\n')
for _, modKey in ipairs(Mods.GenerationType(5)) do
local mod = Mods[modKey]
corr:write('\t["', mod.Id, '"] = { "', table.concat(describeMod(mod), '", "'), '", weightKey = { ')
for _, tagKey in ipairs(mod.SpawnWeight_TagsKeys) do
corr:write('"', Tags[tagKey].Id, '", ')
end
corr:write('}, weightVal = { ', table.concat(mod.SpawnWeight_Values, ', '), ', }, },\n')
end
corr:write('}')
corr:close()
--io.read("*l")

View File

@@ -380,7 +380,7 @@ function itemLib.createItemRaw(item)
if not modLine.buff then
local line = modLine.line
if modLine.range then
line = "{range:"..round(modLine.range,2).."}" .. line
line = "{range:"..round(modLine.range,3).."}" .. line
end
if modLine.crafted then
line = "{crafted}" .. line

View File

@@ -519,6 +519,7 @@ local modTagList = {
["if you[' ]h?a?ve been hit recently"] = { tag = { type = "Condition", var = "BeenHitRecently" } },
["if you were hit recently"] = { tag = { type = "Condition", var = "BeenHitRecently" } },
["if you were damaged by a hit recently"] = { tag = { type = "Condition", var = "BeenHitRecently" } },
["if you've taken a critical strike recently"] = { tag = { type = "Condition", var = "BeenCritRecently" } },
["if you've taken a savage hit recently"] = { tag = { type = "Condition", var = "BeenSavageHitRecently" } },
["if you have ?n[o']t been hit recently"] = { tag = { type = "Condition", var = "BeenHitRecently", neg = true } },
["if you've taken no damage from hits recently"] = { tag = { type = "Condition", var = "BeenHitRecently", neg = true } },

View File

@@ -102,6 +102,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{F2327651-C
Data\EnchantmentBoots.lua = Data\EnchantmentBoots.lua
Data\EnchantmentHelmet.lua = Data\EnchantmentHelmet.lua
Data\Minions.lua = Data\Minions.lua
Data\ModCorrupted.lua = Data\ModCorrupted.lua
Data\ModFlask.lua = Data\ModFlask.lua
Data\ModJewel.lua = Data\ModJewel.lua
Data\New.lua = Data\New.lua

View File

@@ -53,6 +53,10 @@ If you'd like to help support the development of Path of Building, I have a [Pat
![ss3](https://cloud.githubusercontent.com/assets/19189971/18089780/f0ff234a-6f04-11e6-8c88-6193fe59a5c4.png)
## Changelog
### 1.4.14 - 2017/05/24
* Added an option to the Configuration tab for "Have you been Crit Recently?"
* Fixed some issues with item templates and the All items/Shared items lists
### 1.4.13 - 2017/05/20
* Detonate Dead now has an input in the Configuration tab for "Corpse Life"
* Added support for Hungry Abyss

View File

@@ -1,3 +1,6 @@
VERSION[1.4.14][2017/05/24]
* Added an option to the Configuration tab for "Have you been Crit Recently?"
* Fixed some issues with item templates and the All items/Shared items lists
VERSION[1.4.13][2017/05/20]
* Detonate Dead now has an input in the Configuration tab for "Corpse Life"
* Added support for Hungry Abyss

View File

@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<PoBVersion>
<Version number="1.4.13"/>
<Version number="1.4.14"/>
<Source part="program" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/"/>
<Source part="tree" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/tree.zip"/>
<Source url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/runtime-win32.zip" part="runtime" platform="win32"/>
<File sha1="2fb719ed2a9648b2dd13a137f650b3c0e48705fa" name="Launch.lua" part="program"/>
<File sha1="72b9bea1871e94a643e4471fd84bbedbc7810336" name="UpdateCheck.lua" part="program"/>
<File sha1="4f17937f2b37784e169a3792b235f2a0a3961e61" name="UpdateApply.lua" part="program"/>
<File sha1="f80f28e2a364f65cd018e730ceae965b02fe24d0" name="changelog.txt" part="program"/>
<File sha1="7fe4f2b706329cc5e780180803b52ca6e9c35854" name="changelog.txt" part="program"/>
<File sha1="3ff73a3c46cb7bd8a53c9d47a893dd2b4c5c60ab" name="Classes/BuildListControl.lua" part="program"/>
<File sha1="dc2ffb55b4aae04b86886b25bbf219a301b21340" name="Classes/ButtonControl.lua" part="program"/>
<File sha1="9391d403c4ad8e59fd02fba76158acb4159e0562" name="Classes/CalcBreakdownControl.lua" part="program"/>
<File sha1="f7bced0e554bd4d99ef56bd87cf43294957cd179" name="Classes/CalcSectionControl.lua" part="program"/>
<File sha1="e43c0c851f7cfb022baba23bcbdc4c96b4078a53" name="Classes/CalcsTab.lua" part="program"/>
<File sha1="573b791867ada18da1e93de8fc33ce6cf9ec9ab3" name="Classes/CheckBoxControl.lua" part="program"/>
<File sha1="492198ecf5d027a581dacb2c9bc380901c98b24e" name="Classes/ConfigTab.lua" part="program"/>
<File sha1="ccb30a5bc07209a04a6017f00d30a224d7383182" name="Classes/ConfigTab.lua" part="program"/>
<File sha1="2cb1067db9cdb9e9d5327c41ec4781aaf2c036e1" name="Classes/Control.lua" part="program"/>
<File sha1="45be3d636d1eaff18bed7095478c22abfd0590ef" name="Classes/ControlHost.lua" part="program"/>
<File sha1="9f05f72260f896eea09c1a8fb28f58973ce4d3ff" name="Classes/DropDownControl.lua" part="program"/>
@@ -22,7 +22,7 @@
<File sha1="f3de897d524a19b7838ada898aae9af23d12cd21" name="Classes/GemSelectControl.lua" part="program"/>
<File sha1="3f9330cb27c65546c644195b53bff07ef841858e" name="Classes/ImportTab.lua" part="program"/>
<File sha1="768c24f30a79f93b19d13f61668c5e30417989e9" name="Classes/ItemDBControl.lua" part="program"/>
<File sha1="4e5dcefb01c6eb6567d97cfd01cb1435b4cfba0f" name="Classes/ItemListControl.lua" part="program"/>
<File sha1="6f289bf6318303831c3acafc35d37fe2b90e6609" name="Classes/ItemListControl.lua" part="program"/>
<File sha1="b7c3df4a3b9cdd19efac5d92273aa72d409fa833" name="Classes/ItemSlotControl.lua" part="program"/>
<File sha1="0a5a16dc26e64004a30a888e56c259009a541bff" name="Classes/ItemsTab.lua" part="program"/>
<File sha1="62138c7db82d57d638a16610a26acd0de75d3486" name="Classes/LabelControl.lua" part="program"/>
@@ -38,9 +38,9 @@
<File sha1="9d91ef81ac4fd8d5a1e16be17bdf199545209d87" name="Classes/PopupDialog.lua" part="program"/>
<File sha1="86fee3127d9520144fc741f6fccc3c1d9f1aa532" name="Classes/ScrollBarControl.lua" part="program"/>
<File sha1="261dcf54a4542e6160fd7024d8edf4fc095d9c71" name="Classes/SectionControl.lua" part="program"/>
<File sha1="9f274cf24f62b64d1d63e569a9fe97e0a488575b" name="Classes/SharedItemListControl.lua" part="program"/>
<File sha1="8a913c7556ffc0467f6318361525bfd3ddaf01a7" name="Classes/SharedItemListControl.lua" part="program"/>
<File sha1="20f92cc3415aaf5797f3cd84290ca609861eef99" name="Classes/SkillListControl.lua" part="program"/>
<File sha1="36fdc286e28cb6c0794b315bd527d887721521ea" name="Classes/SkillsTab.lua" part="program"/>
<File sha1="d1ed5503415e7b89154c8d297cd78d264d8b7c57" name="Classes/SkillsTab.lua" part="program"/>
<File sha1="6317bd9ba391832dccafcb62409a5ce2988d1928" name="Classes/SliderControl.lua" part="program"/>
<File sha1="ada27b91a3c466689111429105edd4ee28ad0c3f" name="Classes/TextListControl.lua" part="program"/>
<File sha1="c5344a84f4a6ffbfe56b66fb95a3e24b53fcca43" name="Classes/TreeTab.lua" part="program"/>
@@ -58,9 +58,9 @@
<File sha1="d15500aeb71f04993850bc9401d1e20e3436c795" name="Modules/CalcTools.lua" part="program"/>
<File sha1="1a3f16372f27e7b94d373e6c61affb4ebe478b13" name="Modules/Common.lua" part="program"/>
<File sha1="217825314b8aaa24176cd32140dfdddeaca826f5" name="Modules/Data.lua" part="program"/>
<File sha1="d5d22f2fca12cd9148ec17016aa2741ee844a692" name="Modules/ItemTools.lua" part="program"/>
<File sha1="351ed6b0ebeb0658b56cb81a1c754ad822fb783c" name="Modules/ItemTools.lua" part="program"/>
<File sha1="03e503f7fd70f9604af489fb9ba1bbb4c697c273" name="Modules/Main.lua" part="program"/>
<File sha1="443b946bc05930e4b7d7315e3a3b97d603b38b4b" name="Modules/ModParser.lua" part="program"/>
<File sha1="a51f0df4dff49bde6a695e69db7dac216c2b4798" name="Modules/ModParser.lua" part="program"/>
<File sha1="08bfd94f291b10dbdc75c94d7f2928c8bbd1a1d7" name="Modules/ModTools.lua" part="program"/>
<File sha1="c345cdcf374d271411aa424ab150c0edbb5a362d" name="Assets/game_ui_small.png" part="program"/>
<File sha1="97b020d8213e09c313536a91528ba5d5ebc4ca0a" name="Assets/patreon_logo.png" part="program"/>
@@ -70,6 +70,7 @@
<File sha1="4a2651bfcb3beb6fe8b9acab18a6792072f7e9b4" name="Data/EnchantmentBoots.lua" part="program"/>
<File sha1="b305198cafc6800aa5556da07a5eea699c718d3b" name="Data/EnchantmentHelmet.lua" part="program"/>
<File sha1="7bc9e8c0e5df8e16fc3defa60c73c38ea24df4b6" name="Data/Minions.lua" part="program"/>
<File sha1="3102768074c637528487c743cb808dad07f5b069" name="Data/ModCorrupted.lua" part="program"/>
<File sha1="d06292de8b169e3adedc7fda69edae6ac466442e" name="Data/ModFlask.lua" part="program"/>
<File sha1="15664631a501d837c5c6796217c663457f115bb1" name="Data/ModJewel.lua" part="program"/>
<File sha1="fd98575e526d69d515c7b37f277066477af425e9" name="Data/New.lua" part="program"/>