1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2024-12-24 22:14:44 +02:00
ComfyFactorio/maps/cave_miner_kaboomsticks.lua
Gerkiz e91b6a352f 2.0 changes
Change global -> storage
Rework how rendering works
Game prototypes are now stored inside 'prototypes.#'
Renamed entity names
2024-10-22 21:47:11 +02:00

1787 lines
52 KiB
Lua

--This will add a new game mechanic so that containers with explosives actually go boom when they get damaged.
--Made by MewMew
local Event = require 'utils.event'
local damage_per_explosive = 100
local empty_tile_damage_decay = 100
local out_of_map_tile_health = 1500
local circle_coordinates = {
[1] = { { x = 0, y = 0 } },
[2] = { { x = -1, y = -1 }, { x = 1, y = -1 }, { x = 0, y = -1 }, { x = -1, y = 0 }, { x = -1, y = 1 }, { x = 0, y = 1 }, { x = 1, y = 1 }, { x = 1, y = 0 } },
[3] = {
{ x = -2, y = -1 },
{ x = -1, y = -2 },
{ x = 1, y = -2 },
{ x = 0, y = -2 },
{ x = 2, y = -1 },
{ x = -2, y = 1 },
{ x = -2, y = 0 },
{ x = 2, y = 1 },
{ x = 2, y = 0 },
{ x = -1, y = 2 },
{ x = 1, y = 2 },
{ x = 0, y = 2 }
},
[4] = {
{ x = -1, y = -3 },
{ x = 1, y = -3 },
{ x = 0, y = -3 },
{ x = -3, y = -1 },
{ x = -2, y = -2 },
{ x = 3, y = -1 },
{ x = 2, y = -2 },
{ x = -3, y = 0 },
{ x = -3, y = 1 },
{ x = 3, y = 1 },
{ x = 3, y = 0 },
{ x = -2, y = 2 },
{ x = -1, y = 3 },
{ x = 0, y = 3 },
{ x = 1, y = 3 },
{ x = 2, y = 2 }
},
[5] = {
{ x = -3, y = -3 },
{ x = -2, y = -3 },
{ x = -1, y = -4 },
{ x = -2, y = -4 },
{ x = 1, y = -4 },
{ x = 0, y = -4 },
{ x = 2, y = -3 },
{ x = 3, y = -3 },
{ x = 2, y = -4 },
{ x = -3, y = -2 },
{ x = -4, y = -1 },
{ x = -4, y = -2 },
{ x = 3, y = -2 },
{ x = 4, y = -1 },
{ x = 4, y = -2 },
{ x = -4, y = 1 },
{ x = -4, y = 0 },
{ x = 4, y = 1 },
{ x = 4, y = 0 },
{ x = -3, y = 3 },
{ x = -3, y = 2 },
{ x = -4, y = 2 },
{ x = -2, y = 3 },
{ x = 2, y = 3 },
{ x = 3, y = 3 },
{ x = 3, y = 2 },
{ x = 4, y = 2 },
{ x = -2, y = 4 },
{ x = -1, y = 4 },
{ x = 0, y = 4 },
{ x = 1, y = 4 },
{ x = 2, y = 4 }
},
[6] = {
{ x = -1, y = -5 },
{ x = -2, y = -5 },
{ x = 1, y = -5 },
{ x = 0, y = -5 },
{ x = 2, y = -5 },
{ x = -3, y = -4 },
{ x = -4, y = -3 },
{ x = 3, y = -4 },
{ x = 4, y = -3 },
{ x = -5, y = -1 },
{ x = -5, y = -2 },
{ x = 5, y = -1 },
{ x = 5, y = -2 },
{ x = -5, y = 1 },
{ x = -5, y = 0 },
{ x = 5, y = 1 },
{ x = 5, y = 0 },
{ x = -5, y = 2 },
{ x = -4, y = 3 },
{ x = 4, y = 3 },
{ x = 5, y = 2 },
{ x = -3, y = 4 },
{ x = -2, y = 5 },
{ x = -1, y = 5 },
{ x = 0, y = 5 },
{ x = 1, y = 5 },
{ x = 3, y = 4 },
{ x = 2, y = 5 }
},
[7] = {
{ x = -4, y = -5 },
{ x = -3, y = -5 },
{ x = -2, y = -6 },
{ x = -1, y = -6 },
{ x = 0, y = -6 },
{ x = 1, y = -6 },
{ x = 3, y = -5 },
{ x = 2, y = -6 },
{ x = 4, y = -5 },
{ x = -5, y = -4 },
{ x = -5, y = -3 },
{ x = -4, y = -4 },
{ x = 4, y = -4 },
{ x = 5, y = -4 },
{ x = 5, y = -3 },
{ x = -6, y = -1 },
{ x = -6, y = -2 },
{ x = 6, y = -1 },
{ x = 6, y = -2 },
{ x = -6, y = 1 },
{ x = -6, y = 0 },
{ x = 6, y = 1 },
{ x = 6, y = 0 },
{ x = -5, y = 3 },
{ x = -6, y = 2 },
{ x = 5, y = 3 },
{ x = 6, y = 2 },
{ x = -5, y = 4 },
{ x = -4, y = 4 },
{ x = -4, y = 5 },
{ x = -3, y = 5 },
{ x = 3, y = 5 },
{ x = 4, y = 4 },
{ x = 5, y = 4 },
{ x = 4, y = 5 },
{ x = -1, y = 6 },
{ x = -2, y = 6 },
{ x = 1, y = 6 },
{ x = 0, y = 6 },
{ x = 2, y = 6 }
},
[8] = {
{ x = -1, y = -7 },
{ x = -2, y = -7 },
{ x = 1, y = -7 },
{ x = 0, y = -7 },
{ x = 2, y = -7 },
{ x = -5, y = -5 },
{ x = -4, y = -6 },
{ x = -3, y = -6 },
{ x = 3, y = -6 },
{ x = 4, y = -6 },
{ x = 5, y = -5 },
{ x = -6, y = -3 },
{ x = -6, y = -4 },
{ x = 6, y = -4 },
{ x = 6, y = -3 },
{ x = -7, y = -1 },
{ x = -7, y = -2 },
{ x = 7, y = -1 },
{ x = 7, y = -2 },
{ x = -7, y = 1 },
{ x = -7, y = 0 },
{ x = 7, y = 1 },
{ x = 7, y = 0 },
{ x = -7, y = 2 },
{ x = -6, y = 3 },
{ x = 6, y = 3 },
{ x = 7, y = 2 },
{ x = -5, y = 5 },
{ x = -6, y = 4 },
{ x = 5, y = 5 },
{ x = 6, y = 4 },
{ x = -3, y = 6 },
{ x = -4, y = 6 },
{ x = -2, y = 7 },
{ x = -1, y = 7 },
{ x = 0, y = 7 },
{ x = 1, y = 7 },
{ x = 3, y = 6 },
{ x = 2, y = 7 },
{ x = 4, y = 6 }
},
[9] = {
{ x = -4, y = -7 },
{ x = -3, y = -7 },
{ x = -2, y = -8 },
{ x = -1, y = -8 },
{ x = 0, y = -8 },
{ x = 1, y = -8 },
{ x = 3, y = -7 },
{ x = 2, y = -8 },
{ x = 4, y = -7 },
{ x = -5, y = -6 },
{ x = -6, y = -6 },
{ x = -6, y = -5 },
{ x = 5, y = -6 },
{ x = 6, y = -5 },
{ x = 6, y = -6 },
{ x = -7, y = -4 },
{ x = -7, y = -3 },
{ x = 7, y = -4 },
{ x = 7, y = -3 },
{ x = -8, y = -2 },
{ x = -8, y = -1 },
{ x = 8, y = -1 },
{ x = 8, y = -2 },
{ x = -8, y = 0 },
{ x = -8, y = 1 },
{ x = 8, y = 1 },
{ x = 8, y = 0 },
{ x = -7, y = 3 },
{ x = -8, y = 2 },
{ x = 7, y = 3 },
{ x = 8, y = 2 },
{ x = -7, y = 4 },
{ x = -6, y = 5 },
{ x = 6, y = 5 },
{ x = 7, y = 4 },
{ x = -5, y = 6 },
{ x = -6, y = 6 },
{ x = -4, y = 7 },
{ x = -3, y = 7 },
{ x = 3, y = 7 },
{ x = 5, y = 6 },
{ x = 4, y = 7 },
{ x = 6, y = 6 },
{ x = -2, y = 8 },
{ x = -1, y = 8 },
{ x = 0, y = 8 },
{ x = 1, y = 8 },
{ x = 2, y = 8 }
},
[10] = {
{ x = -3, y = -9 },
{ x = -1, y = -9 },
{ x = -2, y = -9 },
{ x = 1, y = -9 },
{ x = 0, y = -9 },
{ x = 3, y = -9 },
{ x = 2, y = -9 },
{ x = -5, y = -7 },
{ x = -6, y = -7 },
{ x = -5, y = -8 },
{ x = -4, y = -8 },
{ x = -3, y = -8 },
{ x = 3, y = -8 },
{ x = 5, y = -7 },
{ x = 5, y = -8 },
{ x = 4, y = -8 },
{ x = 6, y = -7 },
{ x = -7, y = -5 },
{ x = -7, y = -6 },
{ x = -8, y = -5 },
{ x = 7, y = -5 },
{ x = 7, y = -6 },
{ x = 8, y = -5 },
{ x = -9, y = -3 },
{ x = -8, y = -4 },
{ x = -8, y = -3 },
{ x = 8, y = -4 },
{ x = 8, y = -3 },
{ x = 9, y = -3 },
{ x = -9, y = -1 },
{ x = -9, y = -2 },
{ x = 9, y = -1 },
{ x = 9, y = -2 },
{ x = -9, y = 1 },
{ x = -9, y = 0 },
{ x = 9, y = 1 },
{ x = 9, y = 0 },
{ x = -9, y = 3 },
{ x = -9, y = 2 },
{ x = -8, y = 3 },
{ x = 8, y = 3 },
{ x = 9, y = 3 },
{ x = 9, y = 2 },
{ x = -7, y = 5 },
{ x = -8, y = 5 },
{ x = -8, y = 4 },
{ x = 7, y = 5 },
{ x = 8, y = 5 },
{ x = 8, y = 4 },
{ x = -7, y = 6 },
{ x = -6, y = 7 },
{ x = -5, y = 7 },
{ x = 5, y = 7 },
{ x = 7, y = 6 },
{ x = 6, y = 7 },
{ x = -5, y = 8 },
{ x = -4, y = 8 },
{ x = -3, y = 8 },
{ x = -3, y = 9 },
{ x = -2, y = 9 },
{ x = -1, y = 9 },
{ x = 0, y = 9 },
{ x = 1, y = 9 },
{ x = 3, y = 8 },
{ x = 2, y = 9 },
{ x = 3, y = 9 },
{ x = 5, y = 8 },
{ x = 4, y = 8 }
},
[11] = {
{ x = -5, y = -9 },
{ x = -4, y = -9 },
{ x = -3, y = -10 },
{ x = -1, y = -10 },
{ x = -2, y = -10 },
{ x = 1, y = -10 },
{ x = 0, y = -10 },
{ x = 3, y = -10 },
{ x = 2, y = -10 },
{ x = 5, y = -9 },
{ x = 4, y = -9 },
{ x = -7, y = -7 },
{ x = -6, y = -8 },
{ x = 7, y = -7 },
{ x = 6, y = -8 },
{ x = -9, y = -5 },
{ x = -8, y = -6 },
{ x = 9, y = -5 },
{ x = 8, y = -6 },
{ x = -9, y = -4 },
{ x = -10, y = -3 },
{ x = 9, y = -4 },
{ x = 10, y = -3 },
{ x = -10, y = -2 },
{ x = -10, y = -1 },
{ x = 10, y = -1 },
{ x = 10, y = -2 },
{ x = -10, y = 0 },
{ x = -10, y = 1 },
{ x = 10, y = 1 },
{ x = 10, y = 0 },
{ x = -10, y = 2 },
{ x = -10, y = 3 },
{ x = 10, y = 3 },
{ x = 10, y = 2 },
{ x = -9, y = 4 },
{ x = -9, y = 5 },
{ x = 9, y = 5 },
{ x = 9, y = 4 },
{ x = -8, y = 6 },
{ x = -7, y = 7 },
{ x = 7, y = 7 },
{ x = 8, y = 6 },
{ x = -6, y = 8 },
{ x = -5, y = 9 },
{ x = -4, y = 9 },
{ x = 4, y = 9 },
{ x = 5, y = 9 },
{ x = 6, y = 8 },
{ x = -3, y = 10 },
{ x = -2, y = 10 },
{ x = -1, y = 10 },
{ x = 0, y = 10 },
{ x = 1, y = 10 },
{ x = 2, y = 10 },
{ x = 3, y = 10 }
},
[12] = {
{ x = -3, y = -11 },
{ x = -2, y = -11 },
{ x = -1, y = -11 },
{ x = 0, y = -11 },
{ x = 1, y = -11 },
{ x = 2, y = -11 },
{ x = 3, y = -11 },
{ x = -7, y = -9 },
{ x = -6, y = -9 },
{ x = -5, y = -10 },
{ x = -4, y = -10 },
{ x = 5, y = -10 },
{ x = 4, y = -10 },
{ x = 7, y = -9 },
{ x = 6, y = -9 },
{ x = -9, y = -7 },
{ x = -7, y = -8 },
{ x = -8, y = -8 },
{ x = -8, y = -7 },
{ x = 7, y = -8 },
{ x = 8, y = -7 },
{ x = 8, y = -8 },
{ x = 9, y = -7 },
{ x = -9, y = -6 },
{ x = -10, y = -5 },
{ x = 9, y = -6 },
{ x = 10, y = -5 },
{ x = -11, y = -3 },
{ x = -10, y = -4 },
{ x = 10, y = -4 },
{ x = 11, y = -3 },
{ x = -11, y = -2 },
{ x = -11, y = -1 },
{ x = 11, y = -1 },
{ x = 11, y = -2 },
{ x = -11, y = 0 },
{ x = -11, y = 1 },
{ x = 11, y = 1 },
{ x = 11, y = 0 },
{ x = -11, y = 2 },
{ x = -11, y = 3 },
{ x = 11, y = 3 },
{ x = 11, y = 2 },
{ x = -10, y = 5 },
{ x = -10, y = 4 },
{ x = 10, y = 5 },
{ x = 10, y = 4 },
{ x = -9, y = 7 },
{ x = -9, y = 6 },
{ x = -8, y = 7 },
{ x = 8, y = 7 },
{ x = 9, y = 7 },
{ x = 9, y = 6 },
{ x = -8, y = 8 },
{ x = -7, y = 8 },
{ x = -7, y = 9 },
{ x = -6, y = 9 },
{ x = 7, y = 8 },
{ x = 7, y = 9 },
{ x = 6, y = 9 },
{ x = 8, y = 8 },
{ x = -5, y = 10 },
{ x = -4, y = 10 },
{ x = -3, y = 11 },
{ x = -2, y = 11 },
{ x = -1, y = 11 },
{ x = 0, y = 11 },
{ x = 1, y = 11 },
{ x = 2, y = 11 },
{ x = 3, y = 11 },
{ x = 4, y = 10 },
{ x = 5, y = 10 }
},
[13] = {
{ x = -5, y = -11 },
{ x = -4, y = -11 },
{ x = -3, y = -12 },
{ x = -1, y = -12 },
{ x = -2, y = -12 },
{ x = 1, y = -12 },
{ x = 0, y = -12 },
{ x = 3, y = -12 },
{ x = 2, y = -12 },
{ x = 4, y = -11 },
{ x = 5, y = -11 },
{ x = -8, y = -9 },
{ x = -7, y = -10 },
{ x = -6, y = -10 },
{ x = 6, y = -10 },
{ x = 7, y = -10 },
{ x = 8, y = -9 },
{ x = -10, y = -7 },
{ x = -9, y = -8 },
{ x = 9, y = -8 },
{ x = 10, y = -7 },
{ x = -11, y = -5 },
{ x = -10, y = -6 },
{ x = 10, y = -6 },
{ x = 11, y = -5 },
{ x = -11, y = -4 },
{ x = -12, y = -3 },
{ x = 11, y = -4 },
{ x = 12, y = -3 },
{ x = -12, y = -1 },
{ x = -12, y = -2 },
{ x = 12, y = -1 },
{ x = 12, y = -2 },
{ x = -12, y = 1 },
{ x = -12, y = 0 },
{ x = 12, y = 1 },
{ x = 12, y = 0 },
{ x = -12, y = 3 },
{ x = -12, y = 2 },
{ x = 12, y = 3 },
{ x = 12, y = 2 },
{ x = -11, y = 5 },
{ x = -11, y = 4 },
{ x = 11, y = 4 },
{ x = 11, y = 5 },
{ x = -10, y = 7 },
{ x = -10, y = 6 },
{ x = 10, y = 6 },
{ x = 10, y = 7 },
{ x = -9, y = 8 },
{ x = -8, y = 9 },
{ x = 9, y = 8 },
{ x = 8, y = 9 },
{ x = -7, y = 10 },
{ x = -5, y = 11 },
{ x = -6, y = 10 },
{ x = -4, y = 11 },
{ x = 5, y = 11 },
{ x = 4, y = 11 },
{ x = 7, y = 10 },
{ x = 6, y = 10 },
{ x = -3, y = 12 },
{ x = -2, y = 12 },
{ x = -1, y = 12 },
{ x = 0, y = 12 },
{ x = 1, y = 12 },
{ x = 2, y = 12 },
{ x = 3, y = 12 }
},
[14] = {
{ x = -3, y = -13 },
{ x = -1, y = -13 },
{ x = -2, y = -13 },
{ x = 1, y = -13 },
{ x = 0, y = -13 },
{ x = 3, y = -13 },
{ x = 2, y = -13 },
{ x = -7, y = -11 },
{ x = -6, y = -11 },
{ x = -5, y = -12 },
{ x = -6, y = -12 },
{ x = -4, y = -12 },
{ x = 5, y = -12 },
{ x = 4, y = -12 },
{ x = 7, y = -11 },
{ x = 6, y = -11 },
{ x = 6, y = -12 },
{ x = -10, y = -9 },
{ x = -9, y = -9 },
{ x = -9, y = -10 },
{ x = -8, y = -10 },
{ x = 9, y = -9 },
{ x = 9, y = -10 },
{ x = 8, y = -10 },
{ x = 10, y = -9 },
{ x = -11, y = -7 },
{ x = -10, y = -8 },
{ x = 11, y = -7 },
{ x = 10, y = -8 },
{ x = -11, y = -6 },
{ x = -12, y = -6 },
{ x = -12, y = -5 },
{ x = 11, y = -6 },
{ x = 12, y = -6 },
{ x = 12, y = -5 },
{ x = -13, y = -3 },
{ x = -12, y = -4 },
{ x = 12, y = -4 },
{ x = 13, y = -3 },
{ x = -13, y = -2 },
{ x = -13, y = -1 },
{ x = 13, y = -1 },
{ x = 13, y = -2 },
{ x = -13, y = 0 },
{ x = -13, y = 1 },
{ x = 13, y = 1 },
{ x = 13, y = 0 },
{ x = -13, y = 2 },
{ x = -13, y = 3 },
{ x = 13, y = 3 },
{ x = 13, y = 2 },
{ x = -12, y = 5 },
{ x = -12, y = 4 },
{ x = 12, y = 5 },
{ x = 12, y = 4 },
{ x = -11, y = 6 },
{ x = -11, y = 7 },
{ x = -12, y = 6 },
{ x = 11, y = 7 },
{ x = 11, y = 6 },
{ x = 12, y = 6 },
{ x = -10, y = 8 },
{ x = -10, y = 9 },
{ x = -9, y = 9 },
{ x = 9, y = 9 },
{ x = 10, y = 9 },
{ x = 10, y = 8 },
{ x = -9, y = 10 },
{ x = -8, y = 10 },
{ x = -7, y = 11 },
{ x = -6, y = 11 },
{ x = 7, y = 11 },
{ x = 6, y = 11 },
{ x = 8, y = 10 },
{ x = 9, y = 10 },
{ x = -6, y = 12 },
{ x = -5, y = 12 },
{ x = -4, y = 12 },
{ x = -3, y = 13 },
{ x = -2, y = 13 },
{ x = -1, y = 13 },
{ x = 0, y = 13 },
{ x = 1, y = 13 },
{ x = 2, y = 13 },
{ x = 3, y = 13 },
{ x = 5, y = 12 },
{ x = 4, y = 12 },
{ x = 6, y = 12 }
},
[15] = {
{ x = -5, y = -13 },
{ x = -6, y = -13 },
{ x = -4, y = -13 },
{ x = -3, y = -14 },
{ x = -1, y = -14 },
{ x = -2, y = -14 },
{ x = 1, y = -14 },
{ x = 0, y = -14 },
{ x = 3, y = -14 },
{ x = 2, y = -14 },
{ x = 5, y = -13 },
{ x = 4, y = -13 },
{ x = 6, y = -13 },
{ x = -9, y = -11 },
{ x = -8, y = -11 },
{ x = -8, y = -12 },
{ x = -7, y = -12 },
{ x = 7, y = -12 },
{ x = 8, y = -12 },
{ x = 8, y = -11 },
{ x = 9, y = -11 },
{ x = -11, y = -9 },
{ x = -10, y = -10 },
{ x = 10, y = -10 },
{ x = 11, y = -9 },
{ x = -12, y = -7 },
{ x = -11, y = -8 },
{ x = -12, y = -8 },
{ x = 11, y = -8 },
{ x = 12, y = -8 },
{ x = 12, y = -7 },
{ x = -13, y = -5 },
{ x = -13, y = -6 },
{ x = 13, y = -5 },
{ x = 13, y = -6 },
{ x = -13, y = -4 },
{ x = -14, y = -3 },
{ x = 13, y = -4 },
{ x = 14, y = -3 },
{ x = -14, y = -2 },
{ x = -14, y = -1 },
{ x = 14, y = -1 },
{ x = 14, y = -2 },
{ x = -14, y = 0 },
{ x = -14, y = 1 },
{ x = 14, y = 1 },
{ x = 14, y = 0 },
{ x = -14, y = 2 },
{ x = -14, y = 3 },
{ x = 14, y = 3 },
{ x = 14, y = 2 },
{ x = -13, y = 4 },
{ x = -13, y = 5 },
{ x = 13, y = 5 },
{ x = 13, y = 4 },
{ x = -13, y = 6 },
{ x = -12, y = 7 },
{ x = 12, y = 7 },
{ x = 13, y = 6 },
{ x = -11, y = 9 },
{ x = -11, y = 8 },
{ x = -12, y = 8 },
{ x = 11, y = 8 },
{ x = 11, y = 9 },
{ x = 12, y = 8 },
{ x = -9, y = 11 },
{ x = -10, y = 10 },
{ x = -8, y = 11 },
{ x = 9, y = 11 },
{ x = 8, y = 11 },
{ x = 10, y = 10 },
{ x = -7, y = 12 },
{ x = -8, y = 12 },
{ x = -6, y = 13 },
{ x = -5, y = 13 },
{ x = -4, y = 13 },
{ x = 5, y = 13 },
{ x = 4, y = 13 },
{ x = 7, y = 12 },
{ x = 6, y = 13 },
{ x = 8, y = 12 },
{ x = -3, y = 14 },
{ x = -2, y = 14 },
{ x = -1, y = 14 },
{ x = 0, y = 14 },
{ x = 1, y = 14 },
{ x = 2, y = 14 },
{ x = 3, y = 14 }
},
[16] = {
{ x = -3, y = -15 },
{ x = -1, y = -15 },
{ x = -2, y = -15 },
{ x = 1, y = -15 },
{ x = 0, y = -15 },
{ x = 3, y = -15 },
{ x = 2, y = -15 },
{ x = -7, y = -13 },
{ x = -8, y = -13 },
{ x = -5, y = -14 },
{ x = -6, y = -14 },
{ x = -4, y = -14 },
{ x = 5, y = -14 },
{ x = 4, y = -14 },
{ x = 7, y = -13 },
{ x = 6, y = -14 },
{ x = 8, y = -13 },
{ x = -9, y = -12 },
{ x = -10, y = -11 },
{ x = 9, y = -12 },
{ x = 10, y = -11 },
{ x = -11, y = -10 },
{ x = -12, y = -9 },
{ x = 11, y = -10 },
{ x = 12, y = -9 },
{ x = -13, y = -7 },
{ x = -13, y = -8 },
{ x = 13, y = -7 },
{ x = 13, y = -8 },
{ x = -14, y = -6 },
{ x = -14, y = -5 },
{ x = 14, y = -5 },
{ x = 14, y = -6 },
{ x = -15, y = -3 },
{ x = -14, y = -4 },
{ x = 15, y = -3 },
{ x = 14, y = -4 },
{ x = -15, y = -2 },
{ x = -15, y = -1 },
{ x = 15, y = -1 },
{ x = 15, y = -2 },
{ x = -15, y = 0 },
{ x = -15, y = 1 },
{ x = 15, y = 1 },
{ x = 15, y = 0 },
{ x = -15, y = 2 },
{ x = -15, y = 3 },
{ x = 15, y = 3 },
{ x = 15, y = 2 },
{ x = -14, y = 5 },
{ x = -14, y = 4 },
{ x = 14, y = 5 },
{ x = 14, y = 4 },
{ x = -13, y = 7 },
{ x = -14, y = 6 },
{ x = 13, y = 7 },
{ x = 14, y = 6 },
{ x = -13, y = 8 },
{ x = -12, y = 9 },
{ x = 12, y = 9 },
{ x = 13, y = 8 },
{ x = -11, y = 10 },
{ x = -10, y = 11 },
{ x = 10, y = 11 },
{ x = 11, y = 10 },
{ x = -9, y = 12 },
{ x = -8, y = 13 },
{ x = -7, y = 13 },
{ x = 7, y = 13 },
{ x = 8, y = 13 },
{ x = 9, y = 12 },
{ x = -6, y = 14 },
{ x = -5, y = 14 },
{ x = -4, y = 14 },
{ x = -3, y = 15 },
{ x = -2, y = 15 },
{ x = -1, y = 15 },
{ x = 0, y = 15 },
{ x = 1, y = 15 },
{ x = 2, y = 15 },
{ x = 3, y = 15 },
{ x = 4, y = 14 },
{ x = 5, y = 14 },
{ x = 6, y = 14 }
},
[17] = {
{ x = -5, y = -15 },
{ x = -6, y = -15 },
{ x = -3, y = -16 },
{ x = -4, y = -16 },
{ x = -4, y = -15 },
{ x = -1, y = -16 },
{ x = -2, y = -16 },
{ x = 1, y = -16 },
{ x = 0, y = -16 },
{ x = 3, y = -16 },
{ x = 2, y = -16 },
{ x = 5, y = -15 },
{ x = 4, y = -15 },
{ x = 4, y = -16 },
{ x = 6, y = -15 },
{ x = -9, y = -13 },
{ x = -10, y = -13 },
{ x = -8, y = -14 },
{ x = -7, y = -14 },
{ x = 7, y = -14 },
{ x = 9, y = -13 },
{ x = 8, y = -14 },
{ x = 10, y = -13 },
{ x = -11, y = -12 },
{ x = -11, y = -11 },
{ x = -12, y = -11 },
{ x = -10, y = -12 },
{ x = 11, y = -11 },
{ x = 11, y = -12 },
{ x = 10, y = -12 },
{ x = 12, y = -11 },
{ x = -13, y = -10 },
{ x = -13, y = -9 },
{ x = -12, y = -10 },
{ x = 13, y = -9 },
{ x = 13, y = -10 },
{ x = 12, y = -10 },
{ x = -14, y = -7 },
{ x = -14, y = -8 },
{ x = 14, y = -7 },
{ x = 14, y = -8 },
{ x = -15, y = -6 },
{ x = -15, y = -5 },
{ x = 15, y = -5 },
{ x = 15, y = -6 },
{ x = -15, y = -4 },
{ x = -16, y = -4 },
{ x = -16, y = -3 },
{ x = 15, y = -4 },
{ x = 16, y = -3 },
{ x = 16, y = -4 },
{ x = -16, y = -2 },
{ x = -16, y = -1 },
{ x = 16, y = -1 },
{ x = 16, y = -2 },
{ x = -16, y = 0 },
{ x = -16, y = 1 },
{ x = 16, y = 1 },
{ x = 16, y = 0 },
{ x = -16, y = 2 },
{ x = -16, y = 3 },
{ x = 16, y = 3 },
{ x = 16, y = 2 },
{ x = -16, y = 4 },
{ x = -15, y = 4 },
{ x = -15, y = 5 },
{ x = 15, y = 5 },
{ x = 15, y = 4 },
{ x = 16, y = 4 },
{ x = -15, y = 6 },
{ x = -14, y = 7 },
{ x = 14, y = 7 },
{ x = 15, y = 6 },
{ x = -13, y = 9 },
{ x = -14, y = 8 },
{ x = 13, y = 9 },
{ x = 14, y = 8 },
{ x = -13, y = 10 },
{ x = -12, y = 10 },
{ x = -12, y = 11 },
{ x = -11, y = 11 },
{ x = 11, y = 11 },
{ x = 12, y = 11 },
{ x = 12, y = 10 },
{ x = 13, y = 10 },
{ x = -11, y = 12 },
{ x = -10, y = 12 },
{ x = -10, y = 13 },
{ x = -9, y = 13 },
{ x = 9, y = 13 },
{ x = 10, y = 13 },
{ x = 10, y = 12 },
{ x = 11, y = 12 },
{ x = -8, y = 14 },
{ x = -7, y = 14 },
{ x = -6, y = 15 },
{ x = -5, y = 15 },
{ x = -4, y = 15 },
{ x = 4, y = 15 },
{ x = 5, y = 15 },
{ x = 7, y = 14 },
{ x = 6, y = 15 },
{ x = 8, y = 14 },
{ x = -4, y = 16 },
{ x = -3, y = 16 },
{ x = -2, y = 16 },
{ x = -1, y = 16 },
{ x = 0, y = 16 },
{ x = 1, y = 16 },
{ x = 2, y = 16 },
{ x = 3, y = 16 },
{ x = 4, y = 16 }
},
[18] = {
{ x = -3, y = -17 },
{ x = -4, y = -17 },
{ x = -1, y = -17 },
{ x = -2, y = -17 },
{ x = 1, y = -17 },
{ x = 0, y = -17 },
{ x = 3, y = -17 },
{ x = 2, y = -17 },
{ x = 4, y = -17 },
{ x = -9, y = -15 },
{ x = -8, y = -15 },
{ x = -7, y = -15 },
{ x = -7, y = -16 },
{ x = -6, y = -16 },
{ x = -5, y = -16 },
{ x = 5, y = -16 },
{ x = 7, y = -15 },
{ x = 7, y = -16 },
{ x = 6, y = -16 },
{ x = 9, y = -15 },
{ x = 8, y = -15 },
{ x = -11, y = -13 },
{ x = -10, y = -14 },
{ x = -9, y = -14 },
{ x = 9, y = -14 },
{ x = 11, y = -13 },
{ x = 10, y = -14 },
{ x = -13, y = -11 },
{ x = -12, y = -12 },
{ x = 13, y = -11 },
{ x = 12, y = -12 },
{ x = -15, y = -9 },
{ x = -14, y = -10 },
{ x = -14, y = -9 },
{ x = 14, y = -10 },
{ x = 14, y = -9 },
{ x = 15, y = -9 },
{ x = -15, y = -8 },
{ x = -15, y = -7 },
{ x = -16, y = -7 },
{ x = 15, y = -8 },
{ x = 15, y = -7 },
{ x = 16, y = -7 },
{ x = -16, y = -6 },
{ x = -16, y = -5 },
{ x = 16, y = -5 },
{ x = 16, y = -6 },
{ x = -17, y = -3 },
{ x = -17, y = -4 },
{ x = 17, y = -3 },
{ x = 17, y = -4 },
{ x = -17, y = -1 },
{ x = -17, y = -2 },
{ x = 17, y = -1 },
{ x = 17, y = -2 },
{ x = -17, y = 1 },
{ x = -17, y = 0 },
{ x = 17, y = 1 },
{ x = 17, y = 0 },
{ x = -17, y = 3 },
{ x = -17, y = 2 },
{ x = 17, y = 3 },
{ x = 17, y = 2 },
{ x = -17, y = 4 },
{ x = -16, y = 5 },
{ x = 16, y = 5 },
{ x = 17, y = 4 },
{ x = -15, y = 7 },
{ x = -16, y = 7 },
{ x = -16, y = 6 },
{ x = 15, y = 7 },
{ x = 16, y = 7 },
{ x = 16, y = 6 },
{ x = -15, y = 9 },
{ x = -15, y = 8 },
{ x = -14, y = 9 },
{ x = 14, y = 9 },
{ x = 15, y = 9 },
{ x = 15, y = 8 },
{ x = -14, y = 10 },
{ x = -13, y = 11 },
{ x = 13, y = 11 },
{ x = 14, y = 10 },
{ x = -12, y = 12 },
{ x = -11, y = 13 },
{ x = 11, y = 13 },
{ x = 12, y = 12 },
{ x = -10, y = 14 },
{ x = -9, y = 14 },
{ x = -9, y = 15 },
{ x = -8, y = 15 },
{ x = -7, y = 15 },
{ x = 7, y = 15 },
{ x = 9, y = 14 },
{ x = 9, y = 15 },
{ x = 8, y = 15 },
{ x = 10, y = 14 },
{ x = -7, y = 16 },
{ x = -6, y = 16 },
{ x = -5, y = 16 },
{ x = -4, y = 17 },
{ x = -3, y = 17 },
{ x = -2, y = 17 },
{ x = -1, y = 17 },
{ x = 0, y = 17 },
{ x = 1, y = 17 },
{ x = 2, y = 17 },
{ x = 3, y = 17 },
{ x = 4, y = 17 },
{ x = 5, y = 16 },
{ x = 6, y = 16 },
{ x = 7, y = 16 }
},
[19] = {
{ x = -7, y = -17 },
{ x = -6, y = -17 },
{ x = -5, y = -17 },
{ x = -3, y = -18 },
{ x = -4, y = -18 },
{ x = -1, y = -18 },
{ x = -2, y = -18 },
{ x = 1, y = -18 },
{ x = 0, y = -18 },
{ x = 3, y = -18 },
{ x = 2, y = -18 },
{ x = 5, y = -17 },
{ x = 4, y = -18 },
{ x = 7, y = -17 },
{ x = 6, y = -17 },
{ x = -10, y = -15 },
{ x = -9, y = -16 },
{ x = -8, y = -16 },
{ x = 9, y = -16 },
{ x = 8, y = -16 },
{ x = 10, y = -15 },
{ x = -13, y = -13 },
{ x = -11, y = -14 },
{ x = -12, y = -14 },
{ x = -12, y = -13 },
{ x = 11, y = -14 },
{ x = 13, y = -13 },
{ x = 12, y = -13 },
{ x = 12, y = -14 },
{ x = -13, y = -12 },
{ x = -14, y = -12 },
{ x = -14, y = -11 },
{ x = 13, y = -12 },
{ x = 14, y = -11 },
{ x = 14, y = -12 },
{ x = -15, y = -10 },
{ x = -16, y = -9 },
{ x = 15, y = -10 },
{ x = 16, y = -9 },
{ x = -17, y = -7 },
{ x = -16, y = -8 },
{ x = 16, y = -8 },
{ x = 17, y = -7 },
{ x = -17, y = -5 },
{ x = -17, y = -6 },
{ x = 17, y = -6 },
{ x = 17, y = -5 },
{ x = -18, y = -3 },
{ x = -18, y = -4 },
{ x = 18, y = -4 },
{ x = 18, y = -3 },
{ x = -18, y = -1 },
{ x = -18, y = -2 },
{ x = 18, y = -2 },
{ x = 18, y = -1 },
{ x = -18, y = 1 },
{ x = -18, y = 0 },
{ x = 18, y = 0 },
{ x = 18, y = 1 },
{ x = -18, y = 3 },
{ x = -18, y = 2 },
{ x = 18, y = 2 },
{ x = 18, y = 3 },
{ x = -17, y = 5 },
{ x = -18, y = 4 },
{ x = 17, y = 5 },
{ x = 18, y = 4 },
{ x = -17, y = 7 },
{ x = -17, y = 6 },
{ x = 17, y = 7 },
{ x = 17, y = 6 },
{ x = -16, y = 9 },
{ x = -16, y = 8 },
{ x = 16, y = 9 },
{ x = 16, y = 8 },
{ x = -15, y = 10 },
{ x = -14, y = 11 },
{ x = 14, y = 11 },
{ x = 15, y = 10 },
{ x = -14, y = 12 },
{ x = -13, y = 12 },
{ x = -13, y = 13 },
{ x = -12, y = 13 },
{ x = 12, y = 13 },
{ x = 13, y = 13 },
{ x = 13, y = 12 },
{ x = 14, y = 12 },
{ x = -12, y = 14 },
{ x = -11, y = 14 },
{ x = -10, y = 15 },
{ x = 10, y = 15 },
{ x = 11, y = 14 },
{ x = 12, y = 14 },
{ x = -9, y = 16 },
{ x = -7, y = 17 },
{ x = -8, y = 16 },
{ x = -5, y = 17 },
{ x = -6, y = 17 },
{ x = 5, y = 17 },
{ x = 7, y = 17 },
{ x = 6, y = 17 },
{ x = 8, y = 16 },
{ x = 9, y = 16 },
{ x = -3, y = 18 },
{ x = -4, y = 18 },
{ x = -1, y = 18 },
{ x = -2, y = 18 },
{ x = 1, y = 18 },
{ x = 0, y = 18 },
{ x = 3, y = 18 },
{ x = 2, y = 18 },
{ x = 4, y = 18 }
},
[20] = {
{ x = -3, y = -19 },
{ x = -4, y = -19 },
{ x = -1, y = -19 },
{ x = -2, y = -19 },
{ x = 1, y = -19 },
{ x = 0, y = -19 },
{ x = 3, y = -19 },
{ x = 2, y = -19 },
{ x = 4, y = -19 },
{ x = -9, y = -17 },
{ x = -7, y = -18 },
{ x = -8, y = -17 },
{ x = -5, y = -18 },
{ x = -6, y = -18 },
{ x = 5, y = -18 },
{ x = 7, y = -18 },
{ x = 6, y = -18 },
{ x = 9, y = -17 },
{ x = 8, y = -17 },
{ x = -11, y = -16 },
{ x = -11, y = -15 },
{ x = -12, y = -15 },
{ x = -10, y = -16 },
{ x = 11, y = -15 },
{ x = 11, y = -16 },
{ x = 10, y = -16 },
{ x = 12, y = -15 },
{ x = -13, y = -14 },
{ x = -14, y = -13 },
{ x = 13, y = -14 },
{ x = 14, y = -13 },
{ x = -15, y = -12 },
{ x = -15, y = -11 },
{ x = -16, y = -11 },
{ x = 15, y = -11 },
{ x = 15, y = -12 },
{ x = 16, y = -11 },
{ x = -17, y = -9 },
{ x = -16, y = -10 },
{ x = 16, y = -10 },
{ x = 17, y = -9 },
{ x = -17, y = -8 },
{ x = -18, y = -7 },
{ x = 17, y = -8 },
{ x = 18, y = -7 },
{ x = -18, y = -6 },
{ x = -18, y = -5 },
{ x = 18, y = -5 },
{ x = 18, y = -6 },
{ x = -19, y = -4 },
{ x = -19, y = -3 },
{ x = 19, y = -3 },
{ x = 19, y = -4 },
{ x = -19, y = -2 },
{ x = -19, y = -1 },
{ x = 19, y = -1 },
{ x = 19, y = -2 },
{ x = -19, y = 0 },
{ x = -19, y = 1 },
{ x = 19, y = 1 },
{ x = 19, y = 0 },
{ x = -19, y = 2 },
{ x = -19, y = 3 },
{ x = 19, y = 3 },
{ x = 19, y = 2 },
{ x = -19, y = 4 },
{ x = -18, y = 5 },
{ x = 18, y = 5 },
{ x = 19, y = 4 },
{ x = -18, y = 7 },
{ x = -18, y = 6 },
{ x = 18, y = 7 },
{ x = 18, y = 6 },
{ x = -17, y = 9 },
{ x = -17, y = 8 },
{ x = 17, y = 9 },
{ x = 17, y = 8 },
{ x = -16, y = 10 },
{ x = -16, y = 11 },
{ x = -15, y = 11 },
{ x = 15, y = 11 },
{ x = 16, y = 11 },
{ x = 16, y = 10 },
{ x = -15, y = 12 },
{ x = -14, y = 13 },
{ x = 14, y = 13 },
{ x = 15, y = 12 },
{ x = -13, y = 14 },
{ x = -12, y = 15 },
{ x = -11, y = 15 },
{ x = 11, y = 15 },
{ x = 12, y = 15 },
{ x = 13, y = 14 },
{ x = -11, y = 16 },
{ x = -10, y = 16 },
{ x = -9, y = 17 },
{ x = -8, y = 17 },
{ x = 9, y = 17 },
{ x = 8, y = 17 },
{ x = 10, y = 16 },
{ x = 11, y = 16 },
{ x = -7, y = 18 },
{ x = -5, y = 18 },
{ x = -6, y = 18 },
{ x = -4, y = 19 },
{ x = -3, y = 19 },
{ x = -2, y = 19 },
{ x = -1, y = 19 },
{ x = 0, y = 19 },
{ x = 1, y = 19 },
{ x = 2, y = 19 },
{ x = 3, y = 19 },
{ x = 4, y = 19 },
{ x = 5, y = 18 },
{ x = 7, y = 18 },
{ x = 6, y = 18 }
},
[21] = {
{ x = -7, y = -19 },
{ x = -5, y = -19 },
{ x = -6, y = -19 },
{ x = -3, y = -20 },
{ x = -4, y = -20 },
{ x = -1, y = -20 },
{ x = -2, y = -20 },
{ x = 1, y = -20 },
{ x = 0, y = -20 },
{ x = 3, y = -20 },
{ x = 2, y = -20 },
{ x = 5, y = -19 },
{ x = 4, y = -20 },
{ x = 7, y = -19 },
{ x = 6, y = -19 },
{ x = -11, y = -17 },
{ x = -10, y = -17 },
{ x = -9, y = -18 },
{ x = -8, y = -18 },
{ x = 9, y = -18 },
{ x = 8, y = -18 },
{ x = 10, y = -17 },
{ x = 11, y = -17 },
{ x = -13, y = -15 },
{ x = -14, y = -15 },
{ x = -12, y = -16 },
{ x = 13, y = -15 },
{ x = 12, y = -16 },
{ x = 14, y = -15 },
{ x = -15, y = -14 },
{ x = -15, y = -13 },
{ x = -14, y = -14 },
{ x = 15, y = -13 },
{ x = 15, y = -14 },
{ x = 14, y = -14 },
{ x = -17, y = -11 },
{ x = -16, y = -12 },
{ x = 16, y = -12 },
{ x = 17, y = -11 },
{ x = -17, y = -10 },
{ x = -18, y = -9 },
{ x = 17, y = -10 },
{ x = 18, y = -9 },
{ x = -19, y = -7 },
{ x = -18, y = -8 },
{ x = 18, y = -8 },
{ x = 19, y = -7 },
{ x = -19, y = -6 },
{ x = -19, y = -5 },
{ x = 19, y = -6 },
{ x = 19, y = -5 },
{ x = -20, y = -4 },
{ x = -20, y = -3 },
{ x = 20, y = -3 },
{ x = 20, y = -4 },
{ x = -20, y = -2 },
{ x = -20, y = -1 },
{ x = 20, y = -1 },
{ x = 20, y = -2 },
{ x = -20, y = 0 },
{ x = -20, y = 1 },
{ x = 20, y = 1 },
{ x = 20, y = 0 },
{ x = -20, y = 2 },
{ x = -20, y = 3 },
{ x = 20, y = 3 },
{ x = 20, y = 2 },
{ x = -20, y = 4 },
{ x = -19, y = 5 },
{ x = 19, y = 5 },
{ x = 20, y = 4 },
{ x = -19, y = 7 },
{ x = -19, y = 6 },
{ x = 19, y = 7 },
{ x = 19, y = 6 },
{ x = -18, y = 9 },
{ x = -18, y = 8 },
{ x = 18, y = 9 },
{ x = 18, y = 8 },
{ x = -17, y = 11 },
{ x = -17, y = 10 },
{ x = 17, y = 11 },
{ x = 17, y = 10 },
{ x = -16, y = 12 },
{ x = -15, y = 13 },
{ x = 15, y = 13 },
{ x = 16, y = 12 },
{ x = -15, y = 14 },
{ x = -14, y = 14 },
{ x = -14, y = 15 },
{ x = -13, y = 15 },
{ x = 13, y = 15 },
{ x = 14, y = 15 },
{ x = 14, y = 14 },
{ x = 15, y = 14 },
{ x = -12, y = 16 },
{ x = -11, y = 17 },
{ x = -10, y = 17 },
{ x = 11, y = 17 },
{ x = 10, y = 17 },
{ x = 12, y = 16 },
{ x = -9, y = 18 },
{ x = -8, y = 18 },
{ x = -7, y = 19 },
{ x = -5, y = 19 },
{ x = -6, y = 19 },
{ x = 5, y = 19 },
{ x = 6, y = 19 },
{ x = 7, y = 19 },
{ x = 9, y = 18 },
{ x = 8, y = 18 },
{ x = -4, y = 20 },
{ x = -3, y = 20 },
{ x = -2, y = 20 },
{ x = -1, y = 20 },
{ x = 0, y = 20 },
{ x = 1, y = 20 },
{ x = 2, y = 20 },
{ x = 3, y = 20 },
{ x = 4, y = 20 }
},
[22] = {
{ x = -3, y = -21 },
{ x = -4, y = -21 },
{ x = -1, y = -21 },
{ x = -2, y = -21 },
{ x = 1, y = -21 },
{ x = 0, y = -21 },
{ x = 3, y = -21 },
{ x = 2, y = -21 },
{ x = 4, y = -21 },
{ x = -10, y = -19 },
{ x = -9, y = -19 },
{ x = -8, y = -19 },
{ x = -7, y = -20 },
{ x = -5, y = -20 },
{ x = -6, y = -20 },
{ x = 5, y = -20 },
{ x = 7, y = -20 },
{ x = 6, y = -20 },
{ x = 9, y = -19 },
{ x = 8, y = -19 },
{ x = 10, y = -19 },
{ x = -13, y = -17 },
{ x = -12, y = -17 },
{ x = -11, y = -18 },
{ x = -10, y = -18 },
{ x = 11, y = -18 },
{ x = 10, y = -18 },
{ x = 13, y = -17 },
{ x = 12, y = -17 },
{ x = -15, y = -15 },
{ x = -13, y = -16 },
{ x = -14, y = -16 },
{ x = 13, y = -16 },
{ x = 15, y = -15 },
{ x = 14, y = -16 },
{ x = -17, y = -13 },
{ x = -16, y = -14 },
{ x = -16, y = -13 },
{ x = 17, y = -13 },
{ x = 16, y = -13 },
{ x = 16, y = -14 },
{ x = -17, y = -12 },
{ x = -18, y = -11 },
{ x = 17, y = -12 },
{ x = 18, y = -11 },
{ x = -19, y = -10 },
{ x = -19, y = -9 },
{ x = -18, y = -10 },
{ x = 18, y = -10 },
{ x = 19, y = -10 },
{ x = 19, y = -9 },
{ x = -19, y = -8 },
{ x = -20, y = -7 },
{ x = 19, y = -8 },
{ x = 20, y = -7 },
{ x = -20, y = -6 },
{ x = -20, y = -5 },
{ x = 20, y = -6 },
{ x = 20, y = -5 },
{ x = -21, y = -4 },
{ x = -21, y = -3 },
{ x = 21, y = -3 },
{ x = 21, y = -4 },
{ x = -21, y = -2 },
{ x = -21, y = -1 },
{ x = 21, y = -1 },
{ x = 21, y = -2 },
{ x = -21, y = 0 },
{ x = -21, y = 1 },
{ x = 21, y = 1 },
{ x = 21, y = 0 },
{ x = -21, y = 2 },
{ x = -21, y = 3 },
{ x = 21, y = 3 },
{ x = 21, y = 2 },
{ x = -21, y = 4 },
{ x = -20, y = 5 },
{ x = 20, y = 5 },
{ x = 21, y = 4 },
{ x = -20, y = 7 },
{ x = -20, y = 6 },
{ x = 20, y = 7 },
{ x = 20, y = 6 },
{ x = -19, y = 9 },
{ x = -19, y = 8 },
{ x = 19, y = 9 },
{ x = 19, y = 8 },
{ x = -19, y = 10 },
{ x = -18, y = 11 },
{ x = -18, y = 10 },
{ x = 18, y = 11 },
{ x = 18, y = 10 },
{ x = 19, y = 10 },
{ x = -17, y = 13 },
{ x = -17, y = 12 },
{ x = -16, y = 13 },
{ x = 16, y = 13 },
{ x = 17, y = 13 },
{ x = 17, y = 12 },
{ x = -16, y = 14 },
{ x = -15, y = 15 },
{ x = 15, y = 15 },
{ x = 16, y = 14 },
{ x = -14, y = 16 },
{ x = -13, y = 16 },
{ x = -13, y = 17 },
{ x = -12, y = 17 },
{ x = 13, y = 16 },
{ x = 13, y = 17 },
{ x = 12, y = 17 },
{ x = 14, y = 16 },
{ x = -11, y = 18 },
{ x = -10, y = 18 },
{ x = -10, y = 19 },
{ x = -9, y = 19 },
{ x = -8, y = 19 },
{ x = 9, y = 19 },
{ x = 8, y = 19 },
{ x = 11, y = 18 },
{ x = 10, y = 18 },
{ x = 10, y = 19 },
{ x = -7, y = 20 },
{ x = -6, y = 20 },
{ x = -5, y = 20 },
{ x = -3, y = 21 },
{ x = -4, y = 21 },
{ x = -1, y = 21 },
{ x = -2, y = 21 },
{ x = 1, y = 21 },
{ x = 0, y = 21 },
{ x = 3, y = 21 },
{ x = 2, y = 21 },
{ x = 4, y = 21 },
{ x = 5, y = 20 },
{ x = 7, y = 20 },
{ x = 6, y = 20 }
},
[23] = {
{ x = -8, y = -21 },
{ x = -7, y = -21 },
{ x = -6, y = -21 },
{ x = -5, y = -21 },
{ x = -3, y = -22 },
{ x = -4, y = -22 },
{ x = -1, y = -22 },
{ x = -2, y = -22 },
{ x = 1, y = -22 },
{ x = 0, y = -22 },
{ x = 3, y = -22 },
{ x = 2, y = -22 },
{ x = 5, y = -21 },
{ x = 4, y = -22 },
{ x = 7, y = -21 },
{ x = 6, y = -21 },
{ x = 8, y = -21 },
{ x = -12, y = -19 },
{ x = -11, y = -19 },
{ x = -10, y = -20 },
{ x = -9, y = -20 },
{ x = -8, y = -20 },
{ x = 9, y = -20 },
{ x = 8, y = -20 },
{ x = 11, y = -19 },
{ x = 10, y = -20 },
{ x = 12, y = -19 },
{ x = -14, y = -17 },
{ x = -13, y = -18 },
{ x = -12, y = -18 },
{ x = 13, y = -18 },
{ x = 12, y = -18 },
{ x = 14, y = -17 },
{ x = -15, y = -16 },
{ x = -16, y = -15 },
{ x = 15, y = -16 },
{ x = 16, y = -15 },
{ x = -17, y = -14 },
{ x = -18, y = -13 },
{ x = 17, y = -14 },
{ x = 18, y = -13 },
{ x = -19, y = -12 },
{ x = -19, y = -11 },
{ x = -18, y = -12 },
{ x = 18, y = -12 },
{ x = 19, y = -12 },
{ x = 19, y = -11 },
{ x = -20, y = -10 },
{ x = -20, y = -9 },
{ x = 20, y = -10 },
{ x = 20, y = -9 },
{ x = -21, y = -8 },
{ x = -21, y = -7 },
{ x = -20, y = -8 },
{ x = 20, y = -8 },
{ x = 21, y = -8 },
{ x = 21, y = -7 },
{ x = -21, y = -6 },
{ x = -21, y = -5 },
{ x = 21, y = -6 },
{ x = 21, y = -5 },
{ x = -22, y = -4 },
{ x = -22, y = -3 },
{ x = 22, y = -3 },
{ x = 22, y = -4 },
{ x = -22, y = -2 },
{ x = -22, y = -1 },
{ x = 22, y = -1 },
{ x = 22, y = -2 },
{ x = -22, y = 0 },
{ x = -22, y = 1 },
{ x = 22, y = 1 },
{ x = 22, y = 0 },
{ x = -22, y = 2 },
{ x = -22, y = 3 },
{ x = 22, y = 3 },
{ x = 22, y = 2 },
{ x = -22, y = 4 },
{ x = -21, y = 5 },
{ x = 21, y = 5 },
{ x = 22, y = 4 },
{ x = -21, y = 7 },
{ x = -21, y = 6 },
{ x = 21, y = 7 },
{ x = 21, y = 6 },
{ x = -21, y = 8 },
{ x = -20, y = 9 },
{ x = -20, y = 8 },
{ x = 20, y = 8 },
{ x = 20, y = 9 },
{ x = 21, y = 8 },
{ x = -19, y = 11 },
{ x = -20, y = 10 },
{ x = 19, y = 11 },
{ x = 20, y = 10 },
{ x = -19, y = 12 },
{ x = -18, y = 13 },
{ x = -18, y = 12 },
{ x = 18, y = 13 },
{ x = 18, y = 12 },
{ x = 19, y = 12 },
{ x = -17, y = 14 },
{ x = -16, y = 15 },
{ x = 16, y = 15 },
{ x = 17, y = 14 },
{ x = -15, y = 16 },
{ x = -14, y = 17 },
{ x = 14, y = 17 },
{ x = 15, y = 16 },
{ x = -13, y = 18 },
{ x = -12, y = 18 },
{ x = -12, y = 19 },
{ x = -11, y = 19 },
{ x = 11, y = 19 },
{ x = 13, y = 18 },
{ x = 12, y = 18 },
{ x = 12, y = 19 },
{ x = -10, y = 20 },
{ x = -9, y = 20 },
{ x = -8, y = 20 },
{ x = -8, y = 21 },
{ x = -7, y = 21 },
{ x = -6, y = 21 },
{ x = -5, y = 21 },
{ x = 5, y = 21 },
{ x = 7, y = 21 },
{ x = 6, y = 21 },
{ x = 8, y = 20 },
{ x = 9, y = 20 },
{ x = 8, y = 21 },
{ x = 10, y = 20 },
{ x = -4, y = 22 },
{ x = -3, y = 22 },
{ x = -2, y = 22 },
{ x = -1, y = 22 },
{ x = 0, y = 22 },
{ x = 1, y = 22 },
{ x = 2, y = 22 },
{ x = 3, y = 22 },
{ x = 4, y = 22 }
}
}
local function process_explosion_tile(pos, explosion_index, current_radius)
local surface = game.surfaces[storage.explosion_schedule[explosion_index].surface]
local target_entities = surface.find_entities_filtered({ area = { { pos.x - 0.5, pos.y - 0.5 }, { pos.x + 0.499, pos.y + 0.499 } } })
local explosion_animation = 'explosion'
local tile = surface.get_tile(pos)
if tile.name == 'out-of-map' then
if storage.explosion_schedule[explosion_index].damage_remaining >= out_of_map_tile_health then
explosion_animation = 'big-explosion'
surface.set_tiles({ { name = 'dirt-5', position = pos } }, true)
end
storage.explosion_schedule[explosion_index].damage_remaining = storage.explosion_schedule[explosion_index].damage_remaining - out_of_map_tile_health
else
local decay_explosion = true
for _, entity in pairs(target_entities) do
if entity.health then
decay_explosion = false
end
end
if decay_explosion then
storage.explosion_schedule[explosion_index].damage_remaining = storage.explosion_schedule[explosion_index].damage_remaining - empty_tile_damage_decay
end
end
for _, entity in pairs(target_entities) do
if entity.health then
if entity.health < storage.explosion_schedule[explosion_index].damage_remaining then
explosion_animation = 'big-explosion'
if entity.health > 500 then
explosion_animation = 'big-artillery-explosion'
end
storage.explosion_schedule[explosion_index].damage_remaining = storage.explosion_schedule[explosion_index].damage_remaining - entity.health
entity.damage(999999, 'player', 'explosion')
else
storage.explosion_schedule[explosion_index].damage_remaining = storage.explosion_schedule[explosion_index].damage_remaining - entity.health
entity.damage(storage.explosion_schedule[explosion_index].damage_remaining, 'player', 'explosion')
end
end
end
if storage.explosion_schedule[explosion_index].damage_remaining > 5000 and current_radius < 2 then
if math.random(1, 2) == 1 then
explosion_animation = 'big-explosion'
else
explosion_animation = 'big-artillery-explosion'
end
end
surface.create_entity({ name = explosion_animation, position = pos })
if storage.explosion_schedule[explosion_index].damage_remaining <= 0 then
return false
end
return true
end
local function create_explosion_schedule(entity)
local inventory = defines.inventory.chest
if entity.type == 'car' then
inventory = defines.inventory.car_trunk
end
local i = entity.get_inventory(inventory)
local explosives_amount = i.get_item_count('explosives')
if explosives_amount < 1 then
return
end
local center_position = entity.position
if not storage.explosion_schedule then
storage.explosion_schedule = {}
end
storage.explosion_schedule[#storage.explosion_schedule + 1] = {}
storage.explosion_schedule[#storage.explosion_schedule].surface = entity.surface.name
storage.explosion_schedule[#storage.explosion_schedule].damage_remaining = damage_per_explosive * explosives_amount
for current_radius = 1, 23, 1 do
storage.explosion_schedule[#storage.explosion_schedule][current_radius] = {}
storage.explosion_schedule[#storage.explosion_schedule][current_radius].trigger_tick = game.tick + (current_radius * 8)
local circle_coords = circle_coordinates[current_radius]
for index, tile_position in pairs(circle_coords) do
local pos = { x = center_position.x + tile_position.x, y = center_position.y + tile_position.y }
storage.explosion_schedule[#storage.explosion_schedule][current_radius][index] = { x = pos.x, y = pos.y }
end
end
entity.die('player')
end
local function on_entity_damaged(event)
local entity = event.entity
if entity.type == 'container' or entity.type == 'logistic-container' then
if math.random(1, 3) == 1 or entity.health <= 0 then
create_explosion_schedule(event.entity)
return
end
end
if entity.type == 'cargo-wagon' or entity.type == 'car' then
if entity.health <= 0 then
create_explosion_schedule(entity)
return
end
if entity.health < 150 and math.random(1, 3) == 1 then
create_explosion_schedule(entity)
return
end
end
end
local function on_tick()
if storage.explosion_schedule then
local tick = game.tick
local explosion_schedule_is_alive = false
for explosion_index = 1, #storage.explosion_schedule, 1 do
if #storage.explosion_schedule[explosion_index] > 0 then
explosion_schedule_is_alive = true
for radius = 1, #storage.explosion_schedule[explosion_index], 1 do
if storage.explosion_schedule[explosion_index][radius].trigger_tick == tick then
for tile_index = 1, #storage.explosion_schedule[explosion_index][radius], 1 do
local continue_explosion = process_explosion_tile(storage.explosion_schedule[explosion_index][radius][tile_index], explosion_index, radius)
if not continue_explosion then
storage.explosion_schedule[explosion_index] = {}
break
end
end
if radius == #storage.explosion_schedule[explosion_index] then
storage.explosion_schedule[explosion_index] = {}
end
break
end
end
end
end
if not explosion_schedule_is_alive then
storage.explosion_schedule = nil
end
end
end
Event.add(defines.events.on_entity_damaged, on_entity_damaged)
Event.add(defines.events.on_tick, on_tick)