diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index 5bfad5d12c9912aa3f3708dddd45d685640b49d1..9b638718f8855f60fae4ec02fb9ce964c8443f2a 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -226,6 +226,11 @@ function _M:die(src)
 	end
 	self.inven = {}
 
+	-- Give stamina back
+	if src:knowTalent(src.T_UNENDING_FRENZY) then
+		src:incStamina(src:getTalentLevel(src.T_UNENDING_FRENZY) * 2)
+	end
+
 	return true
 end
 
diff --git a/game/modules/tome/data/talents/techniques/combat-techniques.lua b/game/modules/tome/data/talents/techniques/combat-techniques.lua
index aae4fc2f737d8960f7d1ce6e474b1265ff5e28f6..641f681d53e0f977b4c81e7cbd6ef5ef5b87c020 100644
--- a/game/modules/tome/data/talents/techniques/combat-techniques.lua
+++ b/game/modules/tome/data/talents/techniques/combat-techniques.lua
@@ -1,6 +1,9 @@
+----------------------------------------------------
+-- Active techniques
+----------------------------------------------------
 newTalent{
 	name = "Precise Striking",
-	type = {"technique/combat-techniques", 1},
+	type = {"technique/combat-techniques-active", 1},
 	mode = "sustained",
 	points = 5,
 	require = techs_strdex_req1,
@@ -27,7 +30,7 @@ newTalent{
 
 newTalent{
 	name = "Blinding Speed",
-	type = {"technique/combat-techniques", 2},
+	type = {"technique/combat-techniques-active", 2},
 	points = 5,
 	cooldown = 55,
 	stamina = 25,
@@ -43,7 +46,7 @@ newTalent{
 
 newTalent{
 	name = "Perfect Strike",
-	type = {"technique/combat-techniques", 3},
+	type = {"technique/combat-techniques-active", 3},
 	points = 5,
 	cooldown = 55,
 	stamina = 25,
@@ -59,7 +62,7 @@ newTalent{
 
 newTalent{
 	name = "Rush",
-	type = {"technique/combat-techniques", 4},
+	type = {"technique/combat-techniques-active", 4},
 	message = "@Source@ rushes out!",
 	require = techs_strdex_req4,
 	points = 5,
@@ -98,3 +101,68 @@ newTalent{
 		return ([[Rushes toward your target with incredible speed. If the target is reached you get a free attack doing 120% weapon damage.]])
 	end,
 }
+
+----------------------------------------------------
+-- Passive techniques
+----------------------------------------------------
+newTalent{
+	name = "Quick Recovery",
+	type = {"technique/combat-techniques-passive", 1},
+	require = techs_strdex_req1,
+	mode = "passive",
+	points = 5,
+	on_learn = function(self, t)
+		self.stamina_regen = self.stamina_regen + 0.2
+	end,
+	on_unlearn = function(self, t)
+		self.stamina_regen = self.stamina_regen - 0.2
+	end,
+	info = function(self, t)
+		return ([[Your focus on the combat allows you to regenerate stamina faster (+%0.2f stamina/turn).]]):format(self:getTalentLevelRaw(t) / 5)
+	end,
+}
+
+newTalent{
+	name = "Fast Metabolism",
+	type = {"technique/combat-techniques-passive", 2},
+	require = techs_strdex_req2,
+	mode = "passive",
+	points = 5,
+	on_learn = function(self, t)
+		self.life_regen = self.life_regen + 0.2
+	end,
+	on_unlearn = function(self, t)
+		self.life_regen = self.life_regen - 0.2
+	end,
+	info = function(self, t)
+		return ([[Your focus on the combat allows you to regenerate life faster (+%0.2f life/turn).]]):format(self:getTalentLevelRaw(t) / 5)
+	end,
+}
+
+newTalent{
+	name = "Spell Shield",
+	type = {"technique/combat-techniques-passive", 3},
+	require = techs_strdex_req3,
+	mode = "passive",
+	points = 5,
+	on_learn = function(self, t)
+		self.combat_spellresist = self.combat_spellresist + 4
+	end,
+	on_unlearn = function(self, t)
+		self.combat_spellresist = self.combat_spellresist - 4
+	end,
+	info = function(self, t)
+		return ([[Rigorous training allows you to be more resistant to some spells effects. (+%d spell resistance).]]):format(self:getTalentLevelRaw(t) * 4)
+	end,
+}
+
+newTalent{
+	name = "Unending Frenzy",
+	type = {"technique/combat-techniques-passive", 4},
+	require = techs_strdex_req4,
+	mode = "passive",
+	points = 5,
+	info = function(self, t)
+		return ([[You relish in the death of your foes, regaining %d stamina wit heach death.]]):format(self:getTalentLevel(t) * 2)
+	end,
+}
diff --git a/game/modules/tome/data/talents/techniques/combat-training.lua b/game/modules/tome/data/talents/techniques/combat-training.lua
index 07b745df7f529f13bc5203e237834824fdd2f1c7..b455ef1dc766a0fda3eb8de31fa8ce09fada07ae 100644
--- a/game/modules/tome/data/talents/techniques/combat-training.lua
+++ b/game/modules/tome/data/talents/techniques/combat-training.lua
@@ -35,7 +35,7 @@ newTalent{
 		self.max_life = self.max_life - 40
 	end,
 	info = function(self, t)
-		return ([[Increases your maximun life by %d]]):format(40 * self:getTalentLevel(t))
+		return ([[Increases your maximun life by %d]]):format(40 * self:getTalentLevelRaw(t))
 	end,
 }
 
diff --git a/game/modules/tome/data/talents/techniques/techniques.lua b/game/modules/tome/data/talents/techniques/techniques.lua
index 6526de580eb05b815cd70dd8904e008cb8d73345..e15e7578c6ce2a5174851483b8344e45737f3b24 100644
--- a/game/modules/tome/data/talents/techniques/techniques.lua
+++ b/game/modules/tome/data/talents/techniques/techniques.lua
@@ -5,7 +5,8 @@ newTalentType{ type="technique/shield-offense", name = "weapon and shields", des
 newTalentType{ type="technique/shield-defense", name = "weapon and shields", description = "Specialized weapon and shield techniques." }
 newTalentType{ type="technique/dualweapon-training", name = "dual wielding", description = "Specialized dual wielding techniques." }
 newTalentType{ type="technique/dualweapon-attack", name = "dual wielding", description = "Specialized dual wielding techniques." }
-newTalentType{ type="technique/combat-techniques", name = "combat-techniques", description = "Generic combat oriented 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." }
 newTalentType{ type="technique/combat-training", name = "combat-training", description = "Teaches to use various armors and improves health." }
 
 -- Generic requires for techs based on talent level
diff --git a/game/modules/tome/data/zones/tower-amon-sul/npcs.lua b/game/modules/tome/data/zones/tower-amon-sul/npcs.lua
index 0d54782231a1101a2f04bbc01c70fe5e64746cbc..54e3da8472a2a979d9d3244c4fa6fbcb18eb43be 100644
--- a/game/modules/tome/data/zones/tower-amon-sul/npcs.lua
+++ b/game/modules/tome/data/zones/tower-amon-sul/npcs.lua
@@ -1,8 +1,8 @@
---load("/data/general/npcs/rodent.lua")
---load("/data/general/npcs/vermin.lua")
---load("/data/general/npcs/molds.lua")
+load("/data/general/npcs/rodent.lua")
+load("/data/general/npcs/vermin.lua")
+load("/data/general/npcs/molds.lua")
 load("/data/general/npcs/skeleton.lua")
---load("/data/general/npcs/snake.lua")
+load("/data/general/npcs/snake.lua")
 
 local Talents = require("engine.interface.ActorTalents")
 
diff --git a/ideas/technics.ods b/ideas/technics.ods
index a0b62379ee1d545fb74251856061b8998420901b..64ad56a1d7ab17f2a267439d87132ff91d8a7f4a 100644
Binary files a/ideas/technics.ods and b/ideas/technics.ods differ