From 6702f3149127931a81a1c02f82170ece7b2f7348 Mon Sep 17 00:00:00 2001
From: Bunny <glisa825@gmail.com>
Date: Sat, 28 Dec 2019 03:47:50 -0500
Subject: [PATCH] Helminthauge crystal cabal Spawns in kor pul and scint caves
 (also enabled scint caves vaults in general)

---
 .../maps/vaults/auto/lesser/crystal-cabal.lua | 50 +++++++++++++++++++
 .../tome/data/zones/ruins-kor-pul/zone.lua    |  2 +-
 .../data/zones/scintillating-caves/zone.lua   |  3 +-
 3 files changed, 53 insertions(+), 2 deletions(-)
 create mode 100644 game/modules/tome/data/maps/vaults/auto/lesser/crystal-cabal.lua

diff --git a/game/modules/tome/data/maps/vaults/auto/lesser/crystal-cabal.lua b/game/modules/tome/data/maps/vaults/auto/lesser/crystal-cabal.lua
new file mode 100644
index 0000000000..b50dd1ae5e
--- /dev/null
+++ b/game/modules/tome/data/maps/vaults/auto/lesser/crystal-cabal.lua
@@ -0,0 +1,50 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009 - 2019 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
+
+setStatusAll{no_teleport=true, vault_only_door_open=true, room_map = {can_open=true}}
+roomCheck(function(room, zone, level, map)
+   return resolvers.current_level >= 5 and resolvers.current_level <= 25
+end)
+specialList("actor", {
+   "/data/general/npcs/crystal.lua",
+})
+border = 0
+startx, starty = 4, 10
+defineTile('.', data.floor or "FLOOR")
+defineTile(',', "FLOOR")
+defineTile('!', "DOOR_VAULT")
+defineTile('X', "HARDWALL")
+defineTile('G', "FLOOR", {random_filter={type="gem"}})
+defineTile('C', "FLOOR", nil, {random_filter={subtype="crystal", add_levels=4}})
+
+rotates = {"default", "90", "180", "270", "flipx", "flipy"}
+
+return {
+[[.........]],
+[[.XXXXXXX.]],
+[[.XXXXXXX.]],
+[[.X,C,C,X.]],
+[[.XGG,GGX.]],
+[[.XGG,GGX.]],
+[[.X,C,C,X.]],
+[[.XXX!XXX.]],
+[[.XXX.XXX.]],
+[[.XXX.XXX.]],
+[[.........]],
+}
\ No newline at end of file
diff --git a/game/modules/tome/data/zones/ruins-kor-pul/zone.lua b/game/modules/tome/data/zones/ruins-kor-pul/zone.lua
index a5a22fc7e4..2b8a4ead84 100644
--- a/game/modules/tome/data/zones/ruins-kor-pul/zone.lua
+++ b/game/modules/tome/data/zones/ruins-kor-pul/zone.lua
@@ -42,7 +42,7 @@ return {
 			class = "engine.generator.map.Roomer",
 			nb_rooms = 10,
 			rooms = {"random_room", {"money_vault",5}, {"lesser_vault",8}},
-			lesser_vaults_list = {"circle","amon-sul-crypt","rat-nest","skeleton-mage-cabal","snake-pit"},
+			lesser_vaults_list = {"circle","amon-sul-crypt","rat-nest","skeleton-mage-cabal","crystal-cabal","snake-pit"},
 			lite_room_chance = 100,
 			['.'] = "FLOOR",
 			['#'] = "WALL",
diff --git a/game/modules/tome/data/zones/scintillating-caves/zone.lua b/game/modules/tome/data/zones/scintillating-caves/zone.lua
index 22379e17d4..cb77d59fee 100644
--- a/game/modules/tome/data/zones/scintillating-caves/zone.lua
+++ b/game/modules/tome/data/zones/scintillating-caves/zone.lua
@@ -40,7 +40,8 @@ return {
 		map = {
 			class = "engine.generator.map.Roomer",
 			nb_rooms = 5,
-			rooms = {"random_room", {"money_vault",5}},
+			rooms = {"random_room", {"money_vault",5}, {"lesser_vault",8}},
+			lesser_vaults_list = {"amon-sul-crypt","skeleton-mage-cabal","crystal-cabal","snake-pit"},
 			lite_room_chance = 20,
 			['.'] = "CRYSTAL_FLOOR",
 			['#'] = {"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",},
-- 
GitLab