Gauss said: J1n G1taxias said: [...] I'm still relatively curious why the ability to generate an NPC character sheet for the 5E sheet is not possible, but if this is the one luxury I'm not afforded with the API system, I believe I can live with that I think you actually should be able to, but it requires a bit more work. Unless I am mistaken (I am not a script guru) the API has to create the attributes before filling them out. I believe ChatSetAttr can do that. But, honestly, you would be doing a lot of work to do something that only needs to be done once and can be done just by copying the existing Drake from the compendium, or by doing it by hand. I'll echo what others have said that the specific functionality you're looking for sounds like it is probably better handled with existing mods -- but will just confirm that it IS definitely possible to create a new NPC character sheet via the API! You'd use the createObj() function first to make a new character, and then again to create the appropriate attributes for an NPC sheet, if they don't exist by default (depends on your campaign settings - if you set the default for new sheets to be NPCs it will exist). In 5e it is indeed "npc" with value 1, which is usually triggered by the event of toggling the sheet type in the options as Gauss said, but it can also be done by the API or even manually in the "Attributes & Abilities" tab. If you don't see the attribute there, you can just click "+Add" at the top next to Attributes and type in npc for the name. The sheet doesn't know or care how it got there, if it sees that there is an attribute npc with value 1, it will transition to NPC style (or back to PC if you set it to 0). This is usually true of 'hidden' attributes that only appear when something else on the sheet triggers them -- if you know the syntax and create an attribute with the exact name, it should behave the same as if it were made automatically. In actual code I'd include a findObjs() check first to make sure you aren't duplicating things that already exist, only creating these if it returns undefined, but you could do something like this: var obj = createObj('character', {name: 'Drake Companion'}); createObj('attribute', {name: 'npc', current: 1, characterid: obj.id});