Skip to content
Snippets Groups Projects
Commit 04cb666b authored by dg's avatar dg
Browse files

Infusions/Runes are now affected by staturation effects. If used quickly in a...

Infusions/Runes are now affected by staturation effects. If used quickly in a row their cooldown increases. Use them wisely (and this should prevent bosses from chain-healing too)


git-svn-id: http://svn.net-core.org/repos/t-engine4@2561 51575b47-30f0-44d4-a5cc-537603b46e54
parent e3c5d378
No related branches found
No related tags found
No related merge requests found
......@@ -1636,6 +1636,14 @@ function _M:postUseTalent(ab, ret)
if not ret then return end
self.changed = true
-- Handle inscriptions
if ab.type[1] == "inscriptions/infusions" then
self:setEffect(self.EFF_INFUSION_COOLDOWN, 15, {power=2})
elseif ab.type[1] == "inscriptions/runes" then
self:setEffect(self.EFF_RUNE_COOLDOWN, 15, {power=2})
end
if not ab.no_energy then
if ab.is_spell then
self:useEnergy(game.energy_to_act * self:combatSpellSpeed())
......@@ -1842,6 +1850,15 @@ function _M:getTalentCooldown(t)
local cd = t.cooldown
if type(cd) == "function" then cd = cd(self, t) end
if not cd then return end
if t.type[1] == "inscriptions/infusions" then
local eff = self:hasEffect(self.EFF_INFUSION_COOLDOWN)
if eff and eff.power then cd = cd + eff.power end
elseif t.type[1] == "inscriptions/runes" then
local eff = self:hasEffect(self.EFF_RUNE_COOLDOWN)
if eff and eff.power then cd = cd + eff.power end
end
if self.talent_cd_reduction[t.id] then cd = cd - self.talent_cd_reduction[t.id] end
if self.talent_cd_reduction.all then cd = cd - self.talent_cd_reduction.all end
if t.is_spell then
......
......@@ -22,6 +22,34 @@ local Particles = require "engine.Particles"
local Entity = require "engine.Entity"
local Chat = require "engine.Chat"
newEffect{
name = "INFUSION_COOLDOWN",
desc = "Infusion Saturation",
long_desc = function(self, eff) return ("The more you use infusions, the longer they will take to recharge (+%d cooldowns)."):format(eff.power) end,
type = "infusion",
status = "detrimental",
parameters = { power=1 },
on_merge = function(self, old_eff, new_eff)
old_eff.dur = new_eff.dur
old_eff.power = old_eff.power + new_eff.power
return old_eff
end,
}
newEffect{
name = "RUNE_COOLDOWN",
desc = "Runic Saturation",
long_desc = function(self, eff) return ("The more you use runes, the longer they will take to recharge (+%d cooldowns)."):format(eff.power) end,
type = "rune",
status = "detrimental",
parameters = { power=1 },
on_merge = function(self, old_eff, new_eff)
old_eff.dur = new_eff.dur
old_eff.power = old_eff.power + new_eff.power
return old_eff
end,
}
newEffect{
name = "CUT",
desc = "Bleeding",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment