Title:longterm_sissy_training_idea Sex: Female T Male T Trans T Require: Limits: ;This is an advanced task that aims to create a long term trainer in JiC ; ;To avoid confusion, the following terms will be used: ; ;- Programme - This overall script, effectively the final task that everything else runs from ;- Assignment - The individual tasks the slave will be forced to complete ;- Level - Block of Assignments to which slave will be asked to commit ; ;Due to the size of this undertaking and the relaxed pace in which it will be programmed, we are setting the target for completion of early 2024 ;As this is also likely to reach around 50,000 lines of code and may also involve other volunteers, the bulk of writing will take place on a codeshare. ;If you are interested in helping with this project, please get in contact with Tommy on clan. ;This can be from simply helping with assignment ideas through to the actual typing for individual assignments or levels. ; ;ABOUT THE PROGRAMME ; ;Rather than simply keeping track of records ie. The length of dildo a slave has used in the past, ;The slave will instead be assigned a series of assignments in order. ;At the end of the assignment, the slave will be asked to schedule the next training date (approx 1 week) where a different assignment will be given. ; ; ;To maintain linearity, the programme will update a variable at the start and end of each assigment. ;Once the task is re-run, it will check this variable and jump to the relevant next task. ;As the variable updates twice per assignment, the slave will be caught out in any attempt to exit the page. ;As well as the usual five mood drop, the task will open to a further punishment the next time it is run before. ;This punishment will be tiered depending on limits eg. If a slave tries to run from an assignment involving anal, we can punish an anal limit five slave more severely than limit two ; ; ;ABOUT LEVELS ; ;The aim is to split the programme into five levels each of ten assignments. ;In general the intensity of these assigments will be fairly consistant within a level, however will step up considerably between. ;As the programme is a long term commitment of up to a year, the slave will initially be briefed on the the programme on first run. ;They will then be given the choice to commit to the first level. ;Refusing will exit the task with no mood awarded. ;Accepting will assign the first assignment immediately. ;There is no way out before the first ten assignments are complete. Incompleted tasks will be caught via the above check and send the slave back to assignment one. ;Once the tenth task is completed, the slave will be pushed to go for the next level. ; ;They will be given a choice to move on, repeat the previous level to gain confidence or exit the programme. ; ;Whilst level one is intended to be a taster to the programme, entrance to level two is considered a more serious commitment. ;They will at this stage be asked to choose a level to aim for. Exiting early will be severely punished ; ;At the end of every further level, there will still be the same three options, however the following punishments will occur. ;- Continuing will of course attract no penalty. ;- Repeating the level will initially attract no penalty however will keep a log of number of repeats. From the second repeat, the slave will get a minor penalty ie short denial or chastity. ;This is to prevent slaves sticking to the early levels for easy mood. ;- Exiting the programme at an earleir level than target will be seen as a break in commitment and given the harshest of punishments, a lengthy chastity sentence and substantial mood drop. ;Both the above options could be adjusted based on sissy limit. ; ;The aim is to provide a carrot and stick approach. The Programme will be as welcoming as possible for slaves wanting to test the water but challenging for serious sissy slaves. ; ; ;ABOUT THE ASSIGNMENTS ; ;Each assignment is meant to be the equivalent of any other JiC task. The target time is thirty minutes. ;These can be written by anyone with an idea, please get in contact with Tommy on clan if you want to contribute! ; ;This is a sissy programme and therefore all assignments will hinge around sissy activities and general humiliation. ;This may include feminisation, anal, oral, light bondage or anything else similar in nature to JiC random task pool. ; ;In general, to keep the the whole programme accessible to as many slaves as possible the following limits will apply ; - Tasks falling exclusively under the Sissy limit will be the furthest pushing. ; - Outdoor exhibition/scene style assignments will be exclusive to the higher levels and will not be exposing ; - For example the programme will not put a slave out in a busy public place wearing overtly feminine clothes. ; - Shopping assignments, wear X under, do a small task in a secluded public place may be allowed in the programme. ; ;In later levels, several limits may have to be introduced for example ; - Face for tasks involving makeup ; - Outdoors for the above ;The programme will check the slaves limits in any case at the start of a level, and the slave will be warned if there is a limit involved before deciding to enter the level. ; ; ;As a regularly scheduled task, the opportunity to set homework is also possible. ;This allows for a slave to obtain a required item during the week at a convenient time. ;A slave could be asked to repeat a task several times in a week and a series of timestamped photos be taken as proof. ; ; ; ; ; LIST OF ALL ASSIGNMENTS - The following is the current list of planned tasks. These are just suggestions. If you feel like adding to it please message Tommy. ; ; ;LEVEL 1 - Anyone should be able to clear this with no problem ;1 ;2 ;3 ;4 ;5 ;6 ;7 ;8 ;9 ;10 ;LEVEL 2 - Newer Sissy slaves may be pushed by several of these. ;11 ;12 ;13 ;14 ;15 ;16 ;17 ;18 ;19 ;20 ;LEVEL 3 - Difficult for newer sissy slaves. Experienced slaves might be pushed by one or two of these. ;21 ;22 ;23 ;24 ;25 ;26 ;27 ;28 ;29 ;30 ;LEVEL 4 - More difficult - Even experienced slaves should find some of these challenging. ;31 ;32 ;33 ;34 ;35 ;36 ;37 ;38 ;39 ;40 ;LEVEL 5 - A series of difficult challenges to push the most experienced slave. ;41 ;42 ;43 ;44 ;45 ;46 ;47 ;48 ;49 ;50 ;COMPLETE ; ;NOTHING BELOW THIS LINE IS UPDATED IN THE TASK EDITOR AND AS SUCH WILL LIKELY BE PASTED OVER ; ; ---------Below starts a full year of coding sadness----------- ; ;VARIABLES ; ;TEMP1,TEMP2,TEMP3,TEMP4,TEMP5 are all useable by assignments ; ;progress_logger = Unique number used to identify progree throught the programme and choose next assignment ;complete_check = Either 1 or 0 identifies whether the last assignment finished successfully or was closed prematurely (99 means the programme is being run for the first time) ;reset_tally = Tracks number of times slave repeats a level ;homework_check = either 1 or 0 identifies whether homework is due! ; ;Begin Task here ; ; ;Variable Load ; ; loadtemp1:lst_progress_logger if:'TEMP1' == '' settemp1:0 fi: assign:lst_progress_logger:TEMP1 loadtemp1:lst_complete_check if:'TEMP1' == '' settemp1:99 fi: assign:lst_complete_check:TEMP1 loadtemp1:lst_reset_tally if:'TEMP1' == '' settemp1:0 fi: assign:lst_reset_tally:TEMP1 loadtemp1:homework_check if:'TEMP1' == '' settemp1:0 fi: assign:homework_check:TEMP1 ; ; ;END VARIABLE LOAD ; ; ; ; ; ; ; ; ; ; ; ; ; label:beta_opening show:Hey SNAME, <br> <br> Do you want to access the debug menu or run the Programme as a test? choice:Debug menu,Run the Programme if:(LASTASK==1) goto:debug_menu fi: if:(LASTASK==2) goto:programme_start fi: ;********************************************************Section 1 - Assignments********************************************************** ; function:assignment_1 show:This is assignment 1 button:Exit assignment 1 end:assignment_1 ; function:assignment_2 show:This is assignment 2 button:Exit assignment 2 end:assignment_2 ; function:assignment_3 show:This is assignment 3 button:Exit assignment 3 end:assignment_3 ; function:assignment_4 show:This is assignment 4 button:Exit assignment 4 end:assignment_4 ; function:assignment_5 show:This is assignment 5 button:Exit assignment 5 end:assignment_5 ; function:assignment_6 show:This is assignment 6 button:Exit assignment 6 end:assignment_6 ; function:assignment_7 show:This is assignment 7 button:Exit assignment 7 end:assignment_7 ; function:assignment_8 show:This is assignment 8 button:Exit assignment 8 end:assignment_8 ; function:assignment_9 show:This is assignment 9 button:Exit assignment 9 end:assignment_9 ; function:assignment_10 show:This is assignment 10 button:Exit assignment 10 end:assignment_10 ; function:assignment_11 show:This is assignment 11 button:Exit assignment 11 end:assignment_11 ; function:assignment_12 show:This is assignment 12 button:Exit assignment 12 end:assignment_12 ; function:assignment_13 show:This is assignment 13 button:Exit assignment 13 end:assignment_13 ; function:assignment_14 show:This is assignment 14 button:Exit assignment 14 end:assignment_14 ; function:assignment_15 show:This is assignment 15 button:Exit assignment 15 end:assignment_15 ; function:assignment_16 show:This is assignment 16 button:Exit assignment 16 end:assignment_16 ; function:assignment_17 show:This is assignment 17 button:Exit assignment 17 end:assignment_17 ; function:assignment_18 show:This is assignment 18 button:Exit assignment 18 end:assignment_18 ; function:assignment_19 show:This is assignment 19 button:Exit assignment 19 end:assignment_19 ; function:assignment_20 show:This is assignment 20 button:Exit assignment 20 end:assignment_20 ; function:assignment_21 show:This is assignment 21 button:Exit assignment 21 end:assignment_21 ; function:assignment_22 show:This is assignment 22 button:Exit assignment 22 end:assignment_22 ; function:assignment_23 show:This is assignment 23 button:Exit assignment 23 end:assignment_23 ; function:assignment_24 show:This is assignment 24 button:Exit assignment 24 end:assignment_24 ; function:assignment_25 show:This is assignment 25 button:Exit assignment 25 end:assignment_25 ; function:assignment_26 show:This is assignment 26 button:Exit assignment 26 end:assignment_26 ; function:assignment_27 show:This is assignment 27 button:Exit assignment 27 end:assignment_27 ; function:assignment_28 show:This is assignment 28 button:Exit assignment 28 end:assignment_28 ; function:assignment_29 show:This is assignment 29 button:Exit assignment 29 end:assignment_29 ; function:assignment_30 show:This is assignment 30 button:Exit assignment 30 end:assignment_30 ; function:assignment_31 show:This is assignment 31 button:Exit assignment 31 end:assignment_31 ; function:assignment_32 show:This is assignment 32 button:Exit assignment 32 end:assignment_32 ; function:assignment_33 show:This is assignment 33 button:Exit assignment 33 end:assignment_33 ; function:assignment_34 show:This is assignment 34 button:Exit assignment 34 end:assignment_34 ; function:assignment_35 show:This is assignment 35 button:Exit assignment 35 end:assignment_35 ; function:assignment_36 show:This is assignment 36 button:Exit assignment 36 end:assignment_36 ; function:assignment_37 show:This is assignment 37 button:Exit assignment 37 end:assignment_37 ; function:assignment_38 show:This is assignment 38 button:Exit assignment 38 end:assignment_38 ; function:assignment_39 show:This is assignment 39 button:Exit assignment 39 end:assignment_39 ; function:assignment_40 show:This is assignment 40 button:Exit assignment 40 end:assignment_40 ; function:assignment_41 show:This is assignment 41 button:Exit assignment 41 end:assignment_41 ; function:assignment_42 show:This is assignment 42 button:Exit assignment 42 end:assignment_42 ; function:assignment_43 show:This is assignment 43 button:Exit assignment 43 end:assignment_43 ; function:assignment_44 show:This is assignment 44 button:Exit assignment 44 end:assignment_44 ; function:assignment_45 show:This is assignment 45 button:Exit assignment 45 end:assignment_45 ; function:assignment_46 show:This is assignment 46 button:Exit assignment 46 end:assignment_46 ; function:assignment_47 show:This is assignment 47 button:Exit assignment 47 end:assignment_47 ; function:assignment_48 show:This is assignment 48 button:Exit assignment 48 end:assignment_48 ; function:assignment_49 show:This is assignment 49 button:Exit assignment 49 end:assignment_49 ; function:assignment_50 show:This is assignment 50 button:Exit assignment 50 end:assignment_50 ; ; ;********************************************************Section 2 - Level Progressions**************************************************** ; ; ; ; ; ; ; ;*******************************************************Section 3 - Punishments************************************************************* function:punishment_earlyexit show:Hold on Slave something isn't right here wait:3 button: erm DTITLE? wait:2 show:Slave my records show you didn't complete the last session... wait:5 show:Be honest Slave, did you exit the task early? wait:3 choice:I'm sorry DTITLE...,It wasn't my fault! if:(LASTASK==1) show:Well at least you're honest. <br> <br> Not that it will help you... wait:5 fi: if:(LASTASK==2) show:Who's fault was it then Slave? <br> <br> Mine? wait:3 button: No DTITLE... show:Not my problem then Slave fi: show:In any case I should remind you wait:4 show:Usually if you skip a task I just take some mood off you and you learn your lesson. wait:5 show:But this is no ordinary task is it Slave? wait:2 button:No DTITLE... show:Come to think of it, didn't you ask me to train you? wait:2 button:I did DTITLE wait:2 show:And then you go breaking your commitment wait:5 show:I think you deserve further punishment slave wait:5 button: Sorry DTITLE show:Punishments are not programmed yet button: Hurry up and programme them end:punishment_earlyexit ; ; ;*******************************************************Section 4 - Induction************************************************************* function:lst_induction show:This is the starting section which will be shown to slaves on their first run on the task button:Next ; ; ; show:This section will explain the rules button:Next ; ; ; show:Slave will be asked if they wish to commit to training. button:Next ; ; ; show:Slave has commited and is now sent to task ending button:Go to ending end ; ; ;********************************************************Section 5 - Homework Checker*************************** ; function:homework_due show:Slave you have homework button:Nope you forgot to program it yet show:ok then wait:3 assign:homework_check:0 end ; ; ; ; ;********************************************************Section 6 - The Section that makes this whole thing work*************************** ;LANDING SECTION ; ;This section checks progress and decides whether to send slave to induction or to a task ; label:programme_start if:(lst_progress_logger==0) call:lst_induction fi: ; if:(lst_progress_logger > 0) ;Completion check now confirms that the task was completed the last time it was run. ;If the progress logger is set to 0 it punishes the slave before removing progress ; show: Welcome back to our training sessions Sissy! wait:1 if:(lst_complete_check==0) call:punishment_earlyexit fi: wait:2 assign:lst_complete_check:0 settemp1:lst_complete_check savetemp1:lst_complete_check ; if:(homework_check == 1) call:homework_due show:lets move on fi:1 wait:1 ; show:I hope you're excited to continue your training! button:I'm excited DTITLE ; show:Selecting task... wait:2 show:DEV TEXT Progress Check suggests task $lst_progress_logger button:lets go call:assignment_$lst_progress_logger fi: ; ; ;ENDING SECTION ; ;This Section returns the completion check to 1 advances the progress log and encourages the slave to schedule their next session ; label:general_ending ; assign:lst_complete_check:1 settemp1:lst_complete_check savetemp1:lst_complete_check ; settemp1:(lst_progress_logger+1) savetemp1:lst_progress_logger ; show:Ok Sissy <br> That's all for now. Don't forget to do any assignments this week. I will be checking next time! button:Yes DTITLE show:Good slave. wait:3 show:Remember, you are commited to this programme now. <br> <br> You can choose to schedule our next session to be completed next week or wait for it to pop up randomly. wait:1 button:Ok show:If you choose to schedule it, it will be assigned to you in a weeks time and you will be given a week from then to complete it. <br> <br> This is your only control over your training so I'd advise you to take it! wait:2 button:Ok show:So what will it be Slave? choice:I'd like to schedule it!,I can't right now ; ; ;This should be programmed last ; if:(LASTASK==1) show:Slave I'm proud of you for showing commitment to this training. <br> <br> You have a week till our next session is scheduled but be warned it could appear as a random task at any point. Therefore you should do your assignment as soon as possible! button: Yes DTITLE goto:debug_safeend fi: ; if:(LASTASK==2) show:Very well Slave <br> <br> However bare in mind you are expected to complete any assignments before this task pops up again. button: Yes DTITLE goto:debug_safeend fi: ; ;********************************************************DEBUG SECTION********************************************************************** ;DEBUG MENU label:debug_menu show:Hi Dev, <br> What would you like to do? choice:View variables,Edit variables,jump to a section,Go to the beta start screen,Done ; if:(LASTASK==1) show:Ok your current Progression log is $lst_progress_logger <br> Your completion number is $lst_complete_check <br> Your Reset Tally is $lst_reset_tally <br> Homework is $homework_check button:Go Back goto: debug_menu fi: ; if:(LASTASK==2) goto:variable_edit fi: ; if:(LASTASK==3) goto:quickjump fi: ; if:(LASTASK==4) goto:beta_opening fi: ; if:(LASTASK==5) goto:debug_safeend fi: ; ; ; ; ; ;Variable editor ; label:variable_edit show:What variable to change? choice:progress log, completion check, reset tally, homework check ; if:(LASTASK==1) asktext:Ok and what do you want to change the progress log to? assign:lst_progress_logger:LASTASK settemp1:lst_progress_logger savetemp1:lst_progress_logger show:Progress Log is now $lst_progress_logger button:Done goto:debug_menu fi: ; if:(LASTASK==2) asktext:Ok and what do you want to change the completion check to? assign:lst_complete_check:LASTASK settemp1:lst_complete_check savetemp1:lst_complete_check show:Completion check is now $lst_complete_check button:Done goto:debug_menu fi: ; if:(LASTASK==3) asktext:Ok and what do you want to change the reset tally to? assign:lst_reset_tally:LASTASK settemp1:lst_reset_tally savetemp1:lst_reset_tally show:Reset Tally is now $lst_reset_tally button:Done goto:debug_menu fi: ; if:(LASTASK==4) asktext:Ok and what do you want to change the homework check to? assign:homework_check:LASTASK settemp1:homework_check savetemp1:homework_check show:Reset Tally is now $homework_check button:Done goto:debug_menu fi: ; ;quick jump ; label:quickjump show:Jump to which section choice:Intitiation,programme launcher, programme end ; if:(LASTASK==1) goto:programme_initiation fi: ; if:(LASTASK==2) goto:unprogrammed_ending fi: ; if:(LASTASK==3) goto:unprogrammed_ending fi: ; ; ; ;Debug Endings label:unprogrammed_ending show:We havent got round to programming this bit yet. button:Ok goto:debug_menu ; label:debug_safeend ; finish ;