[0.18] Please post bugs and balance issues here.

Some mods, made by Bob. Basically streaks every Factroio-area.

Moderator: bobingabout

User avatar
steinio
Smart Inserter
Smart Inserter
Posts: 2638
Joined: Sat Mar 12, 2016 4:19 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by steinio »

Yeah just skimmed the log for another thing and stumbled over this. Otherwise i never had recognised it.
No need to hurry.
Image

Transport Belt Repair Man

View unread Posts
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by bobingabout »

steinio wrote: Sun Apr 12, 2020 11:49 am Yeah just skimmed the log for another thing and stumbled over this. Otherwise i never had recognised it.
No need to hurry.
On the bright side, it's logging errors instead of crashing.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
TheTom
Fast Inserter
Fast Inserter
Posts: 186
Joined: Tue Feb 09, 2016 8:33 am
Contact:

Calcium Chloride broken

Post by TheTom »

"unknown key: 'recipe-name.calcium-chloride'" in the crafint overview.

It also demands limestone with no angel installed. Limestone production emits Carbon Dioxide which seems to have no use except throwing it into the void (again, no angel installed).
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Calcium Chloride broken

Post by bobingabout »

TheTom wrote: Mon Apr 13, 2020 9:33 am "unknown key: 'recipe-name.calcium-chloride'" in the crafint overview.

It also demands limestone with no angel installed. Limestone production emits Carbon Dioxide which seems to have no use except throwing it into the void (again, no angel installed).
I know about the locale error there, I've fixed it for next release.

And yes, CO2 has a use, but not until later, and the thing you use it for current has no use, it's still a work in progress, so... this is correct.


There's an option called Extra Chemistry in bobrevamp, this is what's adding it, but be aware that I changed the Nitrogen dioxide recipe in bobrevamp to be an extra chemistry recipe, so if you turn the option off it'll fall back to needing only Nitrogen and Oxygen instead of Ammonia.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
TheTom
Fast Inserter
Fast Inserter
Posts: 186
Joined: Tue Feb 09, 2016 8:33 am
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by TheTom »

The dead end (as you say, it is WIP) did just make me consider this to be a bug showing something that should only be shown i.e. for Angel. Now that I know it - well, it is not like I do not have materials to make (yet more) vents ;)
Racusthor
Burner Inserter
Burner Inserter
Posts: 11
Joined: Fri Jul 17, 2015 8:10 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by Racusthor »

Hi Bob,

Since the last update of boblibrary it takes ages starting the game. I haven't actually finished loading yet. It took 700 seconds, but the game starts eventually.

I added some extra logs in the functions so you can see the timestamps en hopefully pin it quicker.

Modified code

Code: Select all

function bobmods.lib.tech.get_redundant_prerequisites(technology)
  log("entered bobmods.lib.tech.get_redundant_prerequisites")
  local redundant = {}
  if
    type(technology) == "string" and
    data.raw.technology[technology]
  then
    if data.raw.technology[technology].prerequisites then
      for i, prerequisite in pairs(data.raw.technology[technology].prerequisites) do
        if bobmods.lib.tech.has_prerequisite_in_tree_only(technology, prerequisite) then
          table.insert(redundant, prerequisite)
        end
      end
    end
  else
    log(debug.traceback())
    bobmods.lib.error.technology(technology)
  end
  log("end of bobmods.lib.tech.get_redundant_prerequisites")
  return redundant
end

function bobmods.lib.tech.get_redundant_prerequisites_smart(technology)
  log("entered bobmods.lib.tech.get_redundant_prerequisites_smart")
  local redundant = {}
  if
    type(technology) == "string" and
    data.raw.technology[technology]
  then
    local technology_trunc = string.gsub(technology, "%A", "")
    for i, prerequisite in pairs(bobmods.lib.tech.get_redundant_prerequisites(technology)) do
      local prerequisite_trunc = string.gsub(prerequisite, "%A", "")
      if technology_trunc ~= prerequisite_trunc then
        table.insert(redundant, prerequisite)
      end
    end
  else
    log(debug.traceback())
    bobmods.lib.error.technology(technology)
  end
  log("end of bobmods.lib.tech.get_redundant_prerequisites_smart")
  return redundant
end

function bobmods.lib.tech.prerequisite_cleanup()
  log("Running technology prerequisite cleanup...")
  for technology_name, technology in pairs(data.raw.technology) do
	log("first for loop")
    for i, prerequisite in pairs(bobmods.lib.tech.get_redundant_prerequisites_smart(technology_name)) do
	  log("second for loop")
      bobmods.lib.tech.remove_prerequisite(technology_name, prerequisite)
      log("removed " .. prerequisite .. " from " .. technology_name)
    end
  end
end
Log files

Code: Select all

  
  48.859 Loading mod boblibrary 0.18.6 (data-final-fixes.lua)
  48.860 Script @__boblibrary__/technology-functions.lua:342: Running technology prerequisite cleanup...
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.860 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.860 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.860 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.861 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.861 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.861 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.864 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.864 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.864 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.864 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.864 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  48.917 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  48.917 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  48.917 Script @__boblibrary__/technology-functions.lua:344: first for loop
  48.917 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  48.917 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  49.163 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  49.163 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  49.163 Script @__boblibrary__/technology-functions.lua:344: first for loop
  49.163 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  49.163 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  92.948 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  92.948 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  92.948 Script @__boblibrary__/technology-functions.lua:346: second for loop
  92.948 Script @__boblibrary__/technology-functions.lua:348: removed space-science-pack from physical-projectile-damage-7
  92.948 Script @__boblibrary__/technology-functions.lua:344: first for loop
  92.948 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  92.948 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  92.948 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  92.948 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  92.948 Script @__boblibrary__/technology-functions.lua:344: first for loop
  92.948 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  92.948 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  92.948 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  92.948 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  92.948 Script @__boblibrary__/technology-functions.lua:344: first for loop
  92.948 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  92.948 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  92.951 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  92.951 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  92.951 Script @__boblibrary__/technology-functions.lua:344: first for loop
  92.951 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  92.951 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  92.959 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  92.960 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  92.960 Script @__boblibrary__/technology-functions.lua:344: first for loop
  92.960 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  92.960 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  92.996 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  92.996 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  92.996 Script @__boblibrary__/technology-functions.lua:344: first for loop
  92.996 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  92.996 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
  93.160 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
  93.160 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
  93.160 Script @__boblibrary__/technology-functions.lua:344: first for loop
  93.160 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
  93.160 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 136.666 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 136.666 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 136.666 Script @__boblibrary__/technology-functions.lua:346: second for loop
 136.666 Script @__boblibrary__/technology-functions.lua:348: removed space-science-pack from stronger-explosives-7
 136.666 Script @__boblibrary__/technology-functions.lua:344: first for loop
 136.666 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 136.666 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 136.667 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 136.667 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 136.667 Script @__boblibrary__/technology-functions.lua:344: first for loop
 136.667 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 136.667 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 136.671 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 136.671 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 136.671 Script @__boblibrary__/technology-functions.lua:344: first for loop
 136.671 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 136.671 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 136.698 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 136.698 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 136.698 Script @__boblibrary__/technology-functions.lua:344: first for loop
 136.698 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 136.698 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 136.850 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 136.850 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 136.850 Script @__boblibrary__/technology-functions.lua:344: first for loop
 136.850 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 136.850 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 136.850 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 136.850 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 136.850 Script @__boblibrary__/technology-functions.lua:344: first for loop
 136.850 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 136.850 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 136.850 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 136.850 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 136.850 Script @__boblibrary__/technology-functions.lua:344: first for loop
 136.850 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 136.850 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 180.330 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 180.330 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 180.330 Script @__boblibrary__/technology-functions.lua:346: second for loop
 180.330 Script @__boblibrary__/technology-functions.lua:348: removed space-science-pack from refined-flammables-7
 180.330 Script @__boblibrary__/technology-functions.lua:344: first for loop
 180.330 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 180.330 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 180.335 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 180.335 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 180.335 Script @__boblibrary__/technology-functions.lua:344: first for loop
 180.335 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 180.335 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 180.335 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 180.335 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 180.335 Script @__boblibrary__/technology-functions.lua:344: first for loop
 180.335 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 180.335 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 180.335 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 180.335 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 180.335 Script @__boblibrary__/technology-functions.lua:344: first for loop
 180.335 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 180.335 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 180.420 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 180.420 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 180.420 Script @__boblibrary__/technology-functions.lua:344: first for loop
 180.420 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 180.420 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 180.800 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 180.800 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 180.800 Script @__boblibrary__/technology-functions.lua:344: first for loop
 180.800 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 180.800 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 180.800 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 180.800 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 180.800 Script @__boblibrary__/technology-functions.lua:344: first for loop
 180.800 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 180.800 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 262.728 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 262.728 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 262.728 Script @__boblibrary__/technology-functions.lua:346: second for loop
 262.728 Script @__boblibrary__/technology-functions.lua:348: removed space-science-pack from energy-weapons-damage-7
 262.728 Script @__boblibrary__/technology-functions.lua:344: first for loop
 262.728 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 262.728 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 262.728 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 262.728 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 262.728 Script @__boblibrary__/technology-functions.lua:344: first for loop
 262.728 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 262.728 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 262.728 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 262.728 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 262.728 Script @__boblibrary__/technology-functions.lua:344: first for loop
 262.728 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 262.728 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 262.739 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 262.739 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 262.739 Script @__boblibrary__/technology-functions.lua:346: second for loop
 262.739 Script @__boblibrary__/technology-functions.lua:348: removed military-science-pack from weapon-shooting-speed-3
 262.739 Script @__boblibrary__/technology-functions.lua:344: first for loop
 262.739 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 262.739 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 262.739 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 262.739 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 262.739 Script @__boblibrary__/technology-functions.lua:344: first for loop
 262.739 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 262.739 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 262.797 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 262.797 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 262.797 Script @__boblibrary__/technology-functions.lua:344: first for loop
 262.797 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 262.797 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 263.053 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 263.053 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 263.053 Script @__boblibrary__/technology-functions.lua:344: first for loop
 263.053 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 263.053 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 263.053 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 263.053 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 263.053 Script @__boblibrary__/technology-functions.lua:344: first for loop
 263.053 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 263.053 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 263.053 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 263.053 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 263.053 Script @__boblibrary__/technology-functions.lua:344: first for loop
 263.053 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 263.053 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 263.081 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 263.082 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 263.082 Script @__boblibrary__/technology-functions.lua:344: first for loop
 263.082 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 263.082 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 263.117 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 263.117 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 263.117 Script @__boblibrary__/technology-functions.lua:344: first for loop
 263.117 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 263.117 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 263.278 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 263.278 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 263.278 Script @__boblibrary__/technology-functions.lua:344: first for loop
 263.278 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 263.278 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 263.278 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 263.278 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 263.278 Script @__boblibrary__/technology-functions.lua:344: first for loop
 263.278 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 263.278 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 263.278 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 263.278 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 263.278 Script @__boblibrary__/technology-functions.lua:344: first for loop
 263.279 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 263.279 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 306.734 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 306.734 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 306.734 Script @__boblibrary__/technology-functions.lua:346: second for loop
 306.734 Script @__boblibrary__/technology-functions.lua:348: removed space-science-pack from artillery-shell-range-1
 306.734 Script @__boblibrary__/technology-functions.lua:344: first for loop
 306.734 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 306.734 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 350.314 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 350.314 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 350.314 Script @__boblibrary__/technology-functions.lua:346: second for loop
 350.314 Script @__boblibrary__/technology-functions.lua:348: removed space-science-pack from artillery-shell-speed-1
 350.314 Script @__boblibrary__/technology-functions.lua:344: first for loop
 350.314 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 350.314 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 350.314 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 350.314 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 350.314 Script @__boblibrary__/technology-functions.lua:344: first for loop
 350.314 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 350.314 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 350.314 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 350.314 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 350.314 Script @__boblibrary__/technology-functions.lua:344: first for loop
 350.314 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 350.315 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 350.403 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 350.403 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 350.403 Script @__boblibrary__/technology-functions.lua:344: first for loop
 350.403 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 350.403 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 350.403 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 350.403 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 350.403 Script @__boblibrary__/technology-functions.lua:344: first for loop
 350.403 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 350.403 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 350.788 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 350.788 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 350.788 Script @__boblibrary__/technology-functions.lua:344: first for loop
 350.788 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 350.788 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 350.788 Script @__boblibrary__/technology-functions.lua:315: end of bobmods.lib.tech.get_redundant_prerequisites
 350.788 Script @__boblibrary__/technology-functions.lua:337: end of bobmods.lib.tech.get_redundant_prerequisites_smart
 350.788 Script @__boblibrary__/technology-functions.lua:344: first for loop
 350.788 Script @__boblibrary__/technology-functions.lua:320: entered bobmods.lib.tech.get_redundant_prerequisites_smart
 350.788 Script @__boblibrary__/technology-functions.lua:298: entered bobmods.lib.tech.get_redundant_prerequisites
 
mod list

Code: Select all

      "name": "AfraidOfTheDark"
      "name": "air-filtering"
      "name": "ammo-loader"
      "name": "angelsaddons-cab"
      "name": "angelsaddons-crawlertrain"
      "name": "angelsaddons-oresilos"
      "name": "angelsaddons-petrotrain"
      "name": "angelsaddons-pressuretanks"
      "name": "angelsaddons-smeltingtrain"
      "name": "angelsaddons-warehouses"
      "name": "angelsbioprocessing"
      "name": "angelsindustries"
      "name": "angelsinfiniteores"
      "name": "angelspetrochem"
      "name": "angelsrefining"
      "name": "angelssmelting"
      "name": "auto-research-18"
      "name": "AutoDeconstruct"
      "name": "AutoTrash"
      "name": "belt-balancer"
      "name": "belt-brush"
      "name": "beltlayer"
      "name": "Big_Brother"
      "name": "Bio_Industries"
      "name": "blueprint_flip_and_turn"
      "name": "bobassembly"
      "name": "bobelectronics"
      "name": "bobenemies"
      "name": "bobequipment"
      "name": "bobgreenhouse"
      "name": "bobinserters"
      "name": "boblibrary"
      "name": "boblocale"
      "name": "boblogistics"
      "name": "bobmining"
      "name": "bobmods_gfxtweak"
      "name": "bobmodules"
      "name": "bobores"
      "name": "bobplates"
      "name": "bobpower"
      "name": "bobrevamp"
      "name": "bobtech"
      "name": "bobvehicleequipment"
      "name": "bobwarfare"
      "name": "Bottleneck"
      "name": "bullet-trails"
      "name": "cargo-ships"
      "name": "CircuitProcessing"
      "name": "crafting_combinator"
      "name": "Dectorio"
      "name": "DiscoScience"
      "name": "Electric Furnaces"
      "name": "ElectricTrain"
      "name": "even-distribution"
      "name": "Factorissimo2"
      "name": "FARL"
      "name": "Fill4Me"
      "name": "Flare Stack"
      "name": "Flow Control"
      "name": "FluidMustFlow"
      "name": "FNEI"
      "name": "helmod"
      "name": "improved-ftl"
      "name": "InfiniteTech"
      "name": "LandfillPainting"
      "name": "LoaderRedux"
      "name": "LogisticTrainNetwork"
      "name": "LSlib"
      "name": "LTN_Combinator"
      "name": "LTN_Content_Reader"
      "name": "LTN_screensaver"
      "name": "miniloader"
      "name": "MoreScience"
      "name": "MoreScience-BobAngelsExtension"
      "name": "MoreScience-ScienceCostTweakerExtension"
      "name": "MoreScience-SpaceExtension"
      "name": "Nanobots"
      "name": "nixie-tubes"
      "name": "only-smelting"
      "name": "OpteraLib"
      "name": "PickerAtheneum"
      "name": "PickerExtended"
      "name": "production-monitor"
      "name": "PumpAnywhere"
      "name": "qol_research"
      "name": "rewire-tool"
      "name": "rso-mod"
      "name": "rusty-locale"
      "name": "ScienceCostTweakerM"
      "name": "ShinyAngelGFX"
      "name": "ShinyBobGFX"
      "name": "ShinyIcons"
      "name": "SpaceMod"
      "name": "Squeak Through"
      "name": "stdlib"
      "name": "textplates"
      "name": "themightygugi_alwaysday"
      "name": "Warehousing"
      "name": "Waterfill_v17"
      "name": "YARM"
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by bobingabout »

Racusthor wrote: Fri Apr 17, 2020 6:34 pm Hi Bob,

Since the last update of boblibrary it takes ages starting the game. I haven't actually finished loading yet. It took 700 seconds, but the game starts eventually.
It added an entire second to load time on my end, and I did fear it would take even longer if you had more mods, or a slower computer.

Racusthor wrote: Fri Apr 17, 2020 6:34 pm I added some extra logs in the functions so you can see the timestamps en hopefully pin it quicker.

Log files
unfortuantely, not really all that useful, except to point out that it's doing a lot, and taking a long time to do it...
Racusthor wrote: Fri Apr 17, 2020 6:34 pm mod list

Code: Select all

      "name": "AfraidOfTheDark"
      "name": "air-filtering"
      "name": "ammo-loader"
      "name": "angelsaddons-cab"
      "name": "angelsaddons-crawlertrain"
      "name": "angelsaddons-oresilos"
      "name": "angelsaddons-petrotrain"
      "name": "angelsaddons-pressuretanks"
      "name": "angelsaddons-smeltingtrain"
      "name": "angelsaddons-warehouses"
      "name": "angelsbioprocessing"
      "name": "angelsindustries"
      "name": "angelsinfiniteores"
      "name": "angelspetrochem"
      "name": "angelsrefining"
      "name": "angelssmelting"
      "name": "auto-research-18"
      "name": "AutoDeconstruct"
      "name": "AutoTrash"
      "name": "belt-balancer"
      "name": "belt-brush"
      "name": "beltlayer"
      "name": "Big_Brother"
      "name": "Bio_Industries"
      "name": "blueprint_flip_and_turn"
      "name": "bobassembly"
      "name": "bobelectronics"
      "name": "bobenemies"
      "name": "bobequipment"
      "name": "bobgreenhouse"
      "name": "bobinserters"
      "name": "boblibrary"
      "name": "boblocale"
      "name": "boblogistics"
      "name": "bobmining"
      "name": "bobmods_gfxtweak"
      "name": "bobmodules"
      "name": "bobores"
      "name": "bobplates"
      "name": "bobpower"
      "name": "bobrevamp"
      "name": "bobtech"
      "name": "bobvehicleequipment"
      "name": "bobwarfare"
      "name": "Bottleneck"
      "name": "bullet-trails"
      "name": "cargo-ships"
      "name": "CircuitProcessing"
      "name": "crafting_combinator"
      "name": "Dectorio"
      "name": "DiscoScience"
      "name": "Electric Furnaces"
      "name": "ElectricTrain"
      "name": "even-distribution"
      "name": "Factorissimo2"
      "name": "FARL"
      "name": "Fill4Me"
      "name": "Flare Stack"
      "name": "Flow Control"
      "name": "FluidMustFlow"
      "name": "FNEI"
      "name": "helmod"
      "name": "improved-ftl"
      "name": "InfiniteTech"
      "name": "LandfillPainting"
      "name": "LoaderRedux"
      "name": "LogisticTrainNetwork"
      "name": "LSlib"
      "name": "LTN_Combinator"
      "name": "LTN_Content_Reader"
      "name": "LTN_screensaver"
      "name": "miniloader"
      "name": "MoreScience"
      "name": "MoreScience-BobAngelsExtension"
      "name": "MoreScience-ScienceCostTweakerExtension"
      "name": "MoreScience-SpaceExtension"
      "name": "Nanobots"
      "name": "nixie-tubes"
      "name": "only-smelting"
      "name": "OpteraLib"
      "name": "PickerAtheneum"
      "name": "PickerExtended"
      "name": "production-monitor"
      "name": "PumpAnywhere"
      "name": "qol_research"
      "name": "rewire-tool"
      "name": "rso-mod"
      "name": "rusty-locale"
      "name": "ScienceCostTweakerM"
      "name": "ShinyAngelGFX"
      "name": "ShinyBobGFX"
      "name": "ShinyIcons"
      "name": "SpaceMod"
      "name": "Squeak Through"
      "name": "stdlib"
      "name": "textplates"
      "name": "themightygugi_alwaysday"
      "name": "Warehousing"
      "name": "Waterfill_v17"
      "name": "YARM"
and this just tells me you have A LOT of mods.


However, I've already been working on a new function that returns a list of all prerequisites in the tree, and use that as part of the function that checks if a prerequisite is in the tree.
However, this in itself is slower, takes about 4x as long as the current version, BUT, I'm also adding another "buffered" (though Cached would be a more appropriate word) version of the same function, and in my tests so far it takes only a quater as long.

The reason why the function is so slow in the first place is because for every technology, it looks at the entire tree of prerequisites to see if there's any redundancies, but in theory, if you remove a prerequisite from a technology, it's because it's in the tree, therefore once you've looked at it once, the list of prerequisites in the tree never changes... so just save this list and return it next time you look at the same technology.

This means that if you're looking at something like, advanced electronics 3, which has a HUGE list of prerequisites, it just returns the list instead of having to build the list AGAIN, saving A LOT of time.
now, in bob's mods, that's only 4 times the speed, but the more technologies you put on the tree, the more time would be saved from a caches system, so it could reduce your 302 seconds down to only 10.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
Racusthor
Burner Inserter
Burner Inserter
Posts: 11
Joined: Fri Jul 17, 2015 8:10 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by Racusthor »

Good to hear a solution (or workaround) is coming.
In the meantime I found out the reason lies with More-science, which might make sense, since it chances a lot of science as well.
Loading all my mods except More-science takes mere seconds on the technology prerequisite cleanup.
User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1685
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by MeduSalem »

Hey,

I don't know whether to post it here or at Angel's because I don't exactly know who is responsible for the balancing problem, but here it goes:

The Thermal Generator Unit takes way too much Plutinium-239. And the Satellite probably also too many Thermal Generator units.

At least I find it impossible to sustain the Plutonium demand when running a single Rocket Silo fully moduled up with PM8s. I then would need like 2 Centrifuges doing Bobingabout Enrichment Process for additional Plutonium with SM8s but then I ran out of the stocked up Uranium-238 and eventually also out of Uranium ore itself. That said I am using Angel's ores/refinement... that may play into the out of resources issue.

I really think that the 10 Plutonium-239 per Thermal Generator is too much. Even 1 is more than sufficient... and the satelite probably also only 5-10 TGs isntead of 20. Especially since there can't be used any PMs on the Bobingabout Enrichment Process and neither on the Thermal Generator Unit or the Satelite to cut back on resource costs.

The balancing issue really stands out because nothing else is causing that much distress on my factory. :D

Also using the latest Bobs and Angel's versions with the latest Factorio version.
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by bobingabout »

MeduSalem wrote: Mon Apr 20, 2020 11:16 pm Hey,

I don't know whether to post it here or at Angel's because I don't exactly know who is responsible for the balancing problem, but here it goes:

The Thermal Generator Unit takes way too much Plutinium-239. And the Satellite probably also too many Thermal Generator units.

At least I find it impossible to sustain the Plutonium demand when running a single Rocket Silo fully moduled up with PM8s. I then would need like 2 Centrifuges doing Bobingabout Enrichment Process for additional Plutonium with SM8s but then I ran out of the stocked up Uranium-238 and eventually also out of Uranium ore itself. That said I am using Angel's ores/refinement... that may play into the out of resources issue.

I really think that the 10 Plutonium-239 per Thermal Generator is too much. Even 1 is more than sufficient... and the satelite probably also only 5-10 TGs isntead of 20. Especially since there can't be used any PMs on the Bobingabout Enrichment Process and neither on the Thermal Generator Unit or the Satelite to cut back on resource costs.

The balancing issue really stands out because nothing else is causing that much distress on my factory. :D

Also using the latest Bobs and Angel's versions with the latest Factorio version.
200 Plutonium for a satellite does seem a little high... okay, I'll look into it.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
Recon419A
Burner Inserter
Burner Inserter
Posts: 13
Joined: Thu Mar 21, 2019 4:15 am
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by Recon419A »

With just Bob's mods installed, pumping, distilling, and electrolysing water and then burning the resultant hydrogen is sufficiently energy positive that it's an effective means of power generation.

Edit: I should also mention that when I added more fluid-burning generators while keeping the load the same (in a testing setup), I was able to decrease the total hydrogen consumption, implying that either A) you have implemented load-dependent efficiency, in which case good for you; or B) there's some sort of error going on with fluid-burning generator fuel consumption.
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by bobingabout »

Recon419A wrote: Mon Apr 27, 2020 3:37 am I should also mention that when I added more fluid-burning generators while keeping the load the same (in a testing setup), I was able to decrease the total hydrogen consumption, implying that either A) you have implemented load-dependent efficiency, in which case good for you; or B) there's some sort of error going on with fluid-burning generator fuel consumption.
Back when I still had source access, one of the entities I edited was the reactor.
I added a read for the line "scale_energy_usage = true", and if it's found... Scales so that the fuel consumption is reduced to match the energy demand.
I also changed it to have an energy_source tag instead of a burner tag, allowing it to be fueled by a fluid (or even Electricity) if you want it to be.

This was back in 0.17 beta, so the public first saw it in 0.17. I didn't actually use it until near the end of the 0.17 run.

Keep in mind I edited a lot of things, you only see in game the things the Dev's accepted.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
Recon419A
Burner Inserter
Burner Inserter
Posts: 13
Joined: Thu Mar 21, 2019 4:15 am
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by Recon419A »

Not using reactors here; just unlocked blue science. I'm more referring to the fact that with fluid burning generators, adding more reduces fuel consumption rather than simply redistributing it. I discovered that while testing the limits of a "water burning" power plant as described above.
Recon419A
Burner Inserter
Burner Inserter
Posts: 13
Joined: Thu Mar 21, 2019 4:15 am
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by Recon419A »

I also think it's a balance issue that you can turn water into electricity via electrolysis and combustion.

Edit: By that I mean specifically vanilla water from an offshore pump.
Last edited by Recon419A on Mon Apr 27, 2020 5:37 pm, edited 1 time in total.
Recon419A
Burner Inserter
Burner Inserter
Posts: 13
Joined: Thu Mar 21, 2019 4:15 am
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by Recon419A »

I'll edit this post with the "water power" blueprint when I'm sitting at the appropriate computer.

Edit: Here's the blueprint: https://pastebin.com/JbmXfuZf

I tested this design off-grid with a bunch of Radar Mk.2s. Adding more fluid-burning generators - as you can see, there are far more here than "required" to consume the amount of hydrogen being produced - directly increased the number of radars I could support. Obviously, there are no inputs to this design other than water, so it really shouldn't be producing power on its own (at least from a "real physics" standpoint; I don't know whether the up-front cost justifies it from a game balance standpoint or not).
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by bobingabout »

Recon419A wrote: Mon Apr 27, 2020 5:32 pm Not using reactors here; just unlocked blue science. I'm more referring to the fact that with fluid burning generators, adding more reduces fuel consumption rather than simply redistributing it. I discovered that while testing the limits of a "water burning" power plant as described above.
To note "Reactor" is the type of entity.
Heat sources (Item or Fluid powered) are just modded reactors.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
Recon419A
Burner Inserter
Burner Inserter
Posts: 13
Joined: Thu Mar 21, 2019 4:15 am
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by Recon419A »

bobingabout wrote: Mon Apr 27, 2020 6:22 pm
To note "Reactor" is the type of entity.
Heat sources (Item or Fluid powered) are just modded reactors.
Okay, that makes more sense. Do the reactors also have non-linear fuel consumption, then?
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by bobingabout »

Recon419A wrote: Mon Apr 27, 2020 6:58 pm
bobingabout wrote: Mon Apr 27, 2020 6:22 pm
To note "Reactor" is the type of entity.
Heat sources (Item or Fluid powered) are just modded reactors.
Okay, that makes more sense. Do the reactors also have non-linear fuel consumption, then?
No, it's basically just...

Reactor is 500W (Example)
Consume min(available, 500/60)J of fuel per tick, Add min(consumed, capacity - heat)J of heat energy per tick.

If you turn on the scale tag, it calculates required = min(500/60, capacity-heat), then consumes min(required, available) that amount from the fuel, and adds the consumed amount to heat energy.

Yes, it's maths heavy.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
loganb
Inserter
Inserter
Posts: 44
Joined: Mon Jul 25, 2016 3:58 am
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by loganb »

Hello,

Just wanted to drop in here and comment on balancing for the Plasma Turret—it is way too strong. I am about half way through an Angels + Bobs run (well developed blue science, just got Electronic Circuit Boards, but don't have titanium).

My biter evolution is 78% and a Plasma Turret Mk1 easily rips through everything. I think it should do approximately half the damage, and probably require ECBs. Just a thought and love the mod!

PS: the strength of sniper turrets also seems high, but that's been around forever, so I assume it's already been decided.
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: [0.18] Please post bugs and balance issues here.

Post by bobingabout »

loganb wrote: Mon May 04, 2020 11:53 pm Hello,

Just wanted to drop in here and comment on balancing for the Plasma Turret—it is way too strong. I am about half way through an Angels + Bobs run (well developed blue science, just got Electronic Circuit Boards, but don't have titanium).

My biter evolution is 78% and a Plasma Turret Mk1 easily rips through everything. I think it should do approximately half the damage, and probably require ECBs. Just a thought and love the mod!

PS: the strength of sniper turrets also seems high, but that's been around forever, so I assume it's already been decided.
Plasma has actually been a bob's mods artillery weapon for quite some time now, though it used to only be in the vehicle equipment grid.
I gave it it's own turret in 0.17, and actually did a whole rebalance for it. it probably only seems strong because I gave it it's own damage type that most enemies don't have a resistance to. I'll look into it.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
Post Reply

Return to “Bob's mods”