Title:slave_mathematics Sex: Female T Male T Trans T Require: Limits: ;mathematics examination for a slave ; ;a slave has a mathematics examination, the slave is asked 10 mathematical questions it must answer correctly and within time ; ;turn peerreview off for the moment peerreview:false ; use:gen ; ;----------------------- Variables -------------------------- ; ;Selected Mistress/Master if:('DNAME'=='Jennifer') assign:domme:'Jennifer' fi: if:('DNAME'=='Natasha') assign:domme:'Natasha' fi: if:('DNAME'=='James') assign:domme:'James' fi: ; ;Question was already asked, reroll choice question assign:Q_selected:false ;The number of the active question assign:Q_number:0 ;How many questions have already been asked assign:Q_Answered:0 ;Correctly answered questions assign:Score:0 ;What is the maximum number of asked questions assign:Q_Maximum:10 ;How many questions must be answered correcty assign:Required_Score:0 ;The total amount of available questions assign:Q_Total:30 ;Current time assign:T_now:TIMENOW ;The end time assign:T_end:0 ;How much time is available assign:T_minutes:0 ;Is there still time left assign:T_OK:true ; ;--------------- start task -------------------------- ;------------------ intro -------------------- ; log:Task description. The slave has a mathematics examination where it must answer 10 mathematical questions within a set time limit. ; ; image:taskimg/backgrounds/Bedroom_1.jpg image2:taskimg//Default/$domme_Whip.png ; show:Listen up, sissy. I have a new task for you, and it’s going to be a real test of your pathetic little brain. wait:5 show:I’m going to ask you a series of math questions to see if you can handle even the most basic skills. wait:5 show:Fail to impress me, and there will be consequences. button:Gulp show:Before we begin your pathetic little math test, there are some preparations you need to make. button:Yes DTITLE ; ;Chastity if:(INCHASTITY) log:Slave is in chastity else: call:PrepRoll if:(L_CHASTITY> 2 && PrepRoll > 50) log:Slave is in chastity. show:First, put on your chastity cage. <br>I want to ensure that your worthless cock is locked up tightly, completely out of reach and control, to remind you of your place. button:Caged fi: fi: ; ;Nipple clamps call:PrepRoll if:(T_NIPPLECLAMPS && PrepRoll > 50) log:Slave wears nippleclamps. show:Attach nipple clamps to those tender nipples of yours.<br> I want you to feel a constant, biting reminder of your servitude as you try to concentrate on the test. button:Nipple clamps on fi: ; ;Sissy call:PrepRoll if:(L_SISSY >3 && PrepRoll > 50) log:Slave is wearing something sissy. (garter belt, bra, stockings, ...) show:Dressing in sissy clothing might incentivize me to ask easier questions, but then again, maybe not. <br>Put on your sissy clothing. button:Dressed sissy fi: ; ;Gag call:PrepRoll if:(T_GAG && PrepRoll > 50) log:Slave is wearing a gag. show:Slave, you will remain silent during the test. Wear a gag. button:Gagged fi: ; ;Picture before start show:Slave, before we begin, I'm going to take a picture of you in your current outfit.<br>Present yourself kneeling with legs spread, hands on knees and back straight. button:Picture (wait 10) log:Picture before start of the test. Slave is kneeling with legs spread, hands on knees and back straight in picture below with items described above. wait:1 ;cam sound:cam.mp3 ;Difficulty choice for the questions show:You will have a set amount of time to answer 10 questions. <br>If you take 5 minutes, you must get at least 7 questions correct. <br>If you take 6 minutes, you must answer at least 9 questions correctly. <br>So, what will it be, slave? choice:5 min, 6 min if:(LASTASK == 1) assign:T_minutes:5 assign:Required_Score:7 assign:timebar:15 assign:time_procent:7 fi: if:(LASTASK == 2) assign:T_minutes:6 assign:Required_Score:9 assign:timebar:20 assign:time_procent:5 fi: ; show:Everything is set for the test. Don't disappoint me. Are you ready for the first question? <br>And don't slack, slave, time is ticking. button:Ready DTITLE ;Chosen amount of minutes after start of the questions, this is the endtime assign:T_end:TIMENOW + (60000 * $T_minutes) ; ;loop until 10 questions are asked and time is not finished while:($Q_Answered < $Q_Maximum) && (T_OK) ;Select the question call:Select_Question ;Check if the question is not asked before if:(Q_Asked) ;Question is asked, reset assign:Q_Asked:false ;A question has been succesfully asked assign:Q_Answered:$Q_Answered +1 ;Check remaining time call:Time fi: endwhile: ; ;All questions are asked or time ended if:($Q_Maximum == 10) ;10 questions answered show:You've managed to stumble through 10 questions. <br>Now, are you just dying to know your score? button:Yes DTITLE show:Well, slave, let's see how many you got right. Try not to squirm too much while I count. wait:5 show:Still counting ... wait:5 show:Your score isn't looking very promising, I must say. button:Gulp call:Score else: ;less then 10 questions answered, out of time show:Slave, your slow response to those questions was disappointing. You failed to perform within the given time frame. <br>You absolutely suck at mathematics.' button:Sorry DTITLE show:Perhaps you're better suited for sucking at something else entirely. button:Yes DTITLE ;punishment for failing call:Failed fi: ; ;Ending task show:You may leave now SNAME button:Bye DTITLE ; ;--------------------- End of task ----------------------------- ; ;----------------- Functions ------------------------ ; function:Select_Question ;Select the possible question assign:Q_number:Math.floor((Math.random() * $Q_Total) + 1) ;Going to the selected question call:Question_$Q_number end: ; ;------------------------ Asking question --------------------- ;The actual asking of the question and checking the answer ; function:Asking_Question ; show:$question ;TimeBar loop:$timebar showbar:(LOOPVAR * $time_procent) wait:1 endloop: hidebar: ;Answer from the slave asknumber:What is your answer slave? ;Check if the answer is correct if:(LASTASK == $Q_Answer) show:<h2>Correct ;Answer correct and score adjusted assign:Score:$Score +1 wait:3 else: ;Answer wrong show:<h2>Wrong wait:3 fi: end: ; ;--------------------------- PrepRoll ------------------------------- ;Decoration of the slave before the actual math ; function:PrepRoll ;Different rolls for decoration assign:PrepRoll:Math.floor((Math.random() * 100) + 1) end: ; ;----------------------------------Failed -------------------------------- ;Slave didn't score enough points or out of time and is punished ; function:Failed ; show:Slave, get a piece of paper and a pen. <br>Write on it, 'May I suck you?'. button:Yes DTITLE show:Get on your knees, now. Present yourself with the piece of paper, displaying it for everybody to see. Ready for the picture? log:Slave kneeling holding a piece of paper that reads 'May I suck you?' ;Take picture until satisfied and then publish call:genTakePictureUntilSatisfied ;expose:chosenPicture wait:2 exptext:This slave sucks at math, perhaps it can find something else to suck. ; end: ; ;------------------- Time ------------------------- ; function:Time ; ;Check remaining time if:($T_end > TIMENOW) ;Calculate remaining time assign:T_remain: ($T_end - TIMENOW)/ 1000 if:($T_remain < 60) ;Less then 60 seconds left speak:Less then 1 minute fi: else: ;Time is up speak:Times up assign:T_OK:false fi: ; end: ; ;------------------------ Score ---------------------------- ; function:Score ; ;Checking the score if:($Score < $Required_Score) ;Bad score and slave is punished show:Well, slave, congratulations on managing to fail such a simple mathematics test with only $Score correct answers. button:Sorry DTITLE show:Slave, you absolutely suck at mathematics.<br> Perhaps you're better suited for sucking at something else entirely. button:Yes DTITLE ;punishment for failing call:Failed else: ;Good score show:I'm actually impressed, slave. You managed to score $Score points. button:Thank you DTITLE fi: end: ; ;----------------- The questions ------------------ ; ;Assign question: The actual question ;Assign Q_Answer: The answer of the question ;Assign Q_xx: The selected question is marked as asked to prevent asking the same question again ;Assign Q_Asked: A question has been asked this task ; ;------------------------------------------------------- ; function:Question_1 if:('$Q_01' != 'ASKED') ;New question, not asked before assign:question:'If you dare to do that again, you can forget about getting out of your chastity cage for five weeks! DTITLE DNAME snaps angrily. <br>How many days will SNAME remain in chastity if he disappoints his DTITLE?' assign:Q_Answer:35 call:Asking_Question assign:Q_01:'ASKED' assign:Q_Asked:true else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;--------------------------------------------- ; function:Question_2 if:('$Q_02' != 'ASKED') ;New question, not asked before assign:question:'DTITLE DNAME has decreed that SNAME will remain in chastity for a total of fourteen days after his last climax. <br>Since it is only been six days so far, how many more days must SNAME endure before he can enjoy an erection?' assign:Q_Answer:8 call:Asking_Question assign:Q_02:'ASKED' assign:Q_Asked:true else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;--------------------------------------------- ; function:Question_3 if:('$Q_03' != 'ASKED') ;New question, not asked before assign:question:'A submissive man knows his DTITLE is in charge, especially when he is made to wear a longline brassière. <br>How many letters are in <h3>longline brassière</h3>?' assign:Q_Answer:17 call:Asking_Question assign:Q_03:'ASKED' assign:Q_Asked:true else: ;Question is already asked assign:Q_Asked:false fi: end: ;------------------------------------------ ; function:Question_4 if:('$Q_04' != 'ASKED') ;New question, not asked before assign:question:'When DTITLE DNAME finally releases SNAME, from his chastity belt, it takes him only one minute and forty-three seconds to make a mess. <br>Can you count how many humiliating seconds that is?' assign:Q_Answer:103 assign:Q_04:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ;------------------------------------------ ; function:Question_5 if:('$Q_05' != 'ASKED') ;New question, not asked before assign:question:'Instead of boxer shorts or briefs, SNAME has seven pairs of delicate white cotton panties and five pairs of pretty pink cotton panties. <br>How many pairs of degrading cotton panties does this sissy have in total?' assign:Q_Answer:12 assign:Q_05:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; ; function:Question_6 if:('$Q_06' != 'ASKED') ;New question, not asked before assign:question:'While SNAME amuses his DTITLE by sucking her dildo, he flaunts his collection of lipsticks! He has three different shades of pink and seven different shades of red. <br>How many sinful colors can his lips adorn?' assign:Q_Answer:10 assign:Q_06:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;--------------------------------------------; ; function:Question_7 if:('$Q_07' != 'ASKED') ;New question, not asked before assign:question:'If a bottle of dishwashing liquid contains five hundred millilitres of liquid, and SNAME buys three bottles at the supermarket. <br>How many millilitres does he take home? ' assign:Q_Answer:1500 assign:Q_07:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; ; function:Question_8 if:('$Q_08' != 'ASKED') ;New question, not asked before assign:question:'Naughty sissy SNAME deserves a proper spanking. If his DTITLE decides to administer twelve sets of six strokes each with her paddle while he bends over the chair. <br>How many times will it strike his bare bottom?' assign:Q_Answer:72 assign:Q_08:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_9 if:('$Q_09' != 'ASKED') ;New question, not asked before assign:question:'When DTITLE DNAME finally grants him release from his chastity belt, it takes SNAME just one minute and thirty two seconds to make a mess onto the licking-up plate. <br>How many seconds is that?' assign:Q_Answer:92 assign:Q_09:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_10 if:('$Q_10' != 'ASKED') ;New question, not asked before assign:question:'Handling the laundry, SNAME uses two pegs for each of his DTITLE delicate blouses. With seven blouses washed this morning. <br>How many pegs are dedicated solely to this part of the chore?' assign:Q_Answer:14 assign:Q_10:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_11 if:('$Q_11' != 'ASKED') ;New question, not asked before assign:question:'SNAME DTITLE is freezing SNAME his cum because she wants to see him with ten loads in his mouth like a whore. <br>If he produces an unimpressive 4.8ml each time, how many millilitres will he have to gulp down in total?' assign:Q_Answer:48 assign:Q_11:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_12 if:('$Q_12' != 'ASKED') ;New question, not asked before assign:question:'Hand-washing last weeks lingerie, SNAME carefully rinses a total of nine white brassières, worn by both him and his DTITLE.<br> If six of these brassières belong to SNAME, how many belong to his DTITLE?' assign:Q_Answer:3 assign:Q_12:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_13 if:('$Q_13' != 'ASKED') ;New question, not asked before assign:question:'Slave SNAME can only manage the first eight inches of his DTITLE ten-inch dildo in his mouth. <br>How many inches stick out from his lips before he begins to choke?' assign:Q_Answer:2 assign:Q_13:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_14 if:('$Q_14' != 'ASKED') ;New question, not asked before assign:question:'Making her slave beg for mercy, SNAME his DTITLE slides her hand up and down his throbbing manhood twenty times in a minute. <br>How many seconds does she pause between each stroke?' assign:Q_Answer:3 assign:Q_14:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; ; function:Question_15 if:('$Q_15' != 'ASKED') ;New question, not asked before assign:question:'Despite the weather forecast suggesting a thirty percent chance of rain in the morning, SNAME must still hang out the laundry.<br>What is the percentage probability that it will stay dry?' assign:Q_Answer:70 assign:Q_15:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_16 if:('$Q_16' != 'ASKED') ;New question, not asked before assign:question:'SNAME his humiliation peaks as he lifts his skirt, revealing his panties to his DTITLE her friends, a task he finds utterly embarrassing. <br>How many letters are there in the word <h3>embarrassing?</h3>' assign:Q_Answer:12 assign:Q_16:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_17 if:('$Q_17' != 'ASKED') ;New question, not asked before assign:question:'If SNAME purchases five boxes of pantyliners, each containing fifty-four pantyliners. <br>How many pantyliners will he bring back to his DTITLE?' assign:Q_Answer:270 assign:Q_17:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_18 if:('$Q_18' != 'ASKED') ;New question, not asked before assign:question:'SNAME has earned himself forty-eight hours in a tight punishment corset. <br>If he must endure wearing it for twelve agonizing hours each day, how many days of suffering will it take for him to complete his punishment?' assign:Q_Answer:4 assign:Q_18:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_19 if:('$Q_19' != 'ASKED') ;New question, not asked before assign:question:'Whenever SNAME his DTITLE discovers even the slightest flaw in his cleaning, she adds twenty minutes to his cornertime. <br>If she finds eight faults, how many minutes will SNAME be forced to face the wall?' assign:Q_Answer:160 assign:Q_19:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_20 if:('$Q_20' != 'ASKED') ;New question, not asked before assign:question:'SNAME his DTITLE has brought out two vibrators to enjoy herself while SNAME kneels in front of her. The smaller one measures five inches in length, while the larger of the two is three inches longer. <br>How long is the second vibrator?' assign:Q_Answer:8 assign:Q_20:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_21 if:('$Q_21' != 'ASKED') ;New question, not asked before assign:question:'Sissy maid SNAME has been ordered to clean the house. <br>If there are eleven rooms in total, but SNAME has only cleaned seven of them so far, how many more rooms does he still need to clean?' assign:Q_Answer:4 assign:Q_21:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; ; function:Question_22 if:('$Q_22' != 'ASKED') ;New question, not asked before assign:question:'Each slice of the cake SNAME baked for his DTITLE her friends contains two hundred and fifty calories. <br>How many calories are in the half-slice that his DTITLE allows him to eat?' assign:Q_Answer:125 assign:Q_22:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; ; function:Question_23 if:('$Q_23' != 'ASKED') ;New question, not asked before assign:question:'As part of his punishment, SNAME must walk up and down the apartment five times. <br>If the hallway measures one hundred feet to the end and back, how many feet must he stagger in his stilettos?' assign:Q_Answer:500 assign:Q_23:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_24 if:('$Q_24' != 'ASKED') ;New question, not asked before assign:question:'SNAME his current chore is to vacuum a carpet that is six feet wide and seven feet long. <br>How many square feet does SNAME need to vacuum before he can move on to his next task?' assign:Q_Answer:42 assign:Q_24:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_25 if:('$Q_25' != 'ASKED') ;New question, not asked before assign:question:'Dressed as a girl, SNAME is being punished by writing lines. If DTITLE DNAME has ordered him to write <br><h3> I must not answer back </h3> <br>one hundred times, how many words will he write in total?' assign:Q_Answer:500 assign:Q_25:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_26 if:('$Q_26' != 'ASKED') ;New question, not asked before assign:question:'Dressed in a girly uniform, SNAME struggles to finish his mathematics examination. If the examination has one hundred questions and SNAME is only able to answer eighty-four of them, how many does he miss?' assign:Q_Answer:16 assign:Q_26:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_27 if:('$Q_27' != 'ASKED') ;New question, not asked before assign:question:'How many times can the feminized maid SNAME afford to snag his sheer nylons if he wants his legs to look flawless?' assign:Q_Answer:0 assign:Q_27:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_28 if:('$Q_28' != 'ASKED') ;New question, not asked before assign:question:'Last month, SNAME his DTITLE experienced eighteen orgasms, while SNAME was only allowed three. <br>How many orgasms did his DTITLE enjoy for each one of his?' assign:Q_Answer:6 assign:Q_28:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_29 if:('$Q_29' != 'ASKED') ;New question, not asked before assign:question:'Twenty-one days might feel like an eternity to be locked in chastity, but it is only a few weeks. <br>How many weeks has DTITLE DNAME kept SNAME denied?' assign:Q_Answer:3 assign:Q_29:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; function:Question_30 if:('$Q_30' != 'ASKED') ;New question, not asked before assign:question:'SNAME his DTITLE cruelly teases him for precisely seven minutes before granting him the humiliating release of squirting onto the lick-up plate. <br>How many agonizing seconds of her wicked stroking must SNAME endure before he can finally ejaculate?' assign:Q_Answer:420 assign:Q_30:'ASKED' assign:Q_Asked:true call:Asking_Question else: ;Question is already asked assign:Q_Asked:false fi: end: ; ;-------------------------------------------- ; ;