Jump to content

Adapting Masturbate lesser power script for futa PC


Recommended Posts

Thanks for asking movomo, but I finally solved it.

To overcome the boners problem, the following code snippet had to be included in xLoversMB2SpellSelfSC:  

Relevant section of xLoversMB2SpellSelfSC, after the modification:

 


    ; set erect cock

    if(rPlayerBoners) && (player.GetIsSex Male)

            player.equipItemNS rPlayerBoners

    endif

    ; Rev4: set erect cock for futanari player characters

    if(rPlayerBoners) && (player.GetIsSex Female) && (xLoversMB2Quest.sPCFutanari)

            player.equipItemNS rPlayerBoners

    endif

 

 

 

I will upload rev4.0 in a moment, I count on you guys and gals for playtesting and reporting errors. I am particularly interested in the undressing settings: futanari should now unequip the lower part of their equipment like male, but that part of the code is a bit confusing and I could have make a mistake. Works fine with my undressing table, yours may reveal some inconsistency.

I will package the esp with the default LoversMB2.ini values and sPCFutanari set to 0.

For testing, make sure to set sAllowFutanari and sPCFutanari to 1.

If you're concerned about losing your current settings, do not extract the ini folder in you data folder, simply add the new variable sPCFutanari in your old LoversMB2.ini and set it to whatever you like.

Use the H key to advance stage if you want to speed up the testing work.

 

Nearly forgot: requires a clean save.

Just untick LoversMB2.esp in your Mod Manager, load the game, ignoring the warning. Save.

Overwrite the esp and/or ini file, reenable the esp, restore the load order.

Have fun.

 

Download link

Link to comment

I'm a bit confused where to post this, but anyway.

 

It seems that futanari is indeed working. Congratulations.

Except, it seems that only the futa version is working fine. Well, our favorite QA time.

 

Male anim conditions are confusing.. but provided I'm getting it correctly, they evaluate like this:

(xBone1==2 or futa001==2 or male or player) and (futa001!=2 or xBone1!=2 or spcfuta==1)
because the or gets precedence over the and. (Hell, I'm not certain. it's confusing)

 

My PC is actually playing male animation without boner when the futa settings are disabled, but below here are just my guesses.

For PC, the former always evaluates to True. (because it's player, probably)

The latter also always evaluates to True: if sPCfuta is False then you won't give her any boner item, and this satisfies the (futa001!=2 || xBone!=2). if sPCfuta is True then it's just True.

Now (True and True) evaluates to True, and so the whole male condition is always True.

 

It's possible to flatten nested if statements, but it's a mathy bit which isn't my favorite thing on the planet. Somewhat like set operations....

 

Also, there are couple more things I want to suggest.

1. Apparently you also have to consider the "sAllowFutanari" variable. What happens if sAllowFutanari is 0 but sPCfuta is 1... I don't know, but there is no guarantee that the users will feed it with a good input.

2. I think the hotkeyed equipment toggle behavior (during masturbation) is wonky. My opinion is, I'm not certain if this functionality is needed at all.

Link to comment

Oh shit. I have to remove the file from download as soon as possible...

I had tested always with sPCFutanari set to 1, now that I think of it.

About the conditions, I don't know what to say. Perhaps your interpretation is correct.

However, thanks for bringing this to my attention and for the suggestions. Back to work, I suppose...

Link to comment

OK. Let's assume your condition interpretation is right (it makes sense, in fact).

(xBone1==2 or futa001==2 or male or player) and (futa001!=2 or xBone1!=2 or spcfuta==1)

could be changed to

(xBone1==2 or futa001==2 or male) and (player or futa001!=2 or xBone1!=2 or spcfuta==1)

Even so, it looks strange to me. But it's worth a try.

 

My big intuition was removing the (GetIsSex == Female) check from xLMBMale, because it leads to problems with the anim priorities for female NPCs.

I'm not fond of the nested 'if's either. The only good point is that the code for futanari MB remains isolated. 

 

EDIT

This is what in any high level programming language the condition would be:

 

((xBone1==2 or futa001==2) and male) or (player and spcfuta==1 and (futa001!=2 or xBone1!=2))

The problem is, how do we express this in the CS/CSE, knowing that OR has a higher priority than AND, and we cannot influence this priority with sintax?

 

Link to comment

That doesn't look good either, unfortunately.

 

What's the point of having sPCfuta == 1 and ref == Player at the same time? It's always True as long as it's the player.

But that isn't the real problem. It's much more complicated than needed. If human can't easily make sense of it, it's a bad code.

 

Make it as simple and neat as possible. You can handle the rest in your real script. You probably don't need any boner count check such as xbone or futa001. You probably don't need gender test too. All become easier if you give up making it player-only. Just one new token and you're set.

And you still can make it player-only by tweaking your script a little bit.

Link to comment

I had an idea.

How about introducing auxiliary quest variables to store parts of a complex condition?

That way we could take advantage of the sintax of the scripting language to shape the condition any way we want, and from the Idle Animation menu in CS/CSE, we could limit all that jam to a single AND or a single OR! (OR in this case)

Yes.. definitely it should work... I'm off to try this method.

Link to comment

Player only would be nice. If you want to play a futa race/character and all other females should be "normal".

Such a Setting I also miss in the LAPF Settings: separate "attacking women grow penis" for Player and NPCs.

Fejeena, as I see it, movomo's point of view is closer to your wishes than you imagine. The real problem with NPC futanari handling of LAPF is they are set randomly (based on the 'futanari chance' setting). Even the same female char, if you cast Instill Lust twice on her, can be first female and then futanari, or the other way around. This makes the game unpredictable. Imagine that at later stages we want to use setbody, for example. It would be best to have a method to set the status of an actor once and for all (through a spell, I suppose), and store that status in an array.

For now, making it player only looks easier, but it could make things more complicated in future.

 

Anyway, I set out to make MB2 work for the player, and I intend to do it, one way or the other.

 

What you suggest for LAPF is certainly a remarkable improvement (and something I'd like too). The implementation shouldn't be too different from what I'm proposing here. Let me think about it, but first I need to get this working. 

Link to comment

EDIT

This is what in any high level programming language the condition would be:

 

((xBone1==2 or futa001==2) and male) or (player and spcfuta==1 and (futa001!=2 or xBone1!=2))
The problem is, how do we express this in the CS/CSE, knowing that OR has a higher priority than AND, and we cannot influence this priority with sintax?

 

That is not a good idea. Basically, it's set operations (or symbolic logic, for that matter). Where logical "AND" corresponds to intersection, logical "OR" corresponds to union. and logical "NOT" is complement.

Some helpful articles here. Well, do you remember De Morgan's law and all that?

https://en.wikipedia.org/wiki/Set_(mathematics)

https://en.wikipedia.org/wiki/Logical_disjunction

Horrid. Basically this is highschool math, but highschool teachers won't usually ask such complicated expression in the exam.

 

*Edit*

I made a kind of example plugin to show how simple it could be. This does *not* contain any fancier features you're planning to implement.

I added a new variable named sPCfutanari (you should be able to use your .ini file as it is), and made a new token named xLoversMB2fem. It's added when the target actor is non-futanari female.

I marked the modified area with ";-------" thingy, should be easy enough to locate them.

Modified scripts are:

- xLoversMB2QuestSC, to add a new variable

- xLoversMB2SpellSelfSC, equip boner, add/remove new token

- xLoversMB2SpellTargetMainSC, add/remove new token

LoversMB2_.7z

Link to comment

I grabbed the file, I will give it a closer inspection very soon.

 

Since you're dragging me into the math madness, I'll share with you what I recall from some past lessons, if I'm not mistaken the set (AND, OR) we have in CS is not complete; that is, combining these two alone we cannot generate each possible logical operation. The set (NAND) or (NOT, AND) is complete, instead (it's the reason why digital circuits use only one type of gate in a huge scale of integration).

 

In the meantime, listen to what my demented fantasy conceived...

To simplify the conditions in the Idle Animation window, initially I tried to use auxiliary quest variables. It did not go well. :@

So I went in there and duplicated the two branches xLMBMale and xLMBFemale. I have now five branches: two are replicas of xLMBMale (xLMBFutaPC and xLMBFutaNPC). xLMBFemale branch has been renamed xLMBFemalePC, and its clone named xLMBFemaleNPC. Basically I have a billion redundant nodes (which I copied manually, one by one, like a jerk). The good point is that now some conditions have become ridicolously simple: for instance xLMBMale (which, unlike before, now controls the male animation ONLY for male characters) must check only GetIsSex == Male. Not even the boners.

And works great, I tested it.

I will post these screenshots to illustrate the remaining conditions:

 

blogentry-729106-0-51789300-1429819953_thumb.jpg
blogentry-729106-0-98071100-1429819937_thumb.jpg
blogentry-729106-0-44967100-1429819929_thumb.jpg
blogentry-729106-0-43669000-1429819912_thumb.jpg

The only condition that troubles me is that for xLMBFutaNPC, and that is not on my account. The part of the code dealing with the boners selection in xLoversQuestSC is rather messed up.

 

Link to comment
xBone1 and xLoversPkrFutanari001

Isn't one the old; pre-LAPF and one the new; LAPF? It may go even way way back to Sexlivion days...

 

Anyway, time for me to chime in. I think maybe u'all 'r over thinking this a bit, this stuff is nothing more than simple Boolean. There is initially two genders; male & female. But when we introduce futa, IMO it introduces a 3rd gender; that being futa...  So NPCs can be this 3rd as can PCs. Not overly complicated as futas use the LAPF lowerbody, much like a male would. With Lovers w/PK it is either on and futa enabled or off and not enabled for NPC AND PC both. MB2 throws a curve ball with the %chance of being futa is all. (That doesn't exist in Lovers w/PK; you either are or are not futa.)

 

2nd, one of fejeena's prior posts got me to thinking, ya I know that can be dangerous. I'm gonna look at the Lovers w/PK code and see if we can have an option for futa's to still display cocks both when either the attacker or receiver. It would add a nice addition to WappyOne's reverse option too, that when raping the female-futa still receives from the male, but still displays a wacker like manga comics (maybe % based too?).

 

 

post-18672-0-69357500-1429847494_thumb.jpg

 

 

So it would add another option here, under the current 'Attacking Woman Grows Penis On/Off' to have one that reads 'Receiving Woman Grows Penis On/Off'.

Link to comment

That would be really nice.

We could get rid both of the % chance in MB2 and the "attacking female" setting in LAPF and make things much simpler.

Do you think it would be difficult to tweak Lovers with PK.esm a bit (keep in mind that only the .esm is a master for MB2) so that:

 

- the sAllowFutanari variable becomes a global variable in Lovers with PK.esm

Not all people necessarily have the same preferences, and this would be a method to bypass completely the futanari settings from LAPF, and all the mods that depend on it.

 

- a new spell (Set Futa/ Set Futa Self) in Lovers with PK.esp can set pemanently a female actor as futanari, and a (public) function GetIsFuta in Lovers with PK.esm returns 1 or 0 if the character is/isn't futanari. The futa options already present could then be used to specify what to use for that paricular actor's lowerbody:

 

1. an animated dildo/strapon mesh (keeping the actor female, strictly speaking)

2. the LAPF standard HGEC, DMRA, GM futa lowerbody (a futanari proper)

 

LoversJoystick could then be used to replace choice 2 (or 1) with any futa body replacer available in Setbody.

 

- the boners option in LAPF are in sinc with those in MB2 and so the latter can be removed safely

    (this can be done directely in MB2, that is, using the LAPF penis/futa  settings straightforward)

 

I'm thinking this over and over, and another thing that caught my attention is that futanari, being female, have obviously the female dialogue options. There's no way of changing this (nor it's necessary, as I see it) but installing a race mod that changes male appearance. Male actors from these races have also the advantage of using the male MB animation without question, being male.

 

Sadly, while I'm good at framing the big picture, I suck when it comes to implement the details...

 

Link to comment

Actually I want to add to the futa settings option, not remove it. We/I can review a spell option for it later, initially I want to see if it is even possible and how much other stuff gets fubared if I do add it. I have to first look where the sAllowFutanari variable currently is; ESP or ESM. Never really looked that deep into it before. (I recall it being over looked as a setting I think for Tamago/Hiyoko players, so I'd have to go back to that discussion too.) An .ini file setting is still IMO the best way to address it.

 

Here's the Lovers w/PK ini for futa:

 

 

; Futa setting: 0-1 , Woman in attacking position grows penis.
; Default: 1 (On)
set xLoversPkrIni.Futa to 1

 

 

 

So my first step and investigation is to write something for the Lovers w/PK.esp I'm assuming, I have to find where that xLoversPkrIni.Futa resides. More to come...

 

Hmmm... Is that sAllowFutanari just a MB2 construct? Why did they do it that way! Makes no sense if a variable already exists in Lovers w/PK for it.

 

I've never been all that fond of the %futa option, I guess I just don't get the point of it. Keep it, or drop it wouldn't matter to me.

 

Right now I'm in SpeedBuster Clothing Converter/Cleanup mode, I just popped my head up as break from it, after moving the entire SpeedBuster Collection to Testinghall and out of IC Market District. I'll start investigating in a day or so, so don't wait on me. I'd suggest continuing your progress and direction with MB2 for now. What I want to do and if it works seldom if ever is quickly accomplished.

 

Forgot to mention, or maybe I have in the past, but I hate coding and working with code. Kind of prevents me from ever getting really good at it. Just a hacker at heart.

Link to comment

What I mean is that xLoversPkrIni.Futa LAPF setting renders sAllowFutanari in MB2 redundant (If only that could be accessed from MB2, but this can be done either making Lovers with PK.esp master for MB2, or moving that variable in the LAPF esm).

 

EDIT (based on subsequent post)

 

IMO the LAPF futa setting is not enough. We must introduce a mechanism to tell if an actor is a futanari or not, and this must be done at the higher level possible, so that all the dependent mods can profit of it. And fejeena and me would be happy!

 

Link to comment

Right, right exactly! More soon, have to check into work and see what's on my schedule for today. 

 

And actually once the variable is set, via an .ini or whatever, it can just be called or checked for value from MB2. That should be a capability right now. Game loads, loads the setting. When you cast the MB2 spell it checks for the futa value, done.

 

EDIT (based on your edit)

 

I'm assuming what is meant by fejeena and you is a full-time futa, not using the LAPF lower body just during H with xLoversPkrIni.Futa set to 1. That is where the 3rd gender comes in; a full-time futa. Lovers w/PK was never evolved to take that into account. So a full-time futa would be set up to play the male. Unless someting like WappyOne's RaperS reverse position is used. Then they take the female role (and animations), but still display male tackle. 

 

I would still have the "attacking female" setting in Lovers w/PK, and add a new one for 'receiving'.

 

Forgot to mention this full-time futa gender addition would require considerably more scripting rework, but it too should be done in Lovers w/PK and not somewhere else. It would be optional. xLoversPkrIni.Futa remains with the same purpose, as the Lovers H based trigger for quasi-futa play. Those are really part-time futas (during H), most of the time females.

Link to comment

@varenne

fejeena and I have have different needs, but they somewhat meet. Having distinct futa settings for player and NPCs would allow fejeena to play a character as a pure female, without having to renounce to the futa option for NPCs (or the other way around). For me, it's much as you say, I'd wish to have a permanent futanari character. I'm also considering the option of a male character from a custom race (HappySparkles and GIGABITE have released interesting mods for that purpose, both hosted here at LL).

 

@movomo

If you have nothing against it, I would upload your version of MB2 in the dowload section, or post a link to your comment above. Mine is bugged and will remain so for... who knows how long.  Yours is working, and I think the people here deserve the best.  

Link to comment

I have for the longest time always played with a 'part-time' futa PC. Odds are I would continue, but try as I posted above to add the option to have tackle displayed in both H positions for both scenarios; female/female, female/male. 

 

I had, at one time a while back looked into futa armors and clothes. Some already exist, most not to my taste or preferred body type. Started a project to make more and just have not gotten back to it. So much to do, so little time to do it all. Who knows, with the progress I'm making with gerra6's tools now I may just go full-time futa one day.

Link to comment

My apologies. It was certainly not to upset you, just wanted to show an example implementation because you seemed to be clinging at resolving those conditions. I think I somehow sensed your frustration on my last comment when I saw yours. I regretted but it's spilt milk. Or could be my imagination.

 

Go ahead if you want and don't bother asking me permission or something. That whole permission business is imho a bit silly. Just keep in mind that mine isn't necessarily better, you'll know it when other people spot bugs in it. Folks always manage to break my stuff in a way that I never imagined.

 

And don't throw in the towel too easily. Just in case.

Link to comment

@ movomo

No no no no... I swear there wasn't a shadow of gealousy or anything else in my past comment.

I feel grateful for your contribution; frustration is certainly present, but that's my problem.

I'm really happy to share (and USE!) a working esp, even if it's not mine. ;)

 

If a month ago someone had done the job for me, I would have been happier, to be honest. But look at how many things I've learned in so little time... This has been possible only because I had to face the difficulties alone (well, you were always there to lend a hand) and also when varenne threw in a little nudge, the effect was by all means encouraging. You don't know me enough, or else you'd know that when I have bad feelings about something or someone, I speak openly.  

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • 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