Extended Research Queue for version 2.0


An improved GUI for managing the research queue in Factorio 2.x, with filtering, search, queue controls, research time estimates, and prerequisite information. Originally created by sh4dow as Extended Research Queue, based on sonaxaton-research-queue by sonaxaton.

Utilities
a month ago
2.0
422

g Repeatable techs ignore the technology price multiplier

a month ago

The shown number of needed science packs and the remaining-time estimate is correct for normal techs, but for repeatable (infinite) ones it is too short by exactly the map's technology price multiplier.

Cause is in scripts/rqtech.lua, where research_unit_count is determined:

  • finite branch uses tech.research_unit_count (LuaTechnology), which already has the price multiplier applied
  • infinite branch evaluates research_unit_count_formula, whose raw result does not

The speed estimate in control.lua also uses LuaTechnology.research_unit_count, so the ETA in actions.lua divides a count without the multiplier by a rate with it. The science pack totals under the queue are off the same way.

Suggested fix for the infinite branch (assisted by: anthropic/claude):

  local count = helpers.evaluate_expression(
    tech.research_unit_count_formula, { L = level, l = level })
  if not tech.prototype.ignore_tech_cost_multiplier then
    count = math.ceil(count * game.difficulty_settings.technology_price_multiplier)
  end
  research_unit_count = count

Replace the if infinite then branch of the research_unit_count block in scripts/rqtech.lua (lines 83-89 in 0.6.24); the else branch stays as is.

Shame there is no public repository despite the MIT license - I would happily have sent this as a pull request instead.

a month ago
(updated a month ago)

Thank you for reporting this, yejenar480. I have verified the issue and fixed it in version 0.6.25. The technology price multiplier is now correctly applied to both the science pack totals and the remaining-time estimate for repeatable technologies. I have also credited you in the changelog.

New response