Jump to content

Recommended Posts

I installed Harassment and Attributes and the following is what I have observed so far:

 

I tried this in one of my settlements - Starlight Drive-in. I have RSE installed, but changed the setting on that mod such that NPCs would ignore player nudity, so that it wouldn't conflict with Harassment.

When I got the message that someone was following me, no one actually approached. After some time, it would say that he was tired of chasing me and decide to just rape, and the NPC would then teleport next to the SS and the animation would start. This would happen every time while I was trying this out in Starlight Drive-In. 

 

Then I went to Sanctuary to test. Again, the message that said that someone was approaching showed. This time, I observed that the Armor vendor left his store and walked slowly towards my SS. I waited till he was close enough and finally, the "Hey you!" dialogue appeared. Things proceeded as expected from there. The next 3 approaches were from the same NPC - the Armor vendor. He'd always walk slowly (at the same pace as settlers walking around the settlement) and at times, he'd actually walk away from my SS. Since I knew he was the NPC made to approach the SS, I ran to him and when I got close enough, the "Hey you!" dialogue appeared.

 

So, I think the approaching NPCs need to run instead of walk, or at least, do it in the same manner as RSE's. RSE's NPCs never waver from my SS when they approach and would get to my SS quickly. It is not immersive to see the message say that someone is approaching and no NPC actually does and then when the time is up, he'd just teleport and starting raping. My guess is that the scan is too wide and would pick an NPC that is very far away, who would then walk slowly towards the SS, sometimes getting lost, and when he fails to get to the SS before the time is up, he teleports. 

Link to comment
3 minutes ago, Tanglin said:

I installed Harassment and Attributes and the following is what I have observed so far:

 

I tried this in one of my settlements - Starlight Drive-in. I have RSE installed, but changed the setting on that mod such that NPCs would ignore player nudity, so that it wouldn't conflict with Harassment.

When I got the message that someone was following me, no one actually approached. After some time, it would say that he was tired of chasing me and decide to just rape, and the NPC would then teleport next to the SS and the animation would start. This would happen every time while I was trying this out in Starlight Drive-In. 

 

Then I went to Sanctuary to test. Again, the message that said that someone was approaching showed. This time, I observed that the Armor vendor left his store and walked slowly towards my SS. I waited till he was close enough and finally, the "Hey you!" dialogue appeared. Things proceeded as expected from there. The next 3 approaches were from the same NPC - the Armor vendor. He'd always walk slowly (at the same pace as settlers walking around the settlement) and at times, he'd actually walk away from my SS. Since I knew he was the NPC made to approach the SS, I ran to him and when I got close enough, the "Hey you!" dialogue appeared.

 

So, I think the approaching NPCs need to run instead of walk, or at least, do it in the same manner as RSE's. RSE's NPCs never waver from my SS when they approach and would get to my SS quickly. It is not immersive to see the message say that someone is approaching and no NPC actually does and then when the time is up, he'd just teleport and starting raping. My guess is that the scan is too wide and would pick an NPC that is very far away, who would then walk slowly towards the SS, sometimes getting lost, and when he fails to get to the SS before the time is up, he teleports. 

This is easy to fix. Use matched reference (actor) (in loaded cell) closest to player will resolve the distance from player issue for selected NPCs. To resolve the speed, an AI package needs to be added to the ref alias for the NPC that has a walk speed set to RUN - walk fast is not good enough sometimes.

 

BTW, this message is for TwistedTrebla. :smile:

Link to comment
1 hour ago, Flashy (JoeR) said:

This is easy to fix. Use matched reference (actor) (in loaded cell) closest to player will resolve the distance from player issue for selected NPCs. To resolve the speed, an AI package needs to be added to the ref alias for the NPC that has a walk speed set to RUN - walk fast is not good enough sometimes.

 

BTW, this message is for TwistedTrebla. :smile:

Thanks! Tips much appreciated :smile: 

 

The NPC approach part is probably the weakest link, and needs a lot of tweaks. I have the NPC package set with jog speed, but I guess I should tell them to run instead. It is currently set to select closest NPC, but I'm going to need to figure out what happens when NPCs get stuck.

 

Also, I've noticed that when the mod selects a stationary NPC, like guards or merchants, the NPC would initially walk to the player, then walk back to their post. I tried to remedy that by adding a loop to force the NPC to approach the player every 3 seconds. But sometimes, what ends up happening is NPC walks to player, walks back to post, 3 sec later walks back to player (because the mod told him to), and then walks back, and so on. So I get this dancing NPC who just walks back and forth lol. Have you encountered anything like that in your experience before?

Link to comment
16 minutes ago, twistedtrebla said:

Thanks! Tips much appreciated :smile: 

 

The NPC approach part is probably the weakest link, and needs a lot of tweaks. I have the NPC package set with jog speed, but I guess I should tell them to run instead. It is currently set to select closest NPC, but I'm going to need to figure out what happens when NPCs get stuck.

 

Also, I've noticed that when the mod selects a stationary NPC, like guards or merchants, the NPC would initially walk to the player, then walk back to their post. I tried to remedy that by adding a loop to force the NPC to approach the player every 3 seconds. But sometimes, what ends up happening is NPC walks to player, walks back to post, 3 sec later walks back to player (because the mod told him to), and then walks back, and so on. So I get this dancing NPC who just walks back and forth lol. Have you encountered anything like that in your experience before?

The problem with the assigned NPCs is they have a package running already and it is superceding the one you've assigned via the ref alias. You may be able to break that simply by changing the priority of the quest with the ref alias / package on it. I am uncertain if this will actually work, but in theory, priority of quest typically does supercede other items in the game (specifically dialogue for sure). As a tip, RSE typically sets priority to 100 for all dialogue / approach quests to ensure nothing gets in the way of my scripted / scene actions.

 

Also be sure to click the MUST COMPLETE flag in the package. That one is key - with it checked, it forces the assigned NPC to at least reach the target distance before the package will revert to the previously assigned package. Then you can do a fragment on the package if you like, for the Begin/End/Change tab, using On End, you can make the NPC restrained if you like or force them to use another package by changing condition variables (this is super complicated but works amazingly well) and forcing an EvaluatePackage() on them.

Link to comment
48 minutes ago, Flashy (JoeR) said:

The problem with the assigned NPCs is they have a package running already and it is superceding the one you've assigned via the ref alias. You may be able to break that simply by changing the priority of the quest with the ref alias / package on it. I am uncertain if this will actually work, but in theory, priority of quest typically does supercede other items in the game (specifically dialogue for sure). As a tip, RSE typically sets priority to 100 for all dialogue / approach quests to ensure nothing gets in the way of my scripted / scene actions.

 

Also be sure to click the MUST COMPLETE flag in the package. That one is key - with it checked, it forces the assigned NPC to at least reach the target distance before the package will revert to the previously assigned package. Then you can do a fragment on the package if you like, for the Begin/End/Change tab, using On End, you can make the NPC restrained if you like or force them to use another package by changing condition variables (this is super complicated but works amazingly well) and forcing an EvaluatePackage() on them.

Wow, awesome tips, thanks!

 

I definitely haven't tried those yet. My quest priority is actually set to 0, lol. So maybe setting to 100 solves a lot of the issues. I also haven't tried "must complete" flag. Can't wait to try these out and see the results. Thanks again! much appreciated.

Link to comment

v0.1.1

Made some tweaks to harasser's approach AI

-FIXED: Harassers will now move with a sense of urgency and purpose. He will attempt to run to the player to initiate a dialogue.

-FIXED: Harassers will no longer be hesitant, moving back and forth between the player and his previous spot.

-FIXED: Harassers no longer have the ability to blink rape. He will still get angry if you ignore him, but will rape you after walking to you, instead of teleporting.

-FIXED: Harassers no longer have hawkeyes, and see you and approach you from miles away. Only NPCs within 3000 game units (which I eyeballed as approx 30 yards in real life) are assigned as harassers.

-FIXED: Harassers will no longer blame you for being stuck. Their "patience" timer starts after the initial greet, so if they get stuck somewhere and can't get to you, it's not player's fault and harasser will not get angry for it. But once they do make the initial greet with the player, they will get impatient and angry much quicker than before.

Link to comment

Thanks for the update! The harasser's approach works much better now. I have one suggestion, and one bug report. 

 

The bug: The harasser's approach works swimmingly as long as there aren't other stuff going on. I tested this mod with RSE's solicitation. I put on the Solicitation Ring and got my first customer. While they were going at it, the harasser showed up (because of her nakedness while performing her hooker duties). The "Hey you!" forcegreet must have got disrupted since the Four-Play animation was still going on. And then the harasser would just follow my SS around and not use the force-greet anymore. Just passively following. And since he's the armor merchant, I would get the merchant dialogue every time I talked to him.

 

He went away only at in-game 8 PM, when merchants other than food stall vendors got off work. The AI that made him walk away to do other stuff superseded his harasser AI. 

 

I have not tested what would happen during RSE's Abduction, but I think it'll be the same. Likewise, I have not tested being naked while in combat and then getting a harasser, for example, during a settlement attack and then getting naked through Combat Strip.

 

On a different note, here's my suggestion: The harasser's offer, the SS' response, and then the harasser's counter-offer is a fun mechanic. What I think would be even better would be having consensual/aggressive animations based on this exchange.

 

For example,

Submitting would lead to consensual animations. After all, she agreed to it so there is no need to handcuff her or pin her down.

Pleading and then being convinced to have sex by the harasser would lead to consensual animations.

Pleading, and then the harasser getting annoyed would lead to aggressive animations.

Resisting, and then failing, would lead to aggressive animations, and so on.

Link to comment

v0.1.2

-CHANGED: Harasser can no longer be of raider (enemy) faction, or gunner faction.

-FIXED: Harasser will no longer be assigned when player is already having sex (from another mod)

 

Clean save not required, but make sure harasser isnt active when youre upgrading.

 

Those small changes should make this play better with other mods, like RSE. Since harassers cannot be raider enemy faction, it wont trigger during RSE abducted quest. 

Link to comment

Thanks for making these changes. The Harasser no longer being picked from Raider or Gunner factions would also mean that it would play well with MCG's feature that allows the SS to be naked and offer her body in exchange for free passage. I don't have MCG installed, though, so I could be wrong.

 

Link to comment

Ok, two things to report:

 

So I tested by using SEU to start a Four-Play animation with one NPC, and while the SS was naked, another NPC rushed to her. So it seems that a Harasser is still being assigned when Four-Play animations are playing. And when the animation ended, the clothes got put back on, and the Harasser did not say "Hey you!".

 

While it is not game breaking, the Harasser kept pushing the SS out of alignment during the animation, and after that, the Harasser's Ai seemed to be permanently disrupted. He did not perform any idle animations and would just stand at that spot and never moved from there. Saving and reloading or fast travelling would not change it. He'd still be standing at the same spot not doing any idles when you return.

 

Secondly, RSE's Solicitation and Harassers still do not play nice. Here's what happened: I put on a Solicitation ring while naked. Harasser approached. During the long conversation, RSE picked the same NPC as the customer. My SS managed to convince him to go away and the very next thing he did was to solicit her for paid sex. I agreed and after the animation ended, the NPC's Ai also broke. He'd stand at the same spot day and night. Again, not game-breaking, but I like seeing NPCs go about their business - walking, interacting with objects etc.

 

I think it might be best to just state that this mod is incompatible with RSE's Solicitation. While NPCs not moving may not be game-breaking now, I'm not sure that it won't cause problems when the NPC is needed to do something as part of a vanilla quest.

 

Link to comment
12 minutes ago, Tanglin said:

I think it might be best to just state that this mod is incompatible with RSE's Solicitation. While NPCs not moving may not be game-breaking now, I'm not sure that it won't cause problems when the NPC is needed to do something as part of a vanilla quest.

 

Or, you know, NOT state such a thing and ask Flashy how HE blocks these sorts of things from happening so that others can do the same sort of thing in their mods. ;)

 

And the answer to this is VERY simple. Keyword. In your main script that starts the quest for the NPC fill and starts sex, add these two events. Obviously, you need to register for them as well.

 

RegisterForCustomEvent(four_play_event, "animation_start")
RegisterForCustomEvent(four_play_event, "animation_over")

 

Event four_play:Main.animation_start(four_play:Main akSender, Var[] akArgs)

Actor Actor0 = akArgs[0] as Actor
Actor Actor1 = akArgs[1] as Actor

If Actor0 == PlayerREF || Actor1 == PlayerREF

PlayerREF.AddKeyword(Busy_Keyword_Here)

Endif

EndEvent

 

Event four_play:Main.animation_over(four_play:Main akSender, Var[] akArgs)

Actor Actor0 = akArgs[0] as Actor
Actor Actor1 = akArgs[1] as Actor

If Actor0 == PlayerREF || Actor1 == PlayerREF

PlayerREF.RemoveKeyword(Busy_Keyword_Here)

Endif

EndEvent

 

With that, now you add a condition on the Ref Alias for the approacher that says HasKeyword "Busy_Keyword_Here" == 0.00, with the SUBJECT being the player. Boom, problem solved as now the ref alias will not fill when the player has the BUSY keyword on them and that means there will be NO NPC to approach the player until the script checks again in 60 seconds or whatever the default time is.

 

So as we can see, stating not compatible with RSE is too strong a way to go. ;)

 

Note that this approach will make this mod compatible with EVERY mod that uses four-play for animated sex scenes, not just RSE.

Link to comment
6 minutes ago, Flashy (JoeR) said:

Or, you know, NOT state such a thing and ask Flashy how HE blocks these sorts of things from happening so that others can do the same sort of thing in their mods. ;)

 

And the answer to this is VERY simple. Keyword. In your main script that starts the quest for the NPC fill and starts sex, add these two events. Obviously, you need to register for them as well.

 

RegisterForCustomEvent(four_play_event, "animation_start")
RegisterForCustomEvent(four_play_event, "animation_over")

 

Event four_play:Main.animation_start(four_play:Main akSender, Var[] akArgs)

Actor Actor0 = akArgs[0] as Actor
Actor Actor1 = akArgs[1] as Actor

If Actor0 == PlayerREF || Actor1 == PlayerREF

PlayerREF.AddKeyword(Busy_Keyword_Here)

Endif

EndEvent

 

Event four_play:Main.animation_over(four_play:Main akSender, Var[] akArgs)

Actor Actor0 = akArgs[0] as Actor
Actor Actor1 = akArgs[1] as Actor

If Actor0 == PlayerREF || Actor1 == PlayerREF

PlayerREF.RemoveKeyword(Busy_Keyword_Here)

Endif

EndEvent

 

With that, now you add a condition on the Ref Alias for the approacher that says HasKeyword "Busy_Keyword_Here" == 0.00, with the SUBJECT being the player. Boom, problem solved as now the ref alias will not fill when the player has the BUSY keyword on them and that means there will be NO NPC to approach the player until the script checks again in 60 seconds or whatever the default time is.

 

So as we can see, stating not compatible with RSE is too strong a way to go. ;)

 

Note that this approach will make this mod compatible with EVERY mod that uses four-play for animated sex scenes, not just RSE.

 

Based on what I understand of the above, this solves the problem of Harassers being assigned when a Four-play animation is playing or when the player character is interacting with the Harasser, correct? But the problem I faced was that when a Harasser was assigned first, a Solicitation customer was assigned during the Harasser-dialogue, and to the same NPC. I don't know how the code works, but there's nothing that FP Sexual Harassment can do to prevent RSE from assigning a customer while the player character is interacting with the Harasser, unless RSE looks for a certain flag before assigning and FP Sexual Harassment turns on the flag, correct?

 

It'll be wonderful for us if you and Twistedtrebla could coordinate on this, but until then, it's safer for us users to just not turn on both at the same time.

Link to comment

What the above does is add a keyword to the player when sex initiates, regardless of which mod calls it. And then once sex is done, removes the keyword. And it is the keyword that stops this mod from assigning a harasser while the player is sexing. An easy way to make this mod block the solicitation mode of RSE is to have a conditional check on the timer reset where the quest is started that fills the reference alias.

 

RSE_Solicit_Ring = Game.GetFormFromFile(0x0026DF,"FP_RSE.esp") as Armor

 

Event OnTimer(int TID)

If TID == 0

   If !PlayerREF.IsEquipped(RSE_Solicit_Ring)

      StartHarassement() <-- or whatever name is used as a function to start the ref alias fill quest / sex scene init

   Endif

StartTimer(60,0)

Endif

EndEvent

 

Which in a nutshell imports the solicitation ring from RSE and then everytime the timer resets, it says if the player is NOT wearing the ring, call for a harasser. If the player is wearing the ring, simply restart the scan timer, without assigning a harasser (either way, the timer restarts technically).

Link to comment

So, technically, if TwistedTrebla puts both of these into the source of the harassement script and adds the condition on the ref alias, as outlined in my posts above, it will prevent a harasser from assigning when you are having sex, which solves your knocking out of alignment issue AND it will also prevent the mod from assigning a harasser when the player is actively soliciting via RSE.

Link to comment
2 hours ago, Flashy (JoeR) said:

So, technically, if TwistedTrebla puts both of these into the source of the harassement script and adds the condition on the ref alias, as outlined in my posts above, it will prevent a harasser from assigning when you are having sex, which solves your knocking out of alignment issue AND it will also prevent the mod from assigning a harasser when the player is actively soliciting via RSE.

Thanks again for the tips! And thanks @Tanglin for bug reports and tests

 

I actually did put a very similar logic for sex start and sex end events, where I would keep a boolean local variable that indicates whether or not player is having sex. The quest would only start if the player was not having sex, so it won't even get to the alias condition matching part. The problem is, as I just discovered, I forgot to register for sex start events :classic_tongue: . So the script always incorrectly determined that player was not having sex. If I correctly register for sex start events, this problem should go away.

 

I'm also going to put a stop quest call to sex start events, to prevent a very rare scenario where harasser is triggered before player starts sex, and player enters sex while harasser is en route. Should rarely happen, since harassers run now, but in case they get stuck somewhere and get delayed.

 

I'll also add a check for solicitation ring, so harassers dont get assigned when player is wearing the ring, for maximum compatibility.

Link to comment

latest version tested.

Feedback:

 

1.

It needs to stop the "approaching trigger" once the following dialogue has started.

Or the molester status will be reset to the new molester mode

and all dialogue has to re-start again.

 

2.Can the mechanism of nude detection be combined with RSE's nude ring?

Link to comment

Update to fix some bugs:

 

v0.1.3 (Clean save required)

-CHANGED: Harasser will not be assigned if RSE is installed and when wearing RSE's solicitation ring, for compatibility with that mod

-FIXED: Harasser will no longer be assigned when player is already having sex (from another mod) - for real now

 

Remember to update to FP Attributes 1.0.1 if you havent dont so yet. It fixes a bug where NPC persuasion chances werent being set correctly.

Link to comment

Thanks for the update! Those problems are gone now.

 

I second alima's suggestion about the Nudity Ring from RSE. I know, it is another "compatibility with RSE" thing, but I feel that it will bring a new way of playing this mod. When the Nudity Ring is worn, RSE treats the SS as naked even if she isn't. 

 

If FP Sexual Harassment can recognise the Nudity Ring and similarly treats the SS as naked, it opens another way of playing. For example, the Nudity Ring could be worn all the time and Harassers would keep bothering her all day everyday such that it becomes her way of life. It can be roleplayed as the SS being so beautiful and dressed so skimpily, leaving little to the imagination, that men around her are always lusting for her. And since we can adjust the scan frequency, we canset it to once per in-game hour. So every hour, a jerk would come running to her to proposition her.

 

There is already code that checks for the Solicitation Ring to stop Harassers. This would be similar, except that it checks for the Nudity Ring and starts assigning Harassers. 

 

i hope you'll consider this, thanks!

 

Edit: Or, perhaps there is a toggle in the MCM that when toggled on, the mod treats the player character as naked all the time. Whichever is easier / more elegant way to do.

Link to comment
11 hours ago, Tanglin said:

Thanks for the update! Those problems are gone now.

 

I second alima's suggestion about the Nudity Ring from RSE. I know, it is another "compatibility with RSE" thing, but I feel that it will bring a new way of playing this mod. When the Nudity Ring is worn, RSE treats the SS as naked even if she isn't. 

 

If FP Sexual Harassment can recognise the Nudity Ring and similarly treats the SS as naked, it opens another way of playing. For example, the Nudity Ring could be worn all the time and Harassers would keep bothering her all day everyday such that it becomes her way of life. It can be roleplayed as the SS being so beautiful and dressed so skimpily, leaving little to the imagination, that men around her are always lusting for her. And since we can adjust the scan frequency, we canset it to once per in-game hour. So every hour, a jerk would come running to her to proposition her.

 

There is already code that checks for the Solicitation Ring to stop Harassers. This would be similar, except that it checks for the Nudity Ring and starts assigning Harassers. 

 

i hope you'll consider this, thanks!

 

Edit: Or, perhaps there is a toggle in the MCM that when toggled on, the mod treats the player character as naked all the time. Whichever is easier / more elegant way to do.

I can add an MCM toggle. Should be very easy to do.

 

Might integrate with RSE infamy, so if characters are infamous, they are more likely to get approached when clothed. I'd need @Flashy (JoeR) 's permission if I can use Infamy value for it.

49 minutes ago, alain31 said:

hello,

very funny mod.

i ve got no sound in the dialogues,it is normal?

thanks for your answer.

Why, you expect me to do voice acting as well? :tongue: Dialogues are silent because theres no voice files for it.

Link to comment
2 minutes ago, twistedtrebla said:

I can add an MCM toggle. Should be very easy to do.

 

Might integrate with RSE infamy, so if characters are infamous, they are more likely to get approached when clothed. I'd need @Flashy (JoeR) 's permission if I can use Infamy value for it.

Why, you expect me to do voice acting as well? :tongue: Dialogues are silent because theres no voice files for it.

No permission needed! :smile:

 

Import the global variable called RSE_InfamyPoints at formid 0x003652 for using GetValueInt() to check point levels. Mind you, the system is a little more complex than using this GV alone, since the user has the ability to alter the threshold at which one would gain a stalker.

 

The threshold GV is RSE_InfamyThreshold at formid 0x006BF8.

 

Or you can use the perk RSE_InfamousPerk at formid 0x0046E1 with a .hasperk() check. This perk is only applied to players when they reach UBER infamous standing (requiring atonement) - when a few points beyond the threshold setting.

 

Not sure how you wish to play with it, but these are three ways I could think of that would assist...

Link to comment

Thinking on it, best way is probably to import the infamy points GV and the threshold GV and then do a If RSE_InfamyPoints >= RSE_InfamyThreshold, since this is how RSE does it for assigning a stalker.

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