diff --git a/game/engines/default/engine/tilemaps/Tilemap.lua b/game/engines/default/engine/tilemaps/Tilemap.lua index 47595f0c00b01851efb923b4301847c6e80fb3f6..2cd07dd7e163f4cbc3d14af85babc4efca04dbba 100644 --- a/game/engines/default/engine/tilemaps/Tilemap.lua +++ b/game/engines/default/engine/tilemaps/Tilemap.lua @@ -1592,12 +1592,13 @@ end local binpack_meta --- Make a point data, can be added -function _M:binpack(margin_x, margin_y, maps) +function _M:binpack(size_x, size_y, margin_x, margin_y, maps) margin_x, margin_y = margin_x or 1, margin_y or 1 + size_x, size_y = size_x or self.data_w, size_y or self.data_h local binpack = require('binpack') - local bp = binpack(self.data_w, self.data_h) + local bp = binpack(size_x, size_y) local maps = maps or {} - local g = {into=self, maps={}, bp=bp, default_margin_x=margin_x, default_margin_y=margin_y} + local g = {into=self, maps={}, bp=bp, default_margin_x=margin_x, default_margin_y=margin_y, size_x=size_x, size_y=size_y} for _, m in ipairs(maps) do g.maps[m] = { margin_x = margin_x, @@ -1622,7 +1623,7 @@ binpack_meta = { return self end, compute = function(self, sort) - self.bp:clear(self.into.data_w, self.into.data_h) + self.bp:clear(self.size_x, self.size_y) local list = {} for map, params in pairs(self.maps) do params.computed, params.pos = nil, nil @@ -1668,8 +1669,15 @@ binpack_meta = { self.merged_maps[#self.merged_maps+1] = map end end end, - hasMerged = function(map) - return self.maps[map] and self.maps[map].computed and self.maps[map].pos + hasMerged = function(self, map) + if map then + return self.maps[map] and self.maps[map].computed and self.maps[map].pos + else + for map, params in pairs(self.maps) do + if map.required_to_merge and not params.computed then return false end + end + return true + end end, getMerged = function(self) return self.merged_maps diff --git a/game/modules/tome/data/general/npcs/minor-demon.lua b/game/modules/tome/data/general/npcs/minor-demon.lua index ac9ae743873d903230e7b3f44017ee9079c682e9..6c177856309ad1c98023325b8c5efe608576a847 100644 --- a/game/modules/tome/data/general/npcs/minor-demon.lua +++ b/game/modules/tome/data/general/npcs/minor-demon.lua @@ -92,9 +92,10 @@ newEntity{ base = "BASE_NPC_DEMON", name = "onilug", color=colors.GREY, desc = _t[[A gaunt vaguely humanoid shape featuring unadorned grey leathery skin. Its arms and legs seem somehow too long and it stands toll, projecting an ominous shadow even in darkness. Its glowing red eyes shiny with both cruelty and a deep frightening intellect.]], + resolvers.nice_tile{tall=1}, level_range = {10, nil}, exp_worth = 1, rarity = 1, - rank = 2, + rank = 3, size_category = 3, autolevel = "caster", combat_armor = 0, combat_def = 0, diff --git a/game/modules/tome/data/gfx/shockbolt/npc/demon_minor_onilug.png b/game/modules/tome/data/gfx/shockbolt/npc/demon_minor_onilug.png new file mode 100644 index 0000000000000000000000000000000000000000..cd66f1b65839616ba444b19e9d02bc79d039dfaa Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/npc/demon_minor_onilug.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/control_gem.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/control_gem.png new file mode 100644 index 0000000000000000000000000000000000000000..b7755cc4588e7a3d72f4e6c7cda06fa4c151f03f Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/control_gem.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/control_gem_shattered.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/control_gem_shattered.png new file mode 100644 index 0000000000000000000000000000000000000000..164089f733863ccb1ca376e1c7de086edefd8351 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/control_gem_shattered.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/crystalline_tablets.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/crystalline_tablets.png new file mode 100644 index 0000000000000000000000000000000000000000..46e6dceb1528060581b84dac70cdccb05befa537 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/crystalline_tablets.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block1.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block1.png new file mode 100644 index 0000000000000000000000000000000000000000..7b7ab78dfd888a5e9dfbe90dc61065a730fa7b86 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block10.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block10.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd5abdcebc7e56545e1b8675dc7e8ff4c7303fd Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block10.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block11.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block11.png new file mode 100644 index 0000000000000000000000000000000000000000..0e34598667858b92c5f84212f9c592b65ced793f Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block11.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block12.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block12.png new file mode 100644 index 0000000000000000000000000000000000000000..5005888b29921020944ead5a2ac0c9d0bb8ecb37 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block12.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block13.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block13.png new file mode 100644 index 0000000000000000000000000000000000000000..9499d75bfa63a5f67574b877136b99b00f059f3b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block13.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block14.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block14.png new file mode 100644 index 0000000000000000000000000000000000000000..0d045b179f46918a28436993ac170634c7c0e4a4 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block14.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block15.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block15.png new file mode 100644 index 0000000000000000000000000000000000000000..6cbeb1b9912dceb2dfb2e65871d87e5e72117af9 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block15.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block16.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block16.png new file mode 100644 index 0000000000000000000000000000000000000000..e3db175e634836a55ab3ecb0d3dd5148c9511ea3 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block16.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block17.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block17.png new file mode 100644 index 0000000000000000000000000000000000000000..be1bbbd1f68779358ab5b64742be1cf421b7a538 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block17.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block18.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block18.png new file mode 100644 index 0000000000000000000000000000000000000000..9f13ca83de93a93bb2706b97116cc9fe25fcebe8 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block18.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block19.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block19.png new file mode 100644 index 0000000000000000000000000000000000000000..7473b07783ccdf035427a00e80da85972a7e09a5 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block19.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block2.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block2.png new file mode 100644 index 0000000000000000000000000000000000000000..ab2a90efac562f8cc315cb9a0748bbe4a70d4a57 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block2.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block20.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block20.png new file mode 100644 index 0000000000000000000000000000000000000000..4301834da74b5e3b97d0f04ff27dd0ea2e4be162 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block20.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block21.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block21.png new file mode 100644 index 0000000000000000000000000000000000000000..5b3b2095543b551e8ac20243a2428d9714cee633 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block21.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block3.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block3.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed370ed7588bc1335e686fb93159cce200685b5 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block3.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block4.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block4.png new file mode 100644 index 0000000000000000000000000000000000000000..40f4b0b0cac985e518cf35df72ece01102ec312f Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block4.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block5.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block5.png new file mode 100644 index 0000000000000000000000000000000000000000..a646579f2411615acdbe1b9fc4d8003b57cc407b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block5.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block6.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block6.png new file mode 100644 index 0000000000000000000000000000000000000000..01ef84ad6854ca63bb3d78b0f51ffc31fe137fa2 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block6.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block7.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block7.png new file mode 100644 index 0000000000000000000000000000000000000000..032b8169d13f7d7a7038e28d42b1aa139e839819 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block7.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block8.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block8.png new file mode 100644 index 0000000000000000000000000000000000000000..4fde0063c628a112a87d25c4ddccdc9096f59747 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block8.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block9.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block9.png new file mode 100644 index 0000000000000000000000000000000000000000..00593cf370fb02e54c2e1adac91d2158d6b3a02a Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_block9.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_closed_doors1.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_closed_doors1.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5b2d8b8b684809e2cc8479d93ba430416631f5 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_closed_doors1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_open_vert.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_open_vert.png new file mode 100644 index 0000000000000000000000000000000000000000..f634970ae066793cf44d80db11245ecf98ec8ddd Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_open_vert.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_open_vert_north.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_open_vert_north.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5c5189691579f522e108d072ef787f80ff130c Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_open_vert_north.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_vert.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_vert.png new file mode 100644 index 0000000000000000000000000000000000000000..4e9ea7a6e5bcb3e753a7d1928a62c4016bce666e Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_vert.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_vert_north.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_vert_north.png new file mode 100644 index 0000000000000000000000000000000000000000..435ef1375760ce9b959df55d0cfd7b1aed6c40c8 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_door1_vert_north.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore1.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore1.png new file mode 100644 index 0000000000000000000000000000000000000000..0a34c00c79ce45aeeb4057e92bc72dfbbf44bd43 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore2.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore2.png new file mode 100644 index 0000000000000000000000000000000000000000..bb86c54c51299f8cc21b671999c1f42bb01eec0d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore2.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore3.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore3.png new file mode 100644 index 0000000000000000000000000000000000000000..b45867eeacc484c194c446839e2fa0fadb15a2f9 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore3.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore4.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore4.png new file mode 100644 index 0000000000000000000000000000000000000000..8a3aa3ab3c751969e621204ce1293911136ed243 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore4.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore5.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore5.png new file mode 100644 index 0000000000000000000000000000000000000000..f2368e81f6efdeaef046adabdb9c971774231fc8 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore5.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore6.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore6.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc0e368e5eabb0c47a6d0d402ce26267ba258ad Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_lore6.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_open_doors1.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_open_doors1.png new file mode 100644 index 0000000000000000000000000000000000000000..3842e47a59dda0b54919759c07fe490f24161e8c Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_open_doors1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_down1.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_down1.png new file mode 100644 index 0000000000000000000000000000000000000000..c18f0bb2f02c2718c61d5cbcefa136e4577a9485 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_down1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_down2.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_down2.png new file mode 100644 index 0000000000000000000000000000000000000000..b4379cb747ccd41599e884759ee6980d05af6916 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_down2.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_exit_1_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_exit_1_01.png new file mode 100644 index 0000000000000000000000000000000000000000..8447f21322063b85f5468e6dbdd539d54cf5985b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_exit_1_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_up1.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_up1.png new file mode 100644 index 0000000000000000000000000000000000000000..6da8c48b849a9523118d5e6ff8c3125222367b5e Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_up1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_up2.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_up2.png new file mode 100644 index 0000000000000000000000000000000000000000..48eb7bd2d630951daff564fc87a795ec9fa35274 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_stairs_up2.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block1.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block1.png new file mode 100644 index 0000000000000000000000000000000000000000..ed51615fb15c402b12559837d184bbbdbef6bb8c Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block10.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block10.png new file mode 100644 index 0000000000000000000000000000000000000000..c266b6f5a233a4a02327f537b429166646722206 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block10.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block2.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block2.png new file mode 100644 index 0000000000000000000000000000000000000000..810c8c33cbd400f1f63a8676cce78ff1202b29f0 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block2.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block3.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block3.png new file mode 100644 index 0000000000000000000000000000000000000000..3ebb90715970dc40cf58b5b87ca6f4cb3abe3270 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block3.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block4.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block4.png new file mode 100644 index 0000000000000000000000000000000000000000..937ae000f9ab2008e21a96300253b4884afc1929 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block4.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block5.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block5.png new file mode 100644 index 0000000000000000000000000000000000000000..c8fc08b322a6f5dbf0f8430aefa9095455e000e1 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block5.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block6.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block6.png new file mode 100644 index 0000000000000000000000000000000000000000..6139d07a4778b51f706c4dcc4707bfc6a72c260f Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block6.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block7.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block7.png new file mode 100644 index 0000000000000000000000000000000000000000..4d8c85a6a1d809f1c1fd4baff70bc09980f3d6e6 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block7.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block8.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block8.png new file mode 100644 index 0000000000000000000000000000000000000000..82eb363352d0f1c0a0ddb3617741c4fdc54baf24 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block8.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block9.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block9.png new file mode 100644 index 0000000000000000000000000000000000000000..119ce01e31d562f20502f13f8dd383c7f31b437c Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_top_block9.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall1.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall1.png new file mode 100644 index 0000000000000000000000000000000000000000..e412bd8aa7e2b3a6b3b19fb4bab13847eb8edf3a Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall10.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall10.png new file mode 100644 index 0000000000000000000000000000000000000000..37b8ff2a86ad1e7320fdbfdd68e73eb0c7523d62 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall10.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall11.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall11.png new file mode 100644 index 0000000000000000000000000000000000000000..bdc4531aaa508f0d72ce1d43bfaac893f7a45507 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall11.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall12.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall12.png new file mode 100644 index 0000000000000000000000000000000000000000..e62a427804d54a6af8178cc736feac192c096463 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall12.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall13.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall13.png new file mode 100644 index 0000000000000000000000000000000000000000..637c7482b951f9fb538e7b2d0abd1f856cdbc750 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall13.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall14.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall14.png new file mode 100644 index 0000000000000000000000000000000000000000..6009e7a7c3da467982a2b8b91b1c4e302efe9946 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall14.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall15.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall15.png new file mode 100644 index 0000000000000000000000000000000000000000..974ba20ce6be4bd850d4ba4daa97c3d8d22e3c2f Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall15.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall16.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall16.png new file mode 100644 index 0000000000000000000000000000000000000000..1ad8aa56cf6c8ee611b9be837c0aadd237462adc Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall16.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall17.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall17.png new file mode 100644 index 0000000000000000000000000000000000000000..0f62ef68c9e0931402188c803da536cca2d27418 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall17.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall18.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall18.png new file mode 100644 index 0000000000000000000000000000000000000000..efe7d2d086a4988648d6466e7b4542a5e1545b33 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall18.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall19.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall19.png new file mode 100644 index 0000000000000000000000000000000000000000..5c87a92003cd746653020340b09213e2f3ce36f3 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall19.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall2.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall2.png new file mode 100644 index 0000000000000000000000000000000000000000..35ae561fa2d763d5d31e196c0a7d946a709a8ce0 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall2.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall20.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall20.png new file mode 100644 index 0000000000000000000000000000000000000000..71cd6211272f6250d7ce470063552f1260a57c19 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall20.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall21.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall21.png new file mode 100644 index 0000000000000000000000000000000000000000..3462cbe9ba0b30386e10f8353e9c1b64d43c1e29 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall21.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall22.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall22.png new file mode 100644 index 0000000000000000000000000000000000000000..c16ddd0496ae885bc601275d680f2a84d4fb0c7c Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall22.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall23.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall23.png new file mode 100644 index 0000000000000000000000000000000000000000..7fa697d4a3314f61232b345cca0ba6888751258f Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall23.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall24.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall24.png new file mode 100644 index 0000000000000000000000000000000000000000..4a10370028047451287ab520f41f1d09d9d46c8c Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall24.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall25.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall25.png new file mode 100644 index 0000000000000000000000000000000000000000..a546e812bdd7d2aa8e7b56f6eda8633b5522794e Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall25.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall26.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall26.png new file mode 100644 index 0000000000000000000000000000000000000000..5ab45ae421abb8d7bee8f47b4204a8fa8b63333b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall26.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall27.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall27.png new file mode 100644 index 0000000000000000000000000000000000000000..fa4961ae03ff50d2068c29495f7967d84d333515 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall27.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall28.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall28.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0d92f0fd912814d9a3d75436fdb867ccc37c05 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall28.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall29.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall29.png new file mode 100644 index 0000000000000000000000000000000000000000..b1ec1e31c8d2088bd4c1e492b9306f6a7ee09b16 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall29.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall3.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall3.png new file mode 100644 index 0000000000000000000000000000000000000000..f664aac80d92b74da0df92f763e614c5699f4342 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall3.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall30.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall30.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf013acaf0a510498928c10c62cb6a4f20be471 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall30.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall31.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall31.png new file mode 100644 index 0000000000000000000000000000000000000000..bff970d55bf3e5ea42dc75e6d7465bae42f6da52 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall31.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall32.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall32.png new file mode 100644 index 0000000000000000000000000000000000000000..b52ff28f711df1dd5296e6e821d77b5030bcf7fe Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall32.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall33.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall33.png new file mode 100644 index 0000000000000000000000000000000000000000..d642df032b1a76c25a6afe25e3fdcf5f7cf33249 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall33.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall34.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall34.png new file mode 100644 index 0000000000000000000000000000000000000000..a8bfd7da1fa41d9f0ea26ef165a6e3b5149004b6 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall34.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall35.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall35.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e3935fafc5ddf611a97cfc07371e357e611b77 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall35.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall36.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall36.png new file mode 100644 index 0000000000000000000000000000000000000000..918bba1737c8f0d0ea0b3a617160996bba8a394d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall36.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall4.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall4.png new file mode 100644 index 0000000000000000000000000000000000000000..cbadb0c5eafc5262bd09e278bc9b52a75d50329b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall4.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall5.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall5.png new file mode 100644 index 0000000000000000000000000000000000000000..1e80bb9dd09dc73700104df1aff87e32b629e4d9 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall5.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall6.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall6.png new file mode 100644 index 0000000000000000000000000000000000000000..ba82d20438dc167dca73415cd0cb770fbcbbe41c Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall6.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall7.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall7.png new file mode 100644 index 0000000000000000000000000000000000000000..fd7ceb6c22add395f4cee3b13655240b54abc74a Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall7.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall8.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall8.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4cc0ff16416739a6f4595aa27b376b3271ca70 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall8.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall9.png b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall9.png new file mode 100644 index 0000000000000000000000000000000000000000..54107724bc2d5a002c80f5547385502c5692efb6 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/malrok_wall/malrok_wall_wall9.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/planar_demon_portal_ground_down.png b/game/modules/tome/data/gfx/shockbolt/terrain/planar_demon_portal_ground_down.png new file mode 100644 index 0000000000000000000000000000000000000000..2dfe2f66f7e7e1897533416872e0b697d40d928d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/planar_demon_portal_ground_down.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/planar_demon_portal_ground_up.png b/game/modules/tome/data/gfx/shockbolt/terrain/planar_demon_portal_ground_up.png new file mode 100644 index 0000000000000000000000000000000000000000..a39ce81109859d9379db52d393860525b3fc6556 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/planar_demon_portal_ground_up.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/planar_demon_vortex.png b/game/modules/tome/data/gfx/shockbolt/terrain/planar_demon_vortex.png new file mode 100644 index 0000000000000000000000000000000000000000..b9e768c31534c85312b5128d67a603cb573551f1 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/planar_demon_vortex.png differ diff --git a/game/modules/tome/data/mapscripts/lib/connect_rooms_multi.lua b/game/modules/tome/data/mapscripts/lib/connect_rooms_multi.lua index 8cde283ed410a42e1d548ffbbad56c69bea68f98..ea01f5411d85fabf40a67a48b3934347eead8370 100644 --- a/game/modules/tome/data/mapscripts/lib/connect_rooms_multi.lua +++ b/game/modules/tome/data/mapscripts/lib/connect_rooms_multi.lua @@ -24,20 +24,26 @@ local MST = require "engine.algorithms.MST" local max_links = args.max_links or 3 local map = args.map -local rooms = args.rooms +local orooms = args.rooms -if #rooms <= 1 then return true end -- Easy ! local mstrun = MST.new() +-- Extract usable rooms +local rooms = {} +for i, room in ipairs(orooms) do if not room.do_not_connect then + rooms[#rooms+1] = room +end end +if #rooms <= 1 then return true end -- Easy ! + -- Generate all possible edges -for i, room in ipairs(rooms) do if not room.do_not_connect then +for i, room in ipairs(rooms) do local c = room:centerPoint() for j, proom in ipairs(rooms) do if proom ~= room then local c1, c2 = room:centerPoint(), proom:centerPoint() mstrun:edge(room, proom, core.fov.distance(c1.x, c1.y, c2.x, c2.y)) end end -end end +end -- Compute! mstrun:run()