diff --git a/game/modules/tome/data/maps/vaults/acidic-vault.lua b/game/modules/tome/data/maps/vaults/acidic-vault.lua
new file mode 100644
index 0000000000000000000000000000000000000000..4f9fa16a005992dfdaa42983d79daff39ca0d82f
--- /dev/null
+++ b/game/modules/tome/data/maps/vaults/acidic-vault.lua
@@ -0,0 +1,67 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009, 2010, 2011, 2012 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}
+rotates = {"default", "90", "180", "270", "flipx", "flipy"}
+startx = 7
+starty = 0
+
+--Traps
+defineTile('f',"FLOOR", nil, nil, {random_filter={name="ice blast trap"}})
+
+--Greed will be your undoing
+defineTile('S',"FLOOR", {random_filter={add_levels = 10, tome_mod = "vault"}}, nil, {add_levels=20, random_filter={name="ice blast trap"}})
+
+--Enemies
+defineTile('o',"FLOOR", nil, {random_filter={name = "black ooze"}}) -- to lull them into a false sense of security
+defineTile('w',"FLOOR", nil, {random_filter={add_levels=10,name = "wretchling"}})
+defineTile('D',"FLOOR", nil, {random_filter={add_levels=20,name = "venom wyrm"}})
+defineTile('H',"FLOOR", nil, {random_filter={add_levels=10,name = "worm that walks"}})
+
+--Goodies
+defineTile('j',"FLOOR",{random_filter={add_levels=10, tome_mod = "vault"}})
+defineTile('$',"FLOOR",{random_filter={add_levels = 10, tome_mod = "gvault"}})
+defineTile('%',"FLOOR",{random_filter={add_levels = 20, tome_mod = "gvault"}})
+defineTile('&',"FLOOR",{random_filter={add_levels = 20, tome_mod = "vault"}})
+
+--Tiles
+defineTile('.', "FLOOR")
+defineTile('X', "HARDWALL")
+defineTile('#', "DOOR_VAULT", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
+defineTile('=', "DOOR")
+
+return {
+[[XXXXXXX#XXXXXXX]],
+[[X$&$$$X.X$$$&$X]],
+[[XXXXX=X.X=XXXXX]],
+[[X...XfX.XfX...X]],
+[[X.w...XoX...w.X]],
+[[X.X.X.X.X.X.X.X]],
+[[X..X.XX.XX.X..X]],
+[[XX..X.X=X.X..XX]],
+[[Xw.X.X...X.X.wX]],
+[[XX.....S.....XX]],
+[[X.X.XX.X.XX.X.X]],
+[[X...X.X.X.X...X]],
+[[X..X.X.X.X.X..X]],
+[[X..DX.XHX.XD..X]],
+[[XXXXXX.X.XXXXXX]],
+[[X%jjj=fXf=jjj%X]],
+[[XXXXXXXXXXXXXXX]],
+}
diff --git a/game/modules/tome/data/maps/vaults/spider-den.lua b/game/modules/tome/data/maps/vaults/spider-den.lua
new file mode 100644
index 0000000000000000000000000000000000000000..6d31a6119dd46c385a4aa754281afcb2d23ba2eb
--- /dev/null
+++ b/game/modules/tome/data/maps/vaults/spider-den.lua
@@ -0,0 +1,48 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009, 2010, 2011, 2012 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}
+rotates = {"default", "90", "180", "270", "flipx", "flipy"}
+startx = 7
+starty = 0
+
+defineTile('.', "FLOOR")
+defineTile('X', "HARDWALL")
+defineTile('#', "DOOR_VAULT", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
+
+defineTile('s', "FLOOR", nil , {random_filter={add_levels=5,type="spiderkin",subtype="spider"}})
+defineTile('S', "FLOOR", {random_filter={add_levels=10, tome_mod=vault}}, {random_filter={add_levels=10, type="spiderkin",subtype="spider"}})
+defineTile('g', "FLOOR", {random_filter={add_levels=15, tome_mod=gvault}}, {random_filter={add_levels=15, type="spiderkin",subtype="spider"}})
+defineTile('B', "FLOOR", {random_filter={add_levels=20, tome_mod=gvault}}, {random_filter={add_levels=20, type="spiderkin",subtype="spider"}})
+
+defineTile('^', "FLOOR", nil, nil, {random_filter = {name="poison blast trap", add_levels=20}})
+
+return {
+[[...XXXX#XXXX...]],
+[[..XXSs^.^ssXX..]],
+[[.XXS^XXXXX^SXX.]],
+[[XX.sS^s^s^Ss.XX]],
+[[Xs.S.s.ggg..ssX]],
+[[XS.s^S.gBgS^SSX]],
+[[Xss..ssggg.ss.X]],
+[[XXsSsS^s^.SsSXX]],
+[[.XX^Ss.Ss.s.XX.]],
+[[..XXsS.s^SsXX..]],
+[[...XXXXXXXXX...]],
+}
\ No newline at end of file
diff --git a/game/modules/tome/data/rooms/greater_vault.lua b/game/modules/tome/data/rooms/greater_vault.lua
index 8b598c8e6b599387d777486aa67a2631ade7bc39..e06010327b5539e7bf5e4870d639202e8d64fd31 100644
--- a/game/modules/tome/data/rooms/greater_vault.lua
+++ b/game/modules/tome/data/rooms/greater_vault.lua
@@ -22,7 +22,7 @@ local list = {
 	"double-t", "crypt", "treasure1", "diggers", "hillbert_curve", "quiet", "lightning-vault", "water-vault",
 	"32-chambers", "demon-nest-1", "demon-nest-2", "demon-nest-3", "frost-dragon-lair", "greater-money-vault",
 	"trapped-hexagon", "yin-yang", "zigzag-chambers", "rain-of-death", "paladin-vs-vampire", "orc-hatred", "lich-lair",
-	"greater-crypt", "trickvault",
+	"greater-crypt", "trickvault", "spider-den", "acidic-vault",
 }
 
 return function(gen, id, lev, old_lev)