From 17d7a4ab8e3da517bcdcdeb7ca715fae37b8abac Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Thu, 25 Apr 2013 16:54:49 +0000
Subject: [PATCH]                                                            
 mouahaha

git-svn-id: http://svn.net-core.org/repos/t-engine4@6650 51575b47-30f0-44d4-a5cc-537603b46e54
---
 .../tome/data/quests/starter-zones.lua        |  6 ++-
 game/modules/tome/data/zones/maze/npcs.lua    | 51 +++++++++++++++++++
 game/modules/tome/data/zones/maze/zone.lua    |  1 +
 3 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/game/modules/tome/data/quests/starter-zones.lua b/game/modules/tome/data/quests/starter-zones.lua
index 39f7a8324b..719a4bb6de 100644
--- a/game/modules/tome/data/quests/starter-zones.lua
+++ b/game/modules/tome/data/quests/starter-zones.lua
@@ -36,7 +36,11 @@ desc = function(self, who)
 		desc[#desc+1] = "#SLATE#* You must explore the Old Forest and find out what lurks there and what treasures are to be gained!#WHITE#"
 	end
 	if self:isCompleted("maze") then
-		desc[#desc+1] = "#LIGHT_GREEN#* You have explored the Maze and vanquished the Minotaur.#WHITE#"
+		if self:isCompleted("maze-horror") then
+			desc[#desc+1] = "#LIGHT_GREEN#* You have explored the Maze and vanquished the Horned Horror.#WHITE#"
+		else
+			desc[#desc+1] = "#LIGHT_GREEN#* You have explored the Maze and vanquished the Minotaur.#WHITE#"
+		end
 	else
 		desc[#desc+1] = "#SLATE#* You must explore the Maze and find out what lurks there and what treasures are to be gained!#WHITE#"
 	end
diff --git a/game/modules/tome/data/zones/maze/npcs.lua b/game/modules/tome/data/zones/maze/npcs.lua
index 4708f23893..ff3f81a9d0 100644
--- a/game/modules/tome/data/zones/maze/npcs.lua
+++ b/game/modules/tome/data/zones/maze/npcs.lua
@@ -43,6 +43,57 @@ end
 
 local Talents = require("engine.interface.ActorTalents")
 
+-- The boss of the maze, no "rarity" field means it will not be randomly generated
+newEntity{ define_as = "HORNED_HORROR",
+	allow_infinite_dungeon = true,
+	type = "horror", subtype = "corrupted", unique = true,
+	name = "Horned Horror",
+	display = "h", color=colors.VIOLET,
+	resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/giant_minotaur_minotaur_of_the_labyrinth.png", display_h=2, display_y=-1}}},
+	desc = [[A fearsome bull-headed monster, he swings a mighty axe as he curses all that defy him.]],
+	killer_message = "and revived as a mindless horror",
+	level_range = {12, nil}, exp_worth = 2,
+	max_life = 250, life_rating = 17, fixed_rating = true,
+	stats = { str=20, dex=20, cun=20, mag=10, wil=10, con=20 },
+	rank = 4,
+	size_category = 4,
+	infravision = 10,
+	move_others=true,
+	instakill_immune = 1,
+	blind_immune = 1,
+	no_breath = 1,
+
+	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, HEAD=1, },
+	resolvers.equip{
+		{type="armor", subtype="hands", force_drop=true, tome_drops="boss", autoreq=true},
+	},
+	resolvers.drops{chance=100, nb=5, {tome_drops="boss"} },
+
+	combat_mindpower = 20,
+	resolvers.talents{
+		[Talents.T_ARMOUR_TRAINING]={base=3, every=9, max=4},
+		[Talents.T_UNARMED_MASTERY]={base=2, every=6, max=5},
+		[Talents.T_UPPERCUT]={base=2, every=6, max=5},
+		[Talents.T_DOUBLE_STRIKE]={base=2, every=6, max=5},
+		[Talents.T_SPINNING_BACKHAND]={base=1, every=6, max=5},
+		[Talents.T_FLURRY_OF_FISTS]={base=1, every=6, max=5},
+		[Talents.T_VITALITY]={base=2, every=6, max=5},
+		[Talents.T_TENTACLE_GRAB]={base=1, every=6, max=5},
+	},
+
+	autolevel = "warrior",
+	ai = "tactical", ai_state = { talent_in=1, ai_move="move_astar", },
+	ai_tactic = resolvers.tactic"melee",
+	resolvers.inscriptions(2, {"invisibility rune", "lightning rune"}),
+
+	on_die = function(self, who)
+		game.state:activateBackupGuardian("NIMISIL", 2, 40, "Have you hard about the patrol that disappeared in the maze in the west?")
+		game.player:resolveSource():grantQuest("starter-zones")
+		game.player:resolveSource():setQuestStatus("starter-zones", engine.Quest.COMPLETED, "maze")
+		game.player:resolveSource():setQuestStatus("starter-zones", engine.Quest.COMPLETED, "maze-horror")
+	end,
+}
+
 -- The boss of the maze, no "rarity" field means it will not be randomly generated
 newEntity{ define_as = "MINOTAUR_MAZE",
 	allow_infinite_dungeon = true,
diff --git a/game/modules/tome/data/zones/maze/zone.lua b/game/modules/tome/data/zones/maze/zone.lua
index fc91b32490..3b5474f250 100644
--- a/game/modules/tome/data/zones/maze/zone.lua
+++ b/game/modules/tome/data/zones/maze/zone.lua
@@ -82,6 +82,7 @@ return {
 			end)
 
 			if level.level < 4 then spots[#spots+1] = {x=x,y=y} end
+			level.default_down = {x=x,y=y}
 		end
 		for _, spot in ipairs(spots) do
 			local x, y = spot.x, spot.y
-- 
GitLab