diff --git a/game/modules/tome/class/NicerTiles.lua b/game/modules/tome/class/NicerTiles.lua index 6be661d14407ad2216cbb8a9d9689510bb4598f3..05a3b3ae21a3a741f46ad610396598e301e09626 100644 --- a/game/modules/tome/class/NicerTiles.lua +++ b/game/modules/tome/class/NicerTiles.lua @@ -452,18 +452,30 @@ slime_wall = { method="borders", type="slime_wall", forbid={}, use_type=true, default7i={add_mos={{image="terrain/slime/slime_edge_upper_left_01.png", display_y=-1, display_x=-0.03125}}, min=1, max=1}, default9i={add_mos={{image="terrain/slime/slime_edge_upper_right_01.png", display_y=-1, display_x=0.03125}}, min=1, max=1}, - ---[[ - default1={add_mos={{image="terrain/mountain9i.png", display_x=-1, display_y=1}}, min=1, max=1}, - default3={add_mos={{image="terrain/mountain7i.png", display_x=1, display_y=1}}, min=1, max=1}, - default7={add_mos={{image="terrain/mountain3i.png", display_x=-1, display_y=-1}}, min=1, max=1}, - default9={add_mos={{image="terrain/mountain1i.png", display_x=1, display_y=-1}}, min=1, max=1}, - - default1i={add_mos={{image="terrain/mountain1.png", display_x=-1, display_y=1}}, min=1, max=1}, - default3i={add_mos={{image="terrain/mountain3.png", display_x=1, display_y=1}}, min=1, max=1}, - default7i={add_displays={{image="terrain/mountain7.png", display_x=-1, display_y=-1, z=17}}, min=1, max=1}, - default9i={add_displays={{image="terrain/mountain9.png", display_x=1, display_y=-1, z=18}}, min=1, max=1}, -]] +}, +sandwall = { method="walls", type="sandwall", forbid={}, use_type=true, extended=true, + default8={add_displays={{image="terrain/sand/sandwall_8_1.png", display_y=-1, z=16}}, min=1, max=1}, + default8p={add_displays={{image="terrain/sand/sand_V3_pillar_top_01.png", display_y=-1, z=16}}, min=1, max=1}, + default7={add_displays={{image="terrain/sand/sand_V3_inner_7_01.png", display_y=-1, z=16}}, min=1, max=1}, + default9={add_displays={{image="terrain/sand/sand_V3_inner_9_01.png", display_y=-1, z=16}}, min=1, max=1}, + default7i={add_displays={{image="terrain/sand/sand_V3_3_01.png", display_y=-1, z=16}}, min=1, max=1}, + default8i={add_displays={{image="terrain/sand/sandwall_8h_1.png", display_y=-1, z=16}}, min=1, max=1}, + default9i={add_displays={{image="terrain/sand/sand_V3_1_01.png", display_y=-1, z=16}}, min=1, max=1}, + default73i={add_displays={{image="terrain/sand/sandwall_91d_1.png", display_y=-1, z=16}}, min=1, max=1}, + default91i={add_displays={{image="terrain/sand/sandwall_73d_1.png", display_y=-1, z=16}}, min=1, max=1}, + + default2={image="terrain/sand/sand_V3_8_01.png", min=1, max=1}, + default2p={image="terrain/sand.png", add_mos={{image="terrain/sand/sand_V3_pillar_bottom_01.png"}}, min=1, max=1}, + default1={image="terrain/sand.png", add_mos={{image="terrain/sand/sand_V3_inner_1_01.png"}}, min=1, max=1}, + default3={image="terrain/sand.png", add_mos={{image="terrain/sand/sand_V3_inner_3_01.png"}}, min=1, max=1}, + default1i={image="terrain/sand/sand_V3_7_01.png", min=1, max=1}, + default2i={image="terrain/sand/sandwall_2h_1.png", min=1, max=1}, + default3i={image="terrain/sand/sand_V3_9_01.png", min=1, max=1}, + default19i={image="terrain/sand/sandwall_19d_1.png", min=1, max=1}, + default37i={image="terrain/sand/sandwall_37d_1.png", min=1, max=1}, + + default4={add_displays={{image="terrain/sand/sand_ver_edge_left_01.png", display_x=-1}}, min=1, max=1}, + default6={add_displays={{image="terrain/sand/sand_ver_edge_right_01.png", display_x=1}}, min=1, max=1}, }, } @@ -558,6 +570,71 @@ function _M:editTileGenericWalls(level, i, j, g, nt, type) if g5 ~= g6 and g5 ~= g9 and g5 ~= g8 then self:edit(i, j, id, nt[g9.."9i"] or nt["default9i"]) end end +--- Make water have nice transition to other stuff +function _M:editTileGenericSandWalls(level, i, j, g, nt, type) + local kind = nt.use_type and "type" or "subtype" + 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 g7 = level.map:checkEntity(i-1, j-1, Map.TERRAIN, kind) or type + local g9 = level.map:checkEntity(i+1, j-1, Map.TERRAIN, kind) or type + local g1 = level.map:checkEntity(i-1, j+1, Map.TERRAIN, kind) or type + local g3 = level.map:checkEntity(i+1, j+1, Map.TERRAIN, kind) or type + if nt.forbid then + if nt.forbid[g5] then g5 = type end + if nt.forbid[g4] then g4 = type end + if nt.forbid[g6] then g6 = type end + if nt.forbid[g8] then g8 = type end + if nt.forbid[g2] then g2 = type end + if nt.forbid[g1] then g1 = type end + if nt.forbid[g3] then g3 = type end + if nt.forbid[g7] then g7 = type end + if nt.forbid[g9] then g9 = type end + end + + local id = "sandwall:"..table.concat({type,tostring(g1==g5),tostring(g2==g5),tostring(g3==g5),tostring(g4==g5),tostring(g5==g5),tostring(g6==g5),tostring(g7==g5),tostring(g8==g5),tostring(g9==g5)}, ",") + + -- Sides + if g5 ~= g8 and g5 ~= g7 and g5 ~= g9 then + if g5 ~= g4 and g5 ~= g6 then self:edit(i, j, id, nt[g8.."8p"] or nt["default8p"]) + elseif g5 == g4 and g5 == g6 then self:edit(i, j, id, nt[g8.."8"] or nt["default8"]) + elseif g5 ~= g4 and g5 == g6 then self:edit(i, j, id, nt[g7.."7"] or nt["default7"]) + elseif g5 == g4 and g5 ~= g6 then self:edit(i, j, id, nt[g9.."9"] or nt["default9"]) + end + elseif g5 ~= g8 and g5 ~= g7 and g5 == g9 then + if g5 == g4 then self:edit(i, j, id, nt[g7.."7i"] or nt["default7i"]) + elseif g5 ~= g4 then self:edit(i, j, id, nt[g7.."73i"] or nt["default73i"]) + end + elseif g5 ~= g8 and g5 == g7 and g5 ~= g9 then + if g5 == g6 then self:edit(i, j, id, nt[g9.."9i"] or nt["default9i"]) + elseif g5 ~= g6 then self:edit(i, j, id, nt[g9.."91i"] or nt["default91i"]) + end + elseif g5 ~= g8 and g5 == g7 and g5 == g9 then self:edit(i, j, id, nt[g8.."8i"] or nt["default8i"]) + end + + if g5 ~= g2 and g5 ~= g1 and g5 ~= g3 then + if g5 ~= g4 and g5 ~= g6 then self:edit(i, j, id, nt[g2.."2p"] or nt["default2p"]) + elseif g5 == g4 and g5 == g6 then self:edit(i, j, id, nt[g2.."2"] or nt["default2"]) + elseif g5 ~= g4 and g5 == g6 then self:edit(i, j, id, nt[g1.."1"] or nt["default1"]) + elseif g5 == g4 and g5 ~= g6 then self:edit(i, j, id, nt[g3.."3"] or nt["default3"]) + end + elseif g5 ~= g2 and g5 ~= g1 and g5 == g3 then + if g5 == g4 then self:edit(i, j, id, nt[g3.."3i"] or nt["default3i"]) + elseif g5 ~= g4 then self:edit(i, j, id, nt[g3.."37i"] or nt["default37i"]) + end + elseif g5 ~= g2 and g5 == g1 and g5 ~= g3 then + if g5 == g6 then self:edit(i, j, id, nt[g1.."1i"] or nt["default1i"]) + elseif g5 ~= g6 then self:edit(i, j, id, nt[g1.."19i"] or nt["default19i"]) + end + elseif g5 ~= g2 and g5 == g1 and g5 == g3 then self:edit(i, j, id, nt[g2.."2i"] or nt["default2i"]) + end + + if g5 ~= g4 and g5 == g2 and g5 ~= g1 then self:edit(i, j, id, nt[g4.."4"] or nt["default4"]) end + if g5 ~= g6 and g5 == g2 and g5 ~= g3 then self:edit(i, j, id, nt[g6.."6"] or nt["default6"]) end +end + function _M:editTileBorders(level, i, j, g, nt) self:editTileGenericBorders(level, i, j, g, nt, nt.type or "grass") end @@ -567,6 +644,9 @@ end function _M:editTileWalls_def(level, i, j, g, nt) self:editTileGenericWalls(level, i, j, g, defs[nt.def], defs[nt.def].type or "grass") end +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 -- This array is precomputed, it holds the possible combinations of walls and the nice tile they generate -- The data is bit-encoded diff --git a/game/modules/tome/data/general/grids/sand.lua b/game/modules/tome/data/general/grids/sand.lua index b079bbc119ceed52b2c4dcf7b76cf625ec9f7745..9b6f9367f4bd60fe76468b5a95b93e64422e3545 100644 --- a/game/modules/tome/data/general/grids/sand.lua +++ b/game/modules/tome/data/general/grids/sand.lua @@ -17,7 +17,7 @@ -- Nicolas Casalini "DarkGod" -- darkgod@te4.org -local sand_editer = { method="borders_def", def="sand"} +local sand_wall_editer = { method="sandWalls_def", def="sandwall"} newEntity{ define_as = "SAND", @@ -41,7 +41,7 @@ for i = 1, 11 do newEntity{ base = "UNDERGROUND_SAND", define_as = "UNDERGROUND_ newEntity{ define_as = "SANDWALL", type = "wall", subtype = "sand", - name = "sandwall", image = "terrain/sandwall.png", + name = "sandwall", image = "terrain/sand/sand_V3_5_01.png", display = '#', color={r=203,g=189,b=72}, back_color={r=93,g=79,b=22}, always_remember = true, can_pass = {pass_wall=1}, @@ -86,62 +86,16 @@ newEntity{ game.level:addEntity(sand) return nil, sand, true end, - nice_tiler = { method="roundwall3d", - inner={"SANDWALL", 100, 1, 1}, - wall8={"SANDWALL_8", 100, 1, 1}, - wall2={"SANDWALL_2", 100, 1, 1}, - wall82={"SANDWALL_NORTH_SOUTH", 100, 1, 1}, - wall1={"SANDWALL_1", 100, 1, 1}, - wall3={"SANDWALL_3", 100, 1, 1}, - wall7={"SANDWALL_7", 100, 1, 1}, - wall9={"SANDWALL_9", 100, 1, 1}, - wall1d={"SANDWALL_1D", 100, 1, 1}, - wall3d={"SANDWALL_3D", 100, 1, 1}, - wall7d={"SANDWALL_7D", 100, 1, 1}, - wall9d={"SANDWALL_9D", 100, 1, 1}, - wall19d={"SANDWALL_19D", 100, 1, 1}, - wall37d={"SANDWALL_37D", 100, 1, 1}, - wall73d={"SANDWALL_73D", 100, 1, 1}, - wall91d={"SANDWALL_91D", 100, 1, 1}, - hole2={"SANDWALL_HOLE_2", 100, 1, 1}, - hole8={"SANDWALL_HOLE_8", 100, 1, 1}, - pillar2={"SANDWALL_PILLAR_2", 100, 1, 1}, - pillar8={"SANDWALL_PILLAR_8", 100, 1, 1}, - pillar4={"SANDWALL_PILLAR_4", 100, 1, 1}, - pillar6={"SANDWALL_PILLAR_6", 100, 1, 1}, - pillar_small={"SANDWALL_PILLAR_SMALL", 100, 1, 1}, - }, + nice_editer = sand_wall_editer, + nice_tiler = { method="replace", base={"SANDWALL", 20, 1, 6}}, } - -local i = 1 -newEntity{ base = "SANDWALL", define_as = "SANDWALL"..i, image = "terrain/sandwall_5_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_2"..i, image = "terrain/sandwall_2_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_1"..i, image = "terrain/sandwall_1_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_3"..i, image = "terrain/sandwall_3_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_8"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_8_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_NORTH_SOUTH"..i, image = "terrain/sandwall_2_"..i..".png", add_displays = {class.new{image="terrain/sandwall_8_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_7"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_7_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_9"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_9_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_1D"..i, image = "terrain/sandwall_1d_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_3D"..i, image = "terrain/sandwall_3d_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_7D"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_7d_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_9D"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_9d_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_19D"..i, image = "terrain/sandwall_19d_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_37D"..i, image = "terrain/sandwall_37d_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_73D"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_73d_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_91D"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_91d_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_PILLAR_2"..i, image = "terrain/sandwall_2p_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_PILLAR_8"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_8p_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_PILLAR_4"..i, image = "terrain/sandwall_1_"..i..".png", add_displays = {class.new{image="terrain/sandwall_7_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_PILLAR_6"..i, image = "terrain/sandwall_3_"..i..".png", add_displays = {class.new{image="terrain/sandwall_9_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_HOLE_2"..i, image = "terrain/sandwall_2h_"..i..".png"} -newEntity{ base = "SANDWALL", define_as = "SANDWALL_HOLE_8"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_8h_1.png", z=18, display_y=-1}}} +for i = 1, 6 do newEntity{ base = "SANDWALL", define_as = "SANDWALL"..i, image = "terrain/sand/sandwall_5_"..i..".png"} end newEntity{ define_as = "SANDWALL_STABLE", type = "wall", subtype = "sand", - name = "sandwall", image = "terrain/sandwall.png", + name = "sandwall", image = "terrain/sand/sand_V3_5_01.png", display = '#', color={r=203,g=189,b=72}, back_color={r=93,g=79,b=22}, always_remember = true, can_pass = {pass_wall=1}, @@ -149,56 +103,10 @@ newEntity{ block_sight = true, air_level = -10, dig = "UNDERGROUND_SAND", - nice_tiler = { method="roundwall3d", - inner={"SANDWALL_STABLE", 100, 1, 1}, - wall8={"SANDWALL_STABLE_8", 100, 1, 1}, - wall2={"SANDWALL_STABLE_2", 100, 1, 1}, - wall82={"SANDWALL_STABLE_NORTH_SOUTH", 100, 1, 1}, - wall1={"SANDWALL_STABLE_1", 100, 1, 1}, - wall3={"SANDWALL_STABLE_3", 100, 1, 1}, - wall7={"SANDWALL_STABLE_7", 100, 1, 1}, - wall9={"SANDWALL_STABLE_9", 100, 1, 1}, - wall1d={"SANDWALL_STABLE_1D", 100, 1, 1}, - wall3d={"SANDWALL_STABLE_3D", 100, 1, 1}, - wall7d={"SANDWALL_STABLE_7D", 100, 1, 1}, - wall9d={"SANDWALL_STABLE_9D", 100, 1, 1}, - wall19d={"SANDWALL_STABLE_19D", 100, 1, 1}, - wall37d={"SANDWALL_STABLE_37D", 100, 1, 1}, - wall73d={"SANDWALL_STABLE_73D", 100, 1, 1}, - wall91d={"SANDWALL_STABLE_91D", 100, 1, 1}, - hole2={"SANDWALL_STABLE_HOLE_2", 100, 1, 1}, - hole8={"SANDWALL_STABLE_HOLE_8", 100, 1, 1}, - pillar2={"SANDWALL_STABLE_PILLAR_2", 100, 1, 1}, - pillar8={"SANDWALL_STABLE_PILLAR_8", 100, 1, 1}, - pillar4={"SANDWALL_STABLE_PILLAR_4", 100, 1, 1}, - pillar6={"SANDWALL_STABLE_PILLAR_6", 100, 1, 1}, - pillar_small={"SANDWALL_STABLE_PILLAR_SMALL", 100, 1, 1}, - }, + nice_editer = sand_wall_editer, + nice_tiler = { method="replace", base={"SANDWALL_STABLE", 20, 1, 6}}, } - -local i = 1 -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE"..i, image = "terrain/sandwall_5_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_2"..i, image = "terrain/sandwall_2_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_1"..i, image = "terrain/sandwall_1_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_3"..i, image = "terrain/sandwall_3_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_8"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_8_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_NORTH_SOUTH"..i, image = "terrain/sandwall_2_"..i..".png", add_displays = {class.new{image="terrain/sandwall_8_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_7"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_7_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_9"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_9_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_1D"..i, image = "terrain/sandwall_1d_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_3D"..i, image = "terrain/sandwall_3d_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_7D"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_7d_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_9D"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_9d_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_19D"..i, image = "terrain/sandwall_19d_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_37D"..i, image = "terrain/sandwall_37d_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_73D"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_73d_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_91D"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_91d_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_PILLAR_2"..i, image = "terrain/sandwall_2p_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_PILLAR_8"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_8p_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_PILLAR_4"..i, image = "terrain/sandwall_1_"..i..".png", add_displays = {class.new{image="terrain/sandwall_7_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_PILLAR_6"..i, image = "terrain/sandwall_3_"..i..".png", add_displays = {class.new{image="terrain/sandwall_9_1.png", z=18, display_y=-1}}} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_HOLE_2"..i, image = "terrain/sandwall_2h_"..i..".png"} -newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE_HOLE_8"..i, image = "terrain/sandwall_5_"..i..".png", add_displays = {class.new{image="terrain/sandwall_8h_1.png", z=18, display_y=-1}}} +for i = 1, 6 do newEntity{ base = "SANDWALL_STABLE", define_as = "SANDWALL_STABLE"..i, image = "terrain/sand/sandwall_5_"..i..".png"} end newEntity{ define_as = "PALMTREE", diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_1_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_1_01.png new file mode 100644 index 0000000000000000000000000000000000000000..e688ce22c105f2f3ec54fee42d545bb16817a50c Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_1_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_3_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_3_01.png new file mode 100644 index 0000000000000000000000000000000000000000..88600a56813ddc0e5b934216b4074cc8c507a8ef Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_3_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_5_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_5_01.png new file mode 100644 index 0000000000000000000000000000000000000000..4b8b8c438c01a3415ad798a9521afc91df94eaef Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_5_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_7_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_7_01.png new file mode 100644 index 0000000000000000000000000000000000000000..45c0daf1a6b797e4056eaa4e519191a21f2abc94 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_7_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_8_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_8_01.png new file mode 100644 index 0000000000000000000000000000000000000000..d757a1b78734db4f19727c955852cc157c52c90d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_8_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_9_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_9_01.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d928150e363ff444e75fc4bc8cc5382405dfd9 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_9_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_1_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_1_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b8be8eccb1ae3a8455b1a5cbfbe64d065efbd612 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_1_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_3_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_3_01.png new file mode 100644 index 0000000000000000000000000000000000000000..37136546baac23679a6d1abdc61c223717233f42 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_3_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_7_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_7_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b94e0bb458c819b622f001d598eec465ef7d5bcc Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_7_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_9_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_9_01.png new file mode 100644 index 0000000000000000000000000000000000000000..6071d826b4a3b48f56626e7546a1efc92ca3e2a9 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_inner_9_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_pillar_bottom_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_pillar_bottom_01.png new file mode 100644 index 0000000000000000000000000000000000000000..29f59256f1d388edc710b079f2196fe6cd719109 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_pillar_bottom_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_pillar_top_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_pillar_top_01.png new file mode 100644 index 0000000000000000000000000000000000000000..3c6838587a54e226bda268672a5afb8218ae2899 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_V3_pillar_top_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_ver_edge_left_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_ver_edge_left_01.png new file mode 100644 index 0000000000000000000000000000000000000000..5628ec2b654c80d38afe35d473330a710c1979c0 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_ver_edge_left_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_ver_edge_right_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_ver_edge_right_01.png new file mode 100644 index 0000000000000000000000000000000000000000..d1219832b7a3dc699e1091dc17f82d446dfba16b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sand_ver_edge_right_01.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_19d_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_19d_1.png new file mode 100644 index 0000000000000000000000000000000000000000..79f3de916120d0d1fda78b3531b7749857a95c06 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_19d_1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_2h_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_2h_1.png similarity index 100% rename from game/modules/tome/data/gfx/shockbolt/terrain/sandwall_2h_1.png rename to game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_2h_1.png diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_37d_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_37d_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6912d849f7c6239bf04d68715595453c448d80ce Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_37d_1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5009466a414193ca211a15627ebb0f9954a88839 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_2.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f5fb40b357b105337ccc9b603aa475893a732836 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_2.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_5_3.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_3.png similarity index 100% rename from game/modules/tome/data/gfx/shockbolt/terrain/sandwall_5_3.png rename to game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_3.png diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_5_4.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_4.png similarity index 100% rename from game/modules/tome/data/gfx/shockbolt/terrain/sandwall_5_4.png rename to game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_4.png diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_5.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_5.png new file mode 100644 index 0000000000000000000000000000000000000000..165b1de88044b69941cf53fab9c72eb5d033f21a Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_5.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_6.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_6.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ae11176c70021c65cfc22d99cecf9374b42a12 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_5_6.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_73d_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_73d_1.png similarity index 100% rename from game/modules/tome/data/gfx/shockbolt/terrain/sandwall_73d_1.png rename to game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_73d_1.png diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_8_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_8_1.png new file mode 100644 index 0000000000000000000000000000000000000000..843356f1005cb6f7fcb59ec738c4cf7c5e76d672 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_8_1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_8h_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_8h_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ad226cab9d8d762759c21f7a68d562feae63a286 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_8h_1.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_91d_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_91d_1.png similarity index 100% rename from game/modules/tome/data/gfx/shockbolt/terrain/sandwall_91d_1.png rename to game/modules/tome/data/gfx/shockbolt/terrain/sand/sandwall_91d_1.png diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_1_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_1_1.png deleted file mode 100644 index 4bb535995a203f498aa17238f2dff673224e4f66..0000000000000000000000000000000000000000 Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_1_1.png and /dev/null differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_1_2.png b/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_1_2.png deleted file mode 100644 index 1df8ddf86830d68436a504fd41b28a7b2ad91227..0000000000000000000000000000000000000000 Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_1_2.png and /dev/null differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_1d_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_1d_1.png deleted file mode 100644 index db8c62e64c8ac741116ade87cdaf6a12430e8763..0000000000000000000000000000000000000000 Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_1d_1.png and /dev/null differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_2_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_2_1.png deleted file mode 100644 index 98252e74bbe8c5438c0749f971258e8e906e8dbd..0000000000000000000000000000000000000000 Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_2_1.png and /dev/null differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_2p_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_2p_1.png deleted file mode 100644 index cb7fa7d90cec754243f1c26113af5b90aef9284f..0000000000000000000000000000000000000000 Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_2p_1.png and /dev/null differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_3_2.png b/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_3_2.png deleted file mode 100644 index 368e4f37d63e09dbe8d5a8fa04c26f7c86a3ea31..0000000000000000000000000000000000000000 Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_3_2.png and /dev/null differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_3d_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_3d_1.png deleted file mode 100644 index 24bb718765b4f9b5ad6ae1efdd705f241f168ca5..0000000000000000000000000000000000000000 Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_3d_1.png and /dev/null differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_7_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_7_1.png deleted file mode 100644 index 15c1bb28af33c836d2589e3f73d193fe65cd9299..0000000000000000000000000000000000000000 Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_7_1.png and /dev/null differ diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_9_1.png b/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_9_1.png deleted file mode 100644 index 0559fefc33142130f5d4bbaec485240ff10bb7fa..0000000000000000000000000000000000000000 Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/sandwall_9_1.png and /dev/null differ