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 Session Code 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 $preferedPishockLocation assign:pishockLocation:'LASTASK' show:Click on the button to open xtoys.app 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 Chat, Public, and Control Toys 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.

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.

$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.

$heCap3 has agreed to the max. shock level, so $he2 can take it. 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 Chat, Public, and Control Toys 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.

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.

$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.

$heCap2 has agreed to the max. shock level, so you can use any level you like. fi: button:Set the check boxes and clicked HOST image:taskimg/pishock/pi_pun_4.jpg asktext:Copy the Session Code 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 User Name 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.

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) 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)

(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)

(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.

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.

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 notably 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 significantly red, 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 notably 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 redder than in the previous picture, and show some angry lines caused by the whip, 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

7.. wait:1 show:TEMP9

6.. wait:1 show:TEMP9

5.. wait:1 show:TEMP9

4.. wait:1 show:TEMP9

3.. wait:1 show:TEMP9

2.. wait:1 show:TEMP9

1.. wait:1 show:TEMP9

0! end: ; --------------------------------------------------------------- function:wait7SecondsAndShowTmp9ButFakeTime show:TEMP9

5.. wait:1 show:TEMP9

4.. wait:1 show:TEMP9

3.. wait:1 show:TEMP9

2.. wait:1 show:TEMP9

2.. wait:1 show:TEMP9

1.. wait:1 show:TEMP9

1.. wait:1 show:TEMP9

0! end: ; --------------------------------------------------------------- function:wait15SecondsAndShowTmp9 show:TEMP9

15.. wait:1 show:TEMP9

14.. wait:1 show:TEMP9

13.. wait:1 show:TEMP9

12.. wait:1 show:TEMP9

11.. wait:1 show:TEMP9

10.. wait:1 show:TEMP9

9.. wait:1 show:TEMP9

8.. wait:1 show:TEMP9

7.. wait:1 show:TEMP9

6.. wait:1 show:TEMP9

5.. wait:1 show:TEMP9

4.. wait:1 show:TEMP9

3.. wait:1 show:TEMP9

2.. wait:1 show:TEMP9

1.. wait:1 show:TEMP9

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 ;