ReikaKalseki/ReactorCraft — pull request #2 by ras0219 (2014-03-03 12:31:46+00:00)
Title: Fixed bug with heat creation in breeders

When a neutron passes through a breeder (assuming it is not poisoned) and does not enrich the fuel, it adds 20 or 30 heat and is not stopped. This means you got free heat out of the neutron, 98.75% of the time. And the neutron will continue on after, perhaps to give you free heat in subsequent cores.

This means that a single neutron, instead of the intended maximum of roughly 30 temperature units, can be convinced to produce an enormous amount of temperature (and correspondingly enormous amounts of steam).

The simplest solution here is to add a 'return true;' after the temperature absorption, though this makes empty breeder cores the best neutron blocking item in the game! 100% of neutrons stopped and turned into heat! Plus, it doesn't even use fuel!

The solution I have implemented in this patch uses similar code to the standard fuel rod. First, if the breeder is empty it acts like air (100% pass through). If it has fuel, then it has a 1.25% chance of enriching the fuel and producing heat, a 23.75% chance of absorbing the neutron into heat (using the current >= 700 ? 30 : 20), and a 75% of letting the neutron pass through.