From 261385869c51a725d8e0063e2bea42f3a4e1775a Mon Sep 17 00:00:00 2001
From: Someone <someone@somenet.org>
Date: Sat, 12 Jan 2019 23:42:02 +0100
Subject: [PATCH] gitify, so I dont delete my stuff again.

---
 License.txt                         |  19 ++
 changelog.txt                       |  13 ++
 control.lua                         | 264 ++++++++++++++++++++++++++++
 data.lua                            |   4 +
 graphics/entity/Bomb - Area.png     | Bin 0 -> 6873 bytes
 graphics/entity/Bomb - Charging.png | Bin 0 -> 6793 bytes
 graphics/entity/Bomb.png            | Bin 0 -> 5608 bytes
 graphics/icons/Bomb.png             | Bin 0 -> 2147 bytes
 graphics/null.png                   | Bin 0 -> 2792 bytes
 info.json                           |  10 ++
 locale/en/entity-descriptions.cfg   |   4 +
 locale/en/entity-names.cfg          |   4 +
 locale/en/landfill.cfg              |  27 +++
 prototypes/entities.lua             |  77 ++++++++
 prototypes/items.lua                |  15 ++
 prototypes/projectiles.lua          |  71 ++++++++
 prototypes/recipes.lua              |  20 +++
 17 files changed, 528 insertions(+)
 create mode 100644 License.txt
 create mode 100644 changelog.txt
 create mode 100644 control.lua
 create mode 100644 data.lua
 create mode 100644 graphics/entity/Bomb - Area.png
 create mode 100644 graphics/entity/Bomb - Charging.png
 create mode 100644 graphics/entity/Bomb.png
 create mode 100644 graphics/icons/Bomb.png
 create mode 100644 graphics/null.png
 create mode 100644 info.json
 create mode 100644 locale/en/entity-descriptions.cfg
 create mode 100644 locale/en/entity-names.cfg
 create mode 100644 locale/en/landfill.cfg
 create mode 100644 prototypes/entities.lua
 create mode 100644 prototypes/items.lua
 create mode 100644 prototypes/projectiles.lua
 create mode 100644 prototypes/recipes.lua

diff --git a/License.txt b/License.txt
new file mode 100644
index 0000000..ae7e15e
--- /dev/null
+++ b/License.txt
@@ -0,0 +1,19 @@
+Copyright (c) 2018-2020 Someone <someone@somenet.org>
+
+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/changelog.txt b/changelog.txt
new file mode 100644
index 0000000..9edd64a
--- /dev/null
+++ b/changelog.txt
@@ -0,0 +1,13 @@
+---------------------------------------------------------------------------------------------------
+Version: 0.16.4
+Date: 2018-08-21
+
+  Changed:
+    - Stacksize decreased from 64 to 50.
+
+---------------------------------------------------------------------------------------------------
+Version: 0.16.3
+Date: 2018-07-29
+
+  Changed:
+    - Added changelog and License files for future reference. No functional changes.
diff --git a/control.lua b/control.lua
new file mode 100644
index 0000000..a3a833f
--- /dev/null
+++ b/control.lua
@@ -0,0 +1,264 @@
+
+--[[added by someone1337: water-creation + displace dirt radius]]
+local explosionRadius = 3
+
+local displaceDirt = false
+local throwRocksIntoWater = false
+local throwRocks = true
+local maximumRockThrowDistance = explosionRadius + 9
+local bombs
+local replaceableTiles =
+{
+  ["water"] = "grass-1",
+  ["deepwater"] = "grass-1",
+  ["water-green"] = "grass-1",
+  ["deepwater-green"] = "grass-1"
+}
+
+script.on_configuration_changed(function(data)
+  if global.bombs ~= nil then
+    for k,v in pairs(global.bombs) do
+      if v[1].valid and v[5] == nil then
+        v[5] = v[1].surface
+      end
+    end
+
+    if global.ticks == nil then
+      global.ticks = 0
+    end
+  end
+end)
+
+script.on_load(function(event)
+  if global.bombs ~= nil then
+    bombs = global.bombs
+    script.on_event(defines.events.on_tick, tickBombs)
+  end
+end)
+
+function tickBombs()
+  if global.ticks > 0 then global.ticks = global.ticks - 1 else global.ticks = 10, executeTicks() end
+end
+
+function executeTicks()
+  local x,y
+  local distX,distY
+  local energy
+
+  for k,v in pairs(bombs) do
+    if v[1].valid and v[2] == 0 then
+      energy = v[1].energy
+
+      if energy > 49000000 then
+        x = v[1].position.x
+        y = v[1].position.y
+
+        for xx = x - 5.5,x + 5.5,1.5 do
+          for yy = y - 5.5,y + 5.5,1.5 do
+            distX = math.abs(x - xx)
+            distY = math.abs(y - yy)
+
+            if math.floor(math.sqrt((distX * distX) + (distY * distY))) <= 5 then
+              v[1].surface.create_entity({name = "medium-explosion", position = {x = xx, y = yy}})
+            end
+          end
+        end
+
+        v[5].create_entity({name = "water-bomb-detonation", position = v[1].position, target = v[1], speed = 1})
+        v[4] = v[1].position
+        v[1].destroy()
+        v[2] = 1
+        v[3] = game.tick
+
+		--[[changed by someone1337: use explosionRadius instead of hardcoded radius]]
+        createWater(x, y, explosionRadius, v[5])
+        throwDirt(x, y, explosionRadius, v[5])
+-- no smoke for now
+ --     else
+ --       if energy > 40000000 then
+ --         v[5].create_entity({name = "smoke", position = v[1].position})
+ --         v[5].create_entity({name = "smoke", position = {x = v[1].position.x, y = v[1].position.y - 0.2}})
+ --       elseif energy > 30000000 then
+ --         v[5].create_entity({name = "smoke", position = v[1].position})
+ --       end
+      end
+    else
+      if v[2] == 1 then
+        if game.tick - v[3] > 90 then
+		  for a = 1,explosionRadius*2 do
+            createRandomStone(v[4], v[5])
+            createRandomStone(v[4], v[5])
+            createRandomStone(v[4], v[5])
+            createRandomStone(v[4], v[5])
+		  end
+          v[2] = 0
+        elseif game.tick - v[3] > 80 then
+		  for a = 1,explosionRadius*2 do
+            createRandomStone(v[4], v[5])
+            createRandomStone(v[4], v[5])
+            createRandomStone(v[4], v[5])
+            createRandomStone(v[4], v[5])
+		  end
+        elseif game.tick - v[3] > 70 then
+		  for a = 1,explosionRadius*2 do
+            createRandomStone(v[4], v[5])
+            createRandomStone(v[4], v[5])
+		  end
+        elseif game.tick - v[3] > 60 then
+		  for a = 1,explosionRadius*2 do
+            createRandomStone(v[4], v[5])
+            createRandomStone(v[4], v[5])
+            createRandomStone(v[4], v[5])
+		  end
+        end
+      else
+        table.remove(bombs, k)
+        if #global.bombs == 0 then
+          bombs = nil
+          global.bombs = nil
+          script.on_event(defines.events.on_tick, nil)
+        end
+      end
+    end
+  end
+end
+
+function createWater(x, y, size, surface)
+  local players = surface.find_entities_filtered({area = {{x - size - 1, y - size - 1}, {x + size + 1, y + size + 1}}, type="player"})
+  -- Setting tiles to water where players are standing deletes the player and sets them to god mode.
+  if #players ~= 0 then
+    return
+  end
+
+  local waterTiles = {}
+  x = math.floor(x)
+  y = math.floor(y)
+
+  for wx = x - size, x + size, 1 do
+    for wy = y - size, y + size, 1 do
+      table.insert(waterTiles, {name="water", position={wx, wy}})
+    end
+  end
+
+  surface.set_tiles(waterTiles)
+
+  -- [[ changed by someone1337: deep water at the place of the bomb itself]]
+  waterTiles = {}
+  table.insert(waterTiles, {name="deepwater", position={x, y}})
+  surface.set_tiles(waterTiles)
+end
+
+function throwDirt(x, y, size, surface)
+  local dirtTiles = {}
+  local tileName
+  local floor = math.floor
+  local distX,distY
+
+  if displaceDirt == true then
+    x = floor(x)
+    y = floor(y)
+
+    for xx = x - (size + 1), x + (size + 1), 1 do
+      for yy = y - (size + 1), y + (size + 1), 1 do
+        distX = math.abs(x - xx)
+        distY = math.abs(y - yy)
+
+        if floor(math.sqrt((distX * distX) + (distY * distY))) >= 2 then
+          table.insert(dirtTiles, {name = "grass-1", position = {xx, yy}})
+        end
+      end
+    end
+
+    if #dirtTiles ~= 0 then
+      surface.set_tiles(dirtTiles)
+    end
+  end
+end
+
+function createRandomStone(position, surface)
+  local x,y
+  local tileName
+  local floor = math.floor
+  local random = math.random
+
+  if throwRocks == true then
+    x = position.x
+    y = position.y
+
+    if random() > 0.5 then
+      x = x - floor(random(2, maximumRockThrowDistance))
+    else
+      x = x + floor(random(2, maximumRockThrowDistance))
+    end
+
+    if random() < 0.5 then
+      y = y - floor(random(2, maximumRockThrowDistance))
+    else
+      y = y + floor(random(2, maximumRockThrowDistance))
+    end
+
+    tileName = surface.get_tile(floor(x), floor(y)).name
+
+    if replaceableTiles[tileName] then
+      if throwRocksIntoWater == true then
+        surface.set_tiles({{name=replaceableTiles[tileName], position={floor(x), floor(y)}}})
+      end
+    else
+	  if floor(random(1, 4)) > 2 then
+        surface.create_entity({name = "stone", position = {x, y}}).amount = floor(random(13, 27))
+        surface.create_entity({name = "explosion", position = {x, y}})
+--        surface.create_entity({name = "smoke", position = {x, y}})
+      end
+    end
+  end
+end
+
+script.on_event(defines.events.on_built_entity, function(event)
+  local newBomb
+  local bombEntity
+  local player = game.players[event.player_index]
+
+  if event.created_entity.name == "water-bomb-area" then
+    bombEntity = player.surface.create_entity({name = "water-bomb", position = event.created_entity.position, force = event.created_entity.force})
+    event.created_entity.destroy()
+
+    if global.bombs == nil then
+      global.bombs = {}
+      bombs = global.bombs
+      script.on_event(defines.events.on_tick, tickBombs)
+      if global.ticks == nil then
+        global.ticks = 0
+      end
+    end
+
+    newBomb = {}
+    newBomb[1] = bombEntity        -- Bomb entity
+    newBomb[2] = 0            -- Bomb state (charging:0, detonated:1)
+    newBomb[3] = 0            -- Tick detonation occurred
+    newBomb[5] = bombEntity.surface
+
+    table.insert(bombs, newBomb)
+  end
+end)
+
+
+function setTilesAndUpdateChunks(tiles, chunks, player)
+  player.surface.set_tiles(tiles)
+
+  -- Creates a stone entity in each chunk effected by the flood fill triggering a minimap update and then destroys it
+  if chunks ~= nil then
+    local force = player.force
+    for x in pairs(chunks) do
+      for y in pairs(chunks[x]) do
+        player.surface.create_entity({name = "stone", position = {x * 32, y * 32}, force = force}).destroy()
+      end
+    end
+  end
+end
+
+
+function modifyReplaceableTile(sourceTile, replaceTile)
+  if not replaceableTiles[sourceTile] or replaceableTiles[sourceTile] ~= replaceTile then
+    replaceableTiles[sourceTile] = replaceTile
+  end
+end
diff --git a/data.lua b/data.lua
new file mode 100644
index 0000000..ae1140a
--- /dev/null
+++ b/data.lua
@@ -0,0 +1,4 @@
+require("prototypes.entities")
+require("prototypes.items")
+require("prototypes.recipes")
+require("prototypes.projectiles")
\ No newline at end of file
diff --git a/graphics/entity/Bomb - Area.png b/graphics/entity/Bomb - Area.png
new file mode 100644
index 0000000000000000000000000000000000000000..e823795694d9bd01312ac659cea53838b0655aff
GIT binary patch
literal 6873
zcmY+JWmFVe7lsie2Zk705Ew~GX+}UA2?2=_7;2P~?vm~<>24GdhVB}=K^VGQke05`
zd+)FB$3FX<v(8$3o%hFHd%aJXnu<ID9yJ~s8XAGZTN(AgIp?3i!TP&KjG1x%O;61v
z-$|mORmK4B;Fy2UxOQ)K9MRB#ZU4lRJ*mo$zn7Fwvf54>wx&+5a0e4KJNRcCCoUTk
zCwhJ^9xlGf?PN7HH0louGLo8Z1_zk{r*ss&@6C=Ms4sfu=u)H3YA&8br^;BNjtN%B
zq;o3my%4_=P5V}g<~0MOa4d`8_&A#1Qz>65KmlwhpWV98yxwJLw9c`v`oON~75Vf`
z-OuPB9pvkehs6fiGmE}wNoBWhc3h2pnpW-)U5~ggy@irMemkdr2<B4{iPDWVcnH(T
zh_68wOA3;tGdpKwQ%3<#;6yKxJ_ZVf6PVLW+eY+dcTqPa;<V~N_rbM{^?%}VD_RdO
zdxC3fUVpr}i-2UGvDKuzmAh(Zjx>taEVz{ml#On2(9K7QegHv39Lj0tGew68N<kts
zzypJ<F+k~t@C@Pnh^SK69>-`@fXnL`N+`CyjcCnnfKZvr+M?&K-O~@+w4II4<8a()
z1jN^IKewy8s;kL9`cWd}vq`XX7tLb;aApv1Uryu!KwFncJWb$mM+forqn(bjN5_Ul
z`cX|2*rO9dGW^J<qwLTrAZ31k-`JtkL0TSYp<N>E*pT4|DrkTRJ0WE8feb1w!cGDC
z{Xh)G5Mif-+|`Sh_1Z(lovv)HwFx$!5^4s(K+pi;PHfcLb}))a<yfk=!5uE(4{A~4
zv{BI}Shf51Tu87C;3y1GduOAkO|fN1o|Cqig5c_3;|SVwxbJGB45=n989FD}m!cWn
z%9+>8MsRhkc@k@8TN0K!0CysCZuDT<WRAi^K^9KuaIL{L4vLZqRFD?KPVecO^?sgq
z9|l#)WMYUGRfuDuT4uRu*`RO+d(fVf30$jtO^;KvbSp#)H^i}4?MD&?6ti>mS#bED
zdyw_5i^slrOMW%=!k6I`r}S~#N#s&a7M*#;^;Y@zUT?dyl8RC0SR*>F4huHl7=8`A
zi`z4U_WViy_STumr5C{8)GkII<H0ARx;4|^jY^?8OEy;{#?4#wr9dFXamiJiVyfu=
z4<GC9_kIUn&J8;kK$?_`)zwJs%TeG*4@aRz6%e&$0wQ&2VoCRQLNFP=-iO@NhI)14
zqxR3bAg@wHM6Ff?e+hc?qSV8_9PV~ZG%C>e7_qcDIblcBWc6;E5)L~vPidCIrxH8o
za-@s9j_tLilvzsKj6y72t`RDD&}HRN)r{vgZLQzm#iTN@NB^enN{%@?uiQT*R<=Hr
z|5Dt=Vw9TqR5l(zVZb3*LqV-H{^4^Jk@{$fP)cr^zIfSJD1`7};d0`c;g`cZ!?u(8
z>-MXQ(w&`N`DHh?{5aZ|>>M?)^D~TAmu%0z=%dcu7og<LGq<H|Vgx-m?q{}%v!K)y
zpJxm>A>B7UP2G^5rXI`C8Ip>|8rn`YR3z;*ZfD1@jXs3y*;I^y&l(j?N~X8#_~+{#
zc<})X%<}x*NYu?WupaZZi#770t9sUF*JZKs)6=d`t-E`c(lB{Gj&r$wGTB%KKKc<=
zIYkFjysD3Hh%gsF<f?}`hdGBkN6ZjaFd2MBB^mkdUCbfyurVsUw?stmJ2L5%2|e1H
zSa^AN-oo1oB(*Mtx~!vptZk-p3Uy*QVWP9uu6!56OMb8GqKxcnD7><O4b2(GSX0tm
zLvlLySmAi_Jyb-4@%&TNWR#B0%f$O6`=tBi6|a7-#QZv0j?uBk#rkHGO;Bpbb8NQa
zeZRx~#_Q(Nv;e~~-|f$pzInCf#J=E1&j!rNh1QhTeHW`HFCq+S{aspfc}FFTnnd0N
z^1?jLv|#@XnS!rW2&uRrQ3YUA^TFAOOV=Bf?-2qYTYV@%6hiAKo}yC=LuMU?a55m4
zfzQLWq1RRz3m5K5;irX@pMaQ++1$)s2WVb#E8emnv(@}m*a$3md}#segC)qy1%O|K
zmyob20Zj=fk+Lxrt@@dl6K?_*5~5X+=e+Tt**&m<JeriMTu6CJIW$jRhZPsIm}8RW
z4th~TbB)$+D_Sn9lgBd7aqaCMNex6U8K1vyBjkgL?b=S{w~zR?9YXLue(zq^AQeo-
zlv<z2fwS}U!asf%ERYfZ&N#wiq@s(jcsiLglaNy}868$>gYOPo{Z)JKW*On$ap0hT
zjCF#~Dph;SUnbRwoEggy^SSu*8LR{{@P1$%%@B>$hsncV4NQE}$X&?wTPT!o)*wu-
zrY4UdPlSkQmVgtIw&SRH09EUnr+3Nd3NE6Isg<$Yj2+rKk<U*fg{2B;PwU{r3pWa$
zR*dr*qk!jJt4ASPtlDm8=Wig7cXQPZW@DLGHxb1rtGW8Shc&rnjL$A~G3PlP_-EM0
zjb6${Nn&Nz5n0qe-6}z6-Evn;GR;#?Q+DZKi#3&zmNM-~!V)7b6xrRiVmNi~<Qoqn
zu6TAcsNMk6<#M~dY4DBcdP&OBa<Lw<V<_edRLzD27puOJ$htS3*s+mFtfOR>ZBmtj
z)#4`&f++<^G?R8DG_nARVC=yvD^`<VtjWxI%JKL*P=4KX{I{w&mzgUTLb>hf!~OyK
zlyp`sV}U4h7NuiEUl*nxPN@XX$<B(`#$C4O2H^>kFJ@H-yqfFvdexj)GM~d&hb2fd
z71OL03$=&7o8bP9RUtqwD-6$_YbxBze2_PnOVL+7&EHgAB}+96L*tX@&J4<;zd9S#
zg<(y(XDJ6$5^I`=aYuTzN^<7lpke@5_qMGU%P`wJ;w<+)cm~8C2m2_qSE7PoIt`C<
z5Rk*F?5~rF5u&4D+Qk1208&#Zm>h6ad#`MqU?QPGsml1nmr;y_Dh$pVS8zLO>xeRn
z#hINsK+dXB=+c;;ivDWidBxlP_gniTM(ba=+y5+Qw_l5iUhKBI-Bor8+pXXi)f2?(
zj7u;M$rf^eP~rHbMSVyU6cVMTkcErd6j9yzIx1^mjWUUiCwTjD6Oyo1EL9qJGkUaN
zgH(D-Y9?vVVpR)`8;LwaUJ+5m?)72b9X2}dJg)x`vVUB&c8kPuGk#<=EtVgjGl*a=
z#frjW+7t=vR|pGkp{J77sf;zT3ap|BQY&yU>YVhe#>hcEg{yk9{S(NfDmW!eCw;k!
zdoJ;XMQ0TmonoWHx>;7ck9jEU7|MhK!fZ3V*3I7BjSAV@*%0*|T_PuskXicac007s
z|F}-)PN+Zm0Vc##pw|4!u~{TTJU1<!L=}}6`L>`ZSTdeC;xt}#h3kWkoJ*ex$rRLb
zVr8p4rx?YO(*=!c$uO=0F!Qa_`(PE^*gt8%xOx?e9?oZE_(7~UcpzSZY0>2tP4`((
zs<IxW)aYlT6z7n?UYd$a*XFfa5&@Y`QEl2s&0m8#9NfWj8o_mSSZ<=$yZa1Ewmz@t
zVL#ebhe#D1#`o-EX<z*-nWx>#p%VJ2745NtFk~@W|FxVK$*2u&=ae0b`|>0)Rjqhh
z`pfsW<-P;-A#>jX<(QbjibnM_dC8(j1i-pmyINh(%^?T4t%Zbx9B&g0=7p}yE>KZ5
z4^n>G>Ivo+b4Oob3AP`rp;+-)!~82+plV06tIGQ3K)$etIr$ee7Q|)wNQ0RvNpn2`
ze1DrkIobv8gaAor0VDr3@$gQ$D70W+%bdu_oRFI%v{%i|CE${ss`*k-T9aBf?NxLV
z;L%*z608VeRtHMQh8_0`8T8ga9@7w)VPjv8t#5{Pxvh6gF8bK9TpZ1XFY#&2z7u4F
z2|9mr$fMXOSS+$f7K!5%gr3%3ZBFhf8d-kpoC>9Q_by8Oy2|nEs>R=?_;gs|U8ZVG
z)O{xs`$Irn4%snGKDtKK<LZHMOx%OUvDp>mCwKBQweMu{m;CW*b@53r`%1^qm=C7S
zmlrpS=bJiqM8zs%k=3eV!67jt@W(~|BDpZcC))KfH?L<=qod6HLg{L{V815K@YDg~
z7PmddEYTC9!!|GU^pI9zyGt&7XIG@UK7spZwx1drkKAmcci)W?c~~*;j=nYQa&EwU
zJ_^jl?FhX%TyUjZlnKB8VrD-!`uXo*61FxWNwfSW<TZ2egq-OsSSET@t;L_FAI6{7
zdaoq-bgdK3ziH*_8Y&9X<0V97hmOAU&EuhSOqZ|pnc=Dtv8FuS?`&{II{-eL({jz}
znGWo2f~+tX)TsGq{Q2Xvj*dnA1_q)&_~v}?SFU$f-PzU_p-TJ6dois1m1!!B*p@($
zU@C9yyR>07`NsW73b^`H$Pe=A5)%H@@Z3^X$>tx6Av%U=0&|$j6g!gdWAUBg%s{L3
zjv@wb#zv~Qs$sHnr*e$Fwldwp3-pP`opUm#ik2IN`gR_Ai>?j6lD&ksFpB!)^Rr@=
zwZqhd;|ti@VHvWZ7|Wpk$vqbVR+_-BBh{<vl?duubU739lA0hydVx7FDG5UaJ-4D?
z2`k3w9sY1+Om0Ors4<o8Z6r|I#e)Nn_fu%-#M{sX-<ksLhTksyDI=1PGdy5P_Eq+c
zuC|!|2+`Z!0oB9hN{r_*WJ^oNSTut9?L)q6&oNSQ*~hIlKIIgK4_jcE^F#C0vm|AP
zee;`e1Tox~*;N7zpuPt$0*?Q<fJ3YV)z`tX*~AfLHI$o$@(eFHsh>?($a*-4&S!EO
z&k5@3EoK=pnPch={|ce=_PMxVb8FfkUoqT(1>ZslDDC!FttawUawRLIqr8ikg+SB$
zT51aF6FFlqs*RqMHK{L(2?QTPDI6w2v6(coS^FPj)2RcL!G<m#{P7?#F<o_MJ*kk8
zVEm3mUpr|*(VZ_UtEU?eIlL7L3VfZ92~R?Nb+(}=N<eRG7345Ixs0Ln*`49j&@gvQ
z8Q&I!Bl?tGsv-C;TKV;<R-$PyR~d#X`@Z+^hzQD<iU8seEsQ}NJzKMavxMn|<T{(~
z+^<D?<)P{|w%6~Nc*D_)7-hi@(yU12bbj=2-)F<l?U8z|7k)hl+JnS!EyV(Q8v5T6
zB!OT0_cL&=Jz}ng8)R_?NMb-P)uV(@{na~SW`Z7<-vrzae~P(xTIhbdXZez6_q+TD
zc>-NnX}_ZpnU43+n)y`DgkCUnHG1Ydiv|lNPm((AniQ(@yt)z+Hrxr;eibPNINqEm
z<89V?RX<6FiYYRqOq(%oPL-60|BvA8-u}e8!{bXmZ7(P3{t}kF=`s-}yjn`|yf^RA
zy9j?W9I1R5PTU^=17><)EKLZJy7F?mmw|TT+d}+V0(?V%Ttl(*P51X576Eum*380I
zT6S?;b@JWsC0)v>XNMh5YsqbRp9yLzOsK>Bnv0md__A4H-cYbH=6BXXRapZ$@K4YH
z$6EtFje*l=?Va^^!9hP{r+V#b=4rltuf2ciiJHew4zDK#&pZLIae)_sRh!H28F1#8
zq~6|?5ydk+2MxtuURE8l6aDRy29Wzd?)JFT(Ejml{tlZ826XE2$vpY=S{hSF%;6$l
z;k`}s5>9DDN80T=+ZTL!RLfa5{OP4}=}BlN_T+=%)p5z0{=bJAvwg!(;Gq#ZF`?sH
z+RZLx#60+1=>)+R3%5hWcCP@u%s9wEB^)*qGli3eD~|rA3JG7pTj8_gt{vB-29WL#
z)^u|62wZ2V7|pbz@ZS+lThqMurIA2VynZF->j9hk(E@3>4W2~_Ddn$&CdS+{9*~Im
zb^HJp<G|&IS8MywPZ-2%i<o_K@_9?B$d}Uhw`-PC6>mE*Wlp;1Vp^72yx*-V+0mbM
zpKR>7s#vFeC{^MfL^<p#W9?ej@JvJVE1_X8t=Xtcw|48&U(M|VqY8prSP8=8l{HyU
zJxPGh^&m<1xa{=c$Qrk*U!hFZhNOZv_&r#>XFb-7zT>r}aYPgX+z%WLCG#)2ItdX^
zVZc16^+O>&qUWT^Mo9h5+17Q-HhTUr#35?suk2Z(7aiAMTo$k2YbD<7xEJ#F*U0eH
zl3)b@Jxqv|=fO@Q2eXjfp!fQCIx4)RL7%^|4oL@bV4pKHDMK(ltj_JGQ{&Q8!>_LF
zs{Yu}qnFD&b$bMcRP^19*S=MXydSek-p}jQy!7t2-mkF0(gOm(RfjX#{}lGVn!RqF
zTzDvM&E1yqlL{7XBq1pzA=4#`q-KL0IL~e#gnZA7{A~`3OQx3Y9tzgYQk5AFgfa!i
zdvbo=Mw*uViAyC7=?`@djl`GtbP@&&ma(kJ51TRdwF``I-*jtR>r69mS`cHB!j~%E
zbYe1Qc<gqbxmu^*nIDaJ=qF;`%aa3Ad+-2iP=jcj^q^sHpk~t0dkNDza8-BOx#E;&
ze4#D_6PVn<<43}lv`#{ZsRmh%iAn!ERX+nQyhP=j^p*^#Dy7i}2_44ktm4+7VPB{{
z$N{BvOi@Xn(>~^}CxQHqP1qtN^1HKhiO<daQ9R@N^nJ$l&-bDZ#&j(|qU=zV1AIAI
z!-1w&7d5xyrnM&DFh1$4M7qwsnw|&^1HQhYm6`7KsEMr-8zG>yu<R}W&M<644c>`_
zo1QU>wA1NdU?r5EuagX8Zqf}Hf*MVRE*>eLFL}cEcgGhNdgaAiyo`4bIKSq%FG;yH
zzmpLUc~4lZL-^$#SrZKb<^F!>)GXy<om|!Hx{gT;S<6qH8OE2tZOQ^Ne}^tzFgs+O
zY}6GM)x)0suzme(f7!ZHK>yo>mbbPUuK|A=M>|9FDtF~(<MXHfzT(&2h-G|c4^hw=
zD!Lrd$i`OT{(9aA&XN4sU8dgl%YL4VS^#g#qF<#!DypT7KY?sBcf_V|agiqc%wgQ3
z8Z5+#xj6@Psj?J|ttyPSs`^d-kX%}R;ZvxS`X;HMuubc|`l;)5T3QTV6|c9Z*_8ei
zWeIl?OMxdJ*cb&z*T}Q<15iq6E;KRl&BIHkkdsS6htn>9V)bp!G(croV!9m0E-xHV
zyG{tIsJ0l5M%_i@ol<G}d;(wuCYNJWOjF6r>`+1f((lCY)=xYDznL+@nPkTY26KL>
z<rb9D1YO6k^xDoIKUK=H4EkH>TUyIm>ee<Ok%0D5&)n_~`qA941-|-1U;37N@cjI-
zd>rP(HZy&vr(ga>HJ|S>UD5hZwXyC7BWT*QQuDLFqT#(|W63s!gY$WNQfbLD8|M#C
zdEGK^dFE0#`S(Tl$$O^`E2Vkgj*Btp=H75~a^0wb+0wYdo5ou$LnOPpC$85r-@NrC
z8VfDO84T|u)Dx|%%iAuyktb2P#AZln#l7ilngDk&Ug>BMo`3()=6*#;x$f;q_iRf0
z=-cSWJ|2e6-yV`~;SRy{-jDceBFO60%1T2r%*d!nF$&_Qht!OOn)bob(QMU$;cFiD
z4-T)uGQz|0ySl6BSU6vbTpwP3Fu1i>c37k9!?i4?Xs>^-eU3)e-zq1m7LhH^AXXP6
zFl#7d@Nu2$M1bw(w)=?yGsj)&XAyV0;>~TJjKsvVCvm57JzL3u&kHsuT6a1K)<yI@
zw+F6l9Mq93oJ@P5AM|xGUuEasWUuME0DlX%RoX?MG!zIZ?WS{Fa+cCg<Yx}toDYm8
zdAW`pGxCy(|4>8^AZ0ARd8!;4>UrndCl$@iRNR&>W7?V05ZF#=NO9rTU4oML;(#2T
z(I2F|!jTHP!lgQq{;srec%*h9PEb0oxV?f0*jT#QuCFc#C)DWDkZ*rc7GbE%ET!!%
zL!);Rkh}hP&+PqB{sAY>EhyGA4#FVAg{Np@91aF6gkRz|r0hn$uPE3i_a;ftxOuZ?
zIh{>bv9&<V&DJM%M}?S;HUyOB_n*7=0FYBZ>uz6bHmi2MtcjmnTG&t+;LePB%jq%3
zT2?;G6=)nkXB@%L_PO$Dh-_oO6(8rQuo5x0A;+crX&47bCwR^OxLJqGctrXn)%~ci
zz;rCcHuAxe_jajWZQCJqhGBRBv-3|80-|y!&G4M!kqB`(k)1pLkKd9QIcVf51U3|J
z7w5RRm0`{{%2Ruln`@}Uzq;PH)-!kT)1jHt;kUs}lUlHXjTEx5-GW$%6=2vW*OMJF
z(w`lps{C*nIzIjt&_^LX+MbMvq33F@{_H=_KI+Zpzsj(3L~niJMH1{B^MH>!oJ8RL
zFs@Q^dPH!&yQZ77M9vEV80N}&0USH`nA%6&%*sS6;pz|3TG(IX&%8;p<IX0d;^M~Q
zKDDhp=B$S)9asersVgSm=x?T6-O_*Q*@$4$Cm!?tsEzsIrQ?47q_JflX9Zr|&<)*a
z&z8z!C}O#pgnZ~FFHMzTg|l=+4KuUK3-5Ns1Vdg}yOmS@l{Wq8sBt%tgk11V1hH8k
zMw#U`yJr1ZuvUtrqYjb&U6fE<A<_T{)qlW49aO`~w(ZJ=G=*HWS?q*o03~x<U68P@
zMgz4GF1l$2n$dHAi;HV`X8)QVyJiJ9aNiiXqnqpDWv|WRC_ICQvUG=Qb^O11T+UGz
z{-3eD1=s3b(__;tW+yD=1@0*3LiF{u$sGRQp{@<mdKGdetL9ZMRyHV-!R^22=!I-T
z3vm?rCO9Kh2Cx@a%5Bp7D{k+<M))UW6MaZE8fvpQ$oW0c>`BQ$6u~}{28i0&4n(2-
zzprkiO|bTqPBY{`>m38NIvtGSQL&RCYp8__L{^{Xb{)~d1!Aima=Q)<;Q|TOr#W2*
z*>HiBYKNSz-z#u|4A9m18bKt&#uwBu4ksu>*aU)7#u@(GxQ(yjFCuKhHy+2=U{vrW
z`aYlBuDU8@)BEU0$q>u`AcG%pauB%RD^mX)BHBp|#kRAdb<*}{FN<FN7gE@2XCfO<
z#t(OhyY}e+B^hHs5s(PS`<$iWGk3T%&CY!8(oppx0utxAHGa6+n1+BPRC}5Wo$6U?
zXAb=bOa8$o*QE3BM1>$_qlEu5mEQ=g7b!VQ9UFvjf^o&bWv-YvAp&-O_^q5-68M%9
z7*FOsvl2<CC2m1AsiK`ENl%49^O5vX^mlLUf-sUiNIfBcF%+7Dtcpyzl#&1c01m=l
AT>t<8

literal 0
HcmV?d00001

diff --git a/graphics/entity/Bomb - Charging.png b/graphics/entity/Bomb - Charging.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ffc4c291367db61b9a39a726c2ea696d5e7a3c6
GIT binary patch
literal 6793
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
I>9;}u1J$@!#sB~S

literal 0
HcmV?d00001

diff --git a/graphics/entity/Bomb.png b/graphics/entity/Bomb.png
new file mode 100644
index 0000000000000000000000000000000000000000..451e3f4536fdc9f89ad6fca17153c803d7ea6048
GIT binary patch
literal 5608
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
CpQO_O

literal 0
HcmV?d00001

diff --git a/graphics/icons/Bomb.png b/graphics/icons/Bomb.png
new file mode 100644
index 0000000000000000000000000000000000000000..620e93d1df4728a808ad4ab6765521f640d06654
GIT binary patch
literal 2147
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
ZKL9dTYLEBzKve($002ovPDHLkV1lzRCM^H}

literal 0
HcmV?d00001

diff --git a/graphics/null.png b/graphics/null.png
new file mode 100644
index 0000000000000000000000000000000000000000..874fc7523093d298ebfb59cdcb0a2e75c661f6da
GIT binary patch
literal 2792
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

literal 0
HcmV?d00001

diff --git a/info.json b/info.json
new file mode 100644
index 0000000..3ebe2ca
--- /dev/null
+++ b/info.json
@@ -0,0 +1,10 @@
+{
+  "name": "Waterbomb",
+  "version": "0.16.3",
+  "title": "Waterbomb (and Landfill)",
+  "author": "someone1337",
+  "homepage": "https://git.somenet.org/pub/jan/factorio_Waterbomb.git",
+  "dependencies": ["base"],
+  "description": "Use explosions to create water (and stone to remove it). Originally 'Landfill' by Rseding91; Updated by someone1337 to work with factorio 0.15 as I *needed* the water bomb. :) Also added explosionRadius variable and made them charge up from accumulators.",
+  "factorio_version": "0.16"
+}
diff --git a/locale/en/entity-descriptions.cfg b/locale/en/entity-descriptions.cfg
new file mode 100644
index 0000000..266cdab
--- /dev/null
+++ b/locale/en/entity-descriptions.cfg
@@ -0,0 +1,4 @@
+[entity-description]
+landfill2by2=Reclaim land using stone
+landfill4by4=Reclaim MORE land using stone
+water-be-gone=Flood fill bodies of water using Landfills from your inventory
\ No newline at end of file
diff --git a/locale/en/entity-names.cfg b/locale/en/entity-names.cfg
new file mode 100644
index 0000000..9502938
--- /dev/null
+++ b/locale/en/entity-names.cfg
@@ -0,0 +1,4 @@
+[entity-name]
+landfill2by2=Landfill
+landfill4by4=Bigger Landfill
+water-be-gone=Water-be-gone
\ No newline at end of file
diff --git a/locale/en/landfill.cfg b/locale/en/landfill.cfg
new file mode 100644
index 0000000..a2d0534
--- /dev/null
+++ b/locale/en/landfill.cfg
@@ -0,0 +1,27 @@
+[entity-name]
+landfill2by2=Landfill
+landfill4by4=Bigger Landfill
+water-be-gone=Water-be-gone
+water-bomb-area=Shaped Compression Bomb
+water-bomb=Shaped Compression Bomb
+
+[entity-description]
+landfill2by2=Reclaim land using stone
+landfill4by4=Reclaim MORE land using stone
+water-be-gone=Flood fill bodies of water using Landfills from your inventory
+water-bomb-area=Massive internal pressure buildup creates a huge explosion throwing land out of the way
+water-bomb=Massive internal pressure buildup creates a huge explosion throwing land out of the way
+
+[item-name]
+landfill2by2=Landfill
+landfill4by4=Bigger Landfill
+water-be-gone=Water-be-gone
+water-bomb-area=Shaped Compression Bomb
+water-bomb=Shaped Compression Bomb
+
+[item-description]
+landfill2by2=Reclaim land using stone
+landfill4by4=Reclaim MORE land using stone
+water-be-gone=Flood fill bodies of water using Landfills from your inventory
+water-bomb-area=Massive internal pressure buildup creates a huge explosion throwing land out of the way
+water-bomb=Massive internal pressure buildup creates a huge explosion throwing land out of the way
\ No newline at end of file
diff --git a/prototypes/entities.lua b/prototypes/entities.lua
new file mode 100644
index 0000000..bdb5520
--- /dev/null
+++ b/prototypes/entities.lua
@@ -0,0 +1,77 @@
+data:extend(
+	{
+		{
+			type = "electric-energy-interface",
+			name = "water-bomb-area",
+			icon = "__Waterbomb__/graphics/icons/Bomb.png",
+			icon_size = 32,
+			flags = {"placeable-neutral", "player-creation"},
+			max_health = 500,
+			corpse = "small-remnants",
+			collision_box = {{-0.35, -0.35}, {0.35, 0.35}},
+			selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
+			energy_source =
+			{
+				type = "electric",
+				buffer_capacity = "50MJ",
+				usage_priority = "secondary-input",
+				input_flow_limit = "1500kW",
+				output_flow_limit = "0kW"
+			},
+			picture =
+			{
+				filename = "__Waterbomb__/graphics/entity/Bomb - Area.png",
+				priority = "extra-high",
+				width = 160,
+				height = 160,
+				shift = {-0.01625, 0}
+			},
+			charge_cooldown = 45,
+			discharge_cooldown = 90,
+			order="b[bomb]",
+			subgroup = "equipment"
+		},
+		{
+			type = "electric-energy-interface",
+			name = "water-bomb",
+			icon = "__Waterbomb__/graphics/icons/Bomb.png",
+			icon_size = 32,
+			flags = {"placeable-neutral", "player-creation"},
+			minable = {mining_time = 3, result = "water-bomb"},
+			max_health = 500,
+			corpse = "small-remnants",
+			collision_box = {{-0.35, -0.35}, {0.35, 0.35}},
+			selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
+			energy_source =
+			{
+				type = "electric",
+				buffer_capacity = "50MJ",
+				usage_priority = "secondary-input",
+				input_flow_limit = "1500kW",
+				output_flow_limit = "0kW"
+			},
+			picture =
+			{
+				filename = "__Waterbomb__/graphics/entity/Bomb.png",
+				priority = "extra-high",
+				width = 72,
+				height = 62,
+				shift = {0.49145, -0.25}
+			},
+			charge_animation =
+			{
+				filename = "__Waterbomb__/graphics/entity/Bomb - Charging.png",
+				width = 72,
+				height = 62,
+				line_length = 4,
+				frame_count = 4,
+				shift = {0.49145, -0.25},
+				animation_speed = 0.5
+			},
+			charge_cooldown = 45,
+			discharge_cooldown = 90,
+			order="b[bomb]",
+			subgroup = "equipment"
+		}
+	}
+)
\ No newline at end of file
diff --git a/prototypes/items.lua b/prototypes/items.lua
new file mode 100644
index 0000000..fb759f5
--- /dev/null
+++ b/prototypes/items.lua
@@ -0,0 +1,15 @@
+data:extend(
+	{
+		{
+			type = "item",
+			name = "water-bomb",
+			icon = "__Waterbomb__/graphics/icons/Bomb.png",
+			icon_size = 32,
+			flags = {"goes-to-quickbar"},
+			subgroup = "equipment",
+			order = "a[bomb]",
+			place_result = "water-bomb-area",
+			stack_size = 50
+		}
+	}
+)
diff --git a/prototypes/projectiles.lua b/prototypes/projectiles.lua
new file mode 100644
index 0000000..a92d0d8
--- /dev/null
+++ b/prototypes/projectiles.lua
@@ -0,0 +1,71 @@
+data:extend(
+	{
+		{
+			type = "projectile",
+			name = "water-bomb-detonation",
+			flags = {"not-on-map"},
+			acceleration = 0,
+			action =
+			{
+				type = "direct",
+				action_delivery =
+				{
+					type = "instant",
+					target_effects =
+					{
+						{
+							type = "nested-result",
+							action =
+							{
+								radius = 1,
+								type = "area",
+								perimeter = 5,
+								action_delivery =
+								{
+									type = "instant",
+									target_effects =
+									{
+										{	
+											type = "damage",
+											damage = {amount = 561, type = "explosion"}
+										}
+									}
+								}
+							}
+						},
+						{
+							type = "nested-result",
+							action =
+							{
+								radius = 1,
+								type = "area",
+								perimeter = 10,
+								action_delivery =
+								{
+									type = "instant",
+									target_effects =
+									{
+										{
+											type = "damage",
+											damage = {amount = 39, type = "explosion"}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			},
+			animation =
+			{
+				filename = "__Waterbomb__/graphics/null.png",
+				frame_count = 1,
+				width = 1,
+				height = 1,
+				priority = "high"
+			},
+			light = {intensity = 1, size = 4},
+			smoke = capsule_smoke,
+		}
+	}
+)
\ No newline at end of file
diff --git a/prototypes/recipes.lua b/prototypes/recipes.lua
new file mode 100644
index 0000000..e50213c
--- /dev/null
+++ b/prototypes/recipes.lua
@@ -0,0 +1,20 @@
+data:extend(
+	{
+		{
+			type = "recipe",
+			name = "water-bomb",
+			energy_required = 5,
+			enabled = "true",
+			category = "crafting-with-fluid",
+			ingredients =
+			{
+				{"steel-plate", 32},
+				{"electric-engine-unit", 4},
+				{"processing-unit", 1},
+				{type="fluid", name="water", amount=32},
+				{"explosives", 24},
+			},
+			result = "water-bomb"
+		}
+	}
+)
\ No newline at end of file
-- 
2.43.0