Add time override to CwC

This commit is contained in:
Openarl
2016-12-14 22:08:55 +10:00
parent 5a85d080b0
commit 98bfca9e23
4 changed files with 53 additions and 49 deletions

View File

@@ -228,40 +228,40 @@ gems["Cast while Channelling"] = {
mod("Damage", "INC", 0.5, 0, 0, nil), --"damage_+%" = 0.5
},
levelMods = {
--[1] = "cast_while_channelling_time_ms"
[1] = skill("timeOverride", nil, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"cast_while_channelling_time_ms"
[2] = mod("Damage", "MORE", nil, 0, 0, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"support_cast_while_channelling_triggered_skill_damage_+%_final"
},
levels = {
[1] = { 450, 0, },
[2] = { 440, 0, },
[3] = { 440, 1, },
[4] = { 430, 1, },
[5] = { 430, 2, },
[6] = { 420, 2, },
[7] = { 420, 3, },
[8] = { 410, 3, },
[9] = { 410, 4, },
[10] = { 400, 4, },
[11] = { 400, 5, },
[12] = { 390, 5, },
[13] = { 390, 6, },
[14] = { 380, 6, },
[15] = { 380, 7, },
[16] = { 370, 7, },
[17] = { 370, 8, },
[18] = { 360, 8, },
[19] = { 360, 9, },
[20] = { 350, 9, },
[21] = { 350, 10, },
[22] = { 340, 10, },
[23] = { 340, 11, },
[24] = { 330, 11, },
[25] = { 330, 12, },
[26] = { 320, 12, },
[27] = { 320, 13, },
[28] = { 310, 13, },
[29] = { 310, 14, },
[30] = { 300, 14, },
[1] = { 0.45, 0, },
[2] = { 0.44, 0, },
[3] = { 0.44, 1, },
[4] = { 0.43, 1, },
[5] = { 0.43, 2, },
[6] = { 0.42, 2, },
[7] = { 0.42, 3, },
[8] = { 0.41, 3, },
[9] = { 0.41, 4, },
[10] = { 0.4, 4, },
[11] = { 0.4, 5, },
[12] = { 0.39, 5, },
[13] = { 0.39, 6, },
[14] = { 0.38, 6, },
[15] = { 0.38, 7, },
[16] = { 0.37, 7, },
[17] = { 0.37, 8, },
[18] = { 0.36, 8, },
[19] = { 0.36, 9, },
[20] = { 0.35, 9, },
[21] = { 0.35, 10, },
[22] = { 0.34, 10, },
[23] = { 0.34, 11, },
[24] = { 0.33, 11, },
[25] = { 0.33, 12, },
[26] = { 0.32, 12, },
[27] = { 0.32, 13, },
[28] = { 0.31, 13, },
[29] = { 0.31, 14, },
[30] = { 0.3, 14, },
},
}
gems["Chance to Ignite"] = {

View File

@@ -1818,20 +1818,25 @@ local function performCalcs(env)
-- Calculate attack/cast speed
do
local baseSpeed
if isAttack then
if skillData.castTimeOverridesAttackTime then
-- Skill is overriding weapon attack speed
baseSpeed = 1 / skillData.castTime * (1 + (env.weaponData1.AttackSpeedInc or 0) / 100)
else
baseSpeed = env.weaponData1.attackRate or 1
end
if skillData.timeOverride then
output.Time = skillData.timeOverride
output.Speed = 1 / output.Time
else
baseSpeed = 1 / (skillData.castTime or 1)
end
output.Speed = baseSpeed * calcMod(modDB, skillCfg, "Speed")
output.Time = 1 / output.Speed
if breakdown then
simpleBreakdown(baseSpeed, skillCfg, "Speed")
if isAttack then
if skillData.castTimeOverridesAttackTime then
-- Skill is overriding weapon attack speed
baseSpeed = 1 / skillData.castTime * (1 + (env.weaponData1.AttackSpeedInc or 0) / 100)
else
baseSpeed = env.weaponData1.attackRate or 1
end
else
baseSpeed = 1 / (skillData.castTime or 1)
end
output.Speed = baseSpeed * calcMod(modDB, skillCfg, "Speed")
output.Time = 1 / output.Speed
if breakdown then
simpleBreakdown(baseSpeed, skillCfg, "Speed")
end
end
end
@@ -1992,7 +1997,7 @@ local function performCalcs(env)
output.TotalMax = totalMax
-- Update enemy hit-by-damage-type conditions
enemyDB.conditions.HitByFireDamage = output.FireAverage > 0
enemyDB.conditions.HitByFireDamage = output.FireAverage > 0
enemyDB.conditions.HitByColdDamage = output.ColdAverage > 0
enemyDB.conditions.HitByLightningDamage = output.LightningAverage > 0

View File

@@ -8,9 +8,8 @@ Welcome to Path of Building, an offline build planner for Path of Exile!
* Also calculates life/mana reservations
* Shows a summary of character stats in the side bar, as well as a detailed calcs breakdown tab which can show you how the stats were derived
* Supports most skills, support gems, passives and item modifiers
* Throughout the program, supported modifiers will show in blue and unsupported ones in white
* Throughout the program, supported modifiers will show in blue and unsupported ones in red
* Most minion skill are unsupported at present (except for golems, which can provide buffs to you)
* Trigger gems are generally unsupported (Cast on Crit, etc)
* No support for flasks yet
* Passive skill tree planner:
* Support for jewels including most radius/conversion jewels

View File

@@ -44,7 +44,7 @@
<File sha1="4b7675c8b4fe71cade7dd3d70793df1ed8022d01" name="Classes/UndoHandler.lua" part="program"/>
<File sha1="691acfe73dfa05be2c49adc42321cf770fd1f6a2" name="Modules/Build.lua" part="program"/>
<File sha1="8a07fe01c53b785ebb6256236e781fbaabd36c0e" name="Modules/BuildList.lua" part="program"/>
<File sha1="e95d50a18558174840992346f482f6a07f2c9ffa" name="Modules/Calcs.lua" part="program"/>
<File sha1="3cc5ef2fd0001443bbec2d3614c868a2f9e0babc" name="Modules/Calcs.lua" part="program"/>
<File sha1="602c7ba4d1792162a43d2f64160ca7d7d624194f" name="Modules/CalcSections.lua" part="program"/>
<File sha1="f207df4010cb3c7bc6cce98be2529a3b8a708b8f" name="Modules/Common.lua" part="program"/>
<File sha1="2b393e960721c36dc4c99645a507d7232cbd6f0e" name="Modules/Data.lua" part="program"/>
@@ -61,7 +61,7 @@
<File sha1="79343ddf8c2ff5b0e4f73e5ff83bce5d8222a4af" name="Data/Gems/act_str.lua" part="program"/>
<File sha1="05201b4e14ff50dbc887e7cca37f1d476fb931aa" name="Data/Gems/other.lua" part="program"/>
<File sha1="b2f6b177821de87288760644f2ecdbde07a9c4c9" name="Data/Gems/sup_dex.lua" part="program"/>
<File sha1="d570226995c9312e9d5ad31d6555d72ed2b4f542" name="Data/Gems/sup_int.lua" part="program"/>
<File sha1="b8b44d4186785907344f88170aff70d4e8f366ff" name="Data/Gems/sup_int.lua" part="program"/>
<File sha1="9d7d4d58b9f6204897b8aee8e6bb32ac7659bc6e" name="Data/Gems/sup_str.lua" part="program"/>
<File sha1="48d916e1cf089c292b2c614805f80ce85cff55d9" name="Data/Bases/amulet.lua" part="program"/>
<File sha1="78410a8a3ee33ad331fee2abd83e235fe5b702f6" name="Data/Bases/axe.lua" part="program"/>