Radiation now slowly damages you for a while after exposure,
with the effect's time and intensity proportional to the
amount of radiation received. The radioactivity of some
items is reduced to account for the increased damage.
This simplifies radioactivity by removing the 1000 and 0.25 multipliers.
It also increases the effectiveness of protection (I think it was too low
before -- most of the advantage of adding protective layers was just from
the increased distance).
The reactor originaly used a stainless steel shield only
because lead wasn't yet available. Stainless steel shields
are automatically converted to lead shields for legacy reasons.
Windmills always span more than one mapblock, so even with a switching station next to the generators, they will stop working if unloaded due to the windmill check failing to handle CONTENT_IGNORE of the frames at the foot of the windmill, unless a second switching station would be placed there.
The commit assumes, that a user has to load a block to modify it, and thus unloaded blocks to have the same windmill frame state as before.
This also makes technic_run for windmills a little faster by being able to skip some unnecessary node lookups and generally avoiding creation of 20 tables per windmill per step.
This is an algorithm that I designed myself. It fixes an
issue with the old code where it would be more eager to
move in some directions rather than others. This bug
resulted in, eg, a lead block on a radiation source's
+x side protecting you when you were directly overhead.
Changes:
* Make rayIter a global utility, and use it for radiation too.
* prettynum -> pretty_num and cleanup.
* Remove resolve_name/function_exists (unused).
* Cleanup nuclear reactor code.
Changed zinc parameters in first block block to match "lead noise" and "tin frequent". Please commit this! Zinc was a real problem to me untill i changed this file, now i can find about 10 zinc in 2 minutes!