Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Post orgasm modes , Denial count and milk-o-matic post orgasm modes #91

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

B4ben-69
Copy link
Contributor

@B4ben-69 B4ben-69 commented Apr 6, 2024

i did some clean up in the code to make it more in line with your future target codes

@B4ben-69
Copy link
Contributor Author

B4ben-69 commented Apr 6, 2024

this is #75

UnsignedInputValues(
"Milk-o-matic resting duration", &Config.milk_o_matic_rest_duration_seconds, UNIT_SECONDS, on_config_save
),
.max = 1800,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be no max seconds. That should be based on a JSON setting.

@LanceLake
Copy link

Need a setting to allow for either Denial_count or Timer.

So the mode should allow for the following options.

  1. Deny X number of times without orgasm, then 1 orgasm is earned.
  2. Deny for X mins. without an orgasm, then 1 orgasm is earned.
  3. Randomly choose 1 or 2 for this cycle.

Once a cycle is complete (orgasm earned), then it pulls a new timer setting from the JSON and uses that to wait for a new cycle to start. This will be from 0 time to a very high number (around 12 hours). This timer will be with the motor off and no activity with the motor to allow someone's refractory period to happen and perhaps act like an alarm to wake up the next day.

It seems in the code that you don't allow this refractory period to happen and also, it auto changes to a denial count rather than giving the option to use the timer after an orgasm (or even alternating those options. 5 denials, orgasm, wait 25 mins. 10 mins. of edging, orgasm, wait 43 mins. 9 denials (random die was unkind), orgasm, etc.

This should be chosen for each cycle.

@B4ben-69
Copy link
Contributor Author

This code added the edging count to permit orgasm. Selected in the post_orgasm_modes ( Denial Count). Both these modes turn off the cycle after 1 orgasm.
Then i added the Milk-O-Matic (love your name for this) mode which only uses the Denial Count because i figured that it's impossible to achieve a second or third orgasm if the body does not show that it was edged properly. Time base is not a guaranty to achieve an other orgasm. This modes restarts the edging cycle after the set rest period (milk-o-matic rest period) to account for refractory time of the body. This mode will stop after set amount of orgasms (max orgasm). I realize i did not code the rest period to go higher then 1800 seconds (30 minutes). I did not think a milking session would give the subject a higher rest. Then it's not a forced milking. But nothing stops me from changing this variable to minutes and going as high as 12h rest. This could then be used as a wakeup clock. For example setting the max orgasm to 2, the rest period to 7h and the edging to any number of edges to permit orgams. Get to bed, give yourself a good edging session in milk-o-matic to get first orgasm before sleep. The machine stops for 7h of rest and wakes you up to an other edging session before giving you the second orgasm.

The other features i added is the random on edging triggers. This means you don't know how many edges or time before permitting the orgasm. This works in all modes. Timer, Denial count or milk-o-matic. The random does not go below 1/2 of the set denial count or timer.

The random in the orgasm modes is only to choose between edge time or milk-o-matic. you don't know if your getting a long edging session (timer) or a long milking session (denial count repeted with multi-orgasm).

The feature to restart all the cycle is not implemented

@LanceLake
Copy link

I did not think a milking session would give the subject a higher rest. Then it's not a forced milking.

Ah.. To be young again.. :)

It can be nice to have one at the top of the hour, every hour for example. Still a forced milking, but allows someone to be tortured by cumming more than once a session.

@LanceLake
Copy link

So.. I see you changed it to mins. The better way to code it is to leave it seconds, then allow for really high numbers. After all, 86,400 is the number of seconds in a day and also allows for more options for people who want to measure it in seconds.

Also, the comments I made above still apply. All your comment did was explain your reasoning. It still doesn't help with the issues I pointed out.

So the mode should allow for the following options.

1) Deny X number of times without orgasm, then 1 orgasm is earned.
2) Deny for X mins. without an orgasm, then 1 orgasm is earned.

Randomly choose 1 or 2 for this cycle or have the option to select what mode to use. 

Once a cycle is complete (orgasm earned), then it pulls a new timer setting from the JSON and uses that to wait for a new cycle to start. This will be from 0 time to a very high number (around 12 hours). This timer will be with the motor off and no activity with the motor to allow someone's refractory period to happen and perhaps act like an alarm to wake up the next day.

Can you modify the code to allow this idea? Because as I understand it now, it does not.

The random does not go below 1/2 of the set denial count or timer.

Why? If I set it to 1 hour, I don't want to know if it will for sure give me 30 mins. at least. Yes. I should be able to set that randomizer so that it gives me an orgasm after 0 edges potentially. You are trying to incorporate the timer it seems into the logic loop of the counts when it should be separate on it's own.

@B4ben-69
Copy link
Contributor Author

well

  1. is called Denial count mode. It's already in the code
  2. is called timer mode. it's already in the code

Getting mode 1 or 2 in random values (randoim triggers) at 1/2 minimum to max is simply a choice and can be changed. I would ask for a poll on this.

  1. Milk-o-matic is the only mode that restarts cycles. if random triggers is selected, it pulls the config and randomizes it for the next permit orgasm at 1/2 minimum denials
    The reason to not stay in seconds is because to get to 7hours (25200s) in seconds would take for ever in the Gui. Calculating that value is not for everyone. So this is simply a compromise. Setting a rest period of 30 sec versus a minimum of 1 minute is not a big difference.

@B4ben-69
Copy link
Contributor Author

B4ben-69 commented Apr 22, 2024

I can change the random trigger to have 2 additional variables. Min time and minimum denials. That way you can have a random between the min and max

@LanceLake
Copy link

Getting mode 1 or 2 in random values (random triggers) at 1/2 minimum to max is simply a choice and can be changed. I would ask for a poll on this.

The timer and denial code already allows for not limiting it to half minimum.

As for a poll, let's let the developer decide.

Milk-o-matic is the only mode that restarts cycles. if random triggers is selected, it pulls the config and randomizes it for the next permit orgasm at 1/2 minimum denials

The importance is to not know if it's a orgasm or edge. That's the point of it. If I know the first 5 is for sure going to be edges and not orgasms means that it ruins the not knowing something.

The reason to not stay in seconds is because to get to 7hours (25200s) in seconds would take for ever in the Gui. Calculating that value is not for everyone. So this is simply a compromise. Setting a rest period of 30 sec versus a minimum of 1 minute is not a big difference.

So you default it to a low number in seconds and then for those of us who want to up it, we can edit the JSON to give us that (or use the mod code coming out soon).

I can change the random trigger to have 2 additional variables. Min time and minimum denials. That way you can have a random between the min and max

That works. Perhaps min_orgasms as well?

I'm always for more config options than less. :)

@B4ben-69
Copy link
Contributor Author

Sorry if my explanation's are not very good. English is a second language to me.
For your concern :
"The importance is to not know if it's a orgasm or edge. That's the point of it. If I know the first 5 is for sure going to be edges and not orgasms means that it ruins the not knowing something."

There are now 2 "Permit Orgasm" triggers

  • Timer (the original)
  • Denial Count (Counts the edging) Edging and Denial are synonyms for me. Maybe i should call it edging count
    These triggers can be randomized with the random triggers option

There are 4 Post orgasm Modes:

  • Timer (Uses Timer trigger) : At post orgasm in this mode, the system switches to manual mode and stops
  • Denial count (Uses Denial Trigger) : At post orgasm in this mode, the system switches to manual mode and stops
  • Milk-o-matic (Uses Denial trigger) : At Post orgasm in this mode, the system pauses for milk-o-matic rest time and restart with new values for Denial trigger if Random trigger is used. Restart for max orgasm count
  • Random ( Ether Uses Timer mode or Milk-o-matic Mode) This way you don't know if your getting a milking session or a timer edging session. Since Timer mode uses Timer triggers, and milk-o-matic uses Denial triggers, you have to set the timer length and Denial count/Max orgasm/rest period to values the reflect the total time you want the session to be. You just don't know which your getting until the end.

Things i can improve.

  • adding the min values for Timer and Denial to work with the random triggers.
  • Changing the name of Denial Count to Edging Count
  • Adding a random option on the rest period.
  • Maybe adding a random option for max orgasm
  • For the debate over resting variable in seconds or minutes, i would let Maus decide.

And Lastly, Maus did not accept my proposed code yet, so maybe it will not be used. He is changing the structure of the code so if i want better acceptance i will have to change this code to fit his new modal.

@LanceLake
Copy link

I didn't realize that English is your second language. Perhaps that is the reason why our wires are crossing. Let me explain what I what I mean in a more programatic way. I think there is confusion here about what is going on.

Each mode has something it is keeping track of. Let's call them cookies. For every success of the mode that is selected, it gets a cookie and displays a cookie count.

Timer mode (otherwise known as Auto Mode) is how it works now. Nothing needs to be changed. It tries to collect as many cookies as possible for a certain length of time, but the number of cookies don't matter. Just display them on the screen.

Denial count (Uses Denial Trigger) : At post orgasm in this mode, the system switches to manual mode and stops

The only difference between timer and denial is that now, each cookie is an edge/denial. It tries to get as many cookies as possible, but now, it has a goal of getting cookies up to the amount figured out. Still display the number of cookies on the screen.

Denial have the following variables.
Min cookie count
Max cookie count
Random cookie adjust minimum
Random cookie adjust maximum

For timer mode, you have these variables.
Min timer
Max timer
Random timer adjust minimum
Random timer adjust maximum

Cookies in MOM mode is simply full orgasms. MOM wants to get as many cookies as possible.

  1. Get a cookie.
  2. Wait a random number of seconds.
  3. If the limit is reached, stop. Otherwise go to 1.

That random number of seconds also needs the following variables.
Min MOMtimer
Max MOMtimer
Random MOMtimer adjust minimum
Random MOMtimer adjust maximum

Min MOMlimit
Max MOMlimit
Random MOMlimit adjust minimum
Random MOMlimit adjust maximum

NOT the same ones from timer mode. But different ones so that you can have custom settings for MOM and not share them with timer mode.

That's all MOM is..

Now, you also included random mode. That's even more simple.

  1. Pick one of the 3 modes (Edging, Denial, Mom).
  2. Complete that mode.
  3. Go to 1.

So it seems like this is what you are going for. Yes? There doesn't need to be "Half of this value" or anything like that. This makes it so Mom works and random will keep the user guessing.

If you want to add in even more evil.. then put a percentage for random.

Random_PercentChance_Mom
Random_PercentChance_Edge
Random_PercentChance_Timer

and have the EoM "roll" a d100 and decide on what is next. This allows the user to randomly guide to what random should be. Want a random without a timer? Set that to 0 and set the others to 50 and 50. Want more chance it will be an edge rather than an orgasm? Set mom to 10 and edge to 90.

This allows for maximum customizability and still keeps the modes simple and effective.

@B4ben-69
Copy link
Contributor Author

Ok so I get your idea right.
The MoM your asking just
1 Turns on the motor.
2 waits for orgasm ( orgasm + 1 )
3 rests
4 Turn on motor
5 waits for orgasm
6 rest ( repeat until max orgasm achieved)
7 return to choose next orgasm mode ( timer, denial, or MoM again) and repeat indefinitely

This will never do tease and denials.

So it's basically a race to get as much orgasm as possible. This might be good for ladies.

In this loop cycle I just described, other than the timer for resting between orgasm what's the use for MoM timer you described?


What I have created is this in MoM mode
1 turn on motor,
2 turn off motor if close to edge ( edge +1 )
3 repeat until max edge reached
4 permit orgasm ( orgasm +1 )
5 rest
Repeat 1 until max orgasm reached.

What I have done is more a forced orgasm instead of a race orgasm. I'm making sure the male is ready for an orgasm, thus the denial count to permit orgasms. Better suited for a male that can only get 2 maybe 3 orgasms in 2hours.

This said, what your asking is doable

@LanceLake
Copy link

In this loop cycle I just described, other than the timer for resting between orgasm what's the use for MoM timer you described?

Nothing. It's purely to handle the refectory period. This is why I wanted it in seconds. Because women have a quick refectory period and I may want to set it to do 1-60 seconds randomly so it will stop, but can start at any time after up to 1 minute (or even 30 seconds).

I understand that MoM mode is not as useful in the purely program space as you may like. However, with the upcoming plugins, I can do it so that it does an edging for however long.. then switch it to MoM... then do more edging.. Perhaps a timer.. then back to MoM mode. Etc.

This would be a "Building block" piece of code that by itself, it's functional and useful if you want just to be orgasamed over and over. However, with the plugins, more "logic" can be applied to how many of what needs to be done.

You are building a Ferrari and I am suggesting building some wheels so that users can make their own car how they want. :) I think that is where we are crossing lines. The "How many of this or that in the entire session" can be figured out by the plugin.. All we need is a mode that does what MoM does best. Make the user orgasm X amount of times with no teasing involved.

But to make it run, this is why I suggested the random mode. Then it will pick at random a full session. This is basically what my plugin is expected to do when written. Pick a random thing to do to the subject. A random mode should be added here.. But it shouldn't be a core of the MoM mode. It should be it's own thing.

@LanceLake
Copy link

BTW, for the random changes, it should default to..

Edges, Timer and then MoM.

So let's say I put in for chances..

Random_PercentChance_Edge = 20
Random_PercentChance_Timer = 40
Random_PercentChance_Mom = 40

That figures out to (If between 1 and 20), turn on Edge. If it's 21 to 60, turn on Timer. If it's 60-100, turn on Mom.

This will work fine if it equals 100%..

But what if a user puts this in..

Random_PercentChance_Edge = 33
Random_PercentChance_Timer = 33
Random_PercentChance_Mom = 33

So now, it's got up to 99.. What happens if the unit rolls a 100?

Then the random ends. Full stop and back to manual. It's a random chance of ending if it rolls higher than the total of the fields. After all, a random mode should include a random escape. :)

@B4ben-69
Copy link
Contributor Author

When I created the orgasm modes, I did add a web API called orgasm now. So this is basically a third permit orgasm trigger, other than the timer and now denials. This API is always usable if you create logic outside of the device.

Good idea for the random having a chance to fall outside.
I would add an exit percentage to the 3 others to make sure of no code errors.

@B4ben-69
Copy link
Contributor Author

I'm planning to create a new EVT__PERMIT_ORGASM. To be inline when Maus new philosophy

This way the
timer trigger
the Denial trigger
the WebAPI permit orgasm now.
And any other mode could be plugins that publish the orgasm event.

This event could be picked up by Post orgasm plugins like
Timer
Denial count
MoM
Any other created

@LanceLake
Copy link

I would add an exit percentage to the 3 others to make sure of no code errors.

If you do it as a if/elseif, there won't be errors. Just make the final else a "Escape" code.

I'm planning to create a new EVT__PERMIT_ORGASM. To be inline when Maus new philosophy

May I recommend a separate PR for that? :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants