From 55641976df6c0fc2d07a4fca34284cb4b5409c90 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Wed, 11 Aug 2010 23:07:49 +0000
Subject: [PATCH] ncier water floor

git-svn-id: http://svn.net-core.org/repos/t-engine4@1013 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/class/Game.lua              |   2 +-
 game/modules/tome/class/Grid.lua              |  40 ++++++-
 .../modules/tome/data/general/grids/water.lua |   9 ++
 ...t_orihalcum.png => trident_orichalcum.png} | Bin
 game/modules/tome/data/gfx/terrain/shell1.png | Bin 0 -> 3392 bytes
 game/modules/tome/data/gfx/terrain/shell2.png | Bin 0 -> 3261 bytes
 game/modules/tome/data/gfx/terrain/shell3.png | Bin 0 -> 3644 bytes
 game/modules/tome/data/gfx/terrain/shell4.png | Bin 0 -> 2927 bytes
 game/modules/tome/data/gfx/terrain/shell5.png | Bin 0 -> 2927 bytes
 game/modules/tome/data/gfx/terrain/shell6.png | Bin 0 -> 4173 bytes
 .../modules/tome/data/gfx/terrain/shell6e.png | Bin 0 -> 2892 bytes
 .../tome/data/gfx/terrain/water_wall1.png     | Bin 0 -> 3658 bytes
 .../tome/data/zones/caverns-osse/zone.lua     |   2 +-
 .../tome/data/zones/gorbat-pride/grids.lua    |  22 ++++
 .../tome/data/zones/gorbat-pride/npcs.lua     |  83 +++++++++++++++
 .../tome/data/zones/gorbat-pride/objects.lua  |  98 ++++++++++++++++++
 .../tome/data/zones/gorbat-pride/zone.lua     |  66 ++++++++++++
 17 files changed, 319 insertions(+), 3 deletions(-)
 rename game/modules/tome/data/gfx/object/{trident_orihalcum.png => trident_orichalcum.png} (100%)
 create mode 100644 game/modules/tome/data/gfx/terrain/shell1.png
 create mode 100644 game/modules/tome/data/gfx/terrain/shell2.png
 create mode 100644 game/modules/tome/data/gfx/terrain/shell3.png
 create mode 100644 game/modules/tome/data/gfx/terrain/shell4.png
 create mode 100644 game/modules/tome/data/gfx/terrain/shell5.png
 create mode 100644 game/modules/tome/data/gfx/terrain/shell6.png
 create mode 100644 game/modules/tome/data/gfx/terrain/shell6e.png
 create mode 100644 game/modules/tome/data/gfx/terrain/water_wall1.png
 create mode 100644 game/modules/tome/data/zones/gorbat-pride/grids.lua
 create mode 100644 game/modules/tome/data/zones/gorbat-pride/npcs.lua
 create mode 100644 game/modules/tome/data/zones/gorbat-pride/objects.lua
 create mode 100644 game/modules/tome/data/zones/gorbat-pride/zone.lua

diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index 193c9b1d72..0a2ac1766a 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -475,7 +475,7 @@ function _M:setupCommands()
 				self.player.esp.all = 1
 				self.player.esp.range = 50
 				self.player.inc_damage.all = 100000
-				self:changeLevel(2, "rak-shor-pride")
+				self:changeLevel(2, "caverns-osse")
 --				self:changeLevel(1, "town-gates-of-morning")
 --				self:changeLevel(1, "wilderness-arda-fareast")
 --				game.memory_levels["wilderness-arda-fareast-1"] = game.level
diff --git a/game/modules/tome/class/Grid.lua b/game/modules/tome/class/Grid.lua
index a9a2091e5c..26b3549566 100644
--- a/game/modules/tome/class/Grid.lua
+++ b/game/modules/tome/class/Grid.lua
@@ -76,7 +76,6 @@ function _M:tooltip()
 	end
 end
 
-
 --- Generate sub entities to make nice trees
 function _M:makeTrees(base, max)
 	local function makeTree(nb, z)
@@ -105,6 +104,34 @@ function _M:makeTrees(base, max)
 	return tbl
 end
 
+--- Generate sub entities to make nice shells
+function _M:makeShells(base, max)
+	local function makeShell(nb, z)
+		local inb = 4 - nb
+		return engine.Entity.new{
+			z = z,
+			display_scale = rng.float(0.1 + inb / 6, 0.2),
+			display_x = rng.range(-engine.Map.tile_w / 3 * nb / 3, engine.Map.tile_w / 3 * nb / 3),
+			display_y = rng.range(-engine.Map.tile_h / 3 * nb / 3, engine.Map.tile_h / 3 * nb / 3),
+			display_on_seen = true,
+			display_on_remember = true,
+			image = (base or "terrain/tree_alpha")..rng.range(1,max or 5)..".png",
+		}
+	end
+
+	local v = rng.range(0, 100)
+	local tbl
+	if v < 33 then
+		return nil
+	elseif v < 66 then
+		tbl = { makeShell(2, 2), makeShell(2, 3), }
+	else
+		tbl = { makeShell(1, 2), }
+	end
+	table.sort(tbl, function(a,b) return a.display_y < b.display_y end)
+	return tbl
+end
+
 --- Generate sub entities to make translucent water
 function _M:makeWater(z)
 	return { engine.Entity.new{
@@ -115,3 +142,14 @@ function _M:makeWater(z)
 		display_on_remember = true,
 	} }
 end
+
+--- Merge sub entities
+function _M:mergeSubEntities(...)
+	local tbl = {}
+	for i, t in ipairs{...} do if t then
+		for j, e in ipairs(t) do
+			tbl[#tbl+1] = e
+		end
+	end end
+	return tbl
+end
diff --git a/game/modules/tome/data/general/grids/water.lua b/game/modules/tome/data/general/grids/water.lua
index 5f6aa52988..025327d297 100644
--- a/game/modules/tome/data/general/grids/water.lua
+++ b/game/modules/tome/data/general/grids/water.lua
@@ -28,6 +28,15 @@ newEntity{
 	add_displays = class:makeWater(true),
 	air_level = -5, air_condition="water",
 }
+for i = 2, 20 do
+newEntity{
+	define_as = "WATER_FLOOR"..i,
+	name = "underwater", image = "terrain/water_floor.png",
+	display = '.', color=colors.LIGHT_BLUE, back_color=colors.DARK_BLUE,
+	add_displays = class:mergeSubEntities(class:makeWater(true), class:makeShells("terrain/shell")),
+	air_level = -5, air_condition="water",
+}
+end
 
 newEntity{
 	define_as = "WATER_WALL",
diff --git a/game/modules/tome/data/gfx/object/trident_orihalcum.png b/game/modules/tome/data/gfx/object/trident_orichalcum.png
similarity index 100%
rename from game/modules/tome/data/gfx/object/trident_orihalcum.png
rename to game/modules/tome/data/gfx/object/trident_orichalcum.png
diff --git a/game/modules/tome/data/gfx/terrain/shell1.png b/game/modules/tome/data/gfx/terrain/shell1.png
new file mode 100644
index 0000000000000000000000000000000000000000..2cba11422766d324540fef91dbc43509bacd22cc
GIT binary patch
literal 3392
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
W`2igC#)1?80000<MNUMnLSTY2w@W(!

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/terrain/shell2.png b/game/modules/tome/data/gfx/terrain/shell2.png
new file mode 100644
index 0000000000000000000000000000000000000000..194dbaa382cc9f0717f30b374852419e728803a4
GIT binary patch
literal 3261
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

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/terrain/shell3.png b/game/modules/tome/data/gfx/terrain/shell3.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e92573e0a31cefd5ed1187106dbd11842c84628
GIT binary patch
literal 3644
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
O0000<MNUMnLSTZ*Ezr*Z

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/terrain/shell4.png b/game/modules/tome/data/gfx/terrain/shell4.png
new file mode 100644
index 0000000000000000000000000000000000000000..4295400d7777d9242ff1abd3bf8e38e5c0d35bb9
GIT binary patch
literal 2927
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
Z0|3pDB=u?}%WVJv002ovPDHLkV1k{!a;E?Q

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/terrain/shell5.png b/game/modules/tome/data/gfx/terrain/shell5.png
new file mode 100644
index 0000000000000000000000000000000000000000..4295400d7777d9242ff1abd3bf8e38e5c0d35bb9
GIT binary patch
literal 2927
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
Z0|3pDB=u?}%WVJv002ovPDHLkV1k{!a;E?Q

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/terrain/shell6.png b/game/modules/tome/data/gfx/terrain/shell6.png
new file mode 100644
index 0000000000000000000000000000000000000000..c1788877f819fe9af00e07a165885facc58a0485
GIT binary patch
literal 4173
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
XGe6O)E4OH300000NkvXXu0mjf{+jnW

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/terrain/shell6e.png b/game/modules/tome/data/gfx/terrain/shell6e.png
new file mode 100644
index 0000000000000000000000000000000000000000..0bcaf47ebcf7117a61fa3124d1a079e1d1febcbd
GIT binary patch
literal 2892
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

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/gfx/terrain/water_wall1.png b/game/modules/tome/data/gfx/terrain/water_wall1.png
new file mode 100644
index 0000000000000000000000000000000000000000..834863e133ea39daeadef228da2eae0a05db084c
GIT binary patch
literal 3658
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

literal 0
HcmV?d00001

diff --git a/game/modules/tome/data/zones/caverns-osse/zone.lua b/game/modules/tome/data/zones/caverns-osse/zone.lua
index b965befde3..8d096d90e1 100644
--- a/game/modules/tome/data/zones/caverns-osse/zone.lua
+++ b/game/modules/tome/data/zones/caverns-osse/zone.lua
@@ -37,7 +37,7 @@ return {
 			class = "engine.generator.map.Cavern",
 			zoom = 16,
 			min_floor = 1200,
-			floor = "WATER_FLOOR",
+			floor = {"WATER_FLOOR","WATER_FLOOR2","WATER_FLOOR3","WATER_FLOOR4","WATER_FLOOR5","WATER_FLOOR6","WATER_FLOOR7","WATER_FLOOR8","WATER_FLOOR9","WATER_FLOOR10","WATER_FLOOR11","WATER_FLOOR12","WATER_FLOOR13","WATER_FLOOR14","WATER_FLOOR15","WATER_FLOOR16","WATER_FLOOR17","WATER_FLOOR18","WATER_FLOOR19","WATER_FLOOR20",},
 			wall = "WATER_WALL",
 			up = "UP",
 			down = "DOWN",
diff --git a/game/modules/tome/data/zones/gorbat-pride/grids.lua b/game/modules/tome/data/zones/gorbat-pride/grids.lua
new file mode 100644
index 0000000000..17d13d0604
--- /dev/null
+++ b/game/modules/tome/data/zones/gorbat-pride/grids.lua
@@ -0,0 +1,22 @@
+-- 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
+
+load("/data/general/grids/basic.lua")
+load("/data/general/grids/forest.lua")
+load("/data/general/grids/water.lua")
diff --git a/game/modules/tome/data/zones/gorbat-pride/npcs.lua b/game/modules/tome/data/zones/gorbat-pride/npcs.lua
new file mode 100644
index 0000000000..a1b24baa29
--- /dev/null
+++ b/game/modules/tome/data/zones/gorbat-pride/npcs.lua
@@ -0,0 +1,83 @@
+-- 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
+
+load("/data/general/npcs/orc.lua", rarity(3))
+load("/data/general/npcs/orc-vor.lua", rarity(0))
+
+load("/data/general/npcs/all.lua", rarity(4, 35))
+
+local Talents = require("engine.interface.ActorTalents")
+
+newEntity{ base="BASE_NPC_ORC_VOR", define_as = "VOR",
+	name = "Vor, Grand Geomancer of the Pride", color=colors.VIOLET, unique = true,
+	desc = [[An old orc, wearing multi-colored robes. Ice shards fly around him, leaving a trail of fire and lightning bursts.]],
+	level_range = {40, 50}, exp_worth = 2,
+	rank = 5,
+	max_life = 250, life_rating = 19, fixed_rating = true,
+	infravision = 20,
+	stats = { str=12, dex=10, cun=12, mag=21, con=14 },
+	move_others=true,
+
+	combat_armor = 10, combat_def = 10,
+
+	open_door = true,
+
+	autolevel = "caster",
+	ai = "dumb_talented_simple", ai_state = { talent_in=1, ai_move="move_astar", },
+
+	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, HEAD=1 },
+
+	resolvers.equip{
+		{type="weapon", subtype="staff", ego_change=100, autoreq=true},
+		{type="armor", subtype="cloth", ego_change=100, autoreq=true},
+		{type="armor", subtype="head", defined="CROWN_ELEMENTS", autoreq=true},
+	},
+	resolvers.drops{chance=100, nb=1, {defined="ORB_ELEMENTS"} },
+	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
+
+	resolvers.talents{
+		[Talents.T_FLAME]=5,
+		[Talents.T_FLAMESHOCK]=5,
+		[Talents.T_FIREFLASH]=5,
+		[Talents.T_INFERNO]=5,
+		[Talents.T_BLASTWAVE]=5,
+		[Talents.T_DANCING_FIRES]=5,
+		[Talents.T_COMBUST]=5,
+
+		[Talents.T_FREEZE]=5,
+		[Talents.T_ICE_STORM]=5,
+		[Talents.T_TIDAL_WAVE]=5,
+		[Talents.T_ICE_SHARDS]=5,
+		[Talents.T_FROZEN_GROUND]=5,
+
+		[Talents.T_LIGHTNING]=5,
+		[Talents.T_CHAIN_LIGHTNING]=5,
+
+		[Talents.T_SPELL_SHAPING]=5,
+		[Talents.T_ESSENCE_OF_SPEED]=1,
+	},
+	resolvers.sustains_at_birth(),
+
+	on_die = function(self, who)
+		game.player:resolveSource():setQuestStatus("orc-pride", engine.Quest.COMPLETED, "vor")
+		if not game.player:hasQuest("pre-mount-doom") then
+			game.player:grantQuest("pre-mount-doom")
+		end
+	end,
+}
diff --git a/game/modules/tome/data/zones/gorbat-pride/objects.lua b/game/modules/tome/data/zones/gorbat-pride/objects.lua
new file mode 100644
index 0000000000..329ad261d6
--- /dev/null
+++ b/game/modules/tome/data/zones/gorbat-pride/objects.lua
@@ -0,0 +1,98 @@
+-- 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
+
+load("/data/general/objects/objects.lua")
+
+local Stats = require"engine.interface.ActorStats"
+
+
+newEntity{ base = "BASE_LEATHER_CAP",
+	define_as = "CROWN_ELEMENTS", rarity=false,
+	name = "Crown of the Elements", unique=true,
+	unided_name = "jeweled crown", color=colors.DARK_GREY,
+	desc = [[Jeweled crown]],
+	cost = 500,
+	material_level = 5,
+	wielder = {
+		inc_stats = { [Stats.STAT_CON] = 5, [Stats.STAT_WIL] = 3, },
+		resists={
+			[DamageType.FIRE] = 15,
+			[DamageType.COLD] = 15,
+			[DamageType.ACID] = 15,
+			[DamageType.LIGHTNING] = 15,
+		},
+		melee_project={
+			[DamageType.FIRE] = 10,
+			[DamageType.COLD] = 10,
+			[DamageType.ACID] = 10,
+			[DamageType.LIGHTNING] = 10,
+		},
+		see_invisible = 15,
+		combat_armor = 5,
+		fatigue = 5,
+	},
+}
+
+-- Artifact, randomly dropped in Vor Pride, and only there
+newEntity{ base = "BASE_SCROLL", subtype="tome",
+	name = "Tome of Wildfire", unided_name = "burning book", unique=true,
+	color = colors.VIOLET,
+	level_range = {35, 45},
+	rarity = 200,
+	cost = 100,
+
+	use_simple = { name="learn the ancient secrets", use = function(self, who)
+		if not who:knowTalent(who.T_FLAME) then
+			who:learnTalent(who.T_FLAME, true, 3)
+			game.logPlayer(who, "#00FFFF#You read the tome and learn about ancient forgotten fire magic!")
+		else
+			who.talents_types_mastery["spell/fire"] = (who.talents_types_mastery["spell/fire"] or 1) + 0.1
+			who.talents_types_mastery["spell/wildfire"] = (who.talents_types_mastery["spell/wildfire"] or 1) + 0.1
+			game.logPlayer(who, "#00FFFF#You read the tome and perfect your mastery of fire magic!")
+		end
+
+		game:setAllowedBuild("mage_pyromancer", true)
+
+		return "destroy", true
+	end}
+}
+
+-- Artifact, randomly dropped in Vor Pride, and only there
+newEntity{ base = "BASE_SCROLL", subtype="tome",
+	name = "Tome of Uttercold", unided_name = "frozen book", unique=true,
+	color = colors.VIOLET,
+	level_range = {35, 45},
+	rarity = 200,
+	cost = 100,
+
+	use_simple = { name="learn the ancient secrets", use = function(self, who)
+		if not who:knowTalent(who.T_ICE_STORM) then
+			who:learnTalent(who.T_ICE_STORM, true, 3)
+			game.logPlayer(who, "#00FFFF#You read the tome and learn about ancient forgotten ice magic!")
+		else
+			who.talents_types_mastery["spell/water"] = (who.talents_types_mastery["spell/water"] or 1) + 0.1
+			who.talents_types_mastery["spell/ice"] = (who.talents_types_mastery["spell/ice"] or 1) + 0.1
+			game.logPlayer(who, "#00FFFF#You read the tome and perfect your mastery of ice magic!")
+		end
+
+		game:setAllowedBuild("mage_cryomancer", true)
+
+		return "destroy", true
+	end}
+}
diff --git a/game/modules/tome/data/zones/gorbat-pride/zone.lua b/game/modules/tome/data/zones/gorbat-pride/zone.lua
new file mode 100644
index 0000000000..fc9c9eca2d
--- /dev/null
+++ b/game/modules/tome/data/zones/gorbat-pride/zone.lua
@@ -0,0 +1,66 @@
+-- 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
+
+return {
+	name = "Gorbat Pride",
+	level_range = {35, 40},
+	level_scheme = "player",
+	max_level = 5,
+	decay = {300, 800},
+	actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
+	width = 50, height = 50,
+	persistent = "zone",
+--	all_remembered = true,
+	all_lited = true,
+	ambiant_music = "Breaking the siege.ogg",
+	generator =  {
+		map = {
+			class = "engine.generator.map.Town",
+			building_chance = 70,
+			max_building_w = 8, max_building_h = 8,
+			edge_entrances = {6,4},
+			floor = "FLOOR",
+			external_floor = "FLOOR",
+			wall = "WALL",
+			up = "UP",
+			down = "DOWN",
+			door = "DOOR",
+		},
+		actor = {
+			class = "engine.generator.actor.Random",
+			nb_npc = {20, 30},
+			guardian = "GORBAT",
+		},
+		object = {
+			class = "engine.generator.object.Random",
+			nb_object = {3, 6},
+		},
+	},
+	post_process = function(level)
+		for uid, e in pairs(level.entities) do e.faction="orc-pride" end
+	end,
+	levels =
+	{
+		[1] = {
+			generator = { map = {
+				up = "UP_WILDERNESS_FAR_EAST",
+			}, },
+		},
+	},
+}
-- 
GitLab