Sorry about the late reply, I haven't been visiting the site daily lately.
The learn_recipe bit field was basically envisioned to work in the following way. The lower half-byte is used to decide how the recipe is available (0 - only skill limits, 1 - quest system has to make it available, 2 - user experiments or quest system makes available), while the upper half-byte holds actual flags you can add freely to the lower setting. (0x10 - suppress the learn message, 0x20 - don't return the recipe for favorites and general recipe searches).
So, as an example, you could set must_learn to 0x31, which should mean that there is no learn message given, the recipe can't be searched for, and it has to be made available via the quest system.
That means there's a learn message for 0x00 for cases where a manual combine is made for a red recipe, basically. I didn't limit it to just those though since I was under the impression that the message was also there any time you made a combine for the first time. I could well be mistaken about that though.
I've since come to understand that currently this also gives learn messages for quest combines. I've been meaning to compile a list to update those with the 0x10 flag, but something else has always kept coming up.
I've also forgot to check for the suppression flag in LearnRecipe, now that I've looked at the code again. Or I was thinking you'd only call that if you actually wanted the user to see a message anyway. Either way, it's inconsistent.
Since I need to fix the learn message flag for LearnRecipe anyway I can change or expand on that behavior, if you want. Just please let me know what you'd prefer.
|