From 3643c001565030b5a7e591c9e157890176c6f4ce Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Fri, 27 May 2011 07:26:29 +0000
Subject: [PATCH] Manaflow cooldown reduced Manaflow and Manasurge runes are
 now disabled while a mana regen effect is active (just like life regeneration
 effects)

git-svn-id: http://svn.net-core.org/repos/t-engine4@3444 51575b47-30f0-44d4-a5cc-537603b46e54
---
 .../tome/data/talents/misc/inscriptions.lua   |  2 +-
 .../tome/data/talents/spells/arcane.lua       | 12 ++++----
 game/modules/tome/data/timed_effects.lua      | 30 -------------------
 3 files changed, 6 insertions(+), 38 deletions(-)

diff --git a/game/modules/tome/data/talents/misc/inscriptions.lua b/game/modules/tome/data/talents/misc/inscriptions.lua
index 4340e55301..a1b5ac78fa 100644
--- a/game/modules/tome/data/talents/misc/inscriptions.lua
+++ b/game/modules/tome/data/talents/misc/inscriptions.lua
@@ -639,7 +639,7 @@ newInscription{
 	is_spell = true,
 	tactical = { MANA = 1 },
 	on_pre_use = function(self, t)
-		return self:knowTalent(self.T_MANA_POOL)
+		return self:knowTalent(self.T_MANA_POOL) and not self:hasEffect(self.EFF_MANASURGE)
 	end,
 	action = function(self, t)
 		local data = self:getInscriptionData(t.short_name)
diff --git a/game/modules/tome/data/talents/spells/arcane.lua b/game/modules/tome/data/talents/spells/arcane.lua
index e38fa97b36..4eaec45237 100644
--- a/game/modules/tome/data/talents/spells/arcane.lua
+++ b/game/modules/tome/data/talents/spells/arcane.lua
@@ -97,16 +97,14 @@ newTalent{
 	type = {"spell/arcane", 3},
 	require = spells_req3,
 	points = 5,
-	random_ego = "utility",
 	mana = 0,
-	cooldown = 40,
+	cooldown = 25,
 	tactical = { MANA = 3 },
-	getManaRestoration = function(self, t) return self:combatTalentSpellDamage(t, 10, 20) end,
+	getManaRestoration = function(self, t) return 5 + self:combatTalentSpellDamage(t, 10, 20) end,
+	on_pre_use = function(self, t) return not self:hasEffect(self.EFF_MANASURGE) end,
 	action = function(self, t)
-		if not self:hasEffect(self.EFF_MANAFLOW) then
-			self:setEffect(self.EFF_MANAFLOW, 10, {power=t.getManaRestoration(self, t)})
-			game:playSoundNear(self, "talents/arcane")
-		end
+		self:setEffect(self.EFF_MANASURGE, 10, {power=t.getManaRestoration(self, t)})
+		game:playSoundNear(self, "talents/arcane")
 		return true
 	end,
 	info = function(self, t)
diff --git a/game/modules/tome/data/timed_effects.lua b/game/modules/tome/data/timed_effects.lua
index 19ea614da4..c2718cea6f 100644
--- a/game/modules/tome/data/timed_effects.lua
+++ b/game/modules/tome/data/timed_effects.lua
@@ -109,35 +109,6 @@ newEffect{
 	end,
 }
 
-newEffect{
-	name = "MANAFLOW",
-	desc = "Manaflow",
-	long_desc = function(self, eff) return ("The mana surge engulfs the target, regenerating %0.2f mana per turn."):format(eff.power) end,
-	type = "magical",
-	status = "beneficial",
-	parameters = { power=10 },
-	on_gain = function(self, err) return "#Target# starts to surge mana.", "+Manaflow" end,
-	on_lose = function(self, err) return "#Target# stops surging mana.", "-Manaflow" end,
-	on_merge = function(self, old_eff, new_eff)
-		-- Merge the mana
-		local olddam = old_eff.power * old_eff.dur
-		local newdam = new_eff.power * new_eff.dur
-		local dur = math.ceil((old_eff.dur + new_eff.dur) / 2)
-		old_eff.dur = dur
-		old_eff.power = (olddam + newdam) / dur
-
-		self:removeTemporaryValue("mana_regen", old_eff.tmpid)
-		old_eff.tmpid = self:addTemporaryValue("mana_regen", old_eff.power)
-		return old_eff
-	end,
-	activate = function(self, eff)
-		eff.tmpid = self:addTemporaryValue("mana_regen", eff.power)
-	end,
-	deactivate = function(self, eff)
-		self:removeTemporaryValue("mana_regen", eff.tmpid)
-	end,
-}
-
 newEffect{
 	name = "MANASURGE",
 	desc = "Surging mana",
@@ -4111,4 +4082,3 @@ newEffect{
 		DamageType:get(DamageType.ARCANE).projector(eff.src, self.x, self.y, DamageType.ARCANE, dam)
 	end,
 }
-
-- 
GitLab