summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-07-30Merge remote-tracking branch 'zefram/zefram/centrifuge'Vanessa Ezekowitz
2014-07-30Correct breakability of sandstone CNC nodesZefram
default:sandstone has cracky=3, but the CNC nodes had cracky=2.
2014-07-30Make granite harder than regular stoneZefram
In real life granite is renowned for its hardness.
2014-07-28Remove a noisy debugging printZefram
2014-07-28Uranium enrichment via centrifugeZefram
Replacing the extractor-based system, uranium to be used as reactor fuel must now be enriched in stages using the centrifuge. Uranium metal can exist at 36 levels of fissile content, from 0.0% to 3.5% in steps of 0.1%. One round of centrifuging splits two dust of a particular grade in to one dust each of the two neighbouring grades. Uranium of each grade can exist as dust, ingot, and block, with all the regular metal processes to convert between them. Uranium from ore exists in lump form, and is 0.7% fissle. The blocks are radioactive to a degree dependent on fissile content. Thus the chemical refinement and processing of uranium now follows the standard pattern for metals, and is orthogonal to isotopic enrichment. Each form of uranium (dust, ingot, block) intentionally looks identical regardless of fissile grade. If technic_worldgen is used alone, it defines only one grade of uranium (as before), but defines it in the regular metal pattern, with lump, ingot produced by cooking lump, and block crafted from ingots. It identifies the metal only as "uranium". The multiple grades of uranium are defined by the technic mod, which identifies each grade as "N.N%-fissile uranium". The single grade that was registered by technic_worldgen is redefined to be described specifically as "0.7%-fissile uranium". For the redefinition to work, technic_worldgen must load before technic, so technic now declares a dependency on technic_worldgen. Each fuel rod is made from five 3.5%-fissile ingots, each of which in turn requires one to start with five 0.7%-fissile dust, so each fuel rod is now derived from 12.5 uranium lumps (or 25 if the lumps were first cooked rather than being ground). This replaces the 20 lumps required by the former recipes. After setting up and priming the centrifuge cascade, enriching a full set of fuel for the reactor (six fuel rods) takes 14700 centrifuge operations. It's intended to be a practical necessity to automate the centrifuge. In the absence of EU upgrades for the centrifuges, these operations consume 5.88e8 EU, about 0.97% of the 6.048e10 EU that the fuel set will produce in the reactor. The intent is that, in this respect as in others, operating a reactor should carry a very high up-front cost, but ultimately be very profitable.
2014-07-26Reduce dependencies of technic_chestsZefram
technic_chests was depending on the technic mod, for the top-level "technic" table and the technic.swap_node function. Resolve that by sharing the top-level table and inlining the one use of the function. It was also depending on technic_worldgen, for the definitions of cast iron and wrought iron. Make the use of cast iron conditional on technic_worldgen, falling back to default "steel". Change the use of wrought iron to directly use default "steel", to which it is aliased anyway.
2014-07-26Make technic_worldgen loadable before technicZefram
There was a small amount of dependency of technic_worldgen on the technic mod, for configuration loading and the top-level "technic" table. Resolve that by sharing the configuration and top-level table between the two mods. This means that technic_worldgen can be loaded before technic, permitting other mods to depend on it without depending on technic.
2014-07-26Add centrifugeZefram
The centrifuge, currently only existing in an MV variety, is a machine that separates a mixed substance into its constituents. Currently the main use is to reverse alloying of metals. The alloy separation recipes intentionally only operate on the dust form of metals, making this less convenient than the original alloying. It also only recovers metal constituents, not the carbon that went into cast iron or carbon steel. This change incidentally generalises the technic recipe and machine infrastructure to handle recipes with multiple outputs. As unified_inventory's craft guide can't yet handle that, these recipes are not registered there.
2014-07-25Make outer layer of reactor structure optionalZefram
As the layers of reactor structure now have a practical purpose, in attenuating the modelled radiation from the core, it is no longer necessary to make so much of it mandatory in order to motivate players to build it.
2014-07-25Audible siren to warn of reactor meltdownZefram
The siren sounds a "danger" tone continuously while it is active and damaged, such that meltdown is imminent. It sounds a one-off "clear" tone if it has been sounding "danger" and the danger has passed, either because the structure is repaired or because the reactor has become idle.
2014-07-25Grace period before reactor meltdownZefram
The meltdown check now doesn't trigger meltdown immediately on reactor structure being compromised. Instead, there's a grace period of up to 100 s, during which the reactor can be repaired. The check doesn't just look at whether the structure is damaged at all: it looks at how damaged it is, counting the number of faulty nodes. The amount of damage is integrated over time, and the grace period is actually 100 node-seconds, so greater damage causes meltdown more quickly. If the active core is dug then it melts down immediately, preventing the tactic of digging the core to avert meltdown. Incidentally move the meltdown check into its own ABM, from the technic_run callback, so that it applies even when the reactor is not connected to a switching station.
2014-07-25Material-dependent radiation shieldingZefram
Radiation is attenuated exponentially by passing through shielding material. Radiation resistance values are assigned to all bulk-material nodes, and the radiation damage ABM traces the path of each radiation ray to count up the shielding. The relative radiation resistance values are essentially real, but the effectiveness of all shielding is scaled down by a factor of about 70 for game purposes. Strength of the existing radiation sources is increased by varying amounts to compensate for shielding. Uranium block and ore, both usable as shielding, are made slightly radioactive, the latter only very slightly.
2014-07-24Inverse square law for radiation damageZefram
2014-07-23Fix celeron55 creditZefram
2014-07-23Tweak corium light settingsZefram
Flowing corium appeared too dark.
2014-07-23Config setting to nerf coriumZefram
For use on servers that have a mainly creative purpose, the setting enable_corium_griefing=false will prevent corium from flowing far or unpredictably and from destroying nodes other than water. All reactor meltdowns will stay contained.
2014-07-23Better reactor meltdownZefram
Reactor `explosion' now replaces the reactor core with a corium source node. Corium is a new liquid, which flows a bit like lava, but has the additional feature of destroying nodes to which it is adjacent. It also randomly turns into a solid form, chernobylite, which makes an attractive building block. It thus gradually melts its way through the reactor shielding layers; a meltdown gets worse over time if not cleaned up promptly. The mechanism for an active reactor core to damage nearby players is generalised into a "radioactive" node group. Corium and chernobylite are radioactive, to varying degrees. Players receive a varying amount of damage from a radioactive node, depending on proximity. Staying outside a reactor cube is sufficient to be safe from the active core, but not sufficient to be safe from a melted core.
2014-07-23Improved can usageZefram
Make the use of cans more like the digging and placement of ordinary nodes, and specifically make it much closer to the use of buckets. The main change is that left-click with a can is now only used to take liquid; placing liquid is now done with a right-click. This makes the use of cans a lot less error-prone, compared to the old scheme of determining the operation based on the type of node pointed to. Other changes are that liquid placement is now permitted to replace any buildable_to node, and the cans obey node protection.
2014-07-23Genericise can logicZefram
Factor out the logic common to water and lava cans. Provide it in the form of a technic.register_can() function, which can be called by other mods to register cans for other liquids.
2014-07-23Tweak mesecon control of forcefieldZefram
Drop support for negative mesecon control. This requires users of negative mesecon control to invert their mesecon signal externally. Comment on rationale for the way toggle buttons in formspec are managed.
2014-07-23Fix mesecon control of forcefieldZefram
The code formerly attempted to make the forcefield emitter controlled both manually and by (inverted) mesecon signal, but the two interfered with each other. In particular, a newly-placed emitted would be informed that it was getting no mesecon signal, and would therefore enable itself. Fix this by adding explicit modes for how the emitter will respond to mesecon signals: ignore them, obey them positively, or obey them negatively. The manual control could have been incorporated into this mode setting by having two "ignore mesecon" modes: always-enabled and always-disabled. But it seems more useful to have a separate manual master switch, so that the emitter can be manually disabled without losing the mesecon mode. So it is now implemented that way.
2014-07-23Better chest color button layoutZefram
Where possible (which it currently is for the gold chest), don't break the centering of the player inventory in the chest formspec because of the color buttons. Where the color buttons don't fit next to a perfectly centered player inventory (which doesn't currently occur for any technic chest), move the player inventory only as much as necessary to accommodate the color buttons.
2014-07-23Bring wooden chest fully into the chest systemZefram
Re-register most aspects of default:chest and default:chest_locked, using the technic chests code, so that the wooden chests fit properly into the sequence of chest types. This mainly affects the formspec, which now uses the style of the other chests, rather than the bare style used by the default mod.
2014-07-23actually make the reactor core melt down when it shouldVanessa Ezekowitz
(turns into a lava source, boils away the surrounding water)
2014-07-23don't attempt to force-load blocks if they're already loaded.Vanessa Ezekowitz
2014-07-21Remove dependency on moreores that was accidentally left in placeShadowNinja
2014-07-21Clean up constructorShadowNinja
2014-07-21Remove swap_node compatability codeShadowNinja
2014-07-21Add hack for uninitialized players in flashlightShadowNinja
2014-07-21log_mod -> log_mods and get setting as booleanShadowNinja
2014-07-20Remove mods that aren't strictly required from depends.txtShadowNinja
2014-07-18Merge pull request #152 from goblin/coal_alloy_return_buckethdastwb
alloy furnaces and generators should not eat fuel buckets
2014-07-19also return buckets with generatorsgoblin
... and in the `smelt_item` function, even though it seems unused
2014-07-18coal alloy furnace to return the bucketsgoblin
2014-07-14Fix drill recipeZefram
It was attempting to get the copper ingot from the wrong mod.
2014-07-14Fix supply converter againNovatux
2014-07-13Fix problem with supply converter producing energyNovatux
2014-07-12Fix crash with supply converterNovatux
2014-07-12Make unconnected generators burn the fuel they still have.origin/network_rewriteNovatux
2014-07-11Make switching station run all machines it is connected to, including those ↵Novatux
in unloaded blocks.
2014-07-10Increase prospector's charge capacityZefram
The low capacity of the prospector turned out to be annoying, while the other limitations do not substantially detract from fun. Also adjust recipe to include a blue energy crystal, to explain the source of the charge capacity.
2014-07-09Better ingot texturesNovatux
2014-07-09Tweak energy crystal recipesZefram
Use silver instead of gold in the recipe for the red energy crystal, and mithril instead of gold in the recipe for the blue energy crystal. This provides more appreciable steps in the expense of the upgrades, which were too similar, and in particular makes the blue energy crystal less ridiculously cheap.
2014-07-09Rework some recipes to use more varied ingredientsZefram
2014-07-09Exclude technic:nothing from creative inventoryZefram
2014-07-09Vary cable insulation type with tierZefram
LV cables are now paper-insulated, rather than uninsulated (which made no sense). MV cables are rubber-insulated as before. HV cables are now plastic-insulated (which they already visually appeared to be). MV and HV cables are still crafted by adding insulation onto lower-tier cable, rather than by insulating raw copper; this matches the way machines are upgraded between tiers rather than crafted afresh.
2014-07-09Remove duplicate cable texturesZefram
Some of the technicx32 cable textures were just duplicates of the standard-resolution textures.
2014-07-09Fine gold and silver wire itemsZefram
Not used in any recipes yet.
2014-07-09Tweak supply converter recipeZefram
The casing is now in the center of the grid, as it is for all other machines.
2014-07-09Consistently use cable in electric machine recipesZefram
All electric machine recipes now include cable of the appropriate tier as the bottom-middle ingredient, immediately below the casing ingredient. Many LV machines were using a copper ingot in that location.