Here is the example of code required to properly add the "Black Latex" perk.
Code:
pc.createPerk("Black Latex", 0, 0, 0, 0, "Gives you delightful latex skin, but keeps you slightly more aroused at all times.");
pc.skinType = GLOBAL.SKIN_TYPE_LATEX;
pc.addSkinFlag(GLOBAL.FLAG_SMOOTH);
pc.createStatusEffect("Latex Skin", 0, 0, 0, 0);
if(pc.statusEffectv1("Latex Skin") < 3) { pc.addStatusValue("Latex Skin", 1, 1); }
//exclusive perk
pc.removePerk("Wooly");
// these will be needed if you want the perk to have story effect, revert via dollmaker, etc
flags.DOLLMAKER_LATEX_SKIN = [pc.skinType,pc.skinFlags,pc.skinTone,"black"];
IncrementFlag("DOLLMAKER_USE_SPRAY");
Now that's a single perk, and a rather complex one. Not all perks will be that complicated of course, but that means nothing as I still have to check for status effect interactions, check story interactions, check transformation interactions, verify there are no conflicting perks, etc. All that on top of the fact I DO NOT HAVE THE SOURCE CODE of the game (I have about 100MB of minified code), makes perks a massive rabbit hole I do not want to dive into.
I did not add the perk stuff in the old editor, so beats me how it works, but I doubt it took into consideration all the possible interactions. Doing perks poorly could result in:
1. Non functional perks, the perks are just there as a flag to tell the game you have some status effect/transformation/etc
2. Broken saves, the game saw a perk but did things that were not taken into consideration, so now you are stuck with the game crashing on load, when you talk to someone, or in an unwinnable/inescapable scenario.
3. Incorrectly implemented perks. It's always possible I missed an interaction somewhere and the perk works 95% correctly, but I missed something, see 2.
4. Annoyed people due to slow implantation. Unlike other changes this would not be done in a day, so people annoyed that I promised perks, but the perks are not done or the perk they want is not done or 1, 2, or 3. Better just not to tell you if I even am working on them (but seriously, I am not working on them).