local util = require("util") local debug = true function util.debug_error(string) if not debug then return end error(string) end function util.set_technologies_enabled(force, technology_list) local technologies = force.technologies for name, bool in pairs (technology_list) do local tech = technologies[name] if tech then tech.enabled = true else util.debug_error("Not a real technology "..name) end end end function util.set_technologies_researched(force, technology_list) local technologies = force.technologies for name, bool in pairs (technology_list) do local tech = technologies[name] if tech then tech.enabled = true tech.researched = true else util.debug_error("Not a real technology "..name) end end end function util.set_recipes(force, recipe_list) local recipes = force.recipes for name, bool in pairs (recipe_list) do local recipe = recipes[name] if recipe then recipe.enabled = bool else util.debug_error("Not a real recipe "..name) end end end function util.difficulty_number(easy, normal, hard) if game.difficulty == defines.difficulty.easy then return easy end if game.difficulty == defines.difficulty.normal then return normal end if game.difficulty == defines.difficulty.hard then return hard end error("Unknown difficulty: "..game.difficulty) end function util.verify_techs(force) local technologies = force.technologies for k, tech in pairs (technologies) do if tech.enabled then for name, prerequisite in pairs (tech.prerequisites) do if not prerequisite.enabled then game.print("Prerequisite for "..tech.name.." not enabled "..name) end end end end end function util.think_string(string) return {"", "[img=entity/character][color=orange]", {"engineer-title"}, ": [/color]", string} end return util