Download the Cyberware Implant Template from the Cyberware page. This a barebone, heavily commented template, which can be used as a base for a new implant. It adds the Superman implant (buffs Strength, Endurance and Perception), located in the Goodsprings Schoolhouse near the terminal.
Start with CWxTemplateInitQuestScript. The implant is initialized solely with scripts (excluding placing a world item). This way, there will be no need for patches.
In order to test your implant, call the surgery dialog using console command setstage xx004799 1, where xx is a mod index of Cyberware.esm. You’ll need caps as well (player.additem f 30000).
How to make an implant from scratch
1. Create a MISC item, representing the implant’s world object (CWxTemplateImplantMisc in the template; all Editor IDs in your mod can be your own).
2. Create a BOOK, it contains implant’s description (the DESC attribute), HUD icon (ICON) and popup title (FULL). Other attributes do not matter. (CWxTemplateImplantInfo in the template).
3. Create a PERK, which will be added or removed with the implant. Even if you won’t use perk entrypoints, create an empty perk. (CWxTemplateSupermanPerk)
4. Now we have to link the BOOK with the MISC. For that, add the MISC into the CWxTemplateImplantMisc form list, and the BOOK into CWxImplantsDescList from Cyberware.esm. They must be on the same position (!). The easiest way is to override the formlists, but this would make patches for other people’s implants mandatory! Instead, use scripts.
5. Create a UDF script, which will add or remove your PERK (CWxTemplateUpdatePerk).
6. Make a quest with “Start game enabled” checked, set delay to a low value like 0.1 (CWxTemplateInitQuest). Make a quest script and assign it to the quest (CWxTemplateInitQuestScript). I got my bootstrap technic described in CWxTemplateInitQuestScript, feel free to change it, it’s your mod.
7. Basic implant requires four steps to bootstrap it:
a) link BOOK item to MISC,
b) assign it to a body part,
c) mark it as unique, if it can’t be installed multiple times,
d) add your perk-toggling script to the CWxImplantsWorkerList form list.
See CWxTemplateInitQuestScript for how it’s done.
8. If you need to set some event handlers or do some stuff on game load, create a UDF and add it to CWxOnGameLoadList (OPTIONAL CWxTemplateUpdateTriggers).
9. Place your implant somewhere in the world for users to find.