Title:edging_helper Sex: Female T Male T Trans T Require: Limits: use:chastity use:gen ;Task to force slaves to edge or masturbate without cumming. If slaves are locked in chastity, they are allowed to unlock for the duration of the edging. All other slaves ;will get some denial time added ; ; Variable table - ; TEMP1 == working variable ; TEMP2 == working variable ; inChastity == true if in chastity, false otherwise ; ACTIVITY == edge or masturbate. Used to make texts suitable for men and women ; ; Persistent variables - ; chastityStartTimeP == Time in seconds when chastity was started not changed over month end ; unlock_pending == Flag from JIC server that user message board is blocked until this task ; has been called ; chastityLastValidation == Time stamp of last validation (will be time of lockup initially) ; ; ********** initialize task ********************************** call:initializeChastityClub if:(HAS_PENIS) assign:ACTIVITY:'edge' else: assign:ACTIVITY:'masturbate' call:genTestSound fi: loadtemp1:chastityStartTimeP if:(('TEMP1' != '') && ('TEMP1' != 'undefined')) assign:inChastity:true settemp1:STIME savetemp1:chastityLastValidation else: assign:inChastity:false fi: show:Slave, you will be allowed to $ACTIVITY. You will not be allowed to orgasm. If you do, you will be severly punished, maybe even exposed. Do you understand button:I will not orgasm log:Slave is required to $ACTIVITY several times. if:(($lChastityClub) && ('$chastityClubMember' == 'active')) show:Have you previously created an offline edging video, and you want to upload it now? (answer NO if you are not sure) choice:NO, Yes upload offline video if: (LASTASK == 2) show:So you already have the video with the previously provided control number. You will run through this task as always, but you should ignore all the unlock and video recording instructionsfand other blah blah, just enter the new tag number and video link when asked button:ok fi: else: call:genVoluntaryVideoPrepare fi: ; ; ********** Provide initial information to reviewers image2:taskimg/tasks/chastity/edges_all_of_them.jpg if:(inChastity == true) log:IMPORTANT The slave will unlock, $ACTIVITY, and relock, while random pictures are being taken. It is essential that the slave and its genitals are on ALL pictures, and that there is NO evidence of the slave achieving an orgasm. wait:1 if:('CHASTITY_DESC' != '') log: Slave has provided the following information to validate it's chastity device. CHASTITY_DESC fi: fi: ; ; ********** STEP 1 Unlock ********************************************************** if: (HAS_PENIS) call:informMaleEdging call:masturbationImage fi: if:(inChastity == true) show:Slave, you will be allowed to open your chastity device so you can $ACTIVITY.

You will be required to re-lock right after you are done button:Understood DTITLE show:Good, you will be required to stay in front of the camera ALL THE TIME while you unlock, $ACTIVITY and relock,

That means that everything you require to unlock and relock needs to be in reach. Go now and get the key, or a cutter and a new tag if you use one, before you continue.

Once unlocked, if I catch you not being in front of the camera, you will be severly punished button:I have everything I need show:In order to prove that you are still properly locked up, I want you to provide me one or more pictures, that you are still wearing it, and that you have not tampered with the lock button:Yes DTITLE call:chastityAssignControlNumber call:chastityLoadLockInfo if:(($lChastityClub) && ('$chastityClubMember' == 'active')) call:chastityClubRequestVideo show:By the way, the video you are about to create will be quite lengthy. If you can't upload it to JIC directly, chose a file sharing service instead. You must upload a video that shows the complete time from unlock to re-lock, is that understood slave button:I will upload a complete video call:chastityValidateClubMember else: call:chastityValidateAllLockTypes fi: if:($lockType == 3) show:The number you need to unlock your device should be $combNum button:ok fi: else: if:(($lChastityClub) && ('$chastityClubMember' == 'active')) call:chastityAssignControlNumber button:ok show:As you are a member of the chastity club, you are required to record a video when you $ACTIVITY, even if you are currently not locked.

By the way, the video you are about to create will be quite lengthy. If you can't upload it to JIC directly, chose a file sharing service instead. You must upload a video that shows the complete activity, is that understood slave button:I will upload a complete video show:Excellent. Start the video recording NOW button:started fi: fi: ; ; ********** STEP 2 Edging or Masturbation ***************************************************** image2: call:masturbationImage if: (HAS_PENIS) ; ********** STEP 2a Edging (males) ************************************************************ if:(($lChastityClub) && ('$chastityClubMember' == 'active')) show:Good, get going now. Click CONTINUE when you edged the required number of times, or if you can't bear it any more button:Continue else: show:Get going now and click CONTINUE when you edged the required number of times, or if you can't bear it any more assign:$takePictureUntilContinueInterval:101 call:genTakePictureUntilContinue fi: else: ; ********** STEP 2b Masturbation (females) *********************************************************** show:Slave, you are now required to Masturbate.

What type of tool will you use? It is STRONGLY preferred to NOT use your fingers. Fingers are only allowed if you have no toy available choice:Clit Suction Vibrator, Normal Vibrator, Motionless Dildo, Fingers if:(LASTASK == 1) assign:mastTime:5 assign:breakTime:15 assign:rounds:6 else: if:(LASTASK == 2) assign:mastTime:10 assign:breakTime:12 assign:rounds:6 else: if:(LASTASK == 3) assign:mastTime:25 assign:breakTime:15 assign:rounds:4 image2:taskimg//tasks/chastity_edging/masturbation active.jpg show:Since you are using a dildo, I expect you to insert it and fuck yourself with it, whenever I tell you to masturbate.

1 Fucking means fast in and out movements during masturbation, DONT take it fully out.

2 Whenever you are told to stop masturbating, you take the dildo all the way OUT of your twat.

Is that clear button:I will vigurously fuck myself DTITLE show:And get yourself some lube button:Have lube DTITLE else: assign:mastTime:40 assign:breakTime:15 assign:rounds:4 show:Get yourself some lube button:Have lube DTITLE fi: fi: fi: label:femaleMasturbationStart image2:taskimg//tasks/chastity_edging/legs spread.jpg show: You need STAY IN FRONT OF THE CAMERA with your LEGS SPREAD AS WIDE AS POSSIBLE ALL THE TIME.
You and your genitals must be visible on each of the pictures I will be taking.

You are NOT allowed to close your legs the slightest bit, as this could be a sign that you got an orgasm. button: Yes DTITLE show: You are required to strictly follow my instructions when you masturbate, starting and stopping as I tell you. There will be some breaks, and you are not allowed to touch yourself during these breaks, but you MUST masturbate while I am telling you.

And remember to keep you legs spread wide button:Yes DTITLE show:Ok, ready yourself to start masturbation as soon as I tell you button:I am ready DTITLE loop:$rounds image2:taskimg//tasks/chastity_edging/masturbation active.jpg show:Masturbate NOW speakjen:Masturbate NOW wait:$mastTime image2:taskimg//tasks/chastity_edging/masturbation passive.jpg show:stop and wait slave speakjen:stop and wait slave wait:3 wait:$breakTime image2:taskimg//tasks/chastity_edging/masturbation active.jpg show:Masturbate NOW speakjen:Masturbate NOW wait:(Math.floor($mastTime * 0.8)) cam: log:Slave must masturbate in above picture image2:taskimg//tasks/chastity_edging/masturbation passive.jpg show:stop and wait slave speakjen:stop and wait slave wait:3 cam: log:Slave is not allowed to masturbate or to touch her pussy in above picture wait:(Math.floor($breakTime * 1.2)) image2:taskimg//tasks/chastity_edging/masturbation active.jpg show:Masturbate NOW speakjen:Masturbate NOW wait:(Math.floor($mastTime * 0.6)) if:(LOOPVAR < $rounds) image2:taskimg//tasks/chastity_edging/masturbation passive.jpg show:Lets take a little longer break so you can cool down a bit.
Keep your legs fully spread speakjen:Lets take a little longer break wait:15 cam: log:Slave is not allowed to masturbate or to touch her pussy in above picture wait:15 fi: endloop: show:Stop. That was well done masturbation. Do you have to do another round? speakjen:Stop. Stop masturbating choice:Done, Another Round if:(LASTASK == 2) show:That is nice. Ok, another round. Keep on going button:Next Round goto:femaleMasturbationStart fi: fi: ; ; ********** STEP 3 Re-lock (CC members need to lock up even if not locked when starting this task) ************** if:(inChastity == true) call:chastityImage2 show:You may now lock yourself up again.

Only click on CONTINUE once you are securely locked up again if:(($lChastityClub) && ('$chastityClubMember' == 'active')) button:Continue else: assign:takePictureUntilContinueInterval:15 call:genTakePictureUntilContinue wait:1 cam: log:Picture should show slave locked up again fi: call:chastityAskLockInfo call:chastityImage2 if:!(($lChastityClub) && ('$chastityClubMember' == 'active')) call:chastityValidateAllLockTypes fi: else: if:(($lChastityClub) && ('$chastityClubMember' == 'active')) show:As chastity club member, you should lock up immediately after each edging. Only exception is if this edging was an leftover of your last lockup period. Which is it choice:Leftover, Other if: (LASTASK == 1) log:Slave claims that edging was a leftover of previous lockup. No chastity time added show:ok I trust you, no chastity time will be added button:ok else: ; ********** start lock up procedure log:adding one day of chastity time after an edging show:I am adding one day of chastity so that the edging experience is a bit more frustrating. You need to lock up now button:Yes DTITLE addchastity: 24 hours ; ********** Clear some persistent variables settemp1:'' savetemp1:chastityLock savetemp1:chastityTagNumber savetemp1:chastityDirectLock ; ; ********** Record starting time of chastity in seconds settemp1:STIME savetemp1:chastityStartTime savetemp1:chastityStartTimeP savetemp1:chastityLastValidation ; ; ********** Initialize Task call:chastityImage2 call:chastityAssignControlNumber ; ; ********** Lock up and create validation pictures call:chastityAskLockInfo call:chastityImage2 show:Now attach your chastity device, and lock it button:Locked DTITLE ; ; ********** Finalize dialog show:Note that the system may ask you to run the chastity_lockup task. If this is the case, just start it, it will recognize that you are already locked up button:understood fi: fi: fi: ; ; ********** STEP 4 Save Video (if applicable) ****************************************************** if:(($lChastityClub) && ('$chastityClubMember' == 'active')) call:chastityClubSaveVideo else: call:genVoluntaryVideoStopAndStore fi: ; ; ********** STEP 5 Ask if something went wrong ****************************************************** image2:taskimg/tasks/chastity/lock back in belt.jpg show:So slave, I hope you did $ACTIVITY as instructed, and I very much hope for you that you have not come. I will check the pictures, so be honest

Always chose the orgasm option if you had an orgasm, no matter what else you did if:(HAS_PENIS) choice:I had an orgasm, Did everything as told and did not cum, Could not complete, cock not stiff during breaks else: choice:I had an orgasm, Did everything as told and did not cum, Could not complete, Closed my legs fi: if:(LASTASK == 1) ; punishment for having an orgasm if:($lChastityClub == true) show:This is bad, in particular as you are a member of the chastity club. Bad bad bad

I want you to report what has happened in the chastity club clan space, and let others decide there what your punishment will be button:I have reported in the chastity club log:Slave admits that he or she had an orgasm. He needs to report this in the chastity club clan space, and wait for having a punishment assigned there else: show:This is bad slave. Bad bad bad.

I will assign you a punishment. You need to do the punishment task within the next 24 hours button:Yes DTITLE log:Slave admits that he or she had an orgasm. A punishment task will be assigned dmsg:0:Jennifer:Time for your punishment dtask:0:Jennifer:Punishment_for_Cum:24 fi: fi: if:(LASTASK == 2) log:Slave claims that it $ACTIVITY d without an orgasm wait:1 fi: if:(LASTASK == 3) ; punishment for not performing all edges show:Not great. I will assign you a punishment log:slave admits to not have $ACTIVITY d as required. Will assign a punishment task button:Yes DTITLE dmsg:0:Jennifer:Time for your punishment dtask:0:Jennifer:Punishment_for_failing_a_task:24 fi: if:(HAS_PENIS) if:(LASTASK == 4) show:You failed to edge properly. I will re-schedule this task to be repeated within the next 24 hours button:Yes DTITLE log:Slave admits to not have edged properly (cock did not stay stiff for 5 seconds after each edge). Please mark task as failed nevertheless. Slave will get a new opportunity to edge again within next 24 hours dtask:0:Jennifer:chastity_edging:24 fi: else: if:(LASTASK == 4) ; punishment for a female closing legs which likely means she had an orgasm if:($lChastityClub == true) show:I believe you had an orgasm. This is bad, in particular as you are a member of the chastity club. Bad bad bad

I want you to report what has happened in the chastity club clan space, and let others decide there what your punishment will be button:I have reported in the chastity club log:Slave admits that she closed her legs which likely means she had an orgasm. She needs to report this in the chastity club clan space, and wait for having a punishment assigned there else: show:I believe you had an orgasm. This is bad slave. Bad bad bad.

I will assign you a punishment. You need to do the punishment task within the next 24 hours button:Yes DTITLE log:Slave admits that she closed her legs which likely means she had an orgasm. A punishment task will be assigned dmsg:0:Jennifer:Time for your punishment dtask:0:Jennifer:Punishment_for_Cum:24 fi: fi: fi: if:($lChastityClub) show:As a chastity club member, you can register your edges which will create tasks for other cc members. Would you like to register your edges now? I will open a new browser window for you if you say Yes. choice:Yes, No if:(LASTASK == 1) web:https://forms.gle/HMYDQZHexqUm7Rps9 fi: fi: ; ; ********** STEP 6 Finishing remarks to reviewers and slave ****************************************** wait:1 if:(inChastity) log:If you think the slave was no longer properly locked, has not reported honestly about his edging or not having an orgasm, or did not properly lock up again, then please assume the slave is trying to cheat. In particular if the slave and its genitals are not visible on ALL pictures. In that case please answer both questions with NO so that a moderator can look at it. Please also provide a short comment. Please do not show mercy, chastity enforcement should be strict, and a moderator will still consider what to do next. else: log:If you think the slave has not reported honestly about his edging or not having an orgasm, then please assume the slave is trying to cheat. In particular if the slave and its genitals are not visible on ALL pictures. In that case please answer both questions with NO so that a moderator can look at it. Please also provide a short comment. adddenial:6 show:In order to preserve the excitement, i have added 6 hours of denial button:Thank you DTITLE fi: show:You are done for today button:Yes DTITLE ; ; *************** Schedule next run of validation task if remaining chastity time is not too short call:chastityScheduleValidation ; ; *************** Finish task ************************************************************************** ; update to-do list with task run and validate if there are overdue tasks assign:taskName:'chastity_edging' call:validateToDoTasks call:saveToDoTasks ; update edge_pool in case the slave has a long term edging task loadtemp2:edge_pool if:(('TEMP2' != '') && ('TEMP2' != 'undefined')) settemp2:TEMP2 - $numberOfEdges savetemp2:edge_pool fi: ; ; ************ Functions ******************************************************************************* ; function: informMaleEdging show:Slave, i will give you an options how long to edge. choice:10 edges, 20 edges, 30 edges assign:numberOfEdges:LASTASK * 10 log:MALE edging requirements. Slave needs to edge $numberOfEdges times.
After each edge hands have to be taken off and cock needs to stay stiff for at least 5 seconds if: ('SNAME' == 'Chissoku') msg:Thomas3:Chissoku edges claimed $numberOfEdges fi: if:(($lChastityClub) && ('$chastityClubMember' == 'active')) image2: image: image:taskimg/tasks/chastity_edging/edging-instructions-1.jpg show: Let me explain to you how proper edging is done.

1. Each edge needs to end with your cock showing visible excitement (e.g. very stiff, twitching, etc)
2. After each edge, once you take your figers off your cock, you have to pause for at least 5 seconds
3. You are not allowed to wipe off anything while you are eding wait:1 log: 1. Each edge needs to end with the cock showing visible excitement (e.g. very stiff, twitching, etc)
2. After each edge, slave must take figers off cock, and pause for at least 5 seconds
3. Slave is NOT allowed to wipe off anything while eding
4. When done with all edges, slave needs to show his cock and the surrounding area from several angles wait:1 button:Go to next page image:taskimg/tasks/chastity_edging/edging-instructions-2.jpg show: 4. When you are done with all edges, you need to show your cock and the surrounding area from several angles log: Slave has been instructed to edge in a certain way. Please validate that the slave has followed these rules, and report if otherwise. The next 3 images are demo pictures, not from the slave. ilog:taskimg/tasks/chastity_edging/stay-hard.jpeg wait:1 ilog:taskimg/tasks/chastity_edging/no-wipe.jpeg wait:1 ilog:taskimg/tasks/chastity_edging/no-drip.jpeg button:All understood else: show:You are required to edge $numberOfEdges times, and cool down after each one. After each edge, take your hands off for at least 5 seconds. I expect your cock to remain stiff for those 5 seconds. After a sufficient break you may continue with the next edge. fi: end: