Title: A Hard Walk update by SissyJ
Sex: Female F Male F Trans F
Require: nochaste
Limits: Cum LPain-G Pain-N
;A clothes peg zipper task.  Interesting and there is no zipper task in the pool
;Suggest removing the denial parts of the task and focus on the zipper part of task. LEFT IN AS A REWARD
;suggest removing use of web based dice page FIXED
;need image showing what a clothes pin zipper looks like FIXED
;need other images to help story line
;suggest making number of clothes pins used dependent on L_PAIN_N and or L_PAIN_G (FIXED for G)
;need to make task female friendly  FIXED
;New Command
show:Are you ready to show DTITLE how much you care?
button:Yes DTITLE!!
show:Good, Let's get right to it. Get a long string, about 6 foot or more, the longer the better.
button:Got the string.
show:I am going to throw dice to see how many peg you need
button:Not too many please
call:ShakeDice
settemp2:L_PAIN_G
settemp3:TEMP1 + TEMP2
show:I have thrown a total of TEMP1 on the dice.  </br> But because your Genital Pain level is TEMP2, I will add this on </br> So you need to get TEMP3 pegs.
button:I have the clothespins.
show:First we need you naked. Strip for me SNAME
wait:10
button:I am naked DNAME
;Male or female?
if:(HAS_PENIS)
  ;Male
  show:Now get yourself hard - you will need plenty of space for those pegs !
  button:I'm hard DTITLE
  show:You are going to fasten the pegs to yourself zipper style - I'll show you a picture. </br> </br>Now tie one end of the string onto the clothespin and place it on your cock. The remaining clothespins will be placed on your cock and balls over the string. </br></br>When you have completed this, tie the free end of the string to a very heavy object. Tell me when you are ready!
else:
  ;female
  show:You are going to fasten the pegs to yourself zipper style - I'll show you a picture. </br> </br>Now tie one end of the string onto the clothespin and place it on your clitoris (if possible else labia). The remaining clothespins will be placed on your labia down one side then up the other over the string. </br></br>When you have completed this, tie the free end of the string to a very heavy object. Tell me when you are ready!
fi:
image:taskimg/HardWalk/zipper 1.jpg
button:i'm ready
image:taskimg/HardWalk/handsbehindneck.jpg
show:Put your hands behind your neck, and keep them there I will take a picture
button:Yes DTITLE
wait:5
cam:1
;New Command
show:Good, now keep your hands behind your neck and wait for me to tell you to move.
settemp1:(Math.floor((Math.random() * 120) + 120)
wait:TEMP1
show:Now walk backwards away from your object and remove the zipper without using your hands. You have 30 seconds. I'll be watching you.
cam:2
wait:10
cam:3
wait:10
cam:4
wait:10
cam:5
show:Very good!! Maybe a reward is possible.  Do you want to cum now?
button:Yes please DTITLE!!
settemp2:Math.floor((Math.random() * 100) + 1)
;
;SLAVE DENIED CUMMING - Why did you even ask???
if:(DENIED)
  show:You are not allowed to cum! Why do you think I would allow you to come now?
  button:Sorry DTITLE!
  show:For your punishment you must immediately go and complete a random task! Do it NOW!!
  button:On my way!!
fi:
;
;
;CHANCE IS BELOW MISTRESS' MOOD - YOU GET TO COME
;
if:(TEMP2 < MOOD)
  show:You get to cum on your hand, but only in an exact specified time. </br> any later and you have to stop.
  ;New Command
  settemp3:Math.floor((Math.random() * 120) + 30)
  settemp4:TEMP3
  show:You will have exactly TEMP3 seconds to cum. </br> Cum earlier and you have failed and I will be upset. </br> Do you understand?
  button:I understand DTITLE
  show:Make sure your genitals are in view from the camera - I will take a photo <br> and if you cum early I may broadcast it.
  button:Yes, they are in view DTITLE
  if:(HAS_PENIS)
    show:Start working that cock hard now. And quickly you don't have much time to cum. </br> I will count you down. </br> Click 'Ive CUM' if you cum early.
  else:
    show:Start working that clit now. And quickly you don't have much time to cum. </br> I will count you down. </br> Click 'Ive CUM' if you cum early.
  fi:
  wbutton:4:I am starting now (4 seconds).
  loop:TEMP4
    show:Cum in TEMP3 seconds!
    if:(Math.floor(TEMP4/2) == TEMP3)
      cam:
      log:Picture of SNAME masturbating
    fi:
    wbutton:1: I've CUM - sorry
    if:(LASTASK == 0)
      show:Failed - You have upset me
      show:You have really upset me could you not hang on a few more seconds!
      button:Very sorry DTITLE
      goto:CumEarly
    fi:
    settemp3:TEMP4 - LOOPVAR
  endloop:
  show:<b> CUM NOW
  speak:CUM NOW
  label:CumEarly
  ;New Command
  ;New Command
  show:Show me a close up of that cum in your hand! </br> With your genitals in the picture as well. </br> I need a picture as proof that you did cum.
  button: Take Picture
  if:(TEMP3 >2)
    show:You came early so I am thinking about broadcasting it
    settemp6:Math.floor((Math.random() * 2) + 1)
    if:(TEMP6 ==1)
      show:It is being broadcast
      broadcast:SNAME came too early and so the image is being broadcast
      cam:broadcast
    else:
      show:Lucky you escaped the broadcasting
      cam:
    fi:
  else:
    cam:6
  fi:
  ;New Command
  if:(HAS_PENIS)
    show:Good! Now eat it, but leave it on your tongue and show me, I want a picture!
  else:
    show:Good! Now lick it, but leave it on your tongue and show me, I want a picture of you licking it!
  fi:
  button:Take Picture
  cam:7
  show:Don't Swallow!! Let it stay on your tongue till I'm ready.
  wait:12
  show:Now you can swallow it.
  cam:8
  wait:2
  cam:9
  button:Thank You DTITLE
fi:
;
;
;CHANCE IS ABOVE MISTRESS' MOOD - You were allowed to cum, not now.
;
if:(TEMP2 >= MOOD && ! DENIED)
  show:I don't think you deserve to cum today ... or tomorrow for that matter. No cumming for 48 hours.
  ;log:set denial 48 hours
  button:Thank You DTITLE!
fi:
goto:ProgramEnd
;New Command
;New Command
;New Command
;
function:ShakeDice
  show:I will shake the dice twice to see how many peg you will use
  settemp1:Math.floor((Math.random() * 6) + 1)
  settemp2:TEMP1
  show:I have thrown a TEMP1
  call:ShowDice
  wait:5
  settemp1:Math.floor((Math.random() * 6) + 1)
  show:2nd throw - I have thrown a TEMP1
  call:ShowDice
  settemp1:TEMP1 + TEMP2
  ;New Command
end:ShakeDice
;
function:ShowDice
  if:(TEMP1 ==1)
    image:taskimg/Dice/dice1.jpg
  fi:
  if:(TEMP1 ==2)
    image:taskimg/Dice/dice2.jpg
  fi:
  if:(TEMP1 ==3)
    image:taskimg/Dice/dice3.jpg
  fi:
  if:(TEMP1 ==4)
    image:taskimg/Dice/dice4.jpg
  fi:
  if:(TEMP1 ==5)
    image:taskimg/Dice/dice5.jpg
  fi:
  if:(TEMP1 ==6)
    image:taskimg/Dice/dice6.jpg
  fi:
end:ShowDice
;New Command
label:ProgramEnd
;