From 447c1a773c2706282826283a1cdc2ee6fe46ff4f Mon Sep 17 00:00:00 2001 From: Linus Probert Date: Thu, 7 Mar 2019 15:31:09 +0100 Subject: [PATCH] Monster shopkeeper logic --- data/monstergen.lua | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/data/monstergen.lua b/data/monstergen.lua index 3faba59..3adb5b9 100644 --- a/data/monstergen.lua +++ b/data/monstergen.lua @@ -106,6 +106,13 @@ local stats = { atk = 0, def = 0, speed = 1 + }, + shopkeeper = { + hp = 100, + dmg = 10, + atk = 2, + def = 0, + speed = 1 } } @@ -266,10 +273,21 @@ local eastereggs = { { stats.misc, 0*16, 7*16, "Adnis, the Ranger", behaviour.passive }, { stats.misc, 7*16, 8*16, "Ti, the Mage", behaviour.passive }, } + for i=1,#eastereggs do eastereggs[i] = concat({ texturePaths.player0, texturePaths.player1 }, eastereggs[i]) end +local shopkeeper = { + texturePaths.humanoid1, + texturePaths.humanoid2, + stats.shopkeeper, + 12*16, + 16, + "The Trader", + behaviour.passive +} + -- Add Platino table.insert(eastereggs, { texturePaths.reptile0, @@ -384,6 +402,24 @@ function module.add_boss_to_room(room, roomx, roomy) end end +function module.add_shopkeeper_to_room(room, roomx, roomy) + local success = false + while not success do + local rx = random(13) + 1 + local ry = random(9) + 1 + if room_builder.is_tile_avilable(room, rx, ry) then + local x = (roomx * 512) + rx * 32 + local y = (roomy * 384) + ry * 32 + room.monsters[rx][ry] = { + x, + y, + shopkeeper + } + success = true + end + end +end + function module.load_monsters(map, monsters) for i=0,15 do for j=0,11 do