diff --git a/fish_market.lua b/fish_market.lua index 1af3b175..a3c82cb5 100644 --- a/fish_market.lua +++ b/fish_market.lua @@ -145,14 +145,14 @@ local function pre_player_mined_item(event) end local entity_drop_amount = { - ['small-biter'] = {low = -62, high = 1}, + --[[['small-biter'] = {low = -62, high = 1}, ['small-spitter'] = {low = -62, high = 1}, ['medium-biter'] = {low = -14, high = 1}, ['medium-spitter'] = {low = -14, high = 1}, ['big-biter'] = {low = -2, high = 1}, ['big-spitter'] = {low = -2, high = 1}, ['behemoth-biter'] = {low = 1, high = 1}, - ['behemoth-spitter'] = {low = 1, high = 1}, + ['behemoth-spitter'] = {low = 1, high = 1}, ]] ['biter-spawner'] = {low = 5, high = 15}, ['spitter-spawner'] = {low = 5, high = 15}, ['small-worm-turret'] = {low = 2, high = 8}, diff --git a/map_gen/data/.source_images/ammo-icon.png b/map_gen/data/.source_images/ammo-icon.png new file mode 100644 index 00000000..894690a3 Binary files /dev/null and b/map_gen/data/.source_images/ammo-icon.png differ diff --git a/map_gen/data/.source_images/danger-icon.png b/map_gen/data/.source_images/danger-icon.png new file mode 100644 index 00000000..63bcf6fb Binary files /dev/null and b/map_gen/data/.source_images/danger-icon.png differ diff --git a/map_gen/data/.source_images/destroyed-icon.png b/map_gen/data/.source_images/destroyed-icon.png new file mode 100644 index 00000000..a79fe30b Binary files /dev/null and b/map_gen/data/.source_images/destroyed-icon.png differ diff --git a/map_gen/data/.source_images/electricity-icon-unplugged.png b/map_gen/data/.source_images/electricity-icon-unplugged.png new file mode 100644 index 00000000..eb888d77 Binary files /dev/null and b/map_gen/data/.source_images/electricity-icon-unplugged.png differ diff --git a/map_gen/data/.source_images/electricity-icon.png b/map_gen/data/.source_images/electricity-icon.png new file mode 100644 index 00000000..b2268e17 Binary files /dev/null and b/map_gen/data/.source_images/electricity-icon.png differ diff --git a/map_gen/data/.source_images/fluid-icon.png b/map_gen/data/.source_images/fluid-icon.png new file mode 100644 index 00000000..477efce1 Binary files /dev/null and b/map_gen/data/.source_images/fluid-icon.png differ diff --git a/map_gen/data/.source_images/fuel-icon.png b/map_gen/data/.source_images/fuel-icon.png new file mode 100644 index 00000000..0ef466e1 Binary files /dev/null and b/map_gen/data/.source_images/fuel-icon.png differ diff --git a/map_gen/data/.source_images/no-building-material-icon.png b/map_gen/data/.source_images/no-building-material-icon.png new file mode 100644 index 00000000..6b160906 Binary files /dev/null and b/map_gen/data/.source_images/no-building-material-icon.png differ diff --git a/map_gen/data/.source_images/no-storage-space-icon.png b/map_gen/data/.source_images/no-storage-space-icon.png new file mode 100644 index 00000000..495e39f1 Binary files /dev/null and b/map_gen/data/.source_images/no-storage-space-icon.png differ diff --git a/map_gen/data/.source_images/not-enough-construction-robots-icon.png b/map_gen/data/.source_images/not-enough-construction-robots-icon.png new file mode 100644 index 00000000..1c1e81a1 Binary files /dev/null and b/map_gen/data/.source_images/not-enough-construction-robots-icon.png differ diff --git a/map_gen/data/.source_images/not-enough-repair-packs-icon.png b/map_gen/data/.source_images/not-enough-repair-packs-icon.png new file mode 100644 index 00000000..a072d83d Binary files /dev/null and b/map_gen/data/.source_images/not-enough-repair-packs-icon.png differ diff --git a/map_gen/data/.source_images/recharge-icon.png b/map_gen/data/.source_images/recharge-icon.png new file mode 100644 index 00000000..95b73cf8 Binary files /dev/null and b/map_gen/data/.source_images/recharge-icon.png differ diff --git a/map_gen/data/.source_images/too-far-from-roboport-icon.png b/map_gen/data/.source_images/too-far-from-roboport-icon.png new file mode 100644 index 00000000..01a923c0 Binary files /dev/null and b/map_gen/data/.source_images/too-far-from-roboport-icon.png differ diff --git a/map_gen/data/presets/ammo-icon.lua b/map_gen/data/presets/ammo-icon.lua new file mode 100644 index 00000000..82188adb --- /dev/null +++ b/map_gen/data/presets/ammo-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,64,}, + {1,29,2,6,1,29,}, + {1,29,2,7,1,28,}, + {1,28,2,8,1,28,}, + {1,27,2,10,1,27,}, + {1,27,2,10,1,27,}, + {1,26,2,12,1,26,}, + {1,26,2,13,1,25,}, + {1,25,2,14,1,25,}, + {1,25,2,15,1,24,}, + {1,24,2,16,1,24,}, + {1,23,2,18,1,23,}, + {1,23,2,18,1,23,}, + {1,22,2,20,1,22,}, + {1,22,2,20,1,22,}, + {1,21,2,22,1,21,}, + {1,21,2,23,1,20,}, + {1,20,2,24,1,20,}, + {1,19,2,26,1,19,}, + {1,19,2,26,1,19,}, + {1,18,2,28,1,18,}, + {1,18,2,16,1,2,2,10,1,18,}, + {1,17,2,16,1,5,2,9,1,17,}, + {1,17,2,15,1,7,2,9,1,16,}, + {1,16,2,15,1,9,2,8,1,16,}, + {1,15,2,15,1,11,2,8,1,15,}, + {1,15,2,14,1,13,2,7,1,15,}, + {1,14,2,14,1,16,2,6,1,14,}, + {1,14,2,13,1,11,2,4,1,3,2,5,1,14,}, + {1,13,2,13,1,11,2,4,1,4,2,6,1,13,}, + {1,13,2,12,1,11,2,4,1,4,2,7,1,13,}, + {1,12,2,12,1,10,2,5,1,4,2,9,1,12,}, + {1,11,2,12,1,10,2,5,1,4,2,11,1,11,}, + {1,11,2,11,1,10,2,5,1,4,2,12,1,11,}, + {1,10,2,11,1,10,2,5,1,4,2,14,1,10,}, + {1,10,2,10,1,10,2,5,1,3,2,16,1,10,}, + {1,9,2,10,1,10,2,5,1,3,2,18,1,9,}, + {1,9,2,9,1,10,2,5,1,3,2,19,1,9,}, + {1,8,2,9,1,10,2,5,1,3,2,21,1,8,}, + {1,8,2,8,1,10,2,5,1,3,2,23,1,7,}, + {1,7,2,9,1,9,2,5,1,3,2,24,1,7,}, + {1,6,2,9,1,9,2,5,1,3,2,26,1,6,}, + {1,6,2,10,1,7,2,5,1,3,2,27,1,6,}, + {1,5,2,11,1,6,2,5,1,3,2,29,1,5,}, + {1,5,2,11,1,7,2,3,1,3,2,30,1,5,}, + {1,4,2,13,1,11,2,32,1,4,}, + {1,4,2,15,1,8,2,33,1,4,}, + {1,3,2,18,1,5,2,35,1,3,}, + {1,2,2,21,1,2,2,37,1,2,}, + {1,2,2,60,1,2,}, + {1,1,2,62,1,1,}, + {1,1,2,62,1,1,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,1,2,61,1,2,}, + {1,64,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/danger-icon.lua b/map_gen/data/presets/danger-icon.lua new file mode 100644 index 00000000..53114c26 --- /dev/null +++ b/map_gen/data/presets/danger-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,30,2,4,1,30,}, + {1,29,2,6,1,29,}, + {1,28,2,8,1,28,}, + {1,28,2,9,1,27,}, + {1,27,2,10,1,27,}, + {1,26,2,12,1,26,}, + {1,26,2,12,1,26,}, + {1,25,2,14,1,25,}, + {1,25,2,15,1,24,}, + {1,24,2,16,1,24,}, + {1,24,2,17,1,23,}, + {1,23,2,18,1,23,}, + {1,22,2,20,1,22,}, + {1,22,2,20,1,22,}, + {1,21,2,22,1,21,}, + {1,21,2,22,1,21,}, + {1,20,2,24,1,20,}, + {1,20,2,10,1,4,2,11,1,19,}, + {1,19,2,10,1,6,2,10,1,19,}, + {1,18,2,10,1,8,2,10,1,18,}, + {1,18,2,10,1,8,2,10,1,18,}, + {1,17,2,11,1,8,2,11,1,17,}, + {1,17,2,11,1,8,2,11,1,17,}, + {1,16,2,12,1,8,2,12,1,16,}, + {1,16,2,12,1,8,2,13,1,15,}, + {1,15,2,13,1,8,2,13,1,15,}, + {1,15,2,13,1,8,2,14,1,14,}, + {1,14,2,14,1,8,2,14,1,14,}, + {1,13,2,15,1,8,2,15,1,13,}, + {1,13,2,15,1,8,2,15,1,13,}, + {1,12,2,16,1,8,2,16,1,12,}, + {1,12,2,16,1,8,2,16,1,12,}, + {1,11,2,17,1,8,2,17,1,11,}, + {1,11,2,17,1,8,2,18,1,10,}, + {1,10,2,18,1,8,2,18,1,10,}, + {1,9,2,19,1,8,2,19,1,9,}, + {1,9,2,19,1,8,2,19,1,9,}, + {1,8,2,21,1,6,2,21,1,8,}, + {1,8,2,21,1,6,2,21,1,8,}, + {1,7,2,24,1,2,2,24,1,7,}, + {1,7,2,51,1,6,}, + {1,6,2,52,1,6,}, + {1,5,2,24,1,6,2,24,1,5,}, + {1,5,2,23,1,8,2,23,1,5,}, + {1,4,2,24,1,8,2,24,1,4,}, + {1,4,2,24,1,8,2,24,1,4,}, + {1,3,2,25,1,8,2,25,1,3,}, + {1,3,2,25,1,8,2,25,1,3,}, + {1,2,2,27,1,6,2,27,1,2,}, + {1,1,2,29,1,4,2,29,1,1,}, + {1,1,2,62,1,1,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,61,1,2,}, + {1,64,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/destroyed-icon.lua b/map_gen/data/presets/destroyed-icon.lua new file mode 100644 index 00000000..491c0156 --- /dev/null +++ b/map_gen/data/presets/destroyed-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,30,2,4,1,30,}, + {1,29,2,6,1,29,}, + {1,28,2,8,1,28,}, + {1,28,2,9,1,27,}, + {1,27,2,10,1,27,}, + {1,27,2,11,1,26,}, + {1,26,2,12,1,26,}, + {1,25,2,14,1,25,}, + {1,25,2,14,1,25,}, + {1,24,2,16,1,24,}, + {1,24,2,16,1,24,}, + {1,23,2,18,1,23,}, + {1,23,2,19,1,22,}, + {1,22,2,20,1,22,}, + {1,21,2,22,1,21,}, + {1,21,2,22,1,21,}, + {1,20,2,24,1,20,}, + {1,20,2,24,1,20,}, + {1,19,2,26,1,19,}, + {1,19,2,27,1,18,}, + {1,18,2,28,1,18,}, + {1,18,2,29,1,17,}, + {1,17,2,30,1,17,}, + {1,16,2,6,1,2,2,16,1,2,2,6,1,16,}, + {1,16,2,5,1,4,2,14,1,4,2,5,1,16,}, + {1,15,2,5,1,6,2,12,1,6,2,5,1,15,}, + {1,15,2,4,1,8,2,10,1,8,2,4,1,15,}, + {1,14,2,4,1,10,2,8,1,10,2,4,1,14,}, + {1,14,2,3,1,12,2,6,1,12,2,4,1,13,}, + {1,13,2,5,1,12,2,4,1,12,2,5,1,13,}, + {1,12,2,7,1,12,2,2,1,12,2,7,1,12,}, + {1,12,2,8,1,24,2,8,1,12,}, + {1,11,2,10,1,22,2,10,1,11,}, + {1,11,2,11,1,20,2,11,1,11,}, + {1,10,2,13,1,18,2,13,1,10,}, + {1,10,2,14,1,16,2,15,1,9,}, + {1,9,2,16,1,14,2,16,1,9,}, + {1,8,2,17,1,14,2,17,1,8,}, + {1,8,2,17,1,14,2,17,1,8,}, + {1,7,2,17,1,16,2,17,1,7,}, + {1,7,2,16,1,18,2,16,1,7,}, + {1,6,2,16,1,20,2,16,1,6,}, + {1,6,2,15,1,22,2,15,1,6,}, + {1,5,2,15,1,24,2,15,1,5,}, + {1,5,2,14,1,12,2,2,1,12,2,15,1,4,}, + {1,4,2,14,1,12,2,4,1,12,2,14,1,4,}, + {1,3,2,14,1,12,2,6,1,12,2,14,1,3,}, + {1,3,2,15,1,10,2,8,1,10,2,15,1,3,}, + {1,2,2,17,1,8,2,10,1,8,2,17,1,2,}, + {1,2,2,18,1,6,2,12,1,6,2,18,1,2,}, + {1,1,2,20,1,4,2,14,1,4,2,20,1,1,}, + {1,1,2,21,1,2,2,16,1,2,2,22,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,2,2,60,1,2,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/electricity-icon-unplugged.lua b/map_gen/data/presets/electricity-icon-unplugged.lua new file mode 100644 index 00000000..ee8a7003 --- /dev/null +++ b/map_gen/data/presets/electricity-icon-unplugged.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,30,2,5,1,29,}, + {1,30,2,6,1,28,}, + {1,29,2,8,1,27,}, + {1,28,2,9,1,27,}, + {1,28,2,10,1,26,}, + {1,27,2,11,1,26,}, + {1,27,2,12,1,25,}, + {1,26,2,13,1,25,}, + {1,26,2,14,1,24,}, + {1,25,2,15,1,24,}, + {1,24,2,17,1,23,}, + {1,24,2,18,1,22,}, + {1,23,2,19,1,22,}, + {1,23,2,20,1,21,}, + {1,22,2,21,1,21,}, + {1,22,2,22,1,20,}, + {1,21,2,6,1,3,2,6,1,2,2,6,1,20,}, + {1,21,2,6,1,3,2,5,1,4,2,6,1,19,}, + {1,20,2,7,1,3,2,5,1,4,2,7,1,18,}, + {1,19,2,8,1,3,2,5,1,4,2,7,1,18,}, + {1,19,2,8,1,3,2,5,1,4,2,8,1,17,}, + {1,18,2,9,1,3,2,5,1,4,2,8,1,17,}, + {1,18,2,9,1,4,2,4,1,4,2,9,1,16,}, + {1,17,2,6,1,20,2,5,1,16,}, + {1,17,2,6,1,20,2,6,1,15,}, + {1,16,2,8,1,18,2,8,1,14,}, + {1,15,2,9,1,17,2,9,1,14,}, + {1,15,2,9,1,17,2,10,1,13,}, + {1,14,2,10,1,17,2,10,1,13,}, + {1,14,2,10,1,17,2,11,1,12,}, + {1,13,2,11,1,17,2,11,1,12,}, + {1,13,2,11,1,17,2,12,1,11,}, + {1,12,2,13,1,16,2,13,1,10,}, + {1,11,2,14,1,15,2,14,1,10,}, + {1,11,2,20,1,4,2,20,1,9,}, + {1,10,2,21,1,3,2,21,1,9,}, + {1,10,2,21,1,3,2,22,1,8,}, + {1,9,2,22,1,3,2,22,1,8,}, + {1,9,2,22,1,3,2,23,1,7,}, + {1,8,2,23,1,3,2,23,1,7,}, + {1,7,2,24,1,3,2,24,1,6,}, + {1,7,2,24,1,3,2,25,1,5,}, + {1,6,2,25,1,3,2,25,1,5,}, + {1,6,2,25,1,3,2,26,1,4,}, + {1,5,2,26,1,3,2,10,1,3,2,13,1,4,}, + {1,5,2,26,1,4,2,8,1,4,2,14,1,3,}, + {1,4,2,27,1,4,2,8,1,4,2,14,1,3,}, + {1,3,2,29,1,5,2,4,1,5,2,16,1,2,}, + {1,3,2,29,1,14,2,17,1,1,}, + {1,2,2,31,1,12,2,18,1,1,}, + {1,2,2,32,1,10,2,20,}, + {1,1,2,35,1,6,2,22,}, + {1,1,2,63,}, + {1,1,2,63,}, + {1,1,2,63,}, + {1,1,2,63,}, + {1,2,2,62,}, + {1,4,2,58,1,2,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/electricity-icon.lua b/map_gen/data/presets/electricity-icon.lua new file mode 100644 index 00000000..354f304a --- /dev/null +++ b/map_gen/data/presets/electricity-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,64,}, + {1,29,2,6,1,29,}, + {1,28,2,8,1,28,}, + {1,28,2,8,1,28,}, + {1,27,2,10,1,27,}, + {1,27,2,11,1,26,}, + {1,26,2,12,1,26,}, + {1,26,2,13,1,25,}, + {1,25,2,14,1,25,}, + {1,24,2,16,1,24,}, + {1,24,2,16,1,24,}, + {1,23,2,18,1,23,}, + {1,23,2,18,1,23,}, + {1,22,2,20,1,22,}, + {1,22,2,21,1,21,}, + {1,21,2,22,1,21,}, + {1,20,2,24,1,20,}, + {1,20,2,24,1,20,}, + {1,19,2,26,1,19,}, + {1,19,2,26,1,19,}, + {1,18,2,11,1,8,2,9,1,18,}, + {1,18,2,11,1,9,2,9,1,17,}, + {1,17,2,11,1,9,2,10,1,17,}, + {1,16,2,12,1,9,2,11,1,16,}, + {1,16,2,12,1,8,2,12,1,16,}, + {1,15,2,12,1,9,2,13,1,15,}, + {1,15,2,12,1,8,2,14,1,15,}, + {1,14,2,12,1,9,2,15,1,14,}, + {1,14,2,12,1,8,2,16,1,14,}, + {1,13,2,13,1,8,2,17,1,13,}, + {1,13,2,12,1,8,2,19,1,12,}, + {1,12,2,13,1,16,2,11,1,12,}, + {1,11,2,14,1,15,2,13,1,11,}, + {1,11,2,13,1,15,2,14,1,11,}, + {1,10,2,14,1,14,2,16,1,10,}, + {1,10,2,14,1,14,2,16,1,10,}, + {1,9,2,14,1,14,2,18,1,9,}, + {1,9,2,21,1,6,2,20,1,8,}, + {1,8,2,21,1,6,2,21,1,8,}, + {1,7,2,22,1,6,2,22,1,7,}, + {1,7,2,22,1,5,2,23,1,7,}, + {1,6,2,22,1,5,2,25,1,6,}, + {1,6,2,22,1,4,2,26,1,6,}, + {1,5,2,23,1,4,2,27,1,5,}, + {1,5,2,23,1,3,2,28,1,5,}, + {1,4,2,23,1,3,2,30,1,4,}, + {1,3,2,24,1,2,2,32,1,3,}, + {1,3,2,24,1,2,2,32,1,3,}, + {1,2,2,24,1,2,2,34,1,2,}, + {1,2,2,24,1,1,2,35,1,2,}, + {1,1,2,62,1,1,}, + {1,1,2,62,1,1,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,2,2,60,1,2,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/fluid-icon.lua b/map_gen/data/presets/fluid-icon.lua new file mode 100644 index 00000000..3ec7f832 --- /dev/null +++ b/map_gen/data/presets/fluid-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,30,2,4,1,30,}, + {1,29,2,6,1,29,}, + {1,28,2,8,1,28,}, + {1,28,2,9,1,27,}, + {1,27,2,10,1,27,}, + {1,26,2,12,1,26,}, + {1,26,2,12,1,26,}, + {1,25,2,14,1,25,}, + {1,25,2,14,1,25,}, + {1,24,2,16,1,24,}, + {1,24,2,17,1,23,}, + {1,23,2,18,1,23,}, + {1,23,2,19,1,22,}, + {1,22,2,20,1,22,}, + {1,21,2,22,1,21,}, + {1,21,2,22,1,21,}, + {1,20,2,24,1,20,}, + {1,20,2,25,1,19,}, + {1,19,2,26,1,19,}, + {1,19,2,27,1,18,}, + {1,18,2,28,1,18,}, + {1,17,2,14,1,2,2,14,1,17,}, + {1,17,2,13,1,4,2,13,1,17,}, + {1,16,2,14,1,4,2,14,1,16,}, + {1,16,2,14,1,5,2,13,1,16,}, + {1,15,2,14,1,6,2,14,1,15,}, + {1,15,2,14,1,6,2,15,1,14,}, + {1,14,2,14,1,8,2,14,1,14,}, + {1,13,2,15,1,8,2,15,1,13,}, + {1,13,2,14,1,3,2,1,1,6,2,14,1,13,}, + {1,12,2,15,1,3,2,1,1,6,2,15,1,12,}, + {1,12,2,14,1,3,2,2,1,7,2,14,1,12,}, + {1,11,2,15,1,3,2,2,1,7,2,15,1,11,}, + {1,11,2,14,1,3,2,2,1,9,2,15,1,10,}, + {1,10,2,15,1,3,2,2,1,10,2,14,1,10,}, + {1,10,2,14,1,3,2,3,1,10,2,15,1,9,}, + {1,9,2,15,1,3,2,3,1,11,2,14,1,9,}, + {1,8,2,15,1,4,2,3,1,11,2,15,1,8,}, + {1,8,2,15,1,3,2,4,1,11,2,15,1,8,}, + {1,7,2,16,1,3,2,5,1,11,2,15,1,7,}, + {1,7,2,16,1,3,2,5,1,11,2,15,1,7,}, + {1,6,2,17,1,3,2,5,1,10,2,17,1,6,}, + {1,6,2,17,1,4,2,4,1,10,2,18,1,5,}, + {1,5,2,18,1,4,2,3,1,11,2,18,1,5,}, + {1,4,2,20,1,16,2,20,1,4,}, + {1,4,2,21,1,15,2,20,1,4,}, + {1,3,2,23,1,13,2,22,1,3,}, + {1,3,2,24,1,10,2,24,1,3,}, + {1,2,2,27,1,6,2,27,1,2,}, + {1,2,2,61,1,1,}, + {1,1,2,62,1,1,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,2,2,60,1,2,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/fuel-icon.lua b/map_gen/data/presets/fuel-icon.lua new file mode 100644 index 00000000..41fa032e --- /dev/null +++ b/map_gen/data/presets/fuel-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,30,2,4,1,30,}, + {1,29,2,6,1,29,}, + {1,28,2,8,1,28,}, + {1,28,2,9,1,27,}, + {1,27,2,10,1,27,}, + {1,27,2,11,1,26,}, + {1,26,2,12,1,26,}, + {1,25,2,14,1,25,}, + {1,25,2,14,1,25,}, + {1,24,2,16,1,24,}, + {1,24,2,16,1,24,}, + {1,23,2,18,1,23,}, + {1,23,2,19,1,22,}, + {1,22,2,20,1,22,}, + {1,21,2,22,1,21,}, + {1,21,2,22,1,21,}, + {1,20,2,24,1,20,}, + {1,20,2,24,1,20,}, + {1,19,2,26,1,19,}, + {1,19,2,27,1,18,}, + {1,18,2,28,1,18,}, + {1,17,2,6,1,15,2,9,1,17,}, + {1,17,2,5,1,17,2,2,1,2,2,4,1,17,}, + {1,16,2,6,1,17,2,3,1,2,2,4,1,16,}, + {1,16,2,6,1,17,2,3,1,3,2,3,1,16,}, + {1,15,2,7,1,3,2,11,1,3,2,4,1,3,2,3,1,15,}, + {1,15,2,7,1,3,2,11,1,3,2,4,1,4,2,2,1,15,}, + {1,14,2,8,1,3,2,11,1,3,2,4,1,4,2,3,1,14,}, + {1,14,2,8,1,3,2,11,1,3,2,4,1,4,2,4,1,13,}, + {1,13,2,9,1,3,2,11,1,3,2,5,1,3,2,4,1,13,}, + {1,12,2,10,1,3,2,11,1,3,2,6,1,2,2,5,1,12,}, + {1,12,2,10,1,3,2,11,1,5,2,5,1,1,2,5,1,12,}, + {1,11,2,11,1,20,2,4,1,1,2,6,1,11,}, + {1,11,2,11,1,17,2,1,1,2,2,4,1,1,2,6,1,11,}, + {1,10,2,12,1,17,2,2,1,1,2,4,1,1,2,7,1,10,}, + {1,10,2,12,1,17,2,2,1,1,2,4,1,1,2,8,1,9,}, + {1,9,2,13,1,17,2,2,1,1,2,4,1,1,2,8,1,9,}, + {1,8,2,14,1,17,2,2,1,1,2,4,1,1,2,9,1,8,}, + {1,8,2,14,1,17,2,2,1,1,2,4,1,1,2,9,1,8,}, + {1,7,2,15,1,17,2,2,1,1,2,4,1,1,2,10,1,7,}, + {1,7,2,15,1,17,2,2,1,1,2,4,1,1,2,10,1,7,}, + {1,6,2,16,1,17,2,2,1,1,2,4,1,1,2,11,1,6,}, + {1,6,2,16,1,17,2,2,1,1,2,4,1,1,2,11,1,6,}, + {1,5,2,17,1,17,2,2,1,2,2,2,1,2,2,12,1,5,}, + {1,4,2,18,1,17,2,3,1,4,2,14,1,4,}, + {1,4,2,18,1,17,2,21,1,4,}, + {1,3,2,19,1,17,2,22,1,3,}, + {1,3,2,17,1,21,2,20,1,3,}, + {1,2,2,18,1,21,2,21,1,2,}, + {1,2,2,18,1,21,2,21,1,2,}, + {1,1,2,19,1,21,2,22,1,1,}, + {1,1,2,63,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,3,2,58,1,3,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/no-building-material-icon.lua b/map_gen/data/presets/no-building-material-icon.lua new file mode 100644 index 00000000..0ca70b49 --- /dev/null +++ b/map_gen/data/presets/no-building-material-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,30,2,4,1,30,}, + {1,29,2,6,1,29,}, + {1,28,2,8,1,28,}, + {1,28,2,9,1,27,}, + {1,27,2,10,1,27,}, + {1,27,2,11,1,26,}, + {1,26,2,12,1,26,}, + {1,25,2,14,1,25,}, + {1,25,2,14,1,25,}, + {1,24,2,16,1,24,}, + {1,24,2,16,1,24,}, + {1,23,2,18,1,23,}, + {1,23,2,19,1,22,}, + {1,22,2,20,1,22,}, + {1,21,2,22,1,21,}, + {1,21,2,22,1,21,}, + {1,20,2,24,1,20,}, + {1,20,2,24,1,20,}, + {1,19,2,26,1,19,}, + {1,19,2,27,1,18,}, + {1,18,2,28,1,18,}, + {1,17,2,30,1,17,}, + {1,17,2,13,1,4,2,13,1,17,}, + {1,16,2,14,1,4,2,14,1,16,}, + {1,16,2,14,1,4,2,14,1,16,}, + {1,15,2,7,1,3,2,3,1,8,2,4,1,2,2,7,1,15,}, + {1,15,2,6,1,22,2,6,1,15,}, + {1,14,2,7,1,22,2,7,1,14,}, + {1,14,2,8,1,20,2,9,1,13,}, + {1,13,2,10,1,18,2,10,1,13,}, + {1,12,2,10,1,20,2,10,1,12,}, + {1,12,2,10,1,20,2,10,1,12,}, + {1,11,2,10,1,8,2,6,1,8,2,10,1,11,}, + {1,11,2,10,1,7,2,8,1,7,2,10,1,11,}, + {1,10,2,8,1,10,2,8,1,10,2,8,1,10,}, + {1,10,2,8,1,10,2,8,1,10,2,9,1,9,}, + {1,9,2,9,1,10,2,8,1,10,2,9,1,9,}, + {1,8,2,10,1,10,2,8,1,10,2,10,1,8,}, + {1,8,2,14,1,7,2,7,1,7,2,13,1,8,}, + {1,7,2,15,1,8,2,4,1,8,2,15,1,7,}, + {1,7,2,15,1,20,2,15,1,7,}, + {1,6,2,17,1,18,2,17,1,6,}, + {1,6,2,16,1,20,2,16,1,6,}, + {1,5,2,17,1,21,2,16,1,5,}, + {1,4,2,17,1,22,2,17,1,4,}, + {1,4,2,18,1,3,2,2,1,10,2,2,1,3,2,18,1,4,}, + {1,3,2,20,1,1,2,6,1,5,2,5,1,1,2,20,1,3,}, + {1,3,2,27,1,4,2,27,1,3,}, + {1,2,2,28,1,4,2,28,1,2,}, + {1,2,2,28,1,4,2,28,1,2,}, + {1,1,2,62,1,1,}, + {1,1,2,63,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,3,2,58,1,3,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/no-storage-space-icon.lua b/map_gen/data/presets/no-storage-space-icon.lua new file mode 100644 index 00000000..1dd487a9 --- /dev/null +++ b/map_gen/data/presets/no-storage-space-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,30,2,5,1,29,}, + {1,29,2,6,1,29,}, + {1,28,2,8,1,28,}, + {1,28,2,9,1,27,}, + {1,27,2,10,1,27,}, + {1,26,2,12,1,26,}, + {1,26,2,12,1,26,}, + {1,25,2,14,1,25,}, + {1,25,2,14,1,25,}, + {1,24,2,16,1,24,}, + {1,24,2,17,1,23,}, + {1,23,2,18,1,23,}, + {1,22,2,20,1,22,}, + {1,22,2,20,1,22,}, + {1,21,2,22,1,21,}, + {1,21,2,22,1,21,}, + {1,20,2,24,1,20,}, + {1,20,2,25,1,19,}, + {1,19,2,26,1,19,}, + {1,19,2,27,1,18,}, + {1,18,2,28,1,18,}, + {1,17,2,30,1,17,}, + {1,17,2,30,1,17,}, + {1,16,2,32,1,16,}, + {1,16,2,32,1,16,}, + {1,15,2,34,1,15,}, + {1,15,2,11,1,1,2,23,1,14,}, + {1,14,2,8,1,1,2,3,1,13,2,2,1,2,2,7,1,14,}, + {1,13,2,8,1,2,2,3,1,13,2,2,1,2,2,8,1,13,}, + {1,13,2,7,1,3,2,3,1,3,2,6,1,3,2,3,1,3,2,7,1,13,}, + {1,12,2,8,1,3,2,3,1,3,2,7,1,2,2,4,1,2,2,8,1,12,}, + {1,12,2,7,1,4,2,3,1,2,2,8,1,2,2,4,1,3,2,7,1,12,}, + {1,11,2,8,1,4,2,3,1,2,2,8,1,2,2,4,1,4,2,7,1,11,}, + {1,11,2,7,1,4,2,4,1,3,2,6,1,3,2,4,1,4,2,8,1,10,}, + {1,10,2,8,1,4,2,4,1,5,2,2,1,5,2,4,1,5,2,7,1,10,}, + {1,9,2,8,1,5,2,4,1,12,2,4,1,5,2,8,1,9,}, + {1,9,2,8,1,5,2,4,1,12,2,4,1,5,2,8,1,9,}, + {1,8,2,9,1,5,2,4,1,12,2,4,1,5,2,9,1,8,}, + {1,8,2,9,1,5,2,4,1,13,2,3,1,5,2,9,1,8,}, + {1,7,2,10,1,5,2,3,1,14,2,3,1,5,2,10,1,7,}, + {1,7,2,10,1,5,2,3,1,14,2,4,1,4,2,10,1,7,}, + {1,6,2,11,1,4,2,4,1,14,2,4,1,4,2,11,1,6,}, + {1,5,2,12,1,4,2,4,1,14,2,4,1,4,2,12,1,5,}, + {1,5,2,12,1,4,2,4,1,15,2,3,1,4,2,12,1,5,}, + {1,4,2,13,1,3,2,5,1,15,2,4,1,3,2,13,1,4,}, + {1,4,2,13,1,3,2,4,1,16,2,4,1,3,2,13,1,4,}, + {1,3,2,14,1,3,2,4,1,16,2,4,1,3,2,14,1,3,}, + {1,3,2,14,1,3,2,4,1,16,2,4,1,3,2,14,1,3,}, + {1,2,2,15,1,2,2,5,1,17,2,4,1,2,2,15,1,2,}, + {1,1,2,16,1,2,2,5,1,17,2,4,1,2,2,16,1,1,}, + {1,1,2,16,1,2,2,4,1,2,2,15,1,1,2,4,1,2,2,16,1,1,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,2,2,60,1,2,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/not-enough-construction-robots-icon.lua b/map_gen/data/presets/not-enough-construction-robots-icon.lua new file mode 100644 index 00000000..572e5b62 --- /dev/null +++ b/map_gen/data/presets/not-enough-construction-robots-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,30,2,5,1,29,}, + {1,29,2,7,1,28,}, + {1,28,2,8,1,28,}, + {1,28,2,9,1,27,}, + {1,27,2,10,1,27,}, + {1,26,2,12,1,26,}, + {1,26,2,12,1,26,}, + {1,25,2,14,1,25,}, + {1,25,2,15,1,24,}, + {1,24,2,16,1,24,}, + {1,24,2,17,1,23,}, + {1,23,2,18,1,23,}, + {1,22,2,20,1,22,}, + {1,22,2,20,1,22,}, + {1,21,2,22,1,21,}, + {1,21,2,22,1,21,}, + {1,20,2,24,1,20,}, + {1,20,2,25,1,19,}, + {1,19,2,26,1,19,}, + {1,18,2,28,1,18,}, + {1,18,2,28,1,18,}, + {1,17,2,8,1,11,2,11,1,17,}, + {1,17,2,6,1,13,2,11,1,17,}, + {1,16,2,7,1,13,2,12,1,16,}, + {1,16,2,7,1,13,2,13,1,15,}, + {1,15,2,8,1,14,2,12,1,15,}, + {1,15,2,7,1,18,2,10,1,14,}, + {1,14,2,6,1,9,2,6,1,6,2,9,1,14,}, + {1,13,2,6,1,8,2,10,1,5,2,9,1,13,}, + {1,13,2,6,1,8,2,11,1,4,2,9,1,13,}, + {1,12,2,7,1,16,2,3,1,4,2,10,1,12,}, + {1,12,2,7,1,16,2,3,1,4,2,11,1,11,}, + {1,11,2,8,1,22,2,12,1,11,}, + {1,11,2,8,1,22,2,13,1,10,}, + {1,10,2,9,1,27,2,8,1,10,}, + {1,9,2,13,1,25,2,8,1,9,}, + {1,9,2,13,1,25,2,8,1,9,}, + {1,8,2,14,1,21,2,1,1,3,2,9,1,8,}, + {1,8,2,14,1,18,2,5,1,2,2,9,1,8,}, + {1,7,2,15,1,17,2,6,1,1,2,11,1,7,}, + {1,7,2,15,1,17,2,19,1,6,}, + {1,6,2,16,1,16,2,20,1,6,}, + {1,5,2,17,1,17,2,20,1,5,}, + {1,5,2,17,1,17,2,3,1,2,2,15,1,5,}, + {1,4,2,18,1,22,2,16,1,4,}, + {1,4,2,19,1,12,2,1,1,7,2,17,1,4,}, + {1,3,2,21,1,6,2,7,1,5,2,19,1,3,}, + {1,3,2,22,1,4,2,9,1,2,2,22,1,2,}, + {1,2,2,60,1,2,}, + {1,1,2,62,1,1,}, + {1,1,2,62,1,1,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,2,2,59,1,3,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/not-enough-repair-packs-icon.lua b/map_gen/data/presets/not-enough-repair-packs-icon.lua new file mode 100644 index 00000000..d14074e6 --- /dev/null +++ b/map_gen/data/presets/not-enough-repair-packs-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,29,2,6,1,29,}, + {1,28,2,8,1,28,}, + {1,28,2,8,1,28,}, + {1,27,2,10,1,27,}, + {1,27,2,11,1,26,}, + {1,26,2,12,1,26,}, + {1,26,2,13,1,25,}, + {1,25,2,14,1,25,}, + {1,24,2,16,1,24,}, + {1,24,2,16,1,24,}, + {1,23,2,18,1,23,}, + {1,23,2,18,1,23,}, + {1,22,2,20,1,22,}, + {1,22,2,21,1,21,}, + {1,21,2,22,1,21,}, + {1,21,2,23,1,20,}, + {1,20,2,24,1,20,}, + {1,19,2,26,1,19,}, + {1,19,2,26,1,19,}, + {1,18,2,8,1,2,2,8,1,2,2,8,1,18,}, + {1,18,2,8,1,2,2,8,1,2,2,9,1,17,}, + {1,17,2,8,1,3,2,8,1,3,2,8,1,17,}, + {1,17,2,8,1,3,2,8,1,3,2,9,1,16,}, + {1,16,2,9,1,4,2,6,1,4,2,9,1,16,}, + {1,15,2,10,1,14,2,10,1,15,}, + {1,15,2,10,1,14,2,10,1,15,}, + {1,14,2,11,1,14,2,11,1,14,}, + {1,14,2,12,1,12,2,12,1,14,}, + {1,13,2,14,1,10,2,14,1,13,}, + {1,13,2,15,1,8,2,16,1,12,}, + {1,12,2,16,1,8,2,16,1,12,}, + {1,11,2,17,1,8,2,17,1,11,}, + {1,11,2,17,1,8,2,17,1,11,}, + {1,10,2,18,1,8,2,18,1,10,}, + {1,10,2,18,1,8,2,18,1,10,}, + {1,9,2,19,1,8,2,19,1,9,}, + {1,9,2,19,1,8,2,20,1,8,}, + {1,8,2,20,1,8,2,20,1,8,}, + {1,8,2,20,1,8,2,21,1,7,}, + {1,7,2,21,1,8,2,21,1,7,}, + {1,6,2,22,1,8,2,22,1,6,}, + {1,6,2,21,1,10,2,21,1,6,}, + {1,5,2,21,1,12,2,21,1,5,}, + {1,5,2,21,1,12,2,21,1,5,}, + {1,4,2,21,1,14,2,21,1,4,}, + {1,4,2,21,1,14,2,22,1,3,}, + {1,3,2,22,1,4,2,6,1,4,2,22,1,3,}, + {1,2,2,23,1,4,2,7,1,3,2,23,1,2,}, + {1,2,2,23,1,3,2,8,1,3,2,23,1,2,}, + {1,1,2,24,1,3,2,8,1,3,2,24,1,1,}, + {1,1,2,25,1,2,2,8,1,2,2,25,1,1,}, + {2,27,1,1,2,8,1,1,2,27,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,2,2,60,1,2,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/recharge-icon.lua b/map_gen/data/presets/recharge-icon.lua new file mode 100644 index 00000000..d1e3bb06 --- /dev/null +++ b/map_gen/data/presets/recharge-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,30,2,4,1,30,}, + {1,29,2,6,1,29,}, + {1,28,2,8,1,28,}, + {1,28,2,9,1,27,}, + {1,27,2,10,1,27,}, + {1,26,2,12,1,26,}, + {1,26,2,12,1,26,}, + {1,25,2,14,1,25,}, + {1,25,2,14,1,25,}, + {1,24,2,16,1,24,}, + {1,24,2,17,1,23,}, + {1,23,2,18,1,23,}, + {1,22,2,20,1,22,}, + {1,22,2,20,1,22,}, + {1,21,2,22,1,21,}, + {1,21,2,22,1,21,}, + {1,20,2,24,1,20,}, + {1,20,2,25,1,19,}, + {1,19,2,26,1,19,}, + {1,19,2,11,1,5,2,11,1,18,}, + {1,18,2,12,1,5,2,11,1,18,}, + {1,17,2,13,1,5,2,12,1,17,}, + {1,17,2,10,1,10,2,10,1,17,}, + {1,16,2,8,1,16,2,8,1,16,}, + {1,16,2,7,1,18,2,7,1,16,}, + {1,15,2,8,1,18,2,8,1,15,}, + {1,15,2,8,1,8,2,5,1,5,2,9,1,14,}, + {1,14,2,9,1,7,2,6,1,5,2,9,1,14,}, + {1,13,2,10,1,7,2,5,1,6,2,10,1,13,}, + {1,13,2,10,1,6,2,6,1,6,2,10,1,13,}, + {1,12,2,11,1,6,2,5,1,7,2,11,1,12,}, + {1,12,2,11,1,6,2,5,1,7,2,11,1,12,}, + {1,11,2,12,1,5,2,6,1,7,2,12,1,11,}, + {1,11,2,12,1,5,2,5,1,8,2,13,1,10,}, + {1,10,2,13,1,5,2,10,1,3,2,13,1,10,}, + {1,9,2,14,1,4,2,10,1,4,2,14,1,9,}, + {1,9,2,14,1,4,2,9,1,5,2,14,1,9,}, + {1,8,2,15,1,4,2,9,1,5,2,15,1,8,}, + {1,8,2,15,1,8,2,4,1,6,2,15,1,8,}, + {1,7,2,16,1,7,2,4,1,7,2,16,1,7,}, + {1,7,2,16,1,7,2,3,1,8,2,16,1,7,}, + {1,6,2,17,1,7,2,2,1,9,2,17,1,6,}, + {1,5,2,18,1,6,2,3,1,9,2,18,1,5,}, + {1,5,2,18,1,6,2,2,1,10,2,18,1,5,}, + {1,4,2,19,1,6,2,1,1,11,2,19,1,4,}, + {1,4,2,19,1,5,2,1,1,12,2,19,1,4,}, + {1,3,2,20,1,5,2,1,1,12,2,20,1,3,}, + {1,3,2,20,1,18,2,20,1,3,}, + {1,2,2,22,1,17,2,21,1,2,}, + {1,1,2,23,1,16,2,23,1,1,}, + {1,1,2,24,1,14,2,24,1,1,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {2,64,}, + {1,1,2,62,1,1,}, + {1,2,2,60,1,2,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/data/presets/too-far-from-roboport-icon.lua b/map_gen/data/presets/too-far-from-roboport-icon.lua new file mode 100644 index 00000000..c299a7ab --- /dev/null +++ b/map_gen/data/presets/too-far-from-roboport-icon.lua @@ -0,0 +1,71 @@ +local b = require 'map_gen.shared.builders' +return b.decompress({ +height = 64, +width = 64, +data = { + {1,64,}, + {1,64,}, + {1,64,}, + {1,31,2,3,1,30,}, + {1,29,2,6,1,29,}, + {1,29,2,7,1,28,}, + {1,28,2,9,1,27,}, + {1,27,2,10,1,27,}, + {1,27,2,11,1,26,}, + {1,26,2,12,1,26,}, + {1,26,2,13,1,25,}, + {1,25,2,15,1,24,}, + {1,25,2,15,1,24,}, + {1,24,2,17,1,23,}, + {1,24,2,17,1,23,}, + {1,23,2,19,1,22,}, + {1,22,2,6,1,10,2,4,1,22,}, + {1,22,2,4,1,14,2,3,1,21,}, + {1,21,2,4,1,3,2,10,1,3,2,3,1,20,}, + {1,21,2,4,1,2,2,12,1,2,2,3,1,20,}, + {1,20,2,10,1,6,2,9,1,19,}, + {1,20,2,8,1,9,2,8,1,19,}, + {1,19,2,9,1,2,2,6,1,1,2,9,1,18,}, + {1,18,2,28,1,18,}, + {1,18,2,13,1,3,2,13,1,17,}, + {1,17,2,14,1,3,2,14,1,16,}, + {1,17,2,31,1,16,}, + {1,16,2,33,1,15,}, + {1,16,2,8,1,1,2,14,1,1,2,9,1,15,}, + {1,15,2,8,1,2,2,14,1,2,2,9,1,14,}, + {1,15,2,7,1,2,2,16,1,2,2,8,1,14,}, + {1,14,2,7,1,2,2,18,1,2,2,8,1,13,}, + {1,13,2,7,1,3,2,18,1,3,2,8,1,12,}, + {1,13,2,6,1,4,2,3,1,13,2,2,1,4,2,7,1,12,}, + {1,12,2,8,1,3,2,2,1,5,2,3,1,7,2,1,1,3,2,9,1,11,}, + {1,12,2,9,1,7,2,4,1,2,2,3,1,6,2,10,1,11,}, + {1,11,2,10,1,6,2,4,1,2,2,5,1,5,2,11,1,10,}, + {1,11,2,4,1,2,2,5,1,6,2,3,1,2,2,6,1,3,2,12,1,10,}, + {1,10,2,6,1,2,2,4,1,4,2,2,1,9,2,2,1,4,2,4,1,1,2,7,1,9,}, + {1,10,2,7,1,2,2,2,1,5,2,6,1,1,2,3,1,8,2,2,1,2,2,8,1,8,}, + {1,9,2,9,1,1,2,2,1,5,2,6,1,2,2,4,1,6,2,1,1,2,2,9,1,8,}, + {1,8,2,10,1,2,2,1,1,6,2,4,1,2,2,4,1,9,2,11,1,7,}, + {1,8,2,10,1,11,2,1,1,2,2,4,1,10,2,11,1,7,}, + {1,7,2,11,1,29,2,11,1,6,}, + {1,7,2,11,1,29,2,11,1,6,}, + {1,6,2,12,1,29,2,12,1,5,}, + {1,6,2,13,1,27,2,13,1,5,}, + {1,5,2,17,1,21,2,17,1,4,}, + {1,4,2,18,1,21,2,18,1,3,}, + {1,4,2,18,1,20,2,19,1,3,}, + {1,3,2,19,1,20,2,20,1,2,}, + {1,3,2,19,1,20,2,20,1,2,}, + {1,2,2,21,1,19,2,21,1,1,}, + {1,2,2,21,1,19,2,21,1,1,}, + {1,1,2,23,1,17,2,23,}, + {2,25,1,15,2,24,}, + {2,26,1,13,2,25,}, + {2,26,1,12,2,26,}, + {2,27,1,10,2,27,}, + {1,1,2,63,}, + {1,2,2,61,1,1,}, + {1,64,}, + {1,64,}, + {1,64,}, +} +}) \ No newline at end of file diff --git a/map_gen/presets/bermuda_triangle.lua b/map_gen/presets/bermuda_triangle.lua new file mode 100644 index 00000000..f78ab45a --- /dev/null +++ b/map_gen/presets/bermuda_triangle.lua @@ -0,0 +1,286 @@ +local b = require 'map_gen.shared.builders' +local Random = require 'map_gen.shared.random' +local Perlin = require 'map_gen.shared.perlin_noise' +local Token = require 'utils.global_token' + +-- change these to change the pattern. +local seed1 = 6000 +local seed2 = 12000 +local perlin_seed = 420420 + +local function square(x, y) + return x > 0 and y > 0 +end + +square = b.rotate(square, degrees(-45)) +square = b.scale(square, 5 / 12, 1) + +local map = b.translate(square, 0, -10) + +local sea = b.translate(map, 0, -6) +sea = b.change_tile(sea, true, 'water') +sea = b.fish(sea, 0.075) + +map = b.any {map, sea} + +local icons = { + b.picture(require 'map_gen.data.presets.ammo-icon'), + b.picture(require 'map_gen.data.presets.danger-icon'), + b.picture(require 'map_gen.data.presets.destroyed-icon'), + b.picture(require 'map_gen.data.presets.electricity-icon'), + b.picture(require 'map_gen.data.presets.electricity-icon-unplugged'), + b.picture(require 'map_gen.data.presets.fluid-icon'), + b.picture(require 'map_gen.data.presets.fuel-icon'), + b.picture(require 'map_gen.data.presets.no-building-material-icon'), + b.picture(require 'map_gen.data.presets.no-storage-space-icon'), + b.picture(require 'map_gen.data.presets.not-enough-construction-robots-icon'), + b.picture(require 'map_gen.data.presets.not-enough-repair-packs-icon'), + b.picture(require 'map_gen.data.presets.recharge-icon'), + b.picture(require 'map_gen.data.presets.too-far-from-roboport-icon') +} +local icons_count = #icons + +local value = b.manhattan_value + +local function non_transform(shape) + return shape +end + +local function uranium_transform(shape) + return b.scale(shape, 0.5) +end + +local function oil_transform(shape) + shape = b.scale(shape, 0.5) + return b.throttle_world_xy(shape, 1, 4, 1, 4) +end + +local function empty_transform() + return b.empty_shape +end + +local ores = { + {transform = non_transform, resource = 'iron-ore', value = value(500, 0.1), weight = 16}, + {transform = non_transform, resource = 'copper-ore', value = value(400, 0.1), weight = 10}, + {transform = non_transform, resource = 'stone', value = value(250, 0.1), weight = 3}, + {transform = non_transform, resource = 'coal', value = value(400, 0.1), weight = 5}, + {transform = uranium_transform, resource = 'uranium-ore', value = value(200, 0.1), weight = 3}, + {transform = oil_transform, resource = 'crude-oil', value = value(100000, 50), weight = 6}, + {transform = empty_transform, weight = 100} +} + +local random = Random.new(seed1, seed2) + +local total_weights = {} +local t = 0 +for _, v in ipairs(ores) do + t = t + v.weight + table.insert(total_weights, t) +end + +local p_cols = 50 +local p_rows = 50 +local pattern = {} + +for _ = 1, p_rows do + local row = {} + table.insert(pattern, row) + for _ = 1, p_cols do + local shape = icons[random:next_int(1, icons_count)] + + local i = random:next_int(1, t) + local index = table.binary_search(total_weights, i) + if (index < 0) then + index = bit32.bnot(index) + end + + local ore_data = ores[index] + shape = ore_data.transform(shape) + local ore = b.resource(shape, ore_data.resource, ore_data.value) + + table.insert(row, ore) + end +end + +local ore_shape = b.project_pattern(pattern, 96, 1.1, 50, 50) +ore_shape = b.scale(ore_shape, 0.2) + +local start_ore = icons[2] +local start_iron = b.resource(start_ore, 'iron-ore', value(600, 0)) +local start_copper = b.resource(start_ore, 'copper-ore', value(600, 0)) +local start_coal = b.resource(start_ore, 'coal', value(1300, 0)) +local start_stone = b.resource(start_ore, 'stone', value(900, 0)) + +start_ore = b.segment_pattern({start_coal, start_stone, start_copper, start_iron}) +start_ore = b.translate(start_ore, 0, 64) + +ore_shape = b.choose(b.rectangle(224, 224), start_ore, ore_shape) + +local item_pool = { + {name = 'firearm-magazine', count = 200, weight = 1250}, + {name = 'land-mine', count = 100, weight = 250}, + {name = 'shotgun-shell', count = 200, weight = 1250}, + {name = 'piercing-rounds-magazine', count = 200, weight = 833.3333}, + {name = 'science-pack-1', count = 200, weight = 100}, + {name = 'science-pack-2', count = 200, weight = 100}, + {name = 'grenade', count = 100, weight = 500}, + {name = 'defender-capsule', count = 50, weight = 500}, + {name = 'railgun-dart', count = 100, weight = 500}, + {name = 'piercing-shotgun-shell', count = 200, weight = 312.5}, + {name = 'steel-axe', count = 5, weight = 166.6667}, + {name = 'submachine-gun', count = 1, weight = 166.6667}, + {name = 'shotgun', count = 1, weight = 166.6667}, + {name = 'uranium-rounds-magazine', count = 200, weight = 166.6667}, + {name = 'cannon-shell', count = 100, weight = 166.6667}, + {name = 'rocket', count = 100, weight = 166.6667}, + {name = 'distractor-capsule', count = 25, weight = 166.6667}, + {name = 'railgun', count = 1, weight = 100}, + {name = 'flamethrower-ammo', count = 50, weight = 100}, + {name = 'military-science-pack', count = 200, weight = 100}, + {name = 'science-pack-3', count = 200, weight = 100}, + {name = 'explosive-rocket', count = 100, weight = 100}, + {name = 'explosive-cannon-shell', count = 100, weight = 100}, + {name = 'cluster-grenade', count = 100, weight = 100}, + {name = 'poison-capsule', count = 100, weight = 100}, + {name = 'slowdown-capsule', count = 100, weight = 100}, + {name = 'construction-robot', count = 50, weight = 100}, + {name = 'solar-panel-equipment', count = 5, weight = 833.3333}, + {name = 'artillery-targeting-remote', count = 1, weight = 50}, + {name = 'tank-flamethrower', count = 1, weight = 33.3333}, + {name = 'explosive-uranium-cannon-shell', count = 100, weight = 33.3333}, + {name = 'destroyer-capsule', count = 10, weight = 33.3333}, + {name = 'artillery-shell', count = 10, weight = 25}, + {name = 'battery-equipment', count = 5, weight = 25}, + {name = 'night-vision-equipment', count = 2, weight = 25}, + {name = 'exoskeleton-equipment', count = 2, weight = 166.6667}, + {name = 'rocket-launcher', count = 1, weight = 14.2857}, + {name = 'combat-shotgun', count = 1, weight = 10}, + {name = 'flamethrower', count = 1, weight = 10}, + {name = 'tank-cannon', count = 1, weight = 10}, + {name = 'modular-armor', count = 1, weight = 100}, + {name = 'belt-immunity-equipment', count = 1, weight = 10}, + {name = 'personal-roboport-equipment', count = 1, weight = 100}, + {name = 'energy-shield-equipment', count = 2, weight = 100}, + {name = 'personal-laser-defense-equipment', count = 2, weight = 100}, + {name = 'battery-mk2-equipment', count = 1, weight = 40}, + {name = 'tank-machine-gun', count = 1, weight = 3.3333}, + {name = 'power-armor', count = 1, weight = 33.3333}, + {name = 'fusion-reactor-equipment', count = 1, weight = 33.3333}, + {name = 'production-science-pack', count = 200, weight = 100}, + {name = 'high-tech-science-pack', count = 200, weight = 100}, + {name = 'artillery-turret', count = 1, weight = 2.5}, + {name = 'artillery-wagon-cannon', count = 1, weight = 1}, + {name = 'atomic-bomb', count = 1, weight = 1}, + {name = 'space-science-pack', count = 200, weight = 10} +} + +local total_weights = {} +local t = 0 +for _, v in ipairs(item_pool) do + t = t + v.weight + table.insert(total_weights, t) +end + +local callback = + Token.register( + function(entity, data) + local count = math.random(3, 8) + for _ = 1, count do + local i = math.random() ^ data * t + + local index = table.binary_search(total_weights, i) + if (index < 0) then + index = bit32.bnot(index) + end + + local loot = item_pool[index] + + entity.insert(loot) + end + end +) + +local loot_power = 500 +local function loot(x, y) + if math.random(4096) ~= 1 then + return nil + end + + local d = math.sqrt(x * x + y * y) + local name + if d < 600 then + name = 'car' + else + if math.random(5) == 1 then + name = 'tank' + else + name = 'car' + end + end + + -- neutral stops the biters attacking them. + local entity = {name = name, force = 'neutral', callback = callback, data = loot_power / d} + + return entity +end + +local worm_names = {'small-worm-turret', 'medium-worm-turret', 'big-worm-turret'} +local spawner_names = {'biter-spawner', 'spitter-spawner'} +local factor = 8 / (1024 * 32) +local max_chance = 1 / 8 + +local scale_factor = 32 +local sf = 1 / scale_factor +local m = 1.125 / 1000 +local function enemy(x, y, world) + local d = math.sqrt(world.x * world.x + world.y * world.y) + + if d < 300 then + return nil + end + + local threshold = 1 - d * m + threshold = math.max(threshold, -0.125) + + x, y = x * sf, y * sf + if Perlin.noise(x, y, perlin_seed) > threshold then + if math.random(8) == 1 then + local lvl + if d < 400 then + lvl = 1 + elseif d < 650 then + lvl = 2 + else + lvl = 3 + end + + local chance = math.min(max_chance, d * factor) + + if math.random() < chance then + local worm_id + if d > 1000 then + local power = 1000 / d + worm_id = math.ceil((math.random() ^ power) * lvl) + else + worm_id = math.random(lvl) + end + + return {name = worm_names[worm_id]} + end + else + local chance = math.min(max_chance, d * factor) + if math.random() < chance then + local spawner_id = math.random(2) + return {name = spawner_names[spawner_id]} + end + end + end +end + +map = b.apply_entity(map, ore_shape) +map = b.apply_entity(map, loot) +map = b.apply_entity(map, enemy) + +map = b.change_map_gen_collision_tile(map, 'water-tile', 'grass-1') + +return map diff --git a/map_gen/shared/builders.lua b/map_gen/shared/builders.lua index fc5a1223..3423b236 100644 --- a/map_gen/shared/builders.lua +++ b/map_gen/shared/builders.lua @@ -483,6 +483,38 @@ function Builders.project(shape, size, r) end end +function Builders.project_pattern(pattern, size, r, columns, rows) + local ln_r = math.log(r) + local r2 = 1 / (r - 1) + local a = 1 / size + local half_size = size / 2 + + return function(x, y, world) + local offset = 0.5 * size + local sn = math.ceil(y + offset) + + local n = math.ceil(math.log((r - 1) * sn * a + 1) / ln_r - 1) + local rn = r ^ n + local rn2 = 1 / rn + local c = size * rn + + local sn_upper = size * (r ^ (n + 1) - 1) * r2 + x = x * rn2 + y = (y - (sn_upper - 0.5 * c) + offset) * rn2 + + local row_i = n % rows + 1 + local row = pattern[row_i] + + local x2 = ((x + half_size) % size) - half_size + local col_pos = math.floor(x / size + 0.5) + local col_i = col_pos % columns + 1 + + local shape = row[col_i] + + return shape(x2, y, world) + end +end + function Builders.project_overlap(shape, size, r) local ln_r = math.log(r) local r2 = 1 / (r - 1) diff --git a/map_gen/shared/generate.lua b/map_gen/shared/generate.lua index 8a0ff7e2..3d94300b 100644 --- a/map_gen/shared/generate.lua +++ b/map_gen/shared/generate.lua @@ -86,7 +86,7 @@ local function do_place_entities(data) local entity = surface.create_entity(e) if entity and e.callback then local callback = Token.get(e.callback) - callback(entity) + callback(entity, e.data) end end end diff --git a/map_gen/shared/generate_not_threaded.lua b/map_gen/shared/generate_not_threaded.lua index 8948e356..63d2a583 100644 --- a/map_gen/shared/generate_not_threaded.lua +++ b/map_gen/shared/generate_not_threaded.lua @@ -90,7 +90,7 @@ local function do_place_entities(data) local entity = surface.create_entity(e) if entity and e.callback then local callback = Token.get(e.callback) - callback(entity) + callback(entity, e.data) end end end diff --git a/map_layout.lua b/map_layout.lua index e24ed223..fe87ea4a 100644 --- a/map_layout.lua +++ b/map_layout.lua @@ -65,6 +65,7 @@ local tiles_per_tick = 32 --shape = require "map_gen.presets.square_spiral" --shape = require "map_gen.presets.beach" --shape = require "map_gen.presets.factory" +shape = require "map_gen.presets.bermuda_triangle" --shape = require "map_gen.presets.test" --shapes-- @@ -133,6 +134,6 @@ if shape then ['nauvis'] = shape, } - require('map_gen.shared.generate')({surfaces = surfaces, regen_decoratives = regen_decoratives, tiles_per_tick = tiles_per_tick}) - --require ("map_gen.shared.generate_not_threaded")({surfaces = surfaces, regen_decoratives = regen_decoratives}) + --require('map_gen.shared.generate')({surfaces = surfaces, regen_decoratives = regen_decoratives, tiles_per_tick = tiles_per_tick}) + require ("map_gen.shared.generate_not_threaded")({surfaces = surfaces, regen_decoratives = regen_decoratives}) end diff --git a/resources/market_items.lua b/resources/market_items.lua index 445c153c..c504e957 100644 --- a/resources/market_items.lua +++ b/resources/market_items.lua @@ -19,17 +19,17 @@ return { {price = {{'raw-fish', 75}}, offer = {type = 'give-item', item = 'tank-flamethrower'}}, {price = {{'raw-fish', 2500}}, offer = {type = 'give-item', item = 'artillery-wagon-cannon'}}, {price = {{'raw-fish', 1}}, offer = {type = 'give-item', item = 'firearm-magazine'}}, - {price = {{'raw-fish', 3}}, offer = {type = 'give-item', item = 'piercing-rounds-magazine'}}, - {price = {{'raw-fish', 15}}, offer = {type = 'give-item', item = 'uranium-rounds-magazine'}}, + {price = {{'raw-fish', 5}}, offer = {type = 'give-item', item = 'piercing-rounds-magazine'}}, + {price = {{'raw-fish', 20}}, offer = {type = 'give-item', item = 'uranium-rounds-magazine'}}, {price = {{'raw-fish', 2}}, offer = {type = 'give-item', item = 'shotgun-shell'}}, - {price = {{'raw-fish', 8}}, offer = {type = 'give-item', item = 'piercing-shotgun-shell'}}, + {price = {{'raw-fish', 10}}, offer = {type = 'give-item', item = 'piercing-shotgun-shell'}}, {price = {{'raw-fish', 5}}, offer = {type = 'give-item', item = 'railgun-dart'}}, {price = {{'raw-fish', 25}}, offer = {type = 'give-item', item = 'flamethrower-ammo'}}, {price = {{'raw-fish', 15}}, offer = {type = 'give-item', item = 'rocket'}}, {price = {{'raw-fish', 25}}, offer = {type = 'give-item', item = 'explosive-rocket'}}, {price = {{'raw-fish', 2500}}, offer = {type = 'give-item', item = 'atomic-bomb'}}, - {price = {{'raw-fish', 15}}, offer = {type = 'give-item', item = 'cannon-shell'}}, - {price = {{'raw-fish', 25}}, offer = {type = 'give-item', item = 'explosive-cannon-shell'}}, + {price = {{'raw-fish', 20}}, offer = {type = 'give-item', item = 'cannon-shell'}}, + {price = {{'raw-fish', 30}}, offer = {type = 'give-item', item = 'explosive-cannon-shell'}}, {price = {{'raw-fish', 75}}, offer = {type = 'give-item', item = 'explosive-uranium-cannon-shell'}}, {price = {{'raw-fish', 100}}, offer = {type = 'give-item', item = 'artillery-shell'}}, {price = {{'raw-fish', 1}}, offer = {type = 'give-item', item = 'land-mine'}}, @@ -38,14 +38,14 @@ return { {price = {{'raw-fish', 5}}, offer = {type = 'give-item', item = 'defender-capsule'}}, --{price = {{'raw-fish', 15}}, offer = {type = 'give-item', item = 'distractor-capsule'}}, Removed so we dont have 51 items and they are useless anyways {price = {{'raw-fish', 75}}, offer = {type = 'give-item', item = 'destroyer-capsule'}}, - {price = {{'raw-fish', 25}}, offer = {type = 'give-item', item = 'poison-capsule'}}, - {price = {{'raw-fish', 25}}, offer = {type = 'give-item', item = 'slowdown-capsule'}}, + {price = {{'raw-fish', 35}}, offer = {type = 'give-item', item = 'poison-capsule'}}, + {price = {{'raw-fish', 35}}, offer = {type = 'give-item', item = 'slowdown-capsule'}}, {price = {{'raw-fish', 50}}, offer = {type = 'give-item', item = 'artillery-targeting-remote'}}, {price = {{'raw-fish', 1000}}, offer = {type = 'give-item', item = 'artillery-turret'}}, - {price = {{'raw-fish', 250}}, offer = {type = 'give-item', item = 'modular-armor'}}, - {price = {{'raw-fish', 750}}, offer = {type = 'give-item', item = 'power-armor'}}, - {price = {{'raw-fish', 30}}, offer = {type = 'give-item', item = 'solar-panel-equipment'}}, - {price = {{'raw-fish', 750}}, offer = {type = 'give-item', item = 'fusion-reactor-equipment'}}, + {price = {{'raw-fish', 350}}, offer = {type = 'give-item', item = 'modular-armor'}}, + {price = {{'raw-fish', 875}}, offer = {type = 'give-item', item = 'power-armor'}}, + {price = {{'raw-fish', 40}}, offer = {type = 'give-item', item = 'solar-panel-equipment'}}, + {price = {{'raw-fish', 875}}, offer = {type = 'give-item', item = 'fusion-reactor-equipment'}}, {price = {{'raw-fish', 100}}, offer = {type = 'give-item', item = 'battery-equipment'}}, {price = {{'raw-fish', 625}}, offer = {type = 'give-item', item = 'battery-mk2-equipment'}}, {price = {{'raw-fish', 250}}, offer = {type = 'give-item', item = 'belt-immunity-equipment'}}, @@ -53,7 +53,14 @@ return { {price = {{'raw-fish', 150}}, offer = {type = 'give-item', item = 'exoskeleton-equipment'}}, {price = {{'raw-fish', 250}}, offer = {type = 'give-item', item = 'personal-roboport-equipment'}}, {price = {{'raw-fish', 25}}, offer = {type = 'give-item', item = 'construction-robot'}}, - {price = {{'raw-fish', 250}}, offer = {type = 'give-item', item = 'energy-shield-equipment'}}, - {price = {{'raw-fish', 250}}, offer = {type = 'give-item', item = 'personal-laser-defense-equipment'}}, - {price = {{'raw-fish', 1}}, offer = {type = 'give-item', item = 'refined-hazard-concrete'}} + {price = {{'raw-fish', 350}}, offer = {type = 'give-item', item = 'energy-shield-equipment'}}, + {price = {{'raw-fish', 350}}, offer = {type = 'give-item', item = 'personal-laser-defense-equipment'}}, + {price = {{'raw-fish', 1}}, offer = {type = 'give-item', item = 'refined-hazard-concrete'}}, + + {price = {{'raw-fish', 5}}, offer = {type = 'give-item', item = 'science-pack-1'}}, + {price = {{'raw-fish', 10}}, offer = {type = 'give-item', item = 'science-pack-2'}}, + {price = {{'raw-fish', 15}}, offer = {type = 'give-item', item = 'science-pack-3'}}, + {price = {{'raw-fish', 15}}, offer = {type = 'give-item', item = 'military-science-pack'}}, + {price = {{'raw-fish', 20}}, offer = {type = 'give-item', item = 'production-science-pack'}}, + {price = {{'raw-fish', 25}}, offer = {type = 'give-item', item = 'high-tech-science-pack'}}, }