Do you mind when I am implementing some changes into the materials/reactions?
Nope. Go to town. Even if I didn't like something you did, I would just change it back on the worlds I genned, so no big deal.
That said...
1 Pyrosulite + 1 Native Aluminum yields 1 Manganese and 1 Bauxite => however, I modded Bauxite so it yields 50 % Aluminum and 50 % Iron. So the loss isn't that big. => To compensate that, I might amend it to 2 Pyrosulite + 2 Native Aluminum yields 1 Manganese, 1 Bauxite and 2 Iron Slag or something like that.
I thought it yielded 4 manganese bars and 1 bauxite stone?
Anyway, the "loss" is turning super-expensive Aluminum into pretty-cheap Manganese. Your proposed change doesn't really remove that.
Re iron: The Manganese smelting reaction basically uses pure Aluminum to "steal" oxygen from manganese dioxide, producing aluminum oxide and pure manganese. The bauxite stone is basically aluminum slag. There's really no iron involved here (neither native aluminum nor pyrolusite contains any), so maybe in your world---where bauxite contains significant iron---it would be better to make the reaction produce normal slag instead?
If you do make bauxite an iron ore, I would suggest changing it to yield 100% Al and 20% Fe (similar to how Tetrahedrite works). Then you'd expect about one bar of iron for every bauxite stone, in addition to the 4 normal Al bars you made. Or if Al-smelting is a multi-step thing, maybe have the first step produce an iron slag with 50% probability (and normal slag the other 50% of the time), like how Dark Iron works?
You used several times environment codes with frequency > 100 like with Tennantite:
[ENVIRONMENT:METAMORPHIC:VEIN:150]
[ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:120]
Does this really work? According to the wiki, the frequence ranges only from 0 to 100.
http://dwarffortresswiki.org/index.php/DF2014:Inorganic_material_definition_token
May I ask, what's your source for frequency and environment locations of the minerals?
Heh. That might explain some of the stranger results I saw while tweaking. I had the impression that larger numbers were more rare (like mineral frequency in world-gen). All the frequencies were hand-tuned by genning lots of worlds until the mineral balance seemed sane.
I can say with some certainty that numbers < 50 also act strangely, which doesn't help efforts to balance things.
Dark Pig Iron uses following ingredient:
[REAGENT:B:1:BOULDER:NONE:NONE:NONE] "sealed in a clay crucible"
[HAS_MATERIAL_REACTION_PRODUCT:FIRED_MAT]
What does fired_mat mean? Which boulders are taken for the reaction?
That's the magic incantation for Clay. There are 4-5 varieties of clay (see inorganic_stone_soil.txt), and reactions can identify them because they're tagged with the reaction class FIRED_MAT. Just be careful, porcelain-producing clays also have that tag, so you could make a very expensive crucible if you're not careful
Nickel-Iron has nearly the same formula as Nickel Pig Iron, which I have already implemented so far. The big difference is that nickel pig iron can only be used for Nickel Steel production (same as Standard/Vanadium/Niobium/Cobalt Pig Iron). So more uniform will be Nickel Pig Iron. However you brought good arguments to make it actually useable. One of both needs to be cut out to avoid dupes. But for now I am not sure, which one.
Pig iron, aka cast iron, has high carbon content that makes it completely non-malleable. It's primarily useful as a way to introduce a controlled amount of carbon into steel (producing high-carbon steel, which is very strong but still malleable). I don't see any reason you couldn't have a nickel pig iron, but it's not clear you need it. The impression I got from my research is that good Nickel Steel has fairly low Ni content (3-9%) where nickel iron (= meteoric iron) would have more like 15-20% Ni content. So "1 Pig Iron + 1 Nickel Iron + 1 flux = 1 Nickel Steel" would seem very reasonable, with no need for a Nickel Pig Iron.
Note that nickel steel is largely used for cryogenic applications in real life, though, because it's not really stronger than normal steel---it just maintains its fairly normal properties at abnormally cold temps that would make almost any other metal/alloy weak and brittle. DF doesn't have temps anywhere near that cold, so I hadn't put a Nickel Steel alloy in my mod (Nickel Iron is much better than plain iron, so it did make the cut). Then again, my Royal Steel alloy actually has quite a bit of Nickel, in addition to the Manganese (the two supposedly complement each other nicely). So maybe Royal Steel and Nickel Steel should just merge in your mod.
I really like the idea of slag as waste product and that the higher quality iron slag can be recycled.
It was kind of a "well, duh" moment for me also when I realized vanilla DF didn't have slag---I grew up in a town with a steel mill, and the giant slag heaps were a major feature of the installation.
The upload includes a dfhack script you can run to tally up how much of every mineral exists in a world
What's the dfhack command to activate the script? And when to use it. Already in the world creation screen or at the embark screen?
[DFHack]# lua
[lua]# dfhack.run_script('devel/count-all-veins')
You can use it any time a map is accessible (which includes embark site selector and even active games), but the most convenient time is during world gen just after history starts unfolding. Year 1-5 is plenty. If you run sooner than that you could scan the map before all the minerals are placed, or analyze a region that ends up being rejected... which can really throw off the reported numbers.