Edit: Just had an epiphany with those "useless" drugs. Would it be possible to use drugs via syndromes that give positive moodlets? Lessening stress and increasing positive moods?
Syndromes can cause thoughts, and thoughts affect stress. It is straight forward to add reactions that let a pony "consume" a drug in exchange for long duration syndrome induced thoughts, as well as whatever other side affects you want. I would also suggest doing this for mint-als that aren't mixed with other drugs - aside from NOEXERT they don't do much in combat, but giving them to an armorsmith to boost armor quality for 6 months would be nifty.
So, I went through the griffon and Unity (aka Alicorn) creature files and found that they did have FLIER, but they weren't bracketed, meaning they weren't enabled.
I unbracketed (and thus disabled) the FLIER tag on griffons and alicorns. FLIER does not play well with invaders or visitors, and I am reasonably sure there is no way around it. You can either have flying griffons and alicorns, or you can have siegers that don't hover above the map edge forever and a map that isn't littered with "stuck" visitors 5 tiles above the ground. You can't have both. After playing a few test forts with FLIER enabled on them, I opted for the choice that wasn't
incredibly obnoxious. I am going to add a note to the griffon and alicorn RAWS explaining this, but otherwise I wouldn't recommend changing anything. It just gets too damn annoying.
If we are incredibly lucky then Toady will fix flight as part of his next update (because the same issue also affects mounts, and Toady is doing stuff with them). Otherwise, flight will remain borked for the forseeable future. Probably until the magic update (i.e. 2-3 years). It is a shame too, I would like to add (rare) Pegasus wastelanders to account for the (very rare) birth of a pegasus from non-pegasus parents (which is a thing if I remember correctly), but there isn't a point if I have to disable their flight or leave them broken and annoying in fortress mode.
I think that FLIER is bugged for fortress citizens, which is probably why it was disabled. I'd recommend re-disabling it.
I don't remember any problems cropping up with griffon mercenaries once their petitions were accepted, but it wouldn't surprise me if there were a few more obscure bugs waiting to be stumbled upon in addition to all the really obvious siege/visitor breaking bugs.
I was a bit confused but fixed it, and then went through all of the creature raws and found that all of them had tags that weren't bracketed, most of them were Personality tags, and also gave [FLIER] to all the appropriate things that needed them (like Pegasus Ghouls).
There are a whole bunch of little things that have been disabled via unbracketing. Most of them weren't me, and I have no idea why a lot of them are there, besides a desire to preserve functioning code.
As for ghouls, am I missing something? There is a [FLIER] token just underneath every Pegasus Ghoul's BODY definition.
In other news, I got around to integrating those drugs of yours. I haven't tested much beyond some very basic stuff, but here is some feedback from my !!Debugging!! session and a bit of testing, as well as a couple of other observations.
Check errorlog.txt in the main DF folder. If it gets created after loading a world/arena mode, you screwed something up. Read through it and fix up whatever the errors refer to. Once you think you have fixed the errors, delete errorlog and if everything works fine it should not reappear. Be aware that not all errors will go to errorlog - some problems caused by bad reaction tokens, for example, silently fail and then produce weird things like material-less items and randomly selected tools (I will come back to bad reaction tokens later). Sometimes the error log gets filled up with stuff from actual play (pathing failures and the like) - AFAIK these errors aren't my or your concern.
You want BP:BY_CATEGORY:ALL:BRAIN or something similar, not BP:BRAIN (ditto with BP:HEART). BY_CATEGORY:ALL refers to what body part category you are affecting, and BRAIN is what kind of tissue. BY_CATEGORY:ALL:BRAIN means any part of any body part that is made of brain tissue (there are other ways of writing BP tokens targeting the brain, but in any case BP:BRAIN won't work).
Hearts don't do anything. Seriously, they are just organs that bleed a lot when stabbed. On occasion you can get wacky things like doctors amputating rotten hearts, and this improves the patient's survivability in fights. Consequently, impairing the heart does literally nothing.
A Brain does do something, but impairing function on them just inflicts full body paralysis (like breaking the spine, although they might not be able to bite as well, I didn't check). Funnily enough, even 5000 SEV doesn't do to this to a pony - you need 10000 SEV just to temporarily semi-incapacitate them. The only way this is lethal is if you paralyze them long enough for them to suffocate, and a simple gas mask protects against even that. I am not sure you would want to make celestia's tears lethal though. I am still not convinced that anything short of turning a single pony into a solo siege wrecking monster is worth making a drug that kills it's user after 1 use, and this mod is already complex enough without adding useless stuff.
Cheer propensity is spelled cheer propensity, not cheer prospensity. Also, NO_SLEEP has an underscore(_). Errors like that are very easy to make, which is why errorlog.txt is your friend.
[USAGE_HINT:ATTACK] doesn't play well with self use interactions. It looks like that was already there for some pre-existing drug interactions so you presumably just copied an old bug, but still, the more you know.
Standard whitespace conventions for RAW tokens is each indentation is 1 tab. In your organic syndrome file (where the permanent autoinjector equipment syndromes are), the first level of indentation was 3 tabs. Consistent code style is important.
The availability of several key ingredients in your new drug additions is rather...non-existent. Precog stuff and mint tablets cannot be made, are required in substantial quantity to produce even one unit of drugs, and are barely ever dropped by salvage. I am probably going to make precog stuff available from the chem lab by using level 1 gems. Mint tablets can be cut entirely. This stuff is being done at a chemistry lab. If a minty flavor is really that important, the reaction worker can go synthesize some menthol while they are at it.
When it comes to the items defined in reaction reagents/products, the format is ITEM_TYPE:SUBTYPE:MAT_TYPE:MAT. Pretty much anything that isn't defined explicitly in the RAWs as an item has no item subtype. For plant or animal materials, the mat type has two components (e.g. PLANT_MAT:GRAPE) and MAT refers to the specific material defined in the plant/animal (and NONE means "anything is accepted" for a reagent or "defined in the material through item_reaction_product or similar" for a product). To pull an example out of reaction_chemistry_lab, [REAGENT:grape:3:PLANT:GRAPE:NONE:NONE] would be correctly expressed as [REAGENT:grape:3:PLANT:NONE:PLANT_MAT:GRAPE:NONE].
Sparkle Cola is a drink, not a plant. You have to use the drink type, and have a container as a preserved reagent. See Steady production in the chem lab as a good example of how to do this.
Setting aside the bad reaction tokens, I have no idea how rubber was supposed to work. The only way you can get any rubber tree material at all is by cutting down a tree, which only gets you wood logs.
Using stuff that is only available via specific kinds of trees means that those reactions will almost never get used. There aren't that many kinds of trees on an embark compared to the total list of trees, so you might get 1 in 10 stables able to make orange mint-als, for example.
Anyway, on this end I started a test fort to double check that drugs work, and ended up finding a whole bunch of bugs here and there, trying a new flamethrower interaction to replace the old one that is more lethal for it's operator than the target, debugging a problem with dfhack's siege-engine, fending off a few sieges using both conventional troops and turret pillboxes and generally testing most parts of the system in one way or another. I still have a few more things I want to do, among them resizing reactions+scripts so griffon mercs can carry battle saddles, catagorizing a lot of reactions and possibly redoing the autoinjector system so individual autoinjectors use the same item but have different materials to distinguish them (to cut down on obnoxious item bloat in the squad equipment selection menu), but
eventually I will be tossing out another release.