dkatryl Posted January 3, 2014 Author Posted January 3, 2014 I didn't entirely throw out the deleted code, so changes can always be reverted. But I always found the way the OnHit() event was handled to be HORRIBLY inefficient, and just seems like a HUGE papyrus overhead to have to keep running the event each time you took damage. And not just per weapon swing, but imagine multiple casters each hitting you with channeled spells, each ticking several times a second. All that overhead to run a glorified X>Y check over and over and over, it just seemed so horribly inefficient. Especially since I had no way to suppress the OnHit() from running out the calculations when the hit was done by stuff that wasn't even a valid target to begin with! So yeah, it worked, but I was never fond of it once the creature support got added and I could no longer the happy HasKeyword("ActorTypeNPC") check. And speaking of updates, I, ehm, already have another one ready to go... I added another MCM option to declare the player's sexual preference for purposes of the speech dialog options for consensual sex. A slider between 0-2, with Hetero, Homo, and Bi being the 3 options. So, heterosexual male players would only see the "Hold up a moment" with a female NPCs (vice versa for female), homosexual male players would only see it with male NPCs (vice versa for female), and bisexual players would see it with any NPC. I'll wait for feedback from today's change and see what may need to be done before I update again.
MonaBabii Posted January 3, 2014 Posted January 3, 2014 That's the beauty of chance though In my head, the 1% chance to get raped starting at 90%~ health was basically like saying I got a critical hit of sorts, something that threw me completely off (with a bit of imagination on my part xD), and the more I play with that exact setup the less I'm getting raped actually lol, because it forces me to really keep on my toes, block only when absolutely necessary and try and doge -always-. At the end of the day combat in Skyrim isn't -all- that difficult and the AI isn't exactly smart so if I get hit a few times I know it was most likely my fault. I dunno, I'm just having a royal blast playing that way but yeah I understand that's up to personal preference, and my personal playstyle is indeed very personal lol. So still kudos to DK for coming up with a really good way to tackle the whole thing Just sad that it had to come at the expensive of my favorite 2 settings in the mod Edit: Ninja post by DK Yeah I understand the current method my game is using is probably very inefficient lol, but funnily enough it has been my most stable game to date, so I just can't help being sad over it xD having experienced absolutely no issues with anything lol. Aside from upgrading to SexLab 1.34 and not being able to trigger sex (which made me revert it to 1.31) everything has been working flawlessly. On the bright side it's good to know that all mods are slowly making their way there to be just as stable
Ashra XIII Posted January 3, 2014 Posted January 3, 2014 I didn't entirely throw out the deleted code, so changes can always be reverted. But I always found the way the OnHit() event was handled to be HORRIBLY inefficient, and just seems like a HUGE papyrus overhead to have to keep running the event each time you took damage. And not just per weapon swing, but imagine multiple casters each hitting you with channeled spells, each ticking several times a second. All that overhead to run a glorified X>Y check over and over and over, it just seemed so horribly inefficient. Especially since I had no way to suppress the OnHit() from running out the calculations when the hit was done by stuff that wasn't even a valid target to begin with! So yeah, it worked, but I was never fond of it once the creature support got added and I could no longer the happy HasKeyword("ActorTypeNPC") check. Oh god I forgot about the spells, which would pretty much always make me give up because each 'tick' created a chance for surrender, enough that it was basically guaranteed. I am so glad to see that gone. That's the beauty of chance though In my head, the 1% chance to get raped starting at 90%~ health was basically like saying I got a critical hit of sorts, something that threw me completely off (with a bit of imagination on my part xD), and the more I play with that exact setup the less I'm getting raped actually lol, because it forces me to really keep on my toes, block only when absolutely necessary and try and doge -always-. At the end of the day combat in Skyrim isn't -all- that difficult and the AI isn't exactly smart so if I get hit a few times I know it was most likely my fault. I dunno, I'm just having a royal blast playing that way but yeah I understand that's up to personal preference, and my personal playstyle is indeed very personal lol. So still kudos to DK for coming up with a really good way to tackle the whole thing Just sad that it had to come at the expensive of my favorite 2 settings in the mod That's why I have Defeat running at a relatively high health percent, because with Defeat, your character is getting 'knocked down', and that can happen anytime during the chaos of combat. With Submit, my character is actually throwing her hands up and saying 'I can't beat you', which annoys the crap outta me when it happens mid-fight, especially when I don't think I would have lost. Skyrim combat isn't that difficult by default, but mods like Ultimate Combat do help spice it up, changing the way combat damage works, improving AI, and adding stagger effects. Or you can just raise the difficulty. Try playing Requiem and tell me Skyrim combat can't be brutal.
dkatryl Posted January 3, 2014 Author Posted January 3, 2014 Since I do still have a copy of the deleted code, I am thinking of adding it back in, with some changes. Previously, the Auto Surrender code was turned on if you set the threshold slider to 1% or more. That part will be gone, as the simple toggle does that. So now, you can set the threshold slider from 0-100%, in addition to the chance slider, and have it work exactly as it did before, the only addition being the death-proofing. To make it work like it currently works (without the sliders), simply lower the threshold to 0%. If set to 0%, I'll add a check for that value within the OnHit() event, and if it == 0, it will do nothing. So while the OnHit() will still be getting called with each hit, it won't be actually running any code. Considering the more I think about it, the less inclined I am to make any kind of SD support, that is probably the best compromise. Allows people that were perfectly happy with the old system to basically keep it exactly the same with the added benefit of death proofing, and the people that are perfectly happy with how it is in the latest version to have that. Since I'm sitting on the sexual preference stuff anyway, might as well just do the above and push it out tonight. Either way, I'm revising the MCM files yet again.
Ashra XIII Posted January 3, 2014 Posted January 3, 2014 So that means the Papyrus benefit of the new method will be reverted as the mod resumes doing OnHit() checks with every hit, or will it not do them if the setting is 0% and only do the death-proofing?
MonaBabii Posted January 3, 2014 Posted January 3, 2014 @DK: Omg yay Thanks for that! I'm sorry if it's an extra pain in the ass to do it that way lol and for pestering so much, but mixing the best of two worlds would be perfect indeed @Ashra: Don't get me wrong, I like it that Skyrim isn't exactly difficult and I can't say I like mods that actually make the AI smarter lol. My whole point is that things like that specific feature in Submit allows me to have my very own personal "difficulty" level, something no other mod can provide me with, aside from SL Defeat but... my previous game, before my last break SL Defeat would cause me a ton of headaches, and once I discovered that Submit would at its very core do the same thing, with none of the bad things happening it was a case of Switch to Submit and never look back. To this date I'm sticking to that That's not to say SL Defeat is bad, or that it hasn't been updated since. It may have been and for all I know it may function perfectly, but until a few minutes ago there was just no reason to even think of switching to that one but now that DK is thinking that over, shoot... not even thinking about it anymore
b00marrows Posted January 3, 2014 Posted January 3, 2014 i have been using this mod for about 3 days now, love it! but I only use it to rape. requests: "death proof": option for enemy's. i'm getting fed up of occidentally killing people I wanted to rape (maybe if you fail a shout/grab it toggles it on? and after a success its reset off so you can finish them off/turn them in?) "knock-out" : after a successful ambush/grapple (not shout) you have the option to "knock em out", to save them for later if you know what I mean.... OR an option to make it so the victim is knocked out automatically until you interact with them? nicer grapple : its a little harsh punching them in the face, haha. maybe a arm grab twist? if you can get the animation.
Slammer64 Posted January 3, 2014 Posted January 3, 2014 I have a similar problem b00marrows, I run with companions, I get a nice looking bandit lady to submit to my aggressive advances, and BOOM! one of my companions pulls a killmove on her! Poor Dovakiin can't win for losing...
dkatryl Posted January 3, 2014 Author Posted January 3, 2014 So that means the Papyrus benefit of the new method will be reverted as the mod resumes doing OnHit() checks with every hit, or will it not do them if the setting is 0% and only do the death-proofing? Sorta halfway reverted. The OnHit() will trigger with each hit, but if the setting is at 0%, it will skip all of the code, effectively doing nothing. The overhead, while technically more than not having the OnHit() trigger at all, will be significantly reduced. For a visual reference: Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked) If (_SLConfig.AutoSubmit > 0) If (_SLConfig.modActive && ((PlayerRef.GetAV("Health")/PlayerRef.GetBaseAV("Health")) < (_SLConfig.AutoSubmit)) && PlayerRef.GetRace() != Werewolf && PlayerRef.GetRace() != DLC1VampireBeast && _SLSubmitSurrenderGlobal.GetValue() == 0) ChanceSpan = 100 - _SLConfig.AutoSubmitChance HealthSpan = _SLConfig.AutoSubmit - (PlayerRef.GetAV("Health")/PlayerRef.GetBaseAV("Health")) ChancePoint = ChanceSpan / _SLConfig.AutoSubmit SuccessChance.SetValue(_SLConfig.AutoSubmitChancePercent + ChancePoint * HealthSpan) If (SuccessChance.GetValue() > 100.0) SuccessChance.SetValue(100.0) EndIf SuccessRoll.SetValue(Utility.RandomInt(0, 100)) If ( SuccessChance.GetValue() > SuccessRoll.GetValue()) _SLSubmitSurrenderGlobal.SetValue(1) _SLSubmitAssign.Cast(PlayerRef) _SLSubmitSurrender.Cast(PlayerRef) EndIf EndIf EndIf EndEvent That is what was being done on EVERY hit, even if the target is invalid, given that the first argument of the OnHit() was an Object, not an Actor so I couldn't exclude invalid targets. This is what will be done if the setting is >= 1%. This is what it will effectively see on every hit if the setting is == 0%: Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked) If (_SLConfig.AutoSubmit > 0) EndIf EndEvent So, technically, more than not having the OnHit() at all, but still significantly less.
nutluck Posted January 3, 2014 Posted January 3, 2014 I was getting ready to upload, and then a thought just occurred to me: With the new 'Death Proof' auto surrender, having any kind of a threshold above 1% is pointless. In fact, having ANY threshold is pointless. The entire point of a threshold is to give you a safety buffer to allow a hit to drop you below that point but not kill you. Well, if you don't actually die now, then there is no point to this buffer. Which means, there is no point to the MCM threshold setting OR the surrender chance setting. Instead, it just needs a binary toggle, auto surrender on or not. When you get hit hard enough for the 'death proofing' to kick in, you drop to a bleedout anyway, which makes more sense then automatically doing the hands raised. If you want to decide to manually surrender before 0%, that's fine, but then you would just sheathe your weapon and surrender, hands raised. So, I am going to remove the MCM threshold and chance setting, replace them with a simple on/off toggle for the auto surrender, and it will now kick in if you hit 0 life, pure and simple. This has a side benefit of freeing up what is likely a VERY script intensive routine for slower machines, as it currently has to do the OnHit() event check for EVERY hit on the player, which if you factor in channeled spells and such, can be very taxing on older machines. Ok that makes sense, but I have a question comment about it. I have been running defeat and submit together. Defeat higher up as a option to have my character "knocked senseless" and then take advantage of. With defeat having a minimum threshold of 25% and then having submit set to kick in at 20% with a very high chance to kick in. So my question/comment is, with this change what would need to be set to allow them both to be used but avoid the chance of them both triggering. I am guessing submit now will only kick in when the character is very low on health but just want to be sure, so I can tweak defeat minimum setting up over it to give a buffer between the mods, to avoid any glitches.
dkatryl Posted January 3, 2014 Author Posted January 3, 2014 I have a similar problem b00marrows, I run with companions, I get a nice looking bandit lady to submit to my aggressive advances, and BOOM! one of my companions pulls a killmove on her! Poor Dovakiin can't win for losing... I was pondering toggling on Protected status during the various functions (Shout/Grapple/Ambush/etc) and then toggling it off at the end of each one for that very reason the other day, I just didn't go through with it. I suppose it has merit. I am only going to put them at Protected status, however, that way, if it gets stuck, the player can kill Protected NPCs, they just can't be killed by other NPCs. Essential, on the other hand, can cause all sorts of problems if that flag got stuck for some reason.
nutluck Posted January 3, 2014 Posted January 3, 2014 I get the feeling that they are going to conflict, unless the mods are aware of one another. I would expect as much. For the moment, I'm just going to let it ride the way it is, make sure everything is working for other people. Provided it doesn't make everyone's Skyrim uninstall itself or something catastrophic and the new update proves to be stable, if I do anything about SD, I will probably take a page out of the Arousal indirect support, and do an installed mod check for SD, and make an MCM option to have SD take over at 0%. Not a guarantee, but it is something I'm considering. That said, I'll go ahead and just head off any suggestions/requests on the subject: No, I don't plan on doing the same for Defeat. Not because I hate that Goubo guy or anything, but I just don't see enough of a different between Defeat and Submit in this regard. Last I checked, Defeat's 'player surrender' scenario was basically you drop down, get raped, and then the bandits would still try to kill you. Unless that has changed remarkably since I last looked several months back, that doesn't sound significantly different enough from Submit to have my mod build in a way to give preference to that over Submit. Just turn auto surrender off and use Defeat's. SD, on the other hand, from what little I know of it, is entirely built around after you reach zero, and the gameplay is completely changed after that point. I dabble in it a bit with the binding and escaping, but that is the core feature of SD, so I can appreciate people preferring that. But then, I'm not sure exactly what purpose it would serve to do all this that would functionally be any different than simply turning off Submit's auto-surrender and just using SD's, other than as a redundant method to prevent death? So, like I said, not guaranteed I'll do this, but I am considering it. Well the one thing defeat does submit doesn't is it tags all the bandits around to take a turn on the PC instead of just two. So I have been tweaking the two of them so they work back to back. So my character gets beat down, all the bandits have a turn, they attack again, submit kicks in, two more bandits take a turn(not idle but works) then character ends up tied up and has to escape. My way of having my cake and eating it too so to speak. I don't need to use defeat and this, it was just a nice bonus cause it filled in the one area I personally wish Submit did, which is tag all NPC's in the area to take a turn before being tied up. It is just a little immersion breaking for me to have 3-5 bandits, 2 of them take turns and the rest just watch and walk off. I can't help but think if that happened they would all take a turn. Anyways regardless Submit is a great mod and you do great work. I am just pointing out why defeat and submit can still be used together and are slightly different enough some of us still like to use both. That is unless someday you decided to add all NPC's in the area to submit.
dkatryl Posted January 3, 2014 Author Posted January 3, 2014 i have been using this mod for about 3 days now, love it! but I only use it to rape. requests: "death proof": option for enemy's. i'm getting fed up of occidentally killing people I wanted to rape (maybe if you fail a shout/grab it toggles it on? and after a success its reset off so you can finish them off/turn them in?) "knock-out" : after a successful ambush/grapple (not shout) you have the option to "knock em out", to save them for later if you know what I mean.... OR an option to make it so the victim is knocked out automatically until you interact with them? nicer grapple : its a little harsh punching them in the face, haha. maybe a arm grab twist? if you can get the animation. The first item, see previous post. The next two, no. Not trying to add complexity to it on the first one, and the animations are all stock Skyrim killmoves that I have to time the abort on each to avoid the victim getting the built in Kill() triggered by the animation. The ones used were chosen because they were: 1) Unarmed, 2) Had sufficient length to see something before I had to abort to avoid the Kill().
dkatryl Posted January 3, 2014 Author Posted January 3, 2014 Well the one thing defeat does submit doesn't is it tags all the bandits around to take a turn on the PC instead of just two. So I have been tweaking the two of them so they work back to back. <snip> Anyways regardless Submit is a great mod and you do great work. I am just pointing out why defeat and submit can still be used together and are slightly different enough some of us still like to use both. That is unless someday you decided to add all NPC's in the area to submit. Huh, Goubo must have made a crap load of Alias slots or something to house a crap load of potential bandit dudes. I don't know how else it would be done.
dkatryl Posted January 3, 2014 Author Posted January 3, 2014 Ok that makes sense, but I have a question comment about it. I have been running defeat and submit together. Defeat higher up as a option to have my character "knocked senseless" and then take advantage of. With defeat having a minimum threshold of 25% and then having submit set to kick in at 20% with a very high chance to kick in. So my question/comment is, with this change what would need to be set to allow them both to be used but avoid the chance of them both triggering. I am guessing submit now will only kick in when the character is very low on health but just want to be sure, so I can tweak defeat minimum setting up over it to give a buffer between the mods, to avoid any glitches. The version currently up (02JAN14 1610) Submit's auto surrender kicks in at 0% health, pure and simple. I am working on a revision right now that will revert part of the change, re-adding the threshold/chance sliders, with small changes that have been detailed in previous posts. Either way, they would largely work together the same way you already have it: Keep Defeat's threshold where you had it, set Submit's to 0% or something much lower.
nutluck Posted January 3, 2014 Posted January 3, 2014 Guess I should have read the whole thread before responding. It still sounds like it should work with defeat as before. Now I can just leave submit to 0% so on what would have been "death" instead if makes the no death submit trigger and I can set defeat to work the rest of the time with it set to about 10% minimum. I will have to test it but it looks like it should work fine that way and not cause glitches.
nutluck Posted January 3, 2014 Posted January 3, 2014 Ok that makes sense, but I have a question comment about it. I have been running defeat and submit together. Defeat higher up as a option to have my character "knocked senseless" and then take advantage of. With defeat having a minimum threshold of 25% and then having submit set to kick in at 20% with a very high chance to kick in. So my question/comment is, with this change what would need to be set to allow them both to be used but avoid the chance of them both triggering. I am guessing submit now will only kick in when the character is very low on health but just want to be sure, so I can tweak defeat minimum setting up over it to give a buffer between the mods, to avoid any glitches. The version currently up (02JAN14 1610) Submit's auto surrender kicks in at 0% health, pure and simple. I am working on a revision right now that will revert part of the change, re-adding the threshold/chance sliders, with small changes that have been detailed in previous posts. Either way, they would largely work together the same way you already have it: Keep Defeat's threshold where you had it, set Submit's to 0% or something much lower. And now I really should have read the whole thread as you now confirmed it should work as before only I can set submit all the way down and leave defeat for a bit of random. Cool thanks for all the hard work. And I do mean hard work you have come out with 2 updates since I last played and updated my game and it sounds like you are about to make another update. That's crazy, cool and great for us but crazy.
Guest tomm434 Posted January 3, 2014 Posted January 3, 2014 dkatryl, Is this possible to apply submit to quest characters? For example, if i want to take Astrid in for a bounty. Now it is not possible because the dialogue doesn't show up when she is down and she just stands up and fights my character again.And about last update - Turning stormcloaks is awesome! Good idea. Great for immersion. Of course it would be better if soldiers took prisoners for interrogation o but I understand that there will be to many scripts and also you have other more important things to worry about
dkatryl Posted January 3, 2014 Author Posted January 3, 2014 dkatryl, Is this possible to apply submit to quest characters? For example, if i want to take Astrid in for a bounty. Now it is not possible because the dialogue doesn't show up when she is down and she just stands up and fights my character again. And about last update - Turning stormcloaks is awesome! Good idea. Great for immersion. Of course it would be better if soldiers took prisoners for interrogation o but I understand that there will be to many scripts and also you have other more important things to worry about Stormcloak/Imperial bounty turn ins have been requested many times, and it definitely fit the overall feel of the mod. Astrid should technically be a valid turn in as well, given that her Aggression is a 1 (Attacks enemies on sight). I don't know why the calm effect isn't doing the trick on her, but, eh, she's also a quest character, and the bounty is a side feature, so I'm not going to really devote any brain space to that one. Edit: It looks like reverting the OnHit() stuff plus the edits are done. Now I just have to revert the MCM translation file edits, as well as make sure all of the new sexual preference stuff is in all of the various languages, bundle it all and update.
nutluck Posted January 3, 2014 Posted January 3, 2014 dkatryl, Is this possible to apply submit to quest characters? For example, if i want to take Astrid in for a bounty. Now it is not possible because the dialogue doesn't show up when she is down and she just stands up and fights my character again. And about last update - Turning stormcloaks is awesome! Good idea. Great for immersion. Of course it would be better if soldiers took prisoners for interrogation o but I understand that there will be to many scripts and also you have other more important things to worry about Stormcloak/Imperial bounty turn ins have been requested many times, and it definitely fit the overall feel of the mod. Astrid should technically be a valid turn in as well, given that her Aggression is a 1 (Attacks enemies on sight). I don't know why the calm effect isn't doing the trick on her, but, eh, she's also a quest character, and the bounty is a side feature, so I'm not going to really devote any brain space to that one. Edit: It looks like reverting the OnHit() stuff plus the edits are done. Now I just have to revert the MCM translation file edits, as well as make sure all of the new sexual preference stuff is in all of the various languages, bundle it all and update. Very cool, I will just wait for that update before updating my current game. Since several mods also recently came out with updates. I will just do them all in one good. Again good work.
dkatryl Posted January 3, 2014 Author Posted January 3, 2014 Most Recent Changes02JAN14 2232 Reverted - Auto Surrender Threshold and Chance sliders were put back in. The Death Proof auto surrender still exists, so if you have the MCM toggle for Auto Surrender turned on and the threshold set to 0%, you will just surrender at 0 health as with the previous 02JAN14 1610 update. Added - Sexual Preference slider in the MCM for the Speechcraft dialog options. Added - Ambush, Shout, Grapple attempts will set the target to Protected to avoid your followers from accidentally killing your target in their enthusiasm. This flag will simply be left on, as Protected NPCs can still be killed by the player.
MonaBabii Posted January 3, 2014 Posted January 3, 2014 Thank you for the update DK I'm in the works of starting a new character now with all the new updates and what not and I'll give the latest update a go! Also the issue with Astrid, could it be that she is essential? The moment you agree to doing what she requests in the Abandoned Shack, the "Kill the Darkbrotherhood" quest is gone, and she goes from mortal to immortal. The only way she can die is at the end of the DB's questline where she actually requests you to kill her But again, even if that wasn't the case and the bounty thing actually worked on her, that's a very good thing it doesn't lol it would completely screw over an entire section of the game, Skyrim being known for having more interesting "Guild" type story-lines than the main story itself.
Ashra XIII Posted January 3, 2014 Posted January 3, 2014 Yes the only time Astrid can die is when you first meet her in the Abandoned Shack. After that, she's essential so you wouldn't be able to turn her in for a bounty. However, I've noticed that when NPCs have custom sets of dialogue, I often can't use the Submit dialogues on them. For instance, at Robber's Gorge there is a bandit camp, and when you approach it there is a guy that tries to get you to pay a toll. After beating him down and successfully using the 'Submit' hotkey, he would only have the dialogue options to pay or not pay the toll he was demanding... none of the Submit stuff was there at all. The new update does look cool... even though I'm not interested in putting the slider back into use, having the mod set my victims to 'Protected' is pretty great. Oh how many times I've had a victim on their knees only for them to be killed by a guard, or wolf, or other random thing. So even though I don't use companions it's a boon for me!
dkatryl Posted January 3, 2014 Author Posted January 3, 2014 Yes the only time Astrid can die is when you first meet her in the Abandoned Shack. After that, she's essential so you wouldn't be able to turn her in for a bounty. However, I've noticed that when NPCs have custom sets of dialogue, I often can't use the Submit dialogues on them. For instance, at Robber's Gorge there is a bandit camp, and when you approach it there is a guy that tries to get you to pay a toll. After beating him down and successfully using the 'Submit' hotkey, he would only have the dialogue options to pay or not pay the toll he was demanding... none of the Submit stuff was there at all. The new update does look cool... even though I'm not interested in putting the slider back into use, having the mod set my victims to 'Protected' is pretty great. Oh how many times I've had a victim on their knees only for them to be killed by a guard, or wolf, or other random thing. So even though I don't use companions it's a boon for me! I suspect what is happening there is the NPC in question has blocking dialog that is being used, which by its name, blocks top-level dialogs, which is what the Submit or Die! and such stuff is considered. As to the sliders, yep, just set the Threshold to 0% and it will be basically like they weren't there.
Skyrimfloo Posted January 3, 2014 Posted January 3, 2014 Before even testing it, I gotta say this mod seems awesome. I've been using Defeat, and I was kinda missing some hotkey control from it, but I was rather doubtful to do the jump since I like the bestiality options. Fortunately I found out that both mods run pretty well together, so I'll probably do that and enjoy everything.
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