Call for mappers

All development conversation and discussion takes place here

Moderator: Moderator

Message
Author
Burb Lulls
Spiderkin
Posts: 480
Joined: Mon Jul 26, 2004 5:20 am
Location: Blighty

Re: Call for mappers

#61 Post by Burb Lulls »

Great, I've had this idea knocking around my head for a while: Corridors lined with statues, some more mobile than others.

Code: Select all

setStatusAll{no_teleport=true}

defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('!', "DOOR_VAULT")
defineTile('+', "DOOR")

defineTile('A', "FLOOR", {random_filter={type="weapon", ego_chance=80}})
defineTile('W', "FLOOR", {random_filter={type="armor", ego_chance=80}})
defineTile('$', "FLOOR", "MONEY_BIG")

quickEntity('1', {name="statue", display='@', color=colors.SLATE, block_move=true})
defineTile('2', nil, "LIVING_STATUE")

rotates = {"default", "90", "180", "270", "flipx", "flipy"}

return {
[[.......................]],
[[.XXXXXXXXXXXXXXXXXXXXX.]],
[[.X1X1X2X2XWWWX2X1X1X1X.]],
[[.X.X.X.X.XAAAX.X.X.X.X.]],
[[.X.......+...+.......X.]],
[[.X.X.X.X.X$$$X.X.X.X.X.]],
[[.X.X2X1X2X$$$X1X2X1X.X.]],
[[.X.XXXXXXXXXXXXXXXXX.X.]],
[[.X.X1X1X1X...X1X1X2X.X.]],
[[.X.X.X.X.X.1.X.X.X.X.X.]],
[[.X.......+...+.......X.]],
[[.X.X.X.X.X...X.X.X.X.X.]],
[[.X1X1X1X1X...X2X1X1X1X.]],
[[.XXXXXXXXXX!XXXXXXXXXX.]],
[[.......................]],
}
The living statues:

Code: Select all

newEntity{
	define_as = "LIVING_STATUE",
	name = "living statue",
	type = "construct",
	subtype = "statue",
	desc = [[This statue seems rather more active than others you've seen.]],
	display = "@",
	color = colors.SLATE,
	level_range = {1, nil},
	exp_worth = 1,
	rank = 2,
	size_category = 4,
	life_rating = 12,
	max_life = resolvers.rngavg(90,120),
	combat = { dam=resolvers.mbonus(35, 20), atk=15, apr=10, dammod={str=0.8} },
	combat_armor = 20,
	combat_def = 1,
	max_stamina = 90,
	autolevel = "tank",
	ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=4, },
	energy = { mod=1 },
	stats = { str=22, dex=10, mag=6, wil=6, cun=6, con=23 },
	open_door = 1,
	stun_immune = 1,
	confusion_immune = 1,
	poison_immune = 1,
	fear_immune = 1,
	blind_immune = 1,
	no_breath = 1,
	resists = { [DamageType.PHYSICAL] = 20, },
	resolvers.talents{ [Talents.T_STUN]=3, },
}
Edit: Honestly! I've been agonising over getting this NPC working in my test module for like a week, and all that was wrong was a few missing commas. I'm a cretin. :roll:

Burb Lulls
Spiderkin
Posts: 480
Joined: Mon Jul 26, 2004 5:20 am
Location: Blighty

Re: Call for mappers

#62 Post by Burb Lulls »

Few more vaults. What could the theme to this one be, I wonder?

Code: Select all

setStatusAll{no_teleport=true}

rotates = {"default", "90", "180", "270", "flipx", "flipy"}

startx = 8
starty = 16

defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('#', "WALL")
defineTile('!', "DOOR_VAULT")
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=5}})

defineTile('P', "FLOOR", nil, {random_filter={name="snow giant thunderer", add_levels=10}})
defineTile('T', "FLOOR", nil, {random_filter={name="mountain troll thunderer", add_levels=10}})
defineTile('e', "FLOOR", nil, {random_filter={name="greater gwelgoroth", add_levels=10}})
defineTile('E', "FLOOR", nil, {random_filter={name="ultimate gwelgoroth", add_levels=15}})
defineTile('D', "FLOOR", nil, {random_filter={name="storm wyrm", add_levels=20}})

defineTile('$', "FLOOR", "MONEY_BIG")
defineTile('1', "FLOOR", {random_filter={add_levels=15, ego_chance=45}})
defineTile('2', "FLOOR", {random_filter={type="ammo", add_levels=10, ego_chance=80}})

return {
[[XXXXXXXXXXXXXXXXX]],
[[XE$..#.....#..$EX]],
[[X$2$##..P..##$2$X]],
[[X.$##.......##$.X]],
[[X.##...X^X...##.X]],
[[X##..e.X^X.e..##X]],
[[X......X#X......X]],
[[X...XXX111XXX...X]],
[[X.T.^^#1D1#^^.T.X]],
[[X...XXX111XXX...X]],
[[X......X#X......X]],
[[X##..e.X^X.e..##X]],
[[X.##...X^X...##.X]],
[[X.$##.......##$.X]],
[[X$2$##..P..##$2$X]],
[[XE$..#.....#..$EX]],
[[XXXXXXXX!XXXXXXXX]],
}
And some waterways...

Code: Select all

setStatusAll{no_teleport=true}

rotates = {"default", "90", "180", "270", "flipx", "flipy"}

startx = 13
starty = 12

defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('#', "WALL")
defineTile('!', "DOOR_VAULT")
defineTile('~', "DEEP_WATER")

defineTile('n', "FLOOR", nil, {random_filter={subtype="naga", add_levels=10}})
defineTile('1', "FLOOR", nil, {random_filter={no_breath=1, add_levels=5}})

defineTile('$', "FLOOR", {random_filter={add_levels=10, ego_chance=20}})

return {
[[#XXXXX###############XXXXX#]],
[[XX~~~XX###XXXXXXX###XX~~~XX]],
[[X~111~XXXXX~~~~~XXXXX~111~X]],
[[X~1n1~~~~~~~~~~~~~~~~~1n1~X]],
[[X~111~XXXXXXX~XXXXXXX~111~X]],
[[XX~~~XXXXXXXX~XXXXXXXX~~~XX]],
[[#XX~XXXXXXXXX~XXXXXXXXX~XX#]],
[[##X~XXX$$$XX~~~XX$$$XXX~X##]],
[[##X~XXX111X~...~X111XXX~X##]],
[[##X~~~~1n1X~...~X1n1~~~~X##]],
[[##XXXXX111X~...~X111XXXXX##]],
[[######X$$$XX~~~XX$$$X######]],
[[######XXXXXXX!XXXXXXX######]],
}

darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Call for mappers

#63 Post by darkgod »

Added!

Moooarrr
[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 ;)

Burb Lulls
Spiderkin
Posts: 480
Joined: Mon Jul 26, 2004 5:20 am
Location: Blighty

Re: Call for mappers

#64 Post by Burb Lulls »

Three vaults for the Old Forest! A thief hideout...

Code: Select all

setStatusAll{no_teleport=true}

rotates = {"default", "90", "180", "270", "flipx", "flipy"}

defineTile('.', "FLOOR")
defineTile(',', "GRASS_DARK1")
defineTile('#', "WALL")
defineTile('X', "HARDWALL")
defineTile('+', "DOOR")
defineTile('x', "DOOR_VAULT")

defineTile('p', nil, {random_filter={name="rogue", add_levels=3}})
defineTile('P', nil, {random_filter={name="bandit", add_levels=5}})

defineTile('!', {random_filter={type="potion"}})
defineTile('$', "MONEY_SMALL")
defineTile('*', {random_filter={type="gem"}})

return {
[[,,,,,,,,,,,,,,]],
[[,XXXXXXX,,,,,,]],
[[,X*#$$$X,,,,,,]],
[[,X*#$$$X,,,,,,]],
[[,X*#$$$X,,,,,,]],
[[,XXXX+XX#x###,]],
[[,#..#.#.....#,]],
[[,#.p+.#.p.p.#,]],
[[,####.#..P..#,]],
[[,#P.#.#.p.p.#,]],
[[,#!.+.+.....#,]],
[[,############,]],
[[,,,,,,,,,,,,,,]],
}
... some plantlife...

Code: Select all

setStatusAll{no_teleport=true}

rotates = {"default", "90", "180", "270", "flipx", "flipy"}

defineTile('.', "GRASS_DARK1")
defineTile('#', "TREE_DARK")
defineTile('X', "HARDTREE_DARK")
defineTile('!', "ROCK_VAULT")

defineTile('V', nil, {random_filter={name="poison vine"}})
defineTile('H', {random_filter={add_levels=5, ego_chance=50}}, {random_filter={name="huorn", add_levels=3}})

return {
[[#XXXXXXX#]],
[[XXV...VXX]],
[[XV.VVV.VX]],
[[X..VHV..X]],
[[XV.VVV.VX]],
[[XXV...VXX]],
[[#XXX!XXX#]],
}
... and a disgusting moldy path!

Code: Select all

setStatusAll{no_teleport=true}

rotates = {"default", "90", "180", "270", "flipx", "flipy"}

defineTile('.', "GRASS_DARK1")
defineTile('#', "TREE_DARK")
defineTile('X', "HARDTREE_DARK")
defineTile('~', "POISON_SHALLOW_WATER")
defineTile('!', "ROCK_VAULT")

defineTile('m', nil, {random_filter={subtype="molds", add_levels=2}})
defineTile('j', nil, {random_filter={subtype="oozes", add_levels=2}})

defineTile('$', {random_filter={add_levels=5, ego_chance=25}})

return {
[[#XXXXXXXXX#####XXXX#]],
[[XXm~..~.~XXXX#XX$$XX]],
[[X~~...j..~~jXXXmmmmX]],
[[X~...mXX.j...j..jjXX]],
[[Xm..~XXXXX~~.~.jXXX#]],
[[XX.mmXXXXXXXXXXXX###]],
[[XmmmXXXXXXXXXXXXXXXX]],
[[X~..mXXXX~.mmXXm...!]],
[[XXm...m.........~mXX]],
[[#XXXX~~.mXXXm~m~XXX#]],
[[####XXXXXX#XXXXXX###]],
}
Last edited by Burb Lulls on Mon Nov 08, 2010 8:03 pm, edited 1 time in total.

Taxorgian
Archmage
Posts: 300
Joined: Mon May 17, 2010 11:56 am

Re: Call for mappers

#65 Post by Taxorgian »

I don't know these well at all (that's why I haven't contributed) but in Burb Lulls' first one isn't it a problem that "!" is used both as a potion and as an entry point?

Burb Lulls
Spiderkin
Posts: 480
Joined: Mon Jul 26, 2004 5:20 am
Location: Blighty

Re: Call for mappers

#66 Post by Burb Lulls »

Taxorgian wrote:I don't know these well at all (that's why I haven't contributed) but in Burb Lulls' first one isn't it a problem that "!" is used both as a potion and as an entry point?
...?!

*looks up*

... Dangit. (fixed)

Susramanian
Spiderkin
Posts: 454
Joined: Sat May 15, 2010 3:09 am

Re: Call for mappers

#67 Post by Susramanian »

Ten big, mean vaults! They could go in any mid- to late-game zone, though those round ones probably shouldn't be outside. I could see all of these (except the three demon-infested round ones) appearing as early as Daikara.

Code: Select all

--Frost dragon lair
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}

defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('C', "FLOOR", nil, {random_filter={add_levels=10, name = "ice wyrm"}})
defineTile('d', "FLOOR", nil, {random_filter={add_levels=15, name="cold drake hatchling"}})
defineTile('$', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}})
defineTile('D', "FLOOR", nil, {random_filter={add_levels=10, name = "cold drake"}})


return {

[[#############################]],
[[#C..........................#]],
[[#.....................D.....#]],
[[#..###################+###..#]],
[[#$.#...+.....$#C$$$$$#...#..#]],
[[#$.#...#..ddd$#......#...#..#]],
[[#$.#...#..ddd$#......#...#..X]],
[[#$.#..D#..ddd$#......#...#..#]],
[[#$.#..D#.....$#....DD+...#..#]],
[[#..###+###################..#]],
[[#...........................#]],
[[#C..........................#]],
[[#############################]],

}

Code: Select all

-- Greater money vault
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}

defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('a', "FLOOR", nil, {random_filter={add_levels=10}})
defineTile('b', "FLOOR", {random_filter={add_levels=10, tome_mod="vault"}}, {random_filter={add_levels=15}})
defineTile('c', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}}, {random_filter={add_levels=20}})
defineTile('d', "FLOOR", {random_filter={add_levels=15, tome_mod="gvault"}}, {random_filter={add_levels=20}})
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=20}})
defineTile('$', "FLOOR", {random_filter={add_levels=25, type="money"}})


return {

[[#############################]],
[[#.ba..a..+a..c#.+a...#.+.a.a#]],
[[#c...a...#.c..#.#...a#.#a.a.#]],
[[#+########a..a#.#.a..#.#.a.a#]],
[[#c.a....a#..b.#.#b.a.#.#a.a.#]],
[[#..b..b..#.b..#.#b.b.#.#+####]],
[[########+#..a.+c#b...+.#....X]],
[[#....a.bb#############.#+####]],
[[#.....c..#c.$$$$$$$.c#.#a.a.#]],
[[#+########c.$$$$$$$.c#.#.a.a#]],
[[#aaabcaa^#..$$$$$$$.c#.#a.a.#]],
[[#aaabbaa.+..$$$$$$$.c#.+.a.a#]],
[[#############################]],

}

Code: Select all

--Zigzag chambers
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('%', "WALL")
defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('a', "FLOOR", nil, {random_filter={add_levels=10}})
defineTile('b', "FLOOR", {random_filter={add_levels=10, tome_mod="vault"}}, {random_filter={add_levels=15}})
defineTile('c', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}}, {random_filter={add_levels=20}})
defineTile('d', "FLOOR", {random_filter={add_levels=15, tome_mod="gvault"}}, {random_filter={add_levels=20}})
defineTile('$', "FLOOR", {random_filter={add_levels=25, type="money"}})
defineTile('/', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}})
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=20}})
return {

[[############################]],
[[#.......................acc#]],
[[#%#%%%%%%%%%%%%%#+#%%%%%%%%#]],
[[#+#abaaba#$$$$$/#+###b..a..#]],
[[#.##bcabc#$$$$$##c#/##...a.#]],
[[#..##....%....##aa#..##.a..#]],
[[#...##...#...##bbb#...##...X]],
[[#^^./##..#..##aaaa#.$$$##..#]],
[[#$$^//##.#/##abcab#.$$$.##b#]],
[[#$$^///#+###d...b.#/$$$./#+#]],
[[########+##########%%%%%%#+#]],
[[#dc........................#]],
[[############################]],

}

Code: Select all

--trapped hexagon
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('%', "WALL")
defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('$', "FLOOR", {random_filter={add_levels=25, type="money"}})
defineTile('/', "FLOOR", {random_filter={add_levels=15, tome_mod="gvault"}})
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=20}})
defineTile('a', "FLOOR", nil, {random_filter={add_levels=10}})
defineTile('b', "FLOOR", {random_filter={add_levels=10, tome_mod="vault"}}, {random_filter={add_levels=15}})
defineTile('c', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}}, {random_filter={add_levels=20}})
defineTile('d', "FLOOR", {random_filter={add_levels=15, tome_mod="gvault"}}, {random_filter={add_levels=20}})

return {

[[########################]],
[[#$$a/##.........c##d...#]],
[[#$$a##.........a.a##...#]],
[[#ca##....^^^^^^.c.b%%..#]],
[[#c%%.....^^^^^^.a.a.##.#]],
[[###......^^^^^^c.a.ba###]],
[[##.......^^^/^^.caaa...X]],
[[###......^^^~^^caa.b.###]],
[[#$##.....^~~~^^a..ba##d#]],
[[#$$##....^~^^^^.c.a##..#]],
[[#aaa##............%%...#]],
[[#aacc%%.........c##....#]],
[[########################]],

}

Code: Select all

--bandit fortress
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('%', "WALL")
defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('*', "FLOOR", {random_filter={type="gem"}})
defineTile('$', "FLOOR", {random_filter={add_levels=25, type="money"}})
defineTile('/', "FLOOR", {random_filter={add_levels=5, tome_mod="vault"}})
defineTile('\' "FLOOR", {random_filter={add_levels=10, tome_mod="vault"}})
defineTile('L', "FLOOR", {random_filter={add_levels=15, tome_mod="gvault"}})
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=20}})
defineTile('D', "FLOOR", nil, {random_filter={add_levels=15, name = "fire drake"}})
defineTile('p', "FLOOR", nil, {random_filter={add_levels=5, name = "assassin"}})
defineTile('P', "FLOOR", nil, {random_filter={add_levels=10, name = "bandit lord"}})
defineTile('H', "FLOOR", nil, {random_filter={add_levels=10, subtype = "minotaur"}})
defineTile('T', "FLOOR", nil, {random_filter={add_levels=20, subtype = "troll"}})
defineTile('A', "FLOOR", nil, {random_filter={add_levels=10, type = "aquatic"}})

return {

[[~~~~~A~~~~~~~~~~~~~~~A~~~~~~~~~~~~~A~~~~]],
[[~##########~~~~~~~~~~~~~~~~~~##########~]],
[[~#.p.....p#~~~A~~~~~~~~~~~~~~#.....p..#~]],
[[A#.######.#~~~~~~~~~~~~~~~~~~#.######.#A]],
[[~#.#\\\\#.#~~~~~~~~~A~~~~~A~~#.#\\\.#.#~]],
[[~#p#HHHH#.####################p#TTTT#p#~]],
[[~#.#pppP#.#*$$pH.+.#HLH.D..+^#.#HHHH#.#~]],
[[A#.#....#p#$*$pH.#.#LHH.D..#^#.#\\\.#.#~]],
[[~#.###+##.########.#########.#.##+###.#A]],
[[~#..p.....#..DDLL#.%.........#.p....p.#~]],
[[~#####+####%######+####################~]],
[[~A~~~#.#**#^.../$#P.....p....+.pp/#~~~~~]],
[[~~~~~#.#**#$.../$#.p.......p.#.pP/#~A~~~]],
[[~~~~~#.#**#$.../$#...p.....p.#ppp/#~~~~~]],
[[~~~~~#.#%%###+##############+#+####~~~~~]],
[[~~A~~#..HH#..p#.T............#////#~~~A~]],
[[~~~~~#....#p..#......T...p...#////#~~~~~]],
[[~~~~~#....#..p#..P...........######~~~~~]],
[[A~~~~#...P#...+T.....H....T...p...X.H...]],
[[~~~~~#P...#####...................X.T...]],
[[~~~~~#P...#####..T....p...p.......X.T...]],
[[~~~~~#...P#HH.+....H.........p....X.H...]],
[[~~~~~#....#.P.#..........T...######~~~~~]],
[[~~~~A#..HH#..p#...P...p......#////#~A~~~]],
[[~~~~~#..^^#p.^#T....T........#////#~~~~~]],
[[~~~~~#.#%%###+##############+#+####~~~~~]],
[[~~A~~#.#**#\\\\\D#.p.......P.#ppp/#A~~~~]],
[[~~~~~#.#**########.....p.....#.pP/#~~~A~]],
[[~~~~~#.#**%DDDLLL#.p.....p...+.pp/#~~~~~]],
[[~#####+###########+####################~]],
[[~#.p....p.+..P......H....TT..+.....p..#~]],
[[~#.###+##.#.....p......p..TT^#.##+###.#A]],
[[~#.#....#.#%################%#p#\\\.#.#~]],
[[~#.#pppP#.#....DDLL#LLDD.....#.#TTTT#.#~]],
[[~#p#HHHH#.####################.#HHHH#p#~]],
[[A#.#\\\\#p#~~~~A~~~~~~~~~A~~~#.#\\\.#.#A]],
[[~#.######.#~~~~~~~~~~~~~~~~~~#.######.#~]],
[[~#..p.....#~~~~~~~~~~~~~~~~A~#p...p...#~]],
[[~##########~~~~~A~~~~~~~~~~~~##########~]],
[[~~~~~A~~~~~~~~~~~~~~~~~~~~~~~~~~A~~~~~~~]],

}

Code: Select all

--yinyang
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('%', "WALL")
defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('L', "FLOOR", {random_filter={add_levels=25, tome_mod="gvault"}})
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=20}})
defineTile('a', "FLOOR", nil, {random_filter={add_levels=10}})
defineTile('b', "FLOOR", {random_filter={add_levels=10, tome_mod="vault"}}, {random_filter={add_levels=15}})
defineTile('c', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}}, {random_filter={add_levels=20}})

return {

[[########################]],
[[X..a....a.b.a...b.b...a#]],
[[#....a.b..a..a.a....b.a#]],
[[#####################..#]],
[[#...a.....b.....b.c##b.#]],
[[#...^...a...b.....c##.a#]],
[[#a.#%################..#]],
[[#.b#L%c..a....b....a...#]],
[[#.a#L%c...b......b....b#]],
[[#..#####################]],
[[#...b..a.a...b..a...b..#]],
[[#.b..a....a...a...ba...X]],
[[########################]],

}

Code: Select all

--32 chambers
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('%', "WALL")
defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('X', "DOOR_VAULT")
defineTile('*', "FLOOR", {random_filter={type="gem"}})
defineTile('L', "FLOOR", {random_filter={add_levels=15, tome_mod="gvault"}})
defineTile('D', "FLOOR", nil, {random_filter={name="greater multi-hued wyrm", add_levels=30}})
defineTile('c', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}}, {random_filter={add_levels=20}})

return {

[[#########################]],
[[X.c#..%..%..%..#L*#..#*L#]],
[[#..#.c#.c#.c#.c#*D%.c%D*#]],
[[##%##%#######%######%####]],
[[#..#..#..%..%..#..%..#..#]],
[[#.c%.c#.c#.c#.c#.c#.c%.c#]],
[[########%########%#####%#]],
[[#..%..#..#LL#..%..#..#..#]],
[[#.c#.c%.c#DD#.c#.c#.c%.c#]],
[[##%########%##%##########]],
[[#..%..%..%..#..%..%..#..#]],
[[#.c#.c#.c#.c#.c#.c#.c%.cX]],
[[#########################]],

}

Code: Select all

--demon nest 1
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('%', "WALL")
defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('~', "LAVA_FLOOR")
defineTile('*', "FLOOR", {random_filter={type="gem"}})
defineTile('/', "LAVA_FLOOR", {random_filter={add_levels=10, tome_mod="vault"}})
defineTile('L', "FLOOR", {random_filter={add_levels=25, tome_mod="gvault"}})
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=20}})
defineTile('u', "LAVA_FLOOR", nil, {random_filter={add_levels=20, type = "demon", subtype = "minor"}})
defineTile('h', "LAVA_FLOOR", nil, {random_filter={add_levels=10, type = "horror", subtype = "eldritch"}})
defineTile('U', "FLOOR", nil, {random_filter={add_levels=30, type = "demon", subtype = "major"}})

return { 

[[#####################]],
[[#########h~~#########]],
[[#######~u~/~uh#######]],
[[#####~/~u~~~~~u~#####]],
[[#####~~h~~h~/h~~#####]],
[[###U#+#~~~/~~~#+#U###]],
[[###...##~u~~~##...###]],
[[##$$$.####+####.$$$##]],
[[##$$$L*###.###*L$$$##]],
[[#########...#########]],
[[X......+..U.^%UUUULL#]],
[[#########...#########]],
[[##$$$L*###.###*L$$$##]],
[[##$$$.####+####.$$$##]],
[[###...##h~~h/##...###]],
[[###U#+#~/~~u~~#+#U###]],
[[#####h~~u~~h~u~~#%###]],
[[#####~u~h~u~/~h~#%###]],
[[#######/~u~~~u###LL##]],
[[#########~~h#####LL##]],
[[#####################]],

}

Code: Select all

--demon nest 2
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('%', "WALL")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('.', "LAVA_FLOOR")
defineTile('*', "LAVA_FLOOR", {random_filter={type="gem"}})
defineTile('/', "LAVA_FLOOR", {random_filter={add_levels=10, tome_mod="vault"}})
defineTile('L', "LAVA_FLOOR", {random_filter={add_levels=25, tome_mod="gvault"}})
defineTile('^', "LAVA_FLOOR", nil, nil, {random_filter={add_levels=20}})
defineTile('u', "LAVA_FLOOR", nil, {random_filter={add_levels=20, type = "demon", subtype = "minor"}})
defineTile('h', "LAVA_FLOOR", nil, {random_filter={add_levels=10, type = "horror", subtype = "eldritch"}})
defineTile('U', "LAVA_FLOOR", {random_filter={add_levels=25, tome_mod="gvault"}}, {random_filter={add_levels=30, type = "demon", subtype = "major"}})


return { 

[[#####################]],
[[#########...#########]],
[[#######..u....#######]],
[[#####u.h....h...#####]],
[[####....#####..u.####]],
[[###.h.###.u.###...###]],
[[###..##.h.....##..###]],
[[##u..#...###..h#.h.##]],
[[##.h##..##U##..##..##]],
[[#..u#..##///##u.#...#]],
[[X...#..+./U/U#..#u..#]],
[[#####U.##///##..#...#]],
[[##U.######U##..##.h##]],
[[##...+...###h..#...##]],
[[###h.##.u...u.##h.###]],
[[###...###...###...###]],
[[####...u#####uu..####]],
[[#####.....h.....#####]],
[[#######...u...#######]],
[[#########...#########]],
[[#####################]],

}


Code: Select all

--demon nest 3
setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
defineTile('%', "WALL")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('X', "DOOR_VAULT")
defineTile('.', "LAVA_FLOOR")
defineTile('$', "LAVA_FLOOR", {random_filter={add_levels=25, type="money"}})
defineTile('*', "LAVA_FLOOR", {random_filter={type="gem"}})
defineTile('/', "LAVA_FLOOR", {random_filter={add_levels=10, tome_mod="vault"}})
defineTile('L', "LAVA_FLOOR", {random_filter={add_levels=25, tome_mod="gvault"}})
defineTile('^', "LAVA_FLOOR", nil, nil, {random_filter={add_levels=20}})
defineTile('u', "LAVA_FLOOR", nil, {random_filter={add_levels=20, type = "demon", subtype = "minor"}})
defineTile('h', "LAVA_FLOOR", nil, {random_filter={add_levels=10, type = "horror", subtype = "eldritch"}})
defineTile('U', "LAVA_FLOOR", {random_filter={add_levels=25, tome_mod="gvault"}}, {random_filter={add_levels=30, type = "demon", subtype = "major"}})

return { 

[[%%%%%%%%#####%%%%%%%%]],
[[%%%%%%###u%*###%%%%%%]],
[[%%%%###uuu%$*$###%%%%]],
[[%%%##uuuuu%$$$$$##%%%]],
[[%%###%#############%%]],
[[%%#.h^.....h....+.#%%]],
[[%##...h...h...h.#.##%]],
[[%#U.....h....h..#.L#%]],
[[#################..##]],
[[#.U.$..*/.$../...$.D#]],
[[X.U../$...*../.$...L#]],
[[#.U.$.*$./.$..*/..$D#]],
[[#################..##]],
[[%#U..h........h.#.L#%]],
[[%##.h...h...h...#.##%]],
[[%%#...h......h..+.#%%]],
[[%%###%#############%%]],
[[%%%##uuuuu%$$$$$##%%%]],
[[%%%%###uuu%$*$###%%%%]],
[[%%%%%%###u%*###%%%%%%]],
[[%%%%%%%%#####%%%%%%%%]],

}
Last edited by Susramanian on Sat Mar 19, 2011 12:35 pm, edited 1 time in total.

marchewka
Thalore
Posts: 156
Joined: Thu Dec 30, 2010 9:52 am

Re: Call for mappers

#68 Post by marchewka »

1# What filter to apply to make a tile containing either sword or axe, equal chances?

2# How to add a percentage chance to the tile to contain a trap (or item, or actor)?

3# It is possible to use an already-in-game icon (right now used for one NPC) to represent a specific tile within a vault? Or better approach here would be creating an object just for this reason, making it no-pick, giving it the icon, and then placing it in the vault?

Goblinz
Module Developer
Posts: 163
Joined: Tue Dec 14, 2010 3:23 am
Location: Where I need to be

Re: Call for mappers

#69 Post by Goblinz »

Here is mummy crypt

Code: Select all

setStatusAll{no_teleport=true}

rotates = {"default", "90", "180", "270", "flipx", "flipy"}

defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
defineTile('+', "DOOR")
defineTile('!', "DOOR_VAULT")

defineTile('M', "FLOOR", nil, {random_filter={name=""ancient elven mummy"", add_levels=10}})
defineTile('m', "FLOOR", nil, {random_filter={name="rotting mummy"}})
defineTile('$', "FLOOR", {random_filter={add_levels=10, tome_mod="vault"}})
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=20}})

return {
[[.##..##..##..##..##..##]],
[[.##..##..##..##..##..##]],
[[.......................]],
[[.....##############....]],
[[.##..#...+$$$$+...#..##]],
[[.##..#...#$$M$#...#..##]],
[[.....#..^#....#^..#....]],
[[.....#...######...#....]],
[[.##..#............#..##]],
[[.##..#..^.m..m.^..#..##]],
[[.....#.#.#....#.#.#....]],
[[.....#............#....]],
[[.##..#.#.#m..m#.#.#..##]],
[[.##..#............#..##]],
[[.....######!!######....]],
[[.......................]],
[[.##..##..##..##..##..##]],
[[.##..##..##..##..##..##]],

}
Those who complain are just Volunteering to fix the problem

<yufra> every vault designer should ask themselves exactly that: What Would Grey Do?

Burb Lulls
Spiderkin
Posts: 480
Joined: Mon Jul 26, 2004 5:20 am
Location: Blighty

Re: Call for mappers

#70 Post by Burb Lulls »

Five(?) vaults, no traps, no pre-determined enemy types, suitable for just about any regular dungeon. Go!

1. Test your luck!

Code: Select all

defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('!', "DOOR_VAULT")

defineTile('$', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}})
defineTile('O', "FLOOR", nil, {random_filter={add_levels=15}})

setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}

return {
[[...........]],
[[.XXXXXX!XX.]],
[[.X...X$$$X.]],
[[.!...X$$$X.]],
[[.X...X$$$X.]],
[[.XXXXXXXXX.]],
[[.XOOOX...X.]],
[[.XOOOX...!.]],
[[.XOOOX...X.]],
[[.XX!XXXXXX.]],
[[...........]],
}
2. The enemy inside is guaranteed difficult, but you really have no excuse for not facing it prepared...

Code: Select all

defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('#', "WALL")
defineTile('!', "DOOR_VAULT")

defineTile('$', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}})
defineTile('O', "FLOOR", {random_filter={add_levels=30, tome_mod="gvault"}}, {random_filter={add_levels=30, rank=3}})

setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}

return {
[[.............]],
[[.###########.]],
[[.###########.]],
[[.##.......##.]],
[[.##.XXXXX.##.]],
[[.##.X$O$X.##.]],
[[.##.X$$$X.##.]],
[[.##.XX!XX.##.]],
[[.##.......##.]],
[[.###########.]],
[[.###########.]],
[[.............]],
}
3. Experiments with chain-aggro...

Code: Select all

defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('#', "WALL")
defineTile('+', "DOOR")
defineTile('!', "DOOR_VAULT")

defineTile('$', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}})
defineTile('o', "FLOOR", nil, {random_filter={add_levels=10}})
defineTile('O', "FLOOR", nil, {random_filter={add_levels=15, rank=2}})

setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}

startx = 7
starty = 12

return {
[[####XXXXXXX####]],
[[##XXX$...$XXX##]],
[[##X$$.O.O.$$X##]],
[[##XXX$...$XXX##]],
[[XXXXXXX+XXXXXXX]],
[[Xo.....o.....oX]],
[[X.XX.......XX.X]],
[[XoXX..XXX..XXoX]],
[[XOXX.......XXOX]],
[[XoXXXXX.XXXXXoX]],
[[X.XXXXX.XXXXX.X]],
[[X.............X]],
[[XXXXXXX!XXXXXXX]],
}
4. There's gems in them thar walls! Also, monsters.

Code: Select all

defineTile('.', "FLOOR")
defineTile('#', "WALL")

defineTile('*', "FLOOR", {random_filter={type="gem"}})
defineTile('O', "FLOOR", nil, {random_filter={add_levels=10}})

setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}

startx = 7
starty = 9

return {
[[###############]],
[[#*###*#####*###]],
[[########OO#####]],
[[##*#####OO#####]],
[[#####O#########]],
[[#*###########O#]],
[[######...######]],
[[###O##.#.######]],
[[######...##*###]],
[[#######.#######]],
}
5. Tough enemies, but with perfect chokepoints to fight them in.

Code: Select all

defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('#', "WALL")
defineTile('+', "DOOR")
defineTile('!', "DOOR_VAULT")

defineTile('$', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}})
defineTile('*', "FLOOR", {random_filter={add_levels=20, tome_mod="gvault"}})
defineTile('o', "FLOOR", nil, {random_filter={add_levels=10}})
defineTile('O', "FLOOR", nil, {random_filter={add_levels=20, rank=3}})

setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}

return {
[[...............]],
[[.XXX#######XXX.]],
[[.X.X.......X.X.]],
[[.XX.XXX!XXX.XX.]],
[[.#.XX.....XX.#.]],
[[.#.X$..o..$X.#.]],
[[.#.X*ooOoo*X.#.]],
[[...X*oOoOo*X...]],
[[.#.X*ooOoo*X.#.]],
[[.#.X$..o..$X.#.]],
[[.#.XX.....XX.#.]],
[[.XX.XXX!XXX.XX.]],
[[.X.X.......X.X.]],
[[.XXX#######XXX.]],
[[...............]],
}
?. A... um... "vault".

Code: Select all

defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('#', "WALL")
defineTile('+', "DOOR")
defineTile('!', "DOOR_VAULT")

defineTile('$', "FLOOR", {random_filter={add_levels=15, tome_mod="vault"}})
defineTile('o', "FLOOR", nil, {random_filter={add_levels=10}})
defineTile('O', "FLOOR", nil, {random_filter={add_levels=15, rank=2}})

setStatusAll{no_teleport=true}
rotates = {"default", "90", "180", "270", "flipx", "flipy"}

startx = 0
starty = 13

return {
[[XXXXX################]],
[[X$$$X#####XXXXXXXXX##]],
[[X$$$X#####X$.$.$..XXX]],
[[XX+XXXXXXXXO.O.O....X]],
[[XO.OX.ooo$XXXXXXX+XXX]],
[[X...X.....X...o.o.o.X]],
[[X.........+...o.o.o.X]],
[[XXXXXXX+XXXXXXXXXXXXX]],
[[####X.o.o$X##########]],
[[####X.....X##########]],
[[####X.....X##########]],
[[####X.....X##########]],
[[####XXX!XXX##########]],
[[..............#######]],
[[#####################]],
}

Post Reply