Vault contest!
Moderator: Moderator
Re: Vault contest!
Only a few more hours for the first contest !
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning

Re: Vault contest!
Bit high on the gear-dishin-out ratio, but I figure if you can clear it out, you deserve the gear.
Code: Select all
--Hedrachi's "If You Don't Hate Orcs Now, You'll Hate Them After This" vault contest submission.
startx = 0
starty = 6
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('&', "LAVA_FLOOR")
defineTile('a', "FLOOR", {random_filter={add_levels=10, tome_mod="gvault"}}, {random_filter={add_levels=15, type = "orc", subtype = "cryomancer"}})
defineTile('b', "FLOOR", {random_filter={add_levels=10, tome_mod="gvault"}}, {random_filter={add_levels=10, type = "orc", subtype = "pyromancer"}})
defineTile('o', "FLOOR", nil, {random_filter={add_levels=3, type = "orc"}})
defineTile('p', "FLOOR", {random_filter={add_levels=10, type = "money"}}, {random_filter={add_levels=5, type = "orc", subtype = "grand master assassin"}})
defineTile('q', "FLOOR", nil, {random_filter={add_levels=5, type = "orc", subtype = "archer"}})
defineTile('r', "FLOOR", nil, {random_filter={add_levels=5, type = "orc", subtype = "wyrmic"}})
-- Does that subtype work? Want em to be wyrmics, could care less if they're fiery or icy.
defineTile('u', "FLOOR", {random_filter={add_levels=10, tome_mod="uvault"}}, nil, {random_filter={add_levels=10}})
-- Ideally, change the random +10 level trap here to a "Gotcha!" trap where the pyro/cryo doors open, and make the doors locked until the trap
-- is sprung. But should be good as it is.
return {
[[############]],
[[#a#..q...#b#]],
[[##+......+##]],
[[#..r.o.r...#]],
[[#..........#]],
[[#...&&&o..p#]],
[[X...&u&o..p#]],
[[#...&&&o..p#]],
[[#..........#]],
[[#..r.o..r..#]],
[[##+......+##]],
[[#b#..q...#a#]],
[[############]],
}
Re: Vault contest!
Code: Select all
-- A spiral vault, without any seals, with a vault at the end
min_level = 1
rarity = 10
meta_generator = function(gen, id)
local w = rng.range(5, 9)
local h = rng.range(5, 9)
return {
name="lv_spiral"..w.."x"..h,
w=w+2, h=h+2,
generator = function(self, x, y)
local filter = nil
-- Initialize with the walls
for i = 1, self.w do
for j = 1, self.h do
gen.map.room_map[i-1+x][j-1+y].room = id
gen.map.room_map[i-1+x][j-1+y].special = true
gen.map(i-1+x, j-1+y, Map.TERRAIN, gen:resolve("wall"))
end
end
local min_x, max_x = 2, self.w - 1
local min_y, max_y = 2, self.h - 1
local i, j
local dir_x, dir_y
local rotation
-- 8 possible entries and starting directions
local choice = rng.range(1, 8)
if choice == 1 then
i, j = 1, 2
dir_x, dir_y = 1, 0
rotation = -1
-- These are to compensate the first reduction in range
min_x = min_x - 2
elseif choice == 2 then
i, j = 2, 1
dir_x, dir_y = 0, 1
rotation = 1
min_y = min_y - 2
elseif choice == 3 then
i, j = self.w, 2
dir_x, dir_y = -1, 0
rotation = 1
max_x = max_x + 2
elseif choice == 4 then
i, j = self.w-1, 1
dir_x, dir_y = 0, 1
rotation = -1
min_y = min_y - 2
elseif choice == 5 then
i, j = 1, self.h-1
dir_x, dir_y = 1, 0
rotation = 1
min_x = min_x - 2
elseif choice == 6 then
i, j = 2, self.h
dir_x, dir_y = 0, -1
rotation = -1
max_y = max_y + 2
elseif choice == 7 then
i, j = self.w, self.h-1
dir_x, dir_y = -1, 0
rotation = -1
max_x = max_x + 2
else -- if choice == 8 then
i, j = self.w-1, self.h
dir_x, dir_y = 0, -1
rotation = 1
max_y = max_y + 2
end
gen.map.room_map[i-1+x][j-1+y].entry = {id, 1}
local num_turns = 0
while min_x <= max_x and min_y <= max_y do
-- Tunnel one "edge" of the spiral
while i + dir_x >= min_x and i + dir_x <= max_x and
j + dir_y >= min_y and j + dir_y <= max_y do
i = i + dir_x
j = j + dir_y
gen.map(i-1+x, j-1+y, Map.TERRAIN, gen:resolve("floor"))
-- Fill the vault with monsters (but not at the beginning)
-- It could be changed to give stronger monsters at the
-- end of the spiral
if num_turns >= 1 and rng.percent(75) then
local m = gen.zone:makeEntity(gen.level, "actor", filter, nil, true)
-- Prevent huge quantities of rats
m.make_escort = nil
if m and m:canMove(i-1+x, j-1+y) then
-- Very important, since using add_entities
-- skip this call when the monsters get added
-- to the map.
m:added()
gen.map.room_map[i-1+x][j-1+y].add_entities = {{"actor", m}}
elseif m then
m:removed()
end
end
end
-- Never go back that far
if dir_x == 1 then
min_x = min_x + 2
elseif dir_x == -1 then
max_x = max_x - 2
end
if dir_y == 1 then
min_y = min_y + 2
elseif dir_y == -1 then
max_y = max_y - 2
end
-- Change direction (anticlockwise if rotation == 1)
dir_x, dir_y = rotation * dir_y, -rotation * dir_x
num_turns = num_turns + 1
end -- while min_x <= max_x and min_y <= max_y
-- The last spot is the end of the spiral, put the forge there
gen.map(i-1+x, j-1+y, Map.TERRAIN, gen:resolve("NORMAL_FORGE", nil, true))
end,
}
end

Re: Vault contest!
I see BoB vault design contests will be... interesting.
Re: Vault contest!
All BOB (not BoB) rooms are procedurally generated (even vaults). This make figuring out possible (aka: doable) rooms a little on the hard side.
Re: Vault contest!
Ok people I kinda was busy (you know making new releases and all
) nad had not enough time to give to those very neat vaults.
So I nominate Susramanian as the new contest leader. The contest time will also switch to 3 weeks, which is more realistic for everybody.
Thanks and go do more !

So I nominate Susramanian as the new contest leader. The contest time will also switch to 3 weeks, which is more realistic for everybody.
Thanks and go do more !

[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning

-
- Spiderkin
- Posts: 454
- Joined: Sat May 15, 2010 3:09 am
Re: Vault contest!
I just finished cleaning up and adding most of the vaults submitted so far. They should be in the next beta.
I'm happy to announce that Burb Lulls has won the first vault contest with his snow giant fort! As promised, there is now a fearsome new unique randomly roaming Eyal: Burb the snow giant champion. Don't interrupt him when he's making art.
For the next contest, I'm arbitrarily setting the submission deadline at Sunday, June 19th. Hopefully soon I'll be posting a sample vault that shows off some new features in the works: levers and secret doors! Also, I'd like to retract that thing I said a while ago about small vaults being better than big vaults. Judging by reactions to the bandit fortress megavault, big vaults are extremely popular. Feel free to submit them! But make them just a little smaller than the bandit fortress... say, 35 by 35.
When submitting vaults, I give bonus points if the thing works the first time I paste it in and fire it up, so testing your creations is encouraged (but not mandatory).
Go build us vaults!
I'm happy to announce that Burb Lulls has won the first vault contest with his snow giant fort! As promised, there is now a fearsome new unique randomly roaming Eyal: Burb the snow giant champion. Don't interrupt him when he's making art.
For the next contest, I'm arbitrarily setting the submission deadline at Sunday, June 19th. Hopefully soon I'll be posting a sample vault that shows off some new features in the works: levers and secret doors! Also, I'd like to retract that thing I said a while ago about small vaults being better than big vaults. Judging by reactions to the bandit fortress megavault, big vaults are extremely popular. Feel free to submit them! But make them just a little smaller than the bandit fortress... say, 35 by 35.
When submitting vaults, I give bonus points if the thing works the first time I paste it in and fire it up, so testing your creations is encouraged (but not mandatory).
Go build us vaults!
Re: Vault contest!
Okay lets get some new entries
Here is a basic one I have rather uncreatively called sprial vault
Here is a basic one I have rather uncreatively called sprial vault
Code: Select all
setStatusAll{no_teleport=true}
defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('!', "DOOR_VAULT")
defineTile('D', "DOOR")
defineTile('1', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}}, {random_filter={add_levels=20}})
defineTile('2', "FLOOR", {random_filter={add_levels=12, tome_mod="vault"}}, {random_filter={add_levels=17}})
defineTile('3', "FLOOR", {random_filter={add_levels=5}}, nil)
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
startx = 5
starty = 0
return {
[[XXXXXXXXXXX]],
[[X...D3....X]],
[[X.XXXXXXX.X]],
[[X.X..D..X.X]],
[[X.X.XXX.X.X]],
[[X.X.X1X.X.X]],
[[X.X.XDX.X.X]],
[[X.X.X.XDX.X]],
[[X3X2X.X2X.X]],
[[XDXDX.X.XDX]],
[[X.X.X.X.X3X]],
[[X.X.X.X.X.X]],
[[X.X.X1D.X.X]],
[[X.X.XXXXX.X]],
[[X.X..2D...X]],
[[X!XXXXXXXXX]],
}
Those who complain are just Volunteering to fix the problem
<yufra> every vault designer should ask themselves exactly that: What Would Grey Do?
<yufra> every vault designer should ask themselves exactly that: What Would Grey Do?
Re: Vault contest!
Here is a vault for the Scintillating Caves foremost: A bunch of rats which gathered small items.
Inspired by my latest Shadowblade who found the Trollmire far superior to the Caves as first area because of the rune and infusion vaults there.
My tests with the crystal tiles in the Trollmire didnt exactly work, but I guess this because it uses a different tileset.
Inspired by my latest Shadowblade who found the Trollmire far superior to the Caves as first area because of the rune and infusion vaults there.

My tests with the crystal tiles in the Trollmire didnt exactly work, but I guess this because it uses a different tileset.
Code: Select all
--caveratnest
startx = 1
starty = 0
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('.', "CRYSTAL_FLOOR")
defineTile('#', "CRYSTAL_WALL2")
defineTile('*', "CRYSTAL_FLOOR", {random_filter={add_levels=5,subtype="infusion"}})
defineTile('+', "CRYSTAL_FLOOR", {random_filter={add_levels=5,subtype="rune"}})
defineTile('$', "CRYSTAL_FLOOR", {random_filter={add_levels=20,type="money"}})
defineTile('r', "CRYSTAL_FLOOR", nil, {random_filter={add_levels=5,subtype="rodent"}})
return {
[[#.##....]],
[[#..#....]],
[[##.###..]],
[[.#rrr##.]],
[[.#rrr$##]],
[[##$rrr*#]],
[[#+rrrr##]],
[[##*##$##]],
[[.####*$#]],
[[....####]],
}
Re: Vault contest!
Okay here is a more complicated vault. you enter a dryad's glade and you can defend it from waves of undead for about 65 turns (6 waves of 3 undead). if you can save the tree you get a 5% increase in nature resistance
Code: Select all
setStatusAll{no_teleport=true}
defineTile('.', "GRASS")
defineTile('!', "ROCK_VAULT", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
defineTile('X', "HARDTREE")
defineTile('T', "TREE")
defineTile('f', "FLOWER")
defineTile('D', "HARDTREE")--will be removed to allow enemies to come in
defineTile('t', mod.class.Grid.new{
define_as = "TRIGGER",
name = "grass", image = "terrain/lava_floor.png",
display = '.', color=colors.LIGHT_GREEN, back_color={r=44,g=95,b=43},
firsttime= true,
on_move = function(self, x, y, who)
if self.firsttime then
--trigger stuff
local answer =false
local text = "As you enter the glade a Dryad asks for you help in defending her home"
require("engine.ui.Dialog"):yesnoLongPopup("Dryad's Glade", text.."\nDo you help her defend her home?", 400, function(ret)
if ret then
self.firsttime=false
local m = game.level.map(x+5, y, Map.ACTOR)
if m and m.isTree then
m.triggered=true
m.savior = who
m.faction = who.faction
end
m = game.level.map(x-5, y, Map.ACTOR)
if m and m.isTree then
m.triggered=true
m.savior = who
m.faction = who.faction
end
m = game.level.map(x, y+5, Map.ACTOR)
if m and m.isTree then
m.triggered=true
m.savior = who
m.faction = who.faction
end
m = game.level.map(x, y-5, Map.ACTOR)
if m and m.isTree then
m.triggered=true
m.savior = who
m.faction = who.faction
end
game.logSeen(who, "Prepare to defend the tree")
else
game.logSeen(who, "The Dryad then leaves crestfallen and abandons her tree")
end
end)
end
end,
})
defineTile('O', "GRASS", nil, mod.class.NPC.new{
type = "immovable", subtype = "plants",
display = "#", color=colors.GOLD,
name = "Dyrad's Tree",
faction = "sunwall", hard_faction = "sunwall",
body = { INVEN = 10},
desc = [[A Dryads Home]],
level_range = {10, 50}, exp_worth = 0,
rank = 3,
move_others=true,
size_category = 5,
autolevel = "warrior",
ai = "dumb_talented_simple", ai_state = { talent_in=3, },
stats = { str=10, dex=10, mag=3, con=10 },
infravision = 10,
combat_armor = 15, combat_def = 1,
never_move = 1,
fear_immune = 1,
--stuff for events
isTree = true,
survived=false,
triggered = false,
wallsopend = false,
count = 0,
wavecount=100,
max_life = resolvers.rngavg(140,170),
act = function(self)
--summoning and a bunch of other stuff
if self.triggered then
if not self.wallsopend then self:createEntries() end
self.count = self.count+1
--game.logSeen(self.savior, "count at %d",self.count)
if self.count == self.wavecount then
game.logSeen(self.savior, "A wave of eneimies aproach")
self:summonInvaders()
self.wavecount = self.wavecount + 100
end
if self.count == 650 then
self.triggered = false
local DT = engine.DamageType
require("engine.ui.Dialog"):simplePopup("Dryad's Glade", "You have succsefully kept the tree alive")
if(self.savior.resists[DT.NATURE]or 0) < 60 then
self.savior.resists[DT.NATURE] = (self.savior.resists[DT.NATURE]or 0) + 5
game.logSeen(self.savior, "A wave of energy passes over you increaseing your nature restist by 5")
end
end
end
end,
createEntries = function(self)
local g = game.zone:makeEntityByName(game.level, "terrain", "GRASS")
game.zone:addEntity(game.level, g, "terrain", self.x + 1, self.y+6)
game.zone:addEntity(game.level, g, "terrain", self.x , self.y+6)
game.zone:addEntity(game.level, g, "terrain", self.x - 1, self.y+6)
game.zone:addEntity(game.level, g, "terrain", self.x + 1, self.y-6)
game.zone:addEntity(game.level, g, "terrain", self.x , self.y-6)
game.zone:addEntity(game.level, g, "terrain", self.x - 1, self.y-6)
game.zone:addEntity(game.level, g, "terrain", self.x + 6, self.y+1)
game.zone:addEntity(game.level, g, "terrain", self.x + 6, self.y)
game.zone:addEntity(game.level, g, "terrain", self.x + 6, self.y-1)
game.zone:addEntity(game.level, g, "terrain", self.x -6, self.y+1)
game.zone:addEntity(game.level, g, "terrain", self.x -6, self.y)
game.zone:addEntity(game.level, g, "terrain", self.x -6, self.y+1)
self.wallsopend = true
end,
summonInvaders = function(self)
local dir = rng.range(1,4)
if dir==1 then
self:createInvader(self.x + 1, self.y+6)
self:createInvader(self.x , self.y+6)
self:createInvader(self.x - 1, self.y+6)
elseif dir==2 then
self:createInvader(self.x + 1, self.y-6)
self:createInvader(self.x , self.y-6)
self:createInvader(self.x - 1, self.y-6)
elseif dir==3 then
self:createInvader(self.x+6,self.y+1)
self:createInvader(self.x+6,self.y)
self:createInvader(self.x+6,self.y-1)
else --assumed 4 at this point
self:createInvader(self.x-6,self.y+1)
self:createInvader(self.x-6,self.y)
self:createInvader(self.x-6,self.y-1)
end
end,
createInvader = function(self,sx,sy)
local x, y = util.findFreeGrid(sx, sy, 5, true, {[Map.ACTOR]=true})
if x then
local m = game.zone:makeEntity(game.level, "actor", {type="undead"}, nil, true)
if m then
game.zone:addEntity(game.level, m, "actor", x, y)
game.logSeen(game.player, "%s marches to destroy the tree!", m.name:capitalize())
end
end
end,
}
)
startx = 0
starty = 6
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
return {
[[..XXXDDDXXX..]],
[[.XX.TT.TT.XX.]],
[[XX......f..XX]],
[[X...f.......X]],
[[XT..f..f...TX]],
[[!T.......f.TD]],
[[!t.f..O...f.D]],
[[!T..f......TD]],
[[XT......f..TX]],
[[X...f...f...X]],
[[XX.........XX]],
[[.XX.TT.TT.XX.]],
[[..XXXDDDXXX..]],
}
Those who complain are just Volunteering to fix the problem
<yufra> every vault designer should ask themselves exactly that: What Would Grey Do?
<yufra> every vault designer should ask themselves exactly that: What Would Grey Do?
Re: Vault contest!
Wanted to comment on the rat vault.
While I'm a big fan of rats nests just because they make thematic sense note that rodents have a pretty low level cap (like 4 or so I think) so adding levels to them will never make them higher level then that.
Maybe some rat swarm mobs could be added with a higher level cap and generally just more dangerous (disease on hit, high attack, apr, low or no crit, extra damage from spells but phys resist or something).
While I'm a big fan of rats nests just because they make thematic sense note that rodents have a pretty low level cap (like 4 or so I think) so adding levels to them will never make them higher level then that.
Maybe some rat swarm mobs could be added with a higher level cap and generally just more dangerous (disease on hit, high attack, apr, low or no crit, extra damage from spells but phys resist or something).
-
- Wayist
- Posts: 25
- Joined: Mon May 23, 2011 12:32 am
Re: Vault contest!
I know that this is an extremely simple design, but I also feel that the present lack of random pentagrams sealing demons away beneath the earth is detracting from my play experience.
This should probably only occur underground, although it would be amusing to come across a little clearing with a blazing lava pentagram in, say, the Trollmire...
This should probably only occur underground, although it would be amusing to come across a little clearing with a blazing lava pentagram in, say, the Trollmire...
Code: Select all
--sealed pentagram
startx = 7
starty = 7
setStatusAll{no_teleport=true}
rotates = {"default", "flipy"}
defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('X', "DOOR_VAULT")
defineTile('&', "LAVA_FLOOR")
defineTile('*', "FLOOR", {random_filter={add_levels=10, tome_mod="uvault"}}, {random_filter={add_levels=20, type = "demon"}},
return {
[[.............]],
[[......&......]],
[[.....&.&.....]],
[[.&&&&&&&&&&&.]],
[[..&.&###&.&..]],
[[...&.#*#.&...]],
[[..&.&#X#&.&..]],
[[.&&&&&.&&&&&.]],
[[.....&.&.....]],
[[......&......]],
[[.............]]
}
Re: Vault contest!
Here are a few vault ideas that I've come up with. They are not close to being finished code (sorry Sus, I'll try to be better in the future), so I don't expect to win. Nonetheless, sharing ideas is better than sharing nothing, so here goes:
Jailbreak 1!
Jailbreak 2!
Unstable Xorn Den
Mirage
Sinister Bunnies
A very under-developed idea. Basically, I'd like a vault based on cute little bunnies (vermin_rodent_cute_little_bunny.png) in Heart of the Gloom. I envision the cute little bunnies will always be friendly toward the player (even if you hurt them), but, well, they really are sinister. Perhaps you need to kill them for the vault loot they are carrying, or perhaps they resurrect as super-evil bunnies after you kill them, or perhaps they summon gloomed/sick/deformed bunnies who will attack you. I don't know--hopefully somebody else can develop this idea further!
Jailbreak 1!
Code: Select all
Jailbreak! (small, 13x11)
X : DOOR_VAULT
# : HARDWALL
% : WALL
g : gaoler (i.e., jailer), race appropriate to zone, or just use "npc/humanoid_halfling_sm_halfling.png" image :)
h : random (unique?) humanoid and/or thieves, hostile towards the player and other enemies on the level (but friendly to each other, of course).
+ : gates/doors (sealed_door.png and sealed_door_cracked.png?) to open when upper gaoler is defeated. If levers are possible, have a lever where the gaoler starts and use that to open the doors instead. Levers would be prefered, I think, so it would be possible for the inmates to fight the gaolers :)
= : gates/doors to open when lower gaoler is defeated.
? : vault item
! : gvault item
.............
.............
.###+#X#+###.
.+h#h#g#h#h+.
.#####%#####.
.=h#??!??#h+.
.#####%#####.
.=h#h#g#h#h=.
.###=#X#=###.
.............
.............
Code: Select all
Jailbreak! (medium, 13x13)
as above, except
h : also have vault item
H : also have gvault item
.............
.............
.#+###X###+#.
.#h#h#.+h#h#.
.###+#.#####.
.+h#..g#H#h+.
.###+###=###.
.=h#H#g..#h=.
.#####.#=###.
.#h#h=.#h#h#.
.#=###X###=#.
.............
.............
Code: Select all
Unstable Xorn Den (13x13)
Upon removing any loose rubble, '%', ALL the lose rubble is removed
The intention is that players won't get swarmed (much) if they stay and fight... but if they run away, then, well, several Xorn/Xaren will likely chase after them...
% : ROCK_VAULT
# : rocky mountains?
.............
.....###.....
...##%X%##...
..#%X...X%#..
..#X.X##.X#..
.#%.X??##.%#.
.#X.#?!?#.X#.
.#%.##??X.%#.
..#X.##X.X#..
..#%X...X%#..
...##%X%##...
.....###.....
.............
Code: Select all
Mirage (9x9)
Intended for Eruan
Upon entering water, '~', what appeared as loot/money, '$', becomes enemies
T : PALMTREE
? : vault item
$ : fake vault item/money--actually an enemy
.T.......
...~~~.T.
..~~$~~..
.~~$??~~.
.~?$T$?~.
.~~??$~~.
..~~$~~..
...~~~...
........T
A very under-developed idea. Basically, I'd like a vault based on cute little bunnies (vermin_rodent_cute_little_bunny.png) in Heart of the Gloom. I envision the cute little bunnies will always be friendly toward the player (even if you hurt them), but, well, they really are sinister. Perhaps you need to kill them for the vault loot they are carrying, or perhaps they resurrect as super-evil bunnies after you kill them, or perhaps they summon gloomed/sick/deformed bunnies who will attack you. I don't know--hopefully somebody else can develop this idea further!
Re: Vault contest!
My idea for this:tiger_eye wrote: Sinister Bunnies
A very under-developed idea. Basically, I'd like a vault based on cute little bunnies (vermin_rodent_cute_little_bunny.png) in Heart of the Gloom. I envision the cute little bunnies will always be friendly toward the player (even if you hurt them), but, well, they really are sinister. Perhaps you need to kill them for the vault loot they are carrying, or perhaps they resurrect as super-evil bunnies after you kill them, or perhaps they summon gloomed/sick/deformed bunnies who will attack you. I don't know--hopefully somebody else can develop this idea further!
Have a vault containing 10 Sinister Bunnies. When you open the door, each is teleported to a random location on the level. They immediately start to search each other out, and if two meet, they quickly spawn hostile evil bunnies. When you have killed all 10 "parents" an inner door opens, giving loot. Would require much more coding than I know how to do.
-
- Spiderkin
- Posts: 480
- Joined: Mon Jul 26, 2004 5:20 am
- Location: Blighty
Re: Vault contest!
Firstly, thanks for choosing my vault in the first contest! I'm guessing that puts me out of the running in this one, but I'd like to put one up anyway for vault's sake. To commemorate the first time I saw Burb the Snow Giant Champion kill someone in the chat, here's...
The Boneworks
Location: Erúan
All those skeletons have to come from somewhere.
Those pesky undead are up to no good again. A lich has set up a combination lab and skeleton manufacturing plant out in Erúan. Take a walk past the holding cells, see the skeleton archer firing range, inspect the ghoul habitat, and if you can find your way to the lich's chamber, maybe you can take a look at his newest project!
The vault has been tested, and is all present and correct by my reckoning.
The Boneworks
Location: Erúan
All those skeletons have to come from somewhere.
Code: Select all
-- The Boneworks
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('.', "FLOOR")
defineTile(',', "SAND")
defineTile(';', "UNDERGROUND_FLOOR")
defineTile('X', "HARDWALL")
defineTile('#', "WALL")
defineTile('~', "DEEP_WATER")
defineTile('F', "UNDERGROUND_TREE")
defineTile('C', "CRYSTAL_WALL")
defineTile('T', "PALMTREE")
defineTile('%', "LAVA")
defineTile('+', "DOOR")
defineTile('!', "DOOR_VAULT")
defineTile('G', mod.class.Grid.new{
define_as = "GLASS_WALL",
name = "thick glass", image = "terrain/frozen_ground.png",
display = '#', color=colors.LIGHT_BLUE, back_color={r=89, g=100, b=255},
always_remember = true,
does_block_move = true,
air_level = -20,
})
defineTile('L', mod.class.Grid.new{
define_as = "LOCKED_DOOR",
name = "locked door", image = "terrain/granite_door1.png",
display = '+', color_r=238, color_g=154, color_b=77, back_color=colors.DARK_UMBER,
always_remember = true,
does_block_move = true,
block_sight = true,
air_level = -20,
})
defineTile('$', "FLOOR", {random_filter={add_levels=10, tome_mod="vault"}})
defineTile('?', "FLOOR", {random_filter={add_levels=15, tome_mod="gvault"}})
defineTile('0', "FLOOR", nil, {random_filter={add_levels=12, name="runed bone giant", random_boss={nb_classes=2, rank=3.5, loot_quantity = 2}}})
defineTile('1', "FLOOR", nil, {random_filter={add_levels=10, name="archlich"}})
defineTile('2', "UNDERGROUND_FLOOR", nil, {random_filter={add_levels=6, name="ghast"}})
defineTile('3', "UNDERGROUND_FLOOR", nil, {random_filter={add_levels=8, name="ghoulking"}})
defineTile('4', "FLOOR", nil, {random_filter={add_levels=4, name="skeleton archer"}})
defineTile('5', "FLOOR", nil, {random_filter={add_levels=6, name="skeleton master archer"}})
defineTile('6', "FLOOR", nil, {random_filter={add_levels=6, name="armoured skeleton warrior"}})
defineTile('7', "FLOOR", nil, {random_filter={add_levels=4, name="skeleton mage"}})
defineTile('8', "FLOOR", nil, {random_filter={add_levels=2, name="degenerated skeleton warrior"}})
return {
[[,,,,,,,,,,,,,,,,,,,,,,,,,T,,,,TT,,,]],
[[,XX,,XX,,XX,,XX,,,T,,,,,,,T,,,,,,T,]],
[[,XX..XX..XX..XX.,,,,T,TT,,,,,,,,,,T]],
[[,XX##XX##XX##XXXXXXXXXXXXXXXXXXX,,,]],
[[,X..8.G..G....X.8........X..CCCX,,T]],
[[,X8...G..G.6..X..........!...0CX,,,]],
[[,X####X..X####X....8..8..X.1CCCX,,,]],
[[TX7...G..G.8..X..........X.....X,,,]],
[[,X....G..G....+..8.......X?????XT,,]],
[[TX....G..G..4.X.....8....X?????X,,,]],
[[,X####X..X####XXGGGGGGXLXXXXXXXX,,,]],
[[,X$$..G..G..$$X........64X,,,,,,,,,]],
[[,X$$..G..G..$$X........64X,,,,,,,,,]],
[[,XXXXXX++XXXXXXX+XXXXXXXXXXXXXX,,,,]],
[[,X.......................X....XX,,,]],
[[,X.7X.~~~~~.X.....6......+.....X,,,]],
[[,X.4X.~~~~~.X...5..6.....+.....X,,,]],
[[,X....~~~~~.....7..6.....X.7...!,,,]],
[[,X.4X.~~~~~.X...5..6.....+.....X,,,]],
[[,X.7X.~~~~~.X.....6......+.....X,,,]],
[[,X.......................X....XX,,,]],
[[,XXXX++XXXX...XXXXXXXXXXXXXXXXX,,,,]],
[[TXFF;;;FFFX...X%%........%....X,,,,]],
[[TXF;;;;;;FX...+...%%%%%%.%%%%%X,,,,]],
[[,X;;F2;;F;X...X%%%%....%......X,,,,]],
[[,X;;;FF;;;X...XXXXXXXXXXXXXXX+X,,,,]],
[[,XF;FFFF;FX...#$$$X......%44%.X,,,,]],
[[,XF;;FF2;;X...#$$$+.%%%%.%%%%.X,,T,]],
[[,XF;2F3F;FX.6.#$$$X%%55%......X,,,T]],
[[,X2F;;;;2FXXXXXXXXXXXXXXXXXXXXX,,T,]],
[[,XF;FF;;FFX,,,,,,,,,,,,,,,,,,,,,T,T]],
[[,XX##XX##XXT,,,,,,,,,,,,,,,,TTT,,,,]],
[[,XX,,XX,,XX,,T,,,,,,,,,,,,,,,,,T,,,]],
[[,XX,,XX,,XX,T,,,,,,,,,,T,,,T,TT,T,,]],
[[,,,,,,,,T,T,,,,,,,,,T,,,,,,,TT,,,,,]],
}
The vault has been tested, and is all present and correct by my reckoning.