Numen - AI NPCs for FNV

NVSE event reference

21 July 2026, 08:44  |  Posted by Eddoursul  |  19 views
Numen registers a set of custom NVSE events that let other mods and quest scripts drive NPCs: make an NPC speak a line, trigger an LLM comment, ask a question, recruit/dismiss, park the party, open the gift box, or hook into scene events. This page documents every event and how to call it.

How to dispatch an event

All events are dispatched on an actor reference with NVSE's DispatchEventAlt. The calling reference is always the target NPC.


From the console, selected actor ref:
DispatchEventAlt "NumenSpeak"

From the console using their ref:
someActorRef.DispatchEventAlt "NumenAsk" "How are you feeling?"

From a script (GECK / Script Runner):
someActorRef.DispatchEventAlt "NumenRecruit"

Speech and AI events

NumenSayLine / NumenSayLin2D
Generates TTS audio and plays a voice line with lip sync and subtitles on the calling actor. The text is spoken exactly as written — no LLM involved.
ref.DispatchEventAlt "NumenSayLine" "Hello, how are you?"
NumenSpeak / NumenSpeak2D
Triggers a full LLM query for the calling actor. The NPC's personality, memory, recent events, and scene context are assembled into a prompt; the response is spoken and any actions in it are executed.
ref.DispatchEventAlt "NumenSpeak"
No parameters — the NPC decides what to say from its own context. Refused while the actor is in combat (teammates are exempt), dead/dying, or while the AI agent is already busy; the auto-comment cooldown also applies.

NumenReact / NumeReact2D
Same as NumenSpeak, but you supply the instruction the NPC reacts to. Lets a quest script steer the angle of a comment without involving the player.
ref.DispatchEventAlt "NumenReact" "Comment on the crowd around you."
ref.DispatchEventAlt "NumenReact" "React to the smell in this room."
The auto-comment cooldown is not enforced — this is a deliberate script dispatch, not an idle bark.

NumenAsk / NumenAsk2D
Sends a player question to the NPC through the LLM — the same path the in-game text prompt uses. The question is recorded in the NPC's memory so the model sees it in context.
ref.DispatchEventAlt "NumenAsk" "What do you think about this place?"
If the query fails or is preempted, the question is retracted from memory as if never asked.

Two slash commands are intercepted before the LLM and handled directly:
  • /hire — recruit the NPC as a companion (same as NumenRecruit).
  • /fire — dismiss them (same as NumenDismiss).
Any other /-prefixed input is dropped without being sent to the AI.

NumenPrompt
Opens the AI text-input widget targeted at the calling actor — the same prompt the Grab key and the companion wheel's Talk button open. Whatever the player types is dispatched back as a NumenAsk.
ref.DispatchEventAlt "NumenPrompt"

Companion management events

NumenRecruit
Makes the calling actor follow the player as a Numen companion.
ref.DispatchEventAlt "NumenRecruit"
No parameters. Safe to call on an actor that is already following — it re-applies idempotently.

NumenDismiss
Dismisses the calling actor from the player's party and reverses everything NumenRecruit set up.
ref.DispatchEventAlt "NumenDismiss"
No parameters. Does nothing if the actor is not currently a teammate.

NumenWait / NumenStopWaiting
Switches the calling recruited follower into wait mode, or releases them from it.
ref.DispatchEventAlt "NumenWait"
ref.DispatchEventAlt "NumenStopWaiting"
No parameters. Only affects Numen-recruited followers — no effect on vanilla companions like Boone or Veronica and on non-followers.

NumenWaitAll / NumenStopWaitingAll
Same as above, but for every recruited follower at once. Global events — no calling reference required.
DispatchEventAlt "NumenWaitAll"
DispatchEventAlt "NumenStopWaitingAll"
No parameters. Vanilla companions are not touched.

Intended for quest scripts that must park the whole party in one call, e.g. entering a simulation cell (Tranquility Lane, Anchorage). Pair the two on entry and exit.

Events dispatched BY Numen (subscribe-only)

NumenSexStart
Fired by the plugin (not meant to be script-dispatched) on the NPC actor when a sex scene is ready to begin.
SetEventHandler "NumenSexStart" MyHandlerUDF
No parameters. The calling reference in your handler is the target NPC actor.
Can be cleared by RemoveEventHandler and re-assigned to other script at runtime.

Comments