diff --git a/game/engines/default/engine/Target.lua b/game/engines/default/engine/Target.lua index d826ca022422e91e2c3af4edf76c6ffedf4ef364..4ae6fbbcdb80f39c5d5735506606525516fd9ea6 100644 --- a/game/engines/default/engine/Target.lua +++ b/game/engines/default/engine/Target.lua @@ -113,7 +113,7 @@ function _M:display(dispx, dispy) end while lx and ly do - if not stopped then + if not stopped then block, hit, hit_radius = false, true, true if self.target_type.block_path then block, hit, hit_radius = self.target_type:block_path(lx, ly, true) diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua index 7511881f22002ede63a6d68804c179c8496bbc73..1299cfe6ba345b7cbd07799d8cdc6cf4a1641caf 100644 --- a/game/modules/tome/class/Game.lua +++ b/game/modules/tome/class/Game.lua @@ -1110,7 +1110,8 @@ function _M:setupCommands() end end end end, [{"_g","ctrl"}] = function() if config.settings.cheat then - game.player:setEffect(game.player.EFF_FROZEN, 10, {hp=rng.range(10,100)}) + game:changeLevel(1,"town-irkkk") +-- SET ui.Inventory into ShowStore & ShowInventory end end, [{"_f","ctrl"}] = function() if config.settings.cheat then self.player.quests["love-melinda"] = nil diff --git a/game/modules/tome/class/NicerTiles.lua b/game/modules/tome/class/NicerTiles.lua index b44081c83ec693155154c6feee8bad5b35d7e64d..11c97dfe6e743f99360fe201d24e8c2b3dd6964f 100644 --- a/game/modules/tome/class/NicerTiles.lua +++ b/game/modules/tome/class/NicerTiles.lua @@ -200,6 +200,32 @@ function _M:niceTileWall3d(level, i, j, g, nt) end end +function _M:niceTileSingleWall(level, i, j, g, nt) + local type = nt.type + local kind = nt.use_subtype and "subtype" or "type" + local g5 = level.map:checkEntity(i, j, Map.TERRAIN, kind) or type + local g8 = level.map:checkEntity(i, j-1, Map.TERRAIN, kind) or type + local g2 = level.map:checkEntity(i, j+1, Map.TERRAIN, kind) or type + local g4 = level.map:checkEntity(i-1, j, Map.TERRAIN, kind) or type + local g6 = level.map:checkEntity(i+1, j, Map.TERRAIN, kind) or type + + if g5 ~= g4 and g5 == g6 and g5 == g8 and g5 == g2 then self:replace(i, j, self:getTile(nt["e_cross"])) + elseif g5 == g4 and g5 ~= g6 and g5 == g8 and g5 == g2 then self:replace(i, j, self:getTile(nt["w_cross"])) + elseif g5 == g4 and g5 == g6 and g5 ~= g8 and g5 == g2 then self:replace(i, j, self:getTile(nt["s_cross"])) + elseif g5 == g4 and g5 == g6 and g5 == g8 and g5 ~= g2 then self:replace(i, j, self:getTile(nt["n_cross"])) + + elseif g5 ~= g4 and g5 == g6 and g5 == g8 and g5 ~= g2 then self:replace(i, j, self:getTile(nt["ne"])) + elseif g5 == g4 and g5 ~= g6 and g5 == g8 and g5 ~= g2 then self:replace(i, j, self:getTile(nt["nw"])) + elseif g5 ~= g4 and g5 == g6 and g5 ~= g8 and g5 == g2 then self:replace(i, j, self:getTile(nt["se"])) + elseif g5 == g4 and g5 ~= g6 and g5 ~= g8 and g5 == g2 then self:replace(i, j, self:getTile(nt["sw"])) + + elseif g5 == g4 and g5 == g6 and g5 == g8 and g5 == g2 then self:replace(i, j, self:getTile(nt["cross"])) + + elseif g5 ~= g4 and g5 ~= g6 and g5 == g8 and g5 == g2 then self:replace(i, j, self:getTile(nt["v_full"])) + elseif g5 == g4 and g5 == g6 and g5 ~= g8 and g5 ~= g2 then self:replace(i, j, self:getTile(nt["h_full"])) + end +end + --- Make walls have a pseudo 3D effect & rounded corners function _M:niceTileRoundwall3d(level, i, j, g, nt) local s = level.map:checkEntity(i, j, Map.TERRAIN, "type") or "wall" @@ -365,6 +391,22 @@ grass_wm = { method="borders", type="grass", forbid={lava=true}, water7i={add_mos={{image="terrain/grass/grass_inner_7_%02d.png", display_x=-1, display_y=-1}}, min=1, max=1}, water9i={add_mos={{image="terrain/grass/grass_inner_9_%02d.png", display_x=1, display_y=-1}}, min=1, max=1}, }, +jungle_grass = { method="borders", type="jungle_grass", forbid={lava=true, rock=true, grass=true}, + default8={add_mos={{image="terrain/jungle/jungle_grass_2_%02d.png", display_y=-1}}, min=1, max=5}, + default2={add_mos={{image="terrain/jungle/jungle_grass_8_%02d.png", display_y=1}}, min=1, max=5}, + default4={add_mos={{image="terrain/jungle/jungle_grass_6_%02d.png", display_x=-1}}, min=1, max=5}, + default6={add_mos={{image="terrain/jungle/jungle_grass_4_%02d.png", display_x=1}}, min=1, max=4}, + + default1={add_mos={{image="terrain/jungle/jungle_grass_9_%02d.png", display_x=-1, display_y=1}}, min=1, max=3}, + default3={add_mos={{image="terrain/jungle/jungle_grass_7_%02d.png", display_x=1, display_y=1}}, min=1, max=3}, + default7={add_mos={{image="terrain/jungle/jungle_grass_3_%02d.png", display_x=-1, display_y=-1}}, min=1, max=3}, + default9={add_mos={{image="terrain/jungle/jungle_grass_1_%02d.png", display_x=1, display_y=-1}}, min=1, max=3}, + + default1i={add_mos={{image="terrain/jungle/jungle_grass_inner_1_%02d.png", display_x=-1, display_y=1}}, min=1, max=3}, + default3i={add_mos={{image="terrain/jungle/jungle_grass_inner_3_%02d.png", display_x=1, display_y=1}}, min=1, max=3}, + default7i={add_mos={{image="terrain/jungle/jungle_grass_inner_7_%02d.png", display_x=-1, display_y=-1}}, min=1, max=3}, + default9i={add_mos={{image="terrain/jungle/jungle_grass_inner_9_%02d.png", display_x=1, display_y=-1}}, min=1, max=3}, +}, sand = { method="borders", type="sand", forbid={grass=true, lava=true,}, default8={add_mos={{image="terrain/sand/sand_2_%02d.png", display_y=-1}}, min=1, max=5}, default2={add_mos={{image="terrain/sand/sand_8_%02d.png", display_y=1}}, min=1, max=5}, @@ -754,6 +796,34 @@ function _M:editTileSandWalls_def(level, i, j, g, nt) self:editTileGenericSandWalls(level, i, j, g, defs[nt.def], defs[nt.def].type or "grass") end +function _M:editTileSingleWall(level, i, j, g, nt, type) + type = type or nt.type + local kind = nt.use_subtype and "subtype" or "type" + local g5 = level.map:checkEntity(i, j, Map.TERRAIN, kind) or type + local g8 = level.map:checkEntity(i, j-1, Map.TERRAIN, kind) or type + local g2 = level.map:checkEntity(i, j+1, Map.TERRAIN, kind) or type + local g4 = level.map:checkEntity(i-1, j, Map.TERRAIN, kind) or type + local g6 = level.map:checkEntity(i+1, j, Map.TERRAIN, kind) or type + + local id = "swv:"..table.concat({g.define_as or "--",type,tostring(g1==g5),tostring(g2==g5),tostring(g8==g5),tostring(g4==g5),tostring(g6==g5)}, ",") + + if g5 ~= g4 and g5 == g6 and g5 == g8 and g5 == g2 then self:edit(i, j, id, nt["e_cross"]) + elseif g5 == g4 and g5 ~= g6 and g5 == g8 and g5 == g2 then self:edit(i, j, id, nt["w_cross"]) + elseif g5 == g4 and g5 == g6 and g5 ~= g8 and g5 == g2 then self:edit(i, j, id, nt["s_cross"]) + elseif g5 == g4 and g5 == g6 and g5 == g8 and g5 ~= g2 then self:edit(i, j, id, nt["n_cross"]) + + elseif g5 ~= g4 and g5 == g6 and g5 == g8 and g5 ~= g2 then self:edit(i, j, id, nt["ne"]) + elseif g5 == g4 and g5 ~= g6 and g5 == g8 and g5 ~= g2 then self:edit(i, j, id, nt["nw"]) + elseif g5 ~= g4 and g5 == g6 and g5 ~= g8 and g5 == g2 then self:edit(i, j, id, nt["se"]) + elseif g5 == g4 and g5 ~= g6 and g5 ~= g8 and g5 == g2 then self:edit(i, j, id, nt["sw"]) + + elseif g5 == g4 and g5 == g6 and g5 == g8 and g5 == g2 then self:edit(i, j, id, nt["cross"]) + + elseif g5 ~= g4 and g5 ~= g6 and g5 == g8 and g5 == g2 then self:edit(i, j, id, nt["v_full"]) + elseif g5 == g4 and g5 == g6 and g5 ~= g8 and g5 ~= g2 then self:edit(i, j, id, nt["h_full"]) + end +end + -- This array is precomputed, it holds the possible combinations of walls and the nice tile they generate -- The data is bit-encoded local full_wall3d = { diff --git a/game/modules/tome/data/general/grids/jungle.lua b/game/modules/tome/data/general/grids/jungle.lua index 0cd3e3ada8d7937b329dae48499867a0b1d5179c..41384b56a3d944daacef4127f63ea461297b43b9 100644 --- a/game/modules/tome/data/general/grids/jungle.lua +++ b/game/modules/tome/data/general/grids/jungle.lua @@ -17,7 +17,7 @@ -- Nicolas Casalini "DarkGod" -- darkgod@te4.org -local grass_editer = { method="borders_def", def="grass"} +local grass_editer = { method="borders_def", def="jungle_grass"} newEntity{ define_as = "JUNGLE_GRASS", @@ -62,9 +62,106 @@ newEntity{ does_block_move = true, block_sight = true, dig = "GRASS", - nice_tiler = { method="replace", base={"TREE", 100, 1, 30}}, + nice_tiler = { method="replace", base={"JUNGLE_TREE", 100, 1, 30}}, nice_editer = grass_editer, } for i = 1, 30 do - newEntity{ base="TREE", define_as = "TREE"..i, image = "terrain/jungle/jungle_grass_floor_01.png", add_displays = class:makeTrees("terrain/jungle/jungle_tree_", 17, 7)} + newEntity{ base="JUNGLE_TREE", define_as = "JUNGLE_TREE"..i, image = "terrain/jungle/jungle_grass_floor_01.png", add_displays = class:makeTrees("terrain/jungle/jungle_tree_", 17, 7)} end + +----------------------------------------- +-- Grassy exits +----------------------------------------- +newEntity{ + define_as = "JUNGLE_GRASS_UP_WILDERNESS", + type = "floor", subtype = "grass", + name = "exit to the worldmap", image = "terrain/jungle/jungle_grass_floor_01.png", add_mos = {{image="terrain/worldmap.png"}}, + display = '<', color_r=255, color_g=0, color_b=255, + always_remember = true, + notice = true, + change_level = 1, + change_zone = "wilderness", + nice_editer = grass_editer, +} + +newEntity{ + define_as = "JUNGLE_GRASS_UP8", + type = "floor", subtype = "grass", + name = "way to the previous level", image = "terrain/jungle/jungle_grass_floor_01.png", add_mos = {{image="terrain/way_next_8.png"}}, + display = '<', color_r=255, color_g=255, color_b=0, + notice = true, + always_remember = true, + change_level = -1, + nice_editer = grass_editer, +} +newEntity{ + define_as = "JUNGLE_GRASS_UP2", + type = "floor", subtype = "grass", + name = "way to the previous level", image = "terrain/jungle/jungle_grass_floor_01.png", add_mos = {{image="terrain/way_next_2.png"}}, + display = '<', color_r=255, color_g=255, color_b=0, + notice = true, + always_remember = true, + change_level = -1, + nice_editer = grass_editer, +} +newEntity{ + define_as = "JUNGLE_GRASS_UP4", + type = "floor", subtype = "grass", + name = "way to the previous level", image = "terrain/jungle/jungle_grass_floor_01.png", add_mos = {{image="terrain/way_next_4.png"}}, + display = '<', color_r=255, color_g=255, color_b=0, + notice = true, + always_remember = true, + change_level = -1, + nice_editer = grass_editer, +} +newEntity{ + define_as = "JUNGLE_GRASS_UP6", + type = "floor", subtype = "grass", + name = "way to the previous level", image = "terrain/jungle/jungle_grass_floor_01.png", add_mos = {{image="terrain/way_next_6.png"}}, + display = '<', color_r=255, color_g=255, color_b=0, + notice = true, + always_remember = true, + change_level = -1, + nice_editer = grass_editer, +} + +newEntity{ + define_as = "JUNGLE_GRASS_DOWN8", + type = "floor", subtype = "grass", + name = "way to the next level", image = "terrain/jungle/jungle_grass_floor_01.png", add_mos = {{image="terrain/way_next_8.png"}}, + display = '>', color_r=255, color_g=255, color_b=0, + notice = true, + always_remember = true, + change_level = 1, + nice_editer = grass_editer, +} +newEntity{ + define_as = "JUNGLE_GRASS_DOWN2", + type = "floor", subtype = "grass", + name = "way to the next level", image = "terrain/jungle/jungle_grass_floor_01.png", add_mos = {{image="terrain/way_next_2.png"}}, + display = '>', color_r=255, color_g=255, color_b=0, + notice = true, + always_remember = true, + change_level = 1, + nice_editer = grass_editer, +} +newEntity{ + define_as = "JUNGLE_GRASS_DOWN4", + type = "floor", subtype = "grass", + name = "way to the next level", image = "terrain/jungle/jungle_grass_floor_01.png", add_mos = {{image="terrain/way_next_4.png"}}, + display = '>', color_r=255, color_g=255, color_b=0, + notice = true, + always_remember = true, + change_level = 1, + nice_editer = grass_editer, +} +newEntity{ + define_as = "JUNGLE_GRASS_DOWN6", + type = "floor", subtype = "grass", + name = "way to the next level", image = "terrain/jungle/jungle_grass_floor_01.png", add_mos = {{image="terrain/way_next_6.png"}}, + display = '>', color_r=255, color_g=255, color_b=0, + notice = true, + always_remember = true, + change_level = 1, + nice_editer = grass_editer, +} diff --git a/game/modules/tome/data/general/grids/jungle_hut.lua b/game/modules/tome/data/general/grids/jungle_hut.lua new file mode 100644 index 0000000000000000000000000000000000000000..932525e1fdba30f2c8503cb9434f6a72a4fd89d1 --- /dev/null +++ b/game/modules/tome/data/general/grids/jungle_hut.lua @@ -0,0 +1,108 @@ +-- ToME - Tales of Maj'Eyal +-- Copyright (C) 2009, 2010, 2011 Nicolas Casalini +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +-- Nicolas Casalini "DarkGod" +-- darkgod@te4.org + +----------------------------------------- +-- Basic floors +----------------------------------------- +newEntity{ + define_as = "BAMBOO_HUT_FLOOR", + type = "floor", subtype = "bamboo hut", + name = "bamboo hut floor", image = "terrain/bamboo/hut_dirt_floor_01.png", + display = '.', color=colors.UMBER, back_color=colors.DARK_UMBER, + grow = "WALL", +} + +----------------------------------------- +-- Walls +----------------------------------------- +newEntity{ + define_as = "BAMBOO_HUT_WALL", + type = "wall", subtype = "bamboo hut", + name = "bamboo wall", image = "terrain/bamboo/hut_dirt_floor_01.png", + display = '#', color=colors.LIGHT_UMBER, back_color=colors.DARK_UMBER, + always_remember = true, + does_block_move = true, + can_pass = {pass_wall=1}, + block_sight = true, + air_level = -5, + dig = "BAMBOO_HUT_FLOOR", + nice_tiler = { method="singleWall", type="wall", + v_full={"BHW_V_FULL", 100, 1, 1}, + h_full={"BHW_H_FULL", 20, 1, 8}, + n_cross={"BHW_N_CROSS", 100, 1, 1}, + s_cross={"BHW_S_CROSS", 100, 1, 1}, + e_cross={"BHW_E_CROSS", 100, 1, 1}, + w_cross={"BHW_W_CROSS", 100, 1, 1}, + cross={"BHW_CROSS", 100, 1, 1}, + ne={"BHW_NE", 100, 1, 1}, + nw={"BHW_NW", 100, 1, 1}, + se={"BHW_SE", 100, 1, 1}, + sw={"BHW_SW", 100, 1, 1}, + }, +} + +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_V_FULL1", add_displays={class.new{image="terrain/bamboo/hut_wall_full_hor_01.png"}}} + +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_H_FULL", add_displays={class.new{image="terrain/bamboo/hut_wall_bottom_hor_01.png"}, class.new{image="terrain/bamboo/hut_wall_top_hor_01.png", display_y=-1, z=16}}} +local decors = {"wall_decor_skin_b_01","wall_decor_skin_a_01","wall_decor_spears_01","wall_decor_sticks_01","wall_decor_mask_c_01","wall_decor_mask_b_01","wall_decor_mask_a_01","wall_decor_3_masks_01"} +for i = 1, 8 do + newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_H_FULL"..i, add_displays={class.new{image="terrain/bamboo/hut_wall_bottom_hor_01.png", add_mos={{image="terrain/bamboo/"..decors[i]..".png"}}}, class.new{image="terrain/bamboo/hut_wall_top_hor_01.png", display_y=-1, z=16}}} +end + +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_N_CROSS1", add_displays={class.new{image="terrain/bamboo/hut_wall_bottom_hor_01.png"}, class.new{image="terrain/bamboo/hut_corner_vert_south_4_1_2_top_01.png", display_y=-1, z=16, add_mos={{image="terrain/bamboo/hut_wall_top_hor_01.png", display_y=-1}}}}} +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_S_CROSS1", add_displays={class.new{image="terrain/bamboo/hut_wall_bottom_hor_01.png"}, class.new{image="terrain/bamboo/hut_wall_full_hor_01.png", z=16, add_mos={{image="terrain/bamboo/hut_wall_top_hor_01.png", display_y=-1},{image="terrain/bamboo/hut_corner_vert_4_7_8_top_01.png", display_y=-1}}}}} +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_E_CROSS1", add_displays={class.new{z=17, image="terrain/bamboo/hut_wall_full_hor_01.png"}, class.new{image="terrain/bamboo/wall_hor_divider_left_bottom_01.png", z=16, add_mos={{image="terrain/bamboo/wall_hor_divider_left_top_01.png", display_y=-1}}}}} +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_W_CROSS1", add_displays={class.new{z=17, image="terrain/bamboo/hut_wall_full_hor_01.png"}, class.new{image="terrain/bamboo/wall_hor_divider_right_bottom_01.png", z=16, add_mos={{image="terrain/bamboo/wall_hor_divider_right_top_01.png", display_y=-1}}}}} + +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_CROSS1", add_displays={class.new{image="terrain/bamboo/hut_wall_bottom_hor_01.png"}, class.new{image="terrain/bamboo/hut_wall_top_hor_01.png", z=16, display_y=-1, add_mos={{image="terrain/bamboo/hut_wall_full_hor_01.png"},{image="terrain/bamboo/hut_corner_vert_4_7_8_top_01.png", display_y=-1}}}}} + +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_NE1", add_displays={class.new{image="terrain/bamboo/hut_corner_4_1_2_bottom_01.png"}, class.new{image="terrain/bamboo/hut_corner_4_1_2_top_01.png", display_y=-1, z=16}}} +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_NW1", add_displays={class.new{image="terrain/bamboo/hut_corner_6_3_2_bottom_01.png"}, class.new{image="terrain/bamboo/hut_corner_6_3_2_top_01.png", display_y=-1, z=16}}} +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_SE1", add_displays={class.new{image="terrain/bamboo/hut_corner_4_7_8_bottom_01.png"}, class.new{image="terrain/bamboo/hut_corner_4_7_8_top_01.png", display_y=-1, z=16}}} +newEntity{base="BAMBOO_HUT_WALL", define_as="BHW_SW1", add_displays={class.new{image="terrain/bamboo/hut_corner_8_9_6_bottom_01.png"}, class.new{image="terrain/bamboo/hut_corner_8_9_6_top_01.png", display_y=-1, z=16}}} + +----------------------------------------- +-- Doors +----------------------------------------- +newEntity{ + define_as = "BAMBOO_HUT_DOOR", + type = "wall", subtype = "floor", + name = "door", image = "terrain/bamboo/hut_dirt_floor_01.png", + display = '+', color=colors.LIGHT_UMBER, back_color=colors.DARK_UMBER, + nice_tiler = { method="door3d", north_south="BAMBOO_HUT_DOOR_VERT", west_east="BAMBOO_HUT_DOOR_HORIZ" }, + notice = true, + always_remember = true, + block_sight = true, + is_door = true, + door_opened = "BAMBOO_HUT_DOOR_OPEN", + dig = "FLOOR", +} +newEntity{ + define_as = "BAMBOO_HUT_DOOR_OPEN", + type = "wall", subtype = "floor", + name = "open door", image = "terrain/bamboo/hut_dirt_floor_01.png", + display = "'", color=colors.LIGHT_UMBER, back_color=colors.DARK_UMBER, + always_remember = true, + is_door = true, + door_closed = "BAMBOO_HUT_DOOR", +} +newEntity{ base = "BAMBOO_HUT_DOOR", define_as = "BAMBOO_HUT_DOOR_HORIZ", add_displays = {class.new{image="terrain/bamboo/hut_wall_door_closed_hor_01.png", z=17}, class.new{image="terrain/bamboo/hut_wall_top_hor_01.png", z=18, display_y=-1}}, door_opened = "BAMBOO_HUT_DOOR_HORIZ_OPEN"} +newEntity{ base = "BAMBOO_HUT_DOOR_OPEN", define_as = "BAMBOO_HUT_DOOR_HORIZ_OPEN", add_displays = {class.new{image="terrain/bamboo/hut_wall_door_open_hor_01.png", z=17}, class.new{image="terrain/bamboo/hut_wall_top_hor_01.png", z=18, display_y=-1}}, door_closed = "BAMBOO_HUT_DOOR_HORIZ"} +newEntity{ base = "BAMBOO_HUT_DOOR", define_as = "BAMBOO_HUT_DOOR_VERT", add_displays = {class.new{image="terrain/bamboo/palm_door_closed_ver_01.png"}, class.new{image="terrain/bamboo/hut_wall_full_hor_01.png", z=18}}, door_opened = "BAMBOO_HUT_DOOR_OPEN_VERT", dig = "BAMBOO_HUT_DOOR_OPEN_VERT"} +newEntity{ base = "BAMBOO_HUT_DOOR_OPEN", define_as = "BAMBOO_HUT_DOOR_OPEN_VERT", add_displays = {class.new{image="terrain/bamboo/palm_door_open_bottom_ver_01.png"}, class.new{image="terrain/bamboo/palm_door_open_top_ver_01.png", z=18, display_y=-1, add_mos={{image="terrain/bamboo/hut_wall_full_hor_01.png"}}}}, door_closed = "BAMBOO_HUT_DOOR_VERT"} diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_hor_wall_bottom_aligned_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_hor_wall_bottom_aligned_01.png new file mode 100644 index 0000000000000000000000000000000000000000..aeb04760b6d265f0805258a5a61dbb35627c9786 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_hor_wall_bottom_aligned_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_middle_floor_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_middle_floor_01.png new file mode 100644 index 0000000000000000000000000000000000000000..26d11997f816eb9ededbc41a5af290bb669726c6 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_middle_floor_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_vert_wall_aligned_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_vert_wall_aligned_01.png new file mode 100644 index 0000000000000000000000000000000000000000..82f5f9e767139211094fc51f635701ccc8bca5b9 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_vert_wall_aligned_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_vert_wall_aligned_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_vert_wall_aligned_02.png new file mode 100644 index 0000000000000000000000000000000000000000..21d62e335f16dc62c79c53b2b4ca7bc104540556 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/bed_vert_wall_aligned_02.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/floor_deco_cooking_pit_a_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/floor_deco_cooking_pit_a_01.png new file mode 100644 index 0000000000000000000000000000000000000000..e1c1d35c610785168e6a5d0bbeff5253f27721fd Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/floor_deco_cooking_pit_a_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/floor_deco_cooking_pit_b_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/floor_deco_cooking_pit_b_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b503795389ae6af6c79085b8aefd86f45da582de Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/floor_deco_cooking_pit_b_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/floor_deco_cooking_pit_c_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/floor_deco_cooking_pit_c_01.png new file mode 100644 index 0000000000000000000000000000000000000000..55b7e46056ea7d52761786ed47fa9c185ba3ca30 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/floor_deco_cooking_pit_c_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_1_2_bottom_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_1_2_bottom_01.png new file mode 100644 index 0000000000000000000000000000000000000000..68b971b09f70f472c74398135308c0154385addc Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_1_2_bottom_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_1_2_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_1_2_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..6858429fa1f384a9dc4d802f7480b89485cb9257 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_1_2_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_7_8_bottom_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_7_8_bottom_01.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1520f8bd3d7e6913fea38d9b529bc86e43c0ae Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_7_8_bottom_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_7_8_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_7_8_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..85b0a478db6f2d6a96bd2cb4144d9f2b620968fb Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_4_7_8_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_6_3_2_bottom_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_6_3_2_bottom_01.png new file mode 100644 index 0000000000000000000000000000000000000000..3463850c7a31c01a18482b4b91000d2e8971378b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_6_3_2_bottom_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_6_3_2_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_6_3_2_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..474f2ea617075135559ce8d133d209f8ecaa404d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_6_3_2_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_8_9_6_bottom_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_8_9_6_bottom_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b16517dd96648d3895969a6815a06ee4ffeab7f5 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_8_9_6_bottom_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_8_9_6_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_8_9_6_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..d1cb9e8c777cc0826228233152a60ba7449df134 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_8_9_6_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_hor_4_1_2_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_hor_4_1_2_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..2126029b7bcb061319128332f680f764b2f7e426 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_hor_4_1_2_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_hor_6_3_2_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_hor_6_3_2_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..7870aa0496f7cfcca9130d30358af35d60baa789 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_hor_6_3_2_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_4_7_8_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_4_7_8_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..57c9395cd77ca8527f7c749194feb721f5ff2a7b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_4_7_8_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_8_9_6_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_8_9_6_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..92b66396ee67c7cb9b751f610cea19f219354ec4 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_8_9_6_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_south_4_1_2_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_south_4_1_2_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..4e90e88f499a44603765d8e476862d3ab3aab6f2 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_south_4_1_2_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_south_6_3_2_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_south_6_3_2_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..7abe0b6a0629d942c35831e7886fdc5dd097d90e Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_corner_vert_south_6_3_2_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_dirt_floor_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_dirt_floor_01.png new file mode 100644 index 0000000000000000000000000000000000000000..946e11d837e88cbc297590be9551b65fe73ec760 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_dirt_floor_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_bottom_hor_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_bottom_hor_01.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a9a1d53c642e4fb41459179c0c733222566332 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_bottom_hor_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_door_closed_hor_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_door_closed_hor_01.png new file mode 100644 index 0000000000000000000000000000000000000000..07ce76f7f9ce6ee8fc42c9143975920c301e7bf4 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_door_closed_hor_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_door_open_hor_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_door_open_hor_01.png new file mode 100644 index 0000000000000000000000000000000000000000..031e2a9fb61b734d60245d077ecae9303cb16669 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_door_open_hor_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_full_hor_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_full_hor_01.png new file mode 100644 index 0000000000000000000000000000000000000000..736c54fcd2782d29e3055b330328f7d35264a26d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_full_hor_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_top_hor_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_top_hor_01.png new file mode 100644 index 0000000000000000000000000000000000000000..f073732cb8f899f64042a9b9dc3d2b56aee5c071 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/hut_wall_top_hor_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/palm_door_closed_ver_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/palm_door_closed_ver_01.png new file mode 100644 index 0000000000000000000000000000000000000000..8650ae85ce4f982faeec37ebcc0e9156fd9b3114 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/palm_door_closed_ver_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/palm_door_open_bottom_ver_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/palm_door_open_bottom_ver_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b43270571a9fe247101854dbc5884079607571d1 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/palm_door_open_bottom_ver_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/palm_door_open_top_ver_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/palm_door_open_top_ver_01.png new file mode 100644 index 0000000000000000000000000000000000000000..2464e38809193d2534d28bcba830b6f0a0dc771d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/palm_door_open_top_ver_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/south_left_vert_end_bottom_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/south_left_vert_end_bottom_01.png new file mode 100644 index 0000000000000000000000000000000000000000..9de6bdbc99f89d12e8422e156081ce1b1bcbe82d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/south_left_vert_end_bottom_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/south_right_vert_end_bottom_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/south_right_vert_end_bottom_01.png new file mode 100644 index 0000000000000000000000000000000000000000..adec49d8e03771601386d129f32a1cb0b7bd65d8 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/south_right_vert_end_bottom_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/south_right_vert_end_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/south_right_vert_end_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b2ea79df109d4002ee1fe3cbdf4e9fe59e34cbb5 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/south_right_vert_end_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_3_masks_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_3_masks_01.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6ac8d05f2195db151e835d4f06afb942a92c29 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_3_masks_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_mask_a_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_mask_a_01.png new file mode 100644 index 0000000000000000000000000000000000000000..7e57da42b62f421e84877258b6fa1a44348801e3 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_mask_a_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_mask_b_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_mask_b_01.png new file mode 100644 index 0000000000000000000000000000000000000000..865879333a013569fbe82a5dcad4b476b759ff14 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_mask_b_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_mask_c_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_mask_c_01.png new file mode 100644 index 0000000000000000000000000000000000000000..48f03fe89b85221771e3fdddeeb1978f00aaf738 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_mask_c_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_skin_a_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_skin_a_01.png new file mode 100644 index 0000000000000000000000000000000000000000..4fac01bfaa7b8b857e9b4226442fe0a3a6aaee16 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_skin_a_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_skin_b_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_skin_b_01.png new file mode 100644 index 0000000000000000000000000000000000000000..99c4b7c013498c0195392ad8807bd44e80d0b8da Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_skin_b_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_spears_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_spears_01.png new file mode 100644 index 0000000000000000000000000000000000000000..59522e5aab57690717d902c7560717dc1ed32d76 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_spears_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_sticks_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_sticks_01.png new file mode 100644 index 0000000000000000000000000000000000000000..cb350d94f1d858bd618656e9ebc8ea428ecd5203 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_decor_sticks_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_left_bottom_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_left_bottom_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b740862713d2027586fb489baf7bebd48a044540 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_left_bottom_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_left_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_left_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..64186c20449b1b6f891e6c502dd278126a7e05ea Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_left_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_right_bottom_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_right_bottom_01.png new file mode 100644 index 0000000000000000000000000000000000000000..f543d91f27e15f124b7714bebc7687434b902221 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_right_bottom_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_right_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_right_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..da8ef4702d70be30081dd84439bf841e699ed545 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/bamboo/wall_hor_divider_right_top_01.png differ diff --git a/game/modules/tome/data/maps/towns/irkkk.lua b/game/modules/tome/data/maps/towns/irkkk.lua new file mode 100644 index 0000000000000000000000000000000000000000..64d9fe2a966aea42685c9d31c5f31c5554f5268a --- /dev/null +++ b/game/modules/tome/data/maps/towns/irkkk.lua @@ -0,0 +1,97 @@ +-- ToME - Tales of Maj'Eyal +-- Copyright (C) 2009, 2010, 2011 Nicolas Casalini +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +-- Nicolas Casalini "DarkGod" +-- darkgod@te4.org + +startx = 0 +starty = 40 +endx = 0 +endy = 40 + +-- defineTile section +defineTile("#", "BAMBOO_HUT_WALL") +defineTile("+", "BAMBOO_HUT_DOOR") +defineTile("~", "DEEP_WATER") +defineTile("<", "JUNGLE_GRASS_UP_WILDERNESS") +defineTile("_", "BAMBOO_HUT_FLOOR") +defineTile(".", "JUNGLE_GRASS") +defineTile("t", "JUNGLE_TREE") +defineTile("*", "BAMBOO_HUT_COOKING3") + +--defineTile("1", "HARDWALL", nil, nil, "CLOTH_ARMOR_STORE") +--defineTile("2", "HARDWALL", nil, nil, "LIGHT_ARMOR_STORE") +--defineTile("3", "HARDWALL", nil, nil, "STAFF_WEAPON_STORE") +--defineTile("4", "HARDWALL", nil, nil, "SWORD_WEAPON_STORE") +--defineTile("5", "HARDWALL", nil, nil, "RUNEMASTER") +--defineTile("a", "HARDWALL", nil, nil, "ALCHEMIST") + +-- addSpot section + +-- addZone section + +-- ASCII map section +return [[ +~~~~....................t..........ttttttttt...... +~~~................tt...t..................t...tt. +~~~...............ttt....t..t....tt...........tt.. +~~~.....................tttttt....tttttttttt.ttt.. +~~~..........ttt.........ttttttt.ttt....t...tt..t. +~~~.........tttt.....tt...ttt......ttt..........t. +~~~.........tttt.....tt.........t........t..t..... +~~~..........tt......ttttt........t.......ttt..t.. +~~~..........t........tt.tt...ttttt.......t...t... +~~~...................ttt...tt....t.tt...tt...t... +~~~~..................t..t..t....t.......tt...t... +~~~~..................t.t.tt.....tttt...t.t...t... +~~~~~....................t..tt...t..t.tt..t..t.t.. +~~~~~............t........tt.ttt.t...tt...t..t.t.. +~~~~~......................t...ttt....t...t....t.. +~~~~~.............tt........#####tt.t..tt.t.t..t.. +~~~~~~............t.........#___#.tt.t.tt...t..t.. +~~~~~~..........ttt.........#___#...tt.....tt...t. +~~~~~~..........tt..........#___#.t..tt....tt...t. +~~~~~~..........t...........##+##t...t.tt..tt.t.t. +~~~~~~............tt..................t.....t.t.t. +~~~~~.................................t...t.t.t.tt +~~~~~......................____.......t..ttt.t..tt +~~~~~.....................______.......ttt.t.t..t. +~~~~~.....###..#####.....________.....tt.ttttt.tt. +~~~~~.....#_#..#___###...___**___......tt.tt.ttt.. +~~~~~~....#_####_____+...___**___.......tt..ttt... +~~~~~~....#________###...________.......tt...ttt.. +~~~~~~....#___######......______.............tttt. +~~~~~~~...#_###............____..............t.tt. +~~~~~~~...###..............................t.t..t. +~~~~~~~..................................tt.tt..t. +~~~~~~~.....................#+##..........t.ttt... +~~~~~~......................#__#..........t.ttt..t +~~~~~~......................#__#..........t.t.tt.t +~~~~~~...................####__####...........tt.. +~~~~~~...................#________#..........t.t.t +~~~~~~...................#________#........t.t.t.t +~~~~~~...................####__####........t...t.t +~~~~~~......................#__#............t..ttt +~~~~~.......................#__#...............tt. +~~~~~.......................####.............t.tt. +~~~~~~.......................................t..tt +~~~~~~~.....................................tt..t. +~~~~~~~......................................t..t. +~~~~~~~~....................................tt.tt. +~~~~~~~~.....................................t.... +~~~~~~~~~........................................t +~~~~~~~~~~..................................t....t +~~~~~~~~~~~~~...................................t.]] diff --git a/game/modules/tome/data/timed_effects/physical.lua b/game/modules/tome/data/timed_effects/physical.lua index 9d34085021f4f139dfd0e3a959b4daf3f8d5e24e..2899c5c7018eb8b88670c9f310864d977446d512 100644 --- a/game/modules/tome/data/timed_effects/physical.lua +++ b/game/modules/tome/data/timed_effects/physical.lua @@ -829,7 +829,7 @@ newEffect{ newEffect{ name = "WILD_SPEED", image = "talents/infusion__movement.png", desc = "Wild Speed", - long_desc = function(self, eff) return ("The movement infusion allows you to run at extreme fast pace. Any other action other than movement will cancel it .Movement is %d%% faster."):format(eff.power) end, + long_desc = function(self, eff) return ("The movement infusion allows you to run at extreme fast pace. Any other action other than movement will cancel it. Movement is %d%% faster."):format(eff.power) end, type = "physical", subtype = { nature=true, speed=true }, status = "beneficial", @@ -838,13 +838,13 @@ newEffect{ on_lose = function(self, err) return "#Target# slows down.", "-Wild Speed" end, activate = function(self, eff) eff.tmpid = self:addTemporaryValue("wild_speed", 1) - eff.moveid = self:addTemporaryValue("global_speed_add", eff.power/100) + eff.moveid = self:addTemporaryValue("movement_speed", eff.power/100) if self.ai_state then eff.aiid = self:addTemporaryValue("ai_state", {no_talents=1}) end -- Make AI not use talents while using it end, deactivate = function(self, eff) self:removeTemporaryValue("wild_speed", eff.tmpid) if eff.aiid then self:removeTemporaryValue("ai_state", eff.aiid) end - self:removeTemporaryValue("global_speed_add", eff.moveid) + self:removeTemporaryValue("movement_speed", eff.moveid) end, } @@ -882,7 +882,7 @@ newEffect{ on_lose = function(self, err) return "#Target# is back to normal.", "-Lightning Speed" end, activate = function(self, eff) eff.tmpid = self:addTemporaryValue("lightning_speed", 1) - eff.moveid = self:addTemporaryValue("global_speed_add", eff.power/100) + eff.moveid = self:addTemporaryValue("movement_speed", eff.power/100) eff.resistsid = self:addTemporaryValue("resists", { [DamageType.PHYSICAL]=30, [DamageType.LIGHTNING]=100, @@ -895,7 +895,7 @@ newEffect{ self:removeTemporaryValue("lightning_speed", eff.tmpid) self:removeTemporaryValue("resists", eff.resistsid) if eff.aiid then self:removeTemporaryValue("ai_state", eff.aiid) end - self:removeTemporaryValue("global_speed_add", eff.moveid) + self:removeTemporaryValue("movement_speed", eff.moveid) end, } diff --git a/game/modules/tome/data/zones/test/zone.lua b/game/modules/tome/data/zones/test/zone.lua index b6352c8b3ae032ce1556b32ea3a3b04fb2cbd21e..30dca68f1282cd1a41aaefa82ee605edb29c9a6c 100644 --- a/game/modules/tome/data/zones/test/zone.lua +++ b/game/modules/tome/data/zones/test/zone.lua @@ -30,7 +30,7 @@ return { no_level_connectivity = true, generator = { map = { ---[[ +-- [[ class = "engine.generator.map.Building", max_block_w = 15, max_block_h = 15, max_building_w = 5, max_building_h = 5, @@ -39,7 +39,7 @@ return { wall = "BAMBOO_HUT_WALL", up = "FLAT_UP6", down = "FLAT_DOWN4", - door = "BAMBOO_HUT_WALL", + door = "BAMBOO_HUT_DOOR", --]] --[[ class = "engine.generator.map.Forest", @@ -53,16 +53,16 @@ return { down = "GRASS_DOWN6", door = "GRASS", --]] --- [[ +--[[ class = "engine.generator.map.Roomer", nb_rooms = 10, edge_entrances = {4,6}, rooms = {"forest_clearing"}, ['.'] = {"JUNGLE_GRASS","JUNGLE_GRASS","JUNGLE_GRASS","JUNGLE_DIRT","JUNGLE_DIRT",}, ['#'] = "JUNGLE_TREE", - up = "GRASS_UP4", - down = "GRASS_DOWN6", - door = "GRASS", + up = "JUNGLE_GRASS_UP4", + down = "JUNGLE_GRASS_DOWN6", + door = "JUNGLE_GRASS", --]] }, actor = { diff --git a/game/modules/tome/data/zones/town-irkkk/grids.lua b/game/modules/tome/data/zones/town-irkkk/grids.lua new file mode 100644 index 0000000000000000000000000000000000000000..a09a949a98fe7c0fe86da1823ac7a6d792ed6875 --- /dev/null +++ b/game/modules/tome/data/zones/town-irkkk/grids.lua @@ -0,0 +1,28 @@ +-- ToME - Tales of Maj'Eyal +-- Copyright (C) 2009, 2010, 2011 Nicolas Casalini +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +-- Nicolas Casalini "DarkGod" +-- darkgod@te4.org + +load("/data/general/grids/basic.lua") +load("/data/general/grids/jungle.lua") +load("/data/general/grids/jungle_hut.lua") +load("/data/general/grids/water.lua") + +newEntity{ base="BAMBOO_HUT_FLOOR", define_as="BAMBOO_HUT_COOKING3", + name = "cooking pit", display = '*', + add_mos = {{image="terrain/bamboo/floor_deco_cooking_pit_c_01.png"}}, +} diff --git a/game/modules/tome/data/zones/town-irkkk/npcs.lua b/game/modules/tome/data/zones/town-irkkk/npcs.lua new file mode 100644 index 0000000000000000000000000000000000000000..f6e892ce91849c112718f4470e10b3e442f718aa --- /dev/null +++ b/game/modules/tome/data/zones/town-irkkk/npcs.lua @@ -0,0 +1,75 @@ +-- ToME - Tales of Maj'Eyal +-- Copyright (C) 2009, 2010, 2011 Nicolas Casalini +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +-- Nicolas Casalini "DarkGod" +-- darkgod@te4.org + +load("/data/general/npcs/gwelgoroth.lua", function(e) if e.rarity then e.derth_rarity, e.rarity = e.rarity, nil end end) + +local Talents = require("engine.interface.ActorTalents") + +newEntity{ + define_as = "BASE_NPC_ELVALA_TOWN", + type = "humanoid", subtype = "shalore", + display = "p", color=colors.WHITE, + faction = "shalore", + anger_emote = "Catch @himher@!", + + combat = { dam=resolvers.rngavg(1,2), atk=2, apr=0, dammod={str=0.4} }, + + body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, QUIVER=1 }, + lite = 3, + + life_rating = 10, + rank = 2, + size_category = 3, + + open_door = true, + + resolvers.racial(), + resolvers.inscriptions(1, "rune"), + + autolevel = "warrior", + ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=3, }, + stats = { str=12, dex=8, mag=6, con=10 }, + + emote_random = resolvers.emote_random{allow_backup_guardian=true}, +} + +newEntity{ base = "BASE_NPC_ELVALA_TOWN", + name = "elvala guard", color=colors.LIGHT_UMBER, + desc = [[A stern-looking guard, he will not let you disturb the town.]], + level_range = {1, nil}, exp_worth = 1, + rarity = 3, + max_life = resolvers.rngavg(70,80), + resolvers.equip{ + {type="weapon", subtype="longsword", autoreq=true}, + {type="armor", subtype="shield", autoreq=true}, + }, + combat_armor = 2, combat_def = 0, + resolvers.talents{ [Talents.T_RUSH]=1, [Talents.T_PERFECT_STRIKE]=1, }, +} + +newEntity{ base = "BASE_NPC_ELVALA_TOWN", + name = "shalore rune master", color=colors.RED, + desc = [[A tall elf, his skin covered in runes.]], + level_range = {1, nil}, exp_worth = 1, + rarity = 3, + max_life = resolvers.rngavg(50,60), + ai_state = { talent_in=1, }, + autolevel = "caster", + resolvers.inscriptions(3, {"heat beam rune", "frozen spear rune", "acid wave rune", "lightning rune"}), +} diff --git a/game/modules/tome/data/zones/town-irkkk/objects.lua b/game/modules/tome/data/zones/town-irkkk/objects.lua new file mode 100644 index 0000000000000000000000000000000000000000..58f71197d9a82938c17f94371775f7de39552e96 --- /dev/null +++ b/game/modules/tome/data/zones/town-irkkk/objects.lua @@ -0,0 +1,20 @@ +-- ToME - Tales of Maj'Eyal +-- Copyright (C) 2009, 2010, 2011 Nicolas Casalini +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +-- Nicolas Casalini "DarkGod" +-- darkgod@te4.org + +load("/data/general/objects/objects-maj-eyal.lua") diff --git a/game/modules/tome/data/zones/town-irkkk/traps.lua b/game/modules/tome/data/zones/town-irkkk/traps.lua new file mode 100644 index 0000000000000000000000000000000000000000..66f651dacfeb28707342a76ad2950976115c2278 --- /dev/null +++ b/game/modules/tome/data/zones/town-irkkk/traps.lua @@ -0,0 +1,54 @@ +-- ToME - Tales of Maj'Eyal +-- Copyright (C) 2009, 2010, 2011 Nicolas Casalini +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +-- Nicolas Casalini "DarkGod" +-- darkgod@te4.org + +load("/data/general/traps/store.lua") + +newEntity{ base = "BASE_STORE", define_as = "CLOTH_ARMOR_STORE", + name="Tailor", + display='2', color=colors.RED, + resolvers.store("CLOTH_ARMOR", "shalore", "store/shop_door.png", "store/shop_sign_tailor.png"), +} +newEntity{ base = "BASE_STORE", define_as = "LIGHT_ARMOR_STORE", + name="Tanner", + display='2', color=colors.UMBER, + resolvers.store("LIGHT_ARMOR", "shalore", "store/shop_door.png", "store/shop_sign_tanner.png"), +} + +newEntity{ base = "BASE_STORE", define_as = "SWORD_WEAPON_STORE", + name="Swordsmith", + display='3', color=colors.UMBER, + resolvers.store("SWORD_WEAPON", "shalore", "store/shop_door.png", "store/shop_sign_swordsmith.png"), +} +newEntity{ base = "BASE_STORE", define_as = "STAFF_WEAPON_STORE", + name="Staff carver", + display='3', color=colors.RED, + resolvers.store("STAFF_WEAPON", "shalore", "store/shop_door.png", "store/shop_sign_staves.png"), +} + +newEntity{ base = "BASE_STORE", define_as = "RUNEMASTER", + name="Runemaster", + display='5', color=colors.RED, + resolvers.store("SCROLL", "shalore", "store/shop_door.png", "store/shop_sign_alchemist.png"), +} + +newEntity{ base = "BASE_STORE", define_as = "ALCHEMIST", + name="Home of Marus the Alchemist", + display='*', color=colors.UMBER, image = "store/shop_door_barred.png", + resolvers.chatfeature("alchemist-elvala", "allied-kingdoms"), +} diff --git a/game/modules/tome/data/zones/town-irkkk/zone.lua b/game/modules/tome/data/zones/town-irkkk/zone.lua new file mode 100644 index 0000000000000000000000000000000000000000..d466741b7c4ab344879da8f750bb0e2b429edb73 --- /dev/null +++ b/game/modules/tome/data/zones/town-irkkk/zone.lua @@ -0,0 +1,51 @@ +-- ToME - Tales of Maj'Eyal +-- Copyright (C) 2009, 2010, 2011 Nicolas Casalini +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +-- +-- Nicolas Casalini "DarkGod" +-- darkgod@te4.org + +return { + name = "Irkkk", + level_range = {1, 15}, + level_scheme = "player", + actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end, + update_base_level_on_enter = true, + max_level = 1, + width = 196, height = 80, + decay = {300, 800, only={object=true}, no_respawn=true}, + persistent = "zone", + all_remembered = true, + day_night = true, + all_lited = true, + ambient_music = "Virtue lost.ogg", + + max_material_level = 2, + + generator = { + map = { + class = "engine.generator.map.Static", + map = "towns/irkkk", + }, + actor = { + class = "engine.generator.actor.Random", + nb_npc = {10, 10}, + }, + object = { + class = "engine.generator.object.Random", + nb_object = {0, 0}, + }, + }, +} diff --git a/game/modules/tome/data/zones/wilderness/grids.lua b/game/modules/tome/data/zones/wilderness/grids.lua index 4caf70d2ab661c63bf75adc982716a8cd28a7250..b17efbfe3ec370ec39ff8b2f2e3548bb34dd98d8 100644 --- a/game/modules/tome/data/zones/wilderness/grids.lua +++ b/game/modules/tome/data/zones/wilderness/grids.lua @@ -301,7 +301,7 @@ newEntity{ base="TOWN", define_as = "TOWN_IRKKK", name = "Irkkk (Town)", add_mos = {{image="terrain/village_01.png"}}, desc = "Yeek Wayist capital", change_level = false, --- change_zone="town-irrk", + change_zone="town-irkkk", } newEntity{ base="TOWN", define_as = "TOWN_ZIGUR", name = "Zigur (Town)", add_mos = {{image="terrain/village_01.png"}},