diff --git a/game/modules/tome/class/Grid.lua b/game/modules/tome/class/Grid.lua
index a94e1282c2e7295e8805c873a294a15db3f83049..79cf2f05044b016b09baf2a6c13a486f5510f37f 100644
--- a/game/modules/tome/class/Grid.lua
+++ b/game/modules/tome/class/Grid.lua
@@ -232,6 +232,7 @@ function _M:makeNewTrees(g, kindsdefs, max_trees)
 		end
 		add[#add+1] = engine.Entity.new{
 			z = z,
+			_st = y,
 			display_x = x,
 			display_y = y + scale * parts.tall,
 			display_w = scale,
@@ -253,7 +254,7 @@ function _M:makeNewTrees(g, kindsdefs, max_trees)
 	else
 		tbl = { makeTree(1, 16), }
 	end
-	table.sort(tbl, function(a,b) return a.display_w < b.display_w end)
+	table.sort(tbl, function(a,b) return a._st < b._st end)
 	for i = 1, #tbl do tbl[i].z = 16 + i - 1 end
 	return g
 end
diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index f23c5ad657f5d91f916dee925f0b432e6e40c417..6bc3231d79bb65a3426233873479faff16f81b6c 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -567,8 +567,10 @@ function _M:playerFOV()
 		self:computeFOV(self.sight or 10, "block_sight", function(x, y, dx, dy, sqdist)
 			game.level.map:apply(x, y, fovdist[sqdist])
 		end, true, false, true)
+		local lradius = self.lite
+		if self.radiance_aura and lradius < self.radiance_aura then lradius = self.radiance_aura end
 		if self.lite <= 0 then game.level.map:applyLite(self.x, self.y)
-		else self:computeFOV(self.lite + bonus, "block_sight", function(x, y, dx, dy, sqdist) game.level.map:applyLite(x, y) end, true, true, true) end
+		else self:computeFOV(lradius + bonus, "block_sight", function(x, y, dx, dy, sqdist) game.level.map:applyLite(x, y) end, true, true, true) end
 
 		-- For each entity, generate lite
 		local uid, e = next(game.level.entities)
diff --git a/game/modules/tome/data/general/grids/forest.lua b/game/modules/tome/data/general/grids/forest.lua
index b3174e244c8fe245650206ad51cbeaf341020aad..3eaf57c98a60b9a67633d93abf67b4b02f51bb89 100644
--- a/game/modules/tome/data/general/grids/forest.lua
+++ b/game/modules/tome/data/general/grids/forest.lua
@@ -42,10 +42,6 @@ newEntity{
 }
 
 local treesdef = {
-	{"small_elm", {"shadow", "trunk", "foliage_summer"}},
-	{"small_elm", {"shadow", "trunk", "foliage_summer"}},
-	{"elm", {tall=-1, "shadow", "trunk", "foliage_summer"}},
-	{"elm", {tall=-1, "shadow", "trunk", "foliage_summer"}},
 	{"small_elm", {"shadow", "trunk", "foliage_summer"}},
 	{"small_elm", {"shadow", "trunk", "foliage_summer"}},
 	{"elm", {tall=-1, "shadow", "trunk", "foliage_summer"}},
@@ -53,6 +49,9 @@ local treesdef = {
 	{"light_pine", {tall=-1, "shadow", "trunk", {"foliage_%02d",1,4}}},
 	{"light_small_wider_pine", {"shadow", "trunk", {"foliage_%02d",1,4}}},
 	{"light_small_narrow_pine", {"shadow", "trunk", {"foliage_%02d",1,4}}},
+	{"cypress", {tall=-1, "shadow", "trunk", {"foliage_%02d",1,4}}},
+	{"small_cypress", {tall=-1, "shadow", "trunk", {"foliage_%02d",1,4}}},
+	{"tiny_cypress", {"shadow", "trunk", {"foliage_%02d",1,4}}},
 }
 
 newEntity{
diff --git a/game/modules/tome/data/general/grids/mountain.lua b/game/modules/tome/data/general/grids/mountain.lua
index 60b4bdb75b925c8f662577f90d83008cea2d1e3b..9f51546ae8eac1631499d0b6a7396fac8e93fce7 100644
--- a/game/modules/tome/data/general/grids/mountain.lua
+++ b/game/modules/tome/data/general/grids/mountain.lua
@@ -62,6 +62,9 @@ for i = 1, 30 do
 		{"pine", {tall=-1, "shadow", "trunk", {"foliage_winter_%02d", 1, 2}, shader_args={attenuation=14}}},
 		{"small_narrow_pine", {"shadow", "trunk", {"foliage_winter_%02d", 1, 2}, shader_args={attenuation=14}}},
 		{"small_wider_pine", {"shadow", "trunk", {"foliage_winter_%02d", 1, 2}, shader_args={attenuation=14}}},
+		{"cypress", {tall=-1, "shadow", "trunk", {"foliage_winter_%02d",1,2}}},
+		{"small_cypress", {tall=-1, "shadow", "trunk", {"foliage_winter_%02d",1,2}}},
+		{"tiny_cypress", {"shadow", "trunk", {"foliage_winter_%02d",1,2}}},
 	}))
 end
 
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..045a9aefaec1c5ed98680d46ab9f4a1715626b9b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb3b755215da3c212cf09c5d229f2b72780093bb
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_02.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_03.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfbe84f4e36a8c095d1c0c542e78317ef82c3f67
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_03.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_04.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..591976fef7fe970b10f738ba364d32ca3ba3679c
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_04.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_winter_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_winter_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..e9f7a6fd151e10a80ff5640bfee2673f9e1fdd1f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_winter_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_winter_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_winter_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bff5df37372c6ca052a78316dacb27bd4f7b710
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_foliage_winter_02.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_shadow.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ee68dabae67c3ba011189c6ed2a7127144cd6cc
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_shadow.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_trunk.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..705edf19dd1ffec15e8305698e8ff90060d818ec
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/cypress_trunk.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ba287864053c875d0ca79ad906a5da2069fd460
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0c46b62100df926daacb041e965c5a0284e2ca4
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_02.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_03.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..1398d2babaccd6304b7c68c258ffc8108b485b54
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_03.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_04.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..09fa37e52f715d7e30a0dcf69fe942ab2382f5b9
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_04.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_winter_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_winter_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7f83aa4c121c1510e8700e593ed32f7f3a91305
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_winter_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_winter_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_winter_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffd17b7125633cd7f2e46489661fe980553106f1
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_foliage_winter_02.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_shadow.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..01dd3aad0c020205fe74f707344680950c2330ec
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_shadow.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_trunk.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..217c90c2433ef85c756fd6da21f0d88c6a27ab23
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/narrow_cypress_trunk.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..299af1db5537ca4cc095ff577616488b8dbae146
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4c4395edbc7368d8ce760d6b1a231c5741dd845
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_02.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_03.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..714accb3e4a4b2976489e5ef53f6b9aa695a8020
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_03.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_04.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..5140ea1c626679defa0c1a66a59389e04c0c081c
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_04.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_winter_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_winter_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fd53a846f361980b1a05367439fc760393c9e40
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_winter_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_winter_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_winter_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..8533e485f2d9a92fa98ee7ce50e416ebdaddf557
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_foliage_winter_02.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_shadow.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..db9e39e51b1c6b7e378ae5323eaf644a72afb412
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_shadow.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_trunk.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..e1d26ad039957f9d402a929b5579d3a2de310124
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/small_cypress_trunk.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..2804abcffd70c7a0f2216d034dcbe14d664d4bfe
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c2955bce8972896c9357edaeed9278582d81bed
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_02.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_03.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..91885a5bf63cfac513d7a13e145c092bd2388f26
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_03.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_04.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_04.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a75898222ed8d6ffb64fb323d0cffdc5a595438
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_04.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_winter_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_winter_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..43d44c64355850d38a5a29092821f38745e39736
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_winter_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_winter_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_winter_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..8fc49d0018719a9fddb87157eb007b218e287fee
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_foliage_winter_02.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_shadow.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb0438daa9de5663ac31181372cb25ca0b63f662
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_shadow.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_trunk.png b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_trunk.png
new file mode 100644
index 0000000000000000000000000000000000000000..2788ebd966015aebdb7121eb177dcc765ff05a47
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/trees/tiny_cypress_trunk.png differ
diff --git a/game/modules/tome/data/talents/celestial/radiance.lua b/game/modules/tome/data/talents/celestial/radiance.lua
index 85a00545337d9dbcd36b84121d25a1fe88483842..caaa3e1b7ddc7136451d61676236650d225dfa70 100644
--- a/game/modules/tome/data/talents/celestial/radiance.lua
+++ b/game/modules/tome/data/talents/celestial/radiance.lua
@@ -20,29 +20,21 @@
 newTalent{
 	name = "Radiance",
 	type = {"celestial/radiance", 1},
-	mode = "sustained",
+	mode = "passive",
 	require = divi_req1,
 	points = 5,
-	cooldown = 10,
-	sustain_positive = 10,
-	tactical = { BUFF = 2 },
-	range = 10,
-	getDamage = function(self, t) return 7 + self:combatSpellpower(0.092) * self:combatTalentScale(t, 1, 5) end,
-	activate = function(self, t)
-		game:playSoundNear(self, "talents/spell_generic2")
-		local ret = {
-		}
-		return ret
-	end,
-	deactivate = function(self, t, p)
-		return true
+	radius = function(self, t) return self:combatTalentScale(t, 3, 7) end,
+	getResist = function(self, t) return math.min(100, self:combatTalentScale(t, 20, 90)) end,
+	passives = function(self, t, p)
+		self:talentTemporaryValue(p, "radiance_aura", self:getTalentRadius(t))
+		self:talentTemporaryValue(p, "blind_immune", t.getResist(self, t) / 100)
 	end,
 	info = function(self, t)
-		local damage = t.getDamage(self, t)
-		return ([[Infuse your weapon with the power of the Sun, doing %0.2f light damage at the cost of 3 positive energy for each blow dealt.
-		If you do not have enough positive energy, the sustain will have no effect.
-		The damage dealt will increase with your Spellpower.]]):
-		format(damDesc(self, DamageType.LIGHT, damage))
+		return ([[You are so infused with sunlight that your body glows permanently in radius %d, even in dark places.
+		The light protects your eyes, giving %d%% blindness resistance.
+		The light radius overrides your normal light if it is bigger (it does not stack).
+		]]):
+		format(self:getTalentRadius(t), t.getResist(self, t))
 	end,
 }
 
diff --git a/game/modules/tome/data/zones/trollmire/zone.lua b/game/modules/tome/data/zones/trollmire/zone.lua
index 5ef03ce166a61113de70be1f0bba4eadc5ac016f..203cb28baf0bea567cb924a878a83ff1f82b67d6 100644
--- a/game/modules/tome/data/zones/trollmire/zone.lua
+++ b/game/modules/tome/data/zones/trollmire/zone.lua
@@ -18,6 +18,7 @@
 -- darkgod@te4.org
 
 local layout = game.state:alternateZoneTier1(short_name, {"FLOODED", 1})
+--layout="DEFAULT"
 if layout == "FLOODED" then
 
 return {