Jump to content

Recommended Posts

6 hours ago, Xiaron said:

Considering you're pretty familiar with SLS, would the method for device selection from that work for DFC?

SLS does what's obvious. It's really a pattern that was used a lot in Maria Eden, but many mods use it.

It's not much more than straightforward use of JsonUtil.

I would almost certainly use something similar for the backend definition of what devices the LDC should consider.

 

Lozeak thought he could do better.

He wanted users to be able to edit device names instead of confusing form IDs converted to decimal.

 

The LDC does achieve that. The device enumeration aspect of it is ... sort of OK ... but there's no way to add devices it doesn't know about.

I'd like to keep that way of editing the lists, as it can work fine if implemented more robustly.

 

 

So I would have two files.

One where you configure "external" items that you are adding to the LDC so it knows about them.

And the other exactly like the existing config file, where you have allowed items by name, and item groups by name, that are friendly to edit.

 

 

The bigger problem is that it both misuses DD and runs into some DD bugs that it doesn't mitigate.

 

The LDC needs changing so it uses DD more cautiously and purposefully mitigates the broken mutexes in DD.

 

The LDC needs to stay the same as a quest and keep its existing API, because its wired into hundreds of fragments scattered through hundreds of dialogs.

Or if it doesn't, all those things need to be changed, which is completely avoidable.

Link to comment
8 hours ago, Seeker999 said:

Dismissal ... I know, I know, but...

It's not like I'm not aware of minimum contract :) 

The config option I wanted was done a couple of days back. This is a non-issue and you will be able to pick very soon.

I want to add some other quality of life improvements there too, so that's a hold up on releasing just now.

Also, I want nicer slut dialog, again, not finished.

 

But I don't think it will be a six month wait. Maybe tonight. Maybe tomorrow. Definitely by next weekend.

Link to comment
8 hours ago, Lupine00 said:

One person has reported it.

If you read back through this page, and maybe the previous one, you'll see that.

 

Their problem was save specific.

 

It's not a general bug, but I can imagine that it could occur in an updated game for some people, because updating dialogs mid-save is unreliable.

(See my recent post on that).

 

 

  Reveal hidden contents

sorry but this is on a brandnew game, there was nothing updated. it started with lal . in riverwood this bug started. no deal has been made. i didnt had slaverun or survival installed, no maria eden, not even pop.  just lola and its addon may have caused this. however, lola was very passive at this time.

 

 

Link to comment
2 hours ago, shiagwen said:

sorry but this is on a brandnew game,

I believe the other issue was on a new game too. New games are broken sometimes, unfortunately. Especially highly loaded ones.

But as bug reporting from many players is commonly a mix of "brief to the point of incomprehensibility", "enigmatic", "cryptic", "machine translated", and "read my mind", I rarely know if a problem is on a new game or an updated one.

 

I made a new game too. I see the dialog three times. Then it stops. After a while, I will see it three times again. That's not how it is supposed to work, but it means that only one condition is problematic and that's the "random percent" one ... that Lozeak used all over the place.

 

Given the random percent conditions on the dialog, it shouldn't fire consistently three times in a row. Sometimes it should be less. However, there is a counter that hard clamps it at three times, and that gates the dialog, so if it fires more than three times, the conditions are simply not working, or the fragments do not run.

 

And on my development machine, it doesn't have any problems at all.

 

In the current release, one dialog is missing a pause extension. One, of over a dozen.

I've fixed it in my development version, but running on that setup, which has nothing much installed besides SLS and STA, I never saw a problem.

 

In the older code, far more dialogs were missing the pause, and the sex events had a pause so short (if they even had one) that it was often ineffective.

 

 

The root cause is the original "simple" design around a blocking dialog, which is inherently fragile. *sarcasm-on* It's great how old mods just did everything better isn't it? They knew so much more about how Skyrim worked back then, and the limits of the CK. Especially Lozeak with his non-existent history of coding or modding prior to making DF. *sarcasm-off*

 

Returning to reality, Lozeak practically built the early DF around blocking dialogs, but once DF had been out a few months, he realized that was big mistake and started stripping them out. It wasn't as if he didn't realize they were a problem. However, it was never done decisively, so they remained an "option" (nobody used) and lingered as non-optional in the slut deal, causing problems, sporadically, in most games where you got that deal.

 

Blocking dialogs are great until a condition fails, and then they're game-breaking. And conditions do fail in Skyrim dialogs, particularly ones that test global values or timers; it seems like sometimes the condition checks are cached and can get stuck, but maybe it's some other cause? Maybe an interaction with "Hours until reset" which is known to be problematic, and was used erratically on a handful of DF dialogs?

 

They're best avoided outside tightly controlled quest scenarios - but they are oh-so-appealing for BDSM mod purposes.

 

I am expanding the variety of slut dialogs considerably, and making them more varied in tone from high to low willpower.

 

But if they continue to be a problem in terms of constant interference in the game, I will replace the blocking mechanic with a purely voluntary one, then have the follower punish based on whether you said it in enough shops, inns or city locations, assuming you were in such locations. That will be quite a bit of work. Lots of work.

 

But the sketchy mechanics of this slut deal have been sending people crazy for years now, so if it keeps breaking in some games, for whatever reason, another approach is required. I have a few things I can try before we get to that point though.

 

I'm going to try replacing the random percentage condition with a different approach. Coupled with reliable pauses, it ought to be enough.

 

 

If you are rushing or trying to skip these dialogs the END script doesn't run reliably, and then you will get them over and over and over, because you're trying to "cheat" the NPC out of saying their response properly. (Which is why the script is at the end).

 

If you escape out of them, or otherwise "push" them along, that makes things worse. And that's what frustrated players do with these dialogs. Creating their own hell.

 

My dev version has moved the scripts to the START position, which means there is no chance of that now.

Link to comment

I have a couple questions (new game):

 

1) what i am supposed to do with the milking deal?

The dialogue about it always says "i look forward blah blah" even if i have some milk in inventory

 

2) i had some problem with dismissing follower too.

the minimum time requirement was already expired... paying all debt didn't give me any option to dismiss follower.

Even if i paid the debt if i ask how much i owe it says 1 gold

 

could it be I had endless mode checked maybe?

 

Ty

Link to comment
38 minutes ago, darkfender666 said:

1) what i am supposed to do with the milking deal?

The dialogue about it always says "i look forward blah blah" even if i have some milk in inventory

You need to get milked. In a MME milker.

You need to produce milk. Don't worry, if you fail a lot the follower will give lactacid to get you producing.

The follower will take the milk.

You should see a message on the top left.

 

 

38 minutes ago, darkfender666 said:

2) i had some problem with dismissing follower too.

the minimum time requirement was already expired... paying all debt didn't give me any option to dismiss follower.

Even if i paid the debt if i ask how much i owe it says 1 gold

 

could it be I had endless mode checked maybe?

Endless mode doesn't do that. Endless mode simply has no enslavement, you pile up debt forever and the follower just gets grumpy.

 

 

To dismiss your follower

 

Step 1) You must ask to pay the follower.

 

You need to see an option to:

Step 2) "[Clear debt] Follower will be dismissible..." in your payment choices/dialog topics.

Step 3) select that option.

 

If you never made that payment, you will not be able to dismiss and will always have one gold of debt remaining.

Simply picking [Clear debt] always leaves one gold.

If that's the only option you see, dismissal is being blocked by something.

 

If you never see the "follower will be dismissible" payment option, even though you are standing in a walled city street, and your minimum contract is up, it may be that you have deals outstanding?

 

  • You cannot pay off to dismiss unless you are standing in the streets of a walled city, such as Whiterun, Windhelm, Solitude, Riften or Markarth (for example  standing outside WarMaiden's in Whiterun near the gate).
  • You cannot pay off to dismiss with deals outstanding.
  • You cannot pay off to dismiss in an inn.
  • You cannot pay off to dismiss in a palace.
  • You cannot pay off to dismiss in a shop.
  • You cannot pay off to dismiss in a player home.
  • You cannot pay off in a village.
  • You cannot pay off in a little town.
  • You cannot pay off in the wilderness.
  • You cannot pay off in a dungeon.

(This will be changed in the next release - it's just that I put out a half-baked feature to remind people how the good old days used to be annoy everyone).

 

Probably though, if your game is updated, and not new, there is a problem with dialog in your game.

 

Check these in the console:

getstage _DFlow

show _DFMinimumContract

 

First should be 10

Second should be less than or equal to 0.0

 

If you genuinely cannot dismiss your follower due to a broken game, try the "Remove Follower" button in the Debug menu.

Link to comment
2 hours ago, Lupine00 said:

You need to get milked. In a MME milker.

You need to produce milk. Don't worry, if you fail a lot the follower will give lactacid to get you producing.

The follower will take the milk.

You should see a message on the top left.

 

 

Endless mode doesn't do that. Endless mode simply has no enslavement, you pile up debt forever and the follower just gets grumpy.

 

 

To dismiss your follower

 

 

 

If you never see the "follower will be dismissible" payment option, even though you are standing in a walled city street, and your minimum contract is up, it may be that you have deals outstanding?

 

  • You cannot pay off to dismiss unless you are standing in the streets of a walled city, such as Whiterun, Windhelm, Solitude, Riften or Markarth (for example  standing outside WarMaiden's in Whiterun near the gate).
  • You cannot pay off to dismiss with deals outstanding.
  • You cannot pay off to dismiss in an inn.
  • You cannot pay off to dismiss in a palace.
  • You cannot pay off to dismiss in a shop.
  • You cannot pay off to dismiss in a player home.
  • You cannot pay off in a village.
  • You cannot pay off in a little town.
  • You cannot pay off in the wilderness.
  • You cannot pay off in a dungeon.

 

 

If you genuinely cannot dismiss your follower due to a broken game, try the "Remove Follower" button in the Debug menu.

Well i used the reset option in the mcm and worked but i was in riverwood :(  my fault...

I didn't see this new feature sorry

 

Link to comment
10 hours ago, Lupine00 said:

 

I'm going to try replacing the random percentage condition with a different approach. Coupled with reliable pauses, it ought to be enough.

 

 

 

Should I take away that, if I am writing a mod with dialogue, it's not safe to use "GetRandom" < something type dialogue conditions? :S

Link to comment
1 hour ago, DayTri said:

Should I take away that, if I am writing a mod with dialogue, it's not safe to use "GetRandom" < something type dialogue conditions? :S

Whether or not it's "safe" would depend on the dialog. For blocking dialogs or forcegreets, maybe not.

 

For regular dialog, it simply may not work as you intend, but may still do ... something ... for some players.

Probably best to never mix it with "Hours until reset" either.

You will probably get more predictable behavior by comparing to a global that you update periodically with a random value.

That won't work to pick from various dialogs - but  there's already random selection that works.

 

The GetRandomPercent condition may work in some test cases (works OK on my dev machine) but fail in others (fails on my main Skyrim install).

It may be a performance or load related issue.

Link to comment
9 hours ago, darkfender666 said:

Well i used the reset option in the mcm

The Remove Follower button is generally a better way to remove an unwanted/broken follower. I hope!

It should keep the state clean with respect to follower frameworks.

 

The Reset button is more likely to work out well when you have a follower that is acting up and you want to get everything to restart - you then DF re-acquire that same follower.

It doesn't clean up much internal state, so you can pick up where you left off to a significant extent.

If you're trying to cleanly get rid of a follower with Reset you may find things get carried over to the next one that aren't intended.

 

It could probably do more, but I haven't given it much attention. It's a bit of a desperation move. Stop Scenes, Remove Follower and Repair Follower should solve most common problems better.

 

A problem with DF (IMHO) is that it was built from day-one as a web of auto-start quests.

I don't think any code-based mod should auto-start - unless it's just a C++ plugin. New game overload is a problem, even with LAL and seems to be behind a lot of the issues people get in new games, though certainly not all. Mods that force-auto-start SexLab are probably the worst offenders of all. SexLab was built not to auto start for good reasons.

 

Auto-start isn't necessary, but if you're going to do it, it should at least use a deferral mechanism and still have a genuine start/shutdown capability.

That's the flip-side of auto-start mods. Almost none of them are able to cleanly shut down.

 

But to get back on point, DF never had a single piece of code to initialize everything because it relied on startup behavior mixed with initial states. It's not obvious what to do to reset it in many situations, and the data for default values isn't necessarily present anywhere. I've cleaned up some issues, but some undoubtedly remain.

Link to comment
On 3/15/2021 at 3:05 AM, Seeker999 said:

Thinking - a dangerous thing I sometimes do

I don't think there's too much hazard here...

 

I meant to address the other comments and also say a little more on minimum contract duration, which I sort of brushed past before.

 

I didn't use minimum contract, because it's defeating or breaking that mechanic by mis-purposing it for something else.

Either it's reset to something every time you leave a city - which means you have to do some weird city avoidance (or lingering) to ever dismiss a follower - or it doesn't stop leave and dismiss.

 

So, either minimum contract gets ruined as a feature, or the intent isn't really achieved.

The solution is simple - there should be an MCM option for the dismissal location mechanic - and I added one, as I always intended.

It keeps minimum contract separate from the issue of non immersive dismissal locations.

 

That way, people who want to block dismissal in "non immersive dismissal locations" are getting that feature they want, and minimum contract can still be used as intended without interference - and SLS can set that if you're forced to have an escort, but that's a different issue to "leave and fire".

 

 

  

On 3/15/2021 at 3:05 AM, Seeker999 said:

What if you have a Boredom game?

Certainly... That was an idea for boredom from day one. It's just not done.

"Games to reduce boredom" was always a general intent.

 

But you brought up some specific suggestions, which is useful, as "games to reduce boredom" was pretty much the entire limit of my thinking on this. I have no specific ideas for games. Also, for now, there aren't any games on the roadmap, because there's all this other stuff. Which doesn't mean that games can't get in there, especially if there's a design that's simple to implement.

 

The idea of another gambling game of "fun consequences", that the PC can volunteer for, basically to reduce boredom, is a concrete suggestion that a few different things could hang off.

 

 

 

  

On 3/15/2021 at 3:05 AM, Seeker999 said:

I like the idea of a bad reputation meaning your next DF immediately takes payment in advance, or adds 2 days to your starting contract, or forces you into a deal (or maybe 2 if your willpower is < 5).

I like the idea, but it's painful to do. Follower recruitment is somewhat complicated internally in DF.

For this to feel fair, it should happen before recruitment, which is even more complex and conflict prone, as I need to disable not only vanilla recruitment for regular followers, and mercs, but also those cases for three different follower frameworks. It's not efficient to do that, so it would have to be handled post recruitment, which is a bit smelly.

 

But if other features are done it might just slot in, so I don't rule it out.

 

One question here is how do you get a bad reputation?

Dismissing a follower with high boredom?

Not keeping a follower for long?

Dismissing a follower you had for a long time?

Having been enslaved?

Having had a lot of deals?

Having had not enough deals?

Maybe just based off your "expected deals" so they carry from follower to follower, or even increase with each hire?

 

That last one is a very simple mechanic that might be a minimal thing I could put in right away.

i.e.

Every time you dismiss a follower, expected deals goes up by one.

Every N-days as a slave removes an expected deal, where N is a config option.

 

 

 

On 3/15/2021 at 3:05 AM, Seeker999 said:

I actually have to dismiss a follower before I can follow Serana into Castle Volkhar to find Mommy Dearest.

Just make Serana a Devious Follower :) 

 

Seriously. I played a huge chunk of Dawnguard like that. I'm not sure if you can still do it without adding her to the potential followers faction though. I just imagine that she's ... very entitled and wants a lot of ... presents. Being a practical/logical lady, she will accept cash in lieu.

Link to comment
1 hour ago, Lupine00 said:

The solution is simple - there should be an MCM option for the dismissal location mechanic - and I added one, as I always intended.

It keeps minimum contract separate from the issue of non immersive dismissal locations.

That way, people who want to block dismissal in "non immersive dismissal locations" are getting that feature they want, and minimum contract can still be used as intended without interference - and SLS can set that if you're forced to have an escort, but that's a different issue to "leave and fire".

Hopefully complaints will stop now, I'm personally stoked at how this is evolving. Not being able to dismiss out in the wilds sounds great to me, though I was a bit disconcerted not to be able to boot my DF in my home or an inn, but you already had tweaking that in mind.

 

1 hour ago, Lupine00 said:

Maybe just based off your "expected deals" so they carry from follower to follower, or even increase with each hire?

 

That last one is a very simple mechanic that might be a minimal thing I could put in right away.

i.e.

Every time you dismiss a follower, expected deals goes up by one.

Every N-days as a slave removes an expected deal, where N is a config option.

Oh I like this idea! Serial hiring and dismissing would be a dangerous prospect, but it sounds like it wouldn't be as potentially fragile as the other options. With as many frameworks as you're trying to keep compatible directly effecting the hiring ability sounds like a headache and a half waiting to happen.

Link to comment
1 hour ago, Xiaron said:

hiring and dismissing would be a dangerous prospect

Well. Dangerous may be overstating it. Expected deals is a fairly mild mechanic, but like other things, it can be improved incrementally.

 

I think the ideas that came up for aggressive deals and such based on willpower will make it a more interesting stat for those that enable that mechanic.

Link to comment

I've run into an interesting situation with my devious follower.  She's from a mod (Juliet, from Anuketh pack) and asked if I wanted her to be my steward at the Lakeview Manor house.  I said sure, and she immediately switched to the steward AI package it seems.  She still has all of her follower dialogues, including the debt and deals, but is just wandering around hacking clay and sandboxing now.  Since the latest version of DF requires me to be in a walled city to dismiss, I'm wondering if it's possible to get money and buy her out, and do a moveto.player to teleport her to whiterun for the final clear debt and dismiss her hoping she then walks back to lakeview.  Not sure if there's any other way out of this situation apart from going back a couple saves and declining her stewardship offer.  I wonder if I decline can I stilll ask her later after I've payed her off.  hmm

 

Edit: I'm going to go back to a previous save and have her wait down the road while I drop my stuff off, and then dismiss her properly later and pause the mod before bringing her back to ask her to be my steward.  It seems like a better route to take rather than using the console to move her.  But it might be a good idea for anyone wanting to have a follower be their steward to have them as a normal follower for that dialogue (unless all of that was just something weird with my game / save)

Link to comment
On 3/15/2021 at 8:00 PM, Lupine00 said:

I don't think there's too much hazard here...

 

I meant to address the other comments and also say a little more on minimum contract duration, which I sort of brushed past before.

 

I didn't use minimum contract, because it's defeating or breaking that mechanic by mis-purposing it for something else.

Either it's reset to something every time you leave a city - which means you have to do some weird city avoidance (or lingering) to ever dismiss a follower - or it doesn't stop leave and dismiss.

 

So, either minimum contract gets ruined as a feature, or the intent isn't really achieved.

The solution is simple - there should be an MCM option for the dismissal location mechanic - and I added one, as I always intended.

It keeps minimum contract separate from the issue of non immersive dismissal locations.

 

That way, people who want to block dismissal in "non immersive dismissal locations" are getting that feature they want, and minimum contract can still be used as intended without interference - and SLS can set that if you're forced to have an escort, but that's a different issue to "leave and fire".

 

 

  

Certainly... That was an idea for boredom from day one. It's just not done.

"Games to reduce boredom" was always a general intent.

 

But you brought up some specific suggestions, which is useful, as "games to reduce boredom" was pretty much the entire limit of my thinking on this. I have no specific ideas for games. Also, for now, there aren't any games on the roadmap, because there's all this other stuff. Which doesn't mean that games can't get in there, especially if there's a design that's simple to implement.

 

The idea of another gambling game of "fun consequences", that the PC can volunteer for, basically to reduce boredom, is a concrete suggestion that a few different things could hang off.

 

 

 

  

I like the idea, but it's painful to do. Follower recruitment is somewhat complicated internally in DF.

For this to feel fair, it should happen before recruitment, which is even more complex and conflict prone, as I need to disable not only vanilla recruitment for regular followers, and mercs, but also those cases for three different follower frameworks. It's not efficient to do that, so it would have to be handled post recruitment, which is a bit smelly.

 

But if other features are done it might just slot in, so I don't rule it out.

 

One question here is how do you get a bad reputation?

Dismissing a follower with high boredom?

Not keeping a follower for long?

Dismissing a follower you had for a long time?

Having been enslaved?

Having had a lot of deals?

Having had not enough deals?

Maybe just based off your "expected deals" so they carry from follower to follower, or even increase with each hire?

 

That last one is a very simple mechanic that might be a minimal thing I could put in right away.

i.e.

Every time you dismiss a follower, expected deals goes up by one.

Every N-days as a slave removes an expected deal, where N is a config option.

 

 

 

Just make Serana a Devious Follower :) 

 

Seriously. I played a huge chunk of Dawnguard like that. I'm not sure if you can still do it without adding her to the potential followers faction though. I just imagine that she's ... very entitled and wants a lot of ... presents. Being a practical/logical lady, she will accept cash in lieu.

Just my two cents, but I feel like of the options you listed, of course the expected deals makes sense, the way you explained it.

Another option, if it's too much headache to demand payment upfront for a new follower, would be to increase daily debt based on this hypothetical reputation mechanic.

You could potentially take a fraction of the PC's highest debt with their previous follower and add it to the daily debt incurred with the follower you're swapping out for?

Or maybe it could be a set amount added to daily debt, but it's reduced by the number of deals you took with your previous follower? Though for that to have any real merit, the starting value added would have to be fairly high.

Link to comment
1 hour ago, user9120975435 said:

There was only "clear debt" dialog, no "clear debt and dismiss follower" option. :(

I take it you mean no "Clear debt [follower will be dismissible]" option?

 

But you still don't say if you had any deals, or what your willpower was, or what quest stage you were in.

Link to comment
5 hours ago, user9120975435 said:

Sorry, no deals, willpower 10, just after sleeping for 10 hours.

Was your location the streets area of a gated city?

 

e.g. Just inside the gate of any city should be a good place to try.

Link to comment
On 3/16/2021 at 4:29 AM, Marg597 said:

I've run into an interesting situation with my devious follower.  She's from a mod (Juliet, from Anuketh pack) and asked if I wanted her to be my steward at the Lakeview Manor house.  I said sure, and she immediately switched to the steward AI package it seems.  She still has all of her follower dialogues, including the debt and deals, but is just wandering around hacking clay and sandboxing now.

That's not mod specific. I've literally had that happen with Lydia before.

Link to comment
On 3/16/2021 at 3:29 PM, Marg597 said:

Edit: I'm going to go back to a previous save and have her wait down the road while I drop my stuff off, and then dismiss her properly later and pause the mod before bringing her back to ask her to be my steward.  It seems like a better route to take rather than using the console to move her.  But it might be a good idea for anyone wanting to have a follower be their steward to have them as a normal follower for that dialogue (unless all of that was just something weird with my game / save)

You don't need to use DF's pause function for this.

In fact, you should not do so.

 

When you unpause DF, it reattaches any DF that you had when you paused back as a DF.

You don't want that for a steward!

 

If you want a follower to be a steward, set them to be ignored by DF.

 

1) Dismiss "devious" follower.

2) Target follower in game (get crosshair over them).

2) Go in Debug MCM.

3) Set targeted follower to be ignored by DF with the button.

4) Recruit the NPC as a follower again.

They are now a regular, non-devious follower, and will remain so.

 

Alternatively, you can make all followers non-devious by default. A good time to do this is while you're in the LAL start room.

Simply go in the MCM, Debug Menu and click the button to scan and ignore all followers.

Wait for it to finish. The time this takes depends on how many followers you installed.

 

Once it's done, you can use the MCM Debug menu to explicitly make only the followers you want devious.

Again, you should do it before you hire them, you can't change it while they are hired.

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