From 8a00df08dcade37eba4722f42212a7640face048 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Tue, 3 May 2011 14:20:00 +0000
Subject: [PATCH] Improves Retch and switched places in the tree

git-svn-id: http://svn.net-core.org/repos/t-engine4@3305 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/data/damage_types.lua       |  2 +-
 .../tome/data/talents/undeads/ghoul.lua       | 68 ++++++++++---------
 2 files changed, 36 insertions(+), 34 deletions(-)

diff --git a/game/modules/tome/data/damage_types.lua b/game/modules/tome/data/damage_types.lua
index 415c0c476e..a518053cf2 100644
--- a/game/modules/tome/data/damage_types.lua
+++ b/game/modules/tome/data/damage_types.lua
@@ -984,7 +984,7 @@ newDamageType{
 	projector = function(src, x, y, type, dam)
 		local target = game.level.map(x, y, Map.ACTOR)
 		if target and target.undead then
-			target:heal(dam)
+			target:heal(dam * 1.5)
 		elseif target then
 			DamageType:get(DamageType.BLIGHT).projector(src, x, y, DamageType.BLIGHT, dam)
 		end
diff --git a/game/modules/tome/data/talents/undeads/ghoul.lua b/game/modules/tome/data/talents/undeads/ghoul.lua
index c1e510b602..f2b8e02a73 100644
--- a/game/modules/tome/data/talents/undeads/ghoul.lua
+++ b/game/modules/tome/data/talents/undeads/ghoul.lua
@@ -82,10 +82,43 @@ newTalent{
 }
 
 newTalent{
-	name = "Gnaw",
-	type = {"undead/ghoul", 3},
+	name = "Retch",
+	type = {"undead/ghoul",3},
 	require = undeads_req3,
 	points = 5,
+	cooldown = 25,
+	tactical = { ATTACK = 1, HEAL = 1 },
+	range=1,
+	requires_target = true,
+	action = function(self, t)
+		local duration = self:getTalentLevelRaw(t) * 2 + 5
+		local radius = 3
+		local dam = 10 + self:combatTalentStatDamage(t, "con", 10, 60)
+		local tg = {type="ball", range=self:getTalentRange(t), radius=radius}
+		-- Add a lasting map effect
+		game.level.map:addEffect(self,
+			self.x, self.y, duration,
+			DamageType.RETCH, dam,
+			radius,
+			5, nil,
+			engine.Entity.new{alpha=100, display='', color_br=30, color_bg=180, color_bb=60},
+			nil, self:spellFriendlyFire()
+		)
+		game:playSoundNear(self, "talents/cloud")
+		return true
+	end,
+	info = function(self, t)
+		local dam = 10 + self:combatTalentStatDamage(t, "con", 10, 60)
+		return ([[Vomit on the ground around you, healing any undead in the area and damaging others.
+		Lasts %d turns and deals %d blight damage or heals %d life.]]):format(self:getTalentLevelRaw(t) * 2 + 5, damDesc(self, DamageType.BLIGHT, dam), dam * 1.5)
+	end,
+}
+
+newTalent{
+	name = "Gnaw",
+	type = {"undead/ghoul", 4},
+	require = undeads_req4,
+	points = 5,
 	cooldown = 15,
 	tactical = { ATTACK = 1, DISABLE = 2 },
 	range = 1,
@@ -113,34 +146,3 @@ newTalent{
 	end,
 }
 
-newTalent{
-	name = "Retch",
-	type = {"undead/ghoul",4},
-	require = undeads_req4,
-	points = 5,
-	cooldown = 25,
-	tactical = { ATTACK = 1, HEAL = 1 },
-	range=1,
-	requires_target = true,
-	action = function(self, t)
-		local duration = self:getTalentLevel(t) / 2 + 4
-		local radius = 3
-		local dam = (2 + self:getCon(8)) * self:getTalentLevel(t)
-		local tg = {type="ball", range=self:getTalentRange(t), radius=radius}
-		-- Add a lasting map effect
-		game.level.map:addEffect(self,
-			self.x, self.y, duration,
-			DamageType.RETCH, dam,
-			radius,
-			5, nil,
-			engine.Entity.new{alpha=100, display='', color_br=30, color_bg=180, color_bb=60},
-			nil, self:spellFriendlyFire()
-		)
-		game:playSoundNear(self, "talents/cloud")
-		return true
-	end,
-	info = function(self, t)
-		return ([[Vomit on the ground around you, healing any undead in the area and damaging others.
-		Lasts %d turns and deals %d blight damage.]]):format(self:getTalentLevel(t) / 2 + 4, damDesc(self, DamageType.BLIGHT, (2 + self:getCon(8)) * self:getTalentLevel(t)))
-	end,
-}
-- 
GitLab