diff --git a/game/modules/tome/data/general/npcs/wight.lua b/game/modules/tome/data/general/npcs/wight.lua
index 03773e22a50c1ee87e99d5234847f1f76653c713..fdd076d0b0fe38799faf594bb36d3579b50c3102 100644
--- a/game/modules/tome/data/general/npcs/wight.lua
+++ b/game/modules/tome/data/general/npcs/wight.lua
@@ -74,7 +74,7 @@ newEntity{ base = "BASE_NPC_WIGHT",
 	combat_armor = 7, combat_def = 6,
 
 	resolvers.talents{
-		[Talents.T_FLAMESHOCK]={base=1, every=5, max=5}, [Talents.T_LIGHTNING]={base=1, every=5, max=5}, [Talents.T_CORROSIVE_VAPOUR]={base=1, every=5, max=5},
+		[Talents.T_FLAMESHOCK]={base=1, every=5, max=5}, [Talents.T_LIGHTNING]={base=1, every=5, max=5}, [Talents.T_GLACIAL_VAPOUR]={base=1, every=5, max=5},
 		[Talents.T_MIND_DISRUPTION]={base=1, every=5, max=5},
 	},
 }
@@ -87,7 +87,7 @@ newEntity{ base = "BASE_NPC_WIGHT",
 	max_life = resolvers.rngavg(70,80),
 	combat_armor = 9, combat_def = 6,
 
-	resolvers.talents{ [Talents.T_FLAMESHOCK]={base=2, every=5, max=6}, [Talents.T_LIGHTNING]={base=2, every=5, max=6}, [Talents.T_CORROSIVE_VAPOUR]={base=2, every=5, max=6},
+	resolvers.talents{ [Talents.T_FLAMESHOCK]={base=2, every=5, max=6}, [Talents.T_LIGHTNING]={base=2, every=5, max=6}, [Talents.T_GLACIAL_VAPOUR]={base=2, every=5, max=6},
 		[Talents.T_MIND_DISRUPTION]={base=2, every=5, max=6},
 	},
 }
@@ -101,7 +101,7 @@ newEntity{ base = "BASE_NPC_WIGHT",
 	max_life = resolvers.rngavg(80,90),
 	combat_armor = 10, combat_def = 8,
 
-	resolvers.talents{ [Talents.T_FLAMESHOCK]={base=3, every=5, max=7}, [Talents.T_LIGHTNING]={base=3, every=5, max=7}, [Talents.T_CORROSIVE_VAPOUR]={base=3, every=5, max=7},
+	resolvers.talents{ [Talents.T_FLAMESHOCK]={base=3, every=5, max=7}, [Talents.T_LIGHTNING]={base=3, every=5, max=7}, [Talents.T_GLACIAL_VAPOUR]={base=3, every=5, max=7},
 		[Talents.T_MIND_DISRUPTION]={base=3, every=5, max=7},
 	},
 }
@@ -122,7 +122,7 @@ newEntity{ base = "BASE_NPC_WIGHT",
 	make_escort = {
 		{type="undead", subtype="wight", number=resolvers.mbonus(2, 2)},
 	},
-	resolvers.talents{ [Talents.T_FLAMESHOCK]={base=3, every=5, max=7}, [Talents.T_LIGHTNING]={base=4, every=5, max=8}, [Talents.T_CORROSIVE_VAPOUR]={base=3, every=5, max=7}, [Talents.T_THUNDERSTORM]={base=2, every=5, max=7},
+	resolvers.talents{ [Talents.T_FLAMESHOCK]={base=3, every=5, max=7}, [Talents.T_LIGHTNING]={base=4, every=5, max=8}, [Talents.T_GLACIAL_VAPOUR]={base=3, every=5, max=7}, [Talents.T_THUNDERSTORM]={base=2, every=5, max=7},
 		[Talents.T_MIND_DISRUPTION]={base=4, every=5, max=8},
 	},
 }
diff --git a/game/modules/tome/data/gfx/particles/ice_vapour.lua b/game/modules/tome/data/gfx/particles/ice_vapour.lua
new file mode 100644
index 0000000000000000000000000000000000000000..9fa154f4b6be43223492be588349d9ce22d8d811
--- /dev/null
+++ b/game/modules/tome/data/gfx/particles/ice_vapour.lua
@@ -0,0 +1,49 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009, 2010, 2011, 2012 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
+
+base_size = 32
+
+return { generator = function()
+	local ad = rng.range(0, 360)
+	local a = math.rad(ad)
+	local dir = math.rad(ad + 90)
+	local r = rng.range(1, 20)
+	local dirv = math.rad(1)
+
+	return {
+		trail = 1,
+		life = 10,
+		size = 1, sizev = 0.5, sizea = 0,
+
+		x = r * math.cos(a), xv = -0.1, xa = 0,
+		y = r * math.sin(a), yv = -0.1, ya = 0,
+		dir = math.rad(rng.range(0, 360)), dirv = 0, dira = 0,
+		vel = 0.1, velv = 0, vela = 0,
+
+		r = 0,   rv = 0, ra = 0,
+		g = rng.range(170, 210)/255,   gv = 0, ga = 0,
+		b = rng.range(200, 255)/255,   gv = 0, ga = 0,
+		a = rng.range(80, 130)/255,   av = 0, aa = 0,
+	}
+end, },
+function(self)
+	self.ps:emit(4)
+end,
+40,
+"particle_torus"
diff --git a/game/modules/tome/data/gfx/talents/glacial_vapour.png b/game/modules/tome/data/gfx/talents/glacial_vapour.png
new file mode 100644
index 0000000000000000000000000000000000000000..7cf0ee657d58aedf44febeed9c6c5c7375e846bc
Binary files /dev/null and b/game/modules/tome/data/gfx/talents/glacial_vapour.png differ
diff --git a/game/modules/tome/data/talents/misc/npcs.lua b/game/modules/tome/data/talents/misc/npcs.lua
index 6300ab9690e759fcf71a373c1b6d4533615fbf8e..091c45ce045b13a733dec5bb60f5440f60cdbcdd 100644
--- a/game/modules/tome/data/talents/misc/npcs.lua
+++ b/game/modules/tome/data/talents/misc/npcs.lua
@@ -1592,3 +1592,46 @@ newTalent{
 	end,
 }
 
+newTalent{
+	name = "Corrosive Vapour",
+	type = {"spell/other",1},
+	require = spells_req1,
+	points = 5,
+	random_ego = "attack",
+	mana = 20,
+	cooldown = 8,
+	tactical = { ATTACKAREA = { ACID = 2 } },
+	range = 8,
+	radius = 3,
+	direct_hit = true,
+	requires_target = true,
+	target = function(self, t)
+		return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t)}
+	end,
+	getDamage = function(self, t) return self:combatTalentSpellDamage(t, 4, 50) end,
+	getDuration = function(self, t) return self:getTalentLevel(t) + 2 end,
+	action = function(self, t)
+		local tg = self:getTalentTarget(t)
+		local x, y = self:getTarget(tg)
+		if not x or not y then return nil end
+		local _ _, _, _, x, y = self:canProject(tg, x, y)
+		-- Add a lasting map effect
+		game.level.map:addEffect(self,
+			x, y, t.getDuration(self, t),
+			DamageType.ACID, t.getDamage(self, t),
+			self:getTalentRadius(t),
+			5, nil,
+			{type="vapour"},
+			nil, self:spellFriendlyFire()
+		)
+		game:playSoundNear(self, "talents/cloud")
+		return true
+	end,
+	info = function(self, t)
+		local damage = t.getDamage(self, t)
+		local duration = t.getDuration(self, t)
+		return ([[Corrosive fumes rise from the ground doing %0.2f acid damage in a radius of 3 each turn for %d turns.
+		The damage will increase with your Spellpower.]]):
+		format(damDesc(self, DamageType.ACID, damage), duration)
+	end,
+}
diff --git a/game/modules/tome/data/talents/spells/necrotic-minions.lua b/game/modules/tome/data/talents/spells/necrotic-minions.lua
index eb082c967fb753986934f58cfa24070414d7a3c5..13d7537fd82c8daf42a8e21e6b77d0aa50efded2 100644
--- a/game/modules/tome/data/talents/spells/necrotic-minions.lua
+++ b/game/modules/tome/data/talents/spells/necrotic-minions.lua
@@ -457,7 +457,7 @@ local minions_list = {
 		desc=[[It is a ghostly form with eyes that haunt you.]],
 		max_life = resolvers.rngavg(70,80),
 		combat_armor = 9, combat_def = 6,
-		resolvers.talents{ T_FLAMESHOCK={base=2, every=5, max=6}, T_LIGHTNING={base=2, every=5, max=6}, T_CORROSIVE_VAPOUR={base=2, every=5, max=6},
+		resolvers.talents{ T_FLAMESHOCK={base=2, every=5, max=6}, T_LIGHTNING={base=2, every=5, max=6}, T_GLACIAL_VAPOUR={base=2, every=5, max=6},
 			T_MIND_DISRUPTION={base=2, every=5, max=6},
 		},
 	},
@@ -485,7 +485,7 @@ local minions_list = {
 		desc=[[It is a ghostly nightmare of an entity.]],
 		max_life = resolvers.rngavg(80,90),
 		combat_armor = 10, combat_def = 8,
-		resolvers.talents{ T_FLAMESHOCK={base=3, every=5, max=7}, T_LIGHTNING={base=3, every=5, max=7}, T_CORROSIVE_VAPOUR={base=3, every=5, max=7},
+		resolvers.talents{ T_FLAMESHOCK={base=3, every=5, max=7}, T_LIGHTNING={base=3, every=5, max=7}, T_GLACIAL_VAPOUR={base=3, every=5, max=7},
 			T_MIND_DISRUPTION={base=3, every=5, max=7},
 		},
 	},
diff --git a/game/modules/tome/data/talents/spells/water.lua b/game/modules/tome/data/talents/spells/water.lua
index afb61e5045945e0f009749ff60a9253be27fe541..4ef10e52d258a50236a2577b546c61bec3cc1fd9 100644
--- a/game/modules/tome/data/talents/spells/water.lua
+++ b/game/modules/tome/data/talents/spells/water.lua
@@ -18,14 +18,14 @@
 -- darkgod@te4.org
 
 newTalent{
-	name = "Corrosive Vapour",
+	name = "Glacial Vapour",
 	type = {"spell/water",1},
 	require = spells_req1,
 	points = 5,
 	random_ego = "attack",
-	mana = 25,
+	mana = 12,
 	cooldown = 8,
-	tactical = { ATTACKAREA = { ACID = 2 } },
+	tactical = { ATTACKAREA = { COLD = 2 } },
 	range = 8,
 	radius = 3,
 	direct_hit = true,
@@ -43,10 +43,10 @@ newTalent{
 		-- Add a lasting map effect
 		game.level.map:addEffect(self,
 			x, y, t.getDuration(self, t),
-			DamageType.ACID, t.getDamage(self, t),
+			DamageType.COLD, t.getDamage(self, t),
 			self:getTalentRadius(t),
 			5, nil,
-			{type="vapour"},
+			{type="ice_vapour"},
 			nil, self:spellFriendlyFire()
 		)
 		game:playSoundNear(self, "talents/cloud")
@@ -55,9 +55,9 @@ newTalent{
 	info = function(self, t)
 		local damage = t.getDamage(self, t)
 		local duration = t.getDuration(self, t)
-		return ([[Corrosive fumes rise from the ground doing %0.2f acid damage in a radius of 3 each turn for %d turns.
+		return ([[Glacial fumes rise from the ground doing %0.2f cold damage in a radius of 3 each turn for %d turns.
 		The damage will increase with your Spellpower.]]):
-		format(damDesc(self, DamageType.ACID, damage), duration)
+		format(damDesc(self, DamageType.COLD, damage), duration)
 	end,
 }
 
diff --git a/game/modules/tome/data/zones/telmur/npcs.lua b/game/modules/tome/data/zones/telmur/npcs.lua
index 03e3efbf69444d82562febe2a672df546cdcea49..276718b82857a9048cc0b9bda49502f04f628791 100644
--- a/game/modules/tome/data/zones/telmur/npcs.lua
+++ b/game/modules/tome/data/zones/telmur/npcs.lua
@@ -73,7 +73,7 @@ newEntity{ define_as = "SHADE_OF_TELOS",
 		[Talents.T_UTTERCOLD]=8,
 		[Talents.T_FROZEN_GROUND]=5,
 		[Talents.T_SHATTER]=5,
-		[Talents.T_CORROSIVE_VAPOUR]=5,
+		[Talents.T_GLACIAL_VAPOUR]=5,
 		[Talents.T_CURSE_OF_IMPOTENCE]=5,
 		[Talents.T_VIRULENT_DISEASE]=5,
 	},