Jump to content

Wolfe's Struggle Systems


Recommended Posts

Posted

Wolfe's Struggle Systems

View File

NOTE:

This mod does nothing by itself. It needs to be called by another mod.

 

To Test:

"coc wss2"

 

Wolfe's Struggle Systems: 

 

A Fallout 4 struggle / resistance minigame framework built for Advanced Animation Framework (AAF). When triggered, the player must fight back through a real-time QTE while an AAF scene plays. Win to break free and keep your outfit. Lose and the scene escalates.

 

There's 3 Files:

 

WolfesStruggleMod_v1.0.0.zip (WSS) - The Main Mod. Framework for calling a struggle animation on the Player. This will not work without an external mod that connects to it. 


WolfesKFTQTESystem_v1.0.0.zip (WKQS)- This is my adjustment for KFT. Instead of going through a 'Do you wish to struggle?' message when trying to escape KFT restraints, this simply just shows the wiggle bar instead where you need to play a 'wiggle game' to be released. (Requires KFT).

 

WolfesKFTQTEAggressor_v1.0.0.zip (WKQA) - This allows YOU to become the aggressor. To activate, you'll need to pickpocket an NPC, give them a KFT item and (if not caught pickpocketing) will start a struggle. If won, they equip the KFT item and become a follower. (Requires KFT)

 

NOTE: These 3 work independently of each other, so you can download which ones (or all) if you'd like. I may work to eventually combine them all into one framework. At the moment, they are all separate projects independent of each other with different purposes.

 

Hard requirements:
- Fallout 4
- F4SE (required for the Scaleform HUD and extended input handling)
- Mod Configuration Menu (MCM)
- Advanced Animation Framework (AAF)
- Savage Cabbage animation pack

 

Recommended/Highly Suggested:

- Kziitd Fetish Toolset 1.0 Beta 3 (Required for WKQS/WKQA, optional for WSS)

 

Load order:
Place this mod below AAF, F4SE-dependent plugins, and MCM. Keep your animation packs below AAF as usual.


WHAT IT DOES:

 

When a struggle is triggered (dialogue, another mod, or a test call), the system:

1. Snapshots the player (and partner) outfit.
2. Starts an AAF struggle scene if AAF Compatible is enabled in MCM.
3. Shows a Scaleform struggle HUD and runs one of three minigame modes:
   - Mash — spam click / attack / jump / sprint to fill the bar.
   - Keyboard — press the prompted letter or gamepad face button.
4. Resolves win or loss:
   - Win — stops the struggle scene, restores clothing after a short delay, fires outcome events / quest stages.
   - Lose — progressively strips armor and clothing as the meter falls, then plays a defeat AAF scene.

 

HOW ARMOR AFFECTS THE STRUGGLE:

Armor is not just cosmetic — it changes how hard the fight is.


When Armor Affects Start Progress is enabled (default), better coverage gives you more of the bar at the start:
- Light clothing on the body slot gives a modest boost.
- Each worn armor piece adds bonus starting progress based on its rating.
- A strong full set can start you much higher on the meter.

Resistance while mashing / prompting

*Worn armor also scales how much progress you gain from successful inputs. Nearly naked = very slow progress. Full coverage = noticeably faster fills.

 

MODDER'S RESOURCE — HOW TO LINK YOUR MOD
========================================

Quote

 

This release is intended as a reusable framework. Other mods can trigger struggles and react to outcomes without re-implementing the QTE, HUD, AAF wiring, or clothing logic.

Core script
-----------
- Script: WSS_System
- Type: Quest script
- Attach it to your struggle controller quest in the Creation Kit.

You will need a quest in your plugin with:
- Player alias (fill PlayerRef on the script)
- Optional partner alias or speaker passed at runtime
- WSS_System attached and compiled (WSS_System.pex in your mod or a master dependency)

 

Minimum CK setup (your mod)
---------------------------
1. Create a Quest (example: WSS_StruggleQuest).
2. Attach script WSS_System.
3. PlayerRef is optional. If left empty, the script uses Game.GetPlayer() automatically. A Player alias is only needed if you prefer filling PlayerRef through an alias in CK.
4. Tune AAF tags, defeat tags, quest stages, and armor properties on the script as needed.
5. Ship WSS_System.pex (and Interface\WSS_StruggleBar.swf if you bundle the HUD) or list this mod as a hard requirement.

Recommended setup for other mod authors (cleanest)
--------------------------------------------------
Do not attach WSS_System to their own quest. Instead:

1. List Wolfes Struggle Mod as a requirement.
2. On their quest script, add a property:

    WSS_System Property StruggleSystem Auto
    { Fill with the WSS_StruggleQuest from Wolfes Struggle Mod. }

3. Call it from dialogue, packages, or their own logic:

    StruggleSystem.StartStruggleWithSpeaker(akPartner, -1.0)

This keeps one central struggle controller while their mod only triggers it.

Can an activator / trigger / ObjectReference script call it?
--------------------------------------------------------------
Yes. ObjectReference scripts cannot easily use GetOwningQuest() for your quest, but they can hold a quest reference property the same way:

    WSS_System Property StruggleSystem Auto

Fill that property in CK with the Wolfes Struggle Mod quest, then call:

    StruggleSystem.StartStruggleWithSpeaker(SomeActor, -1.0)

A trigger box can use an OnTriggerEnter script; an activator can use OnActivate. The ObjectReference script calls the quest script function through the filled property. That is normal Fallout 4 Papyrus and works fine.

Starting a struggle from dialogue on the struggle quest itself
--------------------------------------------------------------
On a dialogue line or fragment on the same quest:

    (GetOwningQuest() as WSS_System).StartStruggleWithDialoguePartner()

Uses the current dialogue target as the partner. Optional difficulty override (0–100, higher = easier):

    (GetOwningQuest() as WSS_System).StartStruggleWithSpeaker(AKSpeaker, 50.0)

Starting from another quest or object reference
-----------------------------------------------
Fallout 4 has no Quest.GetQuest(). Use a quest reference property on your script:

    WSS_System Property StruggleSystem Auto
    { Fill with the WSS_StruggleQuest from Wolfes Struggle Mod. }

Then call:

    StruggleSystem.StartStruggleWithSpeaker(akPartner, -1.0)

Pass -1.0 for difficulty to use the MCM / default value. This works from quest scripts, dialogue fragments, activators, triggers, or any other script that can hold a filled quest property.

Other public functions
----------------------
- StartStruggleWithDialoguePartner() — partner from dialogue target.
- StartStruggleWithSpeaker(Actor akSpeaker, Float afDifficulty) — explicit partner + optional difficulty.
- StartStruggleQTEOnly(Float afDifficulty) — bar only, no AAF struggle scene.
- CancelStruggle() — abort a pending or active struggle.
- IsStruggleActive() — returns whether a struggle is running.

Test functions (console / papyrus on the quest)
-----------------------------------------------
- StartStruggleBarTestMode1() — force Mash HUD
- StartStruggleBarTestMode2() — force Pendulum HUD
- StartStruggleBarTestMode3() — force Keyboard HUD

Reacting to win / loss
----------------------

Option A — Quest stages (simplest)
Set on WSS_System in CK:
- WinQuestStage (default 10)
- LossQuestStage (default 20)

The script advances its owning quest to those stages on outcome.

Option B — Custom event (flexible)
Register on the struggle quest:

    RegisterForRemoteEvent(StruggleQuestRef as WSS_System, "OnStruggleOutcome")

Handle it:

    Event WSS_System.OnStruggleOutcome(WSS_System akSender)
        Actor player = akSender.LastOutcomePlayer
        Actor partner = akSender.LastOutcomePartner
        Bool won = akSender.LastOutcomePlayerWon
        ; your logic
    EndEvent

Readable outcome properties on WSS_System:
- LastOutcomePlayer
- LastOutcomePartner
- LastOutcomePlayerWon

Disable the custom event in CK with FireOutcomeCustomEvent = False if you only want quest stages.

AAF integration notes for modders
---------------------------------
Important script properties (AAF group):
- StruggleIncludeTags / StruggleExcludeTags — how AAF picks the struggle animation.
- StrugglePosition / StrugglePositionPool — override with your pack’s position IDs.
- DefeatPosition / DefeatIncludeTags — what plays on loss.
- PlayAAFDuringStruggle — mirrors MCM “AAF Compatible”.
- AAFStartEquipmentSet = WSS_StruggleKeep — uses AAF\WSS_Struggle_equipmentSetData.xml to avoid instant strip at scene start.
- PartnerIsActor0 — set False for typical female-player / male-partner packs.

The mod registers for AAF events (OnSceneInit, OnAnimationStart, OnAnimationChange, OnSceneEnd) automatically when AAF is available.

Clothing / armor extension
--------------------------
Useful CK properties:
- ProtectedStruggleArmorItems — forms never stripped.
- ProtectedStruggleArmorKeywords — keywords never stripped (cuffs, harnesses, etc.).
- StripArmorOnFailure — toggle progressive strip.
- KeepClothedDuringStruggle — keep outfits on during the struggle scene when possible.

Difficulty from your mod
------------------------
Pass a float 0–100 to StartStruggleWithSpeaker / StartStruggleQTEOnly. Higher = easier escape. MCM difficulty presets still apply to drain tuning unless you override per call.

File layout modders may depend on
---------------------------------
Scripts\WSS_System.pex
Scripts\Source\User\WSS_System.psc
Interface\WSS_StruggleBar.swf
AAF\WSS_Struggle_equipmentSetData.xml
MCM\Config\WolfesStruggleMod\config.json
MCM\Config\WolfesStruggleMod\settings.ini

Permissions
-----------
If you release a mod that depends on this framework, credit Wolfes Struggle Mod and link back to this page. Do not redistribute WSS_System.pex under a different name without permission. Your own quests, dialogue, and triggers are yours.

 

 

 

screenshot1.pngscreenshot.png.07d8d8e9272b9d54b94d522d6669af16.png

screenshot2.pngscreenshot3.png

 


 

Posted

i might actually turn on animal scenes if there was a legit immersive way to fight them off and even kill them mid resistance scene

Posted

I think I’ve figured out how it works. When certain conditions are met (like a failed dialogue check), the script triggers an AAF wrestling animation. There probably isn't anything like that for animals; I’ve only seen animations involving dogs and yaoguais on Nexus. There might be something in the game files, but it's doubtful.

Posted
24 minutes ago, Samhsay said:

I think I’ve figured out how it works. When certain conditions are met (like a failed dialogue check), the script triggers an AAF wrestling animation. There probably isn't anything like that for animals; I’ve only seen animations involving dogs and yaoguais on Nexus. There might be something in the game files, but it's doubtful.

Yeah, the MCM allows a different struggling animation to be chosen if needed, but it defaults to a 2-person animation and needs to be called by a dialogue fragment. 

Posted
2 hours ago, Verasmile2 said:

This looks interesting, any chance for some gifs or a video?

I didn't take any, but it's basically just Skyrim's QTE, but modeled for FO4:

https://www.nexusmods.com/skyrimspecialedition/mods/121909

 

I've got a mash bar where you just hit the attack button to raise the meter and a keyboard system like the mod above. There's a pendulum system too, but it's not fully functional yet.

Posted (edited)

Sorry, I'm a bit slow—I don't quite understand what this mod does.
Is it designed for female player characters?
Does it trigger while mods like "Violate" are running?
Does it trigger during various sexual harassment events?
Or is it currently just a standalone framework that requires other mod authors to link to it?

Why does it require SC animation, and why is KFT considered a "Recommended"?

 

What I mean is, if it isn't currently integrated into any actual mods—and given that the authors of Violate and SH are currently retired—neither Violate nor SH will be updated to utilize this framework.
Unless, of course, you create patches for them yourself.

Edited by kziitd
Posted

I know how hard it was to believe that, so I know how selfish it is to ask this of you, but a QTE mechanic is perfect for Kziitd Fetish Toolset, and if its struggle animation plays after continuously pressing the buttons, even better.

 

Posted
2 hours ago, woodrealmelf said:

Hello would this conflict with Sexual Harassment or SH+ or does it replace the notif to smashing keys?

It shouldn't conflict with anything. It needs to be specifically called by another mod, so it won't do anything unless other modders link it.

Posted (edited)
2 hours ago, kziitd said:

Sorry, I'm a bit slow—I don't quite understand what this mod does.
Is it designed for female player characters?
Does it trigger while mods like "Violate" are running?
Does it trigger during various sexual harassment events?
Or is it currently just a standalone framework that requires other mod authors to link to it?

Why does it require SC animation, and why is KFT considered a "Recommended"?

 

What I mean is, if it isn't currently integrated into any actual mods—and given that the authors of Violate and SH are currently retired—neither Violate nor SH will be updated to utilize this framework.
Unless, of course, you create patches for them yourself.

When called by another mod it generates a 2-person struggle animation. The player has a mash bar QTE widget to 'break free'. Under 50% or so, armor pieces start to fall off the Player. At 0%, the Player is 'Defeated' a another AAF animation is played and optionally KFT devices equipped. 

 

Nothing will currently trigger it unless mod authors decide to link it. It can be tested by going to the 'coc wss2' cell and talking to an NPC there to see how it works. 

 

It requires SC animation since it's a standing position the Player and NPC uses, however, that animation can be changed via the MCM.

 

I made it for another mod I'm working on, but wanted to provide a framework others could use to incorporate into Defeat mods or SH mods.

screenshot2.png

 

Also, I believe @riveth is currently reworking the SH+ system.

 

Edited by Wolfe6900
Posted (edited)
8 hours ago, yokito78 said:

I know how hard it was to believe that, so I know how selfish it is to ask this of you, but a QTE mechanic is perfect for Kziitd Fetish Toolset, and if its struggle animation plays after continuously pressing the buttons, even better.

 

I added an additional .zip to the main page, titled "WolfesKFTQTESystem_v1.0.0.zip" This will add a QTE mechanic to replace the KFT struggle menu options.

screenshot.png

Edited by Wolfe6900
Posted
22 minutes ago, woodrealmelf said:

hmm it doesnt seem to work with violate, testing on SH+

It's not going to, unless the authors of violate or SH+ incorporate it.

Posted

This looks very promising.

 

I think I could make some fix into SH+ script so it would start this qte struggle instead of its own when this mod is present.

So it won't be required but optional for those who enjoys it.

Posted
2 hours ago, Wolfe6900 said:

He añadido un archivo .zip adicional a la página principal, titulado " WolfesKFTQTESystem_v1.0.0.zip ". Este añadirá una mecánica QTE para reemplazar las opciones del menú de lucha de KFT.

captura de pantalla.png

Did you manage to integrate the difficulty of the KTF material and how the player's base stats contribute to the QTE's difficulty? By the way, where were you last year? I was looking for someone to do exactly what you did, but of course, it was only designed for KTF. But you made it an API, which is even better. How did you create the QTE and import it into Fallout 4?

Posted
8 hours ago, Wolfe6900 said:

When called by another mod it generates a 2-person struggle animation. The player has a mash bar QTE widget to 'break free'. Under 50% or so, armor pieces start to fall off the Player. At 0%, the Player is 'Defeated' a another AAF animation is played and optionally KFT devices equipped. 

 

Nothing will currently trigger it unless mod authors decide to link it. It can be tested by going to the 'coc wss2' cell and talking to an NPC there to see how it works. 

 

It requires SC animation since it's a standing position the Player and NPC uses, however, that animation can be changed via the MCM.

 

I made it for another mod I'm working on, but wanted to provide a framework others could use to incorporate into Defeat mods or SH mods.

 

 

Also, I believe @riveth is currently reworking the SH+ system.

 

Understood.
I see that you’ve already created a patch for KFT—thank you very much.

When KFT updates next, I will contact Ego about including your patch as an optional feature.

 

Do you plan to create patches for Ego’s other titles as well? Specifically *Violate*, or the stealth attack module for NPCs in *SEU* (I’m referring to the reverse mechanic: a system that determines success when the PC launches a stealth attack against an NPC).

Posted

Additionally, you can provide a detailed description of the animation effects you would like—whether for a single animation or multiple ones.
I will create the animation assets directly for this framework, without needing to use SC.

Posted
2 hours ago, riveth said:

This looks very promising.

 

I think I could make some fix into SH+ script so it would start this qte struggle instead of its own when this mod is present.

So it won't be required but optional for those who enjoys it.

I'll probably add some more QTE widgets as it goes on. Right now I can just get the mash bar & keyboard. The pendulum one's been giving troubles though.

Posted
36 minutes ago, yokito78 said:

Did you manage to integrate the difficulty of the KTF material and how the player's base stats contribute to the QTE's difficulty? By the way, where were you last year? I was looking for someone to do exactly what you did, but of course, it was only designed for KTF. But you made it an API, which is even better. How did you create the QTE and import it into Fallout 4?

The difficulties do change, but I haven't tested all of them to see if they're too easy or difficult. There should be an option to set a timer and a debug to remove in the event it's impossibly hard to escape as well as a general difficulty setting. 

Posted
24 minutes ago, kziitd said:

Understood.
I see that you’ve already created a patch for KFT—thank you very much.

When KFT updates next, I will contact Ego about including your patch as an optional feature.

 

Do you plan to create patches for Ego’s other titles as well? Specifically *Violate*, or the stealth attack module for NPCs in *SEU* (I’m referring to the reverse mechanic: a system that determines success when the PC launches a stealth attack against an NPC).

That feature would add a lot of immersion to the mod. I’d choose between her taking her clothes off voluntarily or
 doing so via this mode—but without the option to resist.
Posted
24 minutes ago, kziitd said:

Understood.
I see that you’ve already created a patch for KFT—thank you very much.

When KFT updates next, I will contact Ego about including your patch as an optional feature.

 

Do you plan to create patches for Ego’s other titles as well? Specifically *Violate*, or the stealth attack module for NPCs in *SEU* (I’m referring to the reverse mechanic: a system that determines success when the PC launches a stealth attack against an NPC).

I was messing around with AAF Violate originally, but I haven't figured out how to get it to detect/work with it yet other than just trying to detect if AAF was running, but that could cause some complications. 

 

Never thought of a Stealth Attack or reverse though. That may be a good idea to incorporate. And specific animations would be pretty nice; whatever you'd make, I'd probably just wire it to run randomly. Right now, it defaults to SC, but the MCM will allow users to assign different animations.

Posted
Test mode isn't working. When I speak to the guy to start it, he just stands there and no animation plays. 
I installed all the necessary files and used the LOOT tool.

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...