Code: Select all
setStatusAll{no_teleport=true}
local Talents = require("engine.interface.ActorTalents")
defineTile('.', "FLOOR")
defineTile('!', "DOOR_VAULT", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
defineTile('+', "DOOR")
defineTile('x', "WALL")
defineTile('t', "TREE")
defineTile('X', "HARDWALL")
defineTile('H', "FLOOR", nil, {random_filter={add_levels=10, subtype = "minotaur"}})
defineTile('a', "FLOOR", nil, {random_filter={type = "animal"}})
defineTile('L', "FLOOR", {random_filter={add_levels=15, tome_mod="gvault"}})
defineTile('$', "FLOOR", {random_filter={add_levels=25, type="money"}})
defineTile('~', "DEEP_WATER")
defineTile('-', mod.class.Grid.new{
define_as = "OPENWALL",
name = "ledge",
display = '#', color_r=255, color_g=255, color_b=255, back_color=colors.DARK_GREY,
does_block_move = true,
block_sight = false,
pass_projectile = true,
})
defineTile('#', mod.class.Grid.new{
define_as = "OPENWALL",
name = "bed",
display = '#', color_r=200, color_g=200, color_b=0, back_color=colors.DARK_GREY,
does_block_move = true,
block_sight = false,
pass_projectile = true,
})
defineTile('%', mod.class.Grid.new{
define_as = "OPENWALL",
name = "fence",
display = '#', color_r=255, color_g=255, color_b=0, back_color=colors.DARK_GREY,
does_block_move = true,
block_sight = false,
pass_projectile = true,
})
defineTile('h', "FLOOR", nil, mod.class.NPC.new{
type = "humanoid", subtype = "halfling",
display = "p", color=colors.GOLD,
name = "halfling beastmaster",
faction = "enemies", hard_faction = "enemies",
body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
desc = [[A halfling with a sling that commands the beasts]],
level_range = {10, 50}, exp_worth = 1,
rank = 2,
size_category = 2,
autolevel = "warriormage",
ai = "dumb_talented_simple", ai_state = { talent_in=4, },
stats = { str=12, dex=18, mag=6, con=10 },
max_life = resolvers.rngavg(140,170),
combat_armor = 4, combat_def = 14,
resolvers.equip{
resolvers.equip{ {type="weapon", subtype="sling", autoreq=true}, {type="ammo", subtype="shot", autoreq=true} },
},
resolvers.talents{
[Talents.T_SHOOT]=1,
[Talents.T_STEADY_SHOT]=4,
[Talents.T_CRIPPLING_SHOT]=4,
[Talents.T_SLING_MASTERY]=7,
},
}
)
startx = 0
starty = 6
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
return {
[[XXXXXXXXXXXXXXX!!XXXXXXXXXXXXXXXX]],
[[X.............x..x..........H...X]],
[[X....h....H...x..x.........h....X]],
[[X..x--xx--....-..-....--xx--xx..X]],
[[X..x.....-..h.-..-..h.-......x..X]],
[[X..-...a.x....x..x....x......-h.X]],
[[Xh.-.a...xx--xx..xx--xx...a..-..X]],
[[X..x....~~~~~....a.~~~~~.....x..X]],
[[X..x--..~...~..H...~...~...--x..X]],
[[X....-..~.t.~....H.~.tH~...-....X]],
[[Xh...-..~...~...a..~...~...-..H.X]],
[[X..x.-..~~~~~......~~~~~.a.-.x..X]],
[[X.Hx.-..~...~.h.H..~.H.~...-.x..X]],
[[X..-...h~.t.~......~.t.~h....-h.X]],
[[Xh.-....~...~...H..~...~.....-..X]],
[[X..x.a..~~~~~......~~~~~.....x..X]],
[[X..x....XXXXXXX++XXXXXXX.....x..X]],
[[X..-....X..h.X....X.L$.X.....-..X]],
[[X..-....X..##X....XL.L.X.....-..X]],
[[X..x....X..h.X....X.L$.X.....x..X]],
[[X..x....X..##X....XHh$LX.....x..X]],
[[X..-..h.X..h.X....X.LL.X..H..-.HX]],
[[X..-....X..##X....XH$.LX.....-..X]],
[[X..x..H.X..H.X.HH.X.Lh$X...t.x..X]],
[[X..x....X..##Xh..hX...LX..h..x..X]],
[[Xh.-....XH...X.HH.X.H..X.....-..X]],
[[X..-....X++XXX....XXX++X..t..-h.X]],
[[X..x....X...H......H...X+%%%%x..X]],
[[X..x..t.X..h........h..X...a.x..X]],
[[X..-....XXXXXX....XXXXXX.aaa.-..X]],
[[X.h-.HH.XL.L$X....XL.L$X.aaa.-h.X]],
[[X..x..h.X.H..X....X..H.Xaa..ax..X]],
[[X..xx...X.h..+....+..h.X.aa.xx..X]],
[[X...xx--XXXXXXXXXXXXXXXXxx--x...X]],
[[X.....h..........H........h.....X]],
[[X..............h....h...........X]],
[[XXXXXXXXXXXXXXxxxxXXXXXXXXXXXXXXX]],
}