Jump to content

Recommended Posts

Hi Rogwar. You made a cool mod.

Is there a way to not have the Cinderella feet effect? I use the mod mainly for the waist alteration, so I set most other effects to 0. But at some point I still get the arched feet and cannot wear normal shoes anymore. I'm looking for a way to avoid that effect :)

Link to comment
On 1/13/2020 at 7:28 PM, Richard1234 said:

Hi Rogwar. You made a cool mod.

Is there a way to not have the Cinderella feet effect? I use the mod mainly for the waist alteration, so I set most other effects to 0. But at some point I still get the arched feet and cannot wear normal shoes anymore. I'm looking for a way to avoid that effect :)

At the current, there is not.

I´ll keep that in mind and implement a toggle option.

Link to comment

Just to let you know, I think there's a bug in the Foot Alteration function. I am using a slightly older version, v1.1, so this might have been fixed, but I didn't see you talk about it in the changelog.

 

In the checkfoot() function, line 428 in the version I'm using, the condition statement is:

elseif isFemale && (dba_player.getWornForm(Slot37) != AlteredFeet || dba_player.getWornForm(Slot37) != CinderellaFeetItem)

If the player is not simultaneously wearing both the AlteredFeet and CinderellaFeet items, then the mod thinks the player is wearing high heels, and so the player can't recover from foot alteration. So, that OR should be replaced with an AND.

Link to comment
16 hours ago, Code Serpent said:

Just to let you know, I think there's a bug in the Foot Alteration function. I am using a slightly older version, v1.1, so this might have been fixed, but I didn't see you talk about it in the changelog.

 

In the checkfoot() function, line 428 in the version I'm using, the condition statement is:


elseif isFemale && (dba_player.getWornForm(Slot37) != AlteredFeet || dba_player.getWornForm(Slot37) != CinderellaFeetItem)

If the player is not simultaneously wearing both the AlteredFeet and CinderellaFeet items, then the mod thinks the player is wearing high heels, and so the player can't recover from foot alteration. So, that OR should be replaced with an AND.

Thank you. I just read the current function.

I think I didn´t change the function for a long time. Funny. Because almost all shoes I have in my game are HH, I didn´t recognized, there is no cure ;)

Link to comment

So just for giggles i threw this into SE and it seems to be working out of box with no apparent issues. The only thing that is off is the mouth/eye alterations are not showing correctly but that may just be the body I'm using. Using a default body got eyes to work but the mouth is still not showing at all. Overall if you want to risk it this appears to be near 100% usable in SE.

Link to comment

Heard about that. But I have never had a look to a modded SE. If someone has the knowledge, he/she can port it to SE. I think for the time being, I will only provide an LE version. I like to play with DCL in the newest version and as long as Kimy is not switching to SE as a main platform I won´t, too. I´m sharing what I do, but still this mod is what I miss in a playthrough, so I´ll just keep on coding. Sometimes someone has a nice idea and if I´m able to, I will implement it. Currently I´m not happy with the punishment systems others provide. There is not a single defeat mod out there, having a good punishment system. All have the same goal: stack one punishment to the other in a downward circle, till the game is unplayable. Why?

And how can I make a passive system giving the fun, I want from a defeat mod?

Sooner or later the toon will not be defeated at all, because he/she is an invincible demigod/dess. In the beginning every mob is defeating you within seconds. How to circumvent both stages...

hm...

Link to comment

How long does the movement speed adaptation take? It's especially bad with hobble dress that also reduce carryweight by 500, like the Laura's first quest. My speed was reduced to almost nothing using default settings, and it took me until quest done to realize it was DBA reducing the speed ?  Playing with a little less restricting MCM setting now but i think it's a good idea nonetheless.

 

I had to disable the walking speed feature in the end. It got stuck to 66 speedmult while not wearing any restraints and no debuffs from any mod. When i toggled it off the speedmult went up to 110 too.

speed.jpg.123d23c2364a88fecfc2fcd6d999898a.jpg

Link to comment
22 hours ago, Zaflis said:

I had to disable the walking speed feature in the end. It got stuck to 66 speedmult while not wearing any restraints and no debuffs from any mod. When i toggled it off the speedmult went up to 110 too.

Unfortunatley on my journey to the speeddebuff feature I made the same observation than you did.

 

Us modders don´t use standard methods to change the speed. In my opinion the correct method is: do not change the original value. I´m just adding and substracting to (default MCM setting) 100. But there are a lot of mods out there, changing the origin value and do the next calculation based on the changed value. This are bad habbits. I built the two sliders for convenience only. If there are people out there, not wanting to play with default values, they still can use the mod, by setting the desired values.

One mod is changing the speed by carryweight, the other does a calculation (like mine) and set a value in a sript others are using an effect (YpsFashion). Put all three together and your speed will flip through stages from hyperspeed to stuck.

 

I´m trying to give it a little safety by checking the speedmult currently set, before the new calculation is done. To test this calculation I activated the speed debuff features

from YpsFashion, Devious Devices, Better Vampires and mine. In fact mine did always restore the speedmult set in the MCM, after it was gone wild from the other mods. After deactivation of buggy speed influencing parts of a mod the speedmult was restored. There is a simple reason why:

speedmod = MCMValue.maxspeedmult - status - speedmodother

If the MCM is set to 100, the status (calculation of speed influencing footwear) is zero and no other speedmod is changing the value (I´m asking the speedmult every calculation cycle as first step), it WILL be set to 100.

 

I know you code yourself. Please check what I did. It is simple as fuck. You cannot imagine how difficult I tried to script a capture for other mods. In the end I faceplamed myself at how easy it could be.

function CheckWalkingStatus()

 

I think I have to implement toggles (uh oh... I think future updates will miss the page status ;) ) to modify the speed debuff from the things the mod does check (currently 4 keywords are used).

23 hours ago, Zaflis said:

How long does the movement speed adaptation take?

Depends on your Alteration Speed setting. Default: 28 days to 100% feet and leg alteration. Still the debuffs will stack. Wearing slave heels and a hobbleskirt will probably reduce your speed to crawling :P That´s the reason for the min Speed Adjustment. I think the original setting is immersive. Try to walk with slave heels and a hobble skirt without falling flat on your nose :D

 

 

Link to comment
2 hours ago, Rogwar002 said:

function CheckWalkingStatus()

So clearly it's not simple, different mods compete of the speedmult in catfight ;)  Maybe Lupine knows more about the nuances than i do. But isn't there ModActorValue() too (or just ModAV() )?

https://www.creationkit.com/index.php?title=ModActorValue_-_Actor

It would look simple as:

speedmod = MCMValue.maxspeedmult - status - speedmodother
dba_Player.ModAV("SpeedMult", (currentspeedmod-speedmod) as int)

Even without needing the "if speedmod < 0" check. The MCM says itself, speedmod can be either debuff or a buff. So i'd let math do the work in deciding if you want to add or substract AV. The wiki said the damage and restore functions will always abs() the value so you can't heal with damage function, but this is different.

 

I don't know, i'd propably prefer the finer details in speed debuff from SL Disparity. I was hoping it would use a bit logarithmic curve for the speed. For example when just wearing heels for first time you would be really slow and unaccustomed, but quickly within 2 hours you would gradually grasp the basics and get on a more manageable level but still debuffed much. Then slowly in days it would turn into buff where you take use of the added leg height and are able to move faster than normal (but only if wearing boots!).

Not sure if this is/should be in the scope of this mod, unless you want to make it full training.

Link to comment
46 minutes ago, Zaflis said:

But isn't there ModActorValue() too (or just ModAV() )

The modAV will not persist if another mod does a similar change. Than there will be a jump in the speed while walking or running. Not immersive ;)

Second thing is: My mod would try to modify the speed again and again, resulting in a stacking number. I´m doing it only once.

Link to comment

Sure i haven't tested these, but i know ModAV from console at the very least... so i'm not following why it would be problematic.

 

Quote

The modAV will not persist if another mod does a similar change.

ModAV changes are permanent, just like damage and restore, as far as i know. Every mod changes the same global values.

 

Quote

Than there will be a jump in the speed while walking or running. Not immersive ;)

There is already jumps like that.

 

Quote

My mod would try to modify the speed again and again, resulting in a stacking number. I´m doing it only once.

You're doing it once every update (~6 sec default). If the current speedmult is still what it should be after your bonus then modav with 0 will not do or cost anything. Your math already counts this difference. The damage & restore cycle is already modifying it again and again, fighting other mods. (As it should be?)

Link to comment

 

11 hours ago, Zaflis said:

fighting other mods. (As it should be?)

Hm. In my load order it doesn´t fight anything. I´m using the Devious framework and Better Vampires with activated debuffs. Both are doing there job next to mine, without any bugs, meaning no speed jumps. I tested it with active Yps Fashion Heeltraining with 100% speeddebuff setting as a third mod influencing speed. Still there is only one speed set the whole time.

Maybe I´m just lucky to use mods, that are doing what I want them to do ;)

Link to comment
4 hours ago, Rogwar002 said:

Hm. In my load order it doesn´t fight anything. I´m using the Devious framework and Better Vampires with activated debuffs. Both are doing there job next to mine, without any bugs, meaning no speed jumps. I tested it with active Yps Fashion Heeltraining with 100% speeddebuff setting as a third mod influencing speed. Still there is only one speed set the whole time.

Maybe I´m just lucky to use mods, that are doing what I want them to do ;)

I only meant 1-2 speed jumps as well, mainly just after quitting the mod's MCM menu. I don't expect it would make any more jumps than that with ModAV either. That said i also noticed this mod uses Restore and Damage:

https://www.loverslab.com/topic/136709-search-plugpiercings-vibration-forces-walking-slower/?tab=comments#comment-2870289

It adds slowness debuff when piercings are vibrating, works fine in my game.

 

I can understand AV like health has a current and max value and restore/damage is understandable, but i'm assuming there is internally only current value for speedmult. @Lupine00 confirm? If its default max is 100 anyway, using restore wouldn't go over the max otherwise if you simulate a speed buff with it? I'm just confused that's all ? I can see DamageAV used in SLD but never restore?

 

But ask me in Steam or Discord if you or others want mod testing or Skyrim talk ?

Link to comment
10 hours ago, Zaflis said:

I can understand AV like health has a current and max value and restore/damage is understandable, but i'm assuming there is internally only current value for speedmult. @Lupine00 confirm?

It's the same as any other AV. There is only one base value, but it can have modifiers stacked on it, which may be added or removed.

 

Mods like SLS and SLD change speed with modifiers, not be setting the AV. Their changes stack, and are "invisible" without attempting to guess all the relevant magic effects that could be on the PC.

This is an issue that is subject to a "bug" in LE, and was "fixed" in SE, in that you can now get the modified value, though not via the function originally intended to do it.

 

The best way to handle the movement AV remains uncertain. If you change it, DD may get confused and reset your change back for you. You can try and detect DD items that would change it and work around that, but there will always be a few edge cases where that breaks.

 

DD's decision to modify the value rather than use modifiers is toxic TBH. It's an "I'm the only mod in town" behavior that breaks things for everyone else.

 

Even though modifiers are hard to locate, they can in theory be located, and can be traced back to the applying mods, but a direct change to the AV cannot be attributed to a source after the fact.

 

There is (alas) no way to iterate over the magic effects on an Actor. You can tell if a certain effect is present though. So you need to know before hand what mods might apply one and soft-dep ALL their effects that relate to speed. Rather painful, as it could be hundreds. Of course you can rule out (for a given load) any that have no ESP loaded.

 

GetNthSpell doesn't return spells cast on the player, but from the player's spell list.

 

There may be a way to get a list via C++, but it would require reverse engineering the magic effects display in the UI. I had a look once, but didn't get anything quickly. I believe you can find the modifier total by a similar approach, but I have yet to follow through on it. A UI expert could probably answer it right away.

Link to comment
2 hours ago, Lupine00 said:

Mods like SLS and SLD change speed with modifiers, not be setting the AV.

It doesn't make sense here. The "modifiers" we speak of when meaning DamageAV and RestoreAV are no different than for example each time a healing spell heals a target. It doesn't add any value to table with ability to track it down who healed and what not, all the game needs to know is the end value, that's what AV does. And that's how all speedmult altering mods work. I don't know of any mod that would use magic effects for it, at least DBA doesn't and i didn't see hints about that in SLD yet at least, if that is even possible.

 

Or if i hit a target with sword the game uses DamageAV on health... It would be huge performance issue if hitting 1000 times would all be stored in table. What i'm saying is ModAV is exact same approach as DamageAV in a sense, only that it can both add or subtract with 1 function?

(I feel bad doing this debate ? It must end...)

 

Magic effects would be coded very differently i think, when you call AV functions directly on actor like these mods do, it shouldn't be going into magic effects.

Link to comment
56 minutes ago, Zaflis said:

It doesn't make sense here. The "modifiers" we speak of when meaning DamageAV and RestoreAV are no different than for example each time a healing spell heals a target

You have conflated DamageAV with a modifier to the base value. They are completely different concepts.

What you describe for those values is correct, but it has nothing at all to do with MODIFIERS.

 

DamageAV applies to stats like Health. When you apply a modifier to Health, it applies to the BASE value. DamageAV modifies the CURRENT EFFECTIVE value.

 

e.g.

I have 100 Health, base and current.

I take 20 damage, applied via DamageAV.

I have 80 current, but my base is still 100.

 

I gain a +20 modifier to health from a magic effect.

My effective base health is now 120.

DamageAV is not called. Nor is RestoreAV.

 

Now the modifier is removed.

I have 100 base health again.

Once more DamageAV and RestoreAV were not involved.

Link to comment

@Lupine00 Example:

Spoiler

float currentspeedmult = dba_player.getAV("Speedmult")

; Lets assume this returns 100 now.

 

dba_Player.damageActorValue("SpeedMult", 50)

float currentspeedmult = dba_player.getAV("Speedmult")

; Now it would say 50, base 100, mod -50

 

dba_Player.restoreActorValue("SpeedMult", 30)

float currentspeedmult = dba_player.getAV("Speedmult")

; And 80, base 100, mod -20

 

dba_Player.ModAV("SpeedMult", 10)

float currentspeedmult = dba_player.getAV("Speedmult")

; And 90, base 100, mod -10 (?) Functionally same as damage\restore. Wiki says it changes current, not base.

 

Just wanted to be clear on this. There is a separate GetBaseAV() if you'd want to get just base, but GetAV() takes modifier into account. This is the way the function works as it is.

If you would think DBA should move on to using spell effect to reduce conflicts, that's another thing. Like i said i didn't find that in SLD at first, but did now. You have this (_fwb_modifiers):

 

singleEffectSpell.SetNthEffectMagnitude(0, magnitude)
Player.AddSpell(singleEffectSpell, false)

Link to comment
30 minutes ago, Zaflis said:

Just wanted to be clear on this. There is a separate GetBaseAV() if you'd want to get just base, but GetAV() takes modifier into account. This is the way the function works as it is.

No. This is wrong. You read the documentation, and you believed it. The documentation is broken. Check the discussion.

No function for LE actually takes the modifiers into account.

 

Try it.

 

That's why I said this is a "bug" in LE.

Rather than fix GetAV() for SE, they added a new function to get the modified version.

See for yourself.

Link to comment

And now I understand, why I was not able to get my first approach to run as intended.

Second I understand, my script is buggy as all speed changing scripts, because the function we all use is buggy. Nice.

It is working in my loadorder, because I respect the speed changing mods in a way, that mine is the last to change the speed...Funny.

Thanks for clarifying that :)

Link to comment
  • 2 weeks later...
On 2/5/2020 at 9:55 AM, Krynn said:

Hello! :classic_smile:


I would have an idea for your great mod, so if you are interested!?
If you wear a hood for a long time, i.e. this head mask device, then your hair could fall out.
like this mod as an example:
https://www.nexusmods.com/skyrim/mods/11140/

 

 

? ok... that´s funny enough to make a note on the todo list.

 

- Suggestion by Krynn: make a toggle to add a balding function wearing a ballon hood; name it TheKrynneffect...from long hair to bald in 72 hours...

 

noted. not only here but in my list, too!

Link to comment
  • 2 weeks later...
  • 2 months later...

@Rogwar002

 

Small "bug" here: If you allow modifiers to speedmult in DBA which are positive, you get a hyper-speed PC. Even a 1.1 change eventually, in conjunction with other mods which change speedmult, results in a PC that can all but fly. Not sure what your solution is here since this is LE and speedmult higher than 1.0 is kind of problematic, but it's a thing.

 

Mods affecting it in my build: SLS, SLD, DDi. Anything below 1.0 works fine. Thought you should know. ?

Link to comment
On 4/21/2020 at 6:46 AM, SkyAddiction said:

@Rogwar002

 

Small "bug" here: If you allow modifiers to speedmult in DBA which are positive, you get a hyper-speed PC. Even a 1.1 change eventually, in conjunction with other mods which change speedmult, results in a PC that can all but fly. Not sure what your solution is here since this is LE and speedmult higher than 1.0 is kind of problematic, but it's a thing.

 

Mods affecting it in my build: SLS, SLD, DDi. Anything below 1.0 works fine. Thought you should know. ?

Just had a look at the code. ?

You´re right. I made a check to prevent a negative modifier but did absolutley nothing to prevent it going nuts above 100. Silly mistake. Made a note to change this.

Thank you.

 

Link to comment
10 minutes ago, Rogwar002 said:

Just had a look at the code. ?

You´re right. I made a check to prevent a negative modifier but did absolutley nothing to prevent it going nuts above 100. Silly mistake. Made a note to change this.

Thank you.

 

Oh, something I thought about the other day...

 

SLS has an option to designate boots as high heels based on NiO values. A similar system in DBA could be interesting as an option for characters with "Cinderella feet" sometime down the line since they'd be stuck barefoot, in DD boots, or restricted to using armor sets with high heels. Not sure if that interests you, but it's a pretty cool little feature.

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