Jennifer In Control
Jennifer In Control
Title:just_testing
Sex: Female F Male F Trans F
Require: chastity nochaste cancum restim rshock rlock buttplug candle crop dildo estim gag handcuffs humbler nippleclamps
Limits: Pain-N Sissy Info Shaving Watersport
;Punishment_for_failing_a_task
;
;================================================================
;====================== defining variables ======================
;================================================================
;TEMP1 is a temporary variable
;TEMP2 is a temporary variable
;TEMP3 is a temporary variable
;TEMP9 is a temporary variable
;TEMP4 is used to select the punishment task valued 1 to 4
;TEMP5 is the number of times charged with failing a task
;TEMP6 is buttplugged during this punishment, 1 for true
;TEMP7 is nipple clamped during this punishment, 1 for true
;TEMP8 is gagged during this punishment, 1 for true
;
settemp4:Math.floor((Math.random()*2)+1)
if: T_CROP && (L_PAIN_N>3 || (L_PAIN_N>2 && HARDCORE))
settemp4:3
fi:
settemp6:0
settemp7:0
settemp8:0
assign:chargedWithFailing:0
assign:threeMonthAgo:TIMENOW-7776000000
assign:oldestTimechargedWithFailing:0
assign:oldestIndexchargedWithFailing:1
assign:genital1:'pussy'
assign:genital2:'pussy'
assign:genital3:'pussy'
if: HAS_PENIS
assign:genital1:'cock'
assign:genital2:'cock'
assign:genital3:'cock'
fi:
if:(S_IDENTIFY > 3)
assign:he1:'she'
assign:he2:'she'
assign:heCap1:'She'
assign:heCap2:'She'
assign:his1:'her'
assign:his2:'her'
assign:him1:'her'
assign:him2:'her'
assign:himself1:'herself'
fi:
if:(S_IDENTIFY == 3)
assign:he1:'they'
assign:he2:'they'
assign:heCap1:'They'
assign:heCap2:'They'
assign:his1:'their'
assign:his2:'their'
assign:him1:'them'
assign:him2:'them'
assign:himself1:'themselves'
fi:
if:(S_IDENTIFY < 3)
assign:he1:'he'
assign:he2:'he'
assign:heCap1:'He'
assign:heCap2:'He'
assign:his1:'his'
assign:his2:'his'
assign:him1:'him'
assign:him2:'him'
assign:himself1:'himself'
fi:
assign:moreSevere:0
assign:willBeExposed:false
assign:willGetDenial:false
assign:willGetChastity:false
assign:willGetAdditionalTasks:false
if: L_ONLINE >= 0
settemp1:Math.floor((Math.random() * 100) + 1)
if: !HARDCORE && TEMP1 <= 20
assign:willGetAdditionalTasks:true
fi:
if: HARDCORE && TEMP1 <= 33
assign:willGetAdditionalTasks:true
fi:
settemp1:Math.floor((Math.random() * 100) + 1)
if: INCHASTITY && TEMP1 < (L_CHASTITY * 5)
assign:willGetAdditionalTasks:false
assign:willGetChastity:true
fi:
settemp1:Math.floor((Math.random() * 100) + 1)
if: !$willGetChastity && L_DENIAL>2 && TEMP1 < (L_DENIAL * 5)
assign:willGetAdditionalTasks:false
assign:willGetDenial:true
fi:
fi:
if: L_ONLINE > 2 || $willGetDenial || $willGetChastity || $willGetAdditionalTasks
assign:willBeExposed:true
fi:
;
; computing the max. number of comments that get counted per user:
assign:denialCap:L_DENIAL
if:HARDCORE
assign:denialCap:$denialCap+3
fi:
assign:chastityCap:Math.floor(L_CH_MAX/24)
if: $chastityCap > L_CHASTITY
assign:chastityCap:L_CHASTITY
fi:
if: $chastityCap < 1
assign:chastityCap:1
fi:
;
call:howOftenchargedWithFailing
;================================================================
;====================== defining functions ======================
;================================================================
;----------------------------------------------------------------
function:askPiShockAvailable
;----------------------------------------------------------------
image:taskimg/court3.jpg
show:Do you have a pishock device available and already a pishock account?
choice:Yes,No
if: LASTASK == 1
show:Make sure that your sound is turned on, you need to hear when your punishment is done.
button:Play test sound
label:startOfPlayTestSoundAgainLabel
speakjen:Do you hear me?
choice:Yes I heard you,No please play it again
if: LASTASK == 2
goto:startOfPlayTestSoundAgainLabel
fi:
settemp4:4
fi:
end:
;----------------------------------------------------------------
function:refreshXToysSession
;----------------------------------------------------------------
image:taskimg/pishock/pi_pun_5.jpg
asktext:Ok then restart the xtoys session and copy the <b>Session Code</b> and enter it here. (If you've accidentally closed the popup, you can open it again by clicking on the globe icon again)
assign:xtoysSessionCode:'LASTASK'
image:taskimg/court1.jpg
show:Your punishment session will now continue. I've added 5 additional minutes for the lost time...
wait:10
broadcast:UPDATED LINK! SNAME ($xtoysUserName) is punished for $todoPishockMinutesmin with a pishock attached to $his1 $pishockLocation. To shock $him1, please visit xtoys.app/session/$xtoysSessionCode (see the temp exposed gallery for details)
exptext:The session code has changed, you can use the following link to connect xtoys.app/session/$xtoysSessionCode
assign:todoPishockMinutes:$todoPishockMinutes+5
assign:additionalMinutesLeft:$additionalMinutesLeft+5
image:taskimg/jury1.jpg
end:
;----------------------------------------------------------------
function:task4
;----------------------------------------------------------------
image:taskimg/court2.jpg
assign:totalPishockMinutes:20
assign:totalPishockMinutes:$totalPishockMinutes+($chargedWithFailing*2)
assign:totalPishockMinutes:$totalPishockMinutes+($moreSevere*5)
assign:maxAditionalMinutes:30
assign:additionalMinutesLeft:$maxAditionalMinutes
if: $chargedWithFailing > 1 && (L_PAIN_N ==5 || L_PAIN_G == 5)
assign:maxAditionalMinutes:40
fi:
assign:todoPishockMinutes:$totalPishockMinutes
if: HAS_PENIS
assign:preferedPishockLocation:'left thigh'
else:
assign:preferedPishockLocation:'pussy'
fi:
show:You will be at the mercy of the public on xtoys.app for $totalPishockMinutes minutes with a pishock attached to your body. During that time anyone is allowed to shock you. If anyone is still connected to your punishment session after that time, the session will continue until either an additional $maxAditionalMinutes minutes have passed or nobody is connected anymore.
button:Yes, your honor
image:taskimg/court3.jpg
if: HAS_PENIS
show:First attach the pishock to your body. For example your left thigh, but any place below your waist is ok. Adjust the cam, so that the pishock stays in my view until your punishment is done.
else:
show:First attach the pishock to your body. It would be prefered if you could somehow press it on your pussy, but if you cannot handle that, any other place below your waist is ok. Adjust the cam, so that the pishock stays in my view until your punishment is done.
fi:
button:Pishock attached
show:Now let me take a picture
button:Take photo (4 sec delay)
wait:4
cam:save:latest_temp_expose_pishock_pic
sound:cam.mp3
asktext:Where did you attach it? Just enter the place so that it makes sense in a sentence like 'The pishock is attached to the ???', e.g. enter <b>$preferedPishockLocation</b>
assign:pishockLocation:'LASTASK'
show:Click on the button to open <b>xtoys.app</b> in another browser tab
button:Open link
log:pishock attached to the $pishockLocation
web:https://xtoys.app
show:Now you can login or create an account. But this is optional, it also works as a guest.
button:Ok
image:taskimg/pishock/pi_pun_1.jpg
show:In the top right corner click on the plus and add a pishock collar to the session.
button:Added pishock
image:taskimg/pishock/pi_pun_2.jpg
show:Now connect your pi-shock by clicking on the connect icon in the top left corner. Check the checkmarks and click on PISHOCK LOGIN and CONNECT ACCOUNT to connect your pishock account. Set the shock maximum and the vibrate maximum to something you can bear and click CONNECT SHOCKER
button:Connected my pi-shock
image:taskimg/court3.jpg
show:Test if the shocking works, otherwise try to connect again
button:The shock works
image:taskimg/pishock/pi_pun_3.jpg
if: false && ADD_MIS.includes('R') && (L_PAIN_N ==5 || L_PAIN_G == 5)
show:Now let's start the session. Click on the globe icon in the top right corner and select Host Session. Make sure that the check boxes <b>Chat</b>, <b>Public</b>, and <b>Control Toys</b> are selected, and the pishock control is set to Everyone. (Note that you need a verified xtoys account to use the public check box. If you don't have that, check the Friends checkbox instead of the Public checkbox) Then add the following text in the SESSION INFO box and click on HOST but don't close the popup yet.<p><b>This slave is being punished, feel free to abuse $him1. $heCap1 has a pishock attached to $his1 $pishockLocation. Only use short shocks (1 sec or below), long ones are not effective.<p>$heCap2 has to be at public mercy for $totalPishockMinutes minutes, but if anyone is still in the session $he1 has to continue beyond that time for max. another $maxAditionalMinutes minutes.<p>$heCap3 has agreed to the max. shock level, so $he2 can take it.</b>
else:
show:Now let's start the session. Click on the globe icon in the top right corner and select Host Session. Make sure that the check boxes <b>Chat</b>, <b>Public</b>, and <b>Control Toys</b> are selected, and the pishock control is set to Everyone. (Note that you need a verified xtoys account to use the public check box. If you don't have that, check the Friends checkbox instead of the Public checkbox) Then add the following text in the SESSION INFO box and click on HOST but don't close the popup yet.<p><b>This slave is being punished, feel free to use the pishock that is attached to $his1 $pishockLocation as much as you like. Only use short shocks (1 sec or below), long ones are not effective.<p>$heCap1 has to be at public mercy for $totalPishockMinutes minutes, but if anyone is still in the session $he1 has to continue beyond that time for max. another $maxAditionalMinutes minutes.<p>$heCap2 has agreed to the max. shock level, so you can use any level you like.</b>
fi:
button:Set the check boxes and clicked HOST
image:taskimg/pishock/pi_pun_4.jpg
asktext:Copy the <b>Session Code</b> and enter it here. (If you've accidentially closed the popup, you can open it again by clicking on the globe icon again)
assign:xtoysSessionCode:'LASTASK'
image:taskimg/pishock/pi_pun_5.jpg
asktext:Copy the <b>User Name</b> and enter it here. (If you've accidentially closed the popup, you can open it again by clicking on the globe icon again)
assign:xtoysUserName:'LASTASK'
expose:latest_temp_expose_pishock_pic:2
image:taskimg/court3.jpg
show:Your punishment session begins now. I will let you know once it's over.
show:I've sent this to everybody, in case somebody wants to join the session and contribute to your punishment.<p><b>SNAME ($xtoysUserName) is punished for $todoPishockMinutesmin with a pishock attached to $his1 $pishockLocation. To shock $him1, please visit xtoys.app/session/$xtoysSessionCode (see the temp exposed gallery for details)</b>
broadcast:SNAME ($xtoysUserName) is punished for $todoPishockMinutesmin with a pishock attached to $his1 $pishockLocation. To shock $him1, please visit xtoys.app/session/$xtoysSessionCode (see the temp exposed gallery for details)
button:Gulp
image:taskimg/jury1.jpg
speakjen:Your punishment session begins now.
show:You may now close the x-toys session popup.
wait:10
exptext:SNAME ($xtoysUserName) is punished for $todoPishockMinutes min with a pishock attached to $his1 $pishockLocation. To shock $him1 or keep the session open, please visit (no login required) xtoys.app/session/$xtoysSessionCode
wait:20
exptext:$heCap1 failed a task $chargedWithFailing times. Asked for why $he1 failed this time, $he2 said...$reason
wait:10
exptext:xtoys has changed their system and does not attract a lot of users anymore. So if you see this, please join the session and at least deliver a shock from time to time. You could really help out DTITLE DNAME here.
label:startOfPishockPunishmentLoop
show:Stay like that ($todoPishockMinutes minutes left)<p>(Sometimes the XToys session restarts, in that case you can update the session code by clicking the button)
wbutton:60:(Refresh XToys session)
if: LASTASK == 0
call:refreshXToysSession
fi:
assign:todoPishockMinutes:$todoPishockMinutes-1
if: $todoPishockMinutes > 0
goto:startOfPishockPunishmentLoop
fi:
image:taskimg/court3.jpg
speakjen:Your time is up, but you may only end the session if nobody is connected anymore.
settemp1:$maxAditionalMinutes
assign:waitingText:'Your time is up, but you may only end the x toys session if nobody is connected anymore. If somebody is still in the session, you have to continue until nobody is in the session anymore. The session cannot be extended by more than an additional $maxAditionalMinutes minutes like this though. You do not have to push the button in that case. At the end of the additional minutes I will notify you.'
;
assign:additionalMinutesLeft:$maxAditionalMinutes
label:additionalTimeLoopStart
show:$waitingText ($additionalMinutesLeft minutes left)<p>(Sometimes the XToys session restarts, in that case you can also click the button to update the session code)
wbutton:60:Nobody is connected (or refresh session)
assign:nobodyConnected:false
if: LASTASK == 0
image:taskimg/pishock/pi_pun_5.jpg
show:Is nobody connected anymore, or do you need to update the session code?
choice:nobody connected,update session code
if:LASTASK == 1
assign:nobodyConnected:true
else:
call:refreshXToysSession
fi:
fi:
assign:additionalMinutesLeft:$additionalMinutesLeft-1
if: $additionalMinutesLeft > 0 && !$nobodyConnected
goto:additionalTimeLoopStart
fi:
;
image:taskimg/pishock/pi_pun_5.jpg
if: $nobodyConnected
show:Alight, you may take off the pi-shock and end the xtoys session. You are free to go, SNAME.
else:
speakjen:The additional $maxAditionalMinutes minutes are over.
show:The additional $maxAditionalMinutes minutes are over, you may take off the pi-shock and end the xtoys session. You are free to go, SNAME.
fi:
button:Thank you, Miss Benz
end:
; ---------------------------------------------------------------
function:ifTemp1CloserThan3MonthAdd1
if:'TEMP1' == ''
settemp1:0
fi:
if: TEMP1 > $threeMonthAgo
assign:chargedWithFailing:$chargedWithFailing+1
fi:
end:
; ---------------------------------------------------------------
function:howOftenchargedWithFailing
loadtemp1:last_time_charged_with_failing_LIVE_B_1
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_2
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_3
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_4
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_5
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_6
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_7
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_8
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_9
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_10
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_11
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_12
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_13
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_14
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_15
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_16
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_17
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_18
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_19
call:ifTemp1CloserThan3MonthAdd1
loadtemp1:last_time_charged_with_failing_LIVE_B_20
call:ifTemp1CloserThan3MonthAdd1
; add one for the current time:
assign:chargedWithFailing:$chargedWithFailing+1
if: ($chargedWithFailing==21)
log:The slave will be punished for failing a task more than 20 times during the past three months.
else:
log:The slave will be punished for failing a task $chargedWithFailing times during the past three months.
fi:
end:
; ---------------------------------------------------------------
function:getOldestTimechargedWithFailing
loadtemp1:last_time_charged_with_failing_LIVE_B_1
if: 'TEMP1' == ''
settemp1:0
fi:
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:1
loadtemp1:last_time_charged_with_failing_LIVE_B_2
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:2
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_3
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:3
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_4
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:4
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_5
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:5
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_6
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:6
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_7
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:7
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_8
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:8
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_9
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:9
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_10
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:10
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_11
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:11
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_12
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:12
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_13
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:13
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_14
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:14
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_15
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:15
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_16
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:16
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_17
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:17
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_18
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:18
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_19
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:19
fi:
;
loadtemp1:last_time_charged_with_failing_LIVE_B_20
if: 'TEMP1' == ''
settemp1:0
fi:
if:TEMP1<$oldestTimechargedWithFailing
assign:oldestTimechargedWithFailing:TEMP1
assign:oldestIndexchargedWithFailing:20
fi:
;
end:
; ---------------------------------------------------------------
function:overwriteOldestTimechargedWithFailingWithNow
call:getOldestTimechargedWithFailing
if:$oldestIndexchargedWithFailing==1
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_1
fi:
if:$oldestIndexchargedWithFailing==2
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_2
fi:
if:$oldestIndexchargedWithFailing==3
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_3
fi:
if:$oldestIndexchargedWithFailing==4
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_4
fi:
if:$oldestIndexchargedWithFailing==5
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_5
fi:
if:$oldestIndexchargedWithFailing==6
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_6
fi:
if:$oldestIndexchargedWithFailing==7
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_7
fi:
if:$oldestIndexchargedWithFailing==8
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_8
fi:
if:$oldestIndexchargedWithFailing==9
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_9
fi:
if:$oldestIndexchargedWithFailing==10
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_10
fi:
if:$oldestIndexchargedWithFailing==11
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_11
fi:
if:$oldestIndexchargedWithFailing==12
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_12
fi:
if:$oldestIndexchargedWithFailing==13
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_13
fi:
if:$oldestIndexchargedWithFailing==14
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_14
fi:
if:$oldestIndexchargedWithFailing==15
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_15
fi:
if:$oldestIndexchargedWithFailing==16
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_16
fi:
if:$oldestIndexchargedWithFailing==17
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_17
fi:
if:$oldestIndexchargedWithFailing==18
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_18
fi:
if:$oldestIndexchargedWithFailing==19
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_19
fi:
if:$oldestIndexchargedWithFailing==20
settemp1:TIMENOW
savetemp1:last_time_charged_with_failing_LIVE_B_20
fi:
end:
; ---------------------------------------------------------------
function:chanceOfPlugClampGag
settemp1:Math.floor((Math.random()*3)+1)
if:(TEMP1 == 1)
if:(L_ANAL > 2 && T_BUTTPLUG)
show:A member of the jury has requested the slave to be buttplugged during the punishment. This request is approved.
wait:10
show:Insert your plug and show your plugged ass to the camera.
button:I am plugged (5 sec delay)
show:5...
wait:1
show:4...
wait:1
show:3...
wait:1
show:2...
wait:1
show:1...
wait:1
show:0!
cam:
wait:1
sound:bell.wav
show:The slave is to remain plugged until the punishment is complete.
log:The slave will be plugged during this punishment
settemp6:1
wait:10
fi:
fi:
settemp1:Math.floor((Math.random()*2)+1)
if:(TEMP1 == 1)
if:(L_PAIN_N > 2 && T_NIPPLECLAMPS)
show:A member of the jury has requested the slave to endure the pain of nipple clamps. This request is approved.
wait:10
show:The slave will wear nipple clamps until the punishment is completed.
log:The slave will wear nipple clamps during this punishment
settemp7:1
button:My nipple clamps are in place
fi:
fi:
settemp1:Math.floor((Math.random()*3)+1)
if:(TEMP1 == 1)
if:(T_GAG)
show:A member of the jury has requested the slave to be gagged during the punishment. This request is approved.
wait:10
show:The slave will be gagged and remain gagged until the punishment is complete.
log:The slave will be gagged during this punishment
settemp8:1
button:I am gagged now
fi:
fi:
if:($chargedWithFailing > 20)
settemp1:Math.floor((Math.random()*2)+1)
if:(TEMP1 == 1)
show:A member of the jury has requested the slave be given a slave tattoo after the punishment.
wait:10
settemp1:Math.floor((Math.random()*2)+1)
if:(TEMP1 == 1)
show:A member of the jury has requested the slave be given a slave tattoo after the punishment. This request was denied.
log:The slave is a pathological repeat offender and should be considered for an additional severe punishment.
wait:10
fi:
if:(TEMP1 == 2)
show:A member of the jury has requested the slave be given a slave tattoo after the punishment. This request will not be part of this punishment, but the request has been logged for review by DTITLE DNAME.
log:The slave is a pathological repeat offender and should be given a slave tattoo as a constant reminder of $his1 place.
wait:10
fi:
fi:
fi:
end:
; ---------------------------------------------------------------
function:trashtalk
settemp1:Math.floor((Math.random() * 11) + 1)
if:TEMP1 == 1
speakjen:Look at that piece of shit.
wait:4
speaknat:Pile of shit
wait:2
fi:
if:TEMP1 == 2
speakjen:Hey natasha. Do you want to cut his balls off
wait:4
speaknat: I will. yes
wait:2
speakjen:ouch. no one should mess with natasha
wait:3
fi:
if:TEMP1 == 3
speakjames:Anyone want to tear up the asshole?
wait:4
speaknat:I would use my steel strapon
wait:3
speakjen: and i would use tabasco sauce for lube
wait:3
fi:
if:TEMP1 == 4
speakjen:I have no respect for failures
wait:3
speaknat:I see a looser
wait:2
speakjames:a pathetic loser
wait:2
speakjen:I will remember to keep an eye on this loser
wait:5
speakjames:We will all be watching
fi:
if:TEMP1 == 5
speakjen:What do you call that thing?
wait:3
speaknat:what thing
wait:2
speakjen:The small dick between its legs.
wait:3
speakjames: It is puny.
wait:2
speaknat:small and tiny
wait:2
speakjames:I would call it a sissy clit
wait:3
speakjen:Itsy bitsy teeny weenie
fi:
if:TEMP1 == 6
speakjen:Some bitches need to learn the hard way
wait:3
speakjames:That is why punishments increase for repeat offenders
wait:3
speaknat:more punishment is good
wait:2
fi:
if:TEMP1 == 7
speakjen:Hey Natasha. How many slaves have you broken?
wait:3
speaknat:more than two hund red
wait:3
speakjames:will this slave be broken?
wait:3
speaknat:they all break
wait:3
speaknat:i will enjoy breaking this one
wait:3
speakjen:I will break him first
wait:3
fi:
if:TEMP1 == 8
speakjames:If the court would just castrate a slave or two, we would stop seeing so many failed tasks
wait:7
speakjen:A real threat of castration would work wonders.
wait:4
speakjames:I wonder if we would have a problem finding a cutter?
wait:4
speaknat:no problem. I would castrate them
wait:3
speakjen:I am sure you would enjoy that
wait:3
speakjames:yes of course
wait:2
fi:
if:TEMP1 == 9
speakjames:Hey slave. Yes you. Don't fail a task again
wait:4
speakjen:You will get more punishment next time.
wait:4
speakjames:It will get worse for you.
wait:4
speaknat:More pain. And more humiliation.
wait:4
fi:
if:TEMP1 == 10
speakjames:I am glad I am not so small.
wait:3
speakjen:It is useless to woman. At least for sex.
wait:3
speakjames:Thats for sure.
wait:3
speakjen:Under six inches has never done it for me.
wait:4
speaknat:lock it up
wait:2
speakjen:Yes. Cage it permanently.
wait:3
fi:
if:TEMP1 == 11
speakjen:You are a failure.
wait:2
speaknat:A looser
wait:2
speakjames:Can't even complete a simple task.
wait:4
speakjen: Coward. Chickens out all the time.
wait:4
fi:
wait:20
end:
; ---------------------------------------------------------------
function:exposeSlaveAndWait
if: $chargedWithFailing == 1
assign:exposureCaption:'SNAME failed a task.'
else:
assign:exposureCaption:'SNAME failed a task $chargedWithFailing times.'
fi:
if:TEMP4 == 3
call:assignExposureCaptionAfterSpankingTask
fi:
;
if: $willGetDenial
assign:exposureCaption:'$exposureCaption For every comment the slave has to add 1h of denial (max.$denialCap per user)'
fi:
if: $willGetChastity
assign:exposureCaption:'$exposureCaption For every comment the slave has to add 1h of chastity (max.$chastityCap per user)'
fi:
if: $willGetAdditionalTasks
assign:exposureCaption:'$exposureCaption Based on the number of comments, $he1 gets tasks assigned (approx. one task per 10 comments)'
fi:
;
wait:2
expose:latest_temp_expose_failure_pic
wait:3
exptext:$exposureCaption
wait:3
if: $chargedWithFailing > 9 && ($willGetDenial || $willGetChastity || $willGetAdditionalTasks)
exptext:Since $he1 failed a lot of times lately, make sure to also comment a lot of times to punish $him1 appropriately.
wait:3
fi:
exptext:Asked for why $he1 failed this time, $he2 said...$reason
if: !$willGetDenial && !$willGetChastity && !$willGetAdditionalTasks
broadcast:The slave SNAME was exposed in the temp exposed gallery, please comment on $his1 failure.
fi:
if: $willGetDenial
broadcast:The slave SNAME was exposed in the temp exposed gallery, please comment on $his1 picture to add denial.
fi:
if: $willGetChastity
broadcast:The slave SNAME was exposed in the temp exposed gallery, please comment on $his1 picture to add chastity.
fi:
if: $willGetAdditionalTasks
broadcast:The slave SNAME was exposed in the temp exposed gallery, please comment on $his1 picture to add tasks to $him1.
fi:
log:The slave was temp exposed, with the text..$exposureCaption
end:
; ---------------------------------------------------------------
function:assignExposureCaptionAfterSpankingTask
assign:painLevel:L_PAIN_N
assign:failedNumberString:'$chargedWithFailingth'
if: $chargedWithFailing == 1
assign:failedNumberString:'1st'
fi:
if: $chargedWithFailing == 2
assign:failedNumberString:'2nd'
fi:
if: $chargedWithFailing == 3
assign:failedNumberString:'3rd'
fi:
assign:exposureCaption:'This is what happens if you fail a task. This was the $failedNumberString time SNAME failed a task within 3 months (with pain lvl $painLevel).'
end:
; ---------------------------------------------------------------
function:task1
show:You have been selected to endure humiliation as you punishment.
wait:6
settemp2:$chargedWithFailing
if: TEMP2 > 4
settemp2:4
fi:
show:You will write the word 'FAILED' TEMP2 times with a marker on the front side of your body.
button:Ready to begin writing
image:taskimg/court3.jpg
wait:(10 * TEMP2)
cam:
wait:5
show:Have you completed your body writing? Be sure the court camera can verify the word 'FAILED' TEMP2 times in the picture.
button:Yes DTITLE
show:Good. Now pose for the court for your verification picture.
button:Ready for picture (5 second delay)
image:taskimg/court4.jpg
wait:5
cam:save:latest_temp_expose_failure_pic
wait:1
sound:bell.wav
log:Punished for failing a task by writing FAILED on body TEMP2 times.
wait:1
show:The photo has been entered into your permanent record.
wait:6
call:mocked
end:
; ---------------------------------------------------------------
function:task2
show:You have been selected to endure humiliation as you punishment.
wait:6
image:taskimg/court3.jpg
show:You will prepare a sign with the following text, 'I am SNAME and I am a failure'.
button:The sign is prepared
image:taskimg/court4.jpg
show:Good. Now pose for a full body photo holding the sign for the court for your verification picture.
button:Ready for picture (5 second delay)
wait:5
cam:save:latest_temp_expose_failure_pic
wait:1
sound:bell.wav
log:Punished for failing a task by holding a sign.
wait:1
show:The photo has been entered into your permanent record.
wait:6
call:mocked
end:
; ---------------------------------------------------------------
function:mocked
show:You will now stand in front of the court so you can be mocked and humiliated. In addition to this, your photo was temporarily exposed. After clicking the button, you have 10 seconds to get into position.
button:In position(10 sec delay)
wait:30
image:taskimg/court5.jpg
wait:10
settemp2:$chargedWithFailing
if: TEMP2 > 5
settemp2:5
fi:
loop:TEMP2
call:trashtalk
endloop:
image:taskimg/court6.jpg
loop:TEMP2
call:trashtalk
endloop:
image:taskimg/court7.jpg
loop:TEMP2
call:trashtalk
endloop:
image:taskimg/court8.jpg
loop:TEMP2
call:trashtalk
endloop:
image:taskimg/court9.jpg
loop:TEMP2
call:trashtalk
endloop:
image:taskimg/court3.jpg
show:Your mocking and humiliation is complete.
wait:10
end:
; ---------------------------------------------------------------
function:task3
assign:paddle_ASS:true
assign:whip_ASS:false
assign:paddle_TH_I:false
assign:whip_TH_I:false
assign:paddle_TH_B:false
assign:whip_TH_B:false
assign:paddle_TITS:false
assign:whip_TITS:false
assign:paddle_BELLY:false
assign:whip_BELLY:false
if: ($chargedWithFailing + $moreSevere) >= 3
assign:whip_ASS:true
fi:
if: ($chargedWithFailing + $moreSevere) >= 4
settemp3:Math.floor((Math.random()*4)+1)
if:(TEMP3 == 1)
assign:paddle_TH_I:true
fi:
if:(TEMP3 == 2)
assign:paddle_TH_B:true
fi:
if:(TEMP3 == 3)
assign:paddle_TITS:true
fi:
if:(TEMP3 == 4)
assign:paddle_BELLY:true
fi:
fi:
if: ($chargedWithFailing + $moreSevere) >= 5
if: $paddle_TH_I
assign:whip_TH_I:true
fi:
if: $paddle_TH_B
assign:whip_TH_B:true
fi:
if: $paddle_TITS
assign:whip_TITS:true
fi:
if: $paddle_BELLY
assign:whip_BELLY:true
fi:
fi:
;
settemp1:'SNAME is sentenced to 30 hits on each butt cheek with a paddle'
if: $whip_ASS
settemp1:'TEMP1, followed by 30 lashes on each butt cheek with a whip'
fi:
if: $paddle_TH_I
settemp1:'TEMP1, followed by 30 hits on each inner thigh with a paddle'
fi:
if: $whip_TH_I
settemp1:'TEMP1, followed by 30 lashes on each inner thigh with a whip'
fi:
if: $paddle_TH_B
settemp1:'TEMP1, followed by 30 hits on each back of the thighs with a paddle'
fi:
if: $whip_TH_B
settemp1:'TEMP1, followed by 30 lashes on each back of the thighs with a whip'
fi:
if: $paddle_TITS
settemp1:'TEMP1, followed by 30 hits on each tit with a paddle'
fi:
if: $whip_TITS
settemp1:'TEMP1, followed by 30 lashes on each tit with a whip'
fi:
if: $paddle_BELLY
settemp1:'TEMP1, followed by 30 hits on the belly with a paddle'
fi:
if: $whip_BELLY
settemp1:'TEMP1, followed by 30 lashes on the belly with a whip'
fi:
settemp1:'TEMP1.<p>Since this is a severe punishment, you will first be sent to the court doctor to check if you are fit for punishment.'
show:TEMP1
button:Yes, your honor.
;
assign:punishmentArea:'ASS'
assign:punishmentImplement:'PADDLE'
call:doctor
call:spanking
if: $whip_ASS
assign:punishmentImplement:'WHIP'
call:spanking
fi:
;
if: $paddle_TH_I
show:I will now send you back to the doctor to make sure that also your inner thighs are fit for punishment.
button:Yes, Mistress.
assign:punishmentArea:'TH_I'
assign:punishmentImplement:'PADDLE'
call:doctor
call:spanking
fi:
if: $whip_TH_I
assign:punishmentImplement:'WHIP'
call:spanking
fi:
;
if: $paddle_TH_B
show:I will now send you back to the doctor to make sure that also the backsides of your thighs are fit for punishment.
button:Yes, Mistress.
assign:punishmentArea:'TH_B'
assign:punishmentImplement:'PADDLE'
call:doctor
call:spanking
fi:
if: $whip_TH_B
assign:punishmentImplement:'WHIP'
call:spanking
fi:
;
if: $paddle_TITS
show:I will now send you back to the doctor to make sure that also your tits are fit for punishment.
button:Yes, Mistress.
assign:punishmentArea:'TITS'
assign:punishmentImplement:'PADDLE'
call:doctor
call:spanking
fi:
if: $whip_TITS
assign:punishmentImplement:'WHIP'
call:spanking
fi:
;
if: $paddle_BELLY
show:I will now send you back to the doctor to make sure that also your belly is fit for punishment.
button:Yes, Mistress.
assign:punishmentArea:'BELLY'
assign:punishmentImplement:'PADDLE'
call:doctor
call:spanking
fi:
if: $whip_BELLY
assign:punishmentImplement:'WHIP'
call:spanking
fi:
show:Your spanking is finished.
wait:10
end:
; ---------------------------------------------------------------
function:doctor
image:taskimg/theme/nurse_1_1.jpg
if: ('$punishmentArea' == 'ASS')
settemp1:'your butt cheeks'
show:Are TEMP1 still bruised from a previous spanking?
log:The next picture shows the butt cheeks before the spanking.
fi:
if: ('$punishmentArea' == 'TH_I')
settemp1:'your inner thighs'
show:Are TEMP1 still bruised from a previous spanking?
log:The next picture shows the inner thighs before the spanking.
fi:
if: ('$punishmentArea' == 'TH_B')
settemp1:'the backs of your thighs'
show:Are TEMP1 (i.e. the area below the butt) still bruised from a previous spanking?
log:The next picture shows the backs of the thighs (the area below the butt) before the spanking.
fi:
if: ('$punishmentArea' == 'TITS')
settemp1:'your tits'
show:Are TEMP1 still bruised from a previous spanking?
log:The next picture shows the tits before the spanking.
fi:
if: ('$punishmentArea' == 'BELLY')
settemp1:'your belly'
show:Is TEMP1 still bruised from a previous spanking?
log:The next picture shows the belly before the spanking.
fi:
choice:Yes,No
image:taskimg/theme/nurse_1_6.jpg
if:LASTASK == 1
settemp9:'Ok, then let me examine the area. Rub some lotion or oil on TEMP1 and show it to me afterwards.'
show:TEMP9
button:Lotion applied (7 sec delay)
call:wait7SecondsAndShowTmp9
cam:
wait:1
sound:bell.wav
if: ('$punishmentArea' == 'ASS')
settemp2:'$his1 butt cheeks are'
fi:
if: ('$punishmentArea' == 'TH_I')
settemp2:'$his1 inner thighs are'
fi:
if: ('$punishmentArea' == 'TH_B')
settemp2:'the backs of $his1 thighs are'
fi:
if: ('$punishmentArea' == 'TITS')
settemp2:'$his1 tits are'
fi:
if: ('$punishmentArea' == 'BELLY')
settemp2:'$his1 belly is'
fi:
if: L_PAIN_N == 5
log:The slave claims that TEMP2 still bruised from a previous spanking. This is no reason for mercy. It's the slaves own fault that $he1 will get another spanking, so please verify two things. 1.Verify that the slave wasn't lying and there are actually still some bruises visible. 2.Verify that after the current spanking TEMP2 redder than before. Don't get fooled by the initial redness, it still has to be redder than before!
else:
log:The slave claims that TEMP2 still bruised from a previous spanking. This is no reason for mercy. It's the slaves own fault that $he1 will get another spanking, so please verify two things. 1.Verify that the slave wasn't lying and there are actually still some bruises visible. 2.Verify that after the current spanking TEMP2 redder than before!
fi:
image:taskimg/theme/nurse_1_3.jpg
show:The existing bruises are no contraindication for the planned punishment. It's your own fault that you will get another spanking. I will thus hand you over to the prosecutor who will oversee the spanking.
button:Thank you, doctor.
else:
settemp9:'Good, then I will prepare you for your punishment. Rub some lotion or oil on TEMP1 and show it to me afterwards.'
show:TEMP9
button:Lotion applied (7 sec delay)
call:wait7SecondsAndShowTmp9
cam:
wait:1
sound:bell.wav
image:taskimg/theme/nurse_1_5.jpg
show:You are fit to be punished, I will thus hand you over to the prosecutor, who will oversee your spanking.
button:Thank you, doctor.
fi:
end:
; ---------------------------------------------------------------
function:spanking
image:taskimg/court1.jpg
if: '$punishmentImplement'=='PADDLE'
settemp9:'Present the spanking implement. It has to be something flat like a hairbrush, belt, wooden spoon, or similar.'
log:The next picture shows a flat spanking implement, like a hairbrush, belt, wooden spoon, or similar.
else:
settemp9:'Present the next implement. It has to be something thin, like a whip, cane, doubled over cable, or similar.'
log:The next picture shows a thin whipping implement, like a whip, cane, doubled over cable, or similar.
fi:
show:TEMP9
button:Presenting implement (7 sec delay)
call:wait7SecondsAndShowTmp9
cam:
wait:1
sound:bell.wav
wait:1
image:taskimg/court6.jpg
if: ('$punishmentArea' == 'ASS')
settemp1:'each of your butt cheeks'
fi:
if: ('$punishmentArea' == 'TH_I')
settemp1:'each of your inner thighs'
fi:
if: ('$punishmentArea' == 'TH_B')
settemp1:'each of the backs of your thighs'
fi:
if: ('$punishmentArea' == 'TITS')
settemp1:'each tit'
fi:
if: ('$punishmentArea' == 'BELLY')
settemp1:'the belly'
fi:
if: '$punishmentImplement'=='PADDLE'
show:Spank TEMP1 30 times. Do it as hard as possible. When you are done, the area should be red and glowing. You may do a warm up spanking before you begin, but it would be additional to the actual spanking. When you are done with the 30 hard strokes, click the button.<p>If you are concerned about being too loud, you may do it under a blanket to dampen the noise. I don't need to see you doing it, I only care about the result.
button:Spanking is done
else:
show:Whip TEMP1 30 times with it. Do it as hard as possible. When you are done, the area should be visibly redder than before, and show some angry lines caused by the whip.
button:Whipping is done
fi:
image:taskimg/court5.jpg
if: ('$punishmentArea' == 'ASS')
settemp1:'your butt cheeks are'
settemp2:'the butt cheeks'
fi:
if: ('$punishmentArea' == 'TH_I')
settemp1:'your inner thighs are'
settemp2:'the inner thighs'
fi:
if: ('$punishmentArea' == 'TH_B')
settemp1:'the backs of your thighs are'
settemp2:'the backs of the thighs'
fi:
if: ('$punishmentArea' == 'TITS')
settemp1:'your tits are'
settemp2:'the tits'
fi:
if: ('$punishmentArea' == 'BELLY')
settemp1:'your belly is'
settemp2:'the belly'
fi:
if: '$punishmentImplement'=='PADDLE'
settemp9:'You will take a photo to prove that you did it properly. Make sure that TEMP1 <strong>notably</strong> red. This is not a fun light spanking. This is a court ordered punishment. So now is your last chance to continue the spanking until TEMP1 notably red. Take a photo after that is the case.'
if: L_PAIN_N == 5
log:The next picture shows TEMP2 after 30 strokes with the shown implement. This is a judicial punishment and the slave has a pain level of 5, thus the area has to be <b>significantly red</b>, otherwise mark as failed!
else:
log:The next picture shows TEMP2 after 30 strokes with the shown implement.
fi:
else:
settemp9:'You will take a photo to prove that you did it properly. So now is your last chance to continue the whipping until TEMP1 <strong>notably</strong> redder than before with some angry red lines. Take a photo after that is the case.'
if: L_PAIN_N == 5
log:The next picture shows TEMP2 after 30 strokes with the shown implement. This is a judicial punishment and the slave has a pain level of 5, thus the area has to be visibly <b>redder than in the previous picture, and show some angry lines caused by the whip</b>, otherwise mark as failed!
else:
log:The next picture shows TEMP2 after 30 strokes with the shown implement. The area has to be visibly redder than in the previous picture, and show some lines caused by the whip.
fi:
fi:
show:TEMP9
button:Take photo (7 sec delay)
call:wait7SecondsAndShowTmp9
cam:save:latest_temp_expose_failure_pic
wait:1
sound:bell.wav
end:
; ---------------------------------------------------------------
function:checkplugclampgag
if:(TEMP7 == 1)
settemp9:'Show me you are still clamped.'
show:TEMP9
speakjen:show me you are still clamped
; don't show the real timer, to not give the slave the chance to quickly attach clamps
call:wait7SecondsAndShowTmp9ButFakeTime
cam:
wait:1
sound:bell.wav
log:Checked for clamps.
wait:2
fi:
if:(TEMP6 == 1)
settemp9:'Plug check. Ass to the camera now.'
show:TEMP9
speakjen:lets see your ass
call:wait15SecondsAndShowTmp9
cam:
wait:1
sound:bell.wav
log:Checked for butt plug.
wait:2
fi:
;
if:(TEMP8 == 1)
settemp9:'Show me you are still gagged.'
show:TEMP9
speakjen:show me you are still gagged
call:wait15SecondsAndShowTmp9
cam:
wait:1
sound:bell.wav
log:Checked for gag.
wait:2
fi:
;
end:
; ---------------------------------------------------------------
function:wait7SecondsAndShowTmp9
show:TEMP9 <p>7..
wait:1
show:TEMP9 <p>6..
wait:1
show:TEMP9 <p>5..
wait:1
show:TEMP9 <p>4..
wait:1
show:TEMP9 <p>3..
wait:1
show:TEMP9 <p>2..
wait:1
show:TEMP9 <p>1..
wait:1
show:TEMP9 <p>0!
end:
; ---------------------------------------------------------------
function:wait7SecondsAndShowTmp9ButFakeTime
show:TEMP9 <p>5..
wait:1
show:TEMP9 <p>4..
wait:1
show:TEMP9 <p>3..
wait:1
show:TEMP9 <p>2..
wait:1
show:TEMP9 <p>2..
wait:1
show:TEMP9 <p>1..
wait:1
show:TEMP9 <p>1..
wait:1
show:TEMP9 <p>0!
end:
; ---------------------------------------------------------------
function:wait15SecondsAndShowTmp9
show:TEMP9 <p>15..
wait:1
show:TEMP9 <p>14..
wait:1
show:TEMP9 <p>13..
wait:1
show:TEMP9 <p>12..
wait:1
show:TEMP9 <p>11..
wait:1
show:TEMP9 <p>10..
wait:1
show:TEMP9 <p>9..
wait:1
show:TEMP9 <p>8..
wait:1
show:TEMP9 <p>7..
wait:1
show:TEMP9 <p>6..
wait:1
show:TEMP9 <p>5..
wait:1
show:TEMP9 <p>4..
wait:1
show:TEMP9 <p>3..
wait:1
show:TEMP9 <p>2..
wait:1
show:TEMP9 <p>1..
wait:1
show:TEMP9 <p>0!
end:
;================================================================
;======================= start of the task ======================
;================================================================
image:taskimg/court1.jpg
show:Welcome to court. I am the prosecutor and will represent you. Get naked now.
button:I am naked
show:All slaves are assumed guilty and are not allowed to present evidence or offer excuses.
wait:10
image:taskimg/court2.jpg
show:SNAME has confessed to and is charged with failing a task.
button:Yes I confessed
image:taskimg/court3.jpg
;
if:($chargedWithFailing == 1)
show:This is the first time SNAME is charged with this offense during the past three months.
wait:10
else:
if:($chargedWithFailing > 20)
show:SNAME was charged with failing a task more than 20 times during the past three months.
else:
if:($chargedWithFailing > 3)
show:This is the $chargedWithFailingth time SNAME was charged with this offense during the past three months.
fi:
fi:
if:($chargedWithFailing == 2)
show:This is the 2nd time SNAME was charged with this offense during the past three months.
fi:
if:($chargedWithFailing == 3)
show:This is the 3rd time SNAME was charged with this offense during the past three months.
fi:
wait:10
show:Since you are a repeat offender you will be given a harsher punishment.
wait:10
fi:
image:taskimg/jury1.jpg
show:You will now be shown to the jury.
wait:10
asktext:Tell the jury what you did to fail this task. Keep it short.
assign:reason:'LASTASK'
log:Asked for what $he1 did to fail this task, $he2 replied with..$reason
settemp1:Math.floor((Math.random()*100)+1)
if: (L_PAIN_N==5 || HARDCORE) && TEMP1 < 50
show:A member of the jury has asked to increase the severeness of your punishment. This request was approved.
wait:10
assign:moreSevere:$moreSevere+1
fi:
if:(MOOD < 30)
assign:secondOrThird:''
if: $moreSevere == 1
assign:secondOrThird:' second'
fi:
show:A$secondOrThird member of the jury has asked to increase the severeness of your punishment. This request was approved.
wait:10
assign:moreSevere:$moreSevere+1
fi:
if:(MOOD < 20)
assign:secondOrThird:''
if: $moreSevere == 1
assign:secondOrThird:' second'
fi:
if: $moreSevere == 2
assign:secondOrThird:' third'
fi:
show:A$secondOrThird member of the jury has ask for additional punishment. This request was approved.
wait:10
assign:moreSevere:$moreSevere+1
fi:
if: $willGetDenial
show:A member of the jury has requested that the public will be allowed to add denial to the slave after the punishment. This request was approved.
wait:10
if: !DENIED
settemp1:Math.floor((Math.random()*6)+17)
show:And since the slave is not in denial yet, she also asked for an initial denial sentence of TEMP1 hours be added. This request was also approved.
adddenial:TEMP1 hours
wait:15
fi:
fi:
if: $willGetChastity
show:A member of the jury has requested that the public will be allowed to add chastity to the slave after the punishment. This request was approved.
wait:10
fi:
if: $willGetAdditionalTasks
show:A member of the jury has requested that the public will be allowed to add tasks to the slave after the punishment. This request was approved.
wait:10
fi:
;
if:TEMP4 == 1 || TEMP4 == 2
call:chanceOfPlugClampGag
fi:
;
if:($chargedWithFailing > 12)
asktext:You seem to be a pathological repeat offender. Apologize to the jury and explain why you've failed a task more than 12 times during the past three months. If your reason is not convincing, the person who is reviewing this task, is advised to be extra strict.
show:You should hope that this convinces the reviewer
log:Asked for a reason for failing more than 12 times during the past three months, the slave responded as follows.
wait:2
log:LASTASK
wait:3
log:If the slave's reason is not convincing to you, please be extra strict when reviewing this task!
fi:
show:The jury found you guilty.
wait:10
image:taskimg/court3.jpg
show:It is time to begin the punishment. The punishment may be painful or humiliating. Do you agree to the punishment?
button:SNAME agrees to the punishment
call:askPiShockAvailable
show:I will now inform you of your punishment.
wait:6
;
if:TEMP4 == 1
call:task1
fi:
if:TEMP4 == 2
call:task2
fi:
if:TEMP4 == 3
call:task3
fi:
if:TEMP4 == 4
call:task4
fi:
call:checkplugclampgag
;
if: $willBeExposed
if: (!$willGetDenial && !$willGetChastity && !$willGetAdditionalTasks)
show:Your punishment is done, and I will now expose your picture to show others what happens if you fail a task. I hope you've learned your lesson.
assign:buttonText:'Yes, I have learned my lesson'
fi:
if: $willGetDenial
show:Your punishment is done, and I will now expose your picture to show others what happens if you fail a task. As requested by the jury, you have to add 1h of denial for every comment that gets added to the picture (max.$denialCap per user). You are not allowed to cum before you've added the denial of all comments.
dmsg:0:DNAME:Remember that for every comment on your exposed picture, you have to add 1h of denial (max.$denialCap per user). I will be checking! You are not allowed to cum before that.
assign:buttonText:'Yes, I will add denial'
fi:
if: $willGetChastity
show:Your punishment is done, and I will now expose your picture to show others what happens if you fail a task. As requested by the jury, you have to add 1h of chastity for comments on the picture (max.$chastityCap per user).
dmsg:0:DNAME:Remember that for every comments on your exposed picture, you have to add 1h of chastity (max.$chastityCap per user). I will be checking! If you are not in chastity when still comments get added, you may chose to add the chastity to your monthly min instead.
assign:buttonText:'Yes, I will add chastity'
fi:
if: $willGetAdditionalTasks
show:Your punishment is done, and I will now expose your picture to show others what happens if you fail a task. As requested by the jury, you have to do some additional tasks based on the number of comments that get added to the picture. The task get_tasks will pop up for you. Run it once your picture is not in the gallery anymore and you've counted the comments that you've got on it.
dtask:6:DNAME:get_tasks:240
dmsg:6:DNAME:I've assigned the get_tasks task to you. Run it once your picture is not in the exposed gallery anymore.
assign:buttonText:'Yes, I will do that'
fi:
call:exposeSlaveAndWait
button:$buttonText
else:
show:Your punishment is done. I hope you've learned your lesson.
button:Yes, I've learned my lesson
fi:
;
call:overwriteOldestTimechargedWithFailingWithNow
label:endoftask
;