Jump to content

7 Screenshots

About This File

Hard Blush

A soft bridge between Sex Attributes (FPA) and Scripted Face Tints (SFT) that makes the player character blush when arousal rises outside of sex, and again on orgasm.
Mod based on textures by Kziitd.


Features

  • Three-stage face blush (SFT headparts), duration scaled by arousal (~3 s at low arousal up to ~30 s at max)
  • Optional pink screen vignette, breathing SFX, and a short mouth-open MFG pose with the breath
  • Orgasm blush: face only (no vignette / sound)
  • No arousal-driven blush during sex (FPA sex state); orgasm still applies the face effect
  • MCM: toggle VFX / SFX / mouth, arousal gain threshold before the next blush, Reconnect to Sex Attributes for existing saves after updates
  • Soft dependencies (FPA / SFT need not be masters)


What to expect

- All three blush stages are applied in sequence as a short animation. Each stage always runs at full intensity; only the duration changes. Duration depends on the current Arousal value.

- Blush triggers when the Arousal stat increases. That can come from various mods (e.g. Perverted Mechanics, SA Helper), alcohol, or the steady arousal gain in Sex Attributes itself. To change how often blush appears, use the threshold option in the MCM.

- Blush does not run from arousal during AAF scenes—otherwise a rapid arousal climb would keep the face red for the whole scene. Instead, blush is applied on orgasm, including during AAF. The orgasm blush has no sound and no pink vignette, so it does not distract from the AAF scene.

 

 


For mod authors

Soft dependency on SA blush.esp (plugin filename must match your install). Replace 0x???? with the local FormID of the Hard Blush quest (xEdit / CK).

Start blush

papyrus
 
Form f = Game.GetFormFromFile(0x????, "SA blush.esp")
if f
    ScriptObject blush = f as ScriptObject
    if blush
        Var[] args = new Var[3]
        args[0] = 10.0    ; hold seconds at full blush
        args[1] = true    ; play breath SFX (+ mouth if MCM allows)
        args[2] = true    ; play vignette (if MCM allows)
        blush.CallFunction("StartBlush", args)
    endif
endif
 
 
  • One argument only: StartBlush(hold) — from scripts, defaults are breath + VFX on.
  • From console, omitted bools may become false; use StartBlushTest 20 or pass 1 1.
  • Face-only (like orgasm): StartBlush(30.0, false, false).

Stop / clear

papyrus
 
blush.CallFunction("StopBlush", none)      ; fade out
; or ForceClear if you exposed it — immediate strip
 
 

Events — is the player blushing?

papyrus
 
CustomEvent OnBlushEvent
; akArgs[0] as int:
;   1 = full blush active (stage 3)
;   0 = blush fully cleared
 
 
papyrus
 
Form f = Game.GetFormFromFile(0x????, "SA blush.esp")
if f
    RegisterForCustomEvent(f, "OnBlushEvent")
endif

Event SA_BlushQuest.OnBlushEvent(SA_BlushQuest akSender, Var[] akArgs)
    int level = akArgs[0] as int
    if level == 1
        ; fully blushing — e.g. NPC comment
    elseif level == 0
        ; cleared
    endif
EndEvent
 
 

Stages 1–2 do not send events.
Reconnect after load on old saves via MCM if needed; new games register on quest init.

 

 

Requirements:

Scripted Face Tints,

Sex Attributes (FPAttributes),
F4SE
MCM for in-game options.

Special Thanks:

@kziitd- wonderfull textures
@lee3310 - for help and upgrading SFT

@guliguliradish - testing and chinese MCM localization

@Samhsay - help and advise

Everyone else who helped testing 



×
×
  • Create New...