diff --git a/maps/pirates/coredata.lua b/maps/pirates/coredata.lua index dd1f2b2d..8989faf8 100644 --- a/maps/pirates/coredata.lua +++ b/maps/pirates/coredata.lua @@ -5,8 +5,8 @@ local inspect = require 'utils.inspect'.inspect local Public = {} Public.scenario_id_name = 'pirates' -Public.version_string = '1.0.3.9.6' -Public.version_float = 1.0396 +Public.version_string = '1.0.3.9.7' +Public.version_float = 1.0397 Public.blueprint_library_allowed = false Public.blueprint_importing_allowed = true diff --git a/maps/pirates/overworld.lua b/maps/pirates/overworld.lua index 72fc716e..711a8814 100644 --- a/maps/pirates/overworld.lua +++ b/maps/pirates/overworld.lua @@ -69,7 +69,7 @@ function Public.generate_overworld_destination(p) if _DEBUG then -- Edit these to force a type/subtype in debug: - -- subtype = Surfaces.Island.enum.RED_DESERT + subtype = Surfaces.Island.enum.RADIOACTIVE -- type = Surfaces.enum.ISLAND -- subtype = nil end @@ -173,29 +173,29 @@ function Public.generate_overworld_destination(p) local normal_costitems = {'small-lamp', 'engine-unit', 'advanced-circuit'} local base_cost_0 = { - ['small-lamp'] = (macrop.x-2)*15, + ['small-lamp'] = Math.ceil(((macrop.x-2)^(1/2))*30), } local base_cost_1 = { - ['small-lamp'] = (macrop.x-2)*15, - ['engine-unit'] = (macrop.x-7)*10, + ['small-lamp'] = Math.ceil(((macrop.x-2)^(1/2))*30), + ['engine-unit'] = Math.ceil(((macrop.x-7)^(1/2))*20), } local base_cost_2 = { - ['small-lamp'] = (macrop.x-2)*15, - ['engine-unit'] = (macrop.x-7)*10, - ['advanced-circuit'] = (macrop.x-10)*5, + ['small-lamp'] = Math.ceil(((macrop.x-2)^(1/2))*30), + ['engine-unit'] = Math.ceil(((macrop.x-7)^(1/2))*20), + ['advanced-circuit'] = Math.ceil(((macrop.x-15)^(1/2))*10), } local base_cost_3 = { - ['small-lamp'] = (macrop.x-2)*15, - ['engine-unit'] = (macrop.x-7)*10, - ['advanced-circuit'] = (macrop.x-15)*5, - ['electric-engine-unit'] = (macrop.x-20)*5, - } - local base_cost_4 = { - ['small-lamp'] = (macrop.x-2)*15, - ['engine-unit'] = (macrop.x-7)*10, - ['advanced-circuit'] = (macrop.x-15)*5, - ['electric-engine-unit'] = (macrop.x-20)*5, + ['small-lamp'] = Math.ceil(((macrop.x-2)^(1/2))*30), + ['engine-unit'] = Math.ceil(((macrop.x-7)^(1/2))*20), + ['advanced-circuit'] = Math.ceil(((macrop.x-15)^(1/2))*10), + ['electric-engine-unit'] = Math.ceil(((macrop.x-20)^(1/2))*5), } + -- local base_cost_4 = { + -- ['small-lamp'] = Math.ceil(((macrop.x-2)^(1/2))*30), + -- ['engine-unit'] = Math.ceil(((macrop.x-7)^(1/2))*20), + -- ['advanced-circuit'] = Math.ceil(((macrop.x-15)^(1/2))*10), + -- ['electric-engine-unit'] = Math.ceil(((macrop.x-20)^(1/2))*5), + -- } if macrop.x == 0 then -- if _DEBUG then -- cost_to_leave = { @@ -212,19 +212,27 @@ function Public.generate_overworld_destination(p) elseif macrop.x <= 8 then cost_to_leave = base_cost_0 elseif macrop.x <= 15 then - cost_to_leave = base_cost_1 + if macrop.x % 3 > 0 then + cost_to_leave = base_cost_1 + else + cost_to_leave = nil + end elseif macrop.x == 18 then --a super small amount of electric-engine-unit on a relatively early level so that they see they need lubricant cost_to_leave = { - ['small-lamp'] = (macrop.x-2)*15, - ['engine-unit'] = (macrop.x-7)*10, + ['small-lamp'] = Math.ceil(((macrop.x-2)^(1/2))*30), + ['engine-unit'] = Math.ceil(((macrop.x-7)^(1/2))*20), ['electric-engine-unit'] = 2, } elseif macrop.x <= 22 then - cost_to_leave = base_cost_2 + if macrop.x % 3 > 0 then + cost_to_leave = base_cost_2 + else + cost_to_leave = nil + end elseif macrop.x < 25 then cost_to_leave = base_cost_3 else - cost_to_leave = Utils.deepcopy(base_cost_4) + cost_to_leave = Utils.deepcopy(base_cost_3) local delete = normal_costitems[Math.random(#normal_costitems)] cost_to_leave[delete] = nil end diff --git a/maps/pirates/structures/island_structures/mattisso/data.lua b/maps/pirates/structures/island_structures/mattisso/data.lua index 9703a02f..357f515c 100644 --- a/maps/pirates/structures/island_structures/mattisso/data.lua +++ b/maps/pirates/structures/island_structures/mattisso/data.lua @@ -232,13 +232,14 @@ Public.small_radioactive_centrifuge = { type = 'static', force = 'crew', offset = {x = 0, y = 0}, - bp_string = [[0eNqlmdtu4jAQQP/Fz3HlawL8yqqqApispeBEjtPdbsW/r7mVQO3aQ55QYHw8V48nfKJ1O6reauPQ6hMNpu6x63Bj9fb4/BetKC/Qh/9ghwLpTWcGtPrlBXVj6vYo4j56hVZIO7VHBTL1/vg0uM4o/KduW3RcZrbqSDoUyYUbZZzVu7FRk4UsY+Foa6PHPe7sdCU/vBbII7XT6qz46eHjzYz7tbJep5DKBeq7wS/pzMUHuHyRJy9g+SIPR20eMCwPIxMYnocRCYzIw9AERn5hmtqpAIBMAQXaaqs2599ZAFcmcDBalWUjS5i4yKLwBGWZRUlFjRJgLvIIB5rTIsJhwGyM6XPLaueLdOg76/Bate6nlBQ5OUBvib6rB4eTeAbDy2fxMU+UQCCJ6itC+Ooe33b11n//A5Y/QIuvs9X0o0OhPW4Vs9YNVq1fa/UG910bKGl23SZEyqsamfApg1YNjXBuVTP63mEb2/nPZKTZKTAXr3Wji7iNsVCH+yEy5MT1kdH9tLv1ttuoYdCmCe5yq7RmNNiN1qqA9uKietANAhYVFvGmhGFiQSmBwSURTpV/BIn7ECTOCLYAlvQVH9N0mVnDPKZkuoY5eSbVyTTT42xg84nkD2f5AeMT1J0ryhCYwzMhkpxcPBn6mM0yXzUGsvmh7Qx9q50LZtW1/7IMavVkd4y5E1hJBOSC5ZOdN4suCOgaGYm/oKAzM0ZhIEokGILDyjhyhRQChon0eCGz+hq+6BJElCC3xOypQJSYOQvYtBib8pYw58amvMwLFE9gKGxaiGFYauikE0CyPUueO8Pm4fLymSRslKDZNUYpQYfOifLqG7huL29CHj1RXabTw+2q2pmNrzR1avQRcQET5zdxq3baqC3+Xf+r7RZfV+NW7dxPCAbbkYLEyWz96GwCzEAOks4NV3l2XgkSz00d+Q0O9pQEbSjmbyhAG/L5G/LHDcEEBlKZwiJOIXACYhMIms72NJ3raAayDhQVDkJzCFqA0GKuk+S37vIkIfMEk9/6TYY0A0nTubaQuQAK0RdkHMhvoJAE09NfTE5/56wmf0cVqK39dHa83+z91ebN1lvd1f529q7e7l6ivSs7nK9sCyqqJat4VUlK/BzwH/11s2c=]], + bp_string = [[0eNqlmW2PoyAQx78Lr3UjCIL9KpvNxbbUI7FoEO9ub+N3P9Q+nZXKrK8a0/E3f4aZgWm/0L7qZGOUtmj3hVpdNLGt49Ko4/D8B+1wGqFP90H6CKlDrVu0e3eGqtRFNZjYz0aiHVJWnlGEdHEenlpbaxn/LqoKDa/poxxIfbT6ojWFbpva2HgvK/vwMuk/IiS1VVbJScL48PlDd+e9NI6+5DxCTd26V2p9WU3yxqblvLF+kDODkCAIvkCSZUgKUuKB0CAIeQ1hN8ipaG08C+4TjT0EJ0JHZeRh+pYssDPfnj1hKQTLg9bNXq9bBGvLfNroAja/YcvCymcYf1C1ulCcrNAyEC0s/fPXccOB+b9SADisAvBKCWAKKiTiocyKoHP9xJSmdp8r+UrGwF/aVN3Zphsa0rOD7H8HVV04D/79TGeJdnOhtM9DWFHgazdIPZEQMIwvoDloW5in0yYgCvVQ7mm/V2UsKxdVow5xU1cLFUUnQYuge+Yf3FdGnbryRU2yMTXcHqpx5zrXZVR3jhtTH2TbKl0ubSO5l0XZ6dh2xki7VBYvZFLYFvrCxoKUTCc/XyTMkr5tKmXtUtpfm6JYb2KEB/ftayPjIc2RhJ8HAsTNwyo/H5HZHJmtV36aBCu/dVPuuZVgOOpZ8hKYwHLSpw92bco9FNiZITwUBr7c+PSEX5PYA2k96Py7p5p4PNX8iSdgV8cMJD4PDgqHcGnyPdEipNgphsEFSDkBdygRcmOlKaw2PVlMgceOp6wog81oniGNZqApzYvhMDW+QU2AJjWvmrBbVbqCYWtTBXsErCY9Cxsr+JoqEjjrBKpKQcOOVxWFjSleDoNVx5RJH64Jq+ryW8Y85ya7/n4nrfXBXdHk2KoXjQnEOL0bG3lSWh7jn8Xfwhzj67txJU/WD6AQbwxinG2VxrcCBERuDjHGSZg1nqZiiDEOTBYyR0NjREDu0q3uUpA7utUdfXIHJTCQ4Ayy0xkIzSFoDkKLrWEWm8OcQ1aXg1Z3mb8TkHUwHFbbeHOgMJmfJd8kBB4wF+sUZE1B1mzzWrLNBA5SLEDWOcg6+FB51bndZWT8H2b38HdQhH5J006XMIEpzwlnmOE0S/r+H5sJhDg=]], --fixed to give beacon space + -- bp_string = [[0eNqlmdtu4jAQQP/Fz3HlawL8yqqqApispeBEjtPdbsW/r7mVQO3aQ55QYHw8V48nfKJ1O6reauPQ6hMNpu6x63Bj9fb4/BetKC/Qh/9ghwLpTWcGtPrlBXVj6vYo4j56hVZIO7VHBTL1/vg0uM4o/KduW3RcZrbqSDoUyYUbZZzVu7FRk4UsY+Foa6PHPe7sdCU/vBbII7XT6qz46eHjzYz7tbJep5DKBeq7wS/pzMUHuHyRJy9g+SIPR20eMCwPIxMYnocRCYzIw9AERn5hmtqpAIBMAQXaaqs2599ZAFcmcDBalWUjS5i4yKLwBGWZRUlFjRJgLvIIB5rTIsJhwGyM6XPLaueLdOg76/Bate6nlBQ5OUBvib6rB4eTeAbDy2fxMU+UQCCJ6itC+Ooe33b11n//A5Y/QIuvs9X0o0OhPW4Vs9YNVq1fa/UG910bKGl23SZEyqsamfApg1YNjXBuVTP63mEb2/nPZKTZKTAXr3Wji7iNsVCH+yEy5MT1kdH9tLv1ttuoYdCmCe5yq7RmNNiN1qqA9uKietANAhYVFvGmhGFiQSmBwSURTpV/BIn7ECTOCLYAlvQVH9N0mVnDPKZkuoY5eSbVyTTT42xg84nkD2f5AeMT1J0ryhCYwzMhkpxcPBn6mM0yXzUGsvmh7Qx9q50LZtW1/7IMavVkd4y5E1hJBOSC5ZOdN4suCOgaGYm/oKAzM0ZhIEokGILDyjhyhRQChon0eCGz+hq+6BJElCC3xOypQJSYOQvYtBib8pYw58amvMwLFE9gKGxaiGFYauikE0CyPUueO8Pm4fLymSRslKDZNUYpQYfOifLqG7huL29CHj1RXabTw+2q2pmNrzR1avQRcQET5zdxq3baqC3+Xf+r7RZfV+NW7dxPCAbbkYLEyWz96GwCzEAOks4NV3l2XgkSz00d+Q0O9pQEbSjmbyhAG/L5G/LHDcEEBlKZwiJOIXACYhMIms72NJ3raAayDhQVDkJzCFqA0GKuk+S37vIkIfMEk9/6TYY0A0nTubaQuQAK0RdkHMhvoJAE09NfTE5/56wmf0cVqK39dHa83+z91ebN1lvd1f529q7e7l6ivSs7nK9sCyqqJat4VUlK/BzwH/11s2c=]], }, { type = 'tiles', tile_name = 'tutorial-grid', - offset = {x = 0, y = 0}, - bp_string = [[0eNqdmE1vozAURf/LW4Pkr4QZ9l1Umt10V1WRk7ipVWIQOFGriv8+IckiGmmmnKwQ0rvG9x4/jPmSdXMIXR9TlvpLhuS7Mrflro/b6f5Daq0L+Txd1FhI3LRpkPr5VBh3yTdTSf7sgtQSc9hLIcnvp7shtymU6z5u3mXSpW2YhhqLb5WbkHIfXw+7cCM0M4SH3qd42Jdtf6u040shOTbhMu2uHWKObbp6K6uzt3Ix/jXzzuc3mR76D4GjAksFGgoUrJ8//pJmtKQZLWlGV4GhAmpawXo6/nwDi4uBJRUsqMBRgaUCbFpDgYL18yfkaKiOhupoqI6G6mioDobq7gp1vmNLIVgKwVIIlkKwFIKFoVoYqqGWDbVs4DIy8I1qYEKavlE1XXearjtNIWgKQdN1pyEFfReF2Y4VhKYgMwWRKUhMQWAK8lKsyRSjqxhc2mG0X2i70G7RLEzYKvqeMGd7NTB7AxvFQFZ0f6Hbi4GNAncjuBnBvcgwtvRrwzKv9n9eT6fp87G7vvlvUEjj1+F0Mpenx18Pv1fD3jfNqvfb2PpNjsewujnUF3IM/XB+mvmhXfXTVLaqFlq5cfwDi4pH0g==]], + offset = {x = -5, y = -5}, + bp_string = [[0eNqdl82K2zAURt9Fawcs68/yvotCd+2uDMFJ1FSMIxtbGToMfveJk1mEobQ+WRnDuZZ0vivDfRO77hyGMaYsmjcxpXbY5H5zHONhef8jGikL8Xp5lHMh4r5Pk2h+XsB4TG23IPl1CKIRMYeTKERqT8vblPsUNrsx7p/FUpcOYfnUXPy3ch9SHuOv8zHcFVYrCs9jm+L5tOnH+0o1PxUixy7ctj30U8yxTx9nK29Hmz/te2jzb7Es+Ve8YrhiuGG4Zbhbi0tmRjIzkpm54ZrhhuGW4VBkvRavrnjJcMnwiuGK4ZrhhuGW4au9KyZSMZGKiVRMpGIiFROpHhHp1+KaedfMu2beNfOumXfNRGom0rCjGnZUw3rGsH+kYWYs+0da1mKWtZhl3i3zblmLWebdPuJ9dUc6FpNjMTkWk2MxORaTYzE5dpscS9WxVGsWU82818x7zbzXTGTNRNaPiFx9PTzz7tn18Cwmz2LyLCbProdnqXqWqmepepaqLOGsAsc4+c857jLrXofi5m6qL0TX7sJlbhY/vn778n07ndqu247tIfbtPseXsL0buQvxEsbpulxVS+185Yw0Utlynt8B8lo3wQ==]], }, }, } diff --git a/maps/pirates/structures/structures.lua b/maps/pirates/structures/structures.lua index 7d5b2e4f..497edf48 100644 --- a/maps/pirates/structures/structures.lua +++ b/maps/pirates/structures/structures.lua @@ -99,6 +99,9 @@ function Public.post_creation_process(special_name, components) elseif e.name == 'gun-turret' and special_name == 'small_radioactive_centrifuge' then local memory = Memory.get_crew_memory() e.force = game.forces[memory.force_name] + elseif e.name == 'fast-splitter' and special_name == 'small_radioactive_centrifuge' then + e.splitter_output_priority = 'left' + e.splitter_filter = 'uranium-235' elseif e.name == 'storage-tank' and special_name == 'lonely_storage_tank' then e.insert_fluid(Loot.storage_tank_fluid_loot()) elseif e.name == 'storage-tank' and special_name == 'swamp_lonely_storage_tank' then diff --git a/maps/pirates/surfaces/islands/radioactive/radioactive.lua b/maps/pirates/surfaces/islands/radioactive/radioactive.lua index c6ea1a8d..a38ba013 100644 --- a/maps/pirates/surfaces/islands/radioactive/radioactive.lua +++ b/maps/pirates/surfaces/islands/radioactive/radioactive.lua @@ -273,7 +273,7 @@ local function radioactive_tick() destination.dynamic_data.evolution_accrued_time = destination.dynamic_data.evolution_accrued_time + extra_evo -- faster pollute: -- local pollution = 1000 * Common.difficulty() * tickinterval / 60 - local pollution = 4 * (5 * Common.difficulty()^(1.1) * (Common.overworldx()/40)^(16/10) * (Balance.crew_scale())^(0.6)) / 3600 * tickinterval * (1 + 0.001 * (destination.dynamic_data.timer or 0)) + local pollution = 4 * (6 * Common.difficulty()^(1.1) * (Common.overworldx()/40)^(16/10) * (Balance.crew_scale())^(0.6)) / 3600 * tickinterval * (1 + 0.001 * (destination.dynamic_data.timer or 0)) if not memory.floating_pollution then memory.floating_pollution = 0 end memory.floating_pollution = memory.floating_pollution + pollution