float rawFuelUsage = (fuelPerRadiationUnit * rawRadIntensity / getFertilityModifier()) * BigReactors.fuelUsageMultiplier; // Not a typo. Fuel usage is thus penalized at high heats.
data.fuelRfChange = rfPerRadiationUnit * effectiveRadIntensity;
data.environmentRfChange = 0f;
// Propagate radiation to others
CoordTriplet originCoord = source.getWorldLocation();
CoordTriplet currentCoord = new CoordTriplet(0, 0, 0);
effectiveRadIntensity *= 0.25f; // We're going to do this four times, no need to repeat
RadiationPacket radPacket = new RadiationPacket();
for(ForgeDirection dir : StaticUtils.CardinalDirections) {
radPacket.hardness = radHardness;
radPacket.intensity = effectiveRadIntensity;
int ttl = 4;
currentCoord.copy(originCoord);
while(ttl > 0 && radPacket.intensity > 0.0001f) {
ttl--;
currentCoord.translate(dir);
performIrradiation(world, data, radPacket, currentCoord.x, currentCoord.y, currentCoord.z);
}
}
// Apply changes