Visual Novel
Visual Novel (PowerSamples/VisualNovelSrcSep) is a short dialogue scene built on Source Separated Stats: Stats that keep a separate value per Actor that caused them.
Mira listens to two speakers, Alex and Bora. Her feelings are not one number: she keeps a separate Affection, Anger and Love Immune value for each speaker, so what Alex says changes how she feels about Alex, and nothing about Bora.
Press Play, pick a scenario at the top of the screen and step through it with Next. The Mira → Alex and Mira → Bora cards show her per-speaker values; her own panel shows the Affection total.
Mira's Stats
Repository_VisualNovel_VNStat_Affection(SrcSep)_VN—
Int, one value per speakerStat_Anger(SrcSep)_VN—
Int, one value per speakerStat_LoveImmune(SrcSep)_VN—
Int, one value per speaker
Every line a speaker says is an Effect whose Source is that speaker. The Source Separated Stat routes it to the speaker's own inner Stat.
Scenarios
1. Per-speaker immunity
A rude remark makes Mira immune to that speaker's charm: from then on that speaker's compliments stop working, while the other speaker's still land.
Effect_RudeRemark_VNKey_LoveImmune(SrcSep)_VN1Effect_Compliment_VNKey_Affection_VN2LoveImmune(SrcSep) is read by the Immune Preprocessor (Preprocess_LoveImmune) on Affection. Its Process Scope is One Actor / Source, so the Preprocessor reads only the copy that belongs to the speaker of the current line.
2. Anger toward the speaker
An insult raises Mira's Anger at that speaker; an apology lowers it again.
Effect_Insult_VNKey_Anger(SrcSep)_VN3Effect_Apology_VNKey_Anger(SrcSep)_VN-3The compliment line, ComplimentLine, is a Conditional Effect. It checks Mira's Anger through the SrcSep key AngerAt_Source (Anger, the copy of the line's Source): above 2 (Condition_GT2(Int)_VN) she scoffs (Scoff, Affection −1) instead of blushing (Compliment).
3. Gossip about someone else
Bora talks about Alex. Gossip targets the SrcSep key AngerAt_TriggerActor, so the Effect's Source is Bora but the copy that changes is the one for the Trigger Actor, Alex: Mira gets angry at Alex.
Effect_Gossip_VNKey_AngerAt_TriggerActor_VN2The popups that show each change come from a Feedback Processor (BSFeedback_VisualNovelStatChange) in the Add_Int chain.
You can import Visual Novel (VisualNovelSrcSep) from Power Editor → Initializer → Sample Importer (open the Power Editor from Tools → Power → Editor).