From ba873ff8bea569797af2e4bf1e2c561b06c9beb4 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Thu, 23 Sep 2010 22:34:13 +0000
Subject: [PATCH] Added the Bloodthirst talent tree for Berserkers

git-svn-id: http://svn.net-core.org/repos/t-engine4@1305 51575b47-30f0-44d4-a5cc-537603b46e54
---
 .../default/engine/interface/ActorLife.lua    |   1 +
 game/modules/tome/class/Actor.lua             |  22 ++++
 game/modules/tome/class/Object.lua            |   4 +
 game/modules/tome/class/interface/Combat.lua  |  14 ++-
 .../tome/data/birth/classes/warrior.lua       |   1 +
 .../data/talents/techniques/bloodthirst.lua   | 100 ++++++++++++++++++
 .../data/talents/techniques/techniques.lua    |   2 +
 game/modules/tome/data/timed_effects.lua      |  61 ++++++++++-
 ideas/technics.ods                            | Bin 24927 -> 25142 bytes
 9 files changed, 203 insertions(+), 2 deletions(-)
 create mode 100644 game/modules/tome/data/talents/techniques/bloodthirst.lua

diff --git a/game/engines/default/engine/interface/ActorLife.lua b/game/engines/default/engine/interface/ActorLife.lua
index 9cfdd8d65e..e1a865efb5 100644
--- a/game/engines/default/engine/interface/ActorLife.lua
+++ b/game/engines/default/engine/interface/ActorLife.lua
@@ -51,6 +51,7 @@ end
 
 --- Heal some
 function _M:heal(value, src)
+	if self.onHeal then value = self:onHeal(value, src) end
 	self.life = util.bound(self.life + value, 0, self.max_life)
 	self.changed = true
 end
diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index ea06adc5b0..fb0fa3722f 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -512,6 +512,14 @@ Faction: %s%s (%s, %d)
 	)
 end
 
+--- Called before healing
+function _M:onHeal(value, src)
+	if self:hasEffect(self.EFF_UNSTOPPABLE) then
+		return 0
+	end
+	return value
+end
+
 --- Called before taking a hit, it's the chance to check for shields
 function _M:onTakeHit(value, src)
 	-- Un-daze
@@ -654,6 +662,10 @@ function _M:onTakeHit(value, src)
 		t:onTakeHit(self, value / self.max_life)
 	end
 
+	if self:hasEffect(self.EFF_UNSTOPPABLE) then
+		if value > self.life then value = self.life - 1 end
+	end
+
 	return value
 end
 
@@ -705,6 +717,16 @@ function _M:die(src)
 		t.on_kill(src, t)
 	end
 
+	if src and src.knowTalent and src:knowTalent(src.T_BLOODRAGE) then
+		local t = src:getTalentFromId(src.T_BLOODRAGE)
+		t.on_kill(src, t)
+	end
+
+	if src and src.hasEffect and src:hasEffect(self.EFF_UNSTOPPABLE) then
+		local p = src:hasEffect(self.EFF_UNSTOPPABLE)
+		p.kills = p.kills + 1
+	end
+
 	-- Adds hate
 	if src and src.max_hate and src.max_hate > 0 then
 		src.hate = math.min(src.max_hate, src.hate + src.hate_per_kill)
diff --git a/game/modules/tome/class/Object.lua b/game/modules/tome/class/Object.lua
index 0e628543cf..8b72db0ca7 100644
--- a/game/modules/tome/class/Object.lua
+++ b/game/modules/tome/class/Object.lua
@@ -74,6 +74,10 @@ function _M:use(who, typ, inven, item)
 		game.logPlayer(who, "You must wear this object to use it!")
 		return
 	end
+	if who:hasEffect(self.EFF_UNSTOPPABLE) then
+		game.logPlayer(who, "You can not use items during a battle frenzy!")
+		return
+	end
 
 	local types = {}
 	if self:canUseObject() then types[#types+1] = "use" end
diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua
index 734c1be3d5..240c2c13ba 100644
--- a/game/modules/tome/class/interface/Combat.lua
+++ b/game/modules/tome/class/interface/Combat.lua
@@ -203,6 +203,7 @@ function _M:attackTargetWith(target, weapon, damtype, mult)
 
 	-- If hit is over 0 it connects, if it is 0 we still have 50% chance
 	local hitted = false
+	local crit = false
 	local evaded = false
 	if self:checkEvasion(target) then
 		evaded = true
@@ -213,7 +214,6 @@ function _M:attackTargetWith(target, weapon, damtype, mult)
 		local damrange = self:combatDamageRange(weapon)
 		dam = rng.range(dam, dam * damrange)
 		print("[ATTACK] after range", dam)
-		local crit
 		dam, crit = self:physicalCrit(dam, weapon, target)
 		print("[ATTACK] after crit", dam)
 		dam = dam * mult
@@ -334,6 +334,18 @@ function _M:attackTargetWith(target, weapon, damtype, mult)
 		t.do_splash(target, t, self)
 	end
 
+	-- Bloodbath
+	if hitted and crit and self:knowTalent(self.T_BLOODBATH) then
+		local t = self:getTalentFromId(self.T_BLOODBATH)
+		t.do_bloodbath(self, t)
+	end
+
+	-- Mortal Terror
+	if hitted and not target.dead and self:knowTalent(self.T_MORTAL_TERROR) then
+		local t = self:getTalentFromId(self.T_MORTAL_TERROR)
+		t.do_terror(self, t, target, dam)
+	end
+
 	-- Regen on being hit
 	if hitted and not target.dead and target:attr("stamina_regen_on_hit") then target:incStamina(target.stamina_regen_on_hit) end
 	if hitted and not target.dead and target:attr("mana_regen_on_hit") then target:incMana(target.mana_regen_on_hit) end
diff --git a/game/modules/tome/data/birth/classes/warrior.lua b/game/modules/tome/data/birth/classes/warrior.lua
index 55849d89bb..4f3a338ed0 100644
--- a/game/modules/tome/data/birth/classes/warrior.lua
+++ b/game/modules/tome/data/birth/classes/warrior.lua
@@ -97,6 +97,7 @@ newBirthDescriptor{
 		["technique/superiority"]={false, 0.3},
 		["technique/warcries"]={false, 0.3},
 		["technique/field-control"]={false, 0},
+		["technique/bloodthirst"]={false, 0.2},
 		["cunning/survival"]={true, 0},
 		["cunning/dirty"]={false, 0},
 	},
diff --git a/game/modules/tome/data/talents/techniques/bloodthirst.lua b/game/modules/tome/data/talents/techniques/bloodthirst.lua
new file mode 100644
index 0000000000..476350ae7f
--- /dev/null
+++ b/game/modules/tome/data/talents/techniques/bloodthirst.lua
@@ -0,0 +1,100 @@
+-- ToME - Tales of Middle-Earth
+-- Copyright (C) 2009, 2010 Nicolas Casalini
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-- Nicolas Casalini "DarkGod"
+-- darkgod@te4.org
+
+
+newTalent{
+	name = "Bloodbath",
+	type = {"technique/bloodthirst", 1},
+	require = techs_req_high1,
+	points = 5,
+	mode = "passive",
+	do_bloodbath = function(self, t)
+		self:setEffect(self.EFF_BLOODBATH, 5 + self:getTalentLevelRaw(t), {regen=math.floor(self:getTalentLevel(t) * 40), hp=math.floor(self:getTalentLevel(t) * 2)})
+	end,
+	info = function(self, t)
+		return ([[Delight in spilling the blood of your foes. After scoring a critical hit your life and stamina regeneration is increased by %d%% and your maximum life is increased by %d%%.]]):
+		format(math.floor(self:getTalentLevel(t) * 40), math.floor(self:getTalentLevel(t) * 2))
+	end,
+}
+
+newTalent{
+	name = "Mortal Terror",
+	type = {"technique/bloodthirst", 2},
+	require = techs_req_high2,
+	points = 5,
+	mode = "passive",
+	do_terror = function(self, t, target, dam)
+		if dam < target.max_life * (20 + (30 - self:getTalentLevelRaw(t) * 5)) / 100 then return end
+
+		local weapon = target:getInven("MAINHAND")
+		if weapon then weapon = weapon[1] and weapon[1].combat end
+		if not weapon or type(weapon) ~= "table" then weapon = nil end
+		weapon = weapon or target.combat
+
+		if target:checkHit(self:combatAttackStr(weapon.combat), target:combatPhysicalResist(), 0, 95, 8 - self:getTalentLevel(t) / 2) and target:canBe("stun") then
+			target:setEffect(target.EFF_DAZED, 5, {})
+		else
+			game.logSeen(target, "%s resists the terror!", target.name:capitalize())
+		end
+	end,
+	on_learn = function(self, t)
+		self.combat_physcrit = self.combat_physcrit + 2.8
+	end,
+	on_unlearn = function(self, t)
+		self.combat_physcrit = self.combat_physcrit - 2.8
+	end,
+	info = function(self, t)
+		return ([[Your mighty blows inspire utter terror on your foes. Any melee strike you do that deals more than %d%% of the target's total life puts them in a mortal terror, dazing them for 5 turns.
+		Your critical strike chance also increase by %d%%.]]):
+		format(20 + (30 - self:getTalentLevelRaw(t) * 5), self:getTalentLevelRaw(t) * 3)
+	end,
+}
+
+newTalent{
+	name = "Bloodrage",
+	type = {"technique/bloodthirst", 3},
+	require = techs_req_high3,
+	points = 5,
+	mode = "passive",
+	on_kill = function(self, t)
+		self:setEffect(self.EFF_BLOODRAGE, 5, {max=math.floor(self:getTalentLevel(t) * 6), inc=2})
+	end,
+	info = function(self, t)
+		return ([[Each time one of your foes bites the dust you feel a surge of power, increasing your strength by 2 up to a maximum of %d.]]):
+		format(math.floor(self:getTalentLevel(t) * 6))
+	end,
+}
+
+newTalent{
+	name = "Unstoppable",
+	type = {"technique/bloodthirst", 4},
+	require = techs_req_high4,
+	points = 5,
+	cooldown = 45,
+	stamina = 120,
+	action = function(self, t)
+		self:setEffect(self.EFF_UNSTOPPABLE, 2 + self:getTalentLevelRaw(t), {hp_per_kill=math.floor(self:getTalentLevel(t) * 3.5)})
+		return true
+	end,
+	info = function(self, t)
+		return ([[You enter a battle frenzy for %d turns. During the time you can not use items, healing has no effect and your health can not drop below 1.
+		At the end of the frenzy you regain %d%% of your health per foes slain during thr frenzy.]]):
+		format(2 + self:getTalentLevelRaw(t), math.floor(self:getTalentLevel(t) * 3.5))
+	end,
+}
diff --git a/game/modules/tome/data/talents/techniques/techniques.lua b/game/modules/tome/data/talents/techniques/techniques.lua
index 2334f02347..ea8778f3c4 100644
--- a/game/modules/tome/data/talents/techniques/techniques.lua
+++ b/game/modules/tome/data/talents/techniques/techniques.lua
@@ -31,6 +31,7 @@ newTalentType{ type="technique/archery-training", name = "archery - common", des
 newTalentType{ type="technique/archery-utility", name = "archery - utility", description = "Specialized archery techniques to maim your targets." }
 newTalentType{ type="technique/superiority", name = "superiority", description = "Advanced combat techniques." }
 newTalentType{ type="technique/warcries", name = "warcries", description = "Master the warcries to improve yourself and weaken others." }
+newTalentType{ type="technique/bloodthirst", name = "bloodthirst", description = "Delight in the act of battle and the spilling of blood." }
 newTalentType{ type="technique/field-control", name = "field control", generic = true, description = "Control the battlefield using various techniques." }
 newTalentType{ type="technique/combat-techniques-active", name = "combat techniques", description = "Generic combat oriented techniques." }
 newTalentType{ type="technique/combat-techniques-passive", name = "combat techniques", description = "Generic combat oriented techniques." }
@@ -129,6 +130,7 @@ load("/data/talents/techniques/dualweapon.lua")
 load("/data/talents/techniques/weaponshield.lua")
 load("/data/talents/techniques/superiority.lua")
 load("/data/talents/techniques/warcries.lua")
+load("/data/talents/techniques/bloodthirst.lua")
 load("/data/talents/techniques/field-control.lua")
 load("/data/talents/techniques/combat-techniques.lua")
 load("/data/talents/techniques/combat-training.lua")
diff --git a/game/modules/tome/data/timed_effects.lua b/game/modules/tome/data/timed_effects.lua
index a84a17fe56..c876e5d6b1 100644
--- a/game/modules/tome/data/timed_effects.lua
+++ b/game/modules/tome/data/timed_effects.lua
@@ -1516,4 +1516,63 @@ newEffect{
 		old_eff.dur = math.min(old_eff.dur + new_eff.dur, 15)
 		return old_eff
 	end,
-}
\ No newline at end of file
+}
+
+newEffect{
+	name = "BLOODBATH",
+	desc = "Bloodbath",
+	type = "physical",
+	status = "beneficial",
+	parameters = { hp=10, regen=10 },
+	on_gain = function(self, err) return nil, "+Bloodbath" end,
+	on_lose = function(self, err) return nil, "-Bloodbath" end,
+	activate = function(self, eff)
+		local v = eff.hp * self.max_life / 100
+		eff.life_id = self:addTemporaryValue("max_life", v)
+		self:heal(v)
+		eff.life_regen_id = self:addTemporaryValue("life_regen", eff.regen * self.life_regen / 100)
+		eff.stamina_regen_id = self:addTemporaryValue("stamina_regen", eff.regen * self.stamina_regen / 100)
+	end,
+	deactivate = function(self, eff)
+		self:removeTemporaryValue("max_life", eff.life_id)
+		self:removeTemporaryValue("life_regen", eff.life_regen_id)
+		self:removeTemporaryValue("stamina_regen", eff.stamina_regen_id)
+	end,
+}
+
+newEffect{
+	name = "BLOODRAGE",
+	desc = "Bloodrage",
+	type = "physical",
+	status = "beneficial",
+	parameters = { inc=1, max=10 },
+	on_merge = function(self, old_eff, new_eff)
+		self:removeTemporaryValue("inc_stats", old_eff.tmpid)
+		old_eff.cur_inc = math.min(old_eff.cur_inc + new_eff.inc, new_eff.max)
+		old_eff.tmpid = self:addTemporaryValue("inc_stats", {[Stats.STAT_STR] = old_eff.cur_inc})
+
+		old_eff.dur = new_eff.dur
+		return old_eff
+	end,
+	activate = function(self, eff)
+		eff.cur_inc = eff.inc
+		eff.tmpid = self:addTemporaryValue("inc_stats", {[Stats.STAT_STR] = eff.inc})
+	end,
+	deactivate = function(self, eff)
+		self:removeTemporaryValue("inc_stats", eff.tmpid)
+	end,
+}
+
+newEffect{
+	name = "UNSTOPPABLE",
+	desc = "Unstoppable",
+	type = "physical",
+	status = "beneficial",
+	parameters = { hp_per_kill=2 },
+	activate = function(self, eff)
+		eff.kills = 0
+	end,
+	deactivate = function(self, eff)
+		self:heal(eff.kills * eff.hp_per_kill * self.max_life / 100)
+	end,
+}
diff --git a/ideas/technics.ods b/ideas/technics.ods
index c703ff0d8178ff997edfc848f1b6430c89d7222b..755a638287fc54b80b075448da291cf4727e4061 100644
GIT binary patch
delta 10554
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
GcmEIEo8bBY

delta 10271
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

-- 
GitLab