diff --git a/locale/en/pirates.cfg b/locale/en/pirates.cfg index 1d6092ff..6c3748ed 100644 --- a/locale/en/pirates.cfg +++ b/locale/en/pirates.cfg @@ -16,7 +16,7 @@ softmod_info_tips_1=Features of the game that are hard to work out alone softmod_info_tips_2=• The captain (or officers) can steer the boat from the crow's nest by placing 50 rail signals in one of the blue boxes.\n• The quantity on an island is independent of the order in which you break rocks.\n• Passive pollution ramps up over time on each island.\n• Items dropped on the deck are transferred to the cabin when the boat moves for performance reasons.\n• When waiting for the captain's order to set sail, the free power supply is disabled.\n• Resources granted to the ship appear in the captain's cabin.\n• Useful commands: /classinfo {classname} command, /plank {player}, /officer {player}, /undock, /ccolor, /clear_north_tanks, /clear_south_tanks, /tax, /reset_password softmod_info_1_1=v1.6.1–1.6.5 highlights -softmod_info_1_2=• Optional setting for new crews to disable blueprints.\n• Each island now has a grace period of 2 minutes before attacks.\n• Machines now deactivate after several minutes spent waiting at sea.\n• Private crews and captain-protected crews no longer revert to public crews when inactive. Runs now autodisband after 96 hours of inactivity.\n• Further slowing of gameplay for small crews. +softmod_info_1_2=• Optional setting for new crews to disable blueprint importing.\n• Each island now has a grace period of 2 minutes before attacks.\n• Machines now deactivate after several minutes spent waiting at sea.\n• Private crews and captain-protected crews no longer revert to public crews when inactive. Runs now autodisband after 96 hours of inactivity.\n• Further slowing of gameplay for small crews. softmod_info_2_1=v1.6.0 highlights softmod_info_2_2=• 7 simultaneous crews supported. Surface loading is paused if other crews are engaged in a fight at sea, or are loading themselves.\n• New runs begin on the top lane so that beginners are more likely to encounter docks.\n• Disconnecting players once again have their items temporarily saved. Items are returned to the crew if players don't reconnect quickly.\n• Players now die rather than being temporarily marooned if they miss the boat.\n• Melee classes can no longer hold weapons. New class added.\n• The pause at sea now occurs after the loading time for the next destination.\n• Balance tweaks:\n - Most maps now have some unkillable spawners.\n - Mining productivity increases naturally with leagues traveled.\n - Biter nighttime damage bonus nerfed.\n - Tweaks to radioactive islands.\n - Kovarex enrichment no longer researched at start of game.\n - Land mines only purchasable at docks, and drop your speed when placed.\n - Flamers nerf slightly increased.\n - 5% weapon and turret damage upgrade available at each island market. @@ -531,7 +531,7 @@ gui_runs_proposal_maker_run_name_2=Name gui_runs_proposal_maker_capacity=Capacity gui_runs_proposal_maker_propose=Propose gui_runs_proposal_maker_no_limit=No limit -gui_runs_proposal_maker_blueprints_disabled=Blueprints disabled +gui_runs_proposal_maker_blueprints_disabled=Blueprint imports disabled gui_runs_proposal_maker_protected=Captain-protected gui_runs_proposal_maker_protected_tooltip=Captain-protected crew. If the captain leaves or becomes afk, and there are no officers, the captain role stays vacant. gui_runs_proposal_maker_private=Private diff --git a/maps/pirates/ai.lua b/maps/pirates/ai.lua index b458cacf..5e2525a2 100644 --- a/maps/pirates/ai.lua +++ b/maps/pirates/ai.lua @@ -458,7 +458,7 @@ function Public.try_spawner_spend_fraction_of_available_pollution_on_biters(spaw temp_floating_pollution = temp_floating_pollution - unit_pollutioncost budget = budget - unit_pollutioncost -- flow statistics should reflect the number of biters generated. Therefore it should mismatch the actual pollution spent, because it should miss all the factors that can vary: - game.pollution_statistics.on_flow(name2, -CoreData.biterPollutionValues[name2]) + game.get_pollution_statistics(surface).on_flow(name2, -CoreData.biterPollutionValues[name2]) return biter.unit_number end @@ -550,22 +550,6 @@ function Public.nearest_target(surface, position) return nearest end --- function Public.try_spend_pollution(surface, position, amount, flow_statistics_source) --- local memory = Memory.get_crew_memory() --- local force_name = memory.force_name - --- flow_statistics_source = flow_statistics_source or 'medium-biter' --- if not (position and surface and surface.valid) then return end - --- local pollution = surface.get_pollution(position) --- if pollution > amount then --- surface.pollute(position, -amount) --- game.forces[force_name].pollution_statistics.on_flow(flow_statistics_source, -amount) --- return true --- end --- return false --- end - function Public.is_biter_inactive(biter) if (not biter.entity) or (not biter.entity.valid) then return true @@ -876,7 +860,7 @@ function Public.try_boat_biters_attack() end end -local function on_entity_destroyed(event) +local function on_object_destroyed(event) local registration_number = event.registration_number local p @@ -928,7 +912,7 @@ end local event = require 'utils.event' -event.add(defines.events.on_entity_destroyed, on_entity_destroyed) +event.add(defines.events.on_object_destroyed, on_object_destroyed) return Public diff --git a/maps/pirates/api_events.lua b/maps/pirates/api_events.lua index 6fc8f75a..4dc659c3 100644 --- a/maps/pirates/api_events.lua +++ b/maps/pirates/api_events.lua @@ -1,6 +1,5 @@ -- This file is part of thesixthroc's Pirate Ship softmod, licensed under GPLv3 and stored at https://github.com/ComfyFactory/ComfyFactorio and https://github.com/danielmartin0/ComfyFactorio-Pirates. - local Memory = require 'maps.pirates.memory' local Balance = require 'maps.pirates.balance' local Math = require 'maps.pirates.math' @@ -25,9 +24,7 @@ local Permissions = require 'maps.pirates.permissions' -- local Ores = require 'maps.pirates.ores' -- local Parrot = require 'maps.pirates.parrot' local Kraken = require 'maps.pirates.surfaces.sea.kraken' - local Jailed = require 'utils.datastore.jail_data' - local Crew = require 'maps.pirates.crew' local Quest = require 'maps.pirates.quest' local Shop = require 'maps.pirates.shop.shop' @@ -36,7 +33,6 @@ local Task = require 'utils.task' local Token = require 'utils.token' local Classes = require 'maps.pirates.roles.classes' local Ores = require 'maps.pirates.ores' - local Server = require 'utils.server' -- local Modifers = require 'player_modifiers' local GuiWelcome = require 'maps.pirates.gui.welcome' @@ -74,35 +70,6 @@ function Public.silo_die() end end --- function Public.damage_silo(final_damage_amount) --- if final_damage_amount == 0 then return end --- local destination = Common.current_destination() --- -- local memory = Memory.get_crew_memory() - --- -- if we are doing the 'no damage' quest, then damage in the first 20 seconds after landing doesn't count: --- if destination and destination.dynamic_data and destination.dynamic_data.quest_type == Quest.enum.NODAMAGE then --- if not (destination.dynamic_data.timer and destination.dynamic_data.timeratlandingtime and destination.dynamic_data.timer > destination.dynamic_data.timeratlandingtime + 20) then return end --- end - --- -- manual 'resistance:' --- local final_damage_amount2 = final_damage_amount / 4 - --- destination.dynamic_data.rocketsilohp = Math.max(0, Math.floor(destination.dynamic_data.rocketsilohp - final_damage_amount2)) --- if destination.dynamic_data.rocketsilohp > destination.dynamic_data.rocketsilomaxhp then destination.dynamic_data.rocketsilohp = destination.dynamic_data.rocketsilomaxhp end - --- if destination.dynamic_data.rocketsilohp <= 0 then --- -- if destination.dynamic_data.rocketsilohp <= 0 and (not destination.dynamic_data.rocketlaunched) then --- Public.silo_die() --- rendering.destroy(destination.dynamic_data.rocketsilohptext) --- else --- rendering.set_text(destination.dynamic_data.rocketsilohptext, 'HP: ' .. destination.dynamic_data.rocketsilohp .. ' / ' .. destination.dynamic_data.rocketsilomaxhp) --- end --- -- if destination.dynamic_data.rocketsilohp < destination.dynamic_data.rocketsilomaxhp / 2 and final_damage_amount > 0 then --- -- Upgrades.trigger_poison() --- -- end --- end - - local function biters_chew_stuff_faster(event) local memory = Memory.get_crew_memory() local destination = Common.current_destination() @@ -129,18 +96,6 @@ local function biters_chew_stuff_faster(event) end end - - --- local function event_on_player_repaired_entity(event) --- local entity = event.entity - --- if entity and entity.valid and entity.name and entity.name == 'artillery-turret' then --- entity.health = entity.health - 2 --prevents repairing --- end --- --@TODO: somehow fix the fact that drones can repair the turret --- end - - local function handle_damage_in_restricted_areas(event) -- local memory = Memory.get_crew_memory() local entity = event.entity @@ -1358,7 +1313,7 @@ local function event_on_entity_died(event) if not memory.elite_biters_stream_registrations then memory.elite_biters_stream_registrations = {} end memory.elite_biters_stream_registrations[#memory.elite_biters_stream_registrations + 1] = { - number = script.register_on_entity_destroyed(stream), + number = script.register_on_object_destroyed(stream), position = target_pos, biter_name = entity.name, surface_name = surface.name -- surface name is needed to know where biter died diff --git a/maps/pirates/api_on_tick.lua b/maps/pirates/api_on_tick.lua index d18593db..9b45c89c 100644 --- a/maps/pirates/api_on_tick.lua +++ b/maps/pirates/api_on_tick.lua @@ -475,7 +475,7 @@ function Public.pick_up_tick(tickinterval) map.buried_treasure_position = p2 map.state = 'picked_up' - rendering.destroy(map.mapobject_rendering) + map.mapobject_rendering.destroy() Common.notify_force_light(player.force, { 'pirates.find_map', player.name }) @@ -529,7 +529,7 @@ function Public.pick_up_tick(tickinterval) j = j + 1 end if player then - rendering.destroy(ghost.ghostobject_rendering) + ghost.ghostobject_rendering.destroy() ghost.state = 'picked_up' @@ -863,10 +863,10 @@ function Public.buried_treasure_check(tickinterval) local maps = destination.dynamic_data.treasure_maps for _, m in pairs(maps) do if m.state == 'on_ground' then - rendering.destroy(m.mapobject_rendering) + m.mapobject_rendering.destroy() elseif m.state == 'picked_up' and m.x_renderings and #m.x_renderings > 0 then - rendering.destroy(m.x_renderings[1]) - rendering.destroy(m.x_renderings[2]) + m.x_renderings[1].destroy() + m.x_renderings[2].destroy() end m = nil end @@ -877,8 +877,8 @@ function Public.buried_treasure_check(tickinterval) for _, m in pairs(maps) do if m.state == 'picked_up' and m.buried_treasure_position and m.buried_treasure_position == p and m.x_renderings and #m.x_renderings > 0 then m.state = 'inactive' - rendering.destroy(m.x_renderings[1]) - rendering.destroy(m.x_renderings[2]) + m.x_renderings[1].destroy() + m.x_renderings[2].destroy() end end end @@ -1101,8 +1101,8 @@ function Public.loading_update(tickinterval) if currentdestination.type == Surfaces.enum.LOBBY then if memory.loadingticks >= 1260 then - if boat and boat.rendering_crewname_text and rendering.is_valid(boat.rendering_crewname_text) then - rendering.destroy(boat.rendering_crewname_text) + if boat and boat.rendering_crewname_text and boat.rendering_crewname_text.valid then + boat.rendering_crewname_text.destroy() boat.rendering_crewname_text = nil end @@ -1252,16 +1252,18 @@ function Public.silo_update(tickinterval) local pollution = e / 1000000 * Balance.silo_total_pollution() / Balance.silo_energy_needed_MJ() if p and pollution then - game.pollution_statistics.on_flow('rocket-silo', pollution) + local surface = game.surfaces[destination.surface_name] + + game.get_pollution_statistics(surface).on_flow('rocket-silo', pollution) if not memory.floating_pollution then memory.floating_pollution = 0 end -- Eventually I want to reformulate pollution not to pull from the map directly, but to pull from pollution_statistics. Previously all the silo pollution went to the map, but this causes a lag ~1-2 minutes. So as a compromise, let's send some to floating_pollution directly, and some to the map: memory.floating_pollution = memory.floating_pollution + 3 * pollution / 4 - game.surfaces[destination.surface_name].pollute(p, pollution / 4) + surface.pollute(p, pollution / 4) if memory.overworldx >= 0 and dynamic_data.rocketsiloenergyconsumed >= 0.25 * dynamic_data.rocketsiloenergyneeded and (not dynamic_data.parrot_silo_warned) then dynamic_data.parrot_silo_warned = true - local spawnerscount = Common.spawner_count(game.surfaces[destination.surface_name]) + local spawnerscount = Common.spawner_count(surface) if spawnerscount > 0 then Common.parrot_speak(memory.force, { 'pirates.parrot_silo_warning' }) end @@ -1292,11 +1294,14 @@ function Public.slower_boat_tick(tickinterval) end local p = memory.boat.position - if p and destination.subtype ~= IslandEnum.enum.RADIOACTIVE and destination.surface_name and game.surfaces[destination.surface_name] and game.surfaces[destination.surface_name].valid then --no locomotive pollute on radioactive islands + if p and destination.subtype ~= IslandEnum.enum.RADIOACTIVE and destination.surface_name then --no locomotive pollute on radioactive islands local pollution = Balance.boat_passive_pollution_per_minute(destination.dynamic_data.timer) / 3600 * tickinterval - game.surfaces[destination.surface_name].pollute(p, pollution) - game.pollution_statistics.on_flow('locomotive', pollution) + local surface = game.surfaces[destination.surface_name] + if surface and surface.valid then + surface.pollute(p, pollution) + game.get_pollution_statistics(destination.surface_name).on_flow('locomotive', pollution) + end end -- if memory.enemyboats then diff --git a/maps/pirates/common.lua b/maps/pirates/common.lua index c5539fae..b834e30d 100644 --- a/maps/pirates/common.lua +++ b/maps/pirates/common.lua @@ -471,25 +471,13 @@ end function Public.set_evo(evolution) local memory = Memory.get_crew_memory() memory.evolution_factor = evolution - if memory.enemy_force_name then - local ef = memory.enemy_force - if ef and ef.valid then - ef.evolution_factor = memory.evolution_factor - Public.set_biter_surplus_evo_modifiers() - end - end + Public.set_biter_surplus_evo_modifiers() end function Public.increment_evo(evolution) local memory = Memory.get_crew_memory() memory.evolution_factor = memory.evolution_factor + evolution - if memory.enemy_force_name then - local ef = memory.enemy_force - if ef and ef.valid then - ef.evolution_factor = memory.evolution_factor - Public.set_biter_surplus_evo_modifiers() - end - end + Public.set_biter_surplus_evo_modifiers() end function Public.current_destination() @@ -788,11 +776,11 @@ function Public.transfer_healthbar(old_unit_number, new_entity, location_overrid Public.new_healthbar(old_healthbar.render2, new_entity, old_healthbar.max_health, old_healthbar.id, old_healthbar.health, old_healthbar.size, old_healthbar.extra_offset, location_override) - if rendering.is_valid(old_healthbar.render1) then - rendering.destroy(old_healthbar.render1) + if old_healthbar.render1 and old_healthbar.render1.valid then + old_healthbar.render1.destroy() end - if old_healthbar.render2 and rendering.is_valid(old_healthbar.render2) then - rendering.destroy(old_healthbar.render2) + if old_healthbar.render2 and old_healthbar.render2.valid then + old_healthbar.render2.destroy() end location_override.healthbars[old_unit_number] = nil @@ -839,17 +827,17 @@ function Public.update_healthbar_rendering(new_healthbar, health) if health > 0 then local m = health / max_health - local x_scale = rendering.get_y_scale(render1) * 15 - rendering.set_x_scale(render1, x_scale * m) - rendering.set_color(render1, { Math.floor(255 - 255 * m), Math.floor(200 * m), 0 }) + local x_scale = render1.y_scale * 15 + render1.x_scale = x_scale * m + render1.color = { Math.floor(255 - 255 * m), Math.floor(200 * m), 0 } if render2 then - rendering.set_text(render2, string.format('HP: %d/%d', Math.ceil(health), Math.ceil(max_health))) + render2.text = string.format('HP: %d/%d', Math.ceil(health), Math.ceil(max_health)) end else - rendering.destroy(render1) + render1.destroy() if render2 then - rendering.destroy(render2) + render2.destroy() end end end @@ -1592,9 +1580,9 @@ end function Public.init_game_settings(technology_price_multiplier) --== Tuned for Pirate Ship ==-- - global.friendly_fire_history = {} - global.landfill_history = {} - global.mining_history = {} + storage.friendly_fire_history = {} + storage.landfill_history = {} + storage.mining_history = {} game.difficulty_settings.technology_price_multiplier = technology_price_multiplier @@ -1645,7 +1633,7 @@ function Public.init_game_settings(technology_price_multiplier) game.map_settings.pollution.diffusion_ratio = 0.035 -- -- game.forces.neutral.character_inventory_slots_bonus = 500 - game.forces.enemy.evolution_factor = 0 + -- game.forces.enemy.evolution_factor = 0 end -- prefer memory.force_name if possible @@ -1699,7 +1687,7 @@ function Public.get_item_blacklist(tier) -- blacklist['productivity-module'] = true -- blacklist['productivity-module-2'] = true -- blacklist['productivity-module-3'] = true - -- blacklist['effectivity-module-3'] = true + -- blacklist['efficiency-module-3'] = true -- blacklist['space-science-pack'] = true -- blacklist['rocket-control-unit'] = true blacklist['artillery-wagon'] = true diff --git a/maps/pirates/crew.lua b/maps/pirates/crew.lua index 04c08a33..3f085ab9 100644 --- a/maps/pirates/crew.lua +++ b/maps/pirates/crew.lua @@ -945,7 +945,6 @@ function Public.reset_crew_and_enemy_force(id) crew_force.laboratory_productivity_bonus = 0 crew_force.ghost_time_to_live = 12 * 60 * 60 crew_force.worker_robots_speed_modifier = 0.5 - crew_force.research_queue_enabled = true for k, v in pairs(Balance.player_ammo_damage_modifiers()) do crew_force.set_ammo_damage_modifier(k, v) @@ -1065,9 +1064,9 @@ function Public.reset_crew_and_enemy_force(id) -- crew_force.technologies['speed-module'].enabled = true -- crew_force.technologies['speed-module-2'].enabled = false -- crew_force.technologies['speed-module-3'].enabled = false - -- crew_force.technologies['effectivity-module'].enabled = true - -- crew_force.technologies['effectivity-module-2'].enabled = false - -- crew_force.technologies['effectivity-module-3'].enabled = false + -- crew_force.technologies['efficiency-module'].enabled = true + -- crew_force.technologies['efficiency-module-2'].enabled = false + -- crew_force.technologies['efficiency-module-3'].enabled = false -- crew_force.technologies['automation-3'].enabled = false -- crew_force.technologies['rocket-control-unit'].enabled = false -- crew_force.technologies['rocket-silo'].enabled = false diff --git a/maps/pirates/gui/gui.lua b/maps/pirates/gui/gui.lua index df15c92f..7690c25a 100644 --- a/maps/pirates/gui/gui.lua +++ b/maps/pirates/gui/gui.lua @@ -941,13 +941,13 @@ function Public.update_gui(player) -- local lives = memory.lives or 1 -- local button = pirates_flow.lives_piratebutton_frame.lives_piratebutton -- if lives == 1 then - -- button.sprite = 'item/effectivity-module' + -- button.sprite = 'item/efficiency-module' -- button.number = 1 -- elseif lives == 2 then - -- button.sprite = 'item/effectivity-module-2' + -- button.sprite = 'item/efficiency-module-2' -- button.number = 2 -- elseif lives == 3 then - -- button.sprite = 'item/effectivity-module-3' + -- button.sprite = 'item/efficiency-module-3' -- button.number = 3 -- end diff --git a/maps/pirates/gui/info.lua b/maps/pirates/gui/info.lua index f26e3e6b..02627974 100644 --- a/maps/pirates/gui/info.lua +++ b/maps/pirates/gui/info.lua @@ -78,7 +78,7 @@ function Public.flow_add_info_sections(flow, sections_list) flow2 = flow.add { type = "label", caption = { "pirates.softmod_info_" .. i .. "_1" } } flow2.style.font_color = GuiCommon.friendly_font_color flow2.style.single_line = false - flow2.style.font = 'heading-3' + flow2.style.font = 'default-semibold' flow2.style.bottom_margin = -4 flow2 = flow.add { type = "label", caption = { "pirates.softmod_info_" .. i .. "_2" } } diff --git a/maps/pirates/gui/runs.lua b/maps/pirates/gui/runs.lua index c996a841..39e51f29 100644 --- a/maps/pirates/gui/runs.lua +++ b/maps/pirates/gui/runs.lua @@ -36,7 +36,7 @@ local function flow_add_proposal_slider(flow, name, displayname, indices_count, type = 'label', caption = displayname, }) - flow3.style.font = 'heading-3' + flow3.style.font = 'default-semibold' flow3.style.height = 20 flow3.style.margin = 0 flow3.style.padding = 0 @@ -109,7 +109,7 @@ end -- type = 'label', -- caption = displayname, -- }) --- flow3.style.font = 'heading-3' +-- flow3.style.font = 'default-semibold' -- flow3.style.height = 20 -- flow3.style.margin = 0 -- flow3.style.padding = 0 @@ -325,7 +325,7 @@ function Public.toggle_window(player) type = 'label', caption = { 'pirates.gui_runs_proposal_maker_run_name' }, }) - flow5.style.font = 'heading-3' + flow5.style.font = 'default-semibold' flow5 = flow4.add({ name = 'namefield', @@ -375,7 +375,7 @@ function Public.toggle_window(player) type = 'label', caption = { 'pirates.gui_runs_proposal_maker_password' }, }) - flow6.style.font = 'heading-3' + flow6.style.font = 'default-semibold' flow6 = flow5.add({ name = 'password', @@ -392,7 +392,7 @@ function Public.toggle_window(player) type = 'label', caption = { 'pirates.gui_runs_proposal_maker_confirm_password' }, }) - flow6.style.font = 'heading-3' + flow6.style.font = 'default-semibold' flow6 = flow5.add({ name = 'confirm_password', diff --git a/maps/pirates/loot.lua b/maps/pirates/loot.lua index dcc8b52b..a774e1c0 100644 --- a/maps/pirates/loot.lua +++ b/maps/pirates/loot.lua @@ -21,7 +21,7 @@ Public.buried_treasure_loot_data_raw = { -- {100, 0, 1, false, 'electronic-circuit', 150, 250}, { 70, 0, 1, false, 'advanced-circuit', 20, 40 }, { 150, 0, 1, false, 'crude-oil-barrel', 25, 45 }, - { 70, 0, 1, false, 'effectivity-module-3', 3, 4 }, + { 70, 0, 1, false, 'efficiency-module-3', 3, 4 }, { 70, 0, 1, false, 'speed-module-3', 3, 4 }, { 70, 0, 1, false, 'plastic-bar', 40, 70 }, { 60, 0, 1, false, 'chemical-science-pack', 12, 24 }, @@ -56,7 +56,7 @@ Public.chest_loot_data_raw = { { 0.25, 0, 0.5, false, 'uranium-238', 5, 8 }, { 8, 0, 1.2, true, 'steel-chest', 4, 12 }, - { 2, 0, 0.8, false, 'empty-barrel', 1, 10 }, + { 2, 0, 0.8, false, 'barrel', 1, 10 }, { 5, -0.2, 0.8, true, 'iron-gear-wheel', 20, 80 }, { 5, -0.2, 0.8, true, 'copper-cable', 30, 100 }, @@ -113,9 +113,9 @@ Public.chest_loot_data_raw = { { 15, -1, 1, true, 'speed-module', 1, 3 }, { 5, 0, 1.5, true, 'speed-module-2', 1, 2 }, { 2, 0, 2, true, 'speed-module-3', 1, 1 }, - { 5, -1, 1, true, 'effectivity-module', 1, 3 }, - { 3, 0, 1, true, 'effectivity-module-2', 1, 3 }, - { 1, 0, 2, true, 'effectivity-module-3', 1, 1 }, + { 5, -1, 1, true, 'efficiency-module', 1, 3 }, + { 3, 0, 1, true, 'efficiency-module-2', 1, 3 }, + { 1, 0, 2, true, 'efficiency-module-3', 1, 1 }, @@ -160,7 +160,7 @@ Public.chest_loot_data_raw = { { 0.5, 0.2, 1.4, true, 'construction-robot', 5, 15 }, { 2, 0.5, 1.5, true, 'roboport', 1, 1 }, - { 2, 0.5, 1.5, false, 'logistic-chest-passive-provider', 2, 2 }, + { 2, 0.5, 1.5, false, 'passive-provider-chest', 2, 2 }, { 2, 0.5, 1.5, false, 'logistic-robot', 5, 15 }, { 4, 0.2, 1.2, true, 'lubricant-barrel', 1, 4 }, @@ -418,7 +418,7 @@ Public.maze_treasure_data_raw = { { 0.5, 0, 1, false, 'nuclear-fuel', 1, 1 }, { 1, 0, 0.8, false, 'speed-module-3', 2, 2 }, - { 1, 0, 0.8, false, 'effectivity-module-3', 3, 3 }, + { 1, 0, 0.8, false, 'efficiency-module-3', 3, 3 }, { 2, 0, 1.5, true, 'production-science-pack', 20, 25 }, { 2, 0, 2, true, 'utility-science-pack', 7, 8 }, @@ -426,7 +426,7 @@ Public.maze_treasure_data_raw = { { 3, 0, 0.9, false, 'beacon', 1, 1 }, { 1, 0, 1, false, 'construction-robot', 30, 40 }, - { 3, 0, 1, false, 'logistic-chest-passive-provider', 2, 2 }, + { 3, 0, 1, false, 'passive-provider-chest', 2, 2 }, { 1, 0.2, 1.8, true, 'explosive-rocket', 6, 8 }, @@ -489,7 +489,7 @@ Public.dredger_loot_raw = { { 0.05, 0, 1, false, 'speed-module-3', 1, 2 }, - { 0.05, 0, 1, false, 'effectivity-module-3', 1, 2 }, + { 0.05, 0, 1, false, 'efficiency-module-3', 1, 2 }, { 0.1, 0, 1, false, 'rocket', 1, 3 }, { 0.01, 0, 1, false, 'explosive-rocket', 1, 2 }, diff --git a/maps/pirates/main.lua b/maps/pirates/main.lua index 5de51631..75c05086 100644 --- a/maps/pirates/main.lua +++ b/maps/pirates/main.lua @@ -338,10 +338,10 @@ end gMeta.__newindex = function (_, n, v) log('Desync warning: attempt to write to undeclared var ' .. n) - global[n] = v + storage[n] = v end gMeta.__index = function (_, n) - return global[n] + return storage[n] end return Public diff --git a/maps/pirates/overworld.lua b/maps/pirates/overworld.lua index 3f31d66f..393fd608 100644 --- a/maps/pirates/overworld.lua +++ b/maps/pirates/overworld.lua @@ -512,14 +512,14 @@ function Public.ensure_lane_generated_up_to(lane_yvalue, x) -- a little hack that we're updating this here rather than Crowsnest, due to the dependency on Shop to avoid a loop... almost finished 1.0, so too late to figure out how to restructure things for now! for _, dest in pairs(memory.destinations) do if dest.static_params.upgrade_for_sale and dest.dynamic_data.crowsnest_renderings then - if rendering.is_valid(dest.dynamic_data.crowsnest_renderings.base_text_rendering) then - rendering.set_text(dest.dynamic_data.crowsnest_renderings.base_text_rendering, { '', Upgrades.crowsnest_display_form[dest.static_params.upgrade_for_sale], ':' }) + if dest.dynamic_data.crowsnest_renderings.base_text_rendering.valid then + dest.dynamic_data.crowsnest_renderings.base_text_rendering.text = { '', Upgrades.crowsnest_display_form[dest.static_params.upgrade_for_sale], ':' } end for rendering_name, r in pairs(dest.dynamic_data.crowsnest_renderings) do - if type(r) == 'table' and r.text_rendering and rendering.is_valid(r.text_rendering) then + if type(r) == 'table' and r.text_rendering and r.text_rendering.valid then for _, price_data in ipairs(Upgrades.upgrades_data[dest.static_params.upgrade_for_sale].market_item.price) do if price_data[1] == rendering_name then - rendering.set_text(r.text_rendering, Utils.bignumber_abbrevform2(price_data[2])) + r.text_rendering.text = Utils.bignumber_abbrevform2(price_data[2]) break end end diff --git a/maps/pirates/quest.lua b/maps/pirates/quest.lua index a5bb7c30..038da41f 100644 --- a/maps/pirates/quest.lua +++ b/maps/pirates/quest.lua @@ -382,7 +382,7 @@ Public.resourcecount_quest_data_raw = { { 1.1, 0, 1, false, 'transport-belt', 1600 }, { 0.8, 0, 1, false, 'repair-pack', 350 }, -- {0.1, 0, 1, false, 'red-wire', 500}, - { 0.4, 0, 1, false, 'empty-barrel', 200 }, + { 0.4, 0, 1, false, 'barrel', 200 }, { 0.7, 0, 0.5, false, 'underground-belt', 200 }, { 0.7, 0, 0.5, false, 'splitter', 150 }, { 0.35, 0.2, 1, false, 'fast-splitter', 60 }, diff --git a/maps/pirates/roles/tick_functions.lua b/maps/pirates/roles/tick_functions.lua index 0d7ceff9..34555fa5 100644 --- a/maps/pirates/roles/tick_functions.lua +++ b/maps/pirates/roles/tick_functions.lua @@ -125,12 +125,12 @@ function Public.class_renderings(tickinterval) -- if Common.validate_player_and_character(player) and (c ~= Classes.enum.IRON_LEG or (memory.class_auxiliary_data[player_index] and memory.class_auxiliary_data[player_index].iron_leg_active)) then if Common.validate_player_and_character(player) then if class == c then - if r and rendering.is_valid(r) then - rendering.set_target(r, player.character) + if r and r.valid then + r.target = player.character end else - if r and rendering.is_valid(r) then - rendering.destroy(r) + if r and r.valid then + r.destroy() end if class == Classes.enum.QUARTERMASTER then class_renderings[player_index] = { @@ -237,7 +237,7 @@ function Public.class_renderings(tickinterval) end else if r then - rendering.destroy(r) + r.destroy() end class_renderings[player_index] = nil end @@ -247,8 +247,8 @@ function Public.class_renderings(tickinterval) for k, data in pairs(class_renderings) do if not processed_players[k] then local r = data.rendering - if r and rendering.is_valid(r) then - rendering.destroy(r) + if r and r.valid then + r.destroy() end class_renderings[k] = nil end diff --git a/maps/pirates/shop/covered.lua b/maps/pirates/shop/covered.lua index 51d2e6d4..89395992 100644 --- a/maps/pirates/shop/covered.lua +++ b/maps/pirates/shop/covered.lua @@ -50,11 +50,11 @@ Public.offers_default = { { price = { { 'coin', 1700 } }, offer = { type = 'give-item', item = 'flamethrower-ammo', count = 15 } }, { price = { { 'coin', 1800 } }, offer = { type = 'give-item', item = 'flamethrower-ammo', count = 20 } }, { price = { { 'coin', 1800 } }, offer = { type = 'give-item', item = 'flying-robot-frame', count = 5 } }, - { price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'logistic-chest-storage', count = 5 } }, - { price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'logistic-chest-passive-provider', count = 5 } }, - { price = { { 'coin', 2500 } }, offer = { type = 'give-item', item = 'logistic-chest-active-provider', count = 5 } }, - { price = { { 'coin', 2500 } }, offer = { type = 'give-item', item = 'logistic-chest-buffer', count = 5 } }, - { price = { { 'coin', 2500 } }, offer = { type = 'give-item', item = 'logistic-chest-requester', count = 5 } }, + { price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'storage-chest', count = 5 } }, + { price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'passive-provider-chest', count = 5 } }, + { price = { { 'coin', 2500 } }, offer = { type = 'give-item', item = 'active-provider-chest', count = 5 } }, + { price = { { 'coin', 2500 } }, offer = { type = 'give-item', item = 'buffer-chest', count = 5 } }, + { price = { { 'coin', 2500 } }, offer = { type = 'give-item', item = 'requester-chest', count = 5 } }, } diff --git a/maps/pirates/shop/dock.lua b/maps/pirates/shop/dock.lua index 333c1631..9430d393 100644 --- a/maps/pirates/shop/dock.lua +++ b/maps/pirates/shop/dock.lua @@ -72,7 +72,7 @@ Public.market_sales = { { price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'coin', count = 6000 } }, { price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'roboport', count = 1 } }, { price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'construction-robot', count = 10 } }, - { price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'logistic-chest-passive-provider', count = 2 } }, + { price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'passive-provider-chest', count = 2 } }, { price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'logistic-robot', count = 2 } }, { price = { { 'transport-belt', 100 }, { 'coin', 800 } }, offer = { type = 'give-item', item = 'fast-transport-belt', count = 100 } }, { price = { { 'fast-transport-belt', 100 }, { 'coin', 2500 } }, offer = { type = 'give-item', item = 'express-transport-belt', count = 100 } }, diff --git a/maps/pirates/structures/boats/boats.lua b/maps/pirates/structures/boats/boats.lua index ee1c4798..eb0b915d 100644 --- a/maps/pirates/structures/boats/boats.lua +++ b/maps/pirates/structures/boats/boats.lua @@ -137,12 +137,12 @@ function Public.destroy_boat(boat, tile_type, flipped) flipped = flipped or false tile_type = tile_type or 'water' if boat.rendering_crewname_text then - rendering.destroy(boat.rendering_crewname_text) + boat.rendering_crewname_text.destroy() boat.rendering_crewname_text = nil end if boat.renderings_power and #boat.renderings_power > 0 then for _, r in pairs(boat.renderings_power) do - rendering.destroy(r) + r.destroy() end end Public.place_boat(boat, tile_type, false, true, flipped) @@ -180,7 +180,7 @@ function Public.update_EEIs(boat) if boat.renderings_power and #boat.renderings_power > 0 then for _, r in pairs(boat.renderings_power) do - rendering.destroy(r) + r.destroy() end end Public.draw_power_renderings(boat) @@ -1128,15 +1128,15 @@ local function teleport_handle_renderings(boat, oldsurface_name, newsurface_name if boat.renderings_power and #boat.renderings_power > 0 then if oldsurface_name == newsurface_name then for _, r in pairs(boat.renderings_power) do - if rendering.is_valid(r) then - local p = rendering.get_target(r).position - rendering.set_target(r, { x = p.x + vector.x, y = p.y + vector.y }) + if r.valid then + local p = r.target.position + r.target = { x = p.x + vector.x, y = p.y + vector.y } end end else for _, r in pairs(boat.renderings_power) do - if rendering.is_valid(r) then - rendering.destroy(r) + if r.valid then + r.destroy() end end Public.draw_power_renderings(boat) @@ -1147,9 +1147,9 @@ local function teleport_handle_renderings(boat, oldsurface_name, newsurface_name local p = Utils.psum { boat.position, scope.Data.crewname_rendering_position } if oldsurface_name == newsurface_name then - rendering.set_target(boat.rendering_crewname_text, p) + boat.rendering_crewname_text.target = p else - rendering.destroy(boat.rendering_crewname_text) + boat.rendering_crewname_text.destroy() boat.rendering_crewname_text = rendering.draw_text { text = memory.name, -- render_layer = '125', --does nothing diff --git a/maps/pirates/structures/quest_structures/quest_structures.lua b/maps/pirates/structures/quest_structures/quest_structures.lua index 07aee3b2..49fb6b12 100644 --- a/maps/pirates/structures/quest_structures/quest_structures.lua +++ b/maps/pirates/structures/quest_structures/quest_structures.lua @@ -249,10 +249,10 @@ function Public.tick_quest_structure_entry_price_check() if quest_structure_data.state == 'covered' then if quest_structure_data.completion_counter >= entry_price.count then quest_structure_data.state = 'uncovered' - rendering.destroy(quest_structure_data.rendering1) - rendering.destroy(quest_structure_data.rendering2) - rendering.destroy(quest_structure_data.rendering3) - rendering.destroy(quest_structure_data.rendering4) + quest_structure_data.rendering1.destroy() + quest_structure_data.rendering2.destroy() + quest_structure_data.rendering3.destroy() + quest_structure_data.rendering4.destroy() local special = Utils.deepcopy(Public[enum.MARKET1].Data.step2) special.position = quest_structure_data.position @@ -260,7 +260,7 @@ function Public.tick_quest_structure_entry_price_check() destination.dynamic_data.structures_waiting_to_be_placed[#destination.dynamic_data.structures_waiting_to_be_placed + 1] = { data = special, tick = game.tick } else if quest_structure_data.rendering1 then - rendering.set_text(quest_structure_data.rendering1, { 'pirates.quest_structure_market_1', entry_price.count - quest_structure_data.completion_counter }) + quest_structure_data.rendering1.text = { 'pirates.quest_structure_market_1', entry_price.count - quest_structure_data.completion_counter } end end end @@ -339,12 +339,12 @@ function Public.tick_quest_structure_entry_price_check() if quest_structure_data.completion_counter >= entry_price.count then quest_structure_data.state = 'uncovered' - rendering.destroy(quest_structure_data.rendering0) - rendering.destroy(quest_structure_data.rendering1) - rendering.destroy(quest_structure_data.rendering2) - rendering.destroy(quest_structure_data.rendering3) - rendering.destroy(quest_structure_data.rendering4) - rendering.destroy(quest_structure_data.rendering5) + quest_structure_data.rendering0.destroy() + quest_structure_data.rendering1.destroy() + quest_structure_data.rendering2.destroy() + quest_structure_data.rendering3.destroy() + quest_structure_data.rendering4.destroy() + quest_structure_data.rendering5.destroy() local special = Utils.deepcopy(Public[enum.FURNACE1].Data.step2) special.position = quest_structure_data.position @@ -352,7 +352,7 @@ function Public.tick_quest_structure_entry_price_check() destination.dynamic_data.structures_waiting_to_be_placed[#destination.dynamic_data.structures_waiting_to_be_placed + 1] = { data = special, tick = game.tick } else if quest_structure_data.rendering1 then - rendering.set_text(quest_structure_data.rendering1, entry_price.count - quest_structure_data.completion_counter .. ' x') + quest_structure_data.rendering1.text = entry_price.count - quest_structure_data.completion_counter .. ' x' end end else diff --git a/maps/pirates/surfaces/crowsnest.lua b/maps/pirates/surfaces/crowsnest.lua index a7d1ae0a..88586128 100644 --- a/maps/pirates/surfaces/crowsnest.lua +++ b/maps/pirates/surfaces/crowsnest.lua @@ -110,7 +110,7 @@ function Public.move_crowsnest(vectorx, vectory) if memory.crowsnest_surfacename_rendering then local p = rendering.get_target(memory.crowsnest_surfacename_rendering).position - rendering.set_target(memory.crowsnest_surfacename_rendering, { x = p.x + vectorx, y = p.y + vectory }) + memory.crowsnest_surfacename_rendering.target = { x = p.x + vectorx, y = p.y + vectory } end if vectorx ~= 0 then @@ -128,30 +128,30 @@ function Public.update_destination_renderings() if dest.overworld_position.x <= memory.overworldx + Public.Data.chartingdistance and dest.overworld_position.x >= memory.overworldx - Public.Data.chartingdistance then for _, r in pairs(dest.dynamic_data.crowsnest_renderings) do if type(r) == 'table' then - if rendering.is_valid(r.text_rendering) then - rendering.set_visible(r.text_rendering, true) + if r.text_rendering.valid then + r.text_rendering.visible = true end - if rendering.is_valid(r.sprite_rendering) then - rendering.set_visible(r.sprite_rendering, true) + if r.sprite_rendering.valid then + r.sprite_rendering.visible = true end else - if rendering.is_valid(r) then - rendering.set_visible(r, true) + if r.valid then + r.visible = true end end end else for _, r in pairs(dest.dynamic_data.crowsnest_renderings) do if type(r) == 'table' then - if rendering.is_valid(r.text_rendering) then - rendering.set_visible(r.text_rendering, false) + if r.text_rendering.valid then + r.text_rendering.visible = false end - if rendering.is_valid(r.sprite_rendering) then - rendering.set_visible(r.sprite_rendering, false) + if r.sprite_rendering.valid then + r.sprite_rendering.visible = false end else - if rendering.is_valid(r) then - rendering.set_visible(r, false) + if r.valid then + r.visible = false end end end diff --git a/maps/pirates/surfaces/hold.lua b/maps/pirates/surfaces/hold.lua index 238aa6ba..f14cfebd 100644 --- a/maps/pirates/surfaces/hold.lua +++ b/maps/pirates/surfaces/hold.lua @@ -250,7 +250,7 @@ function Public.create_hold_surface(nth) else if nth == 2 then if memory.shiphold_rendering_1 then - rendering.set_text(memory.shiphold_rendering_1, { 'pirates.surface_label_hold_nth', 1 }) + memory.shiphold_rendering_1.text = { 'pirates.surface_label_hold_nth', 1 } end end rendering.draw_text { @@ -349,10 +349,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar b1.connect_linked_belts(b2) end - rendering.set_text(boat.hold_helper_renderings[nth][3], { 'pirates.hold_connections_label_from', nth - 1 }) - rendering.set_text(boat.hold_helper_renderings[nth - 1][3], { 'pirates.hold_connections_label_to', nth }) - rendering.set_text(boat.hold_helper_renderings[nth][4], { 'pirates.hold_connections_label_from', nth - 1 }) - rendering.set_text(boat.hold_helper_renderings[nth - 1][4], { 'pirates.hold_connections_label_to', nth }) + boat.hold_helper_renderings[nth][3].text = { 'pirates.hold_connections_label_from', nth - 1 } + boat.hold_helper_renderings[nth - 1][3].text = { 'pirates.hold_connections_label_to', nth } + boat.hold_helper_renderings[nth][4].text = { 'pirates.hold_connections_label_from', nth - 1 } + boat.hold_helper_renderings[nth - 1][4].text = { 'pirates.hold_connections_label_to', nth } else connections = { { 5, 5 }, @@ -366,10 +366,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar b1.connect_linked_belts(b2) end - rendering.set_text(boat.hold_helper_renderings[nth][3], { 'pirates.hold_connections_label_from', nth - 1 }) - rendering.set_text(boat.hold_helper_renderings[nth - 1][3], { 'pirates.hold_connections_label_to', nth }) - rendering.set_text(boat.hold_helper_renderings[nth][4], { 'pirates.hold_connections_label_from', nth - 1 }) - rendering.set_text(boat.hold_helper_renderings[nth - 1][4], { 'pirates.hold_connections_label_to', nth }) + boat.hold_helper_renderings[nth][3].text = { 'pirates.hold_connections_label_from', nth - 1 } + boat.hold_helper_renderings[nth - 1][3].text = { 'pirates.hold_connections_label_to', nth } + boat.hold_helper_renderings[nth][4].text = { 'pirates.hold_connections_label_from', nth - 1 } + boat.hold_helper_renderings[nth - 1][4].text = { 'pirates.hold_connections_label_to', nth } end connections = { { 1, 9 }, @@ -383,10 +383,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar b1.connect_linked_belts(b2) end - rendering.set_text(boat.hold_helper_renderings[nth][1], { 'pirates.hold_connections_label_to', 1 }) - rendering.set_text(boat.hold_helper_renderings[1][1], { 'pirates.hold_connections_label_from', nth }) - rendering.set_text(boat.hold_helper_renderings[nth][2], { 'pirates.hold_connections_label_to', 1 }) - rendering.set_text(boat.hold_helper_renderings[1][2], { 'pirates.hold_connections_label_from', nth }) + boat.hold_helper_renderings[nth][1].text = { 'pirates.hold_connections_label_to', 1 } + boat.hold_helper_renderings[1][1].text = { 'pirates.hold_connections_label_from', nth } + boat.hold_helper_renderings[nth][2].text = { 'pirates.hold_connections_label_to', 1 } + boat.hold_helper_renderings[1][2].text = { 'pirates.hold_connections_label_from', nth } else connections = { { 1, 1 }, @@ -400,10 +400,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar b1.connect_linked_belts(b2) end - rendering.set_text(boat.hold_helper_renderings[nth][1], { 'pirates.hold_connections_label_from', nth - 1 }) - rendering.set_text(boat.hold_helper_renderings[nth - 1][1], { 'pirates.hold_connections_label_to', nth }) - rendering.set_text(boat.hold_helper_renderings[nth][2], { 'pirates.hold_connections_label_from', nth - 1 }) - rendering.set_text(boat.hold_helper_renderings[nth - 1][2], { 'pirates.hold_connections_label_to', nth }) + boat.hold_helper_renderings[nth][1].text = { 'pirates.hold_connections_label_from', nth - 1 } + boat.hold_helper_renderings[nth - 1][1].text = { 'pirates.hold_connections_label_to', nth } + boat.hold_helper_renderings[nth][2].text = { 'pirates.hold_connections_label_from', nth - 1 } + boat.hold_helper_renderings[nth - 1][2].text = { 'pirates.hold_connections_label_to', nth } connections = { { 5, 9 }, @@ -417,10 +417,10 @@ function Public.nth_hold_connect_linked_belts(nth) --assumes both are in standar b1.connect_linked_belts(b2) end - rendering.set_text(boat.hold_helper_renderings[nth][3], { 'pirates.hold_connections_label_to', 1 }) - rendering.set_text(boat.hold_helper_renderings[1][1], { 'pirates.hold_connections_label_from', nth }) - rendering.set_text(boat.hold_helper_renderings[nth][4], { 'pirates.hold_connections_label_to', 1 }) - rendering.set_text(boat.hold_helper_renderings[1][2], { 'pirates.hold_connections_label_from', nth }) + boat.hold_helper_renderings[nth][3].text = { 'pirates.hold_connections_label_to', 1 } + boat.hold_helper_renderings[1][1].text = { 'pirates.hold_connections_label_from', nth } + boat.hold_helper_renderings[nth][4].text = { 'pirates.hold_connections_label_to', 1 } + boat.hold_helper_renderings[1][2].text = { 'pirates.hold_connections_label_from', nth } end end end diff --git a/maps/pirates/surfaces/islands/common.lua b/maps/pirates/surfaces/islands/common.lua index 6a015d8e..c670e2a8 100644 --- a/maps/pirates/surfaces/islands/common.lua +++ b/maps/pirates/surfaces/islands/common.lua @@ -238,7 +238,7 @@ function Public.enemies_specworms_separate(args, spec) local memory = Memory.get_crew_memory() local enemy_force_name = memory.enemy_force_name - local evolution = game.forces[enemy_force_name].evolution_factor + local evolution = memory.evolution_factor args.entities[#args.entities + 1] = { name = Common.get_random_worm_type(evolution + 0.05), position = p, force = enemy_force_name } end diff --git a/maps/pirates/surfaces/islands/radioactive/radioactive.lua b/maps/pirates/surfaces/islands/radioactive/radioactive.lua index 4fb51d84..7085522d 100644 --- a/maps/pirates/surfaces/islands/radioactive/radioactive.lua +++ b/maps/pirates/surfaces/islands/radioactive/radioactive.lua @@ -274,15 +274,17 @@ local function radioactive_tick() pollution = 6 * (Common.difficulty_scale() ^ (1.1) * (memory.overworldx / 40) ^ (18 / 10) * (Balance.crew_scale()) ^ (1 / 5)) / 3600 * tickinterval * (1 + (Common.difficulty_scale() - 1) * 0.2 + 0.001 * timer) end - if pollution > 0 then - memory.floating_pollution = memory.floating_pollution + pollution - - game.pollution_statistics.on_flow('uranium-ore', pollution) - end - local surface = game.surfaces[destination.surface_name] - if surface and surface.valid and (not surface.freeze_daytime) and destination.dynamic_data.timer and destination.dynamic_data.timer >= CoreData.daynightcycle_types[Public.Data.static_params_default.daynightcycletype].ticksperday / 60 / 2 then --once daytime, never go back to night - surface.freeze_daytime = true + if surface and surface.valid then + if pollution > 0 then + memory.floating_pollution = memory.floating_pollution + pollution + + game.get_pollution_statistics(surface).on_flow('uranium-ore', pollution) + end + + if (not surface.freeze_daytime) and destination.dynamic_data.timer and destination.dynamic_data.timer >= CoreData.daynightcycle_types[Public.Data.static_params_default.daynightcycletype].ticksperday / 60 / 2 then --once daytime, never go back to night + surface.freeze_daytime = true + end end end end diff --git a/maps/pirates/surfaces/islands/red_desert/red_desert.lua b/maps/pirates/surfaces/islands/red_desert/red_desert.lua index c75e5366..727faf70 100644 --- a/maps/pirates/surfaces/islands/red_desert/red_desert.lua +++ b/maps/pirates/surfaces/islands/red_desert/red_desert.lua @@ -400,7 +400,7 @@ function Public.custom_biter_ai() spawn(name) end - game.pollution_statistics.on_flow(name, budget - initialbudget) + game.get_pollution_statistics(surface).on_flow(name, budget - initialbudget) memory.floating_pollution = pollution_available if (not units_created) or (not #units_created) or (#units_created == 0) then return end diff --git a/maps/pirates/surfaces/sea/kraken.lua b/maps/pirates/surfaces/sea/kraken.lua index 81c60077..d3d0ec68 100644 --- a/maps/pirates/surfaces/sea/kraken.lua +++ b/maps/pirates/surfaces/sea/kraken.lua @@ -216,7 +216,7 @@ function Public.kraken_tick(crew_id, kraken_id, step, substep) max_range = 500, speed = 0.1 } - memory.kraken_stream_registrations[#memory.kraken_stream_registrations + 1] = { number = script.register_on_entity_destroyed(stream), position = spit_target_pos } + memory.kraken_stream_registrations[#memory.kraken_stream_registrations + 1] = { number = script.register_on_object_destroyed(stream), position = spit_target_pos } Effects.kraken_effect_4(surface, kraken_data.position) end @@ -233,7 +233,7 @@ function Public.kraken_tick(crew_id, kraken_id, step, substep) end end -local function on_entity_destroyed(event) +local function on_object_destroyed(event) local registration_number = event.registration_number local p @@ -419,6 +419,6 @@ function Public.kraken_die(kraken_id) end local event = require 'utils.event' -event.add(defines.events.on_entity_destroyed, on_entity_destroyed) +event.add(defines.events.on_object_destroyed, on_object_destroyed) return Public