Jump to content

Sexout Wear and Tear (Old)


Recommended Posts

Posted

How Long Does It Take For The Busted Asshole And Trashed Vagina Effects Take To Wear Of Or Are These Two Permanent ?

Because All The Others Seem To Wear Off Quiet Quickly ...

 

Those are seperate effects not directly caused by types of sex, but by too much too fast- they let you know you've gone way too far. Every time you have sex a 'wear and tear' counter is incremented by a variable amount. It decreases on its own every game hour at a rate effected by endurance and also hydration for oral.

 

When the counter crosses a threshold (eg, 800) you get the 'busted' effect, it stays until the wear counter decreases to another threshold (eg 400).

It may take several game days depending on your endurance (oral gets busted fastest but also heals fastest, vagina is toughest and ass is most fragile). If you get a message along the lines of 'Busted Ass/Vagina/Mouth some more, take a break' after you already got that hole busted, it means you've just taken a quad damage wear increase.

 

I plan to include an 'easy mode' where healing is faster at a later point

 

 

----

 

Just to clarify, the 'Brutally Raped' effect is caused by 'Sexout-Brutal-Rapers' and is not included in my mod. None of my effects cause confidence damage.

Posted

Just a thought on this confidence issue. Since, as I mentioned before changes to charisma have an effect on allied confidence, maybe rape should come with a charisma debuff. Think about it. Whether you admit it or not, going through trauma is going to have an affect on you. People will notice that affect. People who don't know you but know what happened might lose respect for you, so that in itself is a loss of charisma. But people who do know and care about you, and especially ones who look to you for leadership, are going to lose confidence in themselves for not being able to protect you.

Posted

@ DoctaSax

 

Followed your advice and looked into Hal's implementation

 

I have rewritten my script and got it working without the SCR overrides

 

(EDIT: Had problem but solved it. ignore)

 

 

 

I am puzzled by one thing, the SCR sexend scripts have:

	Set iCnt to ListGetCount SexoutSSexCountFLO  ** (or A/V)
	Label 2 ** (or 1 or 3)
        if iCnt > 0

       ...

      ; *** Clear out our lists
      ; This NVSE command does not seem to work
      ;  ListClear SexoutSSexCountFLO

	Label 6  *** ( or different number, A or V as above)
	Set iCnt to ListGetCount SexoutSSexCountFLO
	if iCnt > 0
		ListRemoveNthForm SexoutSSexCountFLO 0
		goto 6
	endif

What is that 'Label' for? (I looked up definition, but not sure how it applies)

 

If I copy it from SCR sexends to my versions it seems to work fine for Vaginal and Anal but Oral never triggers the 'if iCnt > 0'

 

If I remove the 'Label 2' line from oral, everything seems to work. Should I remove the 'Label' (and 'goto'?) lines from all my scripts?

 

 

Posted

post the full script, not "a piece", (can't remember the proper english term right now)

You should affect a different value for each Label and reference that value in the corresponding goto.

 

NB: ListClear should not be broken anymore. Anyone disagree ?

 

Posted

@ DoctaSax

 

Followed your advice and looked into Hal's implementation

 

I have rewritten my script and got it working without the SCR overrides

What is that 'Label' for? (I looked up definition, but not sure how it applies)

 

If I copy it from SCR sexends to my versions it seems to work fine for Vaginal and Anal but Oral never triggers the 'if iCnt > 0'

 

If I remove the 'Label 2' line from oral, everything seems to work. Should I remove the 'Label' (and 'goto'?) lines from all my scripts?

Label 6 is just a pointer, so when you later say goto 6 the script will keep looping back to Label 6, so all those do is clear all actors from the list so that next time sexend is called it doesn't grab those actors. So as soon as iCnt < 1 then it will skip the goto 6

 

I tried ListClear ages ago and it failed, that may have been before the NVSE extender though.

Posted

Okay thanks, makes more sense now. I solved the problem.. turns out I had missed a 'goto' line when copying code from SCR sexends. I missed it from all 3 scripts though.. so I'm a little confused that only oral was broken.

 

Will upload a new non SCR overriding version of mod once I've tested it a bit.

Posted

I am a total loss here, I have tested this about 15 times. I have the following code:

scn SexoutWEARSexEndOral


int iCnt
int iIsRapee
ref rZActor
ref rZPartner
int iWearLevel
int iStretch
int iTear
int iEndStat

Begin ScriptEffectStart

	Set rZActor to GetSelf
	if (rZActor == PlayerREF)
		MessageEx " Actor is Player"
	endif
	Set iCnt to ListGetCount SexoutWEARSexCountFLO
	Label 2
	if (iCnt > 0) && (rZActor == PlayerREF)
		Set iCnt to iCnt - 1
		Set rZPartner to ListGetNthForm SexoutWEARSexCountFLO iCnt
		Set iEndStat to rZActor.GetActorValue Endurance
		Set iIsRapee to 0
		if rZActor.GetItemCount 00SexoutRapee
			Set iIsRapee to 1
		endif

		if rZPartner.GetIsCreature
			if (0 < NX_IsInList SexoutCListSuperMutant rZPartner)	
				Set iStretch to 1		
			elseif (0 < NX_IsInList SexoutCListDeathClaw rZPartner)
				Set iStretch to 1
				Set iTear to 1
			elseif (0 < NX_IsInList SexoutCListCentaur rZPartner)
				Set iTear to 1
			elseif (0 < NX_IsInList SexoutCListNightStalker rZPartner)
				Set iStretch to 1
			elseif rZPartner.GetInFaction BrahminFaction
				Set iStretch to 1
			elseif (0 < NX_IsInList SexoutCListBigHorner rZPartner)
				Set iStretch to 1
			elseif (0 < NX_IsInList SexoutCListBloatFly rZPartner)
				Set iTear to 1
			elseif (0 < NX_IsInList SexoutCListCazador rZPartner)
				Set iTear to 1
			elseif (0 < NX_IsInList SexoutCListLurkKing rZPartner)
				Set iStretch to 1
				Set iTear to 1
			elseif rZPartner.GetInFaction MireLurkFaction
				Set iTear to 1
			elseif (0 < NX_IsInList SexoutCListGecko rZPartner)
				Set iTear to 1
			elseif (0 < NX_IsInList SexoutCListRadRoach rZPartner)
				Set iTear to 1
			elseif (0 < NX_IsInList SexoutCListAnt rZPartner)
				Set iTear to 1
			elseif (0 < NX_IsInList SexoutCListMantis rZPartner)
				Set iTear to 1
			elseif (0 < NX_IsInList SexoutCListScorp rZPartner)
				Set iTear to 1
			endif
		endif ; *** End Stretch/Tear settings


; Apply Wear Effects

		Set iWearLevel to (GetRandomPercent + 10) / 2
		if iStretch > 0
			Set iStretch to (GetRandomPercent / 2)
			Set iWearLevel to iWearLevel + iStretch
			if iStretch > (iEndStat * 3) + 5
				rZActor.CIOS SexoutSEFFWEARStretchMouth
			endif
		endif
		if iTear > 0
			Set iTear to (GetRandomPercent / 2.5)
			Set iWearLevel to iWearLevel + iTear
			if iTear > (iEndStat * 3) + 5
				rZActor.CIOS SexoutSEFFWEARTornMouth
			endif
		endif
		if iIsRapee == 1
			Set iWearLevel to (iWearLevel * 2)
			rZActor.CIOS SexoutSEFFWEARoralrape
		endif
		rZActor.CIOS SexoutSEFFWEARoral
		if (GetRandomPercent > 80)
			rZActor.CIOS SexoutSEFFWEAREyeCum
			ShowMessage SexoutWearEyeCumMsg
		endif
		Set SexoutWearOralGlobal to SexoutWearOralGlobal + iWearLevel

		goto 2
	endif ; *** End of Wear 


; *** Clear out our lists

	Label 6
	Set iCnt to ListGetCount SexoutWEARSexCountFLO
	if iCnt > 0
		ListRemoveNthForm SexoutWEARSexCountFLO 0
		goto 6
	endif


End

Begin ScriptEffectUpdate

    Dispel SexoutSEFFWEARSexEndOral

End

And every time I test it, it works fine.

 

Notice my debug print line, the first 'if' statement;

        if (rZActor == PlayerREF)
		MessageEx " Actor is Player"
	endif

If I remove the above lines, the script breaks- the second if statement:

if (iCnt > 0) && (rZActor == PlayerREF)

Always Evaluates to False.

Posted

That is odd. Normally, I'd think the script struggles to retrieve a value for both the  ListGetCount or GetSelf functions and compare them in one frame, but see no reason why that should only happen if you leave out the bit at the top. And it wouldn't be the first time people use && in a one-frame block either.

But since the functionality is only meant to apply to the player anyway, you could try doing this:

Set rZActor to GetSelf
    if (rZActor == PlayerREF)
        ; leave blank or add a printc/dbp for debugging notification
    else
      return
    endif
    Set iCnt to ListGetCount SexoutWEARSexCountFLO
    Label 2
    if (iCnt > 0)
      etc.

which is pretty much the same thing as what you have there, just different. No guarantees though.

Posted

Just to clarify, the 'Brutally Raped' effect is caused by 'Sexout-Brutal-Rapers' and is not included in my mod. None of my effects cause confidence damage.

Wait, really?

 

...yeah, I'll just go fix that now then.

Posted

Yeah out of habit now I always use 

Set rZActor to GetSelf ; ** or GetContainer

if rZActor

; *** Do Stuff

endif
 

Because I've seen all sorts of weird issues caused by scripts doing stuff to a NULL reference on the first time run, probably more so with scripts trying to get an NPC's reference.

 

It's a personal thing but I always tab my goto's to the same indent as any loop they are relevant too where possible. It's sometimes may help spot an extra/missing endif/elseif error.

 

At a wild guess one of the most common things that gets screwed up in copy & paste is extra elseifs instead of endifs or missing ifs, sometimes I comment one out at the bottom and try to save the script and if it saves I know I've got an extra endif or elseif somewhere  :)

 

And I'd use:

 

MessageEx "SOWearTSexEndOral: Actor is %n" rZActor

 

Giving the message a prefix is important if it's a feature of the released version, but not if it's just for development bughunting. And by displaying to rZActor, you can be double sure you haven't screwed something up setting rZActor.

 

Posted

Okay, thanks for advice. Have got it all working (at least I tested everything and seems okay). Replaced the .esp in first post.

 

Sometimes I wonder if the GECK has a hidden 'mood' variable that can only be indirectly effected

Posted

Okay, thanks for advice. Have got it all working (at least I tested everything and seems okay). Replaced the .esp in first post.

 

Sometimes I wonder if the GECK has a hidden 'mood' variable that can only be indirectly effected

Yep, pretty sure the GECK is female :)

Posted

How many times, on average, do you need to have sex before a "busted" happens? I had sex 10 times in a row and got no message beside the sexual exhaustion message. If she gets plugged in the rear a dozen times will she be "busted"?

Posted

How many times, on average, do you need to have sex before a "busted" happens? I had sex 10 times in a row and got no message beside the sexual exhaustion message. If she gets plugged in the rear a dozen times will she be "busted"?

 

 

If you want to know the exact workings its:

 

 

 

You need to get your anal wear level to 700 to get busted, the base level for anal wear is + 5-55, but large creatures do an extra 0-50, and rough ones an extra 0-50. Rape does double damage. So human anal rape is 10-110, by a deathclaw 10-310. The anal heal rate is 5 + Endurance per game hour, so your level can build up quite quickly.

 

Busted status is really bad and you need to heal to 300 to lose it, if you have sex with it you take triple wear damage, so it can be very hard to lose it if you can't take a break- makes the sewer slave mod require some tactics. (Wear level is capped at 1000 though, to stop you ending up needing weeks of game time to recover.

 

 

 

Now that you mention it, 10 consensual anals a day won't be enough, you need to get some rape/large creatures in. If I made the sex wear increment rise always relative to your current level it would be a nice addition, I'm going to reduce the base level slightly but add an extra (Current Wear Level / 10) to it now, and rebalance the while busted multiplier. Check the first post for version 1.1

Posted

Just a thought: one way to handle it would be to lower the initial "busted" values, but make them variable - i.e. instead of a flat 700, start it at, say, 300. And then increment it upwards the more anal/whatever sex a character has.

 

e.g.

 

set analBusted to (300 + x)

set x to (numAnal * 4)

 

So, for instance, someone who has had anal sex 100 times will have a "busted" value of 700 (300 + 100*4). Numbers are just examples of course.

 

And/or throw an MCM slider in somewhere so players can adjust it themselves.

 

 

Like I say, just a thought. I love that you made this and will be happy regardless.

Posted

You mean so you get 'tougher' the more times you've been taken?

 

Yeah, thats an interesting idea. Could also do pretty much the same effect as a sort of wear Damage Threshold you gain from sex experience. So if you've taken it 200 times in the past, you take less wear damage.

 

MCM slider would be good, will look up how to do it.

Posted

Yeah that was my thought. A tried and true anal queen would be able to take more of it for longer than a buttsex virgin, haha.

 

Added it to new version (v1.2) in first post

Posted

Really digging it so far, Odessa. May I also say, your scripts are very neat and well-commented.

 

One question - why so much chest/torso damage? Busted ass and vagina both do heavier damage to the chest than the legs. After "entertaining" Powder Gangers for a full game day, my char had a crippled torso but her legs were both still in working order. I was hoping for more limping, really. :P

 

Your prerogative, of course, and it's not really a criticism. Just curious why.

 

Anyway, the plugin has been working flawlessly so far! It really makes whoring and/or sex slavery quite brutal.

Posted

From what I've heard, someone who "took" more of "it" in the past would probably be able to handle more than someone who didn't.

 

When I imagined someone creating a mod such as this one, however, I also considered the necessity of a well-experienced "worker" doing her kegel exercises-- otherwise, she'd have to cut her rates for everyone but super-mutants and creators of zoo porn.

Posted

Really digging it so far, Odessa. May I also say, your scripts are very neat and well-commented.

 

One question - why so much chest/torso damage? Busted ass and vagina both do heavier damage to the chest than the legs. After "entertaining" Powder Gangers for a full game day, my char had a crippled torso but her legs were both still in working order. I was hoping for more limping, really. :P

 

Your prerogative, of course, and it's not really a criticism. Just curious why.

 

Anyway, the plugin has been working flawlessly so far! It really makes whoring and/or sex slavery quite brutal.

 

Thanks- yeah, I've spent enough time trying to rewrite other peoples shoddy code to appreciate readability. I've heard other coders joke that its shooting yourself in the foot, because if anyone can maintain your code your employer can get rid of you ;)

 

As for the torso damage, I figured it made sense physiologically, although now you mention it more leg damage would be better gameplay wise, I think I'll change it in the next version.

 

When I imagined someone creating a mod such as this one, however, I also considered the necessity of a well-experienced "worker" doing her kegel exercises-- otherwise, she'd have to cut her rates for everyone but super-mutants and creators of zoo porn.

 

Perhaps I could add code to let you do kegels by crouching up and down; maybe as an optional feature because some might find it a bit tedious

  • 2 weeks later...

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