From b76956979acf7e925f02d7a31e4e7ed41e7eccca Mon Sep 17 00:00:00 2001 From: FaceDeer Date: Sun, 9 Feb 2020 18:27:06 -0700 Subject: [PATCH] Initial commit --- .gitattributes | 2 + .gitignore | 41 +++ LICENSE | 21 ++ README.md | 7 + init.lua | 351 +++++++++++++++++++ locale/template.pot | 23 ++ locale/update.bat | 6 + mod.conf | 4 + settingtypes.txt | 1 + textures/license.txt | 7 + textures/torch_bomb_bottom.png | Bin 0 -> 99 bytes textures/torch_bomb_side.png | Bin 0 -> 211 bytes textures/torch_bomb_top.png | Bin 0 -> 138 bytes textures/torch_bomb_top_burning.png | Bin 0 -> 144 bytes textures/torch_bomb_top_burning_animated.png | Bin 0 -> 229 bytes 15 files changed, 463 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 init.lua create mode 100644 locale/template.pot create mode 100644 locale/update.bat create mode 100644 mod.conf create mode 100644 settingtypes.txt create mode 100644 textures/license.txt create mode 100644 textures/torch_bomb_bottom.png create mode 100644 textures/torch_bomb_side.png create mode 100644 textures/torch_bomb_top.png create mode 100644 textures/torch_bomb_top_burning.png create mode 100644 textures/torch_bomb_top_burning_animated.png diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6fd0a37 --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# Compiled Lua sources +luac.out + +# luarocks build files +*.src.rock +*.zip +*.tar.gz + +# Object files +*.o +*.os +*.ko +*.obj +*.elf + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo +*.def +*.exp + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f03989c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 FaceDeer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a5d0c80 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +## Torch Bomb + +If you've ever been exploring a cave and found a deep, dark hole in the ground with no clue as to what was below, this is the mod for you. Ignite a torch bomb and three seconds later it'll blast torches into the walls (and ceiling and floor) in every direction. + +One torch bomb will fire up to 42 torches (though usually much less than that) in a radial pattern around itself, with a minimum range of 5 meters (the torches are going too fast closer than that and shatter without a trace) and a maximum range of 40 meters from the detonation point. Torch bombs are falling nodes when lit, much like TNT. + +TNT is an optional dependency, but torch bombs don't have a crafting recipe without this mod enabled. \ No newline at end of file diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..149a91d --- /dev/null +++ b/init.lua @@ -0,0 +1,351 @@ +local tnt_modpath = minetest.get_modpath("tnt") +local S = minetest.get_translator("tnt") + +-- Default to enabled when in singleplayer +local enable_tnt = minetest.settings:get_bool("enable_tnt") +if enable_tnt == nil then + enable_tnt = minetest.is_singleplayer() +end + +local bomb_range = tonumber(minetest.settings:get("torch_bomb_max_range")) or 40 + +-- 12 torches (torch grenade?) +local ico1 = { + vector.new(0.000000, -1.000000, 0.000000), + vector.new(0.723600, -0.447215, 0.525720), + vector.new(-0.276385, -0.447215, 0.850640), + vector.new(-0.894425, -0.447215, 0.000000), + vector.new(-0.276385, -0.447215, -0.850640), + vector.new(0.723600, -0.447215, -0.525720), + vector.new(0.276385, 0.447215, 0.850640), + vector.new(-0.723600, 0.447215, 0.525720), + vector.new(-0.723600, 0.447215, -0.525720), + vector.new(0.276385, 0.447215, -0.850640), + vector.new(0.894425, 0.447215, 0.000000), + vector.new(0.000000, 1.000000, 0.000000), +} + +-- 42 torches +local ico2 = { + vector.new(0.000000, -1.000000, 0.000000), + vector.new(0.723607, -0.447220, 0.525725), + vector.new(-0.276388, -0.447220, 0.850649), + vector.new(-0.894426, -0.447216, 0.000000), + vector.new(-0.276388, -0.447220, -0.850649), + vector.new(0.723607, -0.447220, -0.525725), + vector.new(0.276388, 0.447220, 0.850649), + vector.new(-0.723607, 0.447220, 0.525725), + vector.new(-0.723607, 0.447220, -0.525725), + vector.new(0.276388, 0.447220, -0.850649), + vector.new(0.894426, 0.447216, 0.000000), + vector.new(0.000000, 1.000000, 0.000000), + vector.new(-0.162456, -0.850654, 0.499995), + vector.new(0.425323, -0.850654, 0.309011), + vector.new(0.262869, -0.525738, 0.809012), + vector.new(0.850648, -0.525736, 0.000000), + vector.new(0.425323, -0.850654, -0.309011), + vector.new(-0.525730, -0.850652, 0.000000), + vector.new(-0.688189, -0.525736, 0.499997), + vector.new(-0.162456, -0.850654, -0.499995), + vector.new(-0.688189, -0.525736, -0.499997), + vector.new(0.262869, -0.525738, -0.809012), + vector.new(0.951058, 0.000000, 0.309013), + vector.new(0.951058, 0.000000, -0.309013), + vector.new(0.000000, 0.000000, 1.000000), + vector.new(0.587786, 0.000000, 0.809017), + vector.new(-0.951058, 0.000000, 0.309013), + vector.new(-0.587786, 0.000000, 0.809017), + vector.new(-0.587786, 0.000000, -0.809017), + vector.new(-0.951058, 0.000000, -0.309013), + vector.new(0.587786, 0.000000, -0.809017), + vector.new(0.000000, 0.000000, -1.000000), + vector.new(0.688189, 0.525736, 0.499997), + vector.new(-0.262869, 0.525738, 0.809012), + vector.new(-0.850648, 0.525736, 0.000000), + vector.new(-0.262869, 0.525738, -0.809012), + vector.new(0.688189, 0.525736, -0.499997), + vector.new(0.162456, 0.850654, 0.499995), + vector.new(0.525730, 0.850652, 0.000000), + vector.new(-0.425323, 0.850654, 0.309011), + vector.new(-0.425323, 0.850654, -0.309011), + vector.new(0.162456, 0.850654, -0.499995), +} + +-- 162 torches (maybe for a mega-bomb with big range) +local ico3 = { + vector.new(0.000000, -1.000000, 0.000000), + vector.new(0.723607, -0.447220, 0.525725), + vector.new(-0.276388, -0.447220, 0.850649), + vector.new(-0.894426, -0.447216, 0.000000), + vector.new(-0.276388, -0.447220, -0.850649), + vector.new(0.723607, -0.447220, -0.525725), + vector.new(0.276388, 0.447220, 0.850649), + vector.new(-0.723607, 0.447220, 0.525725), + vector.new(-0.723607, 0.447220, -0.525725), + vector.new(0.276388, 0.447220, -0.850649), + vector.new(0.894426, 0.447216, 0.000000), + vector.new(0.000000, 1.000000, 0.000000), + vector.new(-0.232822, -0.657519, 0.716563), + vector.new(-0.162456, -0.850654, 0.499995), + vector.new(-0.077607, -0.967950, 0.238853), + vector.new(0.203181, -0.967950, 0.147618), + vector.new(0.425323, -0.850654, 0.309011), + vector.new(0.609547, -0.657519, 0.442856), + vector.new(0.531941, -0.502302, 0.681712), + vector.new(0.262869, -0.525738, 0.809012), + vector.new(-0.029639, -0.502302, 0.864184), + vector.new(0.812729, -0.502301, -0.295238), + vector.new(0.850648, -0.525736, 0.000000), + vector.new(0.812729, -0.502301, 0.295238), + vector.new(0.203181, -0.967950, -0.147618), + vector.new(0.425323, -0.850654, -0.309011), + vector.new(0.609547, -0.657519, -0.442856), + vector.new(-0.753442, -0.657515, 0.000000), + vector.new(-0.525730, -0.850652, 0.000000), + vector.new(-0.251147, -0.967949, 0.000000), + vector.new(-0.483971, -0.502302, 0.716565), + vector.new(-0.688189, -0.525736, 0.499997), + vector.new(-0.831051, -0.502299, 0.238853), + vector.new(-0.232822, -0.657519, -0.716563), + vector.new(-0.162456, -0.850654, -0.499995), + vector.new(-0.077607, -0.967950, -0.238853), + vector.new(-0.831051, -0.502299, -0.238853), + vector.new(-0.688189, -0.525736, -0.499997), + vector.new(-0.483971, -0.502302, -0.716565), + vector.new(-0.029639, -0.502302, -0.864184), + vector.new(0.262869, -0.525738, -0.809012), + vector.new(0.531941, -0.502302, -0.681712), + vector.new(0.956626, 0.251149, 0.147618), + vector.new(0.951058, -0.000000, 0.309013), + vector.new(0.860698, -0.251151, 0.442858), + vector.new(0.860698, -0.251151, -0.442858), + vector.new(0.951058, 0.000000, -0.309013), + vector.new(0.956626, 0.251149, -0.147618), + vector.new(0.155215, 0.251152, 0.955422), + vector.new(0.000000, -0.000000, 1.000000), + vector.new(-0.155215, -0.251152, 0.955422), + vector.new(0.687159, -0.251152, 0.681715), + vector.new(0.587786, 0.000000, 0.809017), + vector.new(0.436007, 0.251152, 0.864188), + vector.new(-0.860698, 0.251151, 0.442858), + vector.new(-0.951058, -0.000000, 0.309013), + vector.new(-0.956626, -0.251149, 0.147618), + vector.new(-0.436007, -0.251152, 0.864188), + vector.new(-0.587786, 0.000000, 0.809017), + vector.new(-0.687159, 0.251152, 0.681715), + vector.new(-0.687159, 0.251152, -0.681715), + vector.new(-0.587786, -0.000000, -0.809017), + vector.new(-0.436007, -0.251152, -0.864188), + vector.new(-0.956626, -0.251149, -0.147618), + vector.new(-0.951058, 0.000000, -0.309013), + vector.new(-0.860698, 0.251151, -0.442858), + vector.new(0.436007, 0.251152, -0.864188), + vector.new(0.587786, -0.000000, -0.809017), + vector.new(0.687159, -0.251152, -0.681715), + vector.new(-0.155215, -0.251152, -0.955422), + vector.new(0.000000, 0.000000, -1.000000), + vector.new(0.155215, 0.251152, -0.955422), + vector.new(0.831051, 0.502299, 0.238853), + vector.new(0.688189, 0.525736, 0.499997), + vector.new(0.483971, 0.502302, 0.716565), + vector.new(0.029639, 0.502302, 0.864184), + vector.new(-0.262869, 0.525738, 0.809012), + vector.new(-0.531941, 0.502302, 0.681712), + vector.new(-0.812729, 0.502301, 0.295238), + vector.new(-0.850648, 0.525736, 0.000000), + vector.new(-0.812729, 0.502301, -0.295238), + vector.new(-0.531941, 0.502302, -0.681712), + vector.new(-0.262869, 0.525738, -0.809012), + vector.new(0.029639, 0.502302, -0.864184), + vector.new(0.483971, 0.502302, -0.716565), + vector.new(0.688189, 0.525736, -0.499997), + vector.new(0.831051, 0.502299, -0.238853), + vector.new(0.077607, 0.967950, 0.238853), + vector.new(0.162456, 0.850654, 0.499995), + vector.new(0.232822, 0.657519, 0.716563), + vector.new(0.753442, 0.657515, 0.000000), + vector.new(0.525730, 0.850652, 0.000000), + vector.new(0.251147, 0.967949, 0.000000), + vector.new(-0.203181, 0.967950, 0.147618), + vector.new(-0.425323, 0.850654, 0.309011), + vector.new(-0.609547, 0.657519, 0.442856), + vector.new(-0.203181, 0.967950, -0.147618), + vector.new(-0.425323, 0.850654, -0.309011), + vector.new(-0.609547, 0.657519, -0.442856), + vector.new(0.077607, 0.967950, -0.238853), + vector.new(0.162456, 0.850654, -0.499995), + vector.new(0.232822, 0.657519, -0.716563), + vector.new(0.361800, 0.894429, -0.262863), + vector.new(0.638194, 0.723610, -0.262864), + vector.new(0.447209, 0.723612, -0.525728), + vector.new(-0.138197, 0.894430, -0.425319), + vector.new(-0.052790, 0.723612, -0.688185), + vector.new(-0.361804, 0.723612, -0.587778), + vector.new(-0.447210, 0.894429, 0.000000), + vector.new(-0.670817, 0.723611, -0.162457), + vector.new(-0.670817, 0.723611, 0.162457), + vector.new(-0.138197, 0.894430, 0.425319), + vector.new(-0.361804, 0.723612, 0.587778), + vector.new(-0.052790, 0.723612, 0.688185), + vector.new(0.361800, 0.894429, 0.262863), + vector.new(0.447209, 0.723612, 0.525728), + vector.new(0.638194, 0.723610, 0.262864), + vector.new(0.861804, 0.276396, -0.425322), + vector.new(0.809019, 0.000000, -0.587782), + vector.new(0.670821, 0.276397, -0.688189), + vector.new(-0.138199, 0.276397, -0.951055), + vector.new(-0.309016, -0.000000, -0.951057), + vector.new(-0.447215, 0.276397, -0.850649), + vector.new(-0.947213, 0.276396, -0.162458), + vector.new(-1.000000, 0.000001, 0.000000), + vector.new(-0.947213, 0.276397, 0.162458), + vector.new(-0.447216, 0.276397, 0.850648), + vector.new(-0.309017, -0.000001, 0.951056), + vector.new(-0.138199, 0.276397, 0.951055), + vector.new(0.670820, 0.276396, 0.688190), + vector.new(0.809019, -0.000002, 0.587783), + vector.new(0.861804, 0.276394, 0.425323), + vector.new(0.309017, -0.000000, -0.951056), + vector.new(0.447216, -0.276398, -0.850648), + vector.new(0.138199, -0.276398, -0.951055), + vector.new(-0.809018, -0.000000, -0.587783), + vector.new(-0.670819, -0.276397, -0.688191), + vector.new(-0.861803, -0.276396, -0.425324), + vector.new(-0.809018, 0.000000, 0.587783), + vector.new(-0.861803, -0.276396, 0.425324), + vector.new(-0.670819, -0.276397, 0.688191), + vector.new(0.309017, 0.000000, 0.951056), + vector.new(0.138199, -0.276398, 0.951055), + vector.new(0.447216, -0.276398, 0.850648), + vector.new(1.000000, 0.000000, 0.000000), + vector.new(0.947213, -0.276396, 0.162458), + vector.new(0.947213, -0.276396, -0.162458), + vector.new(0.361803, -0.723612, -0.587779), + vector.new(0.138197, -0.894429, -0.425321), + vector.new(0.052789, -0.723611, -0.688186), + vector.new(-0.447211, -0.723612, -0.525727), + vector.new(-0.361801, -0.894429, -0.262863), + vector.new(-0.638195, -0.723609, -0.262863), + vector.new(-0.638195, -0.723609, 0.262864), + vector.new(-0.361801, -0.894428, 0.262864), + vector.new(-0.447211, -0.723610, 0.525729), + vector.new(0.670817, -0.723611, -0.162457), + vector.new(0.670818, -0.723610, 0.162458), + vector.new(0.447211, -0.894428, 0.000001), + vector.new(0.052790, -0.723612, 0.688185), + vector.new(0.138199, -0.894429, 0.425321), + vector.new(0.361805, -0.723611, 0.587779), +} + +local function find_target(raycast) + local next_pointed = raycast:next() + while next_pointed do + local under_pos = next_pointed.under + local under_node = minetest.get_node(under_pos) + local under_def = minetest.registered_nodes[under_node.name] + local above_pos = next_pointed.above + local above_node = minetest.get_node(above_pos) + local above_def = minetest.registered_nodes[above_node.name] + + if above_def.buildable_to and under_def.walkable then + return next_pointed + end + + next_pointed = raycast:next(next_pointed) + end +end + +local torch_def_on_place = minetest.registered_nodes["default:torch"].on_place + +local function kerblam(pos, placer, dirs, range) + local targets = {} + for _, pos2 in ipairs(dirs) do + local raycast = minetest.raycast(pos, vector.add(pos, vector.multiply(pos2, range)), false, true) + local target_pointed = find_target(raycast) + if target_pointed then + if vector.distance(pos, target_pointed.above) > 5 then + table.insert(targets, target_pointed) + end + end + end + + for _, target in ipairs(targets) do + if minetest.get_item_group(minetest.get_node(target.above).name, "torch") == 0 then -- TODO remove this check after culling close-together targets + torch_def_on_place(ItemStack("default:torch"), placer, target) + end + end +end + +minetest.register_node("torch_bomb:torch_bomb", { + description = S("Torch Bomb"), + drawtype = "normal", -- See "Node drawtypes" + tiles = {"torch_bomb_top.png", "torch_bomb_bottom.png", "torch_bomb_side.png"}, + paramtype = "light", -- See "Nodes" + paramtype2 = "facedir", -- See "Nodes" + + groups = {tnt = 1}, + + on_punch = function(pos, node, puncher) + if puncher:get_wielded_item():get_name() == "default:torch" then + minetest.set_node(pos, {name = "torch_bomb:torch_bomb_burning"}) + minetest.get_meta(pos):set_string("torch_bomb_ignitor", puncher:get_player_name()) + minetest.log("action", puncher:get_player_name() .. " ignites " .. node.name .. " at " .. + minetest.pos_to_string(pos)) + end + end, + + on_ignite = function(pos) -- used by TNT mod + minetest.set_node(pos, {name = "torch_bomb:torch_bomb_burning"}) + end, +}) + +minetest.register_node("torch_bomb:torch_bomb_burning", { + description = S("Torch Bomb"), + drawtype = "normal", -- See "Node drawtypes" + tiles = {{ + name = "torch_bomb_top_burning_animated.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1, + } + }, + "torch_bomb_bottom.png", "torch_bomb_side.png"}, + groups = {falling_node = 1, not_in_creative_inventory = 1}, + paramtype = "light", + paramtype2 = "facedir", + light_source = 6, + + on_construct = function(pos) + if tnt_modpath then + minetest.sound_play("tnt_ignite", {pos = pos}) + end + minetest.get_node_timer(pos):start(3) + minetest.check_for_falling(pos) + end, + + on_timer = function(pos, elapsed) + local ignitor_name = minetest.get_meta(pos):get("torch_bomb_ignitor") + local puncher + if ignitor_name then + puncher = minetest.get_player_by_name(ignitor_name) + end + minetest.set_node(pos, {name="air"}) + if tnt_modpath then + tnt.boom(pos, {radius=1, damage_radius=3}) + end + kerblam(pos, puncher, ico2, bomb_range) + end, +}) + +if enable_tnt and tnt_modpath then + minetest.register_craft({ + output = "torch_bomb:torch_bomb", + recipe = { + {'group:wood', 'default:coalblock', 'group:wood'}, + {'group:wood', 'tnt:tnt_stick', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + }, + }) +end diff --git a/locale/template.pot b/locale/template.pot new file mode 100644 index 0000000..d98618c --- /dev/null +++ b/locale/template.pot @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-02-09 18:05-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: torch_bomb\init.lua:275 +#: torch_bomb\init.lua:298 +msgid "Torch Bomb" +msgstr "" diff --git a/locale/update.bat b/locale/update.bat new file mode 100644 index 0000000..e87d44c --- /dev/null +++ b/locale/update.bat @@ -0,0 +1,6 @@ +@echo off +setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION +cd .. +set LIST= +for /r %%X in (*.lua) do set LIST=!LIST! %%X +..\intllib\tools\xgettext.bat %LIST% \ No newline at end of file diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..057519c --- /dev/null +++ b/mod.conf @@ -0,0 +1,4 @@ +name = torch_bomb +description = Place torches throughout your entire surroundings with a torch bomb +depends = default +optional_depends = tnt \ No newline at end of file diff --git a/settingtypes.txt b/settingtypes.txt new file mode 100644 index 0000000..e41f3e5 --- /dev/null +++ b/settingtypes.txt @@ -0,0 +1 @@ +torch_bomb_max_range (Max range) int 40 \ No newline at end of file diff --git a/textures/license.txt b/textures/license.txt new file mode 100644 index 0000000..7aea673 --- /dev/null +++ b/textures/license.txt @@ -0,0 +1,7 @@ +Textures in this folder were modified by FaceDeer from textures in the tnt mod. +Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) +Copyright (C) 2014-2016 BlockMen +Copyright (C) 2014-2016 ShadowNinja +Copyright (C) 2015-2016 Wuzzy +Copyright (C) 2016 sofar (sofar@foo-projects.org) +Copyright (C) 2018 paramat \ No newline at end of file diff --git a/textures/torch_bomb_bottom.png b/textures/torch_bomb_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..274daedef7251aeec19092467fea95155de40538 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uDUX8R;oOn`ht-!IQ9Ys uMLk^{Ln`8uBRE-jdL0-Pof;d23>nmaD=;R!&b$Luz~JfX=d#Wzp$Pzj1Qo0R literal 0 HcmV?d00001 diff --git a/textures/torch_bomb_side.png b/textures/torch_bomb_side.png new file mode 100644 index 0000000000000000000000000000000000000000..7c413385cbb625afbecf0306236d02dfe0312090 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Uw}`DtFi>=|Ns9JoHVrM1Pzr$ ztW-oDa%XBS1- zsy;c>_w3=~_Yc;%8ORCSS(E}zcJOp@45^4qevqD=?0PIjFu{eHrzfTbP0 Hl+XkKr`<$l literal 0 HcmV?d00001 diff --git a/textures/torch_bomb_top.png b/textures/torch_bomb_top.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb194ae33e31ec8f8610964d692e525f29be4bd GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u0YyKmB&+GFlkbaIFMuG z>Eakt5tkgn$->j?z@Q=_E$QUU>e84rYnFnZ@`Q|p6pqpop45n)O^i$W7&)XHTrxZ| gG@SHXI9Qn&)Rd%_-gvq44$vG1Pgg&ebxsLQ0AP(Et^fc4 literal 0 HcmV?d00001 diff --git a/textures/torch_bomb_top_burning.png b/textures/torch_bomb_top_burning.png new file mode 100644 index 0000000000000000000000000000000000000000..18f7c50a336fee7227ef26ef35d64f6eefd75f14 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-u0YyKmB&+G@ZK4Q*}paN zfqZ*U7srr_xa0^<7M@-Q1{FRtqn0+VZlgTe~DWM4f556TJ literal 0 HcmV?d00001 diff --git a/textures/torch_bomb_top_burning_animated.png b/textures/torch_bomb_top_burning_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..d1aa6cb79b14b3379e388a03fc7a1a1b053d1dd5 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*#0(_!gymU*6iXJKE$_m2%%WEGCq_9$$$PWZl;MUuZLp7}y;>pq9l)w~X`W;njHZn$m3 Z@L^8b+4W0PWPt8t@O1TaS?83{1OV