Title:chastity_or_denial_gambling Sex: Female T Male T Trans T Require: Limits: use:chastity use:gen ;Task to gamble chastity or denial time ; ;; Variable table - ; TEMP1 == working variable ; TEMP2 == working variable ; ; ********** Initialize task ***************************************************** call:initializeChastityClub loadtemp1:chastityStartTimeP if:(('TEMP1' == '')||('TEMP1' == 'undefined')) assign:inChastity:false else: assign:inChastity:true fi: assign:improveOdds:0 image2:taskimg/chastity/simply endure.png ; ; *********** Introduce show:Slave, we will test your luck today. But before we do that, get undressed button:naked show:Lets take a picture button:Picture in 5 seconds wait:5 cam: ; ; *********** Determine whether slave can add denial or chastity if: !inChastity && (L_CHASTITY < 3) assign:slaveType:'denial' else: assign:slaveType:'chastity' fi: show: Slave, you will be gambling for $slaveType time button:Great DTITLE ; ; ********** Determine losing and winning times assign:randomFactor:((Math.random() * 8) + 2) if: '$slaveType' == 'chastity' loadtemp1:chastityAllTimeMax if:(('TEMP1' == '') || ('TEMP1' == 'undefined')) settemp1:10 fi: ;limit maximum chastity penalty by constraining to limits setting if:(TEMP1 > L_CH_MAX) settemp1:L_CH_MAX fi: show:Slave I have looked into your file and your settings. Based on that I think I can add a maximum of TEMP1 hours of chastity if you loose. It may not be as much though, maybe half or a third. Or i really add that many hours. Haha button:Please DTITLE settemp1:(Math.floor(TEMP1 * $randomFactor / 10)) assign:losingTime:TEMP1 assign:winningTime:(Math.floor(TEMP1 / 2)) if: $inChastity if:($winningTime > (CH_END / 3600)) assign:winningTime:(Math.floor(CH_END / 3600)) fi: else: assign:winningTime:0 fi: else: settemp1:L_DENIAL if:(TEMP1 <1) settemp1:1 fi: assign:losingTime:TEMP1 assign:winningTime:0 fi: show:Slave, I have determined how much $slaveType time i will add or reduce. Do you want to know? Be aware! If you say YES, I will tell you, but it will be a bit more likely that you loose this gamble choice:yes, no if:(LASTASK == 1) if: '$slaveType' == 'chastity' show:Fine. If you loose i will add $losingTime hours of chastity. If you win I will remove $winningTime hours. And now its become more likely that you loose, haha. else: show:Fine. If you loose i will add $losingTime days of denial. If you win I will give you 2 mood. And now its become more likely that you loose, haha. fi: assign:improveOdds:($improveOdds -1) button: Thank you DTITLE fi: ; ; ********** Determine whether slave wins or looses settemp2:(L_CH_FLEX * 5) if:(TEMP2 < 5) settemp2:5 fi: show:We will be gambling for $slaveType time. You can improve your odds of winning by TEMP2 % if I put you in hardcore mode for 2 weeks and you have to do some tasks each week.

Think carefully about this, without chosing this option your chance of winning may be very low.

Do you want this? choice:yes, no if: LASTASK == 1 settemp1:(Math.floor((Math.random() * 4) + 1)) show:You chose the careful option. I will add TEMP1 tasks per week, and lock your limits for the next two weeks. button:Yes DTITLE ; hardcore:14 days ; addwtasks:TEMP1 ; locklimits:14 log:adding TEMP1 weekly tasks, and locking limits for 2 weeks assign:improveOdds:($improveOdds + (TEMP2 / 10)) else: show:Chicken. Its likely that you will loose the gample button:Shudder fi: assign:winning:false if: '$slaveType' == 'chastity' settemp1:(Math.floor(Math.random() * 100)) settemp2:((L_CH_FLEX + 4 - $improveOdds) * 10) if:(TEMP1 > TEMP2) assign:winning:true fi: else: if:((Math.random() * 10) > 5 - $improveOdds) assign:winning:true fi: fi: ; ; ********** Inform slave of result and adjust times show:Ok, let me think wait:5 show:Hmm, where are my dice? wait:5 show:Aaah, here we go wait:5 show:Throwing dice wait:5 show:And the result is if: '$slaveType' == 'chastity' if:$winning if: $inChastity show:You have won. I will reduce your chastity time by some hours button:This is great log:Slave has won. Reducing chastity time by §winningTime hours settemp1:(CH_END / 3600) - $winningTime ; setchastity:TEMP1 hours else: show:You have won, but you are not locked up. Why did you play at all? There is nothing I can do for you, but thanks for trying button: Yes DTITLE fi: else: show:Oh dear, you have lost. I will add a lot of chastity time button:Oh no log:Slave has lost. Adding $losingTime hours of chastity time ; addchastity:$losingTime hours fi: else: if:$winning show:you have won. I will add a few mood points button:This is great log:Slave has won. Adding 2 mood points ; setmood:(MOOD-2) else: show:Oh dear, you have lost. I will add a lot of denial time button:Oh no log:Slave has lost. Adding $losingTime days of denial time ; adddenial:$losingTime days fi: fi: show:That was fun. Hope to see you playing again soon button:Yes DTITLE ; ; update to-do list with task run and validate if there are overdue tasks assign:logTaskName:'chastity_or_denial_gambling' call:validateToDoTasks call:saveToDoTasks ;