Jump to content

Legraf Tweaks - ABANDONED


Recommended Posts

Could you make panty theft use the DF mod event for resistance loss, so losing her panties to a creepy thief upsets the PC.

Could you also support extended SLAX keywords in the modified ESP?

 

Also, make panty theft standalone mod :) 

 

Features:

  • Wear panties, or problems occur.
  • Panties stolen while sleeping by creeps.
  • Panties stolen during rapes by various mods.
  • Support more panties besides Osare.
  • Support bikini bottoms as panty alternative.
  • Supports SLAX keywords for different kinds of panties. (Slooty, non-slooty, naked-equivalent, respectable, etc).
  • Buy panties from various vendors.
  • Panty thieves may come up to you and say creepy stuff.

 

P.S. You can soft-dep a global variable in script like anything else, just can't soft-dep them in conditions.

Link to comment
1 hour ago, Lupine00 said:

Could you make panty theft use the DF mod event for resistance loss, so losing her panties to a creepy thief upsets the PC.

Could you also support extended SLAX keywords in the modified ESP?

 

Also, make panty theft standalone mod :) 

 

Features:

  • Wear panties, or problems occur.
  • Panties stolen while sleeping by creeps.
  • Panties stolen during rapes by various mods.
  • Support more panties besides Osare.
  • Support bikini bottoms as panty alternative.
  • Supports SLAX keywords for different kinds of panties. (Slooty, non-slooty, naked-equivalent, respectable, etc).
  • Buy panties from various vendors.
  • Panty thieves may come up to you and say creepy stuff.

 

P.S. You can soft-dep a global variable in script like anything else, just can't soft-dep them in conditions.

Has SLAX fixed the always naked issue? 

 

 

Link to comment
5 minutes ago, Lupine00 said:

I don't even remember that issue ... :( 

Probably not, though. The only update was to fix the accidental SLD script dependency.

I have mentioned it a few times. 

 

It kind of blows up the whole point of having sexy armor keywords if everything is just naked anyway, and I know it is SLAX because I uninstalled it and went back to Bakafactories version of SLA and everything works right again. 

Link to comment
1 hour ago, Corsayr said:

I have mentioned it a few times. 

Everything is just naked anyway?

 

I don't see any behaviour like that.

 

I think you've mentioned something like that before, and I said I'd look into it, but I probably need a bit more to go on.

 

What mod is judging you to be naked?

What were you wearing?

What did you set in SLAX?

Did you try turning the settings off and on again (there is probably a bug that could result in keywords not being set, but I'm not expecting to see naked always set).

 

 

This would imply that the old SLA keyword is being set on the things you are getting treated as naked.

If you look in your log, there should be a ton of (probably unwanted) spam from SLAX.

 

I need to make sure that SLAX is not spamming when it shouldn't, so I intend to fix that in the near future. This week I expect, and I will fix anything else that is broken, including the off-and-on-again issue... But any extra information will make it more likely I can resolve your specific issue.

 

I've used SLAX since August, and not had "always naked" issues. I have had issues with bikini armor being treated as naked, but that's not a SLAX issue, that's just how some bikini items work. They put nothing at all in slot-32, so you are naked as far as most mods are concerned. SLS has a hack for that.

Link to comment
3 hours ago, Lupine00 said:

Could you make panty theft use the DF mod event for resistance loss, so losing her panties to a creepy thief upsets the PC.

Could you also support extended SLAX keywords in the modified ESP?

 

Also, make panty theft standalone mod :) 

 

Features:

  • Wear panties, or problems occur.
  • Panties stolen while sleeping by creeps.
  • Panties stolen during rapes by various mods.
  • Support more panties besides Osare.
  • Support bikini bottoms as panty alternative.
  • Supports SLAX keywords for different kinds of panties. (Slooty, non-slooty, naked-equivalent, respectable, etc).
  • Buy panties from various vendors.
  • Panty thieves may come up to you and say creepy stuff.

 

P.S. You can soft-dep a global variable in script like anything else, just can't soft-dep them in conditions.

Oh, excellent idea on the DF integration, I'll do that shortly.  The more mods that integrate with DF's resistance+willpower, the closer it becomes to a universal stat everyone can depend on, and start using when they need to read a PCs mental state for whatever noble or nefarious purpose.  I won't, however, be clever enough to make pickpocketing them back regain resistance - that requires more tracking than I want to incorporate in this super-simple tweak.

 

What extended keywords were you thinking would be useful?  Oh, I see that in your "standalone" sky-castle suggestions.  The Osare underwear is all basically comparable, so I suppose it would all qualify as "slooty" if worn alone (certainly wouldn't block spanks in StA).  I could add that in the .esp but then SLAX would become a hard requirement, right?  But I can add both the slooty keyword and while I'm at it go back and add the MWA keyword to base objects in script, making MWA (& SLAX) a soft dependency.  That seems better.  If that's possible directly in the .esp, please tell me how!

 

Right now this tweak is strictly slot-based - anything in slot 49 or 52 (user's choice) is a valid target.  So it does work for all the TAWoBA bottoms for instance, either original or as modified by the former LL member.  Osare panties are only mentioned by name because I edited their slots, for those who want that.

 

Nice ideas for a panty theft mod!  "Maybe" too ambitious for me now - though I am interested in making panties constructible and purchasable, so I'll look into that.

 

 

My issue with globals wasn't being softly-dependent on other globals, but filling new globals I added in the modified scripts without breaking those scripts' attachment to their original mods or turning those mods into hard dependencies.  But no problem, I worked it out softly, if inelegantly.

 

Link to comment
1 hour ago, legraf said:

My issue with globals wasn't being softly-dependent on other globals, but filling new globals I added in the modified scripts without breaking those scripts' attachment to their original mods or turning those mods into hard dependencies.  But no problem, I worked it out softly, if inelegantly.

It's the same problem either way. You can load any global using either GetForm or GetFormFromFile.

 

An Osare ESP with a hard dep on SLAX and MWA seems fine. You only install it if you want it.

I'm probably going to copy the MWA keywords into next SLAX, or add an equivalent, as MWA seems to be a common pain point.

Link to comment
10 hours ago, legraf said:

I won't, however, be clever enough to make pickpocketing them back regain resistance - that requires more tracking than I want to incorporate in this super-simple tweak.

You could just assume that whenever stolen panties enter the PC's inventory, that's the PC stealing them back.  I like the resistance loss from panty theft.  It would make sense to regain some (but not all) of the lost resistance if you get them back (the event was still unsettling).

15 hours ago, Lupine00 said:

Wear panties, or problems occur.

I'd like this.  I'm doing that manually now by lowering the arousal threshold in DEC by 5 points when the PC isn't wearing panties.  Panties already provide a slightly better chance to escape a SL Horrible Harassment (and in SL Approach if using the SLHH rape mode).  It could extend further, but that would probably involve more mod integration.

15 hours ago, Lupine00 said:

Panties stolen during rapes by various mods.

This seems easy in concept, just check the victim flag for the PC during sex.  Ideally the theft would be a chance, not a certainty.  As above, the added insult could trigger DF resistance loss with the potential to get some back if you recover the stolen panties. 

 

You might also considering a chance for body clothing to be stolen too (non-lockable, non SexLabNoStrip).  If the chance is configurable, players who don't want it could set it to zero, since the consequence for nakedness is severe in many games.  But it could be an extra challenge for those who want it. 

15 hours ago, Lupine00 said:

Buy panties from various vendors.

This would be convenient.  I've been doing this manually too, but it's tedious.  If you do this, I suggest supporting a custom mesh folder.  The player can put the desired panty meshes in that folder, copying them from whatever clothing mods the player is using.

 

I think the most value comes from features that other mods don't already offer or that can't easily be handled manually.  Triggering resistance loss/regain in DFC and panty theft during rape might be fairly simple, and would provide a real benefit.

Link to comment
17 hours ago, Lupine00 said:

It's the same problem either way. You can load any global using either GetForm or GetFormFromFile.

 

An Osare ESP with a hard dep on SLAX and MWA seems fine. You only install it if you want it.

I'm probably going to copy the MWA keywords into next SLAX, or add an equivalent, as MWA seems to be a common pain point.

Yes, that's what I ended up doing.  But only after beating my head against it for days - why, Santa, why don't any of the scripts see each other globals?  No errors, each script uses the global fine, but actually each uses its own local variant of it... ah, because there's nothing "global" in their scope, as it turns out, unless you use a master.  My fault, but some aspects of Papyrus are just painful when transitioning and starting out.  Lots of frustrating moments because of faulty assumptions on my part.

 

7 hours ago, HexBolt8 said:

You could just assume that whenever stolen panties enter the PC's inventory, that's the PC stealing them back.  I like the resistance loss from panty theft.  It would make sense to regain some (but not all) of the lost resistance if you get them back (the event was still unsettling).

...

...yes, I could.  I didn't want to ... I was going to keep it super-simple, be lazy, and I had told myself "that's OK, doing it right would be super-hard, ignore it".  So I wasn't thinking of it.

 

And now I'm thinking of doing it.  I hope you're happy.  ;)  Though actually I'll probably only do it if there's a "pickpocket success" event I can listen for, I don't want to keep scanning inventory for this tiny feature.  Anyway, I'll look into it.

 

For now, I'm most of the way to completely DF integration with panty theft (and for ordinary sleep creep too, when he leaves a "gift" - but I'm thinking I won't add it for sleep-creep theft of other items).  Then I'll improve the keyword implementation for MWA and SLAX (all soft-dependices so I don't need to maintain multiple .esps with different masters), and then probably provide a modified SLHH .esp to eliminate the "runs away" silliness.

 

After that, I'll see about making Skyrim: All Panty Theft Edition.

 

Link to comment
3 hours ago, legraf said:

I hope you're happy.

I am.  :)  I see that my work here is done. 

 

But seriously, why not ask Lupine00 for advice?  I doubt that you'd need to poll inventory.  I believe there's an inventory update event, but there's probably a more efficient way to do it. 

Link to comment

There is an event - OnItemAdded, but the player picks up a LOT of items in the game, and even doing a simple, fast conditional and rejecting 99.999% of them will add a tiny load to each looting instance.  However, I'm looking at using AddInventoryEventFilter so it is only called when a specific item type is picked up: in this case, the last type of underwear stolen, that should keep it from causing too much load.  And while I'm at it, I'll probably turn off the listener when the player changes cells, or perhaps after a period of time, so it doesn't linger on in the game for a relatively rare event.

 

I'm also researching OnStoryAddToPlayer, which allows catching pickpocket events specifically, but it's straining my brain (and so far I haven't seen a mod using it to use as a model).  Really, it looks too heavy-duty for my ambition here.

 

I joke, but I do love the ideas, thanks - I'll keep these tweaks small, but I do want to work towards some slightly larger projects.  It beats working.

 

Oh, a question for anyone: when I provide feedback (like when DF Resistance is damaged), what "voice" do people prefer?  Examples:

1st: "I feel a bit insecure."

2nd: "You feel a bit insecure."

3rd; "<player name> feels a bit insecure."

neutral: "Insecurity increased (resistance -2)"

 

I'm not ambitious enough to permit configurable voices like Apropos or Sexist Guards.  So unless everyone loves one style, I'll probably go "neutral", even though it's colder.

Link to comment
8 hours ago, legraf said:

No errors, each script uses the global fine, but actually each uses its own local variant of it... ah, because there's nothing "global" in their scope, as it turns out, unless you use a master.

If they are the same Form, they are the same global. You can't have two copies of a form in Skyrim, no matter what.


And yet, we saw issues in DD a while back where CD had one version of a keyword and DD had another. How could it be?

The answer was that they got them by NAME, not form ID. They were not the same form at all.

Keywords are a special case of that because some clever person added a way to get them by name to avoid a hard dependency.

 

SLS has a copy of the _DWill global from DF, and it works properly, because it is the same form. However, I'm not sure if you can't do that in the CK. You can to do it in Tes5Edit though.

 

 

3 hours ago, legraf said:

There is an event - OnItemAdded, but the player picks up a LOT of items in the game, and even doing a simple, fast conditional and rejecting 99.999% of them will add a tiny load to each looting instance.  However, I'm looking at using AddInventoryEventFilter so it is only called when a specific item type is picked up: in this case, the last type of underwear stolen, that should keep it from causing too much load.  And while I'm at it, I'll probably turn off the listener when the player changes cells, or perhaps after a period of time, so it doesn't linger on in the game for a relatively rare event.

 

I'm also researching OnStoryAddToPlayer, which allows catching pickpocket events specifically, but it's straining my brain (and so far I haven't seen a mod using it to use as a model).  Really, it looks too heavy-duty for my ambition here.

These events only work reliably if there can only be ONE of an item. Usually, they are used with unique quest items.

They may work for non singular items, but often if you already have an item the addition will not be detected.

 

I wouldn't advise using the story manager to do small trivial things. It's designed to do one thing - start quests - and starting a quest is a heavy operation that takes several seconds.

 

Here's one way to handle it. Put the panties in a quest alias and track what's happened to that. This limits the number of stolen panties you can track, but I guess that has a hilarious natural correlation to the final perfect size of the panty thief's growing collection. 

 

 

I prefer second person for those kinds of messages.

"You feel a little less confident."

Link to comment

On notification messages, my first choice is 2nd person, second choice is neutral.  I don't care for a mod presuming to make my character speak or think out loud.  I believe that SL Adventures uses 2nd person for things like sleep creep.

 

If you take the quest alias approach with a limited number of panties tracked, that could reflect a thief's having stashed the earliest-stolen panties in a secret location or sold them to another admirer.  With too many thefts you lose the chance to get your stuff back. 

 

I'm really liking the idea of small upsetting events that chip away at the PC's mental fortitude.  I wonder if there might be opportunities (outside of this mod) to link DFC willpower with things like bartering effectiveness, or a chance for a mental breakdown at zero will the longer it stays there.

Link to comment
11 hours ago, Corsayr said:

Always 1st person! ?

Your wish is my command.

 

1 hour ago, HexBolt8 said:

On notification messages, my first choice is 2nd person, second choice is neutral.

Your wish is my... damn it!

 

OK, I won't be providing a lot of messages anyway, it's simple to support multiple voices.  So I'll just do that.  For now, only 1st & 2nd person, and if someday someone asks for others, I'll add them.

 

 

 

7 hours ago, Lupine00 said:

If they are the same Form, they are the same global. You can't have two copies of a form in Skyrim, no matter what.


And yet, we saw issues in DD a while back where CD had one version of a keyword and DD had another. How could it be?

The answer was that they got them by NAME, not form ID. They were not the same form at all.

Keywords are a special case of that because some clever person added a way to get them by name to avoid a hard dependency.

 

SLS has a copy of the _DWill global from DF, and it works properly, because it is the same form. However, I'm not sure if you can't do that in the CK. You can to do it in Tes5Edit though.

 

Sure, I understand that now, but when first starting out, not so long ago, I didn't realize that.  I made the incorrect assumption that identically-named global variables in the CK would be linked (have the same FormID), which of course is not the case.  But working out why the resulting behaviour was so strange took a long, frustrating time.

 

But now... in checking the _DWill global, my mind has been blown.  The new SLS doesn't have it, by the way, since Monoman1 switched to using DF's ModEvent.  BUT: how is it possible that DF has four global variables with 01......... FormIDs (including _DWill)?  I mean, I know how to change FormIDs in Tes5Edit, that's trivial, but it never crossed my mind we could just make up FormIDs that appear to be in Update.esm without actually being in that master.  Aren't there possible consequences?  For instance, might multiple modders not accidentally assign the same made-up FormID?  Or are we counting on the improbability of that, given the number of possible FormIDs?

 

This does seem like an incredibly easy way to share globals without bothering with GetFormFromFile (though that's easy enough itself).

 

 

Quote

 

These events only work reliably if there can only be ONE of an item. Usually, they are used with unique quest items.

They may work for non singular items, but often if you already have an item the addition will not be detected.

 

I wouldn't advise using the story manager to do small trivial things. It's designed to do one thing - start quests - and starting a quest is a heavy operation that takes several seconds.

 

Here's one way to handle it. Put the panties in a quest alias and track what's happened to that. This limits the number of stolen panties you can track, but I guess that has a hilarious natural correlation to the final perfect size of the panty thief's growing collection. 

 

Thanks for sharing the benefit of your experience!  I appreciate your advice.

 

But... are you sure about the OnItemAdded event regarding multiple items?  I have seen that regarding OnContainerChanged, but that's an event attached to the object - OnItemAdded is attached to the container (inventory in this case) and I haven't heard of such an issue with it (indeed the CK wiki entry specifically talks about multiples, though not adding one stack to another).

 


 

1 hour ago, HexBolt8 said:

If you take the quest alias approach with a limited number of panties tracked, that could reflect a thief's having stashed the earliest-stolen panties in a secret location or sold them to another admirer.  With too many thefts you lose the chance to get your stuff back. 

 

I'm really liking the idea of small upsetting events that chip away at the PC's mental fortitude.  I wonder if there might be opportunities (outside of this mod) to link DFC willpower with things like bartering effectiveness, or a chance for a mental breakdown at zero will the longer it stays there.

 

I don't mind limiting the number to track, I was inclined to only track the latest theft anyway.  Anything earlier and the player probably doesn't deserve a Resistance reward.  Really, if the items have been lost for a long time, perhaps we'd need to consider how they've been used in the meantime, leading to more Resistance loss rather than gain!

 

But I, too, love the idea of small everyday events having tiny effects on resistance and willpower, and particularly, having such changes reflected in other aspects of gameplay besides just DF.  I suspect most people who appreciate that will keep DF installed anyway, but it could make sense to move the willpower & resistance tracking to its own tiny framework.

 

Link to comment
On 12/14/2019 at 7:10 PM, Lupine00 said:

Could you also support extended SLAX keywords in the modified ESP?

Back to this, Lupine00, I'm starting to work this in.  But what precisely would you like?  Which keywords should be attached to these items, or did you have something else in mind?

(You can see the originals here, and here.

Link to comment
4 hours ago, legraf said:

BUT: how is it possible that DF has four global variables with 01......... FormIDs (including _DWill)? 

This is what Lozeak wrote on 14 April 2018:

 

"So discovered that you can inject CK stuff into other masters ...... meaning I can inject my Willpower global into Update.esm for use in other mods.

 

What this means....

 

A mod could lower it to there event....

A mod could use it to trigger there events.....

A mod could use to detect if Devious Followers is running."

Link to comment
9 hours ago, HexBolt8 said:

This is what Lozeak wrote on 14 April 2018:

Thank you, HexBolt8, nice historical research there.  I'm still a bit leery about this method - I'll stick with GetFormFromFile I think, unless I see a special need.

 

Resistance loss is in and configurable, "just" have to work on the flip side of regaining resistance, and find out what keyword changes Lupine wants, so I can update.

 

Oh!  Ha, OK, I won't be putting "regaining resistance" in just yet.  Lupine's ModEvent is strictly for resistance loss, and explicitly rejects negative inputs.  Guess I'll request a complementary event in DF's thread.  Ah... which I now realize I had already done back in October, and the idea was shot down.  Well, asking again.

 

I could of course delay sending the resistance loss event until after the player's had some time to try to recover the item and failed to do so, but such a kludge isn't my first choice when there's hope for a proper solution.

Link to comment
17 hours ago, legraf said:

But now... in checking the _DWill global, my mind has been blown.  The new SLS doesn't have it, by the way, since Monoman1 switched to using DF's ModEvent.  BUT: how is it possible that DF has four global variables with 01......... FormIDs (including _DWill)?  I mean, I know how to change FormIDs in Tes5Edit, that's trivial, but it never crossed my mind we could just make up FormIDs that appear to be in Update.esm without actually being in that master.  Aren't there possible consequences?  For instance, might multiple modders not accidentally assign the same made-up FormID?  Or are we counting on the improbability of that, given the number of possible FormIDs?

As Update doesn't have forms with those IDs and never will, it's fine.

 

The advantage of the forms being in Update is that they have stable IDs no matter what your LO, so you can access them with GetForm() and any mod can include copies of them in safe and harmless way. But you need to have the copy to ensure it's there.

 

It's generally better to use GetFormFromFile because otherwise you're just updating a Form that does nothing, but I guess some people just find it convenient.

 

 

As you shouldn't modify willpower directly, it's all a bit moot. Really. Do not modify willpower directly. AFAIK Spank that Ass was the only mod that did it, and now it doesn't, so all is well. Can't recall if the original SLS spanks could damage willpower.

 

If there's a genuine need to add gaining resistance I have no trouble adding it. Just didn't want to add it for zero actual users.

Link to comment
6 hours ago, Lupine00 said:

As Update doesn't have forms with those IDs and never will, it's fine.

In other words, this:

 

On 12/16/2019 at 10:52 AM, legraf said:

 might multiple modders not accidentally assign the same made-up FormID?  Or are we counting on the improbability of that, given the number of possible FormIDs?

 

Which, again, is fine, if a teensy bit reckless.  I might find reason to do it someday, but not today!  Thanks for the help; learning Papyrus involves a lot of "picking up gems here and there", and in my case, a fair bit of trial & error.  So, keep dropping gems.

 

Link to comment

I think there'd only be a problem if two modders chose the same name for a global and injected it into the same master.  That doesn't seem to be common practice, so one can probably get away with it. 

 

The real question is whether it's ever wise to expose your mod's globals to being arbitrarily set by any mod.  I don't think so.  As Lupine00 says, it's always better to use the interface.  That interface can have logic to decide whether the requested update should be allowed.  In certain circumstances it might not make sense, but the other mod wouldn't necessarily be aware of that.  Interfaces are better. 

Link to comment
10 hours ago, HexBolt8 said:

The real question is whether it's ever wise to expose your mod's globals to being arbitrarily set by any mod.

Mostly not a good idea. Though in a sense, all globals are "open" by nature of being fixed form IDs in whatever mod they reside.

 

I think the main reason for doing it is to make them easily readable by other mods, and usable in dialog conditions.

However, setting other mods globals is probably just rude! Circumstances vary.

Link to comment

In order to get the basic Resistance Loss function out there before holidays and family smother me (in a good way), I've updated the mod with just that, and none of the more ambitious schemes.

 

Lupine00, I'm still fuzzy on what you would like regarding the keywords for the included underwear.  I'd happily add any keywords, but I'm not sure how they are intended to be used.  Is it a "scale" of ratings, from conservative to naked, with just one keyword added to represent the position on that scale?  Or should items have all the keywords that are appropriate (all three of Revealing, and Slooty, and Whorish, for instance?).

 

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