Making Ruin more like Weapon Folding
Posted: Fri Sep 16, 2011 7:39 am
The following patch would make the values of Ruin get checked every time it's called rather then only when it's activated. This gives it more synergy with Bloodlust for those who don't want to be cheesy and also prevents a player from waiting until they have +39 spellpower from Bloodlust to activate Ruin.
Code: Select all
# HG changeset patch
# User Eric
# Date 1316158416 18000
# Node ID 870c0b0bc94240b0147d172928486ecf035fc515
# Parent a6f2f13b388146c1f695409c247126895058611b
Calls ruin on hit rather then adding melee_project
diff -r a6f2f13b3881 -r 870c0b0bc942 game/modules/tome/class/interface/Combat.lua
--- a/game/modules/tome/class/interface/Combat.lua Fri Sep 16 06:24:46 2011 +0000
+++ b/game/modules/tome/class/interface/Combat.lua Fri Sep 16 02:33:36 2011 -0500
@@ -310,6 +310,13 @@
DamageType:get(DamageType.TEMPORAL).projector(self, target.x, target.y, DamageType.TEMPORAL, dam)
end
+ -- Ruin
+ if hitted and not target.dead and self:knowTalent(self.T_RUIN) and self:isTalentActive(self.T_RUIN) then
+ local t = self:getTalentFromId(self.T_RUIN)
+ local dam = t.getDamage(self, t)
+ DamageType:get(DamageType.DRAINLIFE).projector(self, target.x, target.y, DamageType.DRAINLIFE, dam)
+ end
+
-- Autospell cast
if hitted and not target.dead and self:knowTalent(self.T_ARCANE_COMBAT) and self:isTalentActive(self.T_ARCANE_COMBAT) then
local t = self:getTalentFromId(self.T_ARCANE_COMBAT)
diff -r a6f2f13b3881 -r 870c0b0bc942 game/modules/tome/data/talents/corruptions/scourge.lua
--- a/game/modules/tome/data/talents/corruptions/scourge.lua Fri Sep 16 06:24:46 2011 +0000
+++ b/game/modules/tome/data/talents/corruptions/scourge.lua Fri Sep 16 02:33:36 2011 -0500
@@ -76,19 +76,17 @@
sustain_vim = 40,
cooldown = 30,
tactical = { BUFF = 2 },
+ getDamage = function(self, t) return self:combatTalentSpellDamage(t, 15, 40) end,
activate = function(self, t)
game:playSoundNear(self, "talents/slime")
- local ret = {
- per = self:addTemporaryValue("melee_project", {[DamageType.DRAINLIFE] = self:combatTalentSpellDamage(t, 15, 40)}),
- }
+ local ret = {}
return ret
end,
deactivate = function(self, t, p)
- self:removeTemporaryValue("melee_project", p.per)
return true
end,
info = function(self, t)
- local dam = damDesc(self, DamageType.BLIGHT, self:combatTalentSpellDamage(t, 15, 40))
+ local dam = damDesc(self, DamageType.BLIGHT, t.getDamage(self, t))
return ([[Concentrate on the corruption you bring, enhancing each of your melee strikes with %0.2f blight damage (which also heals you for %0.2f each hit).
The damage will increase with your Magic stat.]]):
format(dam, dam * 0.4)