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
;