Would the following reaction work?
[REACTION:WOOD_GROW]
[NAME:grow wood]
[BUILDING:WOOD_PROCESSING:CUSTOM_B]
[REAGENT:wood:1:WOOD:NO_SUBTYPE:NONE:LOCAL_PLANT_MAT:WOOD][PRESERVE_REAGENT]
[PRODUCT:90:1:WOOD:NO_SUBTYPE:GET_MATERIAL_FROM_REAGENT:wood:WOOD_MAT]
I just want a double-check, plus maybe some pointers.
Nope.
First of all, I want to make sure I'm understanding what you want the reaction to do. It takes a wood log, then has a 90% chance of producing an additional wood log of the same material while returning the original log, correct?
Honestly, why 90%? The reaction will complete pretty much instantly with no skill requirement, so is there much of a purpose to setting it to 90% instead of 100%?
I'm going to assume you've already created your own WOOD_PROCESSING workshop, since that's where you've pointed this reaction to take place.
For [REAGENT:wood:1:WOOD:NO_SUBTYPE:NONE:LOCAL_PLANT_MAT:WOOD], there are several errors.
The WOOD:NO_SUBTYPE (or NONE instead of NO_SUBTYPE - I prefer NONE as it's shorter) is fine. The material section is where it gets wonky. You have an extra NONE at the beginning, then use LOCAL_PLANT_MAT:WOOD - but you can't use LOCAL_*_MAT in reagents. Something like PLANT_MAT:OAK:WOOD would work (but restrict you to only oak logs) but you can't use LOCAL_PLANT_MAT because your reaction doesn't know what plant is the local plant.
My suggestion would be [REAGENT:wood:1:WOOD:NONE:NONE:NONE] as this allows logs of ANY material to be used. As long as you don't have custom reactions making logs out of soap or something this should work fine.
For the product, did you add a [MATERIAL_REACTION_PRODUCT:WOOD_MAT:<blah>] to the wood material? If not, this won't work. Also, since you're just copying the material of the reagent (my assumption) then there's a much easier way to do this - [PRODUCT:90:1:WOOD:NO_SUBTYPE:GET_MATERIAL_FROM_REAGENT:wood:NONE]. That says to just take the material of your reagent called wood. When you change the last bit to something other than NONE, you're telling the game to look for a MATERIAL_REACTION_PRODUCT called whatever you put at the end in the material of the reagent used. This is handy for changing one material to another (for example, linking fat to tallow) but totally unnecessary when you're keeping the same material.