Starting paired struggle minigame with NPC in sneaking/crouching position leads to unpredicted results and control loss for character that orgasms during minigame. The keep playing the same struggling idle continiously and won't move anywhere.
Steps to reproduce:
- Provide a strong orgasm meter increase to an NPC
- Switch that actor to a crouching state (supposed to prevent orgasming animation)
- Start paired minigame
- Keep playing minigame long enough to cause actor orgasm during it
Expected results: orgasm idle/control loss is prevented due to crouching state, actor either quits the minigame and have controls restored or proceeds with minigame
Actual results: paired minigame stops, follower freezes on place and continiously plays struggling animation.
Comment: I think I was able to get this issue on player struggle as well, although could not reproduce it the second time.
Call stack (there is no menuWH opened at the moment of stack being imprinted, so I assume this script is stuck):
Part of the debug log, Lydia is affected actor (paired struggle):
[UD,3]: UD_CustomDevices_NPCSlotsManager: !!!Updating!!!
[UD,3]: OnKeyDown(), Keycode: 156
[UD,3]: Device Rope Blindfold moved from Lydia to Ariana
[UD,3]: Device Rope Collar moved from Lydia to Ariana
[UD,1]: Opening device menu for Rope Collar on Lydia , helper: Ariana
[UD,1]: NPC menu opened for Rope Collar (Lydia) by Ariana
[UD,2]: [UD]: DeviceMenuWH() called for: [Armor < (100486D9)>]
[UD,1]: DisableActor(Lydia)
[UD,1]: DisableActor(Ariana)
[UD,3]: Minigame disabler started for [WIDeadBodyCleanupScript < (000A2C94)>]!
[UD,3]: Minigame disabler started for [Actor < (00000014)>]!
[UD,1]: Minigame started for: Rope Collar
[UD,1]: Minigame disabler updated for [WIDeadBodyCleanupScript < (000A2C94)>]
[UD,1]: Minigame disabler updated for [Actor < (00000014)>]
[UD,1]: ArousalCheckLoop(Lydia) increasing arousal by: 13
SLAX - GetActorExposure BEGIN Lydia is 72.750000
SLAX - GetActorExposure END Lydia returns 73.749199
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias1 on quest UD_Expressions (A1156417)>] applied for Lydia, strength: 100,mouth?: False
[UD,1]: ArousalCheckLoop(Lydia) Arousal before: 73
SLAX - GetActorExposure BEGIN Lydia is 72.750000
SLAX - GetActorExposure END Lydia returns 73.749100
SLAX - SetActorExposure - Lydia to 87
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias2 on quest UD_Expressions (A1156417)>] applied for Lydia, strength: 25,mouth?: False
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias2 on quest UD_Expressions (A1156417)>] is blocked for Lydia, strength: 25,mouth?: False
SLAX - GetActorExposure BEGIN Lydia is 87.000000
SLAX - GetActorExposure END Lydia returns 87.999825
SLAX - GetActorExposure BEGIN Lydia is 87.000000
SLAX - GetActorExposure END Lydia returns 87.999802
[UD,1]: ArousalCheckLoop(Ariana) increasing arousal by: 0
SLAX - GetActorExposure BEGIN Lydia is 87.000000
SLAX - GetActorExposure END Lydia returns 87.999657
SLAX - GetActorExposure BEGIN Ariana is 24.513700
SLAX - GetActorExposure END Ariana returns 25.307756
[UD,1]: ArousalCheckLoop(Lydia) Arousal after: 87
[UD,1]: ArousalCheckLoop(Ariana) Arousal before: 25
SLAX - GetActorExposure BEGIN Ariana is 24.513700
SLAX - GetActorExposure END Ariana returns 25.307657
[UD,1]: ArousalCheckLoop(Ariana) Arousal after: 25
[UD,1]: Minigame disabler updated for [WIDeadBodyCleanupScript < (000A2C94)>]
[UD,1]: Minigame disabler updated for [Actor < (00000014)>]
[UD,1]: UDCustomDevicemain MinigameKeysRegister called
SLAX - GetActorExposure BEGIN Lydia is 95.750000
SLAX - GetActorExposure END Lydia returns 96.749390
[UD,3]: UD_CustomDevices_NPCSlotsManager: !!!Updating!!!
[UD,1]: startCritLoop() called for Rope Collar(Lydia)
[UD,1]: Minigame disabler updated for [WIDeadBodyCleanupScript < (000A2C94)>]
[UD,1]: Minigame disabler updated for [Actor < (00000014)>]
SLAX - GetActorExposure BEGIN Lydia is 95.750000
SLAX - GetActorExposure END Lydia returns 96.748718
SLAX - GetActorExposure BEGIN Lydia is 95.750000
SLAX - GetActorExposure END Lydia returns 96.748642
[UD,1]: ArousalCheckLoop(Lydia) increasing arousal by: 19
SLAX - GetActorExposure BEGIN Lydia is 100.000000
[UD,1]: ArousalCheckLoop(Ariana) increasing arousal by: 0
SLAX - GetActorExposure END Lydia returns 100.000000
[UD,1]: ArousalCheckLoop(Lydia) Arousal before: 100
SLAX - GetActorExposure BEGIN Lydia is 100.000000
SLAX - GetActorExposure END Lydia returns 100.000000
SLAX - SetActorExposure - Lydia to 101
SLAX - GetActorExposure BEGIN Ariana is 24.513700
SLAX - GetActorExposure END Ariana returns 25.306295
[UD,1]: ArousalCheckLoop(Ariana) Arousal before: 25
SLAX - GetActorExposure BEGIN Ariana is 24.513700
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias2 on quest UD_Expressions (A1156417)>] applied for Lydia, strength: 83,mouth?: False
SLAX - GetActorExposure END Ariana returns 25.306038
SLAX - GetActorExposure BEGIN Lydia is 100.000000
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias2 on quest UD_Expressions (A1156417)>] is blocked for Lydia, strength: 83,mouth?: False
SLAX - GetActorExposure END Lydia returns 100.000000
SLAX - GetActorExposure BEGIN Lydia is 100.000000
SLAX - GetActorExposure END Lydia returns 100.000000
[UD,1]: Minigame disabler updated for [WIDeadBodyCleanupScript < (000A2C94)>]
SLAX - GetActorExposure BEGIN Lydia is 100.000000
[UD,1]: Minigame disabler updated for [Actor < (00000014)>]
SLAX - GetActorExposure END Lydia returns 100.000000
[UD,1]: ArousalCheckLoop(Lydia) Arousal after: 100
[UD,1]: ArousalCheckLoop(Ariana) Arousal after: 25
[UD,3]: UD_CustomDevices_NPCSlotsManager: !!!Updating!!!
SLAX - GetActorExposure BEGIN Lydia is 100.000000
SLAX - GetActorExposure END Lydia returns 100.000000
SLAX - GetActorExposure BEGIN Lydia is 100.000000
SLAX - GetActorExposure END Lydia returns 100.000000
[UD,1]: Minigame disabler updated for [WIDeadBodyCleanupScript < (000A2C94)>]
[UD,1]: Starting orgasm for Lydia
[UD,1]: startOrgasm() for Lydia, duration = 20,blocking = TRUE
[UD,1]: Minigame disabler updated for [Actor < (00000014)>]
[UD,1]: ActorOrgasmPatched called for Lydia
SLAX - GetActorExposure BEGIN Lydia is 100.000000
SLAX - GetActorExposure END Lydia returns 100.000000
SLAX - SetActorExposure - Lydia to -12
[UD,1]: Orgasm exhaustion debuff applied to Lydia, duration: 30, magnitude: 18.000000
[UD,3]: Orgasm in struggle loop detected
SLAX - GetActorExposure BEGIN Lydia is 0.000000
SLAX - GetActorExposure END Lydia returns 0.999869
[UD,1]: ArousalCheckLoop(Lydia) increasing arousal by: 19
SLAX - GetActorExposure BEGIN Lydia is 0.000000
SLAX - GetActorExposure END Lydia returns 0.999745
[UD,1]: ArousalCheckLoop(Ariana) increasing arousal by: 0
SLAX - GetActorExposure BEGIN Ariana is 24.513700
SLAX - GetActorExposure END Ariana returns 25.304428
[UD,1]: ArousalCheckLoop(Ariana) Arousal before: 25
SLAX - GetActorExposure BEGIN Ariana is 24.513700
SLAX - GetActorExposure END Ariana returns 25.304367
SLAX - GetAllActors(2)
SLAX - GetAllActors(2) - start scan at 640.966003
[UD,1]: ArousalCheckLoop(Ariana) Arousal after: 25
SLAX - GetActorExposure BEGIN Lydia is 0.000000
SLAX - GetActorExposure END Lydia returns 0.999706
[UD,1]: ArousalCheckLoop(Lydia) Arousal before: 0
[UD,1]: Minigame disabler updated for [WIDeadBodyCleanupScript < (000A2C94)>]
SLAX - GetActorExposure BEGIN Lydia is 0.000000
SLAX - GetAllActors - scanned 2 local actors
SLAX - GetActorExposure END Lydia returns 0.999335
[UD,1]: Minigame disabler updated for [Actor < (00000014)>]
SLAX - GetAllActors(2) - end scan at 640.966003 = 0.507019 seconds
SLAX - got 2 actors
SLAX - SetActorExposure - Lydia to 11
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias2 on quest UD_Expressions (A1156417)>] applied for Lydia, strength: 100,mouth?: False
SLAX - GetActorExposure BEGIN Lydia is 11.000000
SLAX - GetActorExposure END Lydia returns 11.999938
[UD,1]: EnableActor(Lydia)
[UD,3]: UD_CustomDevices_NPCSlotsManager: !!!Updating!!!
[UD,1]: Minigame disabler OnEffectFinish() for [WIDeadBodyCleanupScript < (000A2C94)>]
SLAX - GetActorExposure BEGIN Lydia is 11.000000
SLAX - UpdateActorExposure - BEGIN Lydia from 11.000000 by 2.000000 because seeing naked Ariana
SLAX - GetActorExposure END Lydia returns 11.999744
SLAX - GetActorExposure BEGIN Lydia is 11.000000
SLAX - GetActorExposure END Lydia returns 12.000047
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias2 on quest UD_Expressions (A1156417)>] applied for Lydia, strength: 30,mouth?: False
SLAX - GetActorExposure BEGIN Lydia is 14.999706
SLAX - GetActorExposure END Lydia returns 15.999559
[UD,1]: UDCustomDevicemain MinigameKeysUnregister called
SLAX - GetActorExposure BEGIN Lydia is 14.999706
SLAX - GetActorExposure END Lydia returns 15.999722
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias2 on quest UD_Expressions (A1156417)>] is blocked for Lydia, strength: 30,mouth?: False
[UD,1]: ArousalCheckLoop(Lydia) Arousal after: 15
SLAX - UpdateActorExposure - END Lydia to 14.999706 (int) 14
SLAX - UpdateActorExposure - BEGIN Inigo from 100.000000 by 4.000000 because seeing naked Ariana
SLAX - UpdateActorExposure - END Inigo to 100.000000 (int) 100
[UD,1]: Minigame disabler updated for [Actor < (00000014)>]
[UD,1]: Expression [sslBaseExpression <alias UD_Expression_Alias1 on quest UD_Expressions (A1156417)>] reset for Lydia
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias1 on quest UD_Expressions (A1156417)>] is blocked for Lydia
[UD,1]: EnableActor(Lydia)
[UD,1]: EnableActor(Ariana)
[UD,1]: Minigame disabler OnEffectFinish() for [Actor < (00000014)>]
[UD,1]: Minigame ended for: Rope Collar
[UD,1]: ArousalCheckLoop(Ariana) increasing arousal by: 0
SLAX - GetActorExposure BEGIN Ariana is 24.513700
SLAX - GetActorExposure END Ariana returns 25.303024
[UD,1]: ArousalCheckLoop(Ariana) Arousal before: 25
SLAX - GetActorExposure BEGIN Ariana is 24.513700
SLAX - GetActorExposure END Ariana returns 25.302828
SLAX - GetActorExposure BEGIN Lydia is 20.750000
[UD,1]: ArousalCheckLoop(Ariana) Arousal after: 25
SLAX - GetActorExposure END Lydia returns 21.748957
[UD,1]: ArousalCheckLoop(Lydia) increasing arousal by: 13
[UD,3]: UD_CustomDevices_NPCSlotsManager: !!!Updating!!!
SLAX - GetActorExposure BEGIN Lydia is 20.750000
SLAX - GetActorExposure END Lydia returns 21.748339
[UD,1]: ArousalCheckLoop(Lydia) Arousal before: 21
SLAX - GetActorExposure BEGIN Lydia is 20.750000
SLAX - GetActorExposure END Lydia returns 21.748253
SLAX - SetActorExposure - Lydia to 29
SLAX - GetActorExposure BEGIN Lydia is 29.000000
SLAX - GetActorExposure END Lydia returns 29.999830
SLAX - GetActorExposure BEGIN Lydia is 29.000000
SLAX - GetActorExposure END Lydia returns 29.999722
[UD,1]: ArousalCheckLoop(Lydia) Arousal after: 29
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias2 on quest UD_Expressions (A1156417)>] applied for Lydia, strength: 25,mouth?: False
[UD,1]: (Patched) Expression [sslBaseExpression <alias UD_Expression_Alias2 on quest UD_Expressions (A1156417)>] is blocked for Lydia, strength: 25,mouth?: False
Version of skyrim: SE
Version of mod: 2.0b8
Used patches: DD+BRRF, DCL, LBS