gollum007 Posted October 27, 2022 Share Posted October 27, 2022 (edited) Well, I've got ~150 ESPs in the load order. Not sure offhand how many script instances, but it's going to be quite a few. Frankly though, you're completely missing my entire point. Whether the issues stem from the base interpteter & SKSE itself (and the changes between versions) or just from the lack of coherant documentation and partially OO nature of the thing, it's an unbridled mess. Can you show me somewhere that the number parsing behaviour of JsonUtil is actually properly documented, without linking to some random post in the depths of the SKSE thread? It sure isn't on Github, which basically refers you to the script itself. That just has an external function call to the SKSE DLL, and I sure CBA to go digging through someone else's C++ to figure out exactly what rules are in use...... --- Back somewhat on topic, attached is a marginally better version of the follower stripper. (This assumes that if the follower is in the SlaveFaction, we don't need to change the outfit) It's nowhere close to right, but at least avoids the constant outfit changes glitch. A second observation is that slavers can trigger the 'good' smuggle the PC out of the city path if she is found clothed. This should probably be locked out behind a slaver faction check. I think this should do the trick (untested): SLV_EventHandler.psc, line 841 onwards: if MCMMenu.NudityRescue && !NPCActor.IsInfaction(SLV_SlaverFaction) if violate == 1 SLV_PunishmentRunning.setValue(1) rescueer.ForceRefTo(NPCActor) return else violate = violate - 1 endif endif Scripts.zip Edited October 27, 2022 by gollum007 1 Link to comment
kaxat Posted October 27, 2022 Author Share Posted October 27, 2022 (edited) @gollum007 Thanks a heap ton! That confirms the issue for LE and empty outfits. Without your help I was considering dropping support for LE. Not because I want to but because I can't test. Your change for follower outfits would unfortunately cause some issues of its own. That function has to do deal with a tricky bit of state. Took ages to think it all through. I will have to craft my own solution. But I like your idea for the SLV_EventHandler file. Do not currently override that. But I might have to to include your idea. @Leoosp Thank you too for the keen-eyed observation. Without you I am not sure we would have gotten on to the number format being the root cause. @alex77r4 I enjoy it when you come around dropping knowledge bombs. To be honest I already knew what a number is. And the various ways they are stored ? . But the backhistory on when PapyrusUtils changed the format is quite helpful. A while ago I had seen those entries in the PapyrusUtils changelog. Started to suspect they were the cause. But since they are so vaguely worded I did not know what they changed. Just sounded ominous. Your points about how other plugins store IDs is not super relevant here. The important part is how PapyrusUtils stores form IDs. That changed. When you import a JSON prepared for SE into LE the old version can't read it. One thing is not clear to me however. Is there a drawback to storing all forms in the legacy decimal format? I could update the xEdit script used to export forms to JSON. Have it export decimal instead. Probably include the hex ID in the JSON comment so maintainers have a better idea of what it is. You mentioned the issues with plugins >128 and and GetFormID(). But as you note a signed int is not really an issue assuming the DLL (PapyrusUtils) knows how to handle it. Further I'm assuming PapyrusUtils is using GetFormFromFile() instead. Which would mean the integer passed would never exceed the signed limits. It won't wrap around. I don't think this will be an issue. Not even with .esl files. But I am more than willing to be wrong. If somebody finds a flaw in my reasoning say so. If not I will switch all of the JSONs and xEdit scripts over to decimal. Then even old PapyrusUtils can read it. Edited October 27, 2022 by kaxat Link to comment
Leoosp Posted October 27, 2022 Share Posted October 27, 2022 (edited) 21 minutes ago, kaxat said: @gollum007 Thanks a heap ton! That confirms the issue for LE and empty outfits. Honestly without your help I was considering dropping support for LE. Not because I want to but because I can't test. Your change for follower outfits would unfortunately cause some issues of its own. That function has to do deal with a tricky bit of state. Took ages to think it all through. I will have to craft my own solution. But I like your idea for the SLV_EventHandler file. Do not currently override that. But I might have to to include your idea. @Leoosp Thank you too for the keen-eyed observation. Without you I am not sure we would have gotten on to the number format being the root cause. @alex77r4 I always enjoy it when you come around dropping knowledge bombs. I got to be honest I already knew what a number was and the various ways it gets stored ? . But the backhistory on when PapyrusUtils changed the format is quite helpful. A while ago I had seen those entries in the changelog. Started to suspect they were the cause. But since they are so vaguely worded I did not know what they changed. Just sounded ominous. Your points about how other plugins store IDs is honestly not super relevant here. The important part is how PapyrusUtils stores form IDs. That changed. When you import a JSON prepared for SE into LE the old version can't read it. One thing is not clear to me however. Is there a drawback to storing all forms in the legacy decimal format? I could update the xEdit script used to export forms to JSON. Have it export decimal instead. Probably include the hex ID in the JSON comment so maintainers have a better idea of what it is. You mentioned the issues with plugins >128 and and GetFormID(). But as you note a signed int is not really an issue assuming the DLL (PapyrusUtils) knows how to handle it. Further I'm assuming PapyrusUtils is using GetFormFromFile() instead. Which would mean the integer passed would never exceed 6 bytes (48 bits). I don't think this will be an issue. Not even with .esl files. But I am more than willing to be wrong. If somebody finds a flaw in my reasoning say so. If not I will switch all of the JSONs and xEdit scripts over to decimal. Then even old PapyrusUtils can read it. You're welcome, the reason I noticed this was because during Sixth Form College, one of the courses I was on was about ICT and was a vocational BTEC Level 3. One of the things taught was machine code (low level language of computers). As such learned about binary, decimal, octal and hexadecimal as well as programming etc. Edited October 27, 2022 by Leoosp 1 Link to comment
kaxat Posted October 27, 2022 Author Share Posted October 27, 2022 The only issue I can foresee is that the SexlabNostrip keyword changed form IDs. Which is a bit frustrating. I could do special logic for it. I could include both. Or I could do separate themes for LE and SE. I would like to avoid the latter. Huge pain to maintain 2 different things. More likely for stuff to break in LE without me knowing it. But technically another mod might also not be a straight conversion. And reorder its forms. I suspect this is exceedingly rare. Link to comment
kaxat Posted October 27, 2022 Author Share Posted October 27, 2022 (edited) 32 minutes ago, Leoosp said: It depends on whether the recent updates for PapyrusUtil SE can convert automatically it into hexadecimal from decimal in order work with it in json, if it can then it may not be an issue. Though if can't doesn't then the issue will then be doing it in the reverse direction, so in which case a set of jsons for SE and LE will be necessary. So may be an idea to develop some kind of script tool which can by command line, be used with xedit and Python (or Powershell) scripting to automate this, process when preparing new releases. Yeah I am just assuming it works given the decimal based files that were shared. The DD Equip one is a PapyrusUtils file. It evidently loads in SE as well as LE. I will not know until I test. But I am guessing newer versions of Util support the old format. If they did not people would have had big issues updating. Edited October 27, 2022 by kaxat Link to comment
gollum007 Posted October 27, 2022 Share Posted October 27, 2022 Sure My changes were pure hackery from a quick and dirty POV to resolve a couple of immediate issues, nothing more. --- If you wanted to introduce some better logic into the 'action' tree with nudity consequences to reflect roles, I'd postulate something like this: 1. Base chance of action roll. Increase this roll by say 50% for slavers. 2. If action roll passes, a second roll to determine action type. Draw this from 3 action pools (good, neutral, bad). Slavers only roll between neutral / bad, free females roll between good / neutral (??) 3. Final roll to pull a random action from the selected pool. Sugested actions: Good: Just undress you Spirits you out I'll ignore it *this* time warning Neutral: Undress + sex, per the existing gate guard Add bounty Kick out of city + bounty Bad: Sex Sex + bounty Enslavement All of that would be relatively simple to add (I know lol) Link to comment
Leoosp Posted October 27, 2022 Share Posted October 27, 2022 (edited) 2 hours ago, kaxat said: The only issue I can foresee is that the SexlabNostrip keyword changed form IDs. Which is a bit frustrating. I could do special logic for it. I could include both. Or I could do separate themes for LE and SE. I would like to avoid the latter. Huge pain to maintain 2 different things. More likely for stuff to break in LE without me knowing it. But technically another mod might also not be a straight conversion. And reorder its forms. I suspect this is exceedingly rare. This may be unfortunately unavoidable as another reason beyond number format in PapyrusUtil across Skyrim LE vs SE, that cases exist which have different FormIDs in and of itself between both games. In such that the plugin file name is the same and the modification is available on both Skyrim LE and SE, but each have different FormIDs referring to the same item in each game. So, the FormID used by the game must match the one which it is being asked to look for via PapyrusUtil in order to find it. Though this part won't be too hard to handle, when the Papyrus scripts and xEdit script has been updated to export and/or import decimal json. Though it is exceedingly rare it is worth watching out for and warning about, depending on how said modification(s) were brought to SE from LE, especially whether they required a complete rebuild from scratch. If said modification did require a rebuild from scratch; then they would definitely have different FormIDs. Edited October 27, 2022 by Leoosp Link to comment
Leoosp Posted October 27, 2022 Share Posted October 27, 2022 2 hours ago, gollum007 said: Sure My changes were pure hackery from a quick and dirty POV to resolve a couple of immediate issues, nothing more. --- If you wanted to introduce some better logic into the 'action' tree with nudity consequences to reflect roles, I'd postulate something like this: 1. Base chance of action roll. Increase this roll by say 50% for slavers. 2. If action roll passes, a second roll to determine action type. Draw this from 3 action pools (good, neutral, bad). Slavers only roll between neutral / bad, free females roll between good / neutral (??) 3. Final roll to pull a random action from the selected pool. Sugested actions: Good: Just undress you Spirits you out I'll ignore it *this* time warning Neutral: Undress + sex, per the existing gate guard Add bounty Kick out of city + bounty Bad: Sex Sex + bounty Enslavement All of that would be relatively simple to add (I know lol) Unless the morality of the "free females" causes them to lean more towards evil without being a slaver, thus they may go one of the bad category items. Also may I postulate having additionally since it is a random action, from the pool adding "Sex + Enslavement" to the bad category? Thus there would be sex and also there would be enslavement happening as well, causing a "nasty" surprise if unlucky in the bad category action roll. Link to comment
kaxat Posted October 28, 2022 Author Share Posted October 28, 2022 @gollum007 Great ideas. I think you should build them. ? Seriously though I would love to include those ideas. Currently my main focus is on making this mod independent of Reloaded. It will be a while before I start adding features like that. But if you built it I would love to link to your mod from the download page. Or include your work in this mod if given permission. If you do build it could you make the "I'll ignore it *this* time warning" a notification instead of dialogue. Dialogue requires a plugin. Until this mod is more of a standalone I have to limit new dialogue. My next big feature is moving the Enforcer MCM options to its own menu. Exciting I know. After that I can start adding the mini scenes I have been planning. Brief and varied conversation between NPCs before sex. Not only will that be great for immersion it allows me to start replacing some Reloaded dialogue with lines from this mod. Once I have replaced all of the Enforcer dialogue I will have removed another Reloaded dependency. Link to comment
Leoosp Posted October 28, 2022 Share Posted October 28, 2022 (edited) 24 minutes ago, kaxat said: @gollum007 Great ideas. I think you should build them. ? Seriously though I would love to include those ideas. Currently my main focus is on making this mod independent of Reloaded. It will be a while before I start adding features like that. But if you built it I would love to link to your mod from the download page. Or include your work in this mod if given permission. If you do build it could you make the "I'll ignore it *this* time warning" a notification instead of dialogue. Dialogue requires a plugin. Until this mod is more of a standalone I have to limit new dialogue. My next big feature is moving the Enforcer MCM options to its own menu. Exciting I know. After that I can start adding the mini scenes I have been planning. Brief and varied conversation between NPCs before sex. Not only will that be great for immersion it allows me to start replacing some Reloaded dialogue with lines from this mod. Once I have replaced all of the Enforcer dialogue I will have removed another Reloaded dependency. Anyway, as a follow on from our conversation Yesterday, I would like to mention that I have both LE and SE of Skyrim. Additionally, my system has enough storage to be able to store both titles. Also currently are waiting for mods to catch up with GOG Skyrim as are planning on switching to it, when enough have compatibility with it. Being able to install it without having to be online to do so, after downloading the offline installer is great, also allows you to have control over version which gets installed. Edited October 28, 2022 by Leoosp Link to comment
kaxat Posted October 28, 2022 Author Share Posted October 28, 2022 I did not know there was a GOG edition. That is great news. Almost worth rebuying. I will wait for a sale. I hope Starfield is a day 1 release on GOG. GOG does not force you to update the game. That is a pretty big deal if you are installing the Script Extender. Link to comment
tzkfaci Posted October 28, 2022 Share Posted October 28, 2022 Does this have its own mcm or is it added to the original slaverun mcm? thanks Link to comment
Leoosp Posted October 28, 2022 Share Posted October 28, 2022 (edited) 37 minutes ago, kaxat said: I did not know there was a GOG edition. That is great news. Almost worth rebuying. I will wait for a sale. I hope Starfield is a day 1 release on GOG. GOG does not force you to update the game. That is a pretty big deal if you are installing the Script Extender. You still need to wait for modifications to be updated as well for either a FNIS update or Nemesis (Rewrite) to see if the rewrite includes support for GOG Skyrim and creature animations. Edited October 28, 2022 by Leoosp Link to comment
kaxat Posted October 28, 2022 Author Share Posted October 28, 2022 @tzkfaci For now it uses the existing MCM. @Leoosp Good to know. Link to comment
gollum007 Posted October 28, 2022 Share Posted October 28, 2022 Actually, *most* of it is near enough do-able within the current code of the consequences function without too much real effort, as this already makes sex, stripping calls etc.- The existing one really just heads straight down a linear chance roll for each of them (hence the slaver spirit out glitch- it's the last option before the function exits ignoring them) Not really planning on heading down the Skyrim mod rabbit hole at the minute, not got enough time maintaining what I do already. [This is the username I use on NFSW stuff; I'm the sole maintainer for a quite large C# engine in the 'rest' of my spare time] Certainly happy to make (un)helpful suggestions and do a little digging from time to time though. 1 Link to comment
gollum007 Posted October 28, 2022 Share Posted October 28, 2022 OK, a quickly cooked up version of my suggested consequences function: Event OnViolateSlaverLaw(Form sender) Actor NPCActor= sender as Actor int goodChance = 33 int neutralChance = 66 if NPCActor.IsInFaction(SLV_SlaverFaction) ; A slaver can never trigger a 'good' event, and has a higher chance of bad goodChance = -1 neutralChance = 50 elseif NPCActor.GetSex() == 1 ; Assume that a female is more sympathetic to our plight goodChance = 50 neutralChance = 100 endif ; Roll to determine the type of action int actionTypeRoll = Utility.RandomInt(0,100) if actionTypeRoll <= goodChance int goodRoll = Utility.RandomInt(0,3) if goodRoll == 0 Debug.notification(NPCActor.GetLeveledActorBase().getName() + " is looking at me suspiciously. I'd better strip off quickly before he calls the guards!") return eliseif goodRoll == 1 SLV_PunishmentRunning.setValue(1) rescueer.ForceRefTo(NPCActor) return else ; ignores completely return endif elseif actionTypeRoll <= neutralChance Debug.notification(NPCActor.GetLeveledActorBase().getName() + " rips your clothes off for violating the slaverun laws.") myScripts.SLV_SexlabStripNPC(Game.GetPlayer()) myScripts.SLV_StripBothHands(Game.GetPlayer()) int neutralRoll = Utility.RandomInt(0,3) if neutralRoll == 0 SLV_PunishmentRunning.setValue(1) punisher.ForceRefTo(NPCActor) return elseif neutralRoll == 1 CrimeFactionWhiterun.ModCrimeGold(MCMMenu.NudityCrimeAmount,true) SLV_PunishmentRunning.setValue(1) punisher.ForceRefTo(NPCActor) return else CrimeFactionWhiterun.ModCrimeGold(MCMMenu.NudityCrimeAmount,true) SLV_PunishmentRunning.setValue(1) rescueer.ForceRefTo(NPCActor) return endif else Debug.notification(NPCActor.GetLeveledActorBase().getName() + " rips your clothes off for violating the slaverun laws.") myScripts.SLV_SexlabStripNPC(Game.GetPlayer()) myScripts.SLV_StripBothHands(Game.GetPlayer()) int badRoll = Utility.RandomInt(0,2) if badRoll == 0 CrimeFactionWhiterun.ModCrimeGold(MCMMenu.NudityCrimeAmount,true) SLV_PunishmentRunning.setValue(1) punisher.ForceRefTo(NPCActor) return else if SLV_Main.getstage() >= 1000 && !Game.getplayer().IsInfaction(SLV_SlaveFaction) && !Game.getplayer().IsInfaction(SLV_SlaverFaction) SLV_PunishmentRunning.setValue(1) enslaver.ForceRefTo(NPCActor) else Debug.notification("Some slavers knock you down.") sendModEvent("SlaverunReloaded_ForceEnslavement") return else endif endif EndEvent Not tested or compiled (but should work), and I'm afraid it'll ignore the MCM toggles for available punishment types. I can compile this and add support for the MCM toggles if there's interest, I suppose would want something like a notification message, e.g. Alvor would have fined you 1000 gold, but that's disabled- Lucky you! 1 Link to comment
kinkeag Posted October 29, 2022 Share Posted October 29, 2022 Hi im on LE and have been struggling for a bit, kept getting an error saying "missing value in [outfits_apply], im assuming i just need too set an outfit in the slaverunoutfitsfree file right? So how do i set outfit themes? Also when i boot a new save with both slaverun reloaded and enforcers the message "updating slaverun mcm has started" and nothing happens, can't see a menu for slaverun. i get around it by launching slaverun first, let it throw a temper tantrum for a bit about dd 5.0, save, then enable enforcers and boot. but this is where i get the error message from the begining. You can tell me if im a dumbass and i've been doing it all wrong, appreciate the help! Link to comment
kaxat Posted October 29, 2022 Author Share Posted October 29, 2022 @kinkeag It's not you it's me. ? Version 0.5 has that JSON bug on LE. It also dislikes it when you start a new game instead of upgrading. My mistake! I have been working on fixes. The attached file contains a preview of version 0.6. It's not the final 0.6 but it does contain a fix for both the issues you encountered. And so far my testing shows no new issues. If you would not mind downloading and seeing if it works for you I would be grateful. I do not actually have LE installed. Which is why I did not catch the JSON bug. This should fix the JSON issue but I can not verify without help. Slaverun Enforcer - Standsalone v0_6 Preview.7z Link to comment
kinkeag Posted October 29, 2022 Share Posted October 29, 2022 3 hours ago, kaxat said: @kinkeag It's not you it's me. ? Version 0.5 has that JSON bug on LE. It also dislikes it when you start a new game instead of upgrading. My mistake! I have been working on fixes. The attached file contains a preview of version 0.6. It's not the final 0.6 but it does contain a fix for both the issues you encountered. And so far my testing shows no new issues. If you would not mind downloading and seeing if it works for you I would be grateful. I do not actually have LE installed. Which is why I did not catch the JSON bug. This should fix the JSON issue but I can not verify without help. Slaverun Enforcer - Standsalone v0_6 Preview.7z 199.97 kB · 5 downloads Ohhh, no sweat, i'll test it in bit, thanks for the clarification and update! From what i could get working, its a lovely enhancement to an already great mod! Link to comment
kinkeag Posted October 29, 2022 Share Posted October 29, 2022 @kaxat Brilliant, works fantastically, im still unsure as to how to apply outfit themes to freed women, the only box im given to tick is "strip free woman". Do i have to download my own outfit mods or are some provided with this mod? And if i have to download them, anyone got any recommendations? Thanks so much for the update, really appreciate it! Link to comment
gollum007 Posted October 29, 2022 Share Posted October 29, 2022 Bugs: The Bannered Mare appears to be outside the enforcer zone of control. ---- Scripting: Fixed the papyrus errors so the thing compiles, and made it work OK with the MCM toggles. Compiled version attached Have also added some reasonably appropriate text for when things are disabled. Did consider adding a reference to the MCM, but that just gets irritating after a few minutes. I suppose that you could probably use a once only bool flag to add a MCM note, but meh. Event OnViolateSlaverLaw(Form sender) Actor NPCActor= sender as Actor int goodChance = 33 int neutralChance = 66 if NPCActor.IsInFaction(SLV_SlaverFaction) ; A slaver can never trigger a 'good' event, and has a higher chance of bad goodChance = -1 neutralChance = 50 elseif NPCActor.GetLeveledActorBase().getSex() == 0 if NPCActor.IsInFaction(SLV_SlaveFaction) ; A slave has a small chance of ignoring / spiriting out and a bad end, but will likely be neutral goodChance = 10 neutralChance = 90 else ; Assume that a free female is more sympathetic to our plight goodChance = 50 neutralChance = 100 endif endif ; Roll to determine the type of action int actionTypeRoll = Utility.RandomInt(0,100) if actionTypeRoll <= goodChance int goodRoll = Utility.RandomInt(0,3) if goodRoll == 0 Debug.notification(NPCActor.GetLeveledActorBase().getName() + " is looking at me suspiciously. I'd better strip off quickly before he calls the guards!") return elseif goodRoll == 1 if MCMMenu.NudityRescue SLV_PunishmentRunning.setValue(1) rescueer.ForceRefTo(NPCActor) else Debug.notification(NPCActor.GetLeveledActorBase().getName() + " is sympathetic with your plight, but can't be bothered to rescue you.....") endif return else ; ignores completely return endif elseif actionTypeRoll <= neutralChance Debug.notification(NPCActor.GetLeveledActorBase().getName() + " rips your clothes off for violating the slaverun laws.") myScripts.SLV_SexlabStripNPC(Game.GetPlayer()) myScripts.SLV_StripBothHands(Game.GetPlayer()) int neutralRoll = Utility.RandomInt(0,3) if neutralRoll == 0 if MCMMenu.NudityPunishment SLV_PunishmentRunning.setValue(1) punisher.ForceRefTo(NPCActor) else Debug.notification(NPCActor.GetLeveledActorBase().getName() + " doesn't seem inclined to do anything else. A lucky escape.....") endif return elseif neutralRoll == 1 if MCMMenu.NudityCrime CrimeFactionWhiterun.ModCrimeGold(MCMMenu.NudityCrimeAmount,true) endif if MCMMenu.NudityPunishment SLV_PunishmentRunning.setValue(1) punisher.ForceRefTo(NPCActor) else Debug.notification(NPCActor.GetLeveledActorBase().getName() + " doesn't seem inclined to do anything else. A lucky escape.....") endif return else if MCMMenu.NudityCrime CrimeFactionWhiterun.ModCrimeGold(MCMMenu.NudityCrimeAmount,true) endif if MCMMenu.NudityRescue SLV_PunishmentRunning.setValue(1) rescueer.ForceRefTo(NPCActor) else Debug.notification(NPCActor.GetLeveledActorBase().getName() + " is sympathetic with your plight, but not enough to fail to report it to the guards.....") endif return endif else Debug.notification(NPCActor.GetLeveledActorBase().getName() + " rips your clothes off for violating the slaverun laws.") myScripts.SLV_SexlabStripNPC(Game.GetPlayer()) myScripts.SLV_StripBothHands(Game.GetPlayer()) int badRoll = Utility.RandomInt(0,3) if badRoll == 0 if MCMMenu.NudityCrime CrimeFactionWhiterun.ModCrimeGold(MCMMenu.NudityCrimeAmount,true) endif if MCMMenu.NudityPunishment SLV_PunishmentRunning.setValue(1) punisher.ForceRefTo(NPCActor) else Debug.notification(NPCActor.GetLeveledActorBase().getName() + " doesn't seem inclined to do anything else. A lucky escape.....") endif return elseif badRoll == 1 if MCMMenu.NudityCrime CrimeFactionWhiterun.ModCrimeGold(MCMMenu.NudityCrimeAmount,true) endif if MCMMenu.NudityEnslavement if SLV_Main.getstage() >= 1000 && !Game.getplayer().IsInfaction(SLV_SlaveFaction) && !Game.getplayer().IsInfaction(SLV_SlaverFaction) SLV_PunishmentRunning.setValue(1) enslaver.ForceRefTo(NPCActor) else Debug.notification("Some slavers knock you down.") sendModEvent("SlaverunReloaded_ForceEnslavement") endif else Debug.notification(NPCActor.GetLeveledActorBase().getName() + " doesn't seem inclined to do anything else. A lucky escape.....") endif return else if MCMMenu.NudityEnslavement if SLV_Main.getstage() >= 1000 && !Game.getplayer().IsInfaction(SLV_SlaveFaction) && !Game.getplayer().IsInfaction(SLV_SlaverFaction) SLV_PunishmentRunning.setValue(1) enslaver.ForceRefTo(NPCActor) else Debug.notification("Some slavers knock you down.") sendModEvent("SlaverunReloaded_ForceEnslavement") endif else Debug.notification(NPCActor.GetLeveledActorBase().getName() + " doesn't seem inclined to do anything. You've been lucky, this time....") endif endif endif EndEvent You're more than welcome to this if it suits, no strings attached. EventHandler.zip Link to comment
Cleave Posted October 29, 2022 Share Posted October 29, 2022 (edited) @gollum007 Bugs: The Bannered Mare appears to be outside the enforcer zone of control. No, it's normal. It has been said in the thread earlier that the Bannered Mare stays free at first, but apparently there is a quest later in slaverun to enslave it. I also thought at first that it was a forgotten area.... looks like nobody bothers to play the whole quest haha Edited October 29, 2022 by Cleave Link to comment
gollum007 Posted October 29, 2022 Share Posted October 29, 2022 That's interesting, but shows one of the rather inconsitant parts of Slaverun itself. The slavers have picked up several cities in other holds, but not the tavern in Whiterun Probably makes sense if playing the quest inline, but not using the enforcer standalone as per this mod intends. MCM toggle? Link to comment
kaxat Posted October 29, 2022 Author Share Posted October 29, 2022 No moar MCM options! If you lot had your way there would be an MCM option for closing your eyes when you sneeze. And separate sliders for how far to close each eye. I am kidding. I love the fans of these mods. And the MCM options helped make Reloaded awesome. But I am thoughtfully adding MCM options. They delay new features and introduce room for bugs. I keep adding them anyways. But only when they seem unlikely to introduce branches that require lots of separate testing. Once the Enforcer has a standalone location checker the Bannered Mare will be included regardless of story progression. Speaking of MCM options thank you for adding support for those to your script @gollum007. That was the main thing that made me hesitant to include it in the previous version. People love options. I hope to include your new work in the next update. Seems as you already gave permission. I want to confirm. Do you mind if I include the script and give credit? @kinkeag We are still waiting on people skilled with xEdit to add more outfit themes. At present the only outfit themes for Free woman do not give them interesting new clothes. Just prevent stripping of old ones. Sad face. But hopefully with a few bug fixes we can attract more people will to help build those themes in xEdit. I can do it but I do not have as many clothing mods as some. I think others are in a better position to help add themes. Then I can keep working on new behaviors. If we do not get any community themes though I will probably build a couple. 1 Link to comment
Corsec Posted October 29, 2022 Share Posted October 29, 2022 10 minutes ago, kaxat said: We are still waiting on people skilled with xEdit to add more outfit themes. At present the only outfit themes for Free woman do not give them interesting new clothes. Just prevent stripping of old ones. Sad face. But hopefully with a few bug fixes we can attract more people will to help build those themes in xEdit. I can do it but I do not have as many clothing mods as some. I think others are in a better position to help add themes. Then I can keep working on new behaviors. If we do not get any community themes though I will probably build a couple. Yeah, yeah, I get the hint but I almost didn't notice since you were being so subtle. I've just started the process of updating and remaking my SSE modlist so I'll probably be available to support outfit themes in a few weeks. Before that I have a large backlog of stuff to do, and I was putting it all off until I had the mental energy to commit to doing it all. Note that if anyone else tries it then they should know that adding many DDs to many NPCs has a script overload problem so I don't recommend it. It's why I switched to non-DDs. But if you want to do that then you should start by using my DD patches from LE as a base because they contain a large set of predefined DD outfits. There are also outfit sets for the DDequip mod by Inte, I think maybe Nymra has uploaded a DDequip outfit list on his Naked Defeat modpage. Non-DD by contrast has far fewer outfits available because a lot of DDs just don't really work without scripts (petsuits and suchlike) because they require custom animations. It gets a lot more interesting if you use mostly non-DDs as a base and then add a few DDs but I haven't got around to doing that yet. Also DAR can potentially handle the custom animations so maybe it can be done without scripts. 3 Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now