Making Ruin more like Weapon Folding

All new ideas for the upcoming releases of ToME 4.x.x should be discussed here

Moderator: Moderator

Post Reply
Message
Author
edge2054
Retired Ninja
Posts: 3756
Joined: Fri May 28, 2010 4:38 pm

Making Ruin more like Weapon Folding

#1 Post 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)
Attachments
ruin_change.txt
(2.28 KiB) Downloaded 190 times

lukep
Sher'Tul Godslayer
Posts: 1712
Joined: Mon Mar 14, 2011 10:32 am
Location: Canada

Re: Making Ruin more like Weapon Folding

#2 Post 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...).
Some of my tools for helping make talents:
Melee Talent Creator
Annotated Talent Code (incomplete)

Post Reply