From a041fcb3774e2a6b72f544807fa031db30ad1aa5 Mon Sep 17 00:00:00 2001 From: Bunny <glisa825@gmail.com> Date: Sat, 28 Dec 2019 04:29:36 -0500 Subject: [PATCH] Nsrr forest ruined building 1 and 3 update Same spawn locations, add variety --- .../maps/vaults/forest-ruined-building1.lua | 75 ++++++++++++++---- .../maps/vaults/forest-ruined-building3.lua | 78 +++++++++++++++---- 2 files changed, 126 insertions(+), 27 deletions(-) diff --git a/game/modules/tome/data/maps/vaults/forest-ruined-building1.lua b/game/modules/tome/data/maps/vaults/forest-ruined-building1.lua index 01147d97f9..b9ad32c834 100644 --- a/game/modules/tome/data/maps/vaults/forest-ruined-building1.lua +++ b/game/modules/tome/data/maps/vaults/forest-ruined-building1.lua @@ -19,30 +19,79 @@ setStatusAll{no_teleport=true, room_map = {can_open=true}} specialList("actor", { - "/data/general/npcs/troll.lua", + "/data/general/npcs/troll.lua", + "/data/general/npcs/ghoul.lua", + "/data/general/npcs/thieve.lua", + "/data/general/npcs/skeleton.lua", }) border = 0 rotates = {"default", "90", "180", "270", "flipx", "flipy"} defineTile('.', "FLOOR") -defineTile(',', "GRASS") -defineTile('#', "WALL") -defineTile('X', "TREE") +defineTile(',', data.floor or data['.'] or "GRASS") +defineTile('#', "HARDWALL") +defineTile('X', "HARDTREE") defineTile('+', "DOOR") defineTile('x', "DOOR_VAULT") -defineTile('T', "FLOOR", {random_filter={type="scroll", tome_mod="vault"}}, {random_filter={name="forest troll", add_levels=4}}) +local mobs = { + "cave troll", + "thief", + "skeleton magus", + "ghast", +} +local mob = rng.tableRemove(mobs) +local moblet = "forest troll" +if mob == "thief" then moblet = "bandit" +elseif mob == "skeleton magus" then moblet = "skeleton warrior" +elseif mob == "ghast" then moblet = "ghoul" +end +defineTile('T', "FLOOR", {random_filter={type="scroll", ego_chance =50, add_levels=8}}, {random_filter={name=mob, add_levels=8}}) +defineTile('t', "FLOOR", {random_filter={tome_mod="vault", add_levels=5}}, {random_filter={name=moblet, add_levels=6}}) +defineTile('m', "FLOOR", nil, {random_filter={name=moblet, add_levels=4}}) + +local version = rng.range(1,3) +if version == 1 then return { [[,,,,,,,,,,,,,]], -[[,#####,,,X,,,]], -[[,#...#,,X,,X,]], -[[,#T..#,,,,X,,]], +[[,#####XXXX,,,]], +[[,#tTt#,,XX,X,]], +[[,#...#,,,XXX,]], [[,###x#X#X.,#,]], -[[,#.....XX,.#,]], -[[,X,.,...,..+,]], +[[,#,..,,XX,.#,]], +[[,X.m...m,..+,]], [[,X,,.X.,...+,]], -[[,,,X..,....#,]], -[[,##XX,##X#X#,]], +[[,X,X.m.,,..#,]], +[[,##XX#XXX#X#,]], +[[,,,,,,,,,,,,,]], +} +elseif version == 2 then +return { +[[,,,,,,,,,,,,,]], +[[,##X##XXXX#X,]], +[[,X,,,,.m.XX,,]], +[[,X,.,....,XX,]], +[[,X.###x###,#,]], +[[,Xm#t...t#,#,]], +[[,#.#..T..#,#,]], +[[,#,#######,X,]], +[[,X,,,.,.m.#X,]], +[[,X###++#####,]], +[[,,,,,,,,,,,,,]], +} +else +return { +[[,,,,,,,,,,,,,]], +[[,###++##X#X,,]], +[[,#,.m.,#XX#X,]], +[[,X,...,,,XXX,]], +[[,X.mXX,,,,,#,]], +[[,#...,,,.X.#,]], +[[,#####,,,,.X,]], +[[,#t,.x..mX.#,]], +[[,#Tt.#,.X..#,]], +[[,#########X#,]], [[,,,,,,,,,,,,,]], -} \ No newline at end of file +} +end \ No newline at end of file diff --git a/game/modules/tome/data/maps/vaults/forest-ruined-building3.lua b/game/modules/tome/data/maps/vaults/forest-ruined-building3.lua index d5f0b0cc78..befc838356 100644 --- a/game/modules/tome/data/maps/vaults/forest-ruined-building3.lua +++ b/game/modules/tome/data/maps/vaults/forest-ruined-building3.lua @@ -19,7 +19,17 @@ setStatusAll{no_teleport=true, room_map = {can_open=true}} specialList("actor", { - "/data/general/npcs/skeleton.lua", + "/data/general/npcs/skeleton.lua", + "/data/general/npcs/snake.lua", + "/data/general/npcs/molds.lua", + "/data/general/npcs/feline.lua", + "/data/general/npcs/ant.lua", + "/data/general/npcs/sandworm.lua", + "/data/general/npcs/spider.lua", + "/data/general/npcs/vermin.lua", + "/data/general/npcs/rodent.lua", + "/data/general/npcs/ooze.lua", + "/data/general/npcs/jelly.lua", }) border = 0 rotates = {"default", "90", "180", "270", "flipx", "flipy"} @@ -28,23 +38,63 @@ defineTile('.', "FLOOR") defineTile(',', "GRASS") defineTile(';', "FLOWER") defineTile('~', "DEEP_WATER") -defineTile('#', "WALL") -defineTile('X', "TREE") -defineTile('+', "DOOR") +defineTile('#', "HARDWALL") +defineTile('X', "HARDTREE") defineTile('x', "DOOR_VAULT") -defineTile('s', "FLOOR", nil, {random_filter={name="degenerated skeleton warrior"}}) +local mobs = { + "rattlesnake", + "green worm mass", + "giant brown ant", + "snow cat", + "green mold", + "giant grey rat", + "giant spider", + "sandworm", + "grey mold", + "giant brown rat", + "skeleton mage", + "skeleton archer", + "skeleton warrior", + "giant green ant", + "giant red ant", + "giant yellow ant", + "giant blue ant", + "brown mold", + "white worm mass", + "giant crystal rat", + "spitting spider", + "weaver young", + "green ooze", + "red ooze", + "yellow ooze", + "blue ooze", + "green jelly", + "red jelly", + "blue jelly", + "yellow jelly", +} + +defineTile('s', "FLOOR", "MONEY_SMALL", {random_filter={name="degenerated skeleton warrior"}}) -- retain closet skeleton for posterity; give it a little money to guard so he's not so sad + +--ALL OF THE VARIABILITY +defineTile('1', "FLOOR", rng.percent(66)and{random_filter={tome_mod="vault", add_levels=rng.range(1,3)}} or nil, rng.percent(50) and {random_filter={name=rng.tableRemove(mobs), add_levels=rng.range(5,10)}} or nil) +defineTile('2', "FLOOR", rng.percent(50)and{random_filter={tome_mod="vault", add_levels=rng.range(2,5)}} or nil, rng.percent(66) and {random_filter={name=rng.tableRemove(mobs), add_levels=rng.range(4,8)}} or nil) +defineTile('3', "FLOOR", rng.percent(66)and{random_filter={add_levels=rng.range(2,4), ego_chance=rng.range(75,100)}} or nil, rng.percent(50) and {random_filter={name=rng.tableRemove(mobs), add_levels=rng.range(5,10)}} or nil) +defineTile('4', "FLOOR", rng.percent(50)and{random_filter={add_levels=rng.range(3,6), ego_chance=rng.range(66,100)}} or nil, rng.percent(66) and {random_filter={name=rng.tableRemove(mobs), add_levels=rng.range(4,8)}} or nil) +defineTile('5', "FLOOR", rng.percent(66)and{random_filter={tome_mod="vault", add_levels=rng.range(1,3)}} or nil, rng.percent(50) and {random_filter={name=rng.tableRemove(mobs), add_levels=rng.range(5,10)}} or nil) +defineTile('6', "FLOOR", rng.percent(50)and{random_filter={tome_mod="vault", add_levels=rng.range(4,6)}} or nil, rng.percent(66) and {random_filter={name=rng.tableRemove(mobs), add_levels=rng.range(4,8)}} or nil) return { [[,,,,,,,,,,,,,,,,]], [[,#X#########X,,,]], -[[,,.+....+..,..X,]], -[[,###....#.###.,,]], -[[,#.+....#.....#,]], -[[,###....###+###,]], -[[,#sx....#,,,,,,,]], -[[,###...X#,;;;;;,]], -[[,#.+..,.,,;~~~;,]], -[[,#####X,,,;;;;;,]], -[[,,,,,,,,,,,,,,,,]], +[[,#2x.;,.x.6,X.X,]], +[[,###.,,.####XXX,]], +[[,#3x.;,.#.5.1.#,]], +[[,###.;;.###x###,]], +[[,#sx..,,#;;;;;;;]], +[[,###.,,X#;;~~~;;]], +[[,#4x..,.,;;~~~;;]], +[[,#####X,,;;~~~;;]], +[[,,,,,,,,,;;;;;;;]], } -- GitLab