User Tools

Site Tools


tasks:forfeit_ball_busting
Title:forfeit_ball_busting
Sex: Female F Male T Trans F
Require:
Limits:
; forfeit_ball_busting (task to be used for forfeits)

call:startBallBustingForfeit

;----------------------------------------------------------------
function:startBallBustingForfeit
;----------------------------------------------------------------
  assign:allowChickenOut:true
  call:doBallbusts
end:

;----------------------------------------------------------------
function:exampleHowToUseTheseBallBustingFunctionsInAnotherTask
; This is an example how to use this in another task, if you would copy the individual functions there.
;----------------------------------------------------------------
  assign:allowChickenOut:true
  show:I will now send you to Runa to oversee your ball busting.
  button:Thank you, DTITLE
  assign:requestedRounds:10
  call:doBallbusts
  ;log:The slave has completed $completedRounds of $requestedRounds rounds.
  ;if: !$hasAllItems
    ;log:The slave did not have all items required to build a ball buster and thus has to run this task again.
  ;fi:
end:

;----------------------------------------------------------------
function:buildBallBuster
;----------------------------------------------------------------
  image:taskimg/tasks/ball_busting/ball_buster_4.jpg
  show:Get the following items&colon;<ul><li>5-7 rubber bands (get regular thin ones, like shown in the photo)</li><li>a shoestring</li><li>two paper towels</li><li>a short piece of duct tape</li></ul>In the end it will look like this, but I'll guide you through all of the steps to build it.
  choice:Show me the steps,I DON'T have all items
  if: LASTASK == 2
    assign:hasAllItems:false
    image:taskimg/sets/runa/runa_blue_bikini24.jpg
	log:The slave did not have all the needed items to build a ball buster and thus has to run the task again once all items are available.
	dmsg:0:Runa:Remember to get 5-7 rubber bands (get regular thin ones), a shoestring, two paper towels, and a short piece of duct tape. Then run the task again!
	show:Ok, then get the items and meet me again once you have them. I will now show you how to build it. You don't have to remember anything, I will guide you through the steps again next time we meet.
	button:Thank you, Runa
  fi:
  label:startOfBuildBallBuster
  image:taskimg/tasks/ball_busting/ball_buster_1.jpg
  show:(1/4) Assemble a daisy chain of around 5 rubber bands. Before you do it, stretch all the rubber band so that they have their final lentgh.
  button:Done
  image:taskimg/tasks/ball_busting/ball_buster_2.jpg
  show:(2/4) Put the two paper towels on top of each other and fold them 3 times in the middle to get a long strip.
  button:Done
  image:taskimg/tasks/ball_busting/ball_buster_3.jpg
  show:(3/4) Roll the paper towel strip tightly around the center of the daisy chain and fixate it with some duct tape.
  button:Done
  image:taskimg/tasks/ball_busting/ball_buster_4.jpg
  show:(4/4) Put the shoestring through the outer rubber bands.
  button:Done
  if: $hasAllItems
    show:Now your ball buster is ready and should look like this. If not, I can explain the steps again, and you can start over.
    choice:Looks like that,Please explain again
    if: LASTASK == 2
      goto:startOfBuildBallBuster
    fi:
  else:
    show:This is how the ball buster will look like at the end. So meet me again once you have all the items ready&colon;<ul><li>5-7 rubber bands (get regular thin ones, like shown in the photo)</li><li>a shoestring</li><li>two paper towels</li><li>a short piece of duct tape</li></ul>
	button:Yes, I will
  fi:
end:

;----------------------------------------------------------------
function:showNextBallBustingPic
;----------------------------------------------------------------
  if: $curPic == 1
    image:taskimg/sets/runa/runa_blue_bikini15.jpg
  fi:
  if: $curPic == 2
    image:taskimg/sets/runa/runa_blue_bikini13.jpg
  fi:
  if: $curPic == 3
    image:taskimg/sets/runa/runa_blue_bikini25.jpg
  fi:
  if: $curPic == 4
    image:taskimg/sets/runa/runa_blue_bikini26.jpg
  fi:
  if: $curPic == 5
    image:taskimg/sets/runa/runa_blue_bikini49.jpg
  fi:
  if: $curPic == 6
    image:taskimg/sets/runa/runa_blue_bikini50_1.jpg
  fi:
  if: $curPic == 7
    image:taskimg/sets/runa/runa_blue_bikini51.jpg
  fi:
  if: $curPic == 8
    image:taskimg/sets/runa/runa_blue_bikini52.jpg
  fi:
  if: $curPic == 9
    image:taskimg/sets/runa/runa_blue_bikini53.jpg
  fi:
  if: $curPic == 10
    image:taskimg/sets/runa/runa_blue_bikini52.jpg
  fi:
  if: $curPic > 10
    image:taskimg/sets/runa/runa_blue_bikini53.jpg
	assign:curPic:7
  fi:
  assign:curPic:$curPic+1
end:

;----------------------------------------------------------------
function:doInitialBallBust
;----------------------------------------------------------------
  call:showNextBallBustingPic
  if: $isCaged  
    show:After you've pushed the button, you have 10 seconds to get into that position and wait for my command. As soon as I give the command release the grip on the ball buster! Afterward stand up straight, because at the end I want to see the ballbuster hanging a few inches above your knees again.
  else:
   show:After you've pushed the button, you have 10 seconds to get into that position and wait for my command. While you wait keep your cock hard. As soon as I give the command release the grip on the ball buster! Afterward stand up straight, because at the end I want to see the ballbuster hanging a few inches above your knees again.
  fi:
  button:Getting into position
  call:doTheActualBallBust
end:

;----------------------------------------------------------------
function:doAnotherBallBust
;----------------------------------------------------------------
  call:showNextBallBustingPic
  if: $isCaged  
    settemp1:'Get ready for round $round/$requestedRounds&#58; Ball buster between heels, knees apart, and wait for my command! After you&#39;ve clicked the button, you have 10 seconds to get into that position.'
  else:
    settemp1:'Get ready for round $round/$requestedRounds&#58; Ball buster between heels, knees apart, and keep your cock hard! After you&#39;ve clicked the button, you have 10 seconds to get into position.'
  fi:  
  if: $allowChickenOut
    show:TEMP1<br><br>Or do you want to chicken out? But then you would have failed.
	choice:Getting into position,Chicken out
  else:
    show:TEMP1
	button:Getting into position
  fi:
  if: LASTASK == 1 || !$allowChickenOut
    call:doTheActualBallBust
  else:
	show:Do you really want to chicken out, or do you want to do the next ball bust?
	choice:Chicken out,Do the next ball bust
    if: LASTASK == 2
	  show:Ok, then get into position.
	  button:Getting into position
	  call:doTheActualBallBust
	else:
	  image:taskimg/sets/runa/runa_blue_bikini48.jpg
	  show:That's disappointing, you have failed.
	  assign:hasChickenedOut:true
	  settemp1:$round-1
	  settemp2:$requestedRounds
	  log:The slave has only completed TEMP1/TEMP2 rounds and thus HAS FAILED!
	  button:I'm sorry, Runa
	fi:
  fi:  
end:

;----------------------------------------------------------------
function:doTheActualBallBust
;----------------------------------------------------------------
  show:Get into postion
  speakjen:Get into position!
  wait:10
  if: $isCaged
    show:Stay in position and wait for my command
    speakjen:Stay in position, and wait for my command!
  else:
    show:Stay hard and wait for my command
    speakjen:Stay hard, and wait for my command!
  fi:  
  wait:10
  settemp1:Math.floor((Math.random() * 15) + 1)
  wait:TEMP1
  settemp1:Math.floor((Math.random() * 100) + 1)
  vidrec:0
  wait:2
  show:<h1>NOW</h1>
  speakjen:Now!
  wait:6
  vidstop:0
  wait:1
  assign:completedRounds:$completedRounds+1
end:

;----------------------------------------------------------------
function:takePictureWithCamDelay
;----------------------------------------------------------------
  button:Take picture (4 sec delay)
  show:4...
  wait:1
  show:3...
  wait:1
  show:2...
  wait:1
  show:1...
  wait:1
  show:0!
  cam:
  sound:bell.wav
  wait:1
end:

;----------------------------------------------------------------
function:doBallbusts
;----------------------------------------------------------------
capture:hide
assign:round:1
assign:curPic:1
assign:completedRounds:0
assign:hasAllItems:true
assign:hasChickenedOut:false
if: '$requestedRounds' == '\$requestedRounds'
  assign:requestedRounds:0
fi:
if:INCHASTITY
  assign:isCaged:true
else:
  assign:isCaged:false
fi:

image:taskimg/sets/runa/runa_blue_bikini15.jpg
if: $requestedRounds == 0
  asknumber:SNAME, you were sent to me, so that I can oversee your ball busting. How many ball busts are you required to do?
  assign:requestedRounds:LASTASK
  log:The slave claims that $requestedRounds ball busts were requested.
  if: $requestedRounds <= 0
    assign:requestedRounds:5
    show:It looks like you've accidentally entered a wrong number. Unfortunately I don't know the correct number. You probably need to do at least 1. But let's stay on the safe side and do $requestedRounds.
    button:Thank you, Runa
    log:Since this doesn't seem to be correct, Runa has corrected it to $requestedRounds.
  fi:
else:
  show:SNAME, you were sent to me, so that I can oversee your ball busting. It was requested that you have to do $requestedRounds ball busts.
  button:Yes, Runa
fi:

image:taskimg/tasks/ball_busting/ball_buster_4.jpg
show:Do you have this ballbuster? Or do you need to build a new one?
choice:I have it,Let's build one
if: LASTASK == 2
  call:buildBallBuster
fi:

if: hasAllItems
  image:taskimg/tasks/ball_busting/ball_buster_4.jpg
  show:Then get naked and tie the shoestring around your balls so that the rubber bands start left and right of your balls. The paper towel ball buster has to hang a little bit above your knees, if not add or remove rubber bands. And make sure that the loose ends of the shoestring are not interfering with the ball buster, so either cut them short, or tie them behind your back.
  button:Done

  image:taskimg/sets/runa/runa_blue_bikini3.jpg

  if: $isCaged
    show:Show yourself to me at least from knees to cock. I want to see the ball buster hanging a few inches above your knees.
    log:Ball buster dangling a few inches above the knees. The ball buster consists of 2 sheets of paper towel folded and rolled around a daisy chain of rubber bands.
  else:
    show:Show me how much you are looking forward to getting your balls busted. Get your cock hard and then take your hands off and show yourself to me from knees to hard cock. I want to see the ball buster hanging a few inches above your knees.
    log:Showing hard cock with hands not touching it and ball buster dangling a few inches above the knees. The ball buster consists of 2 sheets of paper towel folded and rolled around a daisy chain of rubber bands.
  fi:

  call:takePictureWithCamDelay

  image:taskimg/sets/runa/runa_blue_bikini9.jpg
  show:Pull down the ball buster and hold it between your heels. Then stand up straight again, but keep your knees spread apart a little. So that the ball buster will fly into your balls as soon as you release the grip from your heels. This is your ball busting position. Adjust the cam, so that I can at least see you from feet to cock.
  button:Understood

  if: $isCaged
    log:In all of the videos the slave has to initially hold the ball buster between the heels. The knees have to be spread apart a little to have a clear path between ball buster and balls. Then the grip from the heels has to be released, so that the ball buster flies into the balls. At the end it has to again dangle a few inches above the knees.
  else:
    log:In all of the videos the slave has to initially keep the cock hard and hold the ball buster between the heels. The knees have to be spread apart a little to have a clear path between ball buster and balls. Then the grip from the heels has to be released, so that the ball buster flies into the balls. At the end it has to again dangle a few inches above the knees.
  fi:

  log:The slave will do $requestedRounds ball busts
  call:doInitialBallBust

  label:startOfBallBustingLoop
  assign:round:$round+1
  call:doAnotherBallBust
  if: $round < $requestedRounds && !$hasChickenedOut
    goto:startOfBallBustingLoop
  fi:

  if: !hasChickenedOut
    show:That's enough, you have completed all requested $requestedRounds rounds.
    log:The slave has completed all requested $requestedRounds rounds.
    button:Thank you, Runa
  fi:
fi:
end:
;
tasks/forfeit_ball_busting.txt · Last modified: 2022/10/11 18:32 (external edit)