Jump to content

Panic Meter


Recommended Posts

Posted

Panic Meter

View File

Panic Meter:

A Fallout 4 immersion mod that tracks how shaken your character is during and after combat. Panic rises in fights, lingers afterward, and can affect aim, stamina, body language, sleep, and how you recover.


REQUIREMENTS:
- Fallout 4
- F4SE (for gun accuracy penalties)
- Mod Configuration Menu (MCM)


WHAT IT DOES:
While you are in combat, a hidden Panic value (0-100%) slowly climbs. Endurance slows how fast it rises. Getting hit spikes panic immediately, and the lower your health, the faster both combat gain and hit spikes climb (up to about 2x near death by default). When combat ends, panic decays very slowly (about 1% every 10 seconds by default). Agility helps recovery a bit. Once panic has reached 10%, normal recovery and calming items will not drop it below that "uneasy floor." Only a full night of sleep can clear that baseline tension. This keeps a low, constant edge of nervousness until you actually rest well. The on-screen meter appears only when panic is above 0% (and only if the HUD is enabled in MCM).


HOW PANIC AFFECTS YOU:
Effects ramp with the meter. Defaults:

  - Perception / accuracy start fading early as panic rises
  - AP drain and speed penalties kick in at higher tiers
  - Overlay / HUD flash effects start at 80%+
  - Camera / controller shake only at 100%
  - At 50%+: nervous 3rd-person stance (captive-style body language)
  - Flavor notification lines as panic climbs (optional)

At 80%+ insomnia: trying to sleep may only give a restless 1-hour nap
instead of a full rest.


HOW TO LOWER PANIC:
  - Leave combat and wait (slow natural recovery)
  - Drink alcohol
  - Use Mentats or Calmex
  - Eat certain comfort foods (e.g. Noodle Cup, Fancy Lads, Cram, etc.)
  - Sleep - full sleep helps most and can break the 10% uneasy floor
  - MCM Debug: Reset Panic Meter to 0


HOW TO USE:
1. Install with your mod manager (MO2 / Vortex) so PanicMeter.esp, Scripts,
   Interface, and MCM folders load.
2. Make sure F4SE and MCM are installed and running.
3. Start or load a game. The quest starts automatically.
4. Open the Pause menu -> Mod Config -> Panic Meter to tune settings.

Suggested first look in MCM:
  - General: enable mod, flavor lines, show/hide HUD
  - Rate: how fast panic rises / falls
  - Effects: toggles and intensity for debuffs, overlay, shake
  - Sleep & Calm: insomnia, uneasy floor, item calm amounts
  - Nervous: 3rd-person stance / fidget options
  - Debug: add +25 panic for testing, reset to 0, restore defaults


MCM QUICK REFERENCE (DEFAULTS):
  Enable Panic Meter          On
  Show Panic Meter HUD        On
  Combat gain                 ~0.85% / sec (scaled by Endurance + low health)
  Hit spike                   ~2.5% per hit (less if blocked; more if power attack)
  Near-death multiplier       up to 2.0x at critical health
  Recovery                    ~0.10% / sec (~1% per 10 sec)
  Uneasy floor                10% (full sleep can go below)
  Overlay / flash             80%+
  Aim shake                   100% only
  Nervous stance              50%+


NOTES:
- Disabling the mod in MCM stops new effects and hides the HUD, but keeps
  your current panic value until you reset it.
- Overlay visuals need a spell / ImageSpace assigned on the quest in the
  Creation Kit (properties PanicOverlaySpell / PanicOverlayISM). Without
  those filled, gameplay effects still work; the flash overlay simply will
  not appear.
- Optional fidget idles also need Idle forms assigned on the quest in CK.
  The nervous stance works without that.
- Gun accuracy changes use F4SE InstanceData. Without F4SE, other systems
  still function.


TROUBLESHOOTING:
- Meter missing after load: reload once, or add panic via MCM Debug.
  The HUD reinjects on load; it stays hidden at 0% panic.
- Settings look wrong after an update: MCM -> Debug ->
  "Reset All Settings to Defaults".
- No accuracy effect: confirm F4SE is launching Fallout 4.

 


 

Posted
1 hour ago, Samhsay said:

What kind of file is the one with the .ppj extension? It's the first time I've seen one like that in a mod. 

Visual Studio

Posted
10 hours ago, judge007 said:

@Wolfe6900

 

Just a heads-up . . .

 

This mod and Lewd Talks conflict with each other, whichever one has higher priority will operate, while the other one quits functioning.

 

Nice work.

Thanks for the point out! I'll throw it up on the main site.

Posted (edited)

This is an interesting addon for folks like me who want to play as a regular suburbanite instead of Black Widow (or Jason Bourne).  I look forward to testing it out.

 

On 7/18/2026 at 5:30 PM, Wolfe6900 said:

Overlay visuals need a spell / ImageSpace assigned on the quest in the
  Creation Kit (properties PanicOverlaySpell / PanicOverlayISM). Without
  those filled, gameplay effects still work; the flash overlay simply will
  not appear.

 

Can you elaborate on this note?  It looks like you already filled those quest properties.

 

Minor Wishlist Items:

-esl-flag the plugin

-Flavor lines output via messagebox instead of hardcoded (easier to personalize/translate).

-An API function for other mods to increase/decrease panic via script.  I'd love to write a little companion plugin to reduce panic after consensual sex.

 

Edited by spicydoritos
Posted
10 minutes ago, spicydoritos said:

This is an interesting addon for folks like me who want to play as a regular suburbanite instead of Black Widow (or Jason Bourne).  I look forward to testing it out.

 

 

Can you elaborate on this note?  It looks like you already filled those quest properties.

 

Minor Wishlist Items:

-esl-flag the plugin

-Flavor lines output via messagebox instead of hardcoded (easier to personalize/translate).

-An API function for other mods to increase/decrease panic via script.  I'd love to write a little companion plugin to reduce panic after consensual sex.

 

Yeah, so right now, I used some 'explosions' as the flashing effects when you're getting high panic. You could change them in the CK if you change the properties if you wanted, but not important (unless you wanted a different effect to display at high panic). I didn't play around too much with different properties or testing what was best in-game, but it's there if modders later take this mod up and want to tweak it. 

 

If you'd like to make some changes, feel free to. I just kind of spam ideas out there and don't care too much if someone adopts the mod and makes it their own.

Posted

Interesting mod. Definitely changes gameplay. I found the gain rate to be too high and the recover rate too low for my tastes, but easily adjusted to suit in the MCM. My only real complaint is that the HUD panic meter is in the upper left corner - where it interferes with game messages that appear there, so you might want to move it.

 

One suggestion - seems to me while sneaking and you have the [CAUTION] message up, your panic ought to increase slowly - and then when it goes to [DANGER] your panic should go up much faster.

 

Another suggestion - perhaps make it a bit situationally aware. For example if you are in combat with one raider, okay that might cause a little panic. If you are in combat with ten raiders that should likely cause a lot more panic. Likewise if the opponent is a radstag, that should probably cause less panic than say a deathclaw.

Posted

This mod would be a perfect fit for Violate. 100% panic + 0 willpower = "I can't fight anymore." But no one knows how to trigger a surrender from the outside.

Posted (edited)

It would be cool to add some things:
1. The ability to customize the scale colors.
2. The ability to customize the scale's position on the screen.
This mod would be a perfect fit for Violate. 100% panic + 0 willpower = "I can't fight anymore." But no one knows how to trigger a surrender from the outside.

3. Add a global panic value that could be accessed from another mod. 

4. The SexAttributes mod has an API to check if a player has PTSD involving certain types of NPCs. Panic levels could be made to rise more sharply in such situations.

Edited by Samhsay
Posted (edited)

I suspect I’ve found a way to force a surrender in the Violate source code. Line 9 of the FPV_SAProxyScript file.

 

FPV_OnHit Property FPV_Script Auto

 

And in the event, we can see the function call for the return. But this return is due to a perverse implementation.

Event FPA:FPA_Main.OnCombatWithPerversionEnemy(FPA:FPA_Main akSender, Var[] akArgs)
	float currentWillpower = akArgs[0] as float 
	int highestActivePerversionLevel = akArgs[1] as int
	Bool DebugOn = (AFV_Global_Debug.GetValue() == 1.0)
	
	AFVTrace(DebugOn, "AFV report: OnCombatWithPerversionEnemy event received")
	
	If currentWillpower <= AFV_Global_FPA_Willpower_Threshold.GetValue() && highestActivePerversionLevel > 0 && \
		PlayerRef.GetSitState() == 0 && !PlayerRef.IsFlying() && Game.IsActivateControlsEnabled() && Game.IsMovementControlsEnabled() && \
		Utility.RandomInt(0,99) <= AFV_Global_FPA_Chance.getValueInt()
		
		AFVNotify(true, "You give in to your perversion...")
		AFVTrace(DebugOn, "AFV report: force surrender due to SA Perversion")
		FPV_Script.ConsensualSurrender()
		Utility.Wait(2.0)
	EndIf
EndEvent

 

We need this line
 

		FPV_Script.ConsensualSurrender()

 

But this return is due to a perverse implementation. Open the FPV_OnHit file and locate the ForceSurrender() function next to the ConsensualSurrender() function.
We conclude that to trigger a forced surrender during a panic, we need to write two lines:

FPV_OnHit Property FPV_Script Auto

FPV_Script.ForceSurrender()

 

All my speculations may well be deeply flawed, but there is hope that I am right.

Edited by Samhsay
Posted
2 hours ago, Samhsay said:

All my speculations may well be deeply flawed, but there is hope that I am right.

 

@MSM_Alice has something similar in MSMA SexFight using the FPV_OnHit script to trigger surrender, not sure if it is working.  I'm assuming that script is attached to the player already, assuming you just cast the PlayerRef as FPV_OnHit and call ForceSurrender or ConsensualSurrender.  Haven't tested it myself.

Posted
		quest violate = Game.GetFormFromFile(0x00000F99, "AAF_Violate.esp") as quest
		Alias FPV_Script = violate.getAlias(0)
		var[] vio = new var[0]
		FPV_Script.CallFunction("ForceSurrender", vio)

I just tested it and it works. 

However, it makes sense to retrieve the values of the violate global variables regarding the suspected rapists to avoid spam in debug.notifications about the inability to surrender.

Posted

This is a nice immersive addition to my mod-list!

I currently ran into an issue, though: 
The panic effects/perks (nervous stance - with some quite weird behaviour of 1st and 3rd view camera! -  and very slow movement) aren't going away, even if the panic meter went down to 10% again. 
Also, not after a good 8 hours of sleep. 
The pano-meter vanishes, the bad effects stay. 

 

I re-setted every setting to default. 
Switched the mod on and off via MCM. 
To no effect though. 

 

Any idea how to solve this? 
Thanks already in advance. 

Posted
3 hours ago, JonX67 said:

This is a nice immersive addition to my mod-list!

I currently ran into an issue, though: 
The panic effects/perks (nervous stance - with some quite weird behaviour of 1st and 3rd view camera! -  and very slow movement) aren't going away, even if the panic meter went down to 10% again. 
Also, not after a good 8 hours of sleep. 
The pano-meter vanishes, the bad effects stay. 

 

I re-setted every setting to default. 
Switched the mod on and off via MCM. 
To no effect though. 

 

Any idea how to solve this? 
Thanks already in advance. 

I'll mess with it to see if I can work a fix. Haven't debugged too long into the 'when it's low' category, but thanks for the point out!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...