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
;