Pregnancy Ranks (Factions)¶
Tracked actors (those in FW.SavedNPCs) get their ParentFaction rank updated when their state changes. You can read this rank to drive animations (OAR/DAR conditions) or other external logic without any scripting.
- Rank is set to the actor's current
FW.CurrentStatevalue. - Recovery (
FW.CurrentState=8) is mapped to-1in the faction rank. - If no valid state is present, rank is set to
-2.
Rank (as read from ParentFaction) — Description — State ID:
| Rank | Description | State ID |
|---|---|---|
-1 |
Replenish (recovery) | 8 |
0 |
Follicular | 0 |
1 |
Ovulation | 1 |
2 |
Luteal | 2 |
3 |
Menstruation | 3 |
4 |
1st Trimester | 4 |
5 |
2nd Trimester | 5 |
6 |
3rd Trimester | 6 |
7 |
Labor Pains | 7 |
Papyrus example:
Faction ParentFaction = Game.GetFormFromFile(0x008448, "BeeingFemale.esm") as Faction
int state = ParentFaction.GetFactionRank(SomeActor)
Tip
This is exactly how the bundled P.A.I.A patches gate their pregnant idles — e.g. "rank >= 5" plays a 2nd-trimester-onward animation. See Add-on Framework → Bundled Optional Patches.