From fbb7bb1f1d1619baf823ec98d34e2bf8f79cf398 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Fri, 4 Feb 2011 12:08:05 +0000
Subject: [PATCH] tiles for the scintilalting cave

git-svn-id: http://svn.net-core.org/repos/t-engine4@2653 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/class/Grid.lua              |  39 ++++++++++++++++++
 game/modules/tome/class/Player.lua            |   8 ++--
 .../tome/data/general/grids/underground.lua   |  21 ++++++++++
 .../tome/data/general/npcs/crystal.lua        |  18 ++++----
 .../data/gfx/shockbolt/npc/crystal_npc.png    | Bin 0 -> 9106 bytes
 .../gfx/shockbolt/terrain/crystal_alpha1.png  | Bin 0 -> 5378 bytes
 .../gfx/shockbolt/terrain/crystal_alpha2.png  | Bin 0 -> 3406 bytes
 .../gfx/shockbolt/terrain/crystal_alpha3.png  | Bin 0 -> 3584 bytes
 .../gfx/shockbolt/terrain/crystal_alpha4.png  | Bin 0 -> 6727 bytes
 .../gfx/shockbolt/terrain/crystal_alpha5.png  | Bin 0 -> 4343 bytes
 .../gfx/shockbolt/terrain/crystal_alpha6.png  | Bin 0 -> 7034 bytes
 .../data/zones/scintillating-caves/npcs.lua   |   2 +-
 .../data/zones/scintillating-caves/zone.lua   |  13 ++++--
 13 files changed, 84 insertions(+), 17 deletions(-)
 create mode 100644 game/modules/tome/data/gfx/shockbolt/npc/crystal_npc.png
 create mode 100644 game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha1.png
 create mode 100644 game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha2.png
 create mode 100644 game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha3.png
 create mode 100644 game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha4.png
 create mode 100644 game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha5.png
 create mode 100644 game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha6.png

diff --git a/game/modules/tome/class/Grid.lua b/game/modules/tome/class/Grid.lua
index c213e644cf..09c29dad21 100644
--- a/game/modules/tome/class/Grid.lua
+++ b/game/modules/tome/class/Grid.lua
@@ -121,6 +121,45 @@ function _M:makeTrees(base, max)
 	return tbl
 end
 
+--- Generate sub entities to make nice crystals, same as trees but change tint
+function _M:makeCrystals(base, max)
+	local function makeTree(nb, z)
+		local inb = 4 - nb
+		local r = rng.range(1, 100)
+		local g = rng.range(1, 100)
+		local b = rng.range(1, 100)
+		local maxcol = math.max(r, g, b)
+		r = r / maxcol
+		g = g / maxcol
+		b = b / maxcol
+		return engine.Entity.new{
+			z = z,
+			display_scale = rng.float(0.5 + inb / 6, 1.6),
+			display_x = rng.float(-1 / 3 * nb / 3, 1 / 3 * nb / 3),
+			display_y = rng.float(-1 / 3 * nb / 3, 1 / 3 * nb / 3),
+			display_on_seen = true,
+			display_on_remember = true,
+			tint_r = r,
+			tint_g = g,
+			tint_b = b,
+			image = (base or "terrain/crystal_alpha")..rng.range(1,max or 6)..".png",
+		}
+	end
+
+	local v = rng.range(0, 100)
+	local tbl
+	if v < 33 then
+		tbl = { makeTree(3, 16), makeTree(3, 17), makeTree(3, 18), }
+	elseif v < 66 then
+		tbl = { makeTree(2, 16), makeTree(2, 17), }
+	else
+		tbl = { makeTree(1, 16), }
+	end
+	table.sort(tbl, function(a,b) return a.display_scale < b.display_scale end)
+	for i = 1, #tbl do tbl[i].z = 16 + i - 1 end
+	return tbl
+end
+
 --- Generate sub entities to make nice shells
 function _M:makeShells(base, max)
 	local function makeShell(nb, z)
diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index b7c51093cc..5d70e5380a 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -524,9 +524,11 @@ function _M:runCheck()
 		local grid = game.level.map(x, y, Map.TERRAIN)
 		if grid and grid.notice then noticed = "interesting terrain" end
 
-		-- Objects are always interesting
-		local obj = game.level.map:getObject(x, y, 1)
-		if obj then noticed = "object seen" end
+		-- Objects are always interesting, only on curent spot
+		if x == self.x and y == self.y then
+			local obj = game.level.map:getObject(x, y, 1)
+			if obj then noticed = "object seen" end
+		end
 
 		-- Traps are always interesting if known
 		local trap = game.level.map(x, y, Map.TRAP)
diff --git a/game/modules/tome/data/general/grids/underground.lua b/game/modules/tome/data/general/grids/underground.lua
index ae5e69a8ba..8dc3fb8dae 100644
--- a/game/modules/tome/data/general/grids/underground.lua
+++ b/game/modules/tome/data/general/grids/underground.lua
@@ -19,6 +19,7 @@
 
 newEntity{
 	define_as = "UNDERGROUND_FLOOR",
+	type = "floor", subtype = "underground",
 	name = "floor", image = "terrain/underground_floor.png",
 	display = '.', color=colors.LIGHT_UMBER, back_color=colors.UMBER,
 	grow = "UNDERGROUND_TREE",
@@ -27,6 +28,7 @@ newEntity{
 for i = 1, 20 do
 newEntity{
 	define_as = "UNDERGROUND_TREE"..(i > 1 and i or ""),
+	type = "wall", subtype = "underground",
 	name = "underground thick vegetation",
 	image = "terrain/underground_floor.png",
 	add_displays = class:makeTrees("terrain/underground_tree_alpha", 7),
@@ -39,8 +41,25 @@ newEntity{
 }
 end
 
+for i = 1, 20 do
+newEntity{
+	define_as = "CRYSTAL_WALL"..(i > 1 and i or ""),
+	type = "wall", subtype = "underground",
+	name = "crystals",
+	image = "terrain/underground_floor.png",
+	add_displays = class:makeCrystals("terrain/crystal_alpha"),
+	display = '#', color=colors.LIGHT_BLUE, back_color=colors.UMBER,
+	always_remember = true,
+	can_pass = {pass_wall=1},
+	does_block_move = true,
+	block_sight = true,
+	dig = "UNDERGROUND_FLOOR",
+}
+end
+
 newEntity{
 	define_as = "UNDERGROUND_LADDER_DOWN",
+	type = "floor", subtype = "underground",
 	name = "ladder to the next level", image = "terrain/underground_floor.png", add_displays = {class.new{image="terrain/ladder_down.png"}},
 	display = '>', color_r=255, color_g=255, color_b=0,
 	notice = true,
@@ -49,6 +68,7 @@ newEntity{
 }
 newEntity{
 	define_as = "UNDERGROUND_LADDER_UP",
+	type = "floor", subtype = "underground",
 	name = "ladder to the previous level", image = "terrain/underground_floor.png", add_displays = {class.new{image="terrain/ladder_up.png"}},
 	display = '<', color_r=255, color_g=255, color_b=0,
 	notice = true,
@@ -57,6 +77,7 @@ newEntity{
 }
 newEntity{
 	define_as = "UNDERGROUND_LADDER_UP_WILDERNESS",
+	type = "floor", subtype = "underground",
 	name = "ladder to worldmap", image = "terrain/underground_floor.png", add_displays = {class.new{image="terrain/ladder_up_wild.png"}},
 	display = '<', color_r=255, color_g=255, color_b=0,
 	notice = true,
diff --git a/game/modules/tome/data/general/npcs/crystal.lua b/game/modules/tome/data/general/npcs/crystal.lua
index d4f6e46b1e..1671d31b35 100644
--- a/game/modules/tome/data/general/npcs/crystal.lua
+++ b/game/modules/tome/data/general/npcs/crystal.lua
@@ -2,7 +2,7 @@ local Talents = require("engine.interface.ActorTalents")
 
 newEntity{
 	define_as = "BASE_NPC_CRYSTAL",
-	type = "immovable", subtype = "crystal",
+	type = "immovable", subtype = "crystal", image = "npc/crystal_npc.png",
 	display = "%", color=colors.WHITE,
 	blood_color = colors.GREY,
 	desc = "A shining crystal formation charged with magical energies.",
@@ -38,7 +38,7 @@ newEntity{
 
 newEntity{ name = "wisp",
 	type = "elemental", subtype = "light",
-	display = "*", color=colors.YELLOW,
+	display = "*", color=colors.YELLOW, tint=colors.YELLOW,
 	desc = [[A floating orb of magical energy. It shines with a radiant light. They explode upon contact.]],
 	combat = { dam=10, atk=5, apr=10, physspeed=1 },
 	blood_color = colors.YELLOW,
@@ -71,7 +71,7 @@ newEntity{ name = "wisp",
 }
 
 newEntity{ base = "BASE_NPC_CRYSTAL",
-	name = "red crystal", color=colors.RED,
+	name = "red crystal", color=colors.RED, tint=colors.RED,
 	desc = "A formation of red crystal. It emits bright red, scorching light.",
 	level_range = {1, nil}, exp_worth = 1,
 	rarity = 1,
@@ -82,7 +82,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL",
 }
 
 newEntity{ base = "BASE_NPC_CRYSTAL",
-	name = "white crystal", color=colors.WHITE,
+	name = "white crystal", color=colors.WHITE, tint=colors.WHITE,
 	desc = "A formation of white crystal. It emits bright white, chilling light.",
 	level_range = {1, nil}, exp_worth = 1,
 	rarity = 1,
@@ -93,7 +93,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL",
 }
 
 newEntity{ base = "BASE_NPC_CRYSTAL",
-	name = "black crystal", color=colors.BLACK,
+	name = "black crystal", color=colors.BLACK, tint=colors.BLACK,
 	desc = "A formation of black crystal. It absorbs all light around it.",
 	level_range = {3, nil}, exp_worth = 1,
 	rarity = 2,
@@ -104,7 +104,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL",
 }
 
 newEntity{ base = "BASE_NPC_CRYSTAL",
-	name = "crimson crystal", color=colors.DARK_RED,
+	name = "crimson crystal", color=colors.DARK_RED, tint=colors.DARK_RED,
 	desc = "A formation of crimson crystal. It emits a crimson light reminiscent of blood.",
 	level_range = {3, nil}, exp_worth = 1,
 	rarity = 3,
@@ -115,7 +115,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL",
 }
 
 newEntity{ base = "BASE_NPC_CRYSTAL",
-	name = "blue crystal", color=colors.BLUE,
+	name = "blue crystal", color=colors.BLUE, tint=colors.BLUE,
 	desc = "A formation of blue crystal. Its light shines like the ocean's waves.",
 	level_range = {3, nil}, exp_worth = 1,
 	rarity = 4,
@@ -126,7 +126,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL",
 }
 
 newEntity{ base = "BASE_NPC_CRYSTAL",
-	name = "multi-hued crystal", color=colors.VIOLET,
+	name = "multi-hued crystal", color=colors.VIOLET, tint=colors.VIOLET,
 	shader = "quad_hue",
 	desc = "A formation of multi-hued crystal. It shines with all the colors of the rainbow.",
 	level_range = {10, nil}, exp_worth = 1,
@@ -141,7 +141,7 @@ newEntity{ base = "BASE_NPC_CRYSTAL",
 }
 
 newEntity{ base = "BASE_NPC_CRYSTAL",
-	name = "shimmering crystal", color=colors.GREEN,
+	name = "shimmering crystal", color=colors.GREEN, tint=colors.GREEN,
 	shader = "quad_hue",
 	desc = "A formation of shimmering crystal. Orbs of light circle around it.",
 	level_range = {10, nil}, exp_worth = 1,
diff --git a/game/modules/tome/data/gfx/shockbolt/npc/crystal_npc.png b/game/modules/tome/data/gfx/shockbolt/npc/crystal_npc.png
new file mode 100644
index 0000000000000000000000000000000000000000..3818067d74ae10927cc118b2b0d3b701233fc0d6
GIT binary patch
literal 9106
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
SsDOW%0gz_ah)NUJ*#7}f!qssA

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha1.png b/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha1.png
new file mode 100644
index 0000000000000000000000000000000000000000..83c5924415bacf9e5da6a9818030e00378e178fc
GIT binary patch
literal 5378
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

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha2.png b/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha2.png
new file mode 100644
index 0000000000000000000000000000000000000000..31a45cc2eebadd086f59f3e801bfd5f8279faedb
GIT binary patch
literal 3406
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

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha3.png b/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha3.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc886617e7eb65f6dd7e63cda696b49fc4f62709
GIT binary patch
literal 3584
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
GLSTZ6+SY0S

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha4.png b/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha4.png
new file mode 100644
index 0000000000000000000000000000000000000000..588ef06a290347c28d41a7e489936017a60ba7fd
GIT binary patch
literal 6727
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

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha5.png b/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha5.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b60b96ea45d269e22a7979949f3f0875fd6a084
GIT binary patch
literal 4343
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

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha6.png b/game/modules/tome/data/gfx/shockbolt/terrain/crystal_alpha6.png
new file mode 100644
index 0000000000000000000000000000000000000000..9556928e60dada8953830cfaf7162acc75b2cad6
GIT binary patch
literal 7034
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
Y07a4mc|?toWdHyG07*qoM6N<$g3HCCbN~PV

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/zones/scintillating-caves/npcs.lua b/game/modules/tome/data/zones/scintillating-caves/npcs.lua
index 8cd97d971a..b5e57f05b0 100644
--- a/game/modules/tome/data/zones/scintillating-caves/npcs.lua
+++ b/game/modules/tome/data/zones/scintillating-caves/npcs.lua
@@ -30,7 +30,7 @@ local Talents = require("engine.interface.ActorTalents")
 newEntity{ base="BASE_NPC_CRYSTAL", define_as = "SPELLBLAZE_CRYSTAL",
 	allow_infinite_dungeon = true,
 	unique = true,
-	name = "Spellblaze Crystal",
+	name = "Spellblaze Crystal", tint=colors.PURPLE,
 	color=colors.VIOLET,
 	desc = [[A formation of purple crystal. It seems strangely aware.]],
 	level_range = {7, nil}, exp_worth = 2,
diff --git a/game/modules/tome/data/zones/scintillating-caves/zone.lua b/game/modules/tome/data/zones/scintillating-caves/zone.lua
index f397b87b36..13228f675d 100644
--- a/game/modules/tome/data/zones/scintillating-caves/zone.lua
+++ b/game/modules/tome/data/zones/scintillating-caves/zone.lua
@@ -35,7 +35,7 @@ return {
 			zoom = 14,
 			min_floor = 700,
 			floor = "UNDERGROUND_FLOOR",
-			wall = {"UNDERGROUND_TREE","UNDERGROUND_TREE2","UNDERGROUND_TREE3","UNDERGROUND_TREE4","UNDERGROUND_TREE5","UNDERGROUND_TREE6","UNDERGROUND_TREE7","UNDERGROUND_TREE8","UNDERGROUND_TREE9","UNDERGROUND_TREE10","UNDERGROUND_TREE11","UNDERGROUND_TREE12","UNDERGROUND_TREE13","UNDERGROUND_TREE14","UNDERGROUND_TREE15","UNDERGROUND_TREE16","UNDERGROUND_TREE17","UNDERGROUND_TREE18","UNDERGROUND_TREE19","UNDERGROUND_TREE20",},
+			wall = {"CRYSTAL_WALL","CRYSTAL_WALL2","CRYSTAL_WALL3","CRYSTAL_WALL4","CRYSTAL_WALL5","CRYSTAL_WALL6","CRYSTAL_WALL7","CRYSTAL_WALL8","CRYSTAL_WALL9","CRYSTAL_WALL10","CRYSTAL_WALL11","CRYSTAL_WALL12","CRYSTAL_WALL13","CRYSTAL_WALL14","CRYSTAL_WALL15","CRYSTAL_WALL16","CRYSTAL_WALL17","CRYSTAL_WALL18","CRYSTAL_WALL19","CRYSTAL_WALL20",},
 			up = "UNDERGROUND_LADDER_UP",
 			down = "UNDERGROUND_LADDER_DOWN",
 			door = "UNDERGROUND_FLOOR",
@@ -65,11 +65,16 @@ return {
 	},
 
 	foreground = function(level, dx, dx, nb_keyframes)
+do return end
 		local tick = core.game.getTime()
 		local sr, sg, sb
-		sr = (1 + math.sin(tick / 2000)) / 2 * 0.4 + 0.8
-		sg = (1 + math.sin(tick / 2700)) / 2 * 0.4 + 0.7
-		sb = (1 + math.sin(tick / 3200)) / 2 * 0.4 + 0.7
+		sr = 2 + math.sin(tick / 2000)
+		sg = 2 + math.sin(tick / 2700)
+		sb = 2 + math.sin(tick / 3200)
+		local max = math.max(sr, sg, sb)
+		sr = sr / max
+		sg = sg / max
+		sb = sb / max
 		level.map:setShown(sr, sg, sb, 1)
 		level.map:setObscure(sr * 0.6, sg * 0.6, sb * 0.6, 1)
 	end,
-- 
GitLab