Page 1 of 1

Making Ruin more like Weapon Folding

Posted: Fri Sep 16, 2011 7:39 am
by edge2054
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)

Re: Making Ruin more like Weapon Folding

Posted: Fri Sep 16, 2011 7:51 am
by lukep
Personally, I think that that is how pretty much all sustained talents should be. For example, it should not be possible to sustain both Berserker and Shield Wall at once, or boots the effect of Augmentation, Quantum Feed, or Inner Power with equipment and Heroism infusions. This could be solved simply (but not easily) by moving all of their effects into a character's stats (or combat, or defence etc...).