Skip to main content

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​

Stat Repository: Repository_VisualNovel_VN
  • Stat_Affection(SrcSep)_VN—Int, one value per speaker
  • Stat_Anger(SrcSep)_VN—Int, one value per speaker
  • Stat_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: Effect_RudeRemark_VN
Target Stat:Key_LoveImmune(SrcSep)_VN
Value:1
Effect: Effect_Compliment_VN
Target Stat:Key_Affection_VN
Value:2

LoveImmune(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: Effect_Insult_VN
Target Stat:Key_Anger(SrcSep)_VN
Value:3
Effect: Effect_Apology_VN
Target Stat:Key_Anger(SrcSep)_VN
Value:-3

The 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: Effect_Gossip_VN
Target Stat:Key_AngerAt_TriggerActor_VN
Value:2

The popups that show each change come from a Feedback Processor (BSFeedback_VisualNovelStatChange) in the Add_Int chain.

info

You can import Visual Novel (VisualNovelSrcSep) from Power Editor → Initializer → Sample Importer (open the Power Editor from Tools → Power → Editor).