From e8e468840b5c6719bc28bde3053434f35b4a26ea Mon Sep 17 00:00:00 2001 From: adrido Date: Tue, 12 Nov 2013 22:28:21 +0100 Subject: [PATCH] added Semmett9's improofments better cannonstand with a realy nice nodebox 3 diffrent cannonballs wood stone iron better cannon hit sound some new textures --- canonballs.lua | 157 ++++++++ init.lua | 3 +- items.lua | 473 +++++++++++++++++++++++-- sounds/canons_hit.ogg | Bin 12025 -> 31348 bytes textures/cannon_bronze_cannon_side.png | Bin 0 -> 437 bytes textures/cannon_bronze_cannon_top.png | Bin 0 -> 524 bytes textures/cannon_cannon_side.png | Bin 0 -> 378 bytes textures/cannon_cannon_top.png | Bin 0 -> 463 bytes textures/canons_bullet - Copy.png | Bin 0 -> 420 bytes textures/canons_bullet_iron.png | Bin 0 -> 336 bytes textures/canons_canons_rim.png | Bin 0 -> 254 bytes 11 files changed, 603 insertions(+), 30 deletions(-) create mode 100644 textures/cannon_bronze_cannon_side.png create mode 100644 textures/cannon_bronze_cannon_top.png create mode 100644 textures/cannon_cannon_side.png create mode 100644 textures/cannon_cannon_top.png create mode 100644 textures/canons_bullet - Copy.png create mode 100644 textures/canons_bullet_iron.png create mode 100644 textures/canons_canons_rim.png diff --git a/canonballs.lua b/canonballs.lua index 7adbb5c..d11c61d 100644 --- a/canonballs.lua +++ b/canonballs.lua @@ -128,3 +128,160 @@ local tree={ if enable_fire then canons.register_muni("default:tree",tree) end + +--++++++++++++++++++++++++++++++++++++ +--+ Stone Cannon ball + +--++++++++++++++++++++++++++++++++++++ + + +local ball_wood={ + physical = false, + timer=0, + textures = {"canons_bullet.png"}, + lastpos={}, + damage=20, + range=1, + gravity=10, + velocity=40, + name="canons:stone_bullet", + collisionbox = {-0.25,-0.25,-0.25, 0.25,0.25,0.25}, + on_player_hit = function(self,pos,player) + local playername = player:get_player_name() + player:punch(self.object, 1.0, { + full_punch_interval=1.0, + damage_groups={fleshy=self.damage}, + }, nil) + self.object:remove() + minetest.chat_send_all(playername .." tried to catch a canonball") + end, + on_mob_hit = function(self,pos,mob) + mob:punch(self.object, 1.0, { + full_punch_interval=1.0, + damage_groups={fleshy=self.damage}, + }, nil) + self.object:remove() + end, + on_node_hit = function(self,pos,node) + if node.name == "default:dirt_with_grass" then + minetest.env:set_node({x=pos.x, y=pos.y, z=pos.z},{name="default:dirt"}) + minetest.sound_play("canons_hit", + {pos = pos, gain = 1.0, max_hear_distance = 32,}) + self.object:remove() + elseif node.name == "default:water_source" then + minetest.sound_play("canons_splash", + {pos = pos, gain = 1.0, max_hear_distance = 32,}) + self.object:remove() + else + minetest.sound_play("canons_hit", + {pos = pos, gain = 1.0, max_hear_distance = 32,}) + self.object:remove() + end + end, + +} +canons.register_muni("canons:canon_ball_wood",ball_wood) + +--++++++++++++++++++++++++++++++++++++ +--+ Stone Cannon ball + +--++++++++++++++++++++++++++++++++++++ + + +local ball_stone={ + physical = false, + timer=0, + textures = {"canons_bullet.png"}, + lastpos={}, + damage=20, + range=2, + gravity=10, + velocity=40, + name="canons:stone_bullet", + collisionbox = {-0.25,-0.25,-0.25, 0.25,0.25,0.25}, + on_player_hit = function(self,pos,player) + local playername = player:get_player_name() + player:punch(self.object, 1.0, { + full_punch_interval=1.0, + damage_groups={fleshy=self.damage}, + }, nil) + self.object:remove() + minetest.chat_send_all(playername .." tried to catch a canonball") + end, + on_mob_hit = function(self,pos,mob) + mob:punch(self.object, 1.0, { + full_punch_interval=1.0, + damage_groups={fleshy=self.damage}, + }, nil) + self.object:remove() + end, + on_node_hit = function(self,pos,node) + if node.name == "default:dirt_with_grass" then + minetest.env:set_node({x=pos.x, y=pos.y, z=pos.z},{name="default:dirt"}) + minetest.sound_play("canons_hit", + {pos = pos, gain = 1.0, max_hear_distance = 32,}) + self.object:remove() + elseif node.name == "default:water_source" then + minetest.sound_play("canons_splash", + {pos = pos, gain = 1.0, max_hear_distance = 32,}) + self.object:remove() + else + minetest.sound_play("canons_hit", + {pos = pos, gain = 1.0, max_hear_distance = 32,}) + self.object:remove() + end + end, + +} +canons.register_muni("canons:canon_ball_stone",ball_stone) + +--++++++++++++++++++++++++++++++++++++ +--+ Steel Cannon ball + +--++++++++++++++++++++++++++++++++++++ + + +local ball_steel={ + physical = false, + timer=0, + textures = {"canons_bullet_iron.png"}, + lastpos={}, + damage=30, + range=2, + gravity=5, + velocity=50, + name="canons:stone_bullet", + collisionbox = {-0.25,-0.25,-0.25, 0.25,0.25,0.25}, + on_player_hit = function(self,pos,player) + local playername = player:get_player_name() + player:punch(self.object, 1.0, { + full_punch_interval=1.0, + damage_groups={fleshy=self.damage}, + }, nil) + self.object:remove() + minetest.chat_send_all(playername .." tried to catch a canonball") + end, + on_mob_hit = function(self,pos,mob) + mob:punch(self.object, 1.0, { + full_punch_interval=1.0, + damage_groups={fleshy=self.damage}, + }, nil) + self.object:remove() + end, + on_node_hit = function(self,pos,node) + if node.name == "default:dirt_with_grass" then + minetest.env:set_node({x=pos.x, y=pos.y, z=pos.z},{name="default:dirt"}) + minetest.sound_play("canons_hit", + {pos = pos, gain = 1.0, max_hear_distance = 32,}) + self.object:remove() + elseif node.name == "default:water_source" then + minetest.sound_play("canons_splash", + {pos = pos, gain = 1.0, max_hear_distance = 32,}) + self.object:remove() + else + minetest.sound_play("canons_hit", + {pos = pos, gain = 1.0, max_hear_distance = 32,}) + self.object:remove() + end + end, + +} +canons.register_muni("canons:canon_ball_steel",ball_steel) + diff --git a/init.lua b/init.lua index 2c7c8d8..abc3721 100644 --- a/init.lua +++ b/init.lua @@ -14,4 +14,5 @@ dofile(MODPATH .."/items.lua") dofile(MODPATH .."/canonballs.lua") -minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded from "..minetest.get_modpath(minetest.get_current_modname())) \ No newline at end of file +minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded from "..minetest.get_modpath(minetest.get_current_modname())) + diff --git a/items.lua b/items.lua index ffedeae..8818cc8 100644 --- a/items.lua +++ b/items.lua @@ -1,3 +1,7 @@ +--++++++++++++++++++++++++++++++++++++ +--+ Craft Items + +--++++++++++++++++++++++++++++++++++++ + minetest.register_craftitem("canons:gunpowder", { groups = {gunpowder=1}, description = "Gunpowder", @@ -15,24 +19,6 @@ minetest.register_craftitem("canons:bucket_salt", { stack_max = 300 }) -minetest.register_craft({ - type = "shapeless", - output = 'canons:salt 12', - recipe = { - "canons:bucket_salt" - }, - replacements = { - {"canons:bucket_salt", "bucket:bucket_empty"} - } -}) - -minetest.register_craft({ - type = "cooking", - output = 'canons:bucket_salt', - recipe = 'bucket:bucket_water', - cooktime = 15 -}) - minetest.register_craftitem("canons:iron_barrel", { groups = {canonbarrel=1}, description = "Iron Cannonbarrel", @@ -52,6 +38,34 @@ minetest.register_craftitem("canons:mithrill_barrel", { stack_max = 10 }) +minetest.register_craftitem("canons:stone_bullet", { + Description = "Stone Bullet", + inventory_image = "canons_bullet.png" +}) + + +--++++++++++++++++++++++++++++++++++++ +--+ crafts + +--++++++++++++++++++++++++++++++++++++ + +minetest.register_craft({ + type = "shapeless", + output = 'canons:salt 12', + recipe = { + "canons:bucket_salt" + }, + replacements = { + {"canons:bucket_salt", "bucket:bucket_empty"} + } +}) + +minetest.register_craft({ + type = "cooking", + output = 'canons:bucket_salt', + recipe = 'bucket:bucket_water', + cooktime = 15 +}) + minetest.register_craft({ type = "shapeless", output = 'canons:gunpowder', @@ -60,6 +74,7 @@ minetest.register_craft({ }, }) +-- not needed -- minetest.register_craft({ output = 'canons:iron_barrel', recipe = { @@ -76,27 +91,119 @@ minetest.register_craft({ {"default:cobble", "default:cobble", "default:cobble"} }, }) +-- new crafts -- - -minetest.register_craftitem("canons:stone_bullet", { - Description = "Stone Bullet", - inventory_image = "canons_bullet.png" +minetest.register_craft({ + output = 'canons:canon', + recipe = { + {"default:steelblock", "default:steelblock", "default:steelblock"}, + {"canons:gunpowder", "default:mese_block", ""}, + {"default:steelblock", "default:steelblock", "default:steelblock"} + }, }) +minetest.register_craft({ + output = 'canons:bronze_canon', + recipe = { + {"default:bronzeblock", "default:bronzeblock", "default:bronzeblock"}, + {"canons:gunpowder", "default:mese_block", ""}, + {"default:bronzeblock", "default:bronzeblock", "default:bronzeblock"} + }, +}) + +minetest.register_craft({ + output = 'canons:canon_stand', + recipe = { + {"default:wood", "", "default:wood"}, + {"default:wood", "default:steelblock", "default:wood"}, + {"default:wood", "default:wood", "default:wood"} + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = 'canons:canon_ball_steel_stack', + recipe = { + "canons:canon_ball_steel", "canons:canon_ball_steel", "canons:canon_ball_steel", "canons:canon_ball_steel" + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = 'canons:canon_ball_stone_stack', + recipe = { + "canons:canon_ball_stone", "canons:canon_ball_stone", "canons:canon_ball_stone", "canons:canon_ball_stone" + }, +}) + +minetest.register_craft({ + type = "shapeless", + output = 'canons:canon_ball_wood_stack', + recipe = { + "canons:canon_ball_wood", "canons:canon_ball_wood", "canons:canon_ball_wood", "canons:canon_ball_wood" + }, +}) + +minetest.register_craft({ + output = 'canons:canon_ball_wood 2', + recipe = { + {"default:wood","default:wood"}, + }, +}) + +minetest.register_craft({ + output = 'canons:canon_ball_stone', + recipe = { + {"default:stone"}, + }, +}) + +minetest.register_craft({ + output = 'canons:canon_ball_steel', + recipe = { + {"default:steelblock"} + }, +}) + +-- silly crafts -- + + +--++++++++++++++++++++++++++++++++++++ +--+ cannon stuff + +--++++++++++++++++++++++++++++++++++++ canons.formspec = "size[8,9]".. "list[current_name;gunpowder;2,3;1,1;]".. "list[current_name;muni;2,1;1,1;]".. "list[current_player;main;0,5;8,4;]" - +-- classic cannon -- minetest.register_node("canons:canon", { - description = "Canon", - tiles = {"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_side.png", - "default_furnace_side.png","cannon_back.png", "cannon_front.png"}, + description = "Cannon", + stack_max = 1, + tiles = {"cannon_cannon_top.png","cannon_cannon_top.png","cannon_cannon_side.png","cannon_cannon_side.png","cannon_cannon_top.png^canons_canons_rim.png","cannon_cannon_side.png"}, + drawtype = "nodebox", + paramtype = "light", paramtype2 = "facedir", - groups = {cracky=2,canon=1}, - legacy_facedir_simple = true, - sounds = default.node_sound_stone_defaults(), + is_ground_content = true, + groups = {cracky=1}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.2, 0.2, -0.7, 0.2, -0.2, 0.9}, -- barrle -- + {0.53, -0.1, 0.1, -0.53, 0.1, -0.1}, -- plinth -- + + -- side , top hight , depth , side , bottom, side, + + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.2, 0.2, -0.7, 0.2, -0.2, 0.9}, + {0.53, -0.1, 0.1, -0.53, 0.1, -0.1}, + }, + }, on_punch = canons.punched, on_construct = function(pos) local meta = minetest.get_meta(pos) @@ -153,4 +260,312 @@ minetest.register_node("canons:canon", { }) +-- bronze cannon -- +minetest.register_node("canons:bronze_canon", { + description = "Cannon", + stack_max = 1, + tiles = {"cannon_bronze_cannon_top.png","cannon_bronze_cannon_top.png","cannon_bronze_cannon_side.png","cannon_bronze_cannon_side.png","cannon_bronze_cannon_top.png^canons_canons_rim.png","cannon_bronze_cannon_side.png"}, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = {cracky=1}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.2, 0.2, -0.7, 0.2, -0.2, 0.9}, -- barrle -- + {0.53, -0.1, 0.1, -0.53, 0.1, -0.1}, -- plinth -- + + -- side , top hight , depth , side , bottom, side, + + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.2, 0.2, -0.7, 0.2, -0.2, 0.9}, + {0.53, -0.1, 0.1, -0.53, 0.1, -0.1}, + }, + }, + on_punch = canons.punched, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", canons.formspec) + meta:set_string("infotext", "Canon has no muni and no gunpowder") + local inv = meta:get_inventory() + inv:set_size("gunpowder", 1) + inv:set_size("muni", 1) + + end, + can_dig = function(pos,player) + local meta = minetest.get_meta(pos); + local inv = meta:get_inventory() + if not inv:is_empty("gunpowder") then + return false + elseif not inv:is_empty("muni") then + return false + else + return true + end + end, + allow_metadata_inventory_put = function(pos, listname, index, stack, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + stack = stack:to_table() + if listname == "gunpowder" and stack.name == "canons:gunpowder" then + return stack.count + elseif listname == "muni" and canons.is_muni(stack.name) then + return stack.count + else return 0 + end + + end, + allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) + local meta = minetest.get_meta(pos) + local inv = meta:get_inventory() + local stack = inv:get_stack(from_list, from_index) + stack = stack:to_table() + if to_list == "gunpowder" and stack.name == "canons:gunpowder" then + return count + + elseif to_list == "muni" and canons.is_muni(stack.name) then + return count + else + return 0 + end + + end, + on_metadata_inventory_put = canons.inventory_modified, + + on_metadata_inventory_take = canons.inventory_modified, + + on_metadata_inventory_move = canons.inventory_modified, + +}) + +minetest.register_node("canons:canon_stand", { + description = "Cannon Stand", + stack_max = 99, + tiles = {"default_junglewood.png","default_junglewood.png^canons_canons_rim.png","default_junglewood.png^canons_canons_rim.png","default_junglewood.png^canons_canons_rim.png","default_cobble.png","default_junglewood.png^canons_canons_rim.png"}, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- bottom -- + {-0.5, -0.5, -0.5, -0.35, 1.0, 0.5}, -- side left -- + {0.35, -0.5, -0.5, 0.5, 1.0, 0.5}, -- side right -- + {0.35, -0.5, -0.2, 0.5, 1.2, 0.5}, -- side right -- + {-0.5, -0.5, -0.2, -0.35, 1.2, 0.5}, -- side left -- + + -- side , top , side , side , bottom, side, + + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, +}) +minetest.register_node("canons:canon_ball_wood", { + description = "Cannon Ball Stone", + stack_max = 99, + tiles = {"default_wood.png"}, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}, + + -- side , top , side , side , bottom, side, + + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}, + }, + }, +}) + +minetest.register_node("canons:canon_ball_stone", { + description = "Cannon Ball Stone", + stack_max = 99, + tiles = {"default_stone.png"}, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}, + + -- side , top , side , side , bottom, side, + + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}, + }, + }, +}) + +minetest.register_node("canons:canon_ball_steel", { + description = "Cannon Ball Wood", + stack_max = 99, + tiles = {"cannon_cannon_top.png"}, + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}, + + -- side , top , side , side , bottom, side, + + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2}, + }, + }, +}) + +minetest.register_node("canons:canon_ball_wood_stack", { + description = "Cannon Ball Wood Stack", + stack_max = 99, + tiles = {"default_wood.png"}, + drawtype = "nodebox", + drop = 'canons:canon_ball_wood 4', + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.1, -0.2, 0.2, 0.3, 0.2}, -- ball top + {0.1, -0.5, -0.2, 0.2, -0.1, 0.2}, -- ball left + {0.5, -0.5, -0.2, 0.2, -0.1, 0.2}, -- ball left + {-0.2, -0.5, 0.5, 0.0, -0.1, 0.2},-- ball back + {0.0, -0.5, 0.1, -0.4, -0.1, 0.2},--ball back + {-0.2, -0.5, 0.5, -0.4, -0.1, 0.2},-- ball back + {-0.2, -0.5, 0.1, -0.4, -0.1, 0.2},-- ball back + {-0.2, -0.5, -0.1, -0.4, -0.1, -0.5}, + {0.0, -0.5, -0.1, -0.4, -0.1, -0.5}, + + + -- side , top , side , side , bottom, side, + + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.4, -0.5, -0.5, 0.5, 0.3, 0.5}, + }, + }, +}) + + +minetest.register_node("canons:canon_ball_stone_stack", { + description = "Cannon Ball Stone Stack", + stack_max = 99, + tiles = {"default_stone.png"}, + drawtype = "nodebox", + drop = 'canons:canon_ball_stone 4', + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.1, -0.2, 0.2, 0.3, 0.2}, -- ball top + {0.1, -0.5, -0.2, 0.2, -0.1, 0.2}, -- ball left + {0.5, -0.5, -0.2, 0.2, -0.1, 0.2}, -- ball left + {-0.2, -0.5, 0.5, 0.0, -0.1, 0.2},-- ball back + {0.0, -0.5, 0.1, -0.4, -0.1, 0.2},--ball back + {-0.2, -0.5, 0.5, -0.4, -0.1, 0.2},-- ball back + {-0.2, -0.5, 0.1, -0.4, -0.1, 0.2},-- ball back + {-0.2, -0.5, -0.1, -0.4, -0.1, -0.5}, + {0.0, -0.5, -0.1, -0.4, -0.1, -0.5}, + + + -- side , top , side , side , bottom, side, + + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.4, -0.5, -0.5, 0.5, 0.3, 0.5}, + }, + }, +}) + +minetest.register_node("canons:canon_ball_steel_stack", { + description = "Cannon Ball Steel Stack", + stack_max = 99, + tiles = {"cannon_cannon_top.png"}, + drawtype = "nodebox", + drop = 'canons:canon_ball_steel 4', + paramtype = "light", + paramtype2 = "facedir", + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + {-0.2, -0.1, -0.2, 0.2, 0.3, 0.2}, -- ball top + {0.1, -0.5, -0.2, 0.2, -0.1, 0.2}, -- ball left + {0.5, -0.5, -0.2, 0.2, -0.1, 0.2}, -- ball left + {-0.2, -0.5, 0.5, 0.0, -0.1, 0.2},-- ball back + {0.0, -0.5, 0.1, -0.4, -0.1, 0.2},--ball back + {-0.2, -0.5, 0.5, -0.4, -0.1, 0.2},-- ball back + {-0.2, -0.5, 0.1, -0.4, -0.1, 0.2},-- ball back + {-0.2, -0.5, -0.1, -0.4, -0.1, -0.5}, + {0.0, -0.5, -0.1, -0.4, -0.1, -0.5}, + + + -- side , top , side , side , bottom, side, + + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.4, -0.5, -0.5, 0.5, 0.3, 0.5}, + }, + }, +}) + + diff --git a/sounds/canons_hit.ogg b/sounds/canons_hit.ogg index a49efb34966fa99747dbbba40fae0b1bfa6907fe..df953f14d460286569774d74dfe0173cabfaa5c1 100644 GIT binary patch literal 31348 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 H;NbiZ2|&{N delta 10640 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 E0YR5td;kCd diff --git a/textures/cannon_bronze_cannon_side.png b/textures/cannon_bronze_cannon_side.png new file mode 100644 index 0000000000000000000000000000000000000000..cac19adfc380d41d01d4c79be0dc6510cc030144 GIT binary patch literal 437 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85p>QK$!8;-MT+OLG}_)Usv|KtP=bJT1#b4z6J_OmAFQf1m~xf zlqVLYG6W=M=9TFAxrQi|8S9zq85+8Ob}|RrB}<%~}s6h2@2`DHfz0I^BDl_Q7#eQX|R{}r37b<6yt+r=V TXDWCG3_=D^S3j3^P6Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf5&!@T5&_cPe*6Fc00(qQO+^RY1sD$y zDy1CB>i_@%8gxZibW?9;ba!ELWdKlNX>N2bPDNB8b~7$DE-^7j^FlWO00C%8L_t(I zPfe0bPs1<}gne%!<#C2K?Wv@%ghGHTP$*EK{Qn=rH=bZ2t*rGvW@gt8w@tRYm|)$d z&bxWOpJn*_sp2@vNMT`^=RbY@zA4XL{nD2B-(7X?s?VLy*Oek4o6 zR8v8z&R!8ZAD0CMltCNr7dh}wA6Mc@c(ieq#q8UE7uZPtl{$fspNnIyr* zB_fHP2DAMS8UkOEV3G9R(p8FM2JE!0PTP_H&=xndEU>Ah7!CH1>kKy{CDO@4jjhM&YX%P2(+Q>4$}lu|xn={Ep$#!M zAd5R%V?~8}>WIXhRscgnDF%?f27{B!lvI6;>1s;*b z3=G_YAk0{w5<>&kwYRh(N($7~OmE>K9S#5JNMI6tkVJh3R1As{g`uSCz! zHAJDzSkF|?(9r#}lQ~e;V^0^y5DWjMlPvj;DDb#idd?EL8JvE9^6&d67N?)okP76P z^@#gV&c1_(I#0xN9g<*8>}fJ^(>rZ+bDQtH=M#VL3q8H*L}{#%@8n~zcV(TKxAlFs z?PZhR9lO?vMjWi1H%X;)O6p3l%U8PZ+@7)L^ye61hSv=T%@V9k|+3rpDcG$%-~&EIhD%}yij!t15`(&nWn)*U=AxLBblP~eybNB#62{8Obu VoxKnIDhGO(!PC{xWt~$(69Adml>Pt! literal 0 HcmV?d00001 diff --git a/textures/cannon_cannon_top.png b/textures/cannon_cannon_top.png new file mode 100644 index 0000000000000000000000000000000000000000..223dcb6c597ae009b3527481a366e8159fede8da GIT binary patch literal 463 zcmV;=0WkiFP)H;LN@>a0XRuSK~y+TUD8>S!Y~X3(A;Jw zKuGb&&aj00A8DS_;G)onN|w4?lI?D_TK#<3dc9sQmx9G&k<9Pglvpw*X+;cH=mb4~QPZtW_rC$Y$GH z=ceX?Yhp7b)<*}l{eB+;6@(f|7s5c!3Tcu6A;%_EOCx}`UE2DGl5*ULQrwJoeUjxa35)VC(TB^1T)Aj|QtF`oIvr!05DywH* zCgUg>fNxRnppd6%@6D14tr_rZr2K-smw?Z%-@kPj{sFE9xD|al+$8`2002ovPDHLk FV1iTVzQF(h literal 0 HcmV?d00001 diff --git a/textures/canons_bullet - Copy.png b/textures/canons_bullet - Copy.png new file mode 100644 index 0000000000000000000000000000000000000000..4101283ca1eea0aa7779e63608a97a2ab968a307 GIT binary patch literal 420 zcmV;V0bBlwP)VGd000McNliru-3kQ;7zCc-Z7=`;0WnEL zK~y-)rIRsF!cY{2ze@-WCWH=143G{wnHZyn#Yq<(H0kQxU*^o}$Zv2WY^Dwk64DMf zAt_LW=RjVeg^Gqdz2TnkoO^ShD5cn^iuxfU{}O8BVqSw|w^PxcUtZ&Y$z=S=)oBYr0kV<6tXrtX9DtH>z-%(cC|6RTolD%-1gs$OcRnEWy^RIx zL}4&kCM%^qMIVHS;Mi^TaC5O7=diT`2Lrz139c8=cSm%(J=uCl(KP1W8**$l2tM9Y zPOcYh9W9jr;OYKc0i2y2r5gM02p~D6M3)8V(jZ;g3)~6#>t`ykXZ--lbdWBFT=XIU O0000*ARs=V?9$nLqqq^PUb*WYdl>XLoEE)PH^Npq9DLh{6%rzk@$*B z>=nZEUw*#xWrCUW1(nlz&doDcN}aqG^?T*>ho^10dJJQ~?~se+;#e}JYHeuOXGO_H zD<5zzS}Kysv9S7mdy3`-gIUFLOeONOxxbV#FlZ)xylbgGX=Q_fH>YdG!Nm^wSC~YY zvfoB+_|=%v^YI@mhl+$ty21A3GOZiR(i|_C>XaQ)Iu5XkNbD3gkdjjP>{c+_p7Yi> Z#?A*Z9rGd+R|DP6;OXk;vd$@?2>@?`a~}Wz literal 0 HcmV?d00001 diff --git a/textures/canons_canons_rim.png b/textures/canons_canons_rim.png new file mode 100644 index 0000000000000000000000000000000000000000..aa9cddd81b688587cbb3eec83bcaf72f45deff6a GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0gN_s>q|KvlV(E{-7<{%bE7ay1wTxLmwa&CYGDpRE0@EbhSL^)-$MQ@GkAY+BCm zQq-Jz)77oLhfh-0$SNh~nPPwKuAJ9DRy@DJvOz&9E+XvwLe2+U?u$o+KiIO4br0i@ smvsUAzRJvcFzKS=VrQVn`>B?Uty@pr_1o^K0JNCF)78&qol`;+09W-_ssI20 literal 0 HcmV?d00001