Back to Powder Tool V600Billion
SOURCE / PINNED RELEASE

Made of little things.

Powder Tool V600Billion

Release
142767edcab8…
Author-recorded commit
6d92971effd0…
License
LICENSE
Author’s source reference
nostr://npub1fllw8kw0thjj55wds0uugcnp5kej2nfxd36eruq39d56wwz8r44q5q78wj/wss%3A%2F%2Fgit.napplet.soy%2F/powder-toy

Archive hash verified: ed7d6a8ea7083197…. The source-to-build association is the author’s claim; it has not been independently rebuilt.

source/src/scenes/08-dam.lua
-- title: Dam break
-- icon: 🌊
-- blurb: A charge of C-4 at the foot of a dam, and a village downstream. The fuse is burning.
-- hint: The fuse takes a few seconds. Afterwards, rebuild the dam with bricks (BRCK).
-- view: 4
-- thumb: 7
local WATR, BRCK, WOOD = E.DEFAULT_PT_WATR, E.DEFAULT_PT_BRCK, E.DEFAULT_PT_WOOD
walls(0, 372, 611, 383)

-- The dam and its lake
box(236, 150, 255, 299, BRCK)
box(236, 300, 247, 371, BRCK)
box(0, 150, 19, 371, E.DEFAULT_PT_ROCK)
box(20, 186, 235, 371, WATR)

-- The charge in the foot of the dam, a primer of gunpowder on it, and the fuse
box(248, 306, 255, 371, E.DEFAULT_PT_PLEX)
box(248, 300, 255, 305, E.DEFAULT_PT_GUNP)
line(256, 304, 256, 250, E.DEFAULT_PT_IGNT)
line(256, 250, 300, 250, E.DEFAULT_PT_IGNT)
disc(301, 250, 2, E.DEFAULT_PT_FIRE)

-- The village downstream
for n = 0, 4 do
  local hx = 330 + n * 56
  box(hx, 340, hx + 30, 371, WOOD)
  for k = 0, 10 do line(hx - 3 + k, 339 - k, hx + 33 - k, 339 - k, BRCK) end
end
for _, tx in ipairs({ 312, 380, 436, 492, 548 }) do
  box(tx, 350, tx + 2, 371, WOOD)
  disc(tx + 1, 342, 7, E.DEFAULT_PT_PLNT)
end

-- When the charge goes off, the blast cracks the foot of the dam
local cracked = false
every(function()
  if not cracked and sim.elementCount(E.DEFAULT_PT_PLEX) == 0 then
    cracked = true
    for y = 312, 368, 6 do
      local i = sim.partID(241, y)
      if i then sim.partChangeType(i, E.DEFAULT_PT_DEST) end
    end
  end
end)