User Tools

Site Tools


tasks:edging_helper
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. <br><br>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 <b>ALL THE TIME</b> while you unlock, $ACTIVITY and relock,<br><br>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.<br><br>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. <b>You must upload a video that shows the complete time from unlock to re-lock</b>, 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.<br><br>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. <b>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.<br><br>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.<br><br>1 Fucking means fast in and out movements during masturbation, DONT take it fully out.<br><br>2 Whenever you are told to stop masturbating, you take the dildo all the way OUT of your twat.<br><br>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.</b> You and your genitals must be visible on each of the pictures I will be taking.<br><br>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. <br><br>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.<br>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.<br><br>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<br><br>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<br><br>I want you to report what has happened in the <b>chastity club</b> clan space, and let others decide there what your punishment will be
    button:I have reported in the chastity club
    log:Slave admits <b>that he or she had an orgasm.</b> 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.<br><br>I will assign you a punishment. You need to do the punishment task within the next 24 hours
    button:Yes DTITLE
    log:Slave admits <b>that he or she had an orgasm</b>. 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<br><br>I want you to report what has happened in the <b>chastity club</b> clan space, and let others decide there what your punishment will be
      button:I have reported in the chastity club
      log:Slave admits <b>that she closed her legs which likely means she had an orgasm.</b> 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.<br><br>I will assign you a punishment. You need to do the punishment task within the next 24 hours
      button:Yes DTITLE
      log:Slave admits <b>that she closed her legs which likely means she had an orgasm</b>. 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.<br>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.<br><br>1. Each edge needs to end with your cock showing visible excitement (e.g. very stiff, twitching, etc)<br>2. After each edge, once you take your figers off your cock, you have to pause for at least 5 seconds<br>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)<br>2. After each edge, slave must take figers off cock, and pause for at least 5 seconds<br>3. Slave is NOT allowed to wipe off anything while eding<br>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:
tasks/edging_helper.txt · Last modified: 2026/01/17 06:15 (external edit)