Jump to content

Devious Devices Framework Development/Beta


Recommended Posts

So I've been having some issues with the furniture. I can place them down and put npcs in them just fine, but if I leave the area and come back, the contraptions that had npcs in them have moved all over the the place and some simply disappeared. This happens with every contraption, no exception. Is this feature like this normally or is it a problem on my end? I'm using beta 7 by the way.

Link to comment

Dev question:

All catsuits, dresses, straitjackets are meant to be chaste unless the AllowVaginal or AllowAnal keywords are added, right?

If that's the case, what happens when the player is wearing a catsuit without those keywords, while wearing an AllowAnal chastity belt?

Link to comment
On 8/2/2022 at 3:01 PM, titlover123 said:

Hello @Kimy it's me ya boi titlover123.
I asked a few months ago if there could be made something that allows one to modify the chance of getting one or multiple of the unique effects for DD gear, like, not being able to have it's lock picked, being un-cutable and immune to struggling, please forgive me if it has already been added in some way or form, (I have not been able to update in a while due to bad internet) I simply wish to know if you are still looking into it as you said you would since it's been so long, again please forgive me if it has already been added, or if there is already a way to modify it, (not default difficulty sliders since they are not specific/precise enough) I get that most people complain about DD being too hard, but I am one of the few that thinks it's a bit too easy.

You should be able to modify the values in the creation kit, SSEEdit, or TES4Edit.  You have to edit each individual device, but you can already do all of what you are asking, although it is tedious.  If you just want to make a handful of devices harder, then it shouldn't take more than an evening to edit them to your liking.  You could probably edit most of the devices over a weekend if you want to make all of them harder.  Just make a backup of the mod often in case you mess something up while you're editing the values.  If you're just wanting to make your own custom devices that have these properties, then the same concept applies.  Just set the chances of picking the lock to 0, or whatever other escape method you don't want being used.

Link to comment
7 hours ago, Code Serpent said:

Dev question:

All catsuits, dresses, straitjackets are meant to be chaste unless the AllowVaginal or AllowAnal keywords are added, right?

If that's the case, what happens when the player is wearing a catsuit without those keywords, while wearing an AllowAnal chastity belt?

Last time I checked it will allow anal activity as it's "wornkeyword" thing. I once made a check for each slot if a keyword is present on that slot. This could be used to check more specific for belts and suits if it contains the keyword. But will also add more processingtime to the bound anim filter so not sure if that's desirable

 

bool Function SlotHasQuestItem(string item)
	if item == "belt" && (playerref.GetWornForm(0x00080000).HasKeyword(libs.zad_QuestItem)) && !(playerref.GetWornForm(0x00080000).HasKeyword(plib.DDP_QuestItem)) 
		return true
endfunction

 

6 hours ago, Roggvir said:

QUESTION:

Why are the Hobble Dress slow-walk animations so fast that they need the SpeedMult lowered to 50?
Would it be possible to fix the speed of those animations, so DD wouldn't need to mess with the SpeedMult when wearing the Hobble Dress?

Can animations in Skyrim LE even change the speed? If so I would seem like very trivial to do at the time of development instead of the current system so I guess not.

Link to comment
6 hours ago, Roggvir said:

QUESTION:

Why are the Hobble Dress slow-walk animations so fast that they need the SpeedMult lowered to 50?
Would it be possible to fix the speed of those animations, so DD wouldn't need to mess with the SpeedMult when wearing the Hobble Dress?

 

IIRC, the person who created that animation deemed the current implementation the best way to go. I am not sure if there is/was an alternative to it.

Link to comment
53 minutes ago, Kimy said:

 

IIRC, the person who created that animation deemed the current implementation the best way to go. I am not sure if there is/was an alternative to it.

Well, the alternative would be to redo the animations 50% slower, then there wouldn't be the need to mess with the SpeedMult (at least not for the Hobble Dress).

But i guess the person who made those anims is not active here anymore?

The reason i am asking is because for the DAR patch i wanted to use the slow hobbling anims for walking and, at the same time, the bunny-hop anims for running.
But the SpeedMult shennanigans create a problem - the bunny-hop anims need SpeedMult 100, while the slow-walk anims need 50 - so no matter what you set, you will break one or the other.
I posted some videos illustrating the problem here: https://www.loverslab.com/topic/193060-dd-51-to-dar-python-script/?do=findComment&comment=3830912
 

Link to comment
1 hour ago, naaitsab said:

Last time I checked it will allow anal activity as it's "wornkeyword" thing. I once made a check for each slot if a keyword is present on that slot. This could be used to check more specific for belts and suits if it contains the keyword. But will also add more processingtime to the bound anim filter so not sure if that's desirable

Hm. It might be worth making suit-specific keywords. But, checking keywords on specific slots is a good idea for mod devs like me who need to check these things before firing events.

Link to comment
3 hours ago, Roggvir said:

Well, the alternative would be to redo the animations 50% slower, then there wouldn't be the need to mess with the SpeedMult (at least not for the Hobble Dress).

But i guess the person who made those anims is not active here anymore?

The reason i am asking is because for the DAR patch i wanted to use the slow hobbling anims for walking and, at the same time, the bunny-hop anims for running.
But the SpeedMult shennanigans create a problem - the bunny-hop anims need SpeedMult 100, while the slow-walk anims need 50 - so no matter what you set, you will break one or the other.
I posted some videos illustrating the problem here: https://www.loverslab.com/topic/193060-dd-51-to-dar-python-script/?do=findComment&comment=3830912
 

I am afraid that animations do not define movement speed, character would just start gliding with slow animations but 100 multspeed. Example - T-Pose anim, it doesn't let character move their legs but yet they are moving. I.e. animation speed is not tied to movement.

Link to comment
8 hours ago, Roggvir said:

Well, the alternative would be to redo the animations 50% slower, then there wouldn't be the need to mess with the SpeedMult (at least not for the Hobble Dress).

But i guess the person who made those anims is not active here anymore?

The reason i am asking is because for the DAR patch i wanted to use the slow hobbling anims for walking and, at the same time, the bunny-hop anims for running.
But the SpeedMult shennanigans create a problem - the bunny-hop anims need SpeedMult 100, while the slow-walk anims need 50 - so no matter what you set, you will break one or the other.
I posted some videos illustrating the problem here: https://www.loverslab.com/topic/193060-dd-51-to-dar-python-script/?do=findComment&comment=3830912
 

 

IIRC, gliding was the reason why I thought changing the animation speed wouldn't be possible.

 

But even if so - I cannot work on animations and the creator of the ones in question left the DD team a long time ago.

Edited by Kimy
Link to comment
8 hours ago, Code Serpent said:

Hm. It might be worth making suit-specific keywords. But, checking keywords on specific slots is a good idea for mod devs like me who need to check these things before firing events.

It could make the current filter a bit more robust but it should be a good balance between function and performance. As it's a SKSE function it's bound to give it more overhead over just doing the standard "actor.wornhaskeyword" thing. Don't think there are reliable ways to check code speed/load?

The function itself would be easy to do as realistically it would only apply to belts and suits, that's not the issue. It's more the issue of slowing down the filter.

Link to comment
8 hours ago, BreadDain said:

I am afraid that animations do not define movement speed, character would just start gliding with slow animations but 100 multspeed. Example - T-Pose anim, it doesn't let character move their legs but yet they are moving. I.e. animation speed is not tied to movement.

All the anim frames from start to the end could be simply copied again to make the anim longer, making the whole anim play two steps instead of one. That way it would work with 100 SpeedMult without any problems, and nobody could tell a difference in the game.
Anyway, as Kimy wrote later, the creator of those anims is gone, so thats that.


EDIT: on second thought, you may be right - making the anim 2-step might result in the movement looking faster than it should be, so maybe even that is a no go. Anyway, pointless discussion :(
 

 

3 hours ago, Kimy said:

the creator of the ones in question left the DD team a long time ago

That is unfortunate. Then there is no way to fix the problem.

 

Should i still keep the "bunny-hop for running" as optional choice for those who don't mind the resulting weird movement?
eg. instead of 2 choices the DD used to have (1: slow-walk for walk/run, 2: bunny-hop for walk-run), i am thinking one additional choice (3: slow-walk for walk and bunny-hop for run), even if the bunny-hop will look weird due to the modified SpeedMult - maybe some would like to have the possibility of faster movement even if it looks a bit weird?

EDIT: Actually, shouldn't it take the same time to travel certain distance with the bunny-hop with SpeedMult 50, as it takes with the "slow walk"?
The bunny-hop with 50 SpeedMult still looks faster to me than the "slow walk" with 50 SpeedMult, but maybe it is just an illusion?

Edited by Roggvir
Link to comment
20 minutes ago, Roggvir said:

Should i still keep the "bunny-hop for running" as optional choice for those who don't mind the resulting weird movement?
eg. instead of 2 choices the DD used to have (1: slow-walk for walk/run, 2: bunny-hop for walk-run), i am thinking one additional choice (3: slow-walk for walk and bunny-hop for run), even if the bunny-hop will look weird due to the modified SpeedMult - maybe some would like to have the possibility of faster movement even if it looks a bit weird?

EDIT: Actually, shouldn't it take the same time to travel certain distance with the bunny-hop with SpeedMult 50, as it takes with the "slow walk"?
The bunny-hop with 50 SpeedMult still looks faster to me than the "slow walk" with 50 SpeedMult, but maybe it is just an illusion?

 

I made this suggestion earlier and nobody really cared for the idea. I thought the thought of being able to "run" or "bunnyhop" while wearing an extreme hobbledress or straitjacket at the cost of a pretty fast stamina drain would be a great idea to help balance out the extremely slow movement of the dresses which my characters tend to get stuck in quite often!

Link to comment
2 hours ago, serranna said:

I thought the thought of being able to "run" or "bunnyhop" while wearing an extreme hobbledress or straitjacket at the cost of a pretty fast stamina drain would be a great idea to help balance out the extremely slow movement of the dresses which my characters tend to get stuck in quite often!

The Stamina drain is another issue - or rather, the lack of Stamina drain while running.

As everybody knows, there are three speed modes in Skyrim - walking, running, and sprinting.

By default, walking and running does not drain any Stamina (or maybe running drains it just a little to slow the Stamina regen?), only the sprinting really drains Stamina in a significant way.
I do not think there is a way to increase the Stamina drain for running based on what device is worn (not without scripting it, which imo isn't worth the complications it would introduce - the current way of messing with the Speedmult is enough to cause some annoyances under certain rare-ish circumstanes, and i don't think anybody wants to add more of that just to add more Stamina drain).

On the upside, there is no problem using bunny-hopping for sprinting, and it looks okay-ish even with SpeedMult lowered to 50.
And when i say it looks okay-ish, i mean the animation is smoorh and seem to work as intended, but at the same time it looks a bit silly, or rather unrealistic.

But nobody is forced to use sprint if they don't like how it looks, and same can be said about the "running".

So, unless @Kimy disagrees, i believe the DAR patch should have three options, the first two choices would be equal to the "bunny-hop or not" choices in current DD 5.x installation, and the third one would be for using slow-walk for walking, and bunny-hop for running and sprinting.

Edited by Roggvir
Link to comment
On 8/4/2022 at 4:05 PM, Roggvir said:

And when i say it looks okay-ish, i mean the animation is smoorh and seem to work as intended, but at the same time it looks a bit silly, or rather unrealistic.

But nobody is forced to use sprint if they don't like how it looks, and same can be said about the "running".

 

I mean, If a"realisic" look is what you are concerned about. Muh guy... have you tried sprinting in the hobble dresses recently? That's about as goofy as it gets, between the cartoon "wheels" of leg motion to snail speed of forward movement and the horrific tears in the dress model.

Ribbing aside - I'm 100% behind "camp bunnyhop" for sprinting. I've actually always liked it. Not enough to *always* used it as my default, but every now again, I'd reload DDi and play with hopping for a bit before going back to a more realistic shuffle. I'd always wished there had been an MCM toggle for it, rather than it being a FOMOD install. It would be fun to have that extra little dimension of immersion. Where your girl is "oh shit, I need to move it quick, and this shuffle aint gonna cut it. Hop to it!"

Link to comment
On 8/4/2022 at 4:05 PM, Roggvir said:

On the upside, there is no problem using bunny-hopping for sprinting, and it looks okay-ish even with SpeedMult lowered to 50.

 

This is really what I mean. I consider the 3 movements to be walking, jogging and running, so when I said run at a cost of a fast stamina drain, I really meant sprinting.

Just looking for the option to be able to hold down shift for a bunnyhop animation and a little extra speed in exchange for the stamina drain.

 

I knew the proof of concept was there because if you turn on God mode, you can do it (though you move much faster). Also followers will switch to bunnyhopping to catch up to you when they fall too far behind.

 

Also, what is DAR, and if this change in implemented will I have to have it in order to use the feature?

Edited by serranna
Link to comment

I'm not by any stretch of the imagination a "code-monkey", that is not where my talents in modding lie. But... I have a suspiscion that it involves an unpleasant amount of coding given how many times Roggvir has gone directly back to the speedmult angle.

Link to comment
11 hours ago, serranna said:

what is DAR, and if this change in implemented will I have to have it in order to use the feature?

DAR stands for Dynamic Animation Replacer, and if the DD-to-DAR patch makes it into a DD release, it will be purely optional (at least that is what @Kimy told me).
You will not need to use it.

By default, DD uses FNIS AA to force different idle and movement animations (i am not talking about sexing animations) depending on what devices are worn by an actor, which is determined and controled via DD's scripts.
FNIS AA works fine, nothing bad about it, but for this specific purpose, DAR comes with some significant advantages (more about that in the spoiler below).

Spoiler

DAR solution can be (and most often is) completely script-less - ie. just by equipping a Hobble Dress, you can make DAR enforce the appropriate animations without ANY scripts involved in the process.
DAR is an SKSE/SKSE64 plugin, which switches the animations the game loads for any character at runtime, based on the animations being sorted into numbered folders by priority, and by set of defined conditions which tell DAR when to use which animation set.
You can set conditions for what kind of armor is the the actor wearing, or what keywords are on the worn items, which weapon/type is equipped, etc. (there are ~50 conditions you can use/combine).

As a bonus of using DAR for these animations, you do not need to use FNIS to inject these animations into the behavior.
This can benefit many users, because the FNIS AA (Alternate Animation) sets are more "expensive" than the usual sexing animations FNIS is primarily used for, so being able to NOT use FNIS AA for something like DD, allows you to have a few more other FNIS animations or may prevent some CTDs related to number of FNIS animations.

In general, for the specific purpose of enforcing DD's "walk/run/sprint while tied in any kind of way" animations, DAR is the most lightweight solurion.

DAR comes with one slight annoyance:
When you load a save where a character was tied or wearing something that is enforcing any DAR animation set, it takes a few seconds until DAR kicks in and starts working.
This happens only when loading a save, because DAR seem to start initializing only after the game finishes loading a save, so there is a few seconds delay before DAR starts to work after loading a save.
But once DAR does kick in, everything will be lightning fast from that moment on (way faster and smoother than using scripts utilizing FNIS AA).

 

Edited by Roggvir
Link to comment

I don't mind offering the "bunny-hop for sprint" option, but we need to keep the code-differences between "DD without DAR" and "DD with DAR" to an absolute minimum and we -really- need to avoid having to work with two different ESMs. Mind you that the DAR patch is supposed to go in as a drop-in replacement for FNIS-AA at installation time. :)

Edited by Kimy
Link to comment
1 hour ago, Rynnes Master said:

This may be the wrong place for this question, but this conversation addresses a problem I have, so here goes:

 

@Roggvir

 

How does one control DAR from using its animations on the player when she is "bound" by a DD device (hobble dress excluded, perhaps)?

I too think this is probably not the place, and also, my answer to your question ended up being quite the wall of text, so i posted it in the topic i created for the DD-to-DAR patch.
The answer is here: https://www.loverslab.com/topic/193060-dd-51-to-dar-python-script/?do=findComment&comment=3834092

Link to comment
57 minutes ago, Kimy said:

I don't mind offering the "bunny-hop for sprint" option, but we need to keep the code-differences between "DD without DAR" and "DD with DAR" to an absolute minimum and we -really- need to avoid having to work with two different ESMs. Mind you that the DAR patch is supposed to go in as a drop-in replacement for FNIS-AA at installation time. :)

The code difference is only inside the zadBoundCombatScript.psc.
No different versions of ESM are neccessary, in the absolutely "worst" case, there may be only one possible change to ESM (to accomodate option #2 described below), by adding two new special factions to the ESM, but even if doing so, that same ESM could be still used whether the user is using DAR or not.

When it comes to the actual differences to the zadBoundCombatScript code, we have two options:

Spoiler
  1. Simple code removal only.
    It consists of commenting out some code, nothing is added, code is only removed from inside of some functions.
    All functions still exists of course, only some of them are not needed at all, so their function body was emptied, and few others were gutted only partially, so they aren't doing any real work anymore apart from running through a few conditions to return some values as expected (none of them is supposed to be called from 3rd party code, but you never know what ppl do, so best not to mess with their return values).
    To the outside, the resulting code is exactly the same, it just isn't doing stuff it doesn't have to do anymore.
     
  2. Removing some code, but modifying other.
    Most of the code that would be simply removed in option #1, will be still removed here, but some of it would be slightly changed - instead of calling FNIS AA functions, it will add the actor into a special faction with faction rank corresponding to the desired Animation Set.
    This is a micro-optimization that allows to simplify the DAR conditions.

    For example, the conditions for Hobble Dress require checking for two keywords on worn items - checking for keyword on worn items can be slow (we're talking in terms of dozens of miliseconds, but still, why not use faster solution if available) and we are making DAR to run such "slow" check twice.
    Now, if we also add different anim sets depending on whether the actor is male or female, that means adding one more condition.
    Using faction with a numebr rank, we can use 1 single condition for every Animation Set, instead of 2 or 3 (or maybe 4 in some rare cases).


The option #2 is not strictly necessary.
Based on my testing, i was unable to notice any difference in a test scenario where DAR was being used to enforce Hobble Animation Set on every single NPC i met in game.
The only jankyness i could observe came from when animations got sped up by the game due to NPCs hurrying somewhere, etc.
Still, it is something to consider - and i think it comes down to what is easier to maintain, which i think is the option #1.



Regardless of the choice, to any outside scripts the resulting code will appear to be the exactly the same as before, with exactly the same outside functionality.

Link to comment

Yeah, adding stuff to the ESM is no problem as long as there will be only ONE ESM for both DAR/non-DAR installations. I don't want to juggle two ESMs. I can't even keep track of the version numbers in the FOMOD XML half of the time. lol

Link to comment

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...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use