Hi. The relevant events that generate saint bloodlines are included in the event file HF_sainthood_events.txt (in the /events/ folder).
These are the commands that I suggest to keep in mind to mod your own saints:
* "remove_trait = "beatified" and "add_trait = saint": straightforward. The saint trait handles the halo on character portraits.
* "set_special_character_title = SOMETHING", where SOMETHING is a string defined in a localisation (.csv) file (in the /localisation/ folder). Strings used in the game include SAINT_TITLE and SAINT_TITLE_FEMALE. String names are case-sensitive but don't need to be capitalized.
* If you want to create an unique bloodline type, it belongs in the /common/bloodlines/ folder.
* "create_bloodline = { type = something }", where something is your bloodline type (can be an existing bloodline type or a new one you created). When creating a bloodline, you can give the bloodline a religion, a society and/or an inheritance (matrilineal or patrilineal). If the bloodline has a religion, characters of the same religion can view the bloodline from the saints window in the religion tab.
* The "new_bloodline = {}" scope will allow you to edit the last bloodline you just created. The bloodline's name and description are fixed with the "set_name = SOMETHING" and "set_description = SOMETHINGELSE" commands, where SOMETHING and SOMETHINGELSE are strings defined in a localisation file. String names are case-sensitive but don't need to be capitalized. Setting a name or description makes it static. Without these commands, the bloodline uses the default name or description for its bloodline type but the localisation is not static. In an event chain, you can use if/else to set names and descriptions based on a specific trigger, but this is not necessary if you intend to use a customizable localisation (see below). You should definitely make the description static if you want it to reference an event target (such as "Canonized by XXX").
* Alternatively, localisation can depend on triggers by defining a customizable localisation in a new file of the /localisation/customizable_localisation folder. Examples of this can be found in the 05_customizable_localisation_st.txt file. The trigger is checked when a name or description becomes static or, for a non-static name or description, the trigger is checked each time the string appears on-screen. Non-customizable localisation is fine for historical figures who are dead at game start.