# Fame Comment Plus

An ESL-flagged ESP prototype that adds male NPC `Hello` comments, including contextual lines about the player's revealing outfit and Fertility Mode pregnancy.

## Required masters

- `Skyrim.esm`
- `SexLabAroused.esm` (SexLab Aroused Redux/Baka-compatible API)
- `Fertility Mode.esm`
- `Advanced Nudity Detection.esp`
- `SLSFFameComments.esp`

## Prototype behavior

- Polls the player every 50 seconds.
- Contains a disabled debug notification that can report revealing, outfit-keyword, and pregnancy states after each scan.
- Uses Advanced Nudity Detection factions and revealing outfit keywords.
- Adds 1 SLA exposure per poll while a revealing/keyworded outfit is detected.
- Detects all three Fertility Mode pregnancy trimester effects.
- Uses mixed speaking-NPC SLA arousal requirements: some sexual lines are unconditional, while others require ranks 10, 20, 25, or 30.
- Restricts speakers to playable humanoid races and explicitly requires `IsChild == 0`, excluding creatures and children.
- Enables random male-only `Hello` comments with per-line reset intervals. Two general compliments have no response-level context condition.
- Uses dialogue-topic priorities 50–55 after lowering every topic by 30; pregnancy comments remain five points above the general pool.

The dialogue includes general compliments, pregnancy/context lines, outfit-specific lines, NPC-arousal lines, and three top-level activation-only SexLab choices whose visible text is the player's reply. Those choices use mixed arousal gates (none, 10, and 25), and the speaking actor must match the quest's `LastCommenter` alias recorded by `FCP_TIF_MarkComment`; they do not offer an extra sex-act submenu. Individual INFO records have no `ResetHours` cooldown; repetition is governed by Skyrim's normal dialogue cooldown and selection rules.

Four scanner globals distinguish ass exposure, chest exposure, miniskirts, and panties/thongs so scenario-specific lines do not rely on the generic revealing flag. The 32 additional INFOs (`00083F`–`00085E`) are voiced for all supported voice types.

`LastCommenter` is intentionally an **optional** alias because it begins empty and is filled only after an NPC comment plays. Do not change it to a required alias (`Flags: []`): doing so prevents the Start Game Enabled controller quest from starting and disables all autonomous Hello comments. Its script property must continue to reference quest `000800:FameCommentPlus.esp`, alias `1`.

The installable mod folder also includes two separate ESL compatibility plugins: `SexistGuard-fcp-patch.esl` and `slsf-fame-comment-fcp-patch.esl`. They remain separate plugins and must load after their respective source plugin and `FameCommentPlus.esp`. The Sexist Guards patch adds the three FCP player sex-offer responses to 40 selected low-condition Hello INFOs across four source topics; the SLSF patch covers six source INFOs.

## Voice-generation status

Future voice generation uses the installed xVASynth application only. XTTS, Coqui, PyTorch, and TorchCodec are not part of this project workflow.

The mod currently contains 62 dialogue responses packaged for 28 male Skyrim voice-type folders (1,736 FUZ/LIP pairs). The files use the Creation Kit dialogue stem (`quest_topic_INFO_response`) under `sound/Voice/FameCommentPlus.esp/` and are deployed to MO2 alongside the rebuilt plugin/scripts.

## Tool commands

From this directory, `npm run build` rebuilds the ESP from Spriggit YAML, `npm run validate` performs the round-trip check, and `npm run deploy` copies the installable tree to the path in `deploy-to-mo2.txt`. `npm run build-deploy` runs the build and validation sequence without deploying.

Standalone Skyrim audio tools are kept in `../tools/` (`LipGenerator`, `FonixData.cdf`, `LIPFuzer`, and `xwmaencode`).
