diff --git a/Actors/Amanda/ChastityBelt_Cuffs_BallGag.png b/Actors/Amanda/ChastityBelt_Cuffs_BallGag.png
new file mode 100644
index 0000000000..27beb93424
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_Cuffs_BallGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_Cuffs_ClothGag.png b/Actors/Amanda/ChastityBelt_Cuffs_ClothGag.png
new file mode 100644
index 0000000000..dc51117054
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_Cuffs_ClothGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_Cuffs_NoGag.png b/Actors/Amanda/ChastityBelt_Cuffs_NoGag.png
new file mode 100644
index 0000000000..415fb212b9
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_Cuffs_NoGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_Cuffs_TapeGag.png b/Actors/Amanda/ChastityBelt_Cuffs_TapeGag.png
new file mode 100644
index 0000000000..8e1a835966
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_Cuffs_TapeGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_NoBondage_BallGag.png b/Actors/Amanda/ChastityBelt_NoBondage_BallGag.png
new file mode 100644
index 0000000000..b8ab51531d
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_NoBondage_BallGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_NoBondage_ClothGag.png b/Actors/Amanda/ChastityBelt_NoBondage_ClothGag.png
new file mode 100644
index 0000000000..29e7781a06
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_NoBondage_ClothGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_NoBondage_NoGag.png b/Actors/Amanda/ChastityBelt_NoBondage_NoGag.png
new file mode 100644
index 0000000000..7e679fb21b
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_NoBondage_NoGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_NoBondage_TapeGag.png b/Actors/Amanda/ChastityBelt_NoBondage_TapeGag.png
new file mode 100644
index 0000000000..afe305b416
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_NoBondage_TapeGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_Rope_BallGag.png b/Actors/Amanda/ChastityBelt_Rope_BallGag.png
new file mode 100644
index 0000000000..fa76a9c745
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_Rope_BallGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_Rope_ClothGag.png b/Actors/Amanda/ChastityBelt_Rope_ClothGag.png
new file mode 100644
index 0000000000..48767fe55f
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_Rope_ClothGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_Rope_NoGag.png b/Actors/Amanda/ChastityBelt_Rope_NoGag.png
new file mode 100644
index 0000000000..34923f910c
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_Rope_NoGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_Rope_TapeGag.png b/Actors/Amanda/ChastityBelt_Rope_TapeGag.png
new file mode 100644
index 0000000000..0212b44a00
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_Rope_TapeGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_TwoRopes_BallGag.png b/Actors/Amanda/ChastityBelt_TwoRopes_BallGag.png
new file mode 100644
index 0000000000..116598f085
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_TwoRopes_BallGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_TwoRopes_ClothGag.png b/Actors/Amanda/ChastityBelt_TwoRopes_ClothGag.png
new file mode 100644
index 0000000000..0734f3a5e4
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_TwoRopes_ClothGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_TwoRopes_NoGag.png b/Actors/Amanda/ChastityBelt_TwoRopes_NoGag.png
new file mode 100644
index 0000000000..42c80e2a1a
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_TwoRopes_NoGag.png differ
diff --git a/Actors/Amanda/ChastityBelt_TwoRopes_TapeGag.png b/Actors/Amanda/ChastityBelt_TwoRopes_TapeGag.png
new file mode 100644
index 0000000000..00c4245670
Binary files /dev/null and b/Actors/Amanda/ChastityBelt_TwoRopes_TapeGag.png differ
diff --git a/Actors/Amanda/Clothed_NoBondage_BallGag.png b/Actors/Amanda/Clothed_NoBondage_BallGag.png
new file mode 100644
index 0000000000..7736f542e1
Binary files /dev/null and b/Actors/Amanda/Clothed_NoBondage_BallGag.png differ
diff --git a/Actors/Amanda/Clothed_NoBondage_ClothGag.png b/Actors/Amanda/Clothed_NoBondage_ClothGag.png
new file mode 100644
index 0000000000..c8b3d2617c
Binary files /dev/null and b/Actors/Amanda/Clothed_NoBondage_ClothGag.png differ
diff --git a/Actors/Amanda/Clothed_NoBondage_NoGag.png b/Actors/Amanda/Clothed_NoBondage_NoGag.png
new file mode 100644
index 0000000000..0760069520
Binary files /dev/null and b/Actors/Amanda/Clothed_NoBondage_NoGag.png differ
diff --git a/Actors/Amanda/Clothed_NoBondage_TapeGag.png b/Actors/Amanda/Clothed_NoBondage_TapeGag.png
new file mode 100644
index 0000000000..b058b15b7e
Binary files /dev/null and b/Actors/Amanda/Clothed_NoBondage_TapeGag.png differ
diff --git a/Actors/Amanda/Heroine_NoBondage_NoGag.png b/Actors/Amanda/Heroine_NoBondage_NoGag.png
new file mode 100644
index 0000000000..7341c6d501
Binary files /dev/null and b/Actors/Amanda/Heroine_NoBondage_NoGag.png differ
diff --git a/Actors/Amanda/Naked_Cuffs_BallGag.png b/Actors/Amanda/Naked_Cuffs_BallGag.png
new file mode 100644
index 0000000000..d43ecca402
Binary files /dev/null and b/Actors/Amanda/Naked_Cuffs_BallGag.png differ
diff --git a/Actors/Amanda/Naked_Cuffs_ClothGag.png b/Actors/Amanda/Naked_Cuffs_ClothGag.png
new file mode 100644
index 0000000000..f33065c3dc
Binary files /dev/null and b/Actors/Amanda/Naked_Cuffs_ClothGag.png differ
diff --git a/Actors/Amanda/Naked_Cuffs_NoGag.png b/Actors/Amanda/Naked_Cuffs_NoGag.png
new file mode 100644
index 0000000000..2daba9b273
Binary files /dev/null and b/Actors/Amanda/Naked_Cuffs_NoGag.png differ
diff --git a/Actors/Amanda/Naked_Cuffs_TapeGag.png b/Actors/Amanda/Naked_Cuffs_TapeGag.png
new file mode 100644
index 0000000000..517c9fd234
Binary files /dev/null and b/Actors/Amanda/Naked_Cuffs_TapeGag.png differ
diff --git a/Actors/Amanda/Naked_NoBondage_BallGag.png b/Actors/Amanda/Naked_NoBondage_BallGag.png
new file mode 100644
index 0000000000..8fb7defe01
Binary files /dev/null and b/Actors/Amanda/Naked_NoBondage_BallGag.png differ
diff --git a/Actors/Amanda/Naked_NoBondage_ClothGag.png b/Actors/Amanda/Naked_NoBondage_ClothGag.png
new file mode 100644
index 0000000000..d243f46446
Binary files /dev/null and b/Actors/Amanda/Naked_NoBondage_ClothGag.png differ
diff --git a/Actors/Amanda/Naked_NoBondage_NoGag.png b/Actors/Amanda/Naked_NoBondage_NoGag.png
new file mode 100644
index 0000000000..982d18d537
Binary files /dev/null and b/Actors/Amanda/Naked_NoBondage_NoGag.png differ
diff --git a/Actors/Amanda/Naked_NoBondage_TapeGag.png b/Actors/Amanda/Naked_NoBondage_TapeGag.png
new file mode 100644
index 0000000000..c2f2917c98
Binary files /dev/null and b/Actors/Amanda/Naked_NoBondage_TapeGag.png differ
diff --git a/Actors/Amanda/Underwear_Cuffs_BallGag.png b/Actors/Amanda/Underwear_Cuffs_BallGag.png
new file mode 100644
index 0000000000..137aac5cd8
Binary files /dev/null and b/Actors/Amanda/Underwear_Cuffs_BallGag.png differ
diff --git a/Actors/Amanda/Underwear_Cuffs_ClothGag.png b/Actors/Amanda/Underwear_Cuffs_ClothGag.png
new file mode 100644
index 0000000000..575fa83083
Binary files /dev/null and b/Actors/Amanda/Underwear_Cuffs_ClothGag.png differ
diff --git a/Actors/Amanda/Underwear_Cuffs_NoGag.png b/Actors/Amanda/Underwear_Cuffs_NoGag.png
new file mode 100644
index 0000000000..32a9557cb2
Binary files /dev/null and b/Actors/Amanda/Underwear_Cuffs_NoGag.png differ
diff --git a/Actors/Amanda/Underwear_Cuffs_TapeGag.png b/Actors/Amanda/Underwear_Cuffs_TapeGag.png
new file mode 100644
index 0000000000..263142f0ed
Binary files /dev/null and b/Actors/Amanda/Underwear_Cuffs_TapeGag.png differ
diff --git a/Actors/Amanda/Underwear_NoBondage_BallGag.png b/Actors/Amanda/Underwear_NoBondage_BallGag.png
new file mode 100644
index 0000000000..08827608d2
Binary files /dev/null and b/Actors/Amanda/Underwear_NoBondage_BallGag.png differ
diff --git a/Actors/Amanda/Underwear_NoBondage_ClothGag.png b/Actors/Amanda/Underwear_NoBondage_ClothGag.png
new file mode 100644
index 0000000000..3d4cb5b3c2
Binary files /dev/null and b/Actors/Amanda/Underwear_NoBondage_ClothGag.png differ
diff --git a/Actors/Amanda/Underwear_NoBondage_NoGag.png b/Actors/Amanda/Underwear_NoBondage_NoGag.png
new file mode 100644
index 0000000000..276b73b89a
Binary files /dev/null and b/Actors/Amanda/Underwear_NoBondage_NoGag.png differ
diff --git a/Actors/Amanda/Underwear_NoBondage_TapeGag.png b/Actors/Amanda/Underwear_NoBondage_TapeGag.png
new file mode 100644
index 0000000000..b12ea8787a
Binary files /dev/null and b/Actors/Amanda/Underwear_NoBondage_TapeGag.png differ
diff --git a/Actors/Amanda/Underwear_Rope_BallGag.png b/Actors/Amanda/Underwear_Rope_BallGag.png
new file mode 100644
index 0000000000..adf26c4c68
Binary files /dev/null and b/Actors/Amanda/Underwear_Rope_BallGag.png differ
diff --git a/Actors/Amanda/Underwear_Rope_ClothGag.png b/Actors/Amanda/Underwear_Rope_ClothGag.png
new file mode 100644
index 0000000000..bc9cbb4f22
Binary files /dev/null and b/Actors/Amanda/Underwear_Rope_ClothGag.png differ
diff --git a/Actors/Amanda/Underwear_Rope_NoGag.png b/Actors/Amanda/Underwear_Rope_NoGag.png
new file mode 100644
index 0000000000..7abbaaf738
Binary files /dev/null and b/Actors/Amanda/Underwear_Rope_NoGag.png differ
diff --git a/Actors/Amanda/Underwear_Rope_TapeGag.png b/Actors/Amanda/Underwear_Rope_TapeGag.png
new file mode 100644
index 0000000000..26b67ed34a
Binary files /dev/null and b/Actors/Amanda/Underwear_Rope_TapeGag.png differ
diff --git a/Actors/Amanda/Underwear_TwoRopes_BallGag.png b/Actors/Amanda/Underwear_TwoRopes_BallGag.png
new file mode 100644
index 0000000000..edb999314a
Binary files /dev/null and b/Actors/Amanda/Underwear_TwoRopes_BallGag.png differ
diff --git a/Actors/Amanda/Underwear_TwoRopes_ClothGag.png b/Actors/Amanda/Underwear_TwoRopes_ClothGag.png
new file mode 100644
index 0000000000..d00c65bdfb
Binary files /dev/null and b/Actors/Amanda/Underwear_TwoRopes_ClothGag.png differ
diff --git a/Actors/Amanda/Underwear_TwoRopes_NoGag.png b/Actors/Amanda/Underwear_TwoRopes_NoGag.png
new file mode 100644
index 0000000000..8d5c231868
Binary files /dev/null and b/Actors/Amanda/Underwear_TwoRopes_NoGag.png differ
diff --git a/Actors/Amanda/Underwear_TwoRopes_TapeGag.png b/Actors/Amanda/Underwear_TwoRopes_TapeGag.png
new file mode 100644
index 0000000000..cf2bb56b80
Binary files /dev/null and b/Actors/Amanda/Underwear_TwoRopes_TapeGag.png differ
diff --git a/Actors/Amanda/Villain_NoBondage_NoGag.png b/Actors/Amanda/Villain_NoBondage_NoGag.png
new file mode 100644
index 0000000000..9d1d299291
Binary files /dev/null and b/Actors/Amanda/Villain_NoBondage_NoGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_Cuffs_BallGag.png b/Actors/Sarah/ChastityBelt_Cuffs_BallGag.png
new file mode 100644
index 0000000000..6d3440f6b5
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_Cuffs_BallGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_Cuffs_ClothGag.png b/Actors/Sarah/ChastityBelt_Cuffs_ClothGag.png
new file mode 100644
index 0000000000..d055ba2861
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_Cuffs_ClothGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_Cuffs_NoGag.png b/Actors/Sarah/ChastityBelt_Cuffs_NoGag.png
new file mode 100644
index 0000000000..92eca48750
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_Cuffs_NoGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_Cuffs_TapeGag.png b/Actors/Sarah/ChastityBelt_Cuffs_TapeGag.png
new file mode 100644
index 0000000000..23862f4172
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_Cuffs_TapeGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_NoBondage_BallGag.png b/Actors/Sarah/ChastityBelt_NoBondage_BallGag.png
new file mode 100644
index 0000000000..45ae660589
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_NoBondage_BallGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_NoBondage_ClothGag.png b/Actors/Sarah/ChastityBelt_NoBondage_ClothGag.png
new file mode 100644
index 0000000000..919c5b8076
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_NoBondage_ClothGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_NoBondage_NoGag.png b/Actors/Sarah/ChastityBelt_NoBondage_NoGag.png
new file mode 100644
index 0000000000..82d60c6c35
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_NoBondage_NoGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_NoBondage_TapeGag.png b/Actors/Sarah/ChastityBelt_NoBondage_TapeGag.png
new file mode 100644
index 0000000000..ea8c9b35f2
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_NoBondage_TapeGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_Rope_BallGag.png b/Actors/Sarah/ChastityBelt_Rope_BallGag.png
new file mode 100644
index 0000000000..9b294c198e
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_Rope_BallGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_Rope_ClothGag.png b/Actors/Sarah/ChastityBelt_Rope_ClothGag.png
new file mode 100644
index 0000000000..9012cd1ab7
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_Rope_ClothGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_Rope_NoGag.png b/Actors/Sarah/ChastityBelt_Rope_NoGag.png
new file mode 100644
index 0000000000..bb5225e6f8
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_Rope_NoGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_Rope_TapeGag.png b/Actors/Sarah/ChastityBelt_Rope_TapeGag.png
new file mode 100644
index 0000000000..92222f4cba
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_Rope_TapeGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_TwoRopes_BallGag.png b/Actors/Sarah/ChastityBelt_TwoRopes_BallGag.png
new file mode 100644
index 0000000000..40ab75b202
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_TwoRopes_BallGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_TwoRopes_ClothGag.png b/Actors/Sarah/ChastityBelt_TwoRopes_ClothGag.png
new file mode 100644
index 0000000000..685efe6533
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_TwoRopes_ClothGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_TwoRopes_NoGag.png b/Actors/Sarah/ChastityBelt_TwoRopes_NoGag.png
new file mode 100644
index 0000000000..b822a50754
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_TwoRopes_NoGag.png differ
diff --git a/Actors/Sarah/ChastityBelt_TwoRopes_TapeGag.png b/Actors/Sarah/ChastityBelt_TwoRopes_TapeGag.png
new file mode 100644
index 0000000000..d49ad9c14e
Binary files /dev/null and b/Actors/Sarah/ChastityBelt_TwoRopes_TapeGag.png differ
diff --git a/Actors/Sarah/Clothed_NoBondage_NoGag.png b/Actors/Sarah/Clothed_NoBondage_NoGag.png
new file mode 100644
index 0000000000..f57881af8a
Binary files /dev/null and b/Actors/Sarah/Clothed_NoBondage_NoGag.png differ
diff --git a/Actors/Sarah/Damsel_NoBondage_NoGag.png b/Actors/Sarah/Damsel_NoBondage_NoGag.png
new file mode 100644
index 0000000000..df9d0f22d4
Binary files /dev/null and b/Actors/Sarah/Damsel_NoBondage_NoGag.png differ
diff --git a/Actors/Sarah/Heroine_NoBondage_NoGag.png b/Actors/Sarah/Heroine_NoBondage_NoGag.png
new file mode 100644
index 0000000000..17584b45a6
Binary files /dev/null and b/Actors/Sarah/Heroine_NoBondage_NoGag.png differ
diff --git a/Actors/Sarah/Naked_NoBondage_NoGag.png b/Actors/Sarah/Naked_NoBondage_NoGag.png
new file mode 100644
index 0000000000..9932add4b8
Binary files /dev/null and b/Actors/Sarah/Naked_NoBondage_NoGag.png differ
diff --git a/Actors/Sarah/Underwear_Cuffs_BallGag.png b/Actors/Sarah/Underwear_Cuffs_BallGag.png
new file mode 100644
index 0000000000..a01f3bd674
Binary files /dev/null and b/Actors/Sarah/Underwear_Cuffs_BallGag.png differ
diff --git a/Actors/Sarah/Underwear_Cuffs_ClothGag.png b/Actors/Sarah/Underwear_Cuffs_ClothGag.png
new file mode 100644
index 0000000000..7f00b0c4c9
Binary files /dev/null and b/Actors/Sarah/Underwear_Cuffs_ClothGag.png differ
diff --git a/Actors/Sarah/Underwear_Cuffs_NoGag.png b/Actors/Sarah/Underwear_Cuffs_NoGag.png
new file mode 100644
index 0000000000..d1d8ee042b
Binary files /dev/null and b/Actors/Sarah/Underwear_Cuffs_NoGag.png differ
diff --git a/Actors/Sarah/Underwear_Cuffs_TapeGag.png b/Actors/Sarah/Underwear_Cuffs_TapeGag.png
new file mode 100644
index 0000000000..8fc047b62e
Binary files /dev/null and b/Actors/Sarah/Underwear_Cuffs_TapeGag.png differ
diff --git a/Actors/Sarah/Underwear_NoBondage_BallGag.png b/Actors/Sarah/Underwear_NoBondage_BallGag.png
new file mode 100644
index 0000000000..0b01f39627
Binary files /dev/null and b/Actors/Sarah/Underwear_NoBondage_BallGag.png differ
diff --git a/Actors/Sarah/Underwear_NoBondage_ClothGag.png b/Actors/Sarah/Underwear_NoBondage_ClothGag.png
new file mode 100644
index 0000000000..c5cfb51096
Binary files /dev/null and b/Actors/Sarah/Underwear_NoBondage_ClothGag.png differ
diff --git a/Actors/Sarah/Underwear_NoBondage_NoGag.png b/Actors/Sarah/Underwear_NoBondage_NoGag.png
new file mode 100644
index 0000000000..0abbd4d585
Binary files /dev/null and b/Actors/Sarah/Underwear_NoBondage_NoGag.png differ
diff --git a/Actors/Sarah/Underwear_NoBondage_TapeGag.png b/Actors/Sarah/Underwear_NoBondage_TapeGag.png
new file mode 100644
index 0000000000..9e4741d0ad
Binary files /dev/null and b/Actors/Sarah/Underwear_NoBondage_TapeGag.png differ
diff --git a/Actors/Sarah/Underwear_Rope_BallGag.png b/Actors/Sarah/Underwear_Rope_BallGag.png
new file mode 100644
index 0000000000..497d2b7f04
Binary files /dev/null and b/Actors/Sarah/Underwear_Rope_BallGag.png differ
diff --git a/Actors/Sarah/Underwear_Rope_ClothGag.png b/Actors/Sarah/Underwear_Rope_ClothGag.png
new file mode 100644
index 0000000000..d0fdff197b
Binary files /dev/null and b/Actors/Sarah/Underwear_Rope_ClothGag.png differ
diff --git a/Actors/Sarah/Underwear_Rope_NoGag.png b/Actors/Sarah/Underwear_Rope_NoGag.png
new file mode 100644
index 0000000000..f425456d2f
Binary files /dev/null and b/Actors/Sarah/Underwear_Rope_NoGag.png differ
diff --git a/Actors/Sarah/Underwear_Rope_TapeGag.png b/Actors/Sarah/Underwear_Rope_TapeGag.png
new file mode 100644
index 0000000000..34108b8bc6
Binary files /dev/null and b/Actors/Sarah/Underwear_Rope_TapeGag.png differ
diff --git a/Actors/Sarah/Underwear_TwoRopes_BallGag.png b/Actors/Sarah/Underwear_TwoRopes_BallGag.png
new file mode 100644
index 0000000000..878e00ba16
Binary files /dev/null and b/Actors/Sarah/Underwear_TwoRopes_BallGag.png differ
diff --git a/Actors/Sarah/Underwear_TwoRopes_ClothGag.png b/Actors/Sarah/Underwear_TwoRopes_ClothGag.png
new file mode 100644
index 0000000000..3d29cafff9
Binary files /dev/null and b/Actors/Sarah/Underwear_TwoRopes_ClothGag.png differ
diff --git a/Actors/Sarah/Underwear_TwoRopes_NoGag.png b/Actors/Sarah/Underwear_TwoRopes_NoGag.png
new file mode 100644
index 0000000000..e0d53b8f1c
Binary files /dev/null and b/Actors/Sarah/Underwear_TwoRopes_NoGag.png differ
diff --git a/Actors/Sarah/Underwear_TwoRopes_TapeGag.png b/Actors/Sarah/Underwear_TwoRopes_TapeGag.png
new file mode 100644
index 0000000000..169602944c
Binary files /dev/null and b/Actors/Sarah/Underwear_TwoRopes_TapeGag.png differ
diff --git a/C000_Intro/ChapterSelect/Intro_CN.csv b/C000_Intro/ChapterSelect/Intro_CN.csv
new file mode 100644
index 0000000000..deb4c44d47
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Intro_CN.csv
@@ -0,0 +1,4 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,欢迎来到束缚学院。|希望各位绅士玩得开心,不断找到新惊喜。,Player.jpg
+10,0,0,,你想从哪一章开始?|如果你没有玩过这个游戏,请从第一章开始。,Player.jpg
+20,0,0,,请选择你的语言。,Player.jpg
diff --git a/C000_Intro/ChapterSelect/Intro_EN.csv b/C000_Intro/ChapterSelect/Intro_EN.csv
new file mode 100644
index 0000000000..2dc8c4dd1e
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Intro_EN.csv
@@ -0,0 +1,4 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,"Welcome to the Bondage College.|Have fun, be curious and be kinky.",Player.jpg
+10,0,0,,"Select the chapter you want to play.|If you never tried the game, start on chapter 1.",Player.jpg
+20,0,0,,Select the language you want to use.,Player.jpg
diff --git a/C000_Intro/ChapterSelect/Intro_FR.csv b/C000_Intro/ChapterSelect/Intro_FR.csv
new file mode 100644
index 0000000000..b772619820
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Intro_FR.csv
@@ -0,0 +1,4 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,"Bienvenue à l'Université du Bondage.|Amusez-vous bien, soyez curieux(se) et coquin(e).",Player.jpg
+10,0,0,,"Sélectionnez le chapitre que vous voulez.|Si c'est votre 1ère partie, commencez au chapitre 1.",Player.jpg
+20,0,0,,Sélectionnez la langue que vous voulez.,Player.jpg
\ No newline at end of file
diff --git a/C000_Intro/ChapterSelect/Player.jpg b/C000_Intro/ChapterSelect/Player.jpg
new file mode 100644
index 0000000000..aeb12140eb
Binary files /dev/null and b/C000_Intro/ChapterSelect/Player.jpg differ
diff --git a/C000_Intro/ChapterSelect/Script.js b/C000_Intro/ChapterSelect/Script.js
new file mode 100644
index 0000000000..06d434c847
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Script.js
@@ -0,0 +1,38 @@
+var C000_Intro_ChapterSelect_CurrentStage = 0;
+
+// Chapter Select Load
+function C000_Intro_ChapterSelect_Load() {
+	LeaveIcon = "";
+	LeaveScreen = "";
+	LoadInteractions();
+	StopTimer(7.6666667 * 60 * 60 * 1000);
+}
+
+// Chapter Select Run
+function C000_Intro_ChapterSelect_Run() {
+	BuildInteraction(C000_Intro_ChapterSelect_CurrentStage);
+}
+
+// Chapter Select Click
+function C000_Intro_ChapterSelect_Click() {	
+	ClickInteraction(C000_Intro_ChapterSelect_CurrentStage);
+	StopTimer(7.6666667 * 60 * 60 * 1000);
+}
+
+// When the user selects a chapter, we load the intro for it
+function C000_Intro_ChapterSelect_LoadChapter(ChapterToLoad) {
+	C000_Intro_CreatePlayer_ChapterToLoad = ChapterToLoad;
+	SetScene(CurrentChapter, "CreatePlayer");
+}
+
+// When the user selects a new language, we keep it and save it
+function C000_Intro_ChapterSelect_SetLanguage(NewLanguageTag) {
+	CurrentLanguageTag = NewLanguageTag;
+	localStorage.setItem("CurrentLanguageTag", CurrentLanguageTag);
+	LoadInteractions();
+}
+
+// When the user wants to load, we call the load screen
+function C000_Intro_ChapterSelect_LoadScreen() {
+	SetScene("C999_Common", "GameLoad");
+}
diff --git a/C000_Intro/ChapterSelect/Stage_CN.csv b/C000_Intro/ChapterSelect/Stage_CN.csv
new file mode 100644
index 0000000000..cc4bb29f18
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Stage_CN.csv
@@ -0,0 +1,16 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,重新开始,,0,0,0,"LoadChapter(""C001_BeforeClass"")"
+0,0,0,,继续学业,,0,0,0,LoadScreen()
+0,0,0,,选择章节,你想从哪一章开始?|如果你没有玩过这个游戏,请从第一章开始。,10,0,0,
+0,0,0,,选择语言,,20,0,0,
+10,0,0,,第一章|课前时间,,10,0,0,"LoadChapter(""C001_BeforeClass"")"
+10,0,0,,第二章|第一课,,10,0,0,"LoadChapter(""C002_FirstClass"")"
+10,0,0,,第三章|早上,,10,0,0,"LoadChapter(""C003_MorningDetention"")"
+10,0,0,,第四章|艺术课,,10,0,0,"LoadChapter(""C004_ArtClass"")"
+10,0,0,,第五章|体育课,,10,0,0,"LoadChapter(""C005_GymClass"")"
+10,0,0,,第六章|独立监禁,,10,0,0,"LoadChapter(""C006_Isolation"")"
+10,0,0,,第七章|午餐时间,,10,0,0,"LoadChapter(""C007_LunchBreak"")"
+10,0,0,,Drama Class,,10,0,0,"LoadChapter(""C008_DramaClass"")"
+10,0,0,,主菜单,欢迎来到束缚学院。|希望各位绅士玩得开心,不断找到新惊喜。,0,0,0,
+20,0,0,,英文,,0,0,0,"SetLanguage(""EN"")"
+20,0,0,,法文 (暂时只有第一章)|感谢gottspende!,,0,0,0,"SetLanguage(""FR"")"
\ No newline at end of file
diff --git a/C000_Intro/ChapterSelect/Stage_EN.csv b/C000_Intro/ChapterSelect/Stage_EN.csv
new file mode 100644
index 0000000000..9d3f5818c1
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Stage_EN.csv
@@ -0,0 +1,17 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,New Game,,0,0,0,"LoadChapter(""C001_BeforeClass"")"
+0,0,0,,Load Game,,0,0,0,LoadScreen()
+0,0,0,,Select Chapter,"Select the chapter you want to play.|If you never tried the game, start on chapter 1.",10,0,0,
+0,0,0,,Change Language,,20,0,0,
+10,0,0,,Chapter 1|Before Class,,10,0,0,"LoadChapter(""C001_BeforeClass"")"
+10,0,0,,Chapter 2|First Class,,10,0,0,"LoadChapter(""C002_FirstClass"")"
+10,0,0,,Chapter 3|Morning Detention,,10,0,0,"LoadChapter(""C003_MorningDetention"")"
+10,0,0,,Chapter 4|Art Class,,10,0,0,"LoadChapter(""C004_ArtClass"")"
+10,0,0,,Chapter 5|Gym Class,,10,0,0,"LoadChapter(""C005_GymClass"")"
+10,0,0,,Chapter 6|Isolation,,10,0,0,"LoadChapter(""C006_Isolation"")"
+10,0,0,,Chapter 7|Lunch Break,,10,0,0,"LoadChapter(""C007_LunchBreak"")"
+10,0,0,,Chapter 8|Drama Class,,10,0,0,"LoadChapter(""C008_DramaClass"")"
+10,0,0,,Main Menu,"Welcome to the Bondage College.|Have fun, be curious and be kinky.",0,0,0,
+20,0,0,,English,,0,0,0,"SetLanguage(""EN"")"
+20,0,0,,French (Chapter 1 to 3)|Made by gottspende,,0,0,0,"SetLanguage(""FR"")"
+20,0,0,,Chinese (Chapter 5)|Made by asdcvbgf,,0,0,0,"SetLanguage(""CN"")"
diff --git a/C000_Intro/ChapterSelect/Stage_FR.csv b/C000_Intro/ChapterSelect/Stage_FR.csv
new file mode 100644
index 0000000000..916fd2be34
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Stage_FR.csv
@@ -0,0 +1,17 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Nouvelle Partie,,0,0,0,"LoadChapter(""C001_BeforeClass"")"
+0,0,0,,Charger une partie,,0,0,0,LoadScreen()
+0,0,0,,Sélectionner un chapitre,"Sélectionnez le chapitre que vous voulez.|Si c'est votre 1ère partie, commencez au chapitre 1.",10,0,0,
+0,0,0,,Changer la langue,,20,0,0,
+10,0,0,,Chapitre 1|L'arrivée en classe,,10,0,0,"LoadChapter(""C001_BeforeClass"")"
+10,0,0,,Chapitre 2|Le premier cours,,10,0,0,"LoadChapter(""C002_FirstClass"")"
+10,0,0,,Chapitre 3|La retenue du matin,,10,0,0,"LoadChapter(""C003_MorningDetention"")"
+10,0,0,,Chapitre 4|Le cours d'Arts Plastiques,,10,0,0,"LoadChapter(""C004_ArtClass"")"
+10,0,0,,Chapitre 5|Le cours de Gym,,10,0,0,"LoadChapter(""C005_GymClass"")"
+10,0,0,,Chapitre 6|L'isolement,,10,0,0,"LoadChapter(""C006_Isolation"")"
+10,0,0,,Chapitre 7|La pause déjeuner,,10,0,0,"LoadChapter(""C007_LunchBreak"")"
+10,0,0,,Chapitre 8|Le cours de Théâtre,,10,0,0,"LoadChapter(""C008_DramaClass"")"
+10,0,0,,Menu principal,"Bienvenue à l'Université du Bondage.|Amusez-vous bien, soyez curieux(se) et coquin(e).",0,0,0,
+20,0,0,,Anglais,,0,0,0,"SetLanguage(""EN"")"
+20,0,0,,"Français (Chapitre 1 à 3)|Traduit par gottspende",,0,0,0,"SetLanguage(""FR"")"
+20,0,0,,Chinois (Chapitre 5)|Traduit par asdcvbgf,,0,0,0,"SetLanguage(""CN"")"
diff --git a/C000_Intro/ChapterSelect/Text_CN.csv b/C000_Intro/ChapterSelect/Text_CN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Text_CN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C000_Intro/ChapterSelect/Text_EN.csv b/C000_Intro/ChapterSelect/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C000_Intro/ChapterSelect/Text_FR.csv b/C000_Intro/ChapterSelect/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C000_Intro/ChapterSelect/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C000_Intro/CreatePlayer/Player.jpg b/C000_Intro/CreatePlayer/Player.jpg
new file mode 100644
index 0000000000..2e6f226c4b
Binary files /dev/null and b/C000_Intro/CreatePlayer/Player.jpg differ
diff --git a/C000_Intro/CreatePlayer/Script.js b/C000_Intro/CreatePlayer/Script.js
new file mode 100644
index 0000000000..a608ab2960
--- /dev/null
+++ b/C000_Intro/CreatePlayer/Script.js
@@ -0,0 +1,58 @@
+var C000_Intro_CreatePlayer_ChapterToLoad = "C001_BeforeClass";
+
+// Create Player Load
+function C000_Intro_CreatePlayer_Load() {
+
+	// No leave, the player must enter a name
+	LeaveIcon = "";
+	LeaveScreen = "";
+	LoadText();
+	
+	// Creates a text box to enter the player name
+	var InputName = document.createElement('input');
+	InputName.setAttribute("ID", "InputName");
+	InputName.setAttribute("name", "InputName");
+	InputName.setAttribute("type", "text");
+	InputName.setAttribute("value", "");
+	InputName.setAttribute("maxlength", "20");
+	InputName.setAttribute("style", "font-size:24px; font-family:Arial; position:fixed; padding-left:10px; left:200px; top:300px; width:500px; height:50px;");
+	InputName.addEventListener("keypress", KeyDown);
+	document.body.appendChild(InputName);
+	InputName.focus();
+	
+}
+
+// Create Player Run
+function C000_Intro_CreatePlayer_Run() {
+	
+	// Draw the player image and the text input for the name
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Player.jpg", 900, 0);
+	DrawRect(ctx, 0, 0, 900, 600, "white");
+	DrawRect(ctx, 300, 430, 300, 70, "#8c304e");
+	DrawText(ctx, GetText("EnterName"), 450, 100, "black");
+	DrawText(ctx, GetText("ValidChars"), 450, 200, "black");
+	DrawText(ctx, GetText("Validate"), 450, 465, "white");
+	
+}
+
+// Validate the name and starts the game
+function C000_Intro_CreatePlayer_Validate() {
+	var NewName = document.getElementById("InputName").value.trim();
+	var letters = /^[a-zA-Z ]+$/;
+	if (NewName.match(letters) && (NewName.length > 0) && (NewName.length <= 20)) {
+		Common_PlayerName = NewName;
+		document.getElementById("InputName").remove();
+		SetScene(C000_Intro_CreatePlayer_ChapterToLoad, "Intro");
+	}
+}
+
+// Create Player Key Down
+function C000_Intro_CreatePlayer_KeyDown() {
+	if (KeyPress == 13) C000_Intro_CreatePlayer_Validate();
+}
+
+// Create Player Click
+function C000_Intro_CreatePlayer_Click() {	
+	if ((MouseX >= 300) && (MouseX <= 600) && (MouseY >= 430) && (MouseY <= 500)) C000_Intro_CreatePlayer_Validate();
+}
\ No newline at end of file
diff --git a/C000_Intro/CreatePlayer/Text_CN.csv b/C000_Intro/CreatePlayer/Text_CN.csv
new file mode 100644
index 0000000000..f925fb59b7
--- /dev/null
+++ b/C000_Intro/CreatePlayer/Text_CN.csv
@@ -0,0 +1,4 @@
+Tag,Content
+EnterName,Enter a name for your character.
+ValidChars,You can only use letters & spaces.
+Validate,Start the game
diff --git a/C000_Intro/CreatePlayer/Text_EN.csv b/C000_Intro/CreatePlayer/Text_EN.csv
new file mode 100644
index 0000000000..f925fb59b7
--- /dev/null
+++ b/C000_Intro/CreatePlayer/Text_EN.csv
@@ -0,0 +1,4 @@
+Tag,Content
+EnterName,Enter a name for your character.
+ValidChars,You can only use letters & spaces.
+Validate,Start the game
diff --git a/C000_Intro/CreatePlayer/Text_FR.csv b/C000_Intro/CreatePlayer/Text_FR.csv
new file mode 100644
index 0000000000..dac0518c33
--- /dev/null
+++ b/C000_Intro/CreatePlayer/Text_FR.csv
@@ -0,0 +1,4 @@
+Tag,Content
+EnterName,Entrez un nom pour votre personnage.
+ValidChars,Seulement des lettres et des espaces.
+Validate,Démarrer la partie
diff --git a/C000_Intro/Intro/Background.jpg b/C000_Intro/Intro/Background.jpg
new file mode 100644
index 0000000000..fa75f62551
Binary files /dev/null and b/C000_Intro/Intro/Background.jpg differ
diff --git a/C000_Intro/Intro/Player.jpg b/C000_Intro/Intro/Player.jpg
new file mode 100644
index 0000000000..2e6f226c4b
Binary files /dev/null and b/C000_Intro/Intro/Player.jpg differ
diff --git a/C000_Intro/Intro/Script.js b/C000_Intro/Intro/Script.js
new file mode 100644
index 0000000000..e9355bf38d
--- /dev/null
+++ b/C000_Intro/Intro/Script.js
@@ -0,0 +1,49 @@
+// Intro Load
+function C000_Intro_Intro_Load() {
+
+	// Time is always 7:40 on the intro, no timer
+	StopTimer(7.66666667 * 60 * 60 * 1000);
+	
+}
+
+// Intro Run
+function C000_Intro_Intro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", -150, 0);
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Player.jpg", 900, 0);
+
+	// Draw the intro text
+	DrawText(ctx, GetText("Intro1"), 450, 100, "White");
+	DrawText(ctx, GetText("Intro2"), 450, 200, "White");
+	DrawText(ctx, GetText("Intro3"), 450, 300, "White");
+	DrawText(ctx, GetText("Intro4"), 450, 400, "White");
+	DrawText(ctx, GetText("Intro5"), 450, 500, "White");
+
+}
+
+// Intro Click, jump to chapter selection
+function C000_Intro_Intro_Click() {
+	SetScene(CurrentChapter, "ChapterSelect");
+}
+
+// Intro Key Down
+function C000_Intro_Intro_KeyDown() {
+
+	// Special "z" cheat to get lots of items, only used for developers
+	if ((KeyPress == 122) && (window.location.hostname != "ben987.x10host.com")) {
+		PlayerRemoveAllInventory();
+		PlayerAddInventory("Cuffs", 4);
+		PlayerAddInventory("CuffsKey", 1);
+		PlayerAddInventory("Rope", 4);
+		PlayerAddInventory("BallGag", 4);
+		PlayerAddInventory("TapeGag", 8);
+		PlayerAddInventory("ClothGag", 4);
+		PlayerAddInventory("Collar", 4);
+		PlayerAddInventory("Crop", 1);
+		PlayerAddInventory("VibratingEgg", 4);
+		PlayerAddInventory("ChastityBelt", 4);
+	}
+	
+}
\ No newline at end of file
diff --git a/C000_Intro/Intro/Text_CN.csv b/C000_Intro/Intro/Text_CN.csv
new file mode 100644
index 0000000000..e5122cc17c
--- /dev/null
+++ b/C000_Intro/Intro/Text_CN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,Welcome to the Bondage College (Click to continue)
+Intro2,The game isn't finished so there might be bugs or paths that lead nowhere.
+Intro3,"There's no goal, you play a girl student on her first day in a kinky college."
+Intro4,"Reload your browser if you need to restart, you can save between chapters."
+Intro5,"Be curious and click everywhere, you never know what you will find."
diff --git a/C000_Intro/Intro/Text_EN.csv b/C000_Intro/Intro/Text_EN.csv
new file mode 100644
index 0000000000..e5122cc17c
--- /dev/null
+++ b/C000_Intro/Intro/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,Welcome to the Bondage College (Click to continue)
+Intro2,The game isn't finished so there might be bugs or paths that lead nowhere.
+Intro3,"There's no goal, you play a girl student on her first day in a kinky college."
+Intro4,"Reload your browser if you need to restart, you can save between chapters."
+Intro5,"Be curious and click everywhere, you never know what you will find."
diff --git a/C000_Intro/Intro/Text_FR.csv b/C000_Intro/Intro/Text_FR.csv
new file mode 100644
index 0000000000..748c87ca15
--- /dev/null
+++ b/C000_Intro/Intro/Text_FR.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,Bienvenue à l'Université du Bondage (Cliquez pour continuer). Le jeu n'est pas
+Intro2,"terminé, il peut y avoir des bogues ou des chemins qui ne mènent nulle part."
+Intro3,"Il n'y a pas de but, vous jouez une étudiante fraîchement arrivée dans une"
+Intro4,"université coquine. Rechargez la page de votre navigateur si vous souhaitez"
+Intro5,"recommencer. Soyez curieux(se) et cliquez partout, qui sait ce que vous trouverez."
diff --git a/C001_BeforeClass/Amanda/Amanda.jpg b/C001_BeforeClass/Amanda/Amanda.jpg
new file mode 100644
index 0000000000..8981f4aa40
Binary files /dev/null and b/C001_BeforeClass/Amanda/Amanda.jpg differ
diff --git a/C001_BeforeClass/Amanda/AmandaBondageBack.jpg b/C001_BeforeClass/Amanda/AmandaBondageBack.jpg
new file mode 100644
index 0000000000..1860f7b6e3
Binary files /dev/null and b/C001_BeforeClass/Amanda/AmandaBondageBack.jpg differ
diff --git a/C001_BeforeClass/Amanda/AmandaBondageFront.jpg b/C001_BeforeClass/Amanda/AmandaBondageFront.jpg
new file mode 100644
index 0000000000..19b5908c35
Binary files /dev/null and b/C001_BeforeClass/Amanda/AmandaBondageFront.jpg differ
diff --git a/C001_BeforeClass/Amanda/AmandaBondageHug.jpg b/C001_BeforeClass/Amanda/AmandaBondageHug.jpg
new file mode 100644
index 0000000000..7a8f7f3ec1
Binary files /dev/null and b/C001_BeforeClass/Amanda/AmandaBondageHug.jpg differ
diff --git a/C001_BeforeClass/Amanda/AmandaBondageKiss.jpg b/C001_BeforeClass/Amanda/AmandaBondageKiss.jpg
new file mode 100644
index 0000000000..2c9e3bcd30
Binary files /dev/null and b/C001_BeforeClass/Amanda/AmandaBondageKiss.jpg differ
diff --git a/C001_BeforeClass/Amanda/AmandaStrip.jpg b/C001_BeforeClass/Amanda/AmandaStrip.jpg
new file mode 100644
index 0000000000..ef89b4ff7d
Binary files /dev/null and b/C001_BeforeClass/Amanda/AmandaStrip.jpg differ
diff --git a/C001_BeforeClass/Amanda/Intro_EN.csv b/C001_BeforeClass/Amanda/Intro_EN.csv
new file mode 100644
index 0000000000..2406a5d49d
--- /dev/null
+++ b/C001_BeforeClass/Amanda/Intro_EN.csv
@@ -0,0 +1,19 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Hi!  Are you new in our college?|Class starts at eight o'clock.,Amanda.jpg
+0,0,0,SidneyInBondage,Hi!  I can't believe you tied up Sidney.|She does look cute like that though.,Amanda.jpg
+10,0,0,,Hello and welcome again.,Amanda.jpg
+20,0,0,,Do you need anything?,Amanda.jpg
+30,0,0,,Anything else you want to know|or we focus on today's class?,Amanda.jpg
+40,0,0,,(She looks at the black haired|girl and seems scared.),Amanda.jpg
+50,0,0,,"Let's talk after class, ok?",Amanda.jpg
+50,2,0,,I would love to talk but I need to get my|notes ready.  Let's meet after class.,Amanda.jpg
+50,-2,0,,I really don't have time to talk.,Amanda.jpg
+50,0,0,SidneyInBondage,(She giggles.)  Sidney is so cute like that.|But maybe you should untie her before class.,Amanda.jpg
+200,0,0,,Why do you have rope here?,Amanda.jpg
+220,0,0,,Please be careful with my clothes.|(She seems very humiliated.),AmandaStrip.jpg
+230,0,0,,Oh god!  The class will start very soon.|(She tugs futilely on the ropes to get out.),AmandaBondageFront.jpg
+240,0,0,,,AmandaBondageBack.jpg
+250,0,0,,,AmandaBondageHug.jpg
+260,0,0,,,AmandaBondageKiss.jpg
+300,0,0,,Thanks for letting me go. (She smiles.),Amanda.jpg
+300,0,0,SidneyInBondage,Thanks for letting me go and Sidney's cute like that.|But maybe you should untie her before class.,Amanda.jpg
diff --git a/C001_BeforeClass/Amanda/Intro_FR.csv b/C001_BeforeClass/Amanda/Intro_FR.csv
new file mode 100644
index 0000000000..b6c1113bde
--- /dev/null
+++ b/C001_BeforeClass/Amanda/Intro_FR.csv
@@ -0,0 +1,19 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Salut ! Tu es nouvelle ?|Le cours débute à huit heure.,Amanda.jpg
+0,0,0,SidneyInBondage,"Salut ! Incroyable ! Tu as ligoté Sidney.|Elle à l'air mignonne comme ça.",Amanda.jpg
+10,0,0,,Salut et bienvenue à nouveau.,Amanda.jpg
+20,0,0,,Tu as besoin de quelque chose ?,Amanda.jpg
+30,0,0,,Il y a autre chose que tu veux savoir ou|on peut se concentrer sur le cours ?,Amanda.jpg
+40,0,0,,(Elle jette un coup d'oeil à la fille aux cheveux|noirs et semble effrayée.),Amanda.jpg
+50,0,0,,"On parlera après, d'accord ?",Amanda.jpg
+50,2,0,,J'adorerai discuter mais je dois revoir mes fiches.| On se retrouve après la classe.,Amanda.jpg
+50,-2,0,,J'ai vraiment pas le temps de discuter.,Amanda.jpg
+50,0,0,SidneyInBondage,(Elle ricane.) Sidney est tellement mignonne comme ça.|Mais tu devrais la détacher avant le début du cours.,Amanda.jpg
+200,0,0,,"Pourquoi as-tu ramené des cordes ?",Amanda.jpg
+220,0,0,,Fait attention à mes vêtements.|(Elle semble très humiliée.),AmandaStrip.jpg
+230,0,0,,Mon dieu ! le cours va commencer dans peu de temps.|(Elle se remue inutilement pour se libérer.),AmandaBondageFront.jpg
+240,0,0,,,AmandaBondageBack.jpg
+250,0,0,,,AmandaBondageHug.jpg
+260,0,0,,,AmandaBondageKiss.jpg
+300,0,0,,Merci de m'avoir libérée. (Elle sourit.),Amanda.jpg
+300,0,0,SidneyInBondage,"Merci de m'avoir libérée, Sidney est mignonne comme| ça. Mais tu devrais la détacher avant le début du cours.",Amanda.jpg
diff --git a/C001_BeforeClass/Amanda/Script.js b/C001_BeforeClass/Amanda/Script.js
new file mode 100644
index 0000000000..bb8c73d414
--- /dev/null
+++ b/C001_BeforeClass/Amanda/Script.js
@@ -0,0 +1,116 @@
+var C001_BeforeClass_Amanda_CurrentStage = 0;
+var C001_BeforeClass_Amanda_BackupStage = 0;
+var C001_BeforeClass_Amanda_Kiss_Done = false;
+var C001_BeforeClass_Amanda_Spank_Done = false;
+var C001_BeforeClass_Amanda_Strip_Done = false;
+var C001_BeforeClass_Amanda_ForceKiss_Done = false;
+var C001_BeforeClass_Amanda_Tickle_Done = false;
+var C001_BeforeClass_Amanda_SidneyInBondage = false;
+var C001_BeforeClass_Amanda_BondageNotConfronted = true;
+var C001_BeforeClass_Amanda_StopRopeSubAllowed = true;
+
+// Chapter 1 - Amanda Load
+function C001_BeforeClass_Amanda_Load() {
+
+	// Load the scene parameters
+	ActorLoad("Amanda", "Classroom");
+	LoadInteractions();
+	C001_BeforeClass_Amanda_SidneyInBondage = ActorSpecificHasInventory("Sidney", "Rope");
+
+	// She dresses back automatically if not tied up, she comes back to face if she's tied up
+	if (C001_BeforeClass_Amanda_CurrentStage == 220) C001_BeforeClass_Amanda_CurrentStage = 200;
+	if ((C001_BeforeClass_Amanda_CurrentStage >= 240) && (C001_BeforeClass_Amanda_CurrentStage <= 269)) C001_BeforeClass_Amanda_CurrentStage = 230;
+	
+}
+
+// Chapter 1 - Amanda Run
+function C001_BeforeClass_Amanda_Run() {
+	BuildInteraction(C001_BeforeClass_Amanda_CurrentStage);
+}
+
+// Chapter 1 - Amanda Click
+function C001_BeforeClass_Amanda_Click() {	
+
+	// Regular interactions
+	ClickInteraction(C001_BeforeClass_Amanda_CurrentStage);
+	
+	// Special code for when the user wants to use the rope
+	if ((C001_BeforeClass_Amanda_CurrentStage < 200) && (GetClickedInventory() == "Rope")) {
+		C001_BeforeClass_Amanda_BackupStage = C001_BeforeClass_Amanda_CurrentStage;
+		C001_BeforeClass_Amanda_CurrentStage = 200;
+		OverridenIntroText = GetText("RopeInquiry");
+	}
+	
+}
+
+// Chapter 1 - Amanda Tie
+function C001_BeforeClass_Amanda_Tie() {
+	ActorAddInventory("Rope");
+	PlayerRemoveInventory("Rope", 1);
+}
+
+// Chapter 1 - Amanda Untie
+function C001_BeforeClass_Amanda_Untie() {
+	ActorRemoveInventory("Rope");
+	PlayerAddInventory("Rope", 1);
+}
+
+// Chapter 1 - Amanda Stop Rope
+function C001_BeforeClass_Amanda_StopRope() {
+	C001_BeforeClass_Amanda_CurrentStage = C001_BeforeClass_Amanda_BackupStage;
+}
+
+// Chapter 1 - Amanda Stop in a submissive fashion
+function C001_BeforeClass_Amanda_StopRopeSub() {
+	C001_BeforeClass_Amanda_StopRopeSubAllowed = false;
+	C001_BeforeClass_Amanda_CurrentStage = C001_BeforeClass_Amanda_BackupStage;
+}
+
+// Chapter 1 - Amanda Confront Bondage
+function C001_BeforeClass_Amanda_ConfrontBondage() {
+	C001_BeforeClass_Amanda_BondageNotConfronted = false;
+}
+
+// Chapter 1 - Amanda Kiss
+function C001_BeforeClass_Amanda_Kiss() {
+	if (C001_BeforeClass_Amanda_Kiss_Done == false) {
+		C001_BeforeClass_Amanda_Kiss_Done = true;
+		ActorChangeAttitude(1, 0);
+		OverridenIntroText = GetText("Kiss");
+	}
+}
+
+// Chapter 1 - Amanda Force Kiss
+function C001_BeforeClass_Amanda_ForceKiss() {
+	if (C001_BeforeClass_Amanda_ForceKiss_Done == false) {
+		C001_BeforeClass_Amanda_ForceKiss_Done = true;
+		ActorChangeAttitude(-1, 0);
+		OverridenIntroText = GetText("KissSidney");
+	}
+}
+
+// Chapter 1 - Amanda Spank
+function C001_BeforeClass_Amanda_Spank() {
+	if (C001_BeforeClass_Amanda_Spank_Done == false) {
+		C001_BeforeClass_Amanda_Spank_Done = true;
+		ActorChangeAttitude(-1, 1);
+		OverridenIntroText = GetText("Spank");
+	}
+}
+
+// Chapter 1 - Amanda Strip
+function C001_BeforeClass_Amanda_Strip() {
+	if (C001_BeforeClass_Amanda_Strip_Done == false) {
+		C001_BeforeClass_Amanda_Strip_Done = true;
+		ActorChangeAttitude(-1, 0);
+		OverridenIntroText = GetText("Strip");
+	}
+}
+
+// Chapter 1 - Amanda Tickle
+function C001_BeforeClass_Amanda_Tickle() {
+	if (C001_BeforeClass_Amanda_Tickle_Done == false) {
+		C001_BeforeClass_Amanda_Tickle_Done = true;
+		ActorChangeAttitude(1, 0);
+	}
+}
\ No newline at end of file
diff --git a/C001_BeforeClass/Amanda/Stage_EN.csv b/C001_BeforeClass/Amanda/Stage_EN.csv
new file mode 100644
index 0000000000..dc8b000f5f
--- /dev/null
+++ b/C001_BeforeClass/Amanda/Stage_EN.csv
@@ -0,0 +1,51 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,"Yes, it's my first day here.",Welcome then!  I'm Amanda.,10,0,0,
+0,0,0,,"Yes, a first day in a new|school is always scary.","It will be fine.  I'm Amanda, welcome.",10,0,-1,
+0,0,0,,You look like|the teacher's pet.,"Errrr... Well...  I...|I'm Amanda, welcome.",10,-1,1,
+0,0,0,,Why do you care?,"Oh!  No reason.  I'm Amanda, welcome.",10,-1,0,
+0,0,0,SidneyInBondage,I bet you would also|look adorable all tied up.,"(She blushes red.)|You think?  I'm Amanda, nice to meet you.",10,0,1,
+0,0,0,SidneyInBondage,You better behave or you|will end up like her.,"Yes, yes, of course.  I'm Amanda.|(She bows her head and checks the floor.)",10,-1,2,
+10,0,0,,Tell me about this college.,It was founded a century ago by nuns.|Now it's a renown all girl college.,20,0,0,
+10,0,0,,What class are we|taking this morning?,Math!  My favorite!  Wait until you meet our teacher.,20,0,0,
+10,0,0,,I heard really good things|about this academy.,"You heard right, this place is wonderful.",20,1,0,
+10,0,0,,I hope it will be a quick|class so we can run out.,I'm not sure this is the right attitude to learn.,20,-1,0,
+20,0,0,,I like your hair.,"(She giggles and blushes.)|You're nice, now get ready, the class will start soon.",30,1,0,
+20,0,0,,You sound fascinated by|this stupid school.,Mmh (She turns around and stops talking),50,-1,0,
+20,0,0,,"Don't plan anything for|lunch, I'll buy you diner.",Really?  (giggles)|Let's focus on the class for now.,30,0,1,
+20,0,0,,Could you please show|me around after class?,Maybe I will.|But get ready for class first.,30,0,-1,
+30,0,0,,"Yes, let's focus|on today's class.",Well said.,50,1,0,
+30,0,0,,"Class, class, class.|You're so boring.",Oh!  Sorry.  (She turns around and stops talking),50,-1,0,
+30,1,0,,"Careful, the black haired|girl is starring at you.","Oh lord!  Thanks for the warning.|It's the first time I see her bag, I wonder what's in it.",40,1,0,
+40,1,0,,"Don't worry, if she cause|trouble, I will protect you.",You would?  This is great!|But let's focus on the class for now.,50,0,1,
+40,1,0,,"Maybe you should tell|the teacher, she's scary.",Alert the teacher... I don't know.|Let's focus on today's class for now.,50,0,-1,
+40,1,0,SidneyInBondage,"There were ropes in the|bag.  She's ""wearing"" them.",Hahaha!  I can see that.|But should you release her before the class begins?,50,1,0,
+200,0,0,BondageNotConfronted,Would you like to|be tied up now?,What?  No!  The class is starting in a few minutes!|Please put back these ropes.,200,-1,0,ConfrontBondage()
+200,0,0,BondageNotConfronted,"Admit it girl, you would|love to be tied up.",Oh my god!  (She blushes red.)|No... Y... No... the class is starting really soon.,200,-1,1,ConfrontBondage()
+200,0,0,StopRopeSubAllowed,"I love bondage,|could you tie me up?","Oh!  You're a submissive, maybe after school.|(She winks.) What were we talking about newcomer?",200,0,-2,StopRopeSub()
+200,0,0,,We can use them later.|(Hide the ropes.),Later? (She looks at you curiously.)|So what were we talking about newcomer?,200,0,0,StopRope()
+200,0,2,,(Grab her and remove|her uniform.) (1 minute),Oh lord no!  Not again!|(She tries to defend herself but fails.),220,0,0,Strip()
+200,0,4,,"Subbie girl, remove your|uniform now. (1 minute)",N... Errr... Yes Miss...|(She submissively removes her top and skirt.),220,0,0,
+220,0,0,,(Tie her.)|(1 minute),(You wrap the ropes around her body and tie her|arms behind her back.  She moans quietly.),230,0,0,Tie()
+220,0,0,,Put back your clothes.|(1 minute),Oh lord yes!  This is embarrassing.,200,0,0,
+230,0,0,,(Turn her.),What?  Oh lord!  What are you doing?|(You force her to turn around.),240,0,0,
+230,0,0,,(Untie her.)|(1 minute),(You slowly untie her) Thank you so much!|Is it alright if I put my clothes back on?,220,0,0,Untie()
+230,0,0,,(Tickle her.)|(1 minute),(She blushes and can't stop laughing.)|Hey!  Haaahahahaha!  You're funny.,230,0,0,Tickle()
+230,1,0,,(Kiss her.)|(1 minute),Another kiss?|(She blushes red and smiles at you.),230,0,0,Kiss()
+230,0,0,SidneyInBondage,(Make her hug Sidney.)|(1 minute),(Both girls are forced to hug and rub each other.)|Oh my!  This is not appropriated.,250,0,0,
+230,0,0,,You look like an|angel in bondage.,(She giggles and smiles at you.),230,0,0,
+230,0,0,,"If I untie you, can I tie|you up later? (1 minute)",Ooooh!  Yes!  Of course!|(You untie her and shake her hand.),300,1,1,Untie()
+230,0,0,,"If I untie you, will you|tie me later? (1 minute)","Hehehe, alright.|(You untie her and shake her hand.)",300,1,-2,Untie()
+240,0,0,,(Turn her.),(You force her to turn around.)|Oooohh!  I actually prefer seeing you.,230,0,0,
+240,0,0,,(Untie her.)|(1 minute),(You slowly untie her) Thank you so much!|Is it alright if I put my clothes back on?,220,0,0,Untie()
+240,0,0,,(Tickle her.)|(1 minute),(She blushes and can't stop laughing.)|Hey!  Haaahahahaha!  You're funny.,240,0,0,Tickle()
+240,0,0,,(Spank her.)|(1 minute),(You spank her again but she seems to take it better.)|Stop that!,240,0,0,Spank()
+240,0,0,,You have a nice|butt you know?,Really?  (She blushes red.),240,0,0,
+240,0,0,,"If I untie you, can I tie|you up later? (1 minute)",Ooooh!  Yes!  Of course!|(You untie her and shake her hand.),300,1,1,Untie()
+240,0,0,,"If I untie you, will you|tie me later? (1 minute)","Hehehe, alright.|(You untie her and shake her hand.)",300,1,-2,Untie()
+250,0,0,,(Separate them.),Thank you.  That was embarrassing.,230,0,0,
+250,0,0,,(Force them to kiss.)|(1 minute),Another kiss?  This is gross!|(You push them together for another kiss.),260,0,0,ForceKiss()
+250,0,0,,You two make a nice|bondage couple.,(They both stare at you.),250,0,0,
+260,0,0,,(Separate them.),Thank you.  That was embarrassing.,230,0,0,
+260,0,0,,(Stop the kisses.),"No offense Sidney,|but you're not my type.",250,0,0,
+260,0,0,,Love is in the air!,Hey!  That's not funny.|(She pulls her tongue at you.),260,0,0,
+260,2,0,,Can I also get a kiss?,"Hehehe, ok.|(She turns around to kiss you.)",260,0,0,
diff --git a/C001_BeforeClass/Amanda/Stage_FR.csv b/C001_BeforeClass/Amanda/Stage_FR.csv
new file mode 100644
index 0000000000..c3e53709f7
--- /dev/null
+++ b/C001_BeforeClass/Amanda/Stage_FR.csv
@@ -0,0 +1,51 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,"Oui, c'est mon|premier jour ici.",Bienvenue ! Je m'appelle Amanda.,10,0,0,
+0,0,0,,"Oui, le premier jour|est toujours effrayant.","Tout se passera bien.|Je m'appelle Amanda, bienvenue.",10,0,-1,
+0,0,0,,Tu as l'air d'être|la chouchoute.,"Heu... Ben... Je...|Je m'appelle Amanda, bienvenue.",10,-1,1,
+0,0,0,,Pourquoi tu|t'en préoccupes ?,"Oh ! Sans raison. Je m'appelle Amanda, bienvenue.",10,-1,0,
+0,0,0,SidneyInBondage,Je parie que tu serais|aussi adorable toute ligoté.,"(Son visage s'empourpre.) Tu penses ?| Je m'appelle Amanda, ravie de te rencontrer.",10,0,1,
+0,0,0,SidneyInBondage,Tu ferais mieux de|bien te tenir ou sinon.,"Oui, oui, bien sûr. Je m'appelle Amanda.|(Elle baisse la tête et fixe le sol.)",10,-1,2,
+10,0,0,,Parle-moi de|cette université.,Elle a été fondé il y a un siècle par des religieuses.|Maintenant cette une université pour filles renommée.,20,0,0,
+10,0,0,,Quel cours on|a ce matin ?,Math ! Mon cours préférée !|Attends de rencontrer notre professeur.,20,0,0,
+10,0,0,,J'ai eu de bons retours|sur cette université.,"Ça ne m'étonne pas, cet endroit est merveilleux.",20,1,0,
+10,0,0,,J'espère que le cours ne| sera pas trop long.,Je ne suis pas sûre que ce soit|la bonne attitude pour s'instruire.,20,-1,0,
+20,0,0,,J'aime tes cheveux.,"(Elle rit et rougit.) Tu es sympa,|prépare-toi, le cours va bientôt commencer.",30,1,0,
+20,0,0,,Tu as l'air fasciné par|cette école pourri.,Hmm. (Elle se retourne et cesse de parler.),50,-1,0,
+20,0,0,,"Ne planifie rien pour|le déjeuner, Je t'invite.",Vraiment ? (Rires.)| Préparons-nous pour le cours dans l'immédiat.,30,0,1,
+20,0,0,,"Dit, tu pourrais me|montrer les alentours ?","Peut-être, je verrais.|Pour l'heure, soit prête pour le cours.",30,0,-1,
+30,0,0,,"Oui, préparons-nous|pour la leçon du jour.",Bien dit.,50,1,0,
+30,0,0,,"Le cours, le cours, Pfff.|Tu es si ennuyeuse.",Oh ! Désolée. (Elle se retourne et cesse de parler.),50,-1,0,
+30,1,0,,"Fait attention, la fille aux|cheveux noirs te fixe.","Merci pour l'avertissement ! C'est la première fois|que je vois son sac, Je me demande ce qu'il contient.",40,1,0,
+40,1,0,,"T'inquiète, si elle pose|problème, Je te protègerai.",Tu le feras ? Formidable !| Mais restons focalisé sur la leçon pour le moment.,50,0,1,
+40,1,0,,"Tu devrais en parler à|la prof, elle est flippante.",Alerter la professeur... Je ne sais pas.|Soyons attentive pour la leçon du jour.,50,0,-1,
+40,1,0,SidneyInBondage,"Le sac contenait des|cordes. Elle les ""porte"".",Ha ha ha ! Je vois ça.|Mais tu devrais la libérer avant le début du cours.,50,1,0,
+200,0,0,BondageNotConfronted,Aimerais-tu être|ligotée sur-le-champ ?,"Quoi ? Non ! Le cours va débuter dans| quelques minutes ! S'il te plaît, range les.",200,-1,0,ConfrontBondage()
+200,0,0,BondageNotConfronted,"Admets-le petite, |tu adorerais être ligotée.","Oh, je... (Elle devient cramoisie.)|No... Ou... No... le cours va commencer.",200,-1,1,ConfrontBondage()
+200,0,0,StopRopeSubAllowed,"J'adore le bondage,|Pourrais-tu me ligoter ?","Je vois ! Tu es le genre ""soumise"", peut-être après|l'école. (Elle te fait un clin d'oeil.) De quoi on parlait ?",200,0,-2,StopRopeSub()
+200,0,0,,Pour les utiliser plus tard.|(Tu caches les cordes.),Plus tard ? (Elle te regarde avec curiosité.)|De quoi on parlait ?,200,0,0,StopRope()
+200,0,2,,(Tu la saisis et enlèves|son uniforme.) (1 minute),Oh non ! Pas encore !|(Elle essaye de se défendre mais elle échoue.),220,0,0,Strip()
+200,0,4,,"""Soumise"", enlève ton|uniforme. (1 minute)","N... Je... Oui, madame...|(Elle enlève docilement son haut et sa jupe.)",220,0,0,
+220,0,0,,(Tu la ligotes.)|(1 minute),(Tu enveloppes son corps et lui attaches|les bras derrière son dos. Elle gémit doucement.),230,0,0,Tie()
+220,0,0,,Remets tes vêtements.|(1 minute),Quel soulagement ! C'était embarrassant.,200,0,0,
+230,0,0,,(Tu la retournes.), Quoi ? Mon dieu ! Qu'est-ce que tu fais ?|(Tu la forces à se retourner.),240,0,0,
+230,0,0,,(Tu la détaches.)|(1 minute),"(Tu la détaches doucement) Merci beaucoup !|C'est bon, je peux me rhabiller ?",220,0,0,Untie()
+230,0,0,,(Tu la chatouilles.)|(1 minute),(Elle rougit et ne peut s'arrêter de rire.)|Hé ! Ha ha ha ha ha ! Tu es amusante.,230,0,0,Tickle()
+230,1,0,,(Tu l'embrasses.)|(1 minute),Un autre baiser ?|(Elle devient cramoisie et te sourit.),230,0,0,Kiss()
+230,0,0,SidneyInBondage,(Tu la fais câliner |Sidney.) (1 min),(Les deux filles sont forcées de se câliner et de|se frotter.) Oh non ! Ce n'est pas convenable.,250,0,0,
+230,0,0,,Tu as l'air d'un ange|avec ce bondage.,(Elle rit et te sourit.),230,0,0,
+230,0,0,,"Si je te libère, je pourrais|te rattacher ? (1 min)",Oh oui ! Bien sûr !|(Tu la détaches et lui serre la main.),300,1,1,Untie()
+230,0,0,,"Si je te libère, plus tard,|tu me ligoteras ? (1 min)","(Rires.) C'est d'accord.|(Tu la détaches et lui serre la main.)",300,1,-2,Untie()
+240,0,0,,(Tu la retournes.),(Tu la forces à se retourner.)|"Hum-hum ! En fait, je préfère te voir.",230,0,0,
+240,0,0,,(Tu la détaches.)|(1 minute),"(Tu la détaches doucement) Merci beaucoup !|C'est bon, je peux me rhabiller ?",220,0,0,Untie()
+240,0,0,,(Tu la chatouilles.)|(1 minute),(Elle rougit et ne peut s'arrêter de rire.)|Hé ! Ha ha ha ha ha ! Tu es amusante.,240,0,0,Tickle()
+240,0,0,,(Tu lui mets une fessée.)|(1 minute),(Tu lui en mets une autre mais elle passe mieux.)|Arrête !,240,0,0,Spank()
+240,0,0,,Tu sais que tu as|de jolies fesses ?, Vraiment ? (Son visage s'empourpre.),240,0,0,
+240,0,0,,"Si je te libère, je pourrais|te rattacher ? (1 min)",Oh oui ! Bien sûr !|(Tu la détaches et lui serre la main.),300,1,1,Untie()
+240,0,0,,"Si je te libère, plus tard,|tu me ligoteras ? (1 min)","(Rires.) C'est d'accord.|(Tu la détaches et lui serre la main.)",300,1,-2,Untie()
+250,0,0,,(Tu les sépares.),Merci. C'était vraiment embarrassant.,230,0,0,
+250,0,0,,(Tu les forces à|s'embrasser.) (1 min),Un autre baiser ? C'est dégueu !|(Tu les rapproches pour un autre baiser.),260,0,0,ForceKiss()
+250,0,0,,Vous faites un joli|couple de bondage.,"(Elles te fixent, leurs regards en dit long.)",250,0,0,
+260,0,0,,(Tu les sépares.),Merci. C'était vraiment embarrassant.,230,0,0,
+260,0,0,,(Tu stoppes les baisers.),"Le prends pas mal Sidney,|mais tu n'es pas mon genre.",250,0,0,
+260,0,0,,Il y a de l'amour dans l'air !,Hé ! Ce n'est pas drôle.|(Elle te tire la langue.),260,0,0,
+260,2,0,,Je peux aussi|avoir un baiser ?,"(Rires.) Ok. (Elle se tourne et t'embrasse.)",260,0,0,
diff --git a/C001_BeforeClass/Amanda/Text_EN.csv b/C001_BeforeClass/Amanda/Text_EN.csv
new file mode 100644
index 0000000000..b100af912e
--- /dev/null
+++ b/C001_BeforeClass/Amanda/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+RopeInquiry,Why do you carry ropes in a classroom?|(You need +2 submission to dominate Amanda.)
+Kiss,(You kiss her on the lips and she doesn't resist.)|Ooooh!  You're a good kisser. (She blushes.)
+KissSidney,"(You force them to kiss, Amanda seems disguted.)|Eew, piggy breath!  Oops, sorry I said that."
+Spank,(You spank her in front of the giggling students.)|Ouch!  Oh god!  This is so humiliating.
+Strip,Hey!  Don't do that!  Let me go!|(She tries to defend herself but fails.)
diff --git a/C001_BeforeClass/Amanda/Text_FR.csv b/C001_BeforeClass/Amanda/Text_FR.csv
new file mode 100644
index 0000000000..b3192aac45
--- /dev/null
+++ b/C001_BeforeClass/Amanda/Text_FR.csv
@@ -0,0 +1,6 @@
+Tag,Content
+RopeInquiry,"Pourquoi as-tu ramené des cordes en classe ? (Tu as|besoin de +2 en soumission pour dominer Amanda.)"
+Kiss,(Tu l'embrasses sur les lèvres et elle ne résiste pas.)|Waouh ! Tu embrasses bien. (Elle rougit.)
+KissSidney,"(Tu les forces à s'embrasser, Amanda est dégoutée.)|Berk, Peggy de l'air ! Oups, Désolée d'avoir dit ça."
+Spank,"(Tu lui flanques une fessée, les autres étudiantes rient)|Ouch ! Oh non ! C'est tellement humiliant."
+Strip,"Hé ! Ne fait pas ça ! Laisse-moi !|(Elle essaye de se défendre mais elle échoue.)"
diff --git a/C001_BeforeClass/Bag/BagClosed.jpg b/C001_BeforeClass/Bag/BagClosed.jpg
new file mode 100644
index 0000000000..fadd1cf6bb
Binary files /dev/null and b/C001_BeforeClass/Bag/BagClosed.jpg differ
diff --git a/C001_BeforeClass/Bag/BagOpen.jpg b/C001_BeforeClass/Bag/BagOpen.jpg
new file mode 100644
index 0000000000..8b86a55158
Binary files /dev/null and b/C001_BeforeClass/Bag/BagOpen.jpg differ
diff --git a/C001_BeforeClass/Bag/Intro_EN.csv b/C001_BeforeClass/Bag/Intro_EN.csv
new file mode 100644
index 0000000000..eec101a9c7
--- /dev/null
+++ b/C001_BeforeClass/Bag/Intro_EN.csv
@@ -0,0 +1,5 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,The school bag hangs unattended on the girl's back.|The straps are in the sleeves.,BagClosed.jpg
+10,0,0,,The school bag straps are hanging loose.|You can see some ropes in the bag.,BagOpen.jpg
+20,0,0,,The school bag straps are hanging loose.|There's nothing interesting left in the bag.,BagOpen.jpg
+30,0,0,,The bag is closed and well-guarded.|You'll need to speak with the bag owner.,BagClosed.jpg
diff --git a/C001_BeforeClass/Bag/Intro_FR.csv b/C001_BeforeClass/Bag/Intro_FR.csv
new file mode 100644
index 0000000000..2db0a7cacc
--- /dev/null
+++ b/C001_BeforeClass/Bag/Intro_FR.csv
@@ -0,0 +1,5 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Le sac au dos de la fille est laissé sans surveillance. |Les bretelles sont rentrées dans leurs pochettes.,BagClosed.jpg
+10,0,0,,Les bretelles du sac sont détachées.|Tu vois une paire de cordes.,BagOpen.jpg
+20,0,0,,Les bretelles du sac sont détachées.|Il n'y a plus rien d'intéressant.,BagOpen.jpg
+30,0,0,,Le sac est fermé et bien gardé. |Tu devras parler avec Sydney.,BagClosed.jpg
diff --git a/C001_BeforeClass/Bag/Script.js b/C001_BeforeClass/Bag/Script.js
new file mode 100644
index 0000000000..8360f11cfc
--- /dev/null
+++ b/C001_BeforeClass/Bag/Script.js
@@ -0,0 +1,34 @@
+var C001_BeforeClass_Bag_CurrentStage = 0;
+
+// Chapter 1 - Bag Load
+function C001_BeforeClass_Bag_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "Classroom";
+	LoadInteractions();
+}
+
+// Chapter 1 - Bag Run
+function C001_BeforeClass_Bag_Run() {
+	BuildInteraction(C001_BeforeClass_Bag_CurrentStage);
+}
+
+// Chapter 1 - Bag Click
+function C001_BeforeClass_Bag_Click() {	
+	ClickInteraction(C001_BeforeClass_Bag_CurrentStage);
+}
+
+// Add rope to the inventory
+function C001_BeforeClass_Bag_GetRope() {
+	PlayerAddInventory("Rope", 2);
+}
+
+// If the player annoys Sidney by pulling on her back
+function C001_BeforeClass_Bag_SidneyAnnoy() {
+	SetScene(CurrentChapter, "Sidney");
+}
+
+// If the player ask Sidney about the ropes
+function C001_BeforeClass_Bag_SidneyRope() {
+	C001_BeforeClass_Sidney_CurrentStage = 100;
+	SetScene(CurrentChapter, "Sidney");
+}
diff --git a/C001_BeforeClass/Bag/Stage_EN.csv b/C001_BeforeClass/Bag/Stage_EN.csv
new file mode 100644
index 0000000000..04b98f6706
--- /dev/null
+++ b/C001_BeforeClass/Bag/Stage_EN.csv
@@ -0,0 +1,8 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Open the straps.),"You open the straps, they are hanging loose.|You can see some ropes in the bag.",10,0,0,
+0,0,0,,(Pull on the bag.),Stop pulling you idiot!  What are you doing?|(She pulls the bag away from you.),30,0,0,SidneyAnnoy()
+10,0,0,,(Close the straps.),You carefully slide the straps back in the sleeves.,0,0,0,
+10,0,0,,(Steal the ropes.),You carefully steal the ropes from the bag.,20,0,0,GetRope()
+10,0,0,,(Ask about the ropes.),,30,0,0,SidneyRope()
+10,0,0,,(Pull on the bag.),Stop pulling you idiot!  What are you doing?|(She pulls the bag away from you.),30,0,0,SidneyAnnoy()
+20,0,0,,(Pull on the bag.),Stop pulling you idiot!  What are you doing?|(She pulls the bag away from you.),30,0,0,SidneyAnnoy()
diff --git a/C001_BeforeClass/Bag/Stage_FR.csv b/C001_BeforeClass/Bag/Stage_FR.csv
new file mode 100644
index 0000000000..a151f7ef46
--- /dev/null
+++ b/C001_BeforeClass/Bag/Stage_FR.csv
@@ -0,0 +1,8 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu ouvres le sac.),"Les bretelles du sac se détachent.|Tu vois des cordes.",10,0,0,
+0,0,0,,(Tu tires le sac.),Arrête ça abrutie ! Qu'est ce qui te prends ?|(Elle met son sac hors de ta portée.),30,0,0,SidneyAnnoy()
+10,0,0,,(Tu refermes le sac.),Tu remets tout doucement|les bretelles dans leurs pochettes.,0,0,0,
+10,0,0,,(Tu voles les cordes.),Tu enlèves avec précaution les cordes du sac.,20,0,0,GetRope()
+10,0,0,,(Tu lui demandes.),,30,0,0,SidneyRope()
+10,0,0,,(Tu tires le sac.),Arrête ça abrutie ! Qu'est ce qui te prends ?|(elle met son sac hors de ta portée.),30,0,0,SidneyAnnoy()
+20,0,0,,(Tu tires le sac.),Arrête ça abrutie ! Qu'est ce qui te prends ?|(elle met son sac hors de ta portée.),30,0,0,SidneyAnnoy()
diff --git a/C001_BeforeClass/Bag/Text_EN.csv b/C001_BeforeClass/Bag/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C001_BeforeClass/Bag/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C001_BeforeClass/Bag/Text_FR.csv b/C001_BeforeClass/Bag/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C001_BeforeClass/Bag/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C001_BeforeClass/Classroom/Background0.jpg b/C001_BeforeClass/Classroom/Background0.jpg
new file mode 100644
index 0000000000..9a6136540e
Binary files /dev/null and b/C001_BeforeClass/Classroom/Background0.jpg differ
diff --git a/C001_BeforeClass/Classroom/Background1.jpg b/C001_BeforeClass/Classroom/Background1.jpg
new file mode 100644
index 0000000000..82f2703a27
Binary files /dev/null and b/C001_BeforeClass/Classroom/Background1.jpg differ
diff --git a/C001_BeforeClass/Classroom/Background2.jpg b/C001_BeforeClass/Classroom/Background2.jpg
new file mode 100644
index 0000000000..80efd6f1ef
Binary files /dev/null and b/C001_BeforeClass/Classroom/Background2.jpg differ
diff --git a/C001_BeforeClass/Classroom/Background3.jpg b/C001_BeforeClass/Classroom/Background3.jpg
new file mode 100644
index 0000000000..2f04900fe4
Binary files /dev/null and b/C001_BeforeClass/Classroom/Background3.jpg differ
diff --git a/C001_BeforeClass/Classroom/Script.js b/C001_BeforeClass/Classroom/Script.js
new file mode 100644
index 0000000000..37c01a58f1
--- /dev/null
+++ b/C001_BeforeClass/Classroom/Script.js
@@ -0,0 +1,48 @@
+var C001_BeforeClass_Classroom_Mode = 0;
+
+// Chapter 1 - Classroom Load
+function C001_BeforeClass_Classroom_Load() {
+	
+	// Set the timer limits
+	StartTimer(8 * 60 * 60 * 1000, "C001_BeforeClass", "Outro");
+	
+	// Set the screen background
+	if (ActorSpecificHasInventory("Amanda", "Rope") && ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Classroom_Mode = 3;
+	if (!ActorSpecificHasInventory("Amanda", "Rope") && ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Classroom_Mode = 2;
+	if (ActorSpecificHasInventory("Amanda", "Rope") && !ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Classroom_Mode = 1;
+	if (!ActorSpecificHasInventory("Amanda", "Rope") && !ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Classroom_Mode = 0;
+}
+
+// Chapter 1 - Classroom Run
+function C001_BeforeClass_Classroom_Run() {
+	
+	// Draw the background image and the wait button on the bottom right of the image
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background" + C001_BeforeClass_Classroom_Mode.toString() + ".jpg", 0, 0);
+	
+}
+
+// Chapter 1 - Classroom Click
+function C001_BeforeClass_Classroom_Click() {
+
+	// When the user clicks on the bag
+	if ((MouseX >= 45) && (MouseX <= 315) && (MouseY >= 305) && (MouseY <= 505) && (C001_BeforeClass_Classroom_Mode == 0)) SetScene(CurrentChapter, "Bag");
+
+	// When the user clicks on Sidney
+	if ((MouseX >= 80) && (MouseX <= 320) && (MouseY >= 40) && (MouseY <= 304) && (C001_BeforeClass_Classroom_Mode == 0)) SetScene(CurrentChapter, "Sidney");
+	if ((MouseX >= 321) && (MouseX <= 426) && (MouseY >= 284) && (MouseY <= 390) && (C001_BeforeClass_Classroom_Mode == 0)) SetScene(CurrentChapter, "Sidney");
+	if ((MouseX >= 150) && (MouseX <= 440) && (MouseY >= 20) && (MouseY <= 550) && (C001_BeforeClass_Classroom_Mode == 1)) SetScene(CurrentChapter, "Sidney");
+	if ((MouseX >= 125) && (MouseX <= 450) && (MouseY >= 40) && (MouseY <= 570) && (C001_BeforeClass_Classroom_Mode == 2)) SetScene(CurrentChapter, "Sidney");
+	if ((MouseX >= 130) && (MouseX <= 455) && (MouseY >= 0) && (MouseY <= 535) && (C001_BeforeClass_Classroom_Mode == 3)) SetScene(CurrentChapter, "Sidney");
+
+	// When the user clicks on Amanda
+	if ((MouseX >= 900) && (MouseX <= 1100) && (MouseY >= 100) && (MouseY <= 505) && (C001_BeforeClass_Classroom_Mode == 0)) SetScene(CurrentChapter, "Amanda");
+	if ((MouseX >= 800) && (MouseX <= 980) && (MouseY >= 30) && (MouseY <= 580) && (C001_BeforeClass_Classroom_Mode == 1)) SetScene(CurrentChapter, "Amanda");
+	if ((MouseX >= 900) && (MouseX <= 1080) && (MouseY >= 50) && (MouseY <= 395) && (C001_BeforeClass_Classroom_Mode == 2)) SetScene(CurrentChapter, "Amanda");
+	if ((MouseX >= 760) && (MouseX <= 900) && (MouseY >= 310) && (MouseY <= 480) && (C001_BeforeClass_Classroom_Mode == 2)) SetScene(CurrentChapter, "Amanda");
+	if ((MouseX >= 860) && (MouseX <= 1030) && (MouseY >= 25) && (MouseY <= 600) && (C001_BeforeClass_Classroom_Mode == 3)) SetScene(CurrentChapter, "Amanda");
+
+	// Checks if the user clicks on any regular item
+	InventoryClick(GetClickedInventory(), "C001_BeforeClass", "Classroom");
+
+}
\ No newline at end of file
diff --git a/C001_BeforeClass/Fight/Fight.csv b/C001_BeforeClass/Fight/Fight.csv
new file mode 100644
index 0000000000..2b29a6835b
--- /dev/null
+++ b/C001_BeforeClass/Fight/Fight.csv
@@ -0,0 +1,15 @@
+From,To,Image
+-1,-1,FightIntro.jpg
+0,0,FightLose.jpg
+1,9,Fight1.jpg
+10,18,Fight2.jpg
+19,27,Fight3.jpg
+28,36,Fight4.jpg
+37,45,Fight5.jpg
+46,54,FightEven.jpg
+55,63,Fight6.jpg
+64,72,Fight7.jpg
+73,81,Fight8.jpg
+82,90,Fight9.jpg
+91,99,Fight10.jpg
+100,100,FightWin.jpg
diff --git a/C001_BeforeClass/Fight/Fight1.jpg b/C001_BeforeClass/Fight/Fight1.jpg
new file mode 100644
index 0000000000..8fe9bf5190
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight1.jpg differ
diff --git a/C001_BeforeClass/Fight/Fight10.jpg b/C001_BeforeClass/Fight/Fight10.jpg
new file mode 100644
index 0000000000..a5f2dd1652
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight10.jpg differ
diff --git a/C001_BeforeClass/Fight/Fight2.jpg b/C001_BeforeClass/Fight/Fight2.jpg
new file mode 100644
index 0000000000..dc4cd87453
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight2.jpg differ
diff --git a/C001_BeforeClass/Fight/Fight3.jpg b/C001_BeforeClass/Fight/Fight3.jpg
new file mode 100644
index 0000000000..5e2fee6c02
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight3.jpg differ
diff --git a/C001_BeforeClass/Fight/Fight4.jpg b/C001_BeforeClass/Fight/Fight4.jpg
new file mode 100644
index 0000000000..e5981a3585
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight4.jpg differ
diff --git a/C001_BeforeClass/Fight/Fight5.jpg b/C001_BeforeClass/Fight/Fight5.jpg
new file mode 100644
index 0000000000..9094f2d5fc
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight5.jpg differ
diff --git a/C001_BeforeClass/Fight/Fight6.jpg b/C001_BeforeClass/Fight/Fight6.jpg
new file mode 100644
index 0000000000..5ea78a2edb
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight6.jpg differ
diff --git a/C001_BeforeClass/Fight/Fight7.jpg b/C001_BeforeClass/Fight/Fight7.jpg
new file mode 100644
index 0000000000..c8ea007cb7
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight7.jpg differ
diff --git a/C001_BeforeClass/Fight/Fight8.jpg b/C001_BeforeClass/Fight/Fight8.jpg
new file mode 100644
index 0000000000..66564e1d1b
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight8.jpg differ
diff --git a/C001_BeforeClass/Fight/Fight9.jpg b/C001_BeforeClass/Fight/Fight9.jpg
new file mode 100644
index 0000000000..5c6ba1bf47
Binary files /dev/null and b/C001_BeforeClass/Fight/Fight9.jpg differ
diff --git a/C001_BeforeClass/Fight/FightEven.jpg b/C001_BeforeClass/Fight/FightEven.jpg
new file mode 100644
index 0000000000..5847edc02c
Binary files /dev/null and b/C001_BeforeClass/Fight/FightEven.jpg differ
diff --git a/C001_BeforeClass/Fight/FightIntro.jpg b/C001_BeforeClass/Fight/FightIntro.jpg
new file mode 100644
index 0000000000..e332fcc9f8
Binary files /dev/null and b/C001_BeforeClass/Fight/FightIntro.jpg differ
diff --git a/C001_BeforeClass/Fight/FightLose.jpg b/C001_BeforeClass/Fight/FightLose.jpg
new file mode 100644
index 0000000000..0c02e7a0eb
Binary files /dev/null and b/C001_BeforeClass/Fight/FightLose.jpg differ
diff --git a/C001_BeforeClass/Fight/FightWin.jpg b/C001_BeforeClass/Fight/FightWin.jpg
new file mode 100644
index 0000000000..932dabfb0e
Binary files /dev/null and b/C001_BeforeClass/Fight/FightWin.jpg differ
diff --git a/C001_BeforeClass/Fight/HitIcon0.png b/C001_BeforeClass/Fight/HitIcon0.png
new file mode 100644
index 0000000000..29b593f9b1
Binary files /dev/null and b/C001_BeforeClass/Fight/HitIcon0.png differ
diff --git a/C001_BeforeClass/Fight/HitIcon1.png b/C001_BeforeClass/Fight/HitIcon1.png
new file mode 100644
index 0000000000..29b593f9b1
Binary files /dev/null and b/C001_BeforeClass/Fight/HitIcon1.png differ
diff --git a/C001_BeforeClass/Fight/HitIcon2.png b/C001_BeforeClass/Fight/HitIcon2.png
new file mode 100644
index 0000000000..29b593f9b1
Binary files /dev/null and b/C001_BeforeClass/Fight/HitIcon2.png differ
diff --git a/C001_BeforeClass/Fight/HitIcon3.png b/C001_BeforeClass/Fight/HitIcon3.png
new file mode 100644
index 0000000000..29b593f9b1
Binary files /dev/null and b/C001_BeforeClass/Fight/HitIcon3.png differ
diff --git a/C001_BeforeClass/Fight/Script.js b/C001_BeforeClass/Fight/Script.js
new file mode 100644
index 0000000000..08594c16f8
--- /dev/null
+++ b/C001_BeforeClass/Fight/Script.js
@@ -0,0 +1,25 @@
+// Chapter 5 - Before Class Fight Load
+function C001_BeforeClass_Fight_Load() {
+	LoadFight("FightOutro", "Hard", -6);
+}
+
+// Chapter 5 - Before Class Fight Run
+function C001_BeforeClass_Fight_Run() {
+	RenderFight();
+}
+
+// Chapter 5 - Before Class Fight Click
+function C001_BeforeClass_Fight_Click() {
+	FightClick();
+}
+
+// Chapter 5 - Before Class Fight Key Down
+function C001_BeforeClass_Fight_KeyDown() {
+	FightKeyDown();
+}
+
+// Chapter 5 - Before Class Fight End
+function C001_BeforeClass_Fight_FightEnd(Victory) {
+	if (Victory) C001_BeforeClass_FightOutro_FightResult = 1;
+	else C001_BeforeClass_FightOutro_FightResult = 2;
+}
\ No newline at end of file
diff --git a/C001_BeforeClass/Fight/Text_EN.csv b/C001_BeforeClass/Fight/Text_EN.csv
new file mode 100644
index 0000000000..5396174641
--- /dev/null
+++ b/C001_BeforeClass/Fight/Text_EN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Easy,Easy
+Normal,Normal
+Hard,Hard
+StartsIn,Starts in
+Difficulty,Difficulty:
+Perfect,Perfect fight!
+Victory,You won!
+Defeat,You lost!
+ClickContinue,Click on the image to continue.
diff --git a/C001_BeforeClass/Fight/Text_FR.csv b/C001_BeforeClass/Fight/Text_FR.csv
new file mode 100644
index 0000000000..c8ce847c3c
--- /dev/null
+++ b/C001_BeforeClass/Fight/Text_FR.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Easy,Facile
+Normal,Normal
+Hard,Difficile
+StartsIn,Départ dans
+Difficulty,Difficulté :
+Perfect,Parfait !
+Victory,Tu gagnes !
+Defeat,Tu perds !
+ClickContinue,Clique sur l'image pour continuer.
diff --git a/C001_BeforeClass/FightIntro/Background.jpg b/C001_BeforeClass/FightIntro/Background.jpg
new file mode 100644
index 0000000000..478e2a81c8
Binary files /dev/null and b/C001_BeforeClass/FightIntro/Background.jpg differ
diff --git a/C001_BeforeClass/FightIntro/Script.js b/C001_BeforeClass/FightIntro/Script.js
new file mode 100644
index 0000000000..5de226c0ca
--- /dev/null
+++ b/C001_BeforeClass/FightIntro/Script.js
@@ -0,0 +1,33 @@
+// Chapter 1 - Fight Load
+function C001_BeforeClass_FightIntro_Load() {	
+
+	// Set the timer limits at 8:00
+	StartTimer(8 * 60 * 60 * 1000, "C001_BeforeClass", "FightOutro");
+	LoadText();
+	LeaveIcon = "";
+
+}
+
+// Chapter 1 - Fight Run
+function C001_BeforeClass_FightIntro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 800, 0);
+	
+	// Each animation show an additional line of text
+	DrawText(ctx, GetText("Intro1"), 400, 150, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 400, 250, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 400, 350, "White");
+	if ((TextPhase >= 3) && !IsMobile) DrawText(ctx, GetText("Intro4A"), 400, 450, "White");
+	if ((TextPhase >= 3) && IsMobile) DrawText(ctx, GetText("Intro4B"), 400, 450, "White");
+
+}
+
+// Chapter 1 - Fight Click
+function C001_BeforeClass_FightIntro_Click() {
+	TextPhase++;
+	if (TextPhase >= 4)
+		SetScene(CurrentChapter, "Fight");
+}
\ No newline at end of file
diff --git a/C001_BeforeClass/FightIntro/Text_EN.csv b/C001_BeforeClass/FightIntro/Text_EN.csv
new file mode 100644
index 0000000000..123067e99c
--- /dev/null
+++ b/C001_BeforeClass/FightIntro/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,"Sidney gets up, rolls her sleeves and clenches her fists."
+Intro2,Some of the girls hide and some scream for blood.
+Intro3,She charges on you furiously.  Get ready to fight!
+Intro4A,"(Use A, S, K, L when the punch reaches the red bar.)"
+Intro4B,(Click on the red bar when the punch reaches it.)
diff --git a/C001_BeforeClass/FightIntro/Text_FR.csv b/C001_BeforeClass/FightIntro/Text_FR.csv
new file mode 100644
index 0000000000..0f9afb9b21
--- /dev/null
+++ b/C001_BeforeClass/FightIntro/Text_FR.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,"Sidney se lève, relève ses manches et serre les poings."
+Intro2,"Certaines filles reculent et d'autres réclament du sang."
+Intro3,"Elle vous fonce dessus, l'air furieuse. Préparez-vous à vous battre !"
+Intro4A,"(Appuyez sur A, S, K ou L, lorsque le poing arrive sur une bande.)"
+Intro4B,"(Appuyez sur la touche correspondante lorsque le poing arrive à la hauteur de la bande.)"
diff --git a/C001_BeforeClass/FightOutro/Mildred.jpg b/C001_BeforeClass/FightOutro/Mildred.jpg
new file mode 100644
index 0000000000..6cd2116a6d
Binary files /dev/null and b/C001_BeforeClass/FightOutro/Mildred.jpg differ
diff --git a/C001_BeforeClass/FightOutro/Script.js b/C001_BeforeClass/FightOutro/Script.js
new file mode 100644
index 0000000000..89e3ad0f74
--- /dev/null
+++ b/C001_BeforeClass/FightOutro/Script.js
@@ -0,0 +1,42 @@
+// 4 animation phases, separated by clicks
+var C001_BeforeClass_FightOutro_FightResult = 0; // 0 = No winner, 1 = Victory, 2 = Defeat
+
+// Chapter 1 - Fight Outro Load
+function C001_BeforeClass_FightOutro_Load() {
+	
+	// Sidney attitude changes if the player won or not
+	CurrentActor = "Sidney";
+	if (C001_BeforeClass_FightOutro_FightResult == 1) ActorChangeAttitude(0, 2);
+	if (C001_BeforeClass_FightOutro_FightResult == 2) ActorChangeAttitude(0, -2);
+	CurrentActor = "";	
+
+	// Time is always 8:00 on the fight outro, no timer
+	StopTimer(8 * 60 * 60 * 1000);
+	
+}
+
+// Chapter 1 - Fight Outro Run
+function C001_BeforeClass_FightOutro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Mildred.jpg", 800, 0);
+	
+	// Each animation show an additional line of text
+	if (C001_BeforeClass_FightOutro_FightResult == 0) DrawText(ctx, GetText("Intro1A"), 400, 150, "White");
+	if (C001_BeforeClass_FightOutro_FightResult == 1) DrawText(ctx, GetText("Intro1B"), 400, 150, "White");
+	if (C001_BeforeClass_FightOutro_FightResult == 2) DrawText(ctx, GetText("Intro1C"), 400, 150, "White");	
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 400, 300, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 400, 450, "White");
+
+}
+
+// Chapter 1 - Fight Outro Click
+function C001_BeforeClass_FightOutro_Click() {
+	TextPhase++;
+	if (TextPhase >= 3) {
+		Common_PlayerCrime = "Fighting";
+		SaveMenu("C003_MorningDetention", "Intro");
+	}
+}
\ No newline at end of file
diff --git a/C001_BeforeClass/FightOutro/Text_EN.csv b/C001_BeforeClass/FightOutro/Text_EN.csv
new file mode 100644
index 0000000000..b029551270
--- /dev/null
+++ b/C001_BeforeClass/FightOutro/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1A,The teacher comes in and sees you two fighting.
+Intro1B,The teacher comes in and sees you beating up Sidney.
+Intro1C,The teacher comes in and sees Sidney beating you up.
+Intro2,She splits and pulls both of you away from the classroom.
+Intro3,She tells you that your next class will be spent in detention.
diff --git a/C001_BeforeClass/FightOutro/Text_FR.csv b/C001_BeforeClass/FightOutro/Text_FR.csv
new file mode 100644
index 0000000000..c734746d30
--- /dev/null
+++ b/C001_BeforeClass/FightOutro/Text_FR.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1A,"La professeur arrive et vous voit entrain de vous battre."
+Intro1B,"La professeur arrive et vous voit battre Sidney."
+Intro1C,"La professeur entre et voit Sidney vous battre."
+Intro2,"Elle vous séparent et vous expulsent de sa classe."
+Intro3,"Elle vous dit que vous resterez en retenue jusqu'à la fin de son cours."
diff --git a/C001_BeforeClass/Intro/Background1.jpg b/C001_BeforeClass/Intro/Background1.jpg
new file mode 100644
index 0000000000..fa75f62551
Binary files /dev/null and b/C001_BeforeClass/Intro/Background1.jpg differ
diff --git a/C001_BeforeClass/Intro/Background2.jpg b/C001_BeforeClass/Intro/Background2.jpg
new file mode 100644
index 0000000000..27f4ab280b
Binary files /dev/null and b/C001_BeforeClass/Intro/Background2.jpg differ
diff --git a/C001_BeforeClass/Intro/Player.jpg b/C001_BeforeClass/Intro/Player.jpg
new file mode 100644
index 0000000000..2e6f226c4b
Binary files /dev/null and b/C001_BeforeClass/Intro/Player.jpg differ
diff --git a/C001_BeforeClass/Intro/Script.js b/C001_BeforeClass/Intro/Script.js
new file mode 100644
index 0000000000..bffe777c54
--- /dev/null
+++ b/C001_BeforeClass/Intro/Script.js
@@ -0,0 +1,33 @@
+// Chapter 1 - Intro Load
+function C001_BeforeClass_Intro_Load() {
+
+	// Time is always 7:40 on the intro, no timer
+	StopTimer(7.66666667 * 60 * 60 * 1000);
+	
+}
+
+// Chapter 1 - Intro Run
+function C001_BeforeClass_Intro_Run() {
+	
+	// Draw the background and player
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	if (TextPhase <= 2) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background1.jpg", -150, 0);
+	else DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background2.jpg", -150, 0);
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Player.jpg", 900, 0);
+		
+	// Introduce chapter 1 with each clicks
+	DrawText(ctx, GetText("Intro1"), 450, 50, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 450, 150, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 450, 250, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 450, 350, "White");
+	if (TextPhase >= 4) DrawText(ctx, GetText("Intro5"), 450, 450, "White");
+	if (TextPhase >= 5) DrawText(ctx, GetText("Intro6"), 450, 550, "White");
+
+}
+
+// Chapter 1 - Intro Click
+function C001_BeforeClass_Intro_Click() {
+	TextPhase++;
+	if (TextPhase >= 6)
+		SetScene(CurrentChapter, "Classroom");
+}
\ No newline at end of file
diff --git a/C001_BeforeClass/Intro/Text_EN.csv b/C001_BeforeClass/Intro/Text_EN.csv
new file mode 100644
index 0000000000..fae3d94b63
--- /dev/null
+++ b/C001_BeforeClass/Intro/Text_EN.csv
@@ -0,0 +1,7 @@
+Tag,Content
+Intro1,Chapter 1 - Before Class (Click to continue)
+Intro2,This is your first day in a new school.  It's both thrilling and kind of scary.
+Intro3,This is no ordinary college.  It's an all-girl academy renowned for its strictness.
+Intro4,"You enter the austere building, it's outdated and cold, some windows have bars."
+Intro5,"Every student is wearing the same skirt and tie, uniforms are mandatory."
+Intro6,"It's 7:40 and class starts at 8:00, you take a seat behind a black haired girl."
diff --git a/C001_BeforeClass/Intro/Text_FR.csv b/C001_BeforeClass/Intro/Text_FR.csv
new file mode 100644
index 0000000000..ece779e150
--- /dev/null
+++ b/C001_BeforeClass/Intro/Text_FR.csv
@@ -0,0 +1,7 @@
+Tag,Content
+Intro1,"Chapitre 1 - L'arrivée en classe (Cliquez pour continuer)"
+Intro2,"C'est votre premier jour dans une nouvelle école. C'est à la fois passionnant"
+Intro3,"et effrayant. C'est une académie pour filles réputée pour sa rigueur."
+Intro4,"Vous entrez dans un bâtiment austère et froid, certaines fenêtres ont des barreaux."
+Intro5,"L'uniforme est obligatoire, chaque étudiante porte la même jupe et la même cravate."
+Intro6,"Il est 7h40, le cours est à 8h, vous prenez place derrière une fille aux cheveux noirs."
diff --git a/C001_BeforeClass/Outro/Background.jpg b/C001_BeforeClass/Outro/Background.jpg
new file mode 100644
index 0000000000..e6a0f10b31
Binary files /dev/null and b/C001_BeforeClass/Outro/Background.jpg differ
diff --git a/C001_BeforeClass/Outro/Script.js b/C001_BeforeClass/Outro/Script.js
new file mode 100644
index 0000000000..2be25d542a
--- /dev/null
+++ b/C001_BeforeClass/Outro/Script.js
@@ -0,0 +1,48 @@
+var C001_BeforeClass_Outro_Mode = 0;
+
+// Chapter 1 - Outro Load
+function C001_BeforeClass_Outro_Load() {
+	
+	// Change the mode depending if there were girls left tied up
+	if (!ActorSpecificHasInventory("Amanda", "Rope") && !ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Outro_Mode = 0;
+	if (ActorSpecificHasInventory("Amanda", "Rope") && !ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Outro_Mode = 1;
+	if (!ActorSpecificHasInventory("Amanda", "Rope") && ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Outro_Mode = 2;
+	if (ActorSpecificHasInventory("Amanda", "Rope") && ActorSpecificHasInventory("Sidney", "Rope")) C001_BeforeClass_Outro_Mode = 3;
+	
+	// Save the player crime
+	if (C001_BeforeClass_Outro_Mode >= 1) Common_PlayerCrime = "Bondage";
+	
+	// Time is always 8:00:00, no timer
+	StopTimer(8 * 60 * 60 * 1000);
+	ActorSpecificClearInventory("Sidney", false);
+	ActorSpecificClearInventory("Amanda", false);
+
+}
+
+// Chapter 1 - Outro Run
+function C001_BeforeClass_Outro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 800, 0);
+	
+	// The text changes based on the trouble that was done
+	if (TextPhase >= 0) DrawText(ctx, GetText("Intro1"), 400, 100, "White");
+	if ((C001_BeforeClass_Outro_Mode == 0) && (TextPhase >= 1)) DrawText(ctx, GetText("Intro2A"), 400, 250, "White");
+	if ((C001_BeforeClass_Outro_Mode == 1) && (TextPhase >= 1)) DrawText(ctx, GetText("Intro2B"), 400, 200, "White");
+	if ((C001_BeforeClass_Outro_Mode == 2) && (TextPhase >= 1)) DrawText(ctx, GetText("Intro2C"), 400, 200, "White");
+	if ((C001_BeforeClass_Outro_Mode == 3) && (TextPhase >= 1)) DrawText(ctx, GetText("Intro2D"), 400, 200, "White");
+	if ((C001_BeforeClass_Outro_Mode == 0) && (TextPhase >= 2)) DrawText(ctx, GetText("Intro3A"), 400, 400, "White");	
+	if ((C001_BeforeClass_Outro_Mode >= 1) && (TextPhase >= 2)) DrawText(ctx, GetText("Intro3B"), 400, 300, "White");
+	if ((C001_BeforeClass_Outro_Mode >= 1) && (TextPhase >= 3)) DrawText(ctx, GetText("Intro4"), 400, 400, "White");
+	if ((C001_BeforeClass_Outro_Mode >= 1) && (TextPhase >= 4)) DrawText(ctx, GetText("Intro5"), 400, 500, "White");
+		
+}
+
+// Chapter 1 - Outro Click
+function C001_BeforeClass_Outro_Click() {
+	TextPhase++;
+	if ((TextPhase >= 5) && (C001_BeforeClass_Outro_Mode >= 1)) SaveMenu("C003_MorningDetention", "Intro");
+	if ((TextPhase >= 3) && (C001_BeforeClass_Outro_Mode < 1)) SaveMenu("C002_FirstClass", "Intro");			
+}
\ No newline at end of file
diff --git a/C001_BeforeClass/Outro/Text_EN.csv b/C001_BeforeClass/Outro/Text_EN.csv
new file mode 100644
index 0000000000..89e44e1ac3
--- /dev/null
+++ b/C001_BeforeClass/Outro/Text_EN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Intro1,The bell rings and the remaining students come in.
+Intro2A,"Everyone takes their seat, some wave at you, some ignore you."
+Intro2B,Everyone is surprised to see Amanda tied up in her underwear.
+Intro2C,Everyone is surprised to see Sidney tied up in her underwear.
+Intro2D,Everyone is surprised to see both girls tied up in their underwear.
+Intro3A,The teacher comes in and the first morning class begins.
+Intro3B,"Some of the students turn away, some laugh and some take pictures."
+Intro4,The teacher finally comes in and manages to control the situation.
+Intro5,"Since you caused trouble with Sidney's ropes, you both go to detention."
diff --git a/C001_BeforeClass/Outro/Text_FR.csv b/C001_BeforeClass/Outro/Text_FR.csv
new file mode 100644
index 0000000000..3030a12289
--- /dev/null
+++ b/C001_BeforeClass/Outro/Text_FR.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Intro1,"La cloche sonne et les étudiantes restantes entrent."
+Intro2A,"Tout le monde s'assoie, certaines vous salut, d'autres vous ignorent."
+Intro2B,"Tout le monde est surpris de voir Amanda attachée en sous-vêtements."
+Intro2C,"Tout le monde est surpris de voir Sidney attachée en sous-vêtements."
+Intro2D,"Tout le monde est surpris de voir 2 filles attachées en sous-vêtements."
+Intro3A,"La professeur entre et le premier cours du matin commence."
+Intro3B,"Les filles détournent le regard ou se marrent et prennent des photos."
+Intro4,"La professeur arrive enfin et parvient à contrôler la situation."
+Intro5,"Les cordes appartenant à Sidney, vous êtes toutes les deux en retenue."
diff --git a/C001_BeforeClass/Sidney/Intro_EN.csv b/C001_BeforeClass/Sidney/Intro_EN.csv
new file mode 100644
index 0000000000..b742f856bb
--- /dev/null
+++ b/C001_BeforeClass/Sidney/Intro_EN.csv
@@ -0,0 +1,22 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,What do you want? (She stares at you.),SidneyFace.jpg
+0,0,0,AmandaInBondage,Amazing!  I've wanted to tie her for weeks.|Now what do you want? (She stares at you.),SidneyFace.jpg
+10,0,0,,(She stares at the girl with the brown hair.),SidneyStare.jpg
+20,0,0,,(She crosses her arms and looks at you in the eyes.),SidneyFace.jpg
+30,0,0,,(She stares again at the girl with the brown hair.),SidneyStare.jpg
+40,0,0,,(She turns her head and ignores you.),SidneyBack.jpg
+40,2,0,,Class will begin soon but let's talk later.,SidneyFace.jpg
+40,-2,0,,Don't talk to me bitch!|(She turns her head and ignores you.),SidneyBack.jpg
+40,0,0,AmandaInBondage,Congrats on humiliating her.  Let's talk after class.|(She looks at Amanda and gives a thumbs up.),SidneyFace.jpg
+100,0,0,,Fuck!  You were looking in my bag?|(She seems nervous that you found the ropes.),SidneyFace.jpg
+110,0,0,,(She makes a curious face at you.),SidneyFace.jpg
+200,0,0,,Did you steal these ropes from my bag?|(She looks furious.),SidneyFace.jpg
+210,0,0,,Give me back my ropes!,SidneyFace.jpg
+220,0,0,,Wait until I get out!|(She struggles in vain to get free.),SidneyBondageFront.jpg
+220,0,0,AmandaInBondage,At least she looks more humiliated than me.|(She looks at Amanda and grins.),SidneyBondageFront.jpg
+230,0,0,,,SidneyBondageBack.jpg
+240,0,0,,,SidneyBondageHug.jpg
+250,0,0,,,SidneyBondageKiss.jpg
+300,0,0,,You thief!  We have nothing to talk about.,SidneyBack.jpg
+310,0,0,,I can't believe you tied me up in here.|We'll talk about it later.,SidneyFace.jpg
+310,0,0,AmandaInBondage,"I can't believe you tied me up in here.|On the bright side, she's still in trouble.",SidneyFace.jpg
diff --git a/C001_BeforeClass/Sidney/Intro_FR.csv b/C001_BeforeClass/Sidney/Intro_FR.csv
new file mode 100644
index 0000000000..c928523bd7
--- /dev/null
+++ b/C001_BeforeClass/Sidney/Intro_FR.csv
@@ -0,0 +1,22 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Qu'est-ce que tu veux ? (Elle te regarde fixement.),SidneyFace.jpg
+0,0,0,AmandaInBondage,Incroyable ! Je voulais la ligoter depuis des semaines.|Tu voulais quelque chose ? (Elle te regarde fixement.),SidneyFace.jpg
+10,0,0,,(Elle fixe la fille aux cheveux bruns).,SidneyStare.jpg
+20,0,0,,(Elle croise ses bras et |te regarde droit dans les yeux.),SidneyFace.jpg
+30,0,0,,(Elle se remet à fixer la fille aux cheveux bruns.),SidneyStare.jpg
+40,0,0,,(Elle tourne la tête et t'ignore.),SidneyBack.jpg
+40,2,0,,Le cours va commencer nous en parlerons plus tard.,SidneyFace.jpg
+40,-2,0,,Ne me parle pas pétasse !|(Elle tourne la tête et t'ignore.),SidneyBack.jpg
+40,0,0,AmandaInBondage,Félicitations pour l'avoir humiliée. Parlons en après|les cours. (Elle regarde Amanda et lève son pouce.),SidneyFace.jpg
+100,0,0,,Qu'est-ce que... T'as fouillé dans mes affaires ?|(Elle semble nerveuse que tu aies trouvé les cordes.),SidneyFace.jpg
+110,0,0,,(Elle te regarde avec un air curieux.),SidneyFace.jpg
+200,0,0,,"As-tu volé ces cordes dans mon sac ?|(Elle a l'air furieuse.)",SidneyFace.jpg
+210,0,0,,Rends-moi mes cordes !,SidneyFace.jpg
+220,0,0,,Attends que je me libère !|(Elle lutte en vain pour se libérer.),SidneyBondageFront.jpg
+220,0,0,AmandaInBondage,Au moins elle a l'air plus humiliée que moi.|(Elle regarde Amanda et sourit.),SidneyBondageFront.jpg
+230,0,0,,,SidneyBondageBack.jpg
+240,0,0,,,SidneyBondageHug.jpg
+250,0,0,,,SidneyBondageKiss.jpg
+300,0,0,,Sale voleuse ! On a rien à se dire.,SidneyBack.jpg
+310,0,0,,J'arrive pas à croire que tu m'as ligoté en classe.|Nous en parlerons plus tard.,SidneyFace.jpg
+310,0,0,AmandaInBondage,"J'arrive pas à croire que tu m'as ligoté en classe.|Le bon coté, c'est qu'elle est toujours dans la merde.",SidneyFace.jpg
diff --git a/C001_BeforeClass/Sidney/Script.js b/C001_BeforeClass/Sidney/Script.js
new file mode 100644
index 0000000000..e89232c8b1
--- /dev/null
+++ b/C001_BeforeClass/Sidney/Script.js
@@ -0,0 +1,101 @@
+var C001_BeforeClass_Sidney_CurrentStage = 0;
+var C001_BeforeClass_Sidney_BackupStage = 0;
+var C001_BeforeClass_Sidney_PantiesRemark_Done = false;
+var C001_BeforeClass_Sidney_AmandaInBondage = false;
+var C001_BeforeClass_Sidney_BondageNotConfronted = true;
+var C001_BeforeClass_Sidney_TickleDone = false;
+var C001_BeforeClass_Sidney_BondageFlag = false;
+
+// Chapter 1 - Sidney Load
+function C001_BeforeClass_Sidney_Load() {
+
+	// Load the scene parameters
+	ActorLoad("Sidney", "Classroom");
+	LoadInteractions();
+	C001_BeforeClass_Sidney_AmandaInBondage = ActorSpecificHasInventory("Amanda", "Rope");
+	
+	// She resets back to the facing position if in bondage
+	if ((C001_BeforeClass_Sidney_CurrentStage >= 230) && (C001_BeforeClass_Sidney_CurrentStage <= 259)) C001_BeforeClass_Sidney_CurrentStage = 220;
+	
+}
+
+// Chapter 1 - Sidney Run
+function C001_BeforeClass_Sidney_Run() {
+	BuildInteraction(C001_BeforeClass_Sidney_CurrentStage);
+}
+
+// Chapter 1 - Sidney Click
+function C001_BeforeClass_Sidney_Click() {	
+
+	// Regular interaction
+	ClickInteraction(C001_BeforeClass_Sidney_CurrentStage);
+
+	// Special code for when the user wants to use the rope
+	if ((C001_BeforeClass_Sidney_CurrentStage < 200) && (GetClickedInventory() == "Rope")) {
+		C001_BeforeClass_Sidney_BackupStage = C001_BeforeClass_Sidney_CurrentStage;
+		C001_BeforeClass_Sidney_CurrentStage = 200;
+		OverridenIntroText = GetText("MyRopes");
+	}
+	
+}
+
+// Chapter 1 - Sidney Fight
+function C001_BeforeClass_Sidney_Fight() {	
+	SetScene(CurrentChapter, "FightIntro");
+}
+
+// Chapter 1 - Sidney Give Rope
+function C001_BeforeClass_Sidney_GiveRope() {
+	PlayerRemoveInventory("Rope", 2);
+}
+
+// Chapter 1 - Sidney Stop Rope
+function C001_BeforeClass_Sidney_StopRope() {
+	C001_BeforeClass_Sidney_CurrentStage = C001_BeforeClass_Sidney_BackupStage;
+}
+
+// Chapter 1 - Sidney Tie
+function C001_BeforeClass_Sidney_Tie() {
+	ActorAddInventory("Rope");
+	PlayerRemoveInventory("Rope", 1);
+	if (C001_BeforeClass_Sidney_BondageFlag == false) {
+		ActorChangeAttitude(-1, 0);
+		OverridenIntroText = GetText("Bondage");
+		C001_BeforeClass_Sidney_BondageFlag = true;
+	}	
+}
+
+// Chapter 1 - Sidney Tickle
+function C001_BeforeClass_Sidney_Tickle() {
+	if (C001_BeforeClass_Sidney_TickleDone == false) {
+		ActorChangeAttitude(-1, 0);
+		OverridenIntroText = GetText("Tickle");
+		C001_BeforeClass_Sidney_TickleDone = true;
+	}
+}
+
+// Chapter 1 - Sidney Tie Sub
+function C001_BeforeClass_Sidney_TieSub() {
+	ActorAddInventory("Rope");
+	PlayerRemoveInventory("Rope", 1);
+}
+
+// Chapter 1 - Sidney Untie
+function C001_BeforeClass_Sidney_Untie() {
+	ActorRemoveInventory("Rope");
+	PlayerAddInventory("Rope", 1);
+}
+
+// Chapter 1 - Sidney Confront Bondage
+function C001_BeforeClass_Sidney_ConfrontBondage() {
+	C001_BeforeClass_Sidney_BondageNotConfronted = false;
+}
+
+// Chapter 1 - Sidney Panties Remark
+function C001_BeforeClass_Sidney_PantiesRemark() {
+	if (C001_BeforeClass_Sidney_PantiesRemark_Done == false) {
+		C001_BeforeClass_Sidney_PantiesRemark_Done = true;
+		ActorChangeAttitude(0, 1);
+		OverridenIntroText = GetText("Panties");
+	}
+}
diff --git a/C001_BeforeClass/Sidney/SidneyBack.jpg b/C001_BeforeClass/Sidney/SidneyBack.jpg
new file mode 100644
index 0000000000..a3eef27501
Binary files /dev/null and b/C001_BeforeClass/Sidney/SidneyBack.jpg differ
diff --git a/C001_BeforeClass/Sidney/SidneyBondage.jpg b/C001_BeforeClass/Sidney/SidneyBondage.jpg
new file mode 100644
index 0000000000..4553d994c5
Binary files /dev/null and b/C001_BeforeClass/Sidney/SidneyBondage.jpg differ
diff --git a/C001_BeforeClass/Sidney/SidneyBondageBack.jpg b/C001_BeforeClass/Sidney/SidneyBondageBack.jpg
new file mode 100644
index 0000000000..1e314918cb
Binary files /dev/null and b/C001_BeforeClass/Sidney/SidneyBondageBack.jpg differ
diff --git a/C001_BeforeClass/Sidney/SidneyBondageFront.jpg b/C001_BeforeClass/Sidney/SidneyBondageFront.jpg
new file mode 100644
index 0000000000..4553d994c5
Binary files /dev/null and b/C001_BeforeClass/Sidney/SidneyBondageFront.jpg differ
diff --git a/C001_BeforeClass/Sidney/SidneyBondageHug.jpg b/C001_BeforeClass/Sidney/SidneyBondageHug.jpg
new file mode 100644
index 0000000000..7a8f7f3ec1
Binary files /dev/null and b/C001_BeforeClass/Sidney/SidneyBondageHug.jpg differ
diff --git a/C001_BeforeClass/Sidney/SidneyBondageKiss.jpg b/C001_BeforeClass/Sidney/SidneyBondageKiss.jpg
new file mode 100644
index 0000000000..2c9e3bcd30
Binary files /dev/null and b/C001_BeforeClass/Sidney/SidneyBondageKiss.jpg differ
diff --git a/C001_BeforeClass/Sidney/SidneyFace.jpg b/C001_BeforeClass/Sidney/SidneyFace.jpg
new file mode 100644
index 0000000000..ff95e7f075
Binary files /dev/null and b/C001_BeforeClass/Sidney/SidneyFace.jpg differ
diff --git a/C001_BeforeClass/Sidney/SidneyStare.jpg b/C001_BeforeClass/Sidney/SidneyStare.jpg
new file mode 100644
index 0000000000..068e9aea2e
Binary files /dev/null and b/C001_BeforeClass/Sidney/SidneyStare.jpg differ
diff --git a/C001_BeforeClass/Sidney/Stage_EN.csv b/C001_BeforeClass/Sidney/Stage_EN.csv
new file mode 100644
index 0000000000..06c28e0284
--- /dev/null
+++ b/C001_BeforeClass/Sidney/Stage_EN.csv
@@ -0,0 +1,58 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,I simply want to|introduce myself.,"Mmmh, hello, I'm Sidney.|(She turns and stares at the other girl)",10,0,0,
+0,0,0,,"Girl, are you always that|rude with strangers?","I guess not, sorry about that, I'm Sidney.|(She turns and stares at the other girl)",10,0,1,
+0,0,0,,"Please don't be angry at|me, I'm new here.","New and pathetic, you won't survive a day.|(She turns and stares at the other girl)",10,-1,-1,
+0,0,0,,"You look pretty strong,|I'm glad to meet you.","Yes!  I'm the toughest here, I'm Sidney.|(She turns and stares at the other girl)",10,1,0,
+0,0,0,,What a shitty attitude!,You better shut up if you don't want a broken nose.|(She turns and stares at the other girl),10,-2,0,
+0,0,0,AmandaInBondage,"Yep, nerds will know that|we rule around here.","Oh fuck yeah!  I'm Sidney, glad to meet you.",20,2,0,
+0,0,0,AmandaInBondage,"If you don't want to end up|like her, you better obey.","(She looks down and stays quiet for a few second.)|Yes, as long as that nerd gets punished it's fine.",20,0,2,
+10,0,0,,Something's wrong?,"Yes, that fucking brunette and|her stupid friend is what's wrong.",20,0,0,
+10,0,0,,Why are you starring|at that girl?,That's none of your concerns.,20,0,0,
+10,0,0,,Stop starring at her!,Hey!  Don't give me orders!,20,-1,1,
+20,0,0,,You sound pretty angry.,And why do you care?,30,0,0,
+20,0,0,,You really seem to|hate that nerd girl.,Oh hell yes!  She's a fucking pain.|Someday I'll have my revenge.,30,1,0,
+20,0,0,,You sure are hot|blooded.  I like it.,Yep!  Now let me get ready for class.,40,1,0,
+20,0,0,,You really have an|attitude problem.,Shut up!|(She turns around and ignores you.),40,-1,0,
+20,1,0,,You need help to get|that girl in trouble?,Oh hell Yeah!  I have some ropes|in my bag.  We'll get her after class.,40,1,0,
+30,0,0,,You sure are hot|blooded.  I like it.,Yep!  Now let me get ready for class.,40,1,0,
+30,0,0,,You really have an|attitude problem.,Shut up!|(She turns around and ignores you.),40,-1,0,
+30,1,0,,You need help to get|that girl in trouble?,Oh hell Yeah!  I have some ropes|in my bag.  We'll get her after class.,40,1,0,
+40,-2,0,,Bitch!  Do you|want to fight?,,40,-1,0,Fight()
+100,0,0,,Why do you have|ropes in your bag?,That's none of your business.|(She closes the bag.),20,-1,0,
+100,0,0,,Are you going climbing|after school?,Yes!  Now gimme that!|(She closes the bag.),20,-1,0,
+100,0,0,,Are you planning on|kidnapping someone?,"Mmmh, why do you ask?",110,0,-1,
+100,0,0,,So you're a kinky girl|who likes being tied up?,You know anything about bondage?,110,0,1,
+110,0,0,,What are you planning?|I'm interested.,Let's talk after the class then.|(She closes the bag.),20,1,0,
+110,0,0,,I'm not interested.,Fine!  I don't care.|(She closes the bag.),20,0,0,
+110,0,0,,This is wrong!|I will tell the teacher.,,40,-2,0,Fight()
+200,0,0,BondageNotConfronted,The ropes were hanging|loose from your bag.,Liar!  Give me my ropes back.,200,0,0,ConfrontBondage()
+200,0,0,BondageNotConfronted,"If you carry rope, it means|you want to be tied up.",(She blushes.)  No!  Not at all!|Now give me back my ropes.,200,0,1,ConfrontBondage()
+200,0,0,BondageNotConfronted,"I'm so sorry.  I love ropes,|could you tie me up?","You're pathetic, soon you will lick my boots.|Now give me my ropes. (She takes the ropes.)",300,0,-2,GiveRope()
+200,0,0,,Here are your ropes. |Hide them better.,Good!  Now leave me alone.|(She takes the rope and turns around.),300,1,0,GiveRope()
+200,0,0,,Let's talk some more.,Mmmh.  Fine.|What were we talking about?,200,0,0,StopRope()
+200,0,2,,(Strip and tie her.)|(1 minute),(You pin her again and tie her wrist behind her back.|She trashes and kicks you but finally submits.),220,0,0,Tie()
+200,0,4,,You know you will submit.|(Strip and tie.) (1 minute),(She reluctantly removes her uniform|and gives you her wrist to tie them.),220,0,0,TieSub()
+200,0,0,,"If you want them,|come and fight for them.",,40,-2,0,Fight()
+220,0,0,,(Turn her.),Fuck!  What are you doing now?|(You force her to turn around.),230,0,0,
+220,0,0,,(Untie her.)|(1 minute),"(You untie her arms while she swears at you.|Once untied, she pushes you away in anger.)",200,0,0,Untie()
+220,0,0,,(Tickle her.)|(1 minute),I said I'm not ticklish!|(She makes an angry look at you.),220,0,0,Tickle()
+220,1,0,,(Kiss her.)|(1 minute),(She blankly stares at you after|the kiss and remain speechless.),220,0,0,
+220,0,0,AmandaInBondage,(Make her hug Amanda.)|(1 minute),(Both girls are forced to hug and rub each other.)|Fuck!  What kind of pervert are you?,240,-1,0,
+220,0,0,,These ropes fit lovingly|on your curvy body.,Oh!  Mmmmh...  Thanks...  I guess.,220,0,0,
+220,0,0,,"If I let you go, can I tie|you up later? (1 minute)",That sounds fair.  We have a deal.|(You untie her and shake her hand.),310,1,1,Untie()
+220,0,0,,"If I let you go, will you|tie me later? (1 minute)",Oh yeah!  Revenge will be sweet.|(You untie her and shake her hand.),310,1,-2,Untie()
+230,0,0,,(Turn her.),(You turn her back while|she stares at you furiously.),220,0,0,
+230,0,0,,(Untie her.)|(1 minute),"(You untie her arms while she swears at you.|Once untied, she pushes you away in anger.)",200,0,0,Untie()
+230,0,0,,(Tickle her.)|(1 minute),I said I'm not ticklish!|(She makes an angry look at you.),230,0,0,Tickle()
+230,0,0,,(Spank her.)|(1 minute),(You spank her in front of the other students.)|Ha!  That's the best you can do?,230,0,0,
+230,0,0,,"By looking at your panties,|you are enjoying this.",Stop looking down there you pervert!,230,0,0,PantiesRemark()
+230,0,0,,"If I let you go, can I tie|you up later? (1 minute)",That sounds fair.  We have a deal.|(You untie her and shake her hand.),310,1,1,Untie()
+230,0,0,,"If I let you go, will you|tie me later? (1 minute)",Oh yeah!  Revenge will be sweet.|(You untie her and shake her hand.),310,1,-2,Untie()
+240,0,0,,(Separate them.),Finally!  That was a stupid idea!,220,0,0,
+240,0,0,,(Force them to kiss.)|(1 minute),"(You force them to kiss, Sidney looks furious.)|Amanda, if you use your tongue I will cut it.",250,0,0,
+240,0,0,,You two make a nice|bondage couple.,(They both stare at you.),240,0,0,
+250,0,0,,(Separate them.),Finally!  That was a stupid idea!,220,0,0,
+250,0,0,,(Stop the kisses.),Admit it!  I'm better than that stupid blond.|(She tries to intimidate Amanda who looks away.),240,0,0,
+250,0,0,,Love is in the air!,You will fly in the air when I get out.,250,0,0,
+250,2,0,,Can I also get a kiss?,"Mmmmmh, sure, why not?|(She turns around and kiss you.)",250,0,0,
+300,-2,0,,Bitch!  Do you|want to fight?,,40,-1,0,Fight()
diff --git a/C001_BeforeClass/Sidney/Stage_FR.csv b/C001_BeforeClass/Sidney/Stage_FR.csv
new file mode 100644
index 0000000000..8aba96fd3d
--- /dev/null
+++ b/C001_BeforeClass/Sidney/Stage_FR.csv
@@ -0,0 +1,58 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Je veux simplement|me présenter.,"Mmmh, salut, Je m'appelle Sidney.|(Elle tourne la tête et regarde l'autre fille)",10,0,0,
+0,0,0,,"Oh ! T'es toujours aussi|rude avec des étrangers ?","Normalement non, désolée pour ça, je m'appelle|Sidney. (Elle tourne la tête et regarde l'autre fille)",10,0,1,
+0,0,0,,"Je suis nouvelle, ne te|mets pas en colère.","Nouvelle et pathétique, tu tiendras pas la journée.|(Elle tourne la tête et regarde l'autre fille)",10,-1,-1,
+0,0,0,,"Tu as l'air assez forte,|contente de te rencontrer.","Je suis la plus balaise ici, je m'appelle Sidney.|(Elle tourne la tête et regarde l'autre fille)",10,1,0,
+0,0,0,,Quelles mauvaises|manières !,Tu ferais mieux de la fermer ou je te casse le nez.|(Elle tourne la tête et regarde l'autre fille),10,-2,0,
+0,0,0,AmandaInBondage,"Ouais, les intellos vont |voir qui gouverne ici.","Bien dit ! Je m'appelle Sidney, ravie de te rencontrer.",20,2,0,
+0,0,0,AmandaInBondage,"Si tu veux pas finir comme|elle tu ferais mieux d'obéir.","(Elle baisse les yeux et reste silencieuse quelques|secondes.) Tant que cette intello est punie ça me va.",20,0,2,
+10,0,0,,Quelque chose|ne va pas ?,"Cette fichu brunette et sa copine stupide !|Voilà ce qui ne va pas.",20,0,0,
+10,0,0,,Pourquoi est-ce que tu|fixes cette fille ?,Ça ne te regardes pas.,20,0,0,
+10,0,0,,Arrête de la fixer !,Hé ! Tu ne me donnes pas d'ordre !,20,-1,1,
+20,0,0,,Tu m'as l'air d'être|bien remontée.,"Et ? Qu'est-ce que ça peut te faire ?",30,0,0,
+20,0,0,,Tu as vraiment l'air de|détester cette intello.,"Ah, ça oui ! C'est une emmerdeuse de première.|Un jour j'aurais ma revanche.",30,1,0,
+20,0,0,,"T'as le sang chaud,|j'aime ça.","C'est ça ! Maintenant, laisse-moi tranquille,| le cours va commencer".,40,1,0,
+20,0,0,,Ton comportement laisse|vraiment à désirer.,La ferme !|(Elle tourne la tête et t'ignore.),40,-1,0,
+20,1,0,,Tu as besoin d'aide|pour punir cette fille ?,"Je pourrais, oui ! J'ai des cordes dans mon sac.|On la chopera après les cours.",40,1,0,
+30,0,0,,"T'as le sang chaud,|j'aime ça.","C'est ça ! Maintenant, laisse-moi tranquille,| le cours va commencer".,40,1,0,
+30,0,0,,Ton comportement laisse|vraiment à désirer.,La ferme !|(Elle tourne la tête et t'ignore.),40,-1,0,
+30,1,0,,Tu as besoin d'aide|pour punir cette fille ?,"Je pourrais, oui ! J'ai des cordes dans mon sac.|On la chopera après les cours.",40,1,0,
+40,-2,0,,Sale connasse ! Tu veux|te battre ?,,40,-1,0,Fight()
+100,0,0,,Pourquoi as-tu des cordes|dans ton sac ?, Ça ne te regardes pas.|(Elle ferme son sac.),20,-1,0,
+100,0,0,,Tu vas faire de l'escalade|après l'école ?,"Oui ! Donne-moi ça !|(Elle ferme son sac.)",20,-1,0,
+100,0,0,,Tu as prévue de|kidnapper quelqu'un ?,"Mmmh, pourquoi cette question ?",110,0,-1,
+100,0,0,,"Alors, tu es une coquine|qui aime être attachée ?",Tu t'y connais en bondage ?,110,0,1,
+110,0,0,,Qu'est-ce que tu as|prévue ? J'en suis.,Parlons-en après les cours.|(Elle ferme son sac.),20,1,0,
+110,0,0,,Ça ne m'intéresse pas.,Ok ! Peu importe.|(Elle ferme son sac.),20,0,0,
+110,0,0,,C'est mal ! je vais|prévenir la professeur.,,40,-2,0,Fight()
+200,0,0,BondageNotConfronted,Les cordes dépassaient|de ton sac.,Menteuse ! Rends-les moi.,200,0,0,ConfrontBondage()
+200,0,0,BondageNotConfronted,"Tu trimballes des cordes...|Ok, tu veux être ligotée !",(Elle rougit.) Non ! Pas du tout !|Rends-les moi. Maintenant !,200,0,1,ConfrontBondage()
+200,0,0,BondageNotConfronted,"Désolée. je les adore, |peux-tu me ligoter ?","Tu es pathétique, tu finiras par me lécher les bottes.|Maintenant ! Rends-les moi. (Elle te les prends.)",300,0,-2,GiveRope()
+200,0,0,,Les voilà tes cordes. |Cache les mieux.,Ok ! Maintenant laisse-moi tranquille.|(Elle te les prends et se retourne.),300,1,0,GiveRope()
+200,0,0,,Discutons un peu plus.,"Mmmh. Ok.|De quoi veux-tu me parler ?",200,0,0,StopRope()
+200,0,2,,(Tu la déshabilles|et la ligotes.) (1 minute),(Tu lui aggripes le poignet et l'attaches par derrière.|Elle se débat mais fini par capituler.),220,0,0,Tie()
+200,0,4,,"Allez, déshabille-toi.|(Tu la ligotes.) (1 minute)",(Elle enlève son uniforme à contrecoeur|et te tend son poignet pour que tu l'attaches.),220,0,0,TieSub()
+200,0,0,,"Si tu les veux,|viens les chercher.",,40,-2,0,Fight()
+220,0,0,,(Tu la retournes.),Putain ! Qu'est-ce que tu fais ?|(Tu la forces à se retourner.),230,0,0,
+220,0,0,,(Tu la détaches.)|(1 minute),"(Tu détaches ses bras pendant qu'elle t'injure.|Une fois détachée, elle te repousse avec colère.)",200,0,0,Untie()
+220,0,0,,(Tu la chatouilles.)|(1 minute),J'ai dis que je n'étais pas chatouilleuse !|(Son regard est rempli de colère.),220,0,0,Tickle()
+220,1,0,,(Tu l'embrasses.)|(1 minute),(Elle te regarde d'un air ahuri|et reste sans voix.),220,0,0,
+220,0,0,AmandaInBondage,(Tu la fais câliner |Amanda.) (1 min),(Les deux filles sont forcées de se câliner et de se|frotter.) Putain ! Quelle genre de perverse es-tu ?,240,-1,0,
+220,0,0,,Ces cordes s'adaptent|tendrement sur ton corps.,Oh ! Mmmmh... Merci... Je suppose.,220,0,0,
+220,0,0,,"Si je te libère, je pourrais|te rattacher ? (1 min)",Ça me semble juste. Affaire conclue.|(Tu la détaches et lui serre la main.),310,1,1,Untie()
+220,0,0,,"Si je te libère, plus tard,|tu me ligoteras ? (1 min)",Ça marche ! La vengeance sera douce.|(Tu la détaches et lui serre la main.),310,1,-2,Untie()
+230,0,0,,(Tu la retournes.),(Tu la retournes pendant|qu'elle te fixe furieusement.),220,0,0,
+230,0,0,,(Tu la détaches.)|(1 minute),"(Tu détaches ses bras pendant qu'elle t'injure.|Une fois détachée, elle te repousse avec colère.)",200,0,0,Untie()
+230,0,0,,(Tu la chatouilles.)|(1 minute),J'ai dis que je n'étais pas chatouilleuse !|(Son regard est rempli de colère.),230,0,0,Tickle()
+230,0,0,,(Tu lui mets une fessée.)|(1 minute),(Tu lui flanques une fessée devant les autres|étudiantes.) C'est le mieux que tu puisses faire ?,230,0,0,
+230,0,0,,"Au vu de ta culotte, t'es en|train de prendre ton pied.",Arrête de mater sale perverse !,230,0,0,PantiesRemark()
+230,0,0,,"Si je te libère, je pourrais|te rattacher ? (1 min)",Ça me semble juste. Affaire conclue.|(Tu la détaches et lui serre la main.),310,1,1,Untie()
+230,0,0,,"Si je te libère, plus tard|tu me ligoteras ? (1 min)",Ça marche ! La vengeance sera douce.|(Tu la détaches et lui serre la main.),310,1,-2,Untie()
+240,0,0,,(Tu les sépares.),Enfin ! C'était une mauvaise idée !,220,0,0,
+240,0,0,,(Tu les forces à|s'embrasser.) (1 min),"(Tu les forces à s'embrasser, Sidney à l'air furieuse.)|Amanda, si tu mets la langue je te la coupe.",250,0,0,
+240,0,0,,Vous faites un joli|couple de bondage.,"(Elles te fixent, leurs regards en dit long.)",240,0,0,
+250,0,0,,(Tu les sépares.),Enfin ! C'était une idée pourrie !,220,0,0,
+250,0,0,,(Tu stoppes les baisers.),"Admets-le ! Je suis meilleure que cette stupide blonde.|(Elle essaye d'intimider Amanda qui détourne le regard.)",240,0,0,
+250,0,0,,Il y a de l'amour dans l'air !,Tu vas faire un vol plané quand je serais libre !,250,0,0,
+250,2,0,,Je peux aussi|avoir un baiser ?,"Mmmmmh, Ok, pourquoi pas ?|(Elle se tourne et t'embrasse.)",250,0,0,
+300,-2,0,,Sale connasse ! Tu veux|te battre ?,,40,-1,0,Fight()
diff --git a/C001_BeforeClass/Sidney/Text_EN.csv b/C001_BeforeClass/Sidney/Text_EN.csv
new file mode 100644
index 0000000000..5b22b4a2ff
--- /dev/null
+++ b/C001_BeforeClass/Sidney/Text_EN.csv
@@ -0,0 +1,5 @@
+Tag,Content
+MyRopes,What are you doing with MY ropes?|(You need +2 submission to dominate Sidney.)
+Bondage,(You pin her and tie her wrist behind her back.|She trashes and kicks you but finally submits.)
+Tickle,Don't even try!  I'm not ticklish!|(She trashes and tries to get free.)
+Panties,What the fuck?|(She blushes and tries to hide her panties.)
diff --git a/C001_BeforeClass/Sidney/Text_FR.csv b/C001_BeforeClass/Sidney/Text_FR.csv
new file mode 100644
index 0000000000..91d4880976
--- /dev/null
+++ b/C001_BeforeClass/Sidney/Text_FR.csv
@@ -0,0 +1,5 @@
+Tag,Content
+MyRopes,"Que fais-tu avec MES cordes ? (Tu as besoin|de +2 en soumission pour dominer Sidney.)"
+Bondage,"(Tu lui aggripes le poignet et l'attaches par derrière.|Elle se débat mais fini par se rendre.)"
+Tickle,"N'essaye même pas ! Je ne suis pas chatouilleuse ! |(Elle se débat et tente de se libérer.)"
+Panties,"C'est faux !|(Elle rougit et essaye de cacher sa culotte)."
diff --git a/C002_FirstClass/Amanda/Amanda.jpg b/C002_FirstClass/Amanda/Amanda.jpg
new file mode 100644
index 0000000000..8981f4aa40
Binary files /dev/null and b/C002_FirstClass/Amanda/Amanda.jpg differ
diff --git a/C002_FirstClass/Amanda/Amanda_BallGag.jpg b/C002_FirstClass/Amanda/Amanda_BallGag.jpg
new file mode 100644
index 0000000000..160859a4ff
Binary files /dev/null and b/C002_FirstClass/Amanda/Amanda_BallGag.jpg differ
diff --git a/C002_FirstClass/Amanda/Amanda_Cuffs.jpg b/C002_FirstClass/Amanda/Amanda_Cuffs.jpg
new file mode 100644
index 0000000000..0c489cdd68
Binary files /dev/null and b/C002_FirstClass/Amanda/Amanda_Cuffs.jpg differ
diff --git a/C002_FirstClass/Amanda/Amanda_Cuffs_BallGag.jpg b/C002_FirstClass/Amanda/Amanda_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..45086b2a2d
Binary files /dev/null and b/C002_FirstClass/Amanda/Amanda_Cuffs_BallGag.jpg differ
diff --git a/C002_FirstClass/Amanda/Amanda_Rope.jpg b/C002_FirstClass/Amanda/Amanda_Rope.jpg
new file mode 100644
index 0000000000..7f113f6182
Binary files /dev/null and b/C002_FirstClass/Amanda/Amanda_Rope.jpg differ
diff --git a/C002_FirstClass/Amanda/Amanda_Rope_BallGag.jpg b/C002_FirstClass/Amanda/Amanda_Rope_BallGag.jpg
new file mode 100644
index 0000000000..2c1d803f00
Binary files /dev/null and b/C002_FirstClass/Amanda/Amanda_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Amanda/Hug_Amanda_Rope_BallGag_Sarah_Rope.jpg b/C002_FirstClass/Amanda/Hug_Amanda_Rope_BallGag_Sarah_Rope.jpg
new file mode 100644
index 0000000000..fa85ac7d41
Binary files /dev/null and b/C002_FirstClass/Amanda/Hug_Amanda_Rope_BallGag_Sarah_Rope.jpg differ
diff --git a/C002_FirstClass/Amanda/Hug_Amanda_Rope_BallGag_Sarah_Rope_BallGag.jpg b/C002_FirstClass/Amanda/Hug_Amanda_Rope_BallGag_Sarah_Rope_BallGag.jpg
new file mode 100644
index 0000000000..5886355af8
Binary files /dev/null and b/C002_FirstClass/Amanda/Hug_Amanda_Rope_BallGag_Sarah_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Amanda/Hug_Amanda_Rope_Sarah_Rope.jpg b/C002_FirstClass/Amanda/Hug_Amanda_Rope_Sarah_Rope.jpg
new file mode 100644
index 0000000000..a46b984341
Binary files /dev/null and b/C002_FirstClass/Amanda/Hug_Amanda_Rope_Sarah_Rope.jpg differ
diff --git a/C002_FirstClass/Amanda/Hug_Amanda_Rope_Sarah_Rope_BallGag.jpg b/C002_FirstClass/Amanda/Hug_Amanda_Rope_Sarah_Rope_BallGag.jpg
new file mode 100644
index 0000000000..dd47452ad1
Binary files /dev/null and b/C002_FirstClass/Amanda/Hug_Amanda_Rope_Sarah_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Amanda/Intro_EN.csv b/C002_FirstClass/Amanda/Intro_EN.csv
new file mode 100644
index 0000000000..b52fb5bcb0
--- /dev/null
+++ b/C002_FirstClass/Amanda/Intro_EN.csv
@@ -0,0 +1,21 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,!BondageBefore,(She looks at you but stays quiet to make|sure she doesn't bother the teacher.),Amanda.jpg
+0,1,0,!BondageBefore,(She whispers) We should talk after|class.  Miss Mildred is teaching.,Amanda.jpg
+0,0,0,BondageBefore,"(She looks at you and whispers)|Don't think about bondage, we are in class.",Amanda.jpg
+0,1,0,BondageBefore,"(She looks at you and whispers)|No more bondage please, we are in class.",Amanda.jpg
+10,0,0,,(She whispers) Is there anything you want?,Amanda.jpg
+20,0,0,,(She whispers) You don't|seem to be enjoying this class.,Amanda.jpg
+30,0,0,,(She whispers) What do you have in mind?,Amanda.jpg
+40,0,0,,(She whispers) You want to kidnap Miss Mildred?|(You need 4 love or submission to convince her.),Amanda.jpg
+50,0,0,,"(She whispers and blushes.) I will|help you, but you do the first move.",Amanda.jpg
+100,0,0,Common_PlayerNotGagged,Oh my god!  This is unbelievable!,Amanda.jpg
+100,0,0,Common_PlayerGagged,(She giggles quietly while looking at you.),Amanda.jpg
+100,2,0,Common_PlayerGagged,(She looks at you and whispers.)|You look adorable with that gag.,Amanda.jpg
+100,-2,0,Common_PlayerGagged,(She looks at you and whispers.)|I think I like you better when you're gagged.,Amanda.jpg
+110,0,0,,(She whimpers in her gag and|shakes her head from left to right.),Amanda_BallGag.jpg
+120,0,0,,"(She tugs on her cuffs,|trying to slip out a hand.)",Amanda_Cuffs.jpg
+130,0,0,,(She whimpers in her gag and|shakes her head from left to right.),Amanda_Cuffs_BallGag.jpg
+140,0,0,,(She rubs her skin against the|rope and seems to enjoy the feeling.),Amanda_Rope.jpg
+150,0,0,,(She whimpers in her gag and|shakes her head from left to right.),Amanda_Rope_BallGag.jpg
+160,0,0,,,Amanda_Rope.jpg
+170,0,0,,,Amanda_Rope_BallGag.jpg
diff --git a/C002_FirstClass/Amanda/Intro_FR.csv b/C002_FirstClass/Amanda/Intro_FR.csv
new file mode 100644
index 0000000000..25dc3c06c5
--- /dev/null
+++ b/C002_FirstClass/Amanda/Intro_FR.csv
@@ -0,0 +1,21 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,!BondageBefore,(Elle te regarde mais reste silencieuse pour s'assurer|qu'elle n'importune pas la professeur.),Amanda.jpg
+0,1,0,!BondageBefore,(Elle chuchote) Nous parlerons après la classe.|Madame Mildred est en train d'enseigner.,Amanda.jpg
+0,0,0,BondageBefore,"(Elle te regarde et chuchote)|Ne pense pas au bondage, nous sommes en classe.",Amanda.jpg
+0,1,0,BondageBefore,"(Elle te regarde et chuchote) Pas encore du bondage,|s'il te plaît, nous sommes en classe.",Amanda.jpg
+10,0,0,,(Elle chuchote) Tu as quelque chose à me demander ?,Amanda.jpg
+20,0,0,,(Elle chuchote) Tu n'as pas l'air d'apprécier ce cours.,Amanda.jpg
+30,0,0,,(Elle chuchote) Qu'est-ce que tu as en tête ?,Amanda.jpg
+40,0,0,,"(Elle chuchote) Tu veux kidnapper Madame Mildred ?|(""+4"" en amour ou en soumission pour la convaincre.)",Amanda.jpg
+50,0,0,,"(Elle chuchote et rougit.) je t'aiderai,| mais tu prends les devants.",Amanda.jpg
+100,0,0,Common_PlayerNotGagged,Oh mon dieu ! C'est incroyable !,Amanda.jpg
+100,0,0,Common_PlayerGagged,(Elle rit discrètement tout en te regardant.),Amanda.jpg
+100,2,0,Common_PlayerGagged,(Elle te regarde et chuchote.)|Tu as l'air adorable avec ce bâillon.,Amanda.jpg
+100,-2,0,Common_PlayerGagged,(Elle te regarde et chuchote.)|Je penses que je te préfère quand tu es baîlloné.,Amanda.jpg
+110,0,0,,"(Elle gémit dans son baîllon et|tourne sa tête de gauche à droite.)",Amanda_BallGag.jpg
+120,0,0,,"(Elle tire sur ses menottes,|et essaye de libérer une main.)",Amanda_Cuffs.jpg
+130,0,0,,"(Elle gémit dans son baîllon et|tourne sa tête de gauche à droite.)",Amanda_Cuffs_BallGag.jpg
+140,0,0,,(Elle frotte sa peau contre la corde|et semble apprécier la sensation.),Amanda_Rope.jpg
+150,0,0,,(Elle gémit dans son baîllon et|tourne sa tête de gauche à droite.),Amanda_Rope_BallGag.jpg
+160,0,0,,,Amanda_Rope.jpg
+170,0,0,,,Amanda_Rope_BallGag.jpg
diff --git a/C002_FirstClass/Amanda/Script.js b/C002_FirstClass/Amanda/Script.js
new file mode 100644
index 0000000000..b6e74d7475
--- /dev/null
+++ b/C002_FirstClass/Amanda/Script.js
@@ -0,0 +1,169 @@
+var C002_FirstClass_Amanda_CurrentStage = 0;
+var C002_FirstClass_Amanda_BowRemarkReady = true;
+var C002_FirstClass_Amanda_SubdueRemarkReady = false;
+var C002_FirstClass_Amanda_CropDone = false;
+var C002_FirstClass_Amanda_BondageHugReady = false;
+var C002_FirstClass_Amanda_BondageHugDone = false;
+var C002_FirstClass_Amanda_BondageBefore = false;
+var C002_FirstClass_Amanda_TickleDone = false;
+var C002_FirstClass_Amanda_KissSarahDone = false;
+
+// Chapter 2 - Amanda Load
+function C002_FirstClass_Amanda_Load() {
+
+	// Load the scene parameters	
+	ActorLoad("Amanda", "Classroom");
+	LoadInteractions();
+	if (C002_FirstClass_Classroom_MildredSubdueSuccess) C002_FirstClass_Amanda_BowRemarkReady = false;
+	C002_FirstClass_Amanda_BondageBefore = (ActorGetValue(ActorBondageCount) > 0);
+
+	// Stage jumps depending on actor bondage if subdue was tried
+	if ((C002_FirstClass_Classroom_MildredSubdueFailed) || (C002_FirstClass_Classroom_MildredSubdueSuccess)) {
+		if ((parseInt(C002_FirstClass_Amanda_CurrentStage) < 100) && (C002_FirstClass_Classroom_MildredSubdueSuccess)) C002_FirstClass_Amanda_SubdueRemarkReady = true;
+		C002_FirstClass_Amanda_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+	}
+	
+	// The remark cannot be done if the player is gagged, also calculate the bondage hug
+	if (Common_PlayerGagged) C002_FirstClass_Amanda_SubdueRemarkReady = false;
+	C002_FirstClass_Amanda_BondageHugReady = ((C002_FirstClass_Amanda_CurrentStage > 100) && (Common_PlayerNotRestrained) && (Common_PlayerNotGagged) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (ActorSpecificHasInventory("Amanda", "Rope")) && (ActorSpecificHasInventory("Sarah", "Rope")));
+
+}
+
+// Chapter 2 - Amanda Run
+function C002_FirstClass_Amanda_Run() {
+	
+	// Regular interactions
+	BuildInteraction(C002_FirstClass_Amanda_CurrentStage);
+	
+	// Bondage hug
+	if ((C002_FirstClass_Amanda_CurrentStage == 160) || (C002_FirstClass_Amanda_CurrentStage == 170)) {
+		OverridenIntroImage = "";
+		if ((ActorSpecificHasInventory("Amanda", "BallGag")) && (ActorSpecificHasInventory("Sarah", "BallGag"))) OverridenIntroImage = "Hug_Amanda_Rope_BallGag_Sarah_Rope_BallGag.jpg";
+		if ((ActorSpecificHasInventory("Amanda", "BallGag")) && (!ActorSpecificHasInventory("Sarah", "BallGag"))) OverridenIntroImage = "Hug_Amanda_Rope_BallGag_Sarah_Rope.jpg";
+		if ((!ActorSpecificHasInventory("Amanda", "BallGag")) && (ActorSpecificHasInventory("Sarah", "BallGag"))) OverridenIntroImage = "Hug_Amanda_Rope_Sarah_Rope_BallGag.jpg";
+		if ((!ActorSpecificHasInventory("Amanda", "BallGag")) && (!ActorSpecificHasInventory("Sarah", "BallGag"))) OverridenIntroImage = "Hug_Amanda_Rope_Sarah_Rope.jpg";		
+	}
+	
+}
+
+// Chapter 2 - Amanda Click
+function C002_FirstClass_Amanda_Click() {	
+
+	// Keep the stage on entry
+	var EntryStage = C002_FirstClass_Amanda_CurrentStage;
+
+	// Regular interactions
+	ClickInteraction(C002_FirstClass_Amanda_CurrentStage);
+	var ClickedInv = GetClickedInventory();
+	
+	// If the player wants to gag Amanda
+	if ((C002_FirstClass_Amanda_CurrentStage >= 100) && (ClickedInv == "BallGag") && (ActorHasInventory("BallGag") == false) && (Common_PlayerNotRestrained)) {
+		if ((ActorGetValue(ActorSubmission) >= 2) || (ActorHasInventory("Rope")) || (ActorHasInventory("Cuffs"))) {
+			if (ActorGetValue(ActorSubmission) >= 4) OverridenIntroText = GetText("BallGagWilling");
+			else OverridenIntroText = GetText("BallGagReluctant");
+			PlayerRemoveInventory("BallGag", 1);
+			ActorAddInventory("BallGag");
+			if (C002_FirstClass_Amanda_CurrentStage == 160) C002_FirstClass_Amanda_CurrentStage = 170;
+			else C002_FirstClass_Amanda_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+		} else OverridenIntroText = GetText("BallGagRefuse");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to cuff Amanda
+	if ((C002_FirstClass_Amanda_CurrentStage >= 100) && (ClickedInv == "Cuffs") && (ActorHasInventory("Cuffs") == false) && (Common_PlayerNotRestrained)) {
+		if ((ActorGetValue(ActorSubmission) >= 2) || (ActorHasInventory("Rope"))) {
+			if (ActorHasInventory("Rope")) { OverridenIntroText = GetText("CuffsReplaceRope"); PlayerAddInventory("Rope", 1); ActorRemoveInventory("Rope"); }
+			else if (ActorGetValue(ActorSubmission) >= 4) OverridenIntroText = GetText("CuffsWilling");
+			else OverridenIntroText = GetText("CuffsReluctant");
+			PlayerRemoveInventory("Cuffs", 1);
+			ActorAddInventory("Cuffs");
+			C002_FirstClass_Amanda_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+		} else OverridenIntroText = GetText("CuffsRefuse");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to uncuff Amanda
+	if ((C002_FirstClass_Amanda_CurrentStage >= 100) && (ClickedInv == "CuffsKey") && (ActorHasInventory("Cuffs") == true) && (Common_PlayerNotRestrained)) {
+		OverridenIntroText = GetText("CuffsUnlock");
+		PlayerAddInventory("Cuffs", 1);
+		ActorRemoveInventory("Cuffs");
+		C002_FirstClass_Amanda_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to rope Amanda
+	if ((C002_FirstClass_Amanda_CurrentStage >= 100) && (ClickedInv == "Rope") && (ActorHasInventory("Rope") == false) && (Common_PlayerNotRestrained)) {
+		if ((ActorGetValue(ActorSubmission) >= 2) || (ActorHasInventory("Cuffs"))) {
+			if (ActorHasInventory("Cuffs")) { OverridenIntroText = GetText("RopeReplaceCuffs"); PlayerAddInventory("Cuffs", 1); ActorRemoveInventory("Cuffs"); }
+			else if (ActorGetValue(ActorSubmission) >= 4) OverridenIntroText = GetText("RopeWilling");
+			else OverridenIntroText = GetText("RopeReluctant");
+			PlayerRemoveInventory("Rope", 1);
+			ActorAddInventory("Rope");
+			C002_FirstClass_Amanda_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+		} else OverridenIntroText = GetText("RopeRefuse");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to crop Amanda
+	if ((C002_FirstClass_Amanda_CurrentStage >= 100) && (ClickedInv == "Crop") && (Common_PlayerNotRestrained)) {
+		if (ActorHasInventory("BallGag")) OverridenIntroText = GetText("CropGagged");
+		else OverridenIntroText = GetText("Crop");
+		if (C002_FirstClass_Amanda_CropDone == false) { C002_FirstClass_Amanda_CropDone = true; ActorChangeAttitude(-2, 0); }
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// If the stage changed, we remove the Overriden image, also check for the bondage hug
+	if (EntryStage != C002_FirstClass_Amanda_CurrentStage) OverridenIntroImage = "";
+	C002_FirstClass_Amanda_BondageHugReady = ((C002_FirstClass_Amanda_CurrentStage > 100) && (Common_PlayerNotRestrained) && (Common_PlayerNotGagged) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (ActorSpecificHasInventory("Amanda", "Rope")) && (ActorSpecificHasInventory("Sarah", "Rope")));
+
+}
+
+// Chapter 2 - Amanda Ungag
+function C002_FirstClass_Amanda_Ungag() {
+	PlayerAddInventory("BallGag", 1);
+	ActorRemoveInventory("BallGag");
+}
+
+// Chapter 2 - Amanda Untie
+function C002_FirstClass_Amanda_Untie() {
+	PlayerAddInventory("Rope", 1);
+	ActorRemoveInventory("Rope");
+}
+
+// Chapter 2 - Amanda Tickle
+function C002_FirstClass_Amanda_Tickle() {
+	if (C002_FirstClass_Amanda_TickleDone == false) {
+		C002_FirstClass_Amanda_TickleDone = true;
+		ActorChangeAttitude(1, 0);
+	}
+}
+
+// Chapter 2 - Amanda Bow Remark
+function C002_FirstClass_Amanda_BowRemark() {
+	C002_FirstClass_Amanda_BowRemarkReady = false;
+}
+
+// Chapter 2 - Amanda Subdue Remark
+function C002_FirstClass_Amanda_SubdueRemark() {
+	C002_FirstClass_Amanda_SubdueRemarkReady = false;
+}
+
+// Chapter 2 - Amanda Agrees to Help
+function C002_FirstClass_Amanda_AgreeHelp() {
+	C002_FirstClass_Classroom_AmandaAgree = true;
+}
+
+// Chapter 2 - Amanda Bondage Hug 
+function C002_FirstClass_Amanda_BondageHug() {
+	if (C002_FirstClass_Amanda_BondageHugDone == false) { C002_FirstClass_Amanda_BondageHugDone = true; ActorChangeAttitude(1, 0); }
+}
+
+// Chapter 2 - Amanda Separate from Sarah hug
+function C002_FirstClass_Amanda_Separate() {
+	OverridenIntroImage = "";
+}
+
+// Chapter 2 - Amanda Kiss Sarah
+function C002_FirstClass_Amanda_KissSarah() {
+	if (C002_FirstClass_Amanda_KissSarahDone == false) { C002_FirstClass_Amanda_KissSarahDone = true; ActorChangeAttitude(1, 0); }
+}
diff --git a/C002_FirstClass/Amanda/Stage_EN.csv b/C002_FirstClass/Amanda/Stage_EN.csv
new file mode 100644
index 0000000000..2a4e118898
--- /dev/null
+++ b/C002_FirstClass/Amanda/Stage_EN.csv
@@ -0,0 +1,48 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Psssst.,(She whispers) What?,10,0,0,
+0,0,0,,Excuse me.,(She whispers) Shouldn't we talk later?,10,0,-1,
+0,0,0,,Hey!  Pretty eyes.,(She blushes and whispers)  Who?  Me?,10,1,0,
+10,0,0,,Are you bored|as I am?,(She looks confused.) Bored?|How can anyone be bored by derivatives?,20,-1,0,
+10,0,0,,Will this class|ever ends?,(She whispers.)  It will end at nine.|I can see that math isn't your forte.,20,0,0,
+10,0,0,,Can you help me|with these problems?,(She shakes her head no.)  Not now.|But maybe I can help you later tonight.,20,0,-1,
+10,0,0,,You seem to|love that class.,(She nods her head.)  I do!  Miss Mildred|might seem tough but she's a good teacher.,20,0,0,
+20,0,0,,Don't you want to|get out of here?,(She looks surprised.)  Get out?|From class?  What do you have in mind?,30,0,0,
+20,0,0,,"Admit it, there are better|things we could do now.",Better things?  What do you have in mind?,30,0,0,
+20,0,0,,A cutie like you could|have more fun.,More fun?  What do you have in mind?,30,0,1,
+20,0,0,,"You're boring me,|let's do something else.",Something else?  What do you have in mind?,30,-1,0,
+30,0,0,,Would you like to see|the teacher in soft ropes?,(Her eyes widen and she blushes.)|Putting Miss Mildred in bondage?  Us?,40,1,0,
+30,0,0,,We should kidnap|the teacher.,(Her eyes widen and she whispers.)|For real?  Tying her in class?,40,0,0,
+30,0,0,,We need to beat up|and bind the teacher.,"(She shakes her head from left to right.)|Oh lord no, we cannot hurt Miss Mildred.",40,-1,0,
+30,0,0,,"Girl, you will help|me kidnap Mildred.",(Her eyes widen and she whispers.)|What?  Tying her in front of the class?,40,0,1,
+40,4,0,,You can do it for|friendship. (Wink.),"(She nods.)  Alright, for friendship.|I will help you but you do the first move.",50,0,0,AgreeHelp()
+40,0,4,,"Subbie girl, you|will do it.",(She bows her head.)  Yes Miss.|Please do the first move and I will help.,50,0,0,AgreeHelp()
+40,0,0,,"Yes, will you|help me?","(She shakes her head no.)|I can't do that, I like Miss Mildred.",40,0,0,
+40,0,0,,"Yes, but let me|think about it.","(She shrugs)  Alright, but|you'll need to be very convincing.",40,0,0,
+100,0,0,SubdueRemarkReady,Would you like to|be tied up like her?,Me?  (She giggles.)  Ye... No.|That wouldn't be proper.,100,0,1,SubdueRemark()
+100,0,4,SubdueRemarkReady,Admit it subbie girl.|You envy her now.,I... well... err... yes Miss.|(She bows her head to you.),100,0,1,SubdueRemark()
+100,0,0,SubdueRemarkReady,I made this nice|bondage for you.,(She blushes.)  For me?|(She giggles.)  This is so kinky.,100,1,0,SubdueRemark()
+100,0,0,SubdueRemarkReady,We have a different|class this morning.,Is this going to be on the exam? (She giggles.),100,0,0,SubdueRemark()
+100,0,0,Common_PlayerGagged,"@Uuuummph, mmph!",(She put her hand over her mouth not to giggle.),100,0,0,
+100,0,0,Common_PlayerGagged,(Chew on the gag.),(She looks at you and seems|to like what she's seeing.),100,0,0,
+100,1,0,Common_PlayerGagged,(Try to point|to the BallGag.),(She whispers) I will help you after class.,100,0,0,
+100,-1,0,Common_PlayerGagged,(Try to point|to the BallGag.),(She gives you and thumbs up and giggles.),100,0,0,
+100,0,0,Common_PlayerRestrained,(Tug on your restrains.),(She shakes her head from left to right.),100,0,0,
+100,0,-2,BowRemarkReady,(Bow your head.),(She whispers.) You're|so cute bound and gagged.,100,1,-1,BowRemark()
+110,0,0,Common_PlayerGagged,"@Uuuummph, mmph!",(She giggles and mumbles back to you.),110,0,0,
+110,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the big ball.)|Thank you.  That was pretty uncomfortable.,100,0,0,Ungag()
+130,0,0,Common_PlayerGagged,"@Uuuummph, mmph!",(She giggles and mumbles back to you.),130,0,0,
+130,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the big ball.)|Thank you.  That was pretty uncomfortable.,120,0,0,Ungag()
+140,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),"(You tickle her and she laughs madly.)|HahaHAHAha!  Please, please stop.",140,0,0,Tickle()
+140,0,0,Common_PlayerNotRestrained,(Untie her.)|(1 minute),(You untie the knots and she dresses back.)|You sure know your knots. (She giggles.),100,0,0,Untie()
+140,0,0,BondageHugReady,Would you like to hug|Sarah? (1 minute),(She gives a warm bondage hug to Sarah|and whispers something soft in her ear.),160,0,0,BondageHug()
+150,0,0,Common_PlayerGagged,"@Uuuummph, mmph!",(She giggles and mumbles back to you.),150,0,0,
+150,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),"(You tickle her and she laughs madly|in her gag, she blushes red after that.)",150,0,0,Tickle()
+150,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the big ball.)|Thank you.  That was pretty uncomfortable.,140,0,0,Ungag()
+150,0,0,Common_PlayerNotRestrained,(Untie her.)|(1 minute),(You untie the knots and she dresses back.)|(She points then points to her gag.),110,0,0,Untie()
+150,0,0,BondageHugReady,Would you like to hug|Sarah? (1 minute),(She hesitates but slowly moves to|her friend to give her a warm bondage hug.),170,0,0,BondageHug()
+160,0,0,,Would you like to kiss|her?  (1 minute),"Sarah, do you want to kiss me?|(She gets closer and kisses Sarah.)",160,0,0,KissSarah()
+160,0,0,,Are you two in love?,I...  Err...  Well...  (She blushes red.),160,0,0,
+160,0,0,Common_PlayerNotRestrained,(Separate them.)|(1 minute),(She whispers something to Sarah and they split.),140,0,0,Separate()
+170,0,0,,You two make a|nice bondage duo.,(She blushes and looks away from you.),170,0,0,
+170,0,0,Common_PlayerNotRestrained,(Separate them.)|(1 minute),(She looks at Sarah one last|time and returns to her chair.),150,0,0,Separate()
+170,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the BallGag.)|Thank you.  That was pretty uncomfortable.,160,0,0,Ungag()
diff --git a/C002_FirstClass/Amanda/Stage_FR.csv b/C002_FirstClass/Amanda/Stage_FR.csv
new file mode 100644
index 0000000000..158055b7f4
--- /dev/null
+++ b/C002_FirstClass/Amanda/Stage_FR.csv
@@ -0,0 +1,48 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Psssst.,(Elle chuchote) Quoi ?,10,0,0,
+0,0,0,,Excuse-moi.,(Elle chuchote) On ne devrait pas parler plus tard ?,10,0,-1,
+0,0,0,,Hé ! Jolis yeux.,(Elle rougit et chuchote) Qui ? Moi ?,10,1,0,
+10,0,0,,Est-ce que tu t'ennuies|autant que moi ?,(Elle à l'air confuse.) S'ennuyer ? Comment quelqu'un|peut être ennuyé par les dérivées ?,20,-1,0,
+10,0,0,,Est-ce que ce cours|ne finira jamais ?,(Elle chuchote.) Il termine à 9H.|Je vois que les maths ne sont pas ton point fort.,20,0,0,
+10,0,0,,Peux-tu m'aider|avec ces problèmes ?,(Elle te fait non de la tête.) Pas maintenant.|Mais peut être que je pourrais t'aider plus tard ce soir.,20,0,-1,
+10,0,0,,Tu sembles|adorer cette classe.,(Elle hoche la tête.) C'est le cas ! Madame Mildred|peu paraître dûre mais c'est une bonne enseignante.,20,0,0,
+20,0,0,,"Ne veux-tu pas faire|un tour dehors ?","(Elle a l'air surprise.) Dehors ? Sortir de la classe ? |Qu'est-ce que tu as en tête ?",30,0,0,
+20,0,0,,"Admets-le, il y a de|meilleures choses à faire.",De meilleures choses ? Qu'est-ce que tu as en tête ?,30,0,0,
+20,0,0,,Une mignonne comme toi|devrait s'amuser plus.,S'amuser plus ? Qu'est-ce que tu as en tête ?,30,0,1,
+20,0,0,,"Tu m'ennuies,|Faisons autre chose.",Autre chose ? Qu'est-ce que tu as en tête ?,30,-1,0,
+30,0,0,,Aimerais-tu voir la prof|avec des cordes légères ?,(Ses yeux s'élargissent et elle rougit.)|Mettre Madame Mildred en bondage ? Nous ?,40,1,0,
+30,0,0,,On devrait kidnapper|la professeur.,(Ses yeux s'élargissent et elle rougit.)|Pour de vrai ? La ligoter en classe ?,40,0,0,
+30,0,0,,Nous devons battre|et ligoter la prof.,"(Elle secoue la tête de gauche à droite.) Oh mon dieu, |non, on peut pas blesser Madame Mildred.",40,-1,0,
+30,0,0,,"Petite, tu m'aideras|à kidnapper Mildred.",(Ses yeux s'élargissent et elle rougit.)|Quoi ? La ligoter devant toute la classe ?,40,0,1,
+40,4,0,,Tu peux le faire !|Pour l'amitié. (Clin d'oeil.),"(Elle hoche la tête.) D'accord, pour l'amitié.|Je t'aiderai, mais tu prends les devants.",50,0,0,AgreeHelp()
+40,0,4,,"""Soumise"",|Tu le feras.","(Elle baisse la tête.) Oui, Madame.|S'il vous plaît, prenez-les devants et j'aiderai.",50,0,0,AgreeHelp()
+40,0,0,,"Oui, m'aideras-tu ?","(Elle secoue la tête de gauche à droite.)|Je ne peux pas faire ça, J'aime bien Madame Mildred.",40,0,0,
+40,0,0,,"Oui, mais laisse-moi|y réfléchir.","(Elle hausse les épaules)|D'accord, mais tu devras être très convaincante.",40,0,0,
+100,0,0,SubdueRemarkReady,"Tu aimerais être ligotée|comme elle ?","Moi ? (Elle rit nerveusement.) Ou... No...|Ça ne serait pas convenable.",100,0,1,SubdueRemark()
+100,0,4,SubdueRemarkReady,"Admets-le ""Soumise"".|Tu l'envies.","Je... C'est... Euh... Oui, Madame.|(Elle baisse la tête.)",100,0,1,SubdueRemark()
+100,0,0,SubdueRemarkReady,"J'ai fait ce ravissant|bondage pour toi.","(She rougit.) Pour moi ?|(Elle rit.) C'est tellement coquin.",100,1,0,SubdueRemark()
+100,0,0,SubdueRemarkReady,"Nous avons un cours|bien différent ce matin.","Est-ce que ce sujet sera sur le prochain contrôle ?|(Elle rit.)",100,0,0,SubdueRemark()
+100,0,0,Common_PlayerGagged,"@Uuuummph, mmph !","(Elle met sa main sur sa bouche|pour s'empêcher de rire.)",100,0,0,
+100,0,0,Common_PlayerGagged,"(Tu mâches le bâillon.)","(Elle te regarde et semble|apprécier le spectacle.)",100,0,0,
+100,1,0,Common_PlayerGagged,"(Tu essayes de montrer|du doigt la boule.)","(Elle chuchote) Je t'aiderai après le cours.",100,0,0,
+100,-1,0,Common_PlayerGagged,"(Tu essayes de montrer|du doigt la boule.)","(Elle te regarde, lève son pouce puis elle rit.)",100,0,0,
+100,0,0,Common_PlayerRestrained,"(Tu tires sur tes liens.)","(Elle tourne sa tête de gauche à droite.)",100,0,0,
+100,0,-2,BowRemarkReady,"(Tu baisses la tête.)","(Elle chuchote.) Tu es tellement|mignonne attachée et bâillonée.",100,1,-1,BowRemark()
+110,0,0,Common_PlayerGagged,"@Uuuummph, mmph !",(Elle rit et marmonne.),110,0,0,
+110,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),"(Tu détaches le bâillon et retires la grosse boule.)|Merci. C'était vraiment inconfortable.",100,0,0,Ungag()
+130,0,0,Common_PlayerGagged,"@Uuuummph, mmph !",(Elle rit et marmonne.),130,0,0,
+130,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),"(Tu détaches le bâillon et retires la grosse boule.)|Merci. C'était vraiment inconfortable.",120,0,0,Ungag()
+140,0,0,Common_PlayerNotRestrained,(Tu la chatouilles.)|(1 minute),"(Tu la chatouilles et elle rit comme une folle.)|Ha ha HA HA ha ! S'il te plaît, arrête ! S'il te plaît.",140,0,0,Tickle()
+140,0,0,Common_PlayerNotRestrained,(Tu la détaches.)|(1 minute),(Tu défais les noeuds et elle se rhabille.)|Tu sais bien faire les noeuds. (Elle rit.),100,0,0,Untie()
+140,0,0,BondageHugReady,Aimerais-tu faire un calin|à Sarah ? (1 minute),(Elle donne un chaleureux câlin à Sarah|et susurre quelque chose de doux dans son oreille.),160,0,0,BondageHug()
+150,0,0,Common_PlayerGagged,"@Uuuummph, mmph !",(Elle rit et marmonne.),150,0,0,
+150,0,0,Common_PlayerNotRestrained,(Tu la chatouilles.)|(1 minute),"(Tu la chatouilles et elle rit comme une folle|dans son bâillon, elle devient cramoisie juste après.)",150,0,0,Tickle()
+150,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),(Tu détaches le bâillon et retires la grosse boule.)|Merci. C'était vraiment inconfortable.,140,0,0,Ungag()
+150,0,0,Common_PlayerNotRestrained,(Tu la détaches.)|(1 minute),(Tu défais les noeuds et elle se rhabille.)|(Elle t'indique les sangles de son bâillon.),110,0,0,Untie()
+150,0,0,BondageHugReady,"Aimerais-tu faire un câlin|à Sarah ? (1 minute)","(Elle hésite mais se déplace lentement vers son amie|pour lui donner un câlin chaleureux.)",170,0,0,BondageHug()
+160,0,0,,Aimerais-tu|l'embrasser ? (1 minute),"Sarah, tu veux bien m'embrasser ?|(Elle se rapproche et embrasse Sarah.)",160,0,0,KissSarah()
+160,0,0,,Vous êtes amoureuse ?,Je... Euh... C'est... (Elle devient cramoisie.),160,0,0,
+160,0,0,Common_PlayerNotRestrained,(Tu les sépares.)|(1 minute),(Elle murmure quelque chose à Sarah|et elles se séparent.),140,0,0,Separate()
+170,0,0,,Vous faites un joli|couple de bondage.,(Elle rougit et détourne le regard.),170,0,0,
+170,0,0,Common_PlayerNotRestrained,(Tu les sépares.)|(1 minute),(Elle regarde Sarah une dernière fois|et retourne s'assoir sur sa chaise.),150,0,0,Separate()
+170,0,0,Common_PlayerNotRestrained,(Tu la détaches.)|(1 minute),"(Tu détaches le bâillon et retires la grosse boule.)|Merci. C'était vraiment inconfortable.",160,0,0,Ungag()
diff --git a/C002_FirstClass/Amanda/Text_EN.csv b/C002_FirstClass/Amanda/Text_EN.csv
new file mode 100644
index 0000000000..a16a8d7951
--- /dev/null
+++ b/C002_FirstClass/Amanda/Text_EN.csv
@@ -0,0 +1,15 @@
+Tag,Content
+BallGagWilling,(She opens wide for you to push|the ball in her mouth and strap the gag.)
+BallGagReluctant,(She shuts her mouth to stop you but|you're able to push it and buckle it.)
+BallGagRefuse,She steps back and refuse to be gagged.|(You need 2 submission or more to gag Amanda.)
+CuffsReplaceRope,(You undo the ropes so she can get|dressed but you cuff her right after.)
+CuffsWilling,"(She bows her head, sits down and put|her arms behind her back to be cuffed.)"
+CuffsReluctant,(She pushes you but you're able|to pin her down to cuff her.)
+CuffsRefuse,She pushes you back and refuses to be cuffed.|(You need 2 submission or more to cuff Amanda.)
+CuffsUnlock,(You unlock her cuffs|and she seems grateful.)
+RopeReplaceCuffs,"(You unlock the cuff, she strips,|and you do a full rope harness on her.)"
+RopeWilling,"(She bows her head and strip, you|do a rope harness while she shivers.)"
+RopeReluctant,(You fight with her to remove her clothes|then do a rope harness while she resists.)
+RopeRefuse,She pushes you back and refuses to be tied.|(You need 2 submission or more to tie up Amanda.)
+CropGagged,(You hit Amanda a few times with your crop.|She starts to cry and seems to hate it.)
+Crop,(You hit Amanda a few times with your crop.)|Ow!  It hurts!  Why are you so mean?
diff --git a/C002_FirstClass/Amanda/Text_FR.csv b/C002_FirstClass/Amanda/Text_FR.csv
new file mode 100644
index 0000000000..bbc4bec501
--- /dev/null
+++ b/C002_FirstClass/Amanda/Text_FR.csv
@@ -0,0 +1,15 @@
+Tag,Content
+BallGagWilling,(Elle maintient sa bouche grande ouverte pour que|tu puisses y insérer la boule et attacher le bâillon.)
+BallGagReluctant,(Elle ferme sa bouche pour t'arrêter mais|tu réussis quand même à lui mettre le bâillon.)
+BallGagRefuse,"Elle recule et refuse d'être bâillonnée.|(""+2"" en soumission ou plus pour la bâillonner.)"
+CuffsReplaceRope,(Tu défais les cordes jusqu'à ce qu'elle puisse|se rhabiller puis tu la menottes juste après.)
+CuffsWilling,"(Elle baisse la tête, s'assoie et met|ses bras derrière son dos pour être menottée.)"
+CuffsReluctant,(Elle te repousse mais tu es capable|de l'attacher avec les menottes.)
+CuffsRefuse,"Elle recule et refuse d'être menottée.|(""+2"" en soumission ou plus pour la menotter.)"
+CuffsUnlock,(Tu enlèves ses menottes|et elle semble reconnaissante.)
+RopeReplaceCuffs,"(Tu lui libères le poignet, elle se déshabille,|et tu fais un harnais solide avec la corde.)"
+RopeWilling,"(Elle baisse la tête et se déshabille, tu fais un harnais|solide avec la corde pendant qu'elle frisonne.)"
+RopeReluctant,"(Tu luttes pour lui retirer ses vêtements et tu lui fais|un harnais solide avec la corde pendant qu'elle résiste.)"
+RopeRefuse,"Elle recule et refuse d'être ligotée.|(""+2"" en soumission ou plus pour la ligoter.)"
+CropGagged,(Tu lui donnes quelques coups avec la cravache.|Elle commence à pleurer et semble détester ça.)
+Crop,(Tu lui donnes quelques coups avec la cravache.)|Ouille ! Ça fait mal ! Pourquoi es-tu si méchante ?
diff --git a/C002_FirstClass/Classroom/Amanda.jpg b/C002_FirstClass/Classroom/Amanda.jpg
new file mode 100644
index 0000000000..bec6929a88
Binary files /dev/null and b/C002_FirstClass/Classroom/Amanda.jpg differ
diff --git a/C002_FirstClass/Classroom/Amanda_BallGag.jpg b/C002_FirstClass/Classroom/Amanda_BallGag.jpg
new file mode 100644
index 0000000000..0096e8ccfe
Binary files /dev/null and b/C002_FirstClass/Classroom/Amanda_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Amanda_Cuffs.jpg b/C002_FirstClass/Classroom/Amanda_Cuffs.jpg
new file mode 100644
index 0000000000..4f286df06e
Binary files /dev/null and b/C002_FirstClass/Classroom/Amanda_Cuffs.jpg differ
diff --git a/C002_FirstClass/Classroom/Amanda_Cuffs_BallGag.jpg b/C002_FirstClass/Classroom/Amanda_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..b79ba8b3b8
Binary files /dev/null and b/C002_FirstClass/Classroom/Amanda_Cuffs_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Amanda_Rope.jpg b/C002_FirstClass/Classroom/Amanda_Rope.jpg
new file mode 100644
index 0000000000..dd588ea95d
Binary files /dev/null and b/C002_FirstClass/Classroom/Amanda_Rope.jpg differ
diff --git a/C002_FirstClass/Classroom/Amanda_Rope_BallGag.jpg b/C002_FirstClass/Classroom/Amanda_Rope_BallGag.jpg
new file mode 100644
index 0000000000..1a9262608c
Binary files /dev/null and b/C002_FirstClass/Classroom/Amanda_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Mildred.jpg b/C002_FirstClass/Classroom/Mildred.jpg
new file mode 100644
index 0000000000..f3dac59054
Binary files /dev/null and b/C002_FirstClass/Classroom/Mildred.jpg differ
diff --git a/C002_FirstClass/Classroom/Mildred_Cuffs.jpg b/C002_FirstClass/Classroom/Mildred_Cuffs.jpg
new file mode 100644
index 0000000000..5eec15ff25
Binary files /dev/null and b/C002_FirstClass/Classroom/Mildred_Cuffs.jpg differ
diff --git a/C002_FirstClass/Classroom/Mildred_Cuffs_BallGag.jpg b/C002_FirstClass/Classroom/Mildred_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..5353b0e175
Binary files /dev/null and b/C002_FirstClass/Classroom/Mildred_Cuffs_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Mildred_Rope.jpg b/C002_FirstClass/Classroom/Mildred_Rope.jpg
new file mode 100644
index 0000000000..e10754f81e
Binary files /dev/null and b/C002_FirstClass/Classroom/Mildred_Rope.jpg differ
diff --git a/C002_FirstClass/Classroom/Mildred_Rope_BallGag.jpg b/C002_FirstClass/Classroom/Mildred_Rope_BallGag.jpg
new file mode 100644
index 0000000000..f0833dceb5
Binary files /dev/null and b/C002_FirstClass/Classroom/Mildred_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Sarah.jpg b/C002_FirstClass/Classroom/Sarah.jpg
new file mode 100644
index 0000000000..5d97e974d1
Binary files /dev/null and b/C002_FirstClass/Classroom/Sarah.jpg differ
diff --git a/C002_FirstClass/Classroom/SarahEmpty.jpg b/C002_FirstClass/Classroom/SarahEmpty.jpg
new file mode 100644
index 0000000000..433a28568d
Binary files /dev/null and b/C002_FirstClass/Classroom/SarahEmpty.jpg differ
diff --git a/C002_FirstClass/Classroom/Sarah_BallGag.jpg b/C002_FirstClass/Classroom/Sarah_BallGag.jpg
new file mode 100644
index 0000000000..5d12ef28fb
Binary files /dev/null and b/C002_FirstClass/Classroom/Sarah_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Sarah_Cuffs.jpg b/C002_FirstClass/Classroom/Sarah_Cuffs.jpg
new file mode 100644
index 0000000000..15770212a0
Binary files /dev/null and b/C002_FirstClass/Classroom/Sarah_Cuffs.jpg differ
diff --git a/C002_FirstClass/Classroom/Sarah_Cuffs_BallGag.jpg b/C002_FirstClass/Classroom/Sarah_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..2559af621b
Binary files /dev/null and b/C002_FirstClass/Classroom/Sarah_Cuffs_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Sarah_Rope.jpg b/C002_FirstClass/Classroom/Sarah_Rope.jpg
new file mode 100644
index 0000000000..cd2f1fda5c
Binary files /dev/null and b/C002_FirstClass/Classroom/Sarah_Rope.jpg differ
diff --git a/C002_FirstClass/Classroom/Sarah_Rope_BallGag.jpg b/C002_FirstClass/Classroom/Sarah_Rope_BallGag.jpg
new file mode 100644
index 0000000000..66c80d654a
Binary files /dev/null and b/C002_FirstClass/Classroom/Sarah_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Script.js b/C002_FirstClass/Classroom/Script.js
new file mode 100644
index 0000000000..34b8cc4248
--- /dev/null
+++ b/C002_FirstClass/Classroom/Script.js
@@ -0,0 +1,59 @@
+var C002_FirstClass_Classroom_Sidney = "";
+var C002_FirstClass_Classroom_Mildred = "";
+var C002_FirstClass_Classroom_Amanda = "";
+var C002_FirstClass_Classroom_Sarah = "SarahEmpty";
+var C002_FirstClass_Classroom_SidneyAgree = false;
+var C002_FirstClass_Classroom_AmandaAgree = false;
+var C002_FirstClass_Classroom_SarahAgree = false;
+var C002_FirstClass_Classroom_MildredSubdueSuccess = false;
+var C002_FirstClass_Classroom_MildredSubdueFailed = false;
+
+// Calculate the current stage depending on what the actor is wearing
+function C002_FirstClass_Classroom_CalcStage() {
+	var NewStage = 100;
+	if (ActorHasInventory("BallGag")) NewStage = NewStage + 10;
+	if (ActorHasInventory("Cuffs")) NewStage = NewStage + 20;
+	if (ActorHasInventory("Rope")) NewStage = NewStage + 40;
+	return NewStage;
+}
+
+// Chapter 2 - Classroom Load
+function C002_FirstClass_Classroom_Load() {
+		
+	// Set the classroom timer limits at 8:30 or 9:00
+	if (C002_FirstClass_Classroom_Sarah == "SarahEmpty") StartTimer(8.5 * 60 * 60 * 1000, "C002_FirstClass", "SarahIntro");
+	else StartTimer(9 * 60 * 60 * 1000, "C002_FirstClass", "Outro");
+	
+	// Get the image file for each girls
+	C002_FirstClass_Classroom_Sidney = ActorSpecificGetImage("Sidney");
+	C002_FirstClass_Classroom_Mildred = ActorSpecificGetImage("Mildred");
+	C002_FirstClass_Classroom_Amanda = ActorSpecificGetImage("Amanda");
+	if (C002_FirstClass_Classroom_Sarah != "SarahEmpty") C002_FirstClass_Classroom_Sarah = ActorSpecificGetImage("Sarah");
+
+}
+
+// Chapter 2 - Classroom Run
+function C002_FirstClass_Classroom_Run() {
+
+	// Draw the background image and the wait button on the bottom right of the image
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/" + C002_FirstClass_Classroom_Sidney.toString() + ".jpg", 0, 0);
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/" + C002_FirstClass_Classroom_Mildred.toString() + ".jpg", 300, 0);
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/" + C002_FirstClass_Classroom_Amanda.toString() + ".jpg", 600, 0);
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/" + C002_FirstClass_Classroom_Sarah.toString() + ".jpg", 900, 0);
+	
+}
+
+// Chapter 2 - Classroom Click
+function C002_FirstClass_Classroom_Click() {
+
+	// When the user clicks on any character (screen is divided in 4)
+	if ((MouseX >= 30) && (MouseX <= 270) && (MouseY >= 10) && (MouseY <= 590)) SetScene(CurrentChapter, "Sidney");
+	if ((MouseX >= 330) && (MouseX <= 570) && (MouseY >= 10) && (MouseY <= 590)) SetScene(CurrentChapter, "Mildred");
+	if ((MouseX >= 630) && (MouseX <= 870) && (MouseY >= 10) && (MouseY <= 590)) SetScene(CurrentChapter, "Amanda");
+	if ((MouseX >= 930) && (MouseX <= 1170) && (MouseY >= 10) && (MouseY <= 590) && (C002_FirstClass_Classroom_Sarah != "SarahEmpty")) SetScene(CurrentChapter, "Sarah");
+
+	// Checks if the user clicks on any regular item
+	InventoryClick(GetClickedInventory(), "C002_FirstClass", "Classroom");
+
+}
\ No newline at end of file
diff --git a/C002_FirstClass/Classroom/Sidney.jpg b/C002_FirstClass/Classroom/Sidney.jpg
new file mode 100644
index 0000000000..e84c83ceec
Binary files /dev/null and b/C002_FirstClass/Classroom/Sidney.jpg differ
diff --git a/C002_FirstClass/Classroom/Sidney_BallGag.jpg b/C002_FirstClass/Classroom/Sidney_BallGag.jpg
new file mode 100644
index 0000000000..e84c83ceec
Binary files /dev/null and b/C002_FirstClass/Classroom/Sidney_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Sidney_Cuffs.jpg b/C002_FirstClass/Classroom/Sidney_Cuffs.jpg
new file mode 100644
index 0000000000..12ff5b01be
Binary files /dev/null and b/C002_FirstClass/Classroom/Sidney_Cuffs.jpg differ
diff --git a/C002_FirstClass/Classroom/Sidney_Cuffs_BallGag.jpg b/C002_FirstClass/Classroom/Sidney_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..12ff5b01be
Binary files /dev/null and b/C002_FirstClass/Classroom/Sidney_Cuffs_BallGag.jpg differ
diff --git a/C002_FirstClass/Classroom/Sidney_Rope.jpg b/C002_FirstClass/Classroom/Sidney_Rope.jpg
new file mode 100644
index 0000000000..a2a36b3f2d
Binary files /dev/null and b/C002_FirstClass/Classroom/Sidney_Rope.jpg differ
diff --git a/C002_FirstClass/Classroom/Sidney_Rope_BallGag.jpg b/C002_FirstClass/Classroom/Sidney_Rope_BallGag.jpg
new file mode 100644
index 0000000000..d36a2c60a5
Binary files /dev/null and b/C002_FirstClass/Classroom/Sidney_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Intro/Background.jpg b/C002_FirstClass/Intro/Background.jpg
new file mode 100644
index 0000000000..fa75f62551
Binary files /dev/null and b/C002_FirstClass/Intro/Background.jpg differ
diff --git a/C002_FirstClass/Intro/Script.js b/C002_FirstClass/Intro/Script.js
new file mode 100644
index 0000000000..6822a09faa
--- /dev/null
+++ b/C002_FirstClass/Intro/Script.js
@@ -0,0 +1,30 @@
+// Chapter 2 - Intro Load
+function C002_FirstClass_Intro_Load() {
+
+	// Time is always 8:00 on the intro, no timer
+	StopTimer(8 * 60 * 60 * 1000);
+
+}
+
+// Chapter 2 - Intro Run
+function C002_FirstClass_Intro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
+
+	// Write the chapter introduction
+	DrawText(ctx, GetText("Intro1"), 600, 100, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 600, 200, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 600, 300, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 600, 400, "White");
+	if (TextPhase >= 4) DrawText(ctx, GetText("Intro5"), 600, 500, "White");
+
+}
+
+// Chapter 2 - Intro Click
+function C002_FirstClass_Intro_Click() {
+	TextPhase++;
+	if (TextPhase >= 5)
+		SetScene(CurrentChapter, "Mildred");
+}
\ No newline at end of file
diff --git a/C002_FirstClass/Intro/Text_EN.csv b/C002_FirstClass/Intro/Text_EN.csv
new file mode 100644
index 0000000000..9db813a0cd
--- /dev/null
+++ b/C002_FirstClass/Intro/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,Chapter 2 - First Class (Click to continue)
+Intro2,"Your first class today is math, from 8:00 to 9:00."
+Intro3,"The teacher enters, introducing herself has Mildred."
+Intro4,"She looks strict, holding some kind of crop in her hand."
+Intro5,"Everyone sits down, Mildred walks to you and address you."
diff --git a/C002_FirstClass/Intro/Text_FR.csv b/C002_FirstClass/Intro/Text_FR.csv
new file mode 100644
index 0000000000..424e23a53d
--- /dev/null
+++ b/C002_FirstClass/Intro/Text_FR.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,Chapitre 2 - Le premier cours (Cliquez pour continuer)
+Intro2,"Tu commences par les maths, de 8H00 à 9H00."
+Intro3,"La professeur entre, se présente, elle se nomme Mildred."
+Intro4,"Elle a l'air stricte, en tenant une sorte de cravache dans sa main."
+Intro5,"Tout le monde s'assoit, Mildred marche dans ta direction et prend la parole."
diff --git a/C002_FirstClass/Mildred/Intro_EN.csv b/C002_FirstClass/Mildred/Intro_EN.csv
new file mode 100644
index 0000000000..90bb081f82
--- /dev/null
+++ b/C002_FirstClass/Mildred/Intro_EN.csv
@@ -0,0 +1,24 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Welcome to my class young lady.|You shall address me as Miss Mildred.,MildredIntro.jpg
+10,0,0,,,MildredIntro.jpg
+20,0,0,,,MildredIntro.jpg
+30,0,0,,,MildredIntro.jpg
+40,0,0,,,MildredIntro.jpg
+50,0,0,,(Miss Mildred is teaching derivatives until 9:00.|She seems to control the class with a firm grip.),MildredTeach.jpg
+100,0,0,,,MildredCrop.jpg
+110,0,0,,,MildredCrop.jpg
+120,0,0,,,MildredCrop.jpg
+130,0,0,,,MildredCrop.jpg
+200,0,0,Common_PlayerNotRestrained,(Miss Mildred is teaching derivatives until 9:00.|She seems to control the class with a firm grip.),MildredTeach.jpg
+200,0,0,Common_PlayerRestrained,(Miss Mildred class continues while you trash in your|cuffs and drool.  You might have to wait until 9:00.),MildredTeach.jpg
+210,0,0,,(Miss Mildred is in full control of her class.|Do you really want to try to subdue her?),MildredTeach.jpg
+220,0,0,,,MildredCrop.jpg
+300,0,0,,Young lady!  You will unlock these cuffs right now.,Mildred_Cuffs.jpg
+310,0,0,,Young lady!  You will unlock these cuffs right now.,Mildred_Cuffs.jpg
+320,0,0,,(She bites her gag and seems furious.),Mildred_Cuffs_BallGag.jpg
+330,0,0,,Young lady!  You will untie me right now.|(She closes her eyes to keep some dignity.),Mildred_Rope.jpg
+340,0,0,,(She bites her gag and seems furious.)|(She closes her eyes to keep some dignity.),Mildred_Rope_BallGag.jpg
+410,0,0,,"(You bend her over the desk and raise the crop.)|Little Miss, think about your future before you act.",Mildred_Cuffs_Crop.jpg
+420,0,0,,(You bend her over the desk and raise the crop.)|(She protests in the gag but it's incomprehensible.),Mildred_Cuffs_Crop.jpg
+430,0,0,,"(You bend her over the desk and raise the crop.)|Little Miss, think about your future before you act.",Mildred_Rope_Crop.jpg
+440,0,0,,(You bend her over the desk and raise the crop.)|(She protests in the gag but it's incomprehensible.),Mildred_Rope_Crop.jpg
diff --git a/C002_FirstClass/Mildred/Intro_FR.csv b/C002_FirstClass/Mildred/Intro_FR.csv
new file mode 100644
index 0000000000..b0ae9951f8
--- /dev/null
+++ b/C002_FirstClass/Mildred/Intro_FR.csv
@@ -0,0 +1,24 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,"Bienvenue dans ma classe jeune fille.|Tu m'appeleras ""Madame Mildred"".",MildredIntro.jpg
+10,0,0,,,MildredIntro.jpg
+20,0,0,,,MildredIntro.jpg
+30,0,0,,,MildredIntro.jpg
+40,0,0,,,MildredIntro.jpg
+50,0,0,,"(Le cours de Madame Mildred dure jusqu'à 9H00.|Elle semble diriger la classe avec une poigne de fer.)",MildredTeach.jpg
+100,0,0,,,MildredCrop.jpg
+110,0,0,,,MildredCrop.jpg
+120,0,0,,,MildredCrop.jpg
+130,0,0,,,MildredCrop.jpg
+200,0,0,Common_PlayerNotRestrained,"(Le cours de Madame Mildred dure jusqu'à 9H00.|Elle semble diriger la classe avec une poigne de fer.)",MildredTeach.jpg
+200,0,0,Common_PlayerRestrained,"(Le cours continue pendant que tu restes là, menottée|et bavante. Tu devras attendre jusqu'à 9H00.)",MildredTeach.jpg
+210,0,0,,"(Madame Mildred a le contrôle total de sa classe.|Tu veux vraiment essayer de la maîtriser ?)",MildredTeach.jpg
+220,0,0,,,MildredCrop.jpg
+300,0,0,,Jeune fille ! Tu vas me libérer maintenant.,Mildred_Cuffs.jpg
+310,0,0,,Jeune fille ! Tu vas me libérer maintenant.,Mildred_Cuffs.jpg
+320,0,0,,(Elle mord son bâillon et semble furieuse.),Mildred_Cuffs_BallGag.jpg
+330,0,0,,Jeune fille ! Tu vas me détacher immédiatement.|(Elle ferme les yeux pour garder un peu de dignité.),Mildred_Rope.jpg
+340,0,0,,(Elle mord son bâillon et semble furieuse.)|(Elle ferme les yeux pour garder un peu de dignité.),Mildred_Rope_BallGag.jpg
+410,0,0,,"(Tu la penches sur le bureau et lève la cravache.)|Mademoiselle, pensez à votre futur !",Mildred_Cuffs_Crop.jpg
+420,0,0,,"(Tu la penches sur le bureau et lève la cravache.)|(Elle proteste mais elle reste incomprise.)",Mildred_Cuffs_Crop.jpg
+430,0,0,,"(Tu la penches sur le bureau et lève la cravache.)|Mademoiselle, pensez à votre futur !",Mildred_Rope_Crop.jpg
+440,0,0,,"(Tu la penches sur le bureau et lève la cravache.)|(Elle proteste mais elle reste incomprise.)",Mildred_Rope_Crop.jpg
diff --git a/C002_FirstClass/Mildred/MildredCrop.jpg b/C002_FirstClass/Mildred/MildredCrop.jpg
new file mode 100644
index 0000000000..9aae97ad9b
Binary files /dev/null and b/C002_FirstClass/Mildred/MildredCrop.jpg differ
diff --git a/C002_FirstClass/Mildred/MildredGagPlayer.jpg b/C002_FirstClass/Mildred/MildredGagPlayer.jpg
new file mode 100644
index 0000000000..13f6e99b34
Binary files /dev/null and b/C002_FirstClass/Mildred/MildredGagPlayer.jpg differ
diff --git a/C002_FirstClass/Mildred/MildredIntro.jpg b/C002_FirstClass/Mildred/MildredIntro.jpg
new file mode 100644
index 0000000000..03c4186c0c
Binary files /dev/null and b/C002_FirstClass/Mildred/MildredIntro.jpg differ
diff --git a/C002_FirstClass/Mildred/MildredTeach.jpg b/C002_FirstClass/Mildred/MildredTeach.jpg
new file mode 100644
index 0000000000..4682367c62
Binary files /dev/null and b/C002_FirstClass/Mildred/MildredTeach.jpg differ
diff --git a/C002_FirstClass/Mildred/Mildred_Cuffs.jpg b/C002_FirstClass/Mildred/Mildred_Cuffs.jpg
new file mode 100644
index 0000000000..6ddfb8fab3
Binary files /dev/null and b/C002_FirstClass/Mildred/Mildred_Cuffs.jpg differ
diff --git a/C002_FirstClass/Mildred/Mildred_Cuffs_BallGag.jpg b/C002_FirstClass/Mildred/Mildred_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..e12c31759a
Binary files /dev/null and b/C002_FirstClass/Mildred/Mildred_Cuffs_BallGag.jpg differ
diff --git a/C002_FirstClass/Mildred/Mildred_Cuffs_Crop.jpg b/C002_FirstClass/Mildred/Mildred_Cuffs_Crop.jpg
new file mode 100644
index 0000000000..a672f0c8e0
Binary files /dev/null and b/C002_FirstClass/Mildred/Mildred_Cuffs_Crop.jpg differ
diff --git a/C002_FirstClass/Mildred/Mildred_Rope.jpg b/C002_FirstClass/Mildred/Mildred_Rope.jpg
new file mode 100644
index 0000000000..9fd0462c6a
Binary files /dev/null and b/C002_FirstClass/Mildred/Mildred_Rope.jpg differ
diff --git a/C002_FirstClass/Mildred/Mildred_Rope_BallGag.jpg b/C002_FirstClass/Mildred/Mildred_Rope_BallGag.jpg
new file mode 100644
index 0000000000..9bb9e38c5d
Binary files /dev/null and b/C002_FirstClass/Mildred/Mildred_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Mildred/Mildred_Rope_Crop.jpg b/C002_FirstClass/Mildred/Mildred_Rope_Crop.jpg
new file mode 100644
index 0000000000..869439b86a
Binary files /dev/null and b/C002_FirstClass/Mildred/Mildred_Rope_Crop.jpg differ
diff --git a/C002_FirstClass/Mildred/Script.js b/C002_FirstClass/Mildred/Script.js
new file mode 100644
index 0000000000..e356005c7e
--- /dev/null
+++ b/C002_FirstClass/Mildred/Script.js
@@ -0,0 +1,191 @@
+var C002_FirstClass_Mildred_CurrentStage = 0;
+var C002_FirstClass_Mildred_DisturbCount = 0;
+var C002_FirstClass_Mildred_SearchAvail = true;
+var C002_FirstClass_Mildred_BeatingDone = false;
+var C002_FirstClass_Mildred_WhipDone = false;
+var C002_FirstClass_Mildred_ConfirmUnlock = false;
+
+// Chapter 2 - Mildred Load
+function C002_FirstClass_Mildred_Load() {
+
+	// Load the scene parameters	
+	ActorLoad("Mildred", "Classroom");
+	LoadInteractions();
+	C002_FirstClass_Mildred_ConfirmUnlock = false;
+	if (C002_FirstClass_Mildred_CurrentStage == 0) StartTimer(8.5 * 60 * 60 * 1000, "C002_FirstClass", "SarahIntro");
+	
+	// When re-entering, jump from 50 to 200 and stop any whipping
+	if (C002_FirstClass_Mildred_CurrentStage == 50) C002_FirstClass_Mildred_CurrentStage = 200;
+	if ((C002_FirstClass_Mildred_CurrentStage >= 410) && (C002_FirstClass_Mildred_CurrentStage <= 440)) C002_FirstClass_Mildred_CurrentStage = C002_FirstClass_Mildred_CurrentStage - 100;
+	
+	// When the talk is over, allow the player to leave
+	if (C002_FirstClass_Mildred_CurrentStage >= 200) LeaveIcon = "Leave";
+	else LeaveIcon = "";
+	
+}
+
+// Chapter 2 - Mildred Run
+function C002_FirstClass_Mildred_Run() {
+	BuildInteraction(C002_FirstClass_Mildred_CurrentStage);
+}
+
+// Chapter 2 - Mildred Click
+function C002_FirstClass_Mildred_Click() {	
+
+	// Regular interactions
+	ClickInteraction(C002_FirstClass_Mildred_CurrentStage);
+	var ClickedInv = GetClickedInventory();
+	
+	// Beyond -3 love, the teacher spank the player
+	if ((C002_FirstClass_Mildred_CurrentStage <= 50) && (ActorGetValue(ActorLove) <= -3) && !C002_FirstClass_Mildred_BeatingDone) {
+		OverridenIntroText = GetText("SurpriseAttack");
+		C002_FirstClass_Mildred_CurrentStage = 100;
+		C002_FirstClass_Mildred_BeatingDone = true;
+	}	
+
+	// When the user wants to use the gag
+	if ((C002_FirstClass_Mildred_CurrentStage >= 310) && (ClickedInv == "BallGag") && (ActorHasInventory("BallGag") == false) && (Common_PlayerNotRestrained)) {
+		C002_FirstClass_Mildred_CurrentStage = parseInt(C002_FirstClass_Mildred_CurrentStage) + 10;
+		OverridenIntroText = GetText("BallGag");
+		PlayerRemoveInventory("BallGag", 1);
+		ActorAddInventory("BallGag");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the key
+	if (((C002_FirstClass_Mildred_CurrentStage == 310) || (C002_FirstClass_Mildred_CurrentStage == 320) || (C002_FirstClass_Mildred_CurrentStage == 410) || (C002_FirstClass_Mildred_CurrentStage == 420)) && (ClickedInv == "CuffsKey")) {
+		if (C002_FirstClass_Mildred_ConfirmUnlock == false) {
+			OverridenIntroText = GetText("UnlockWarning");
+			C002_FirstClass_Mildred_ConfirmUnlock = true;
+		} else {
+			OverridenIntroText = GetText("Unlock");
+			CurrentTime = CurrentTime + 60000;
+			ActorRemoveInventory("Cuffs");
+			ActorRemoveInventory("BallGag");
+			ActorChangeAttitude(2, 0);
+			C002_FirstClass_Mildred_RestrainPlayer();
+			Common_PlayerCrime = "";
+		}
+	}
+
+	// When the user wants to use the crop
+	if ((C002_FirstClass_Mildred_CurrentStage >= 310) && (C002_FirstClass_Mildred_CurrentStage <= 340) && (ClickedInv == "Crop") && (Common_PlayerNotRestrained) && (Common_PlayerNotGagged)) {
+		C002_FirstClass_Mildred_CurrentStage = parseInt(C002_FirstClass_Mildred_CurrentStage) + 100;
+		OverridenIntroText = ""
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the rope
+	if (((C002_FirstClass_Mildred_CurrentStage == 310) || (C002_FirstClass_Mildred_CurrentStage == 320) || (C002_FirstClass_Mildred_CurrentStage == 410) || (C002_FirstClass_Mildred_CurrentStage == 420)) && (ClickedInv == "Rope") && (Common_PlayerNotRestrained)) {
+		C002_FirstClass_Mildred_CurrentStage = parseInt(C002_FirstClass_Mildred_CurrentStage) + 20;
+		OverridenIntroText = GetText("Rope");
+		PlayerRemoveInventory("Rope", 1);
+		ActorAddInventory("Rope");
+		PlayerAddInventory("Cuffs", 1);
+		ActorRemoveInventory("Cuffs");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the cuffs
+	if (((C002_FirstClass_Mildred_CurrentStage == 330) || (C002_FirstClass_Mildred_CurrentStage == 340) || (C002_FirstClass_Mildred_CurrentStage == 430) || (C002_FirstClass_Mildred_CurrentStage == 440)) && (ClickedInv == "Cuffs") && (Common_PlayerNotRestrained)) {
+		C002_FirstClass_Mildred_CurrentStage = parseInt(C002_FirstClass_Mildred_CurrentStage) - 20;
+		OverridenIntroText = GetText("Cuffs");
+		PlayerAddInventory("Rope", 1);
+		ActorRemoveInventory("Rope");
+		PlayerRemoveInventory("Cuffs", 1);
+		ActorAddInventory("Cuffs");
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the talk is over, allow the player to leave
+	if (C002_FirstClass_Mildred_CurrentStage == 50)
+		LeaveIcon = "Leave";
+	
+}
+
+// Chapter 2 - Mildred Restrain Player
+function C002_FirstClass_Mildred_RestrainPlayer() {	
+	PlayerLockInventory("Cuffs");
+	PlayerLockInventory("BallGag");
+	PlayerRemoveAllInventory();
+	C002_FirstClass_Classroom_MildredSubdueFailed = true;
+	C002_FirstClass_Mildred_CurrentStage = 200;
+	OverridenIntroImage = "MildredGagPlayer.jpg";
+	LeaveIcon = "Leave";
+}
+
+// Chapter 2 - Mildred Disturb Class
+function C002_FirstClass_Mildred_Disturb() {
+	
+	// After 4 attempts to disturb Mildred, she cuffs and gags the player
+	C002_FirstClass_Mildred_DisturbCount++;
+	if (C002_FirstClass_Mildred_DisturbCount == 1) OverridenIntroText = GetText("Disturb1");
+	if (C002_FirstClass_Mildred_DisturbCount == 2) OverridenIntroText = GetText("Disturb2");
+	if (C002_FirstClass_Mildred_DisturbCount == 3) OverridenIntroText = GetText("Disturb3");
+	if (C002_FirstClass_Mildred_DisturbCount == 4) {
+		OverridenIntroText = GetText("Disturb4");
+		C002_FirstClass_Mildred_CurrentStage = 220;
+		LeaveIcon = "";
+	}
+
+}
+
+// Chapter 2 - Mildred Subdue
+function C002_FirstClass_Mildred_Subdue() {
+	
+	// Count the number of girls who agree
+	var AgreeCount = 0;
+	if (C002_FirstClass_Classroom_SidneyAgree) AgreeCount++;
+	if (C002_FirstClass_Classroom_AmandaAgree) AgreeCount++;
+	if (C002_FirstClass_Classroom_SarahAgree) AgreeCount++;
+
+	// With no helper
+	if (AgreeCount == 0) {
+		OverridenIntroText = GetText("SubdueAlone");
+		C002_FirstClass_Mildred_CurrentStage = 220;
+		LeaveIcon = "";		
+	}
+	
+	// With one helper, both the player and the helper end up bound and gagged
+	if (AgreeCount == 1) {
+		if (C002_FirstClass_Classroom_SidneyAgree) { OverridenIntroText = GetText("SubdueSidney"); CurrentActor = "Sidney"; ActorAddInventory("Cuffs"); ActorAddInventory("BallGag"); }
+		if (C002_FirstClass_Classroom_AmandaAgree) { OverridenIntroText = GetText("SubdueAmanda"); CurrentActor = "Amanda"; ActorAddInventory("Cuffs"); ActorAddInventory("BallGag"); }
+		if (C002_FirstClass_Classroom_SarahAgree) { OverridenIntroText = GetText("SubdueSarah"); CurrentActor = "Sarah"; ActorAddInventory("Cuffs"); ActorAddInventory("BallGag"); }
+		CurrentActor = "Mildred";
+		C002_FirstClass_Mildred_CurrentStage = 220;
+		LeaveIcon = "";
+	}
+
+	// With many helpers
+	if (AgreeCount >= 2) {
+		OverridenIntroText = GetText("SubdueSuccess");
+		ActorAddInventory("Cuffs");
+		C002_FirstClass_Classroom_MildredSubdueSuccess = true;
+		C002_FirstClass_Mildred_CurrentStage = 300;
+		Common_PlayerCrime = "RestrainMildred";
+	}
+
+}
+
+// Chapter 2 - Mildred Search
+function C002_FirstClass_Mildred_Search() {
+	C002_FirstClass_Mildred_SearchAvail = false;
+	PlayerAddInventory("Crop", 1);
+	PlayerAddInventory("Cuffs", 1);
+	PlayerAddInventory("CuffsKey", 1);
+	PlayerAddInventory("BallGag", 2);
+}
+
+// Chapter 2 - Mildred Ungag
+function C002_FirstClass_Mildred_Ungag() {
+	ActorRemoveInventory("BallGag");
+	PlayerAddInventory("BallGag", 1);
+}
+
+// Chapter 2 - Mildred Whip, it only changes her attitude once
+function C002_FirstClass_Mildred_Whip() {
+	if (C002_FirstClass_Mildred_WhipDone == false) {
+		ActorChangeAttitude(-1, 1);
+		C002_FirstClass_Mildred_WhipDone = true;
+	}
+}
\ No newline at end of file
diff --git a/C002_FirstClass/Mildred/Stage_EN.csv b/C002_FirstClass/Mildred/Stage_EN.csv
new file mode 100644
index 0000000000..3170b9fb3e
--- /dev/null
+++ b/C002_FirstClass/Mildred/Stage_EN.csv
@@ -0,0 +1,71 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Alright.,Fine.  Welcome to our establishment.  I|trust you will learn a lot within these walls.,10,0,0,
+0,0,0,,Yes Miss Mildred.,Very good.  Welcome to our fine establishment.|I trust you will learn a lot within these walls.,10,1,-1,
+0,0,0,,(Stay silent.),"A quiet one, good.  Welcome to our establishment.|I trust you will learn a lot within these walls.",10,0,0,
+0,0,0,,That's unlikely.,I might have to teach you discipline before math.|I trust you will learn a lot within these walls.,10,-1,1,
+10,0,0,,I hope to learn|a lot Miss Mildred.,"If you follow the academy's rules,|you will become a fine lady.",20,0,-1,
+10,0,0,,Please teach me then.,"I will.  If you follow the academy's|rules, you will become a fine lady.",20,0,0,
+10,0,0,,I think I will|like it in here.,"I'm sure you will, If you follow the|academy's rules, you will become a fine lady.",20,1,0,
+10,0,0,,I trust your class|will be informative.,"It will.  If you follow the academy's|rules, you will become a fine lady.",20,0,1,
+10,0,0,,(Yawn.),"Student, if you ever wish to become a fine lady,|you will need to focus and follow the rules.",20,-1,0,
+10,0,0,,(Nod slowly.),"If you follow the academy's rules,|you will become a fine lady.",20,0,-1,
+20,0,0,,A fine lady?|That's a joke?,I'm not joking little miss.  Today we will|study derivatives.  I trust you have your books.,30,-1,1,
+20,0,0,,A fine lady?|This is nice.,(She smiles at you.)  Today we will|study derivatives.  I trust you have your books.,30,1,0,
+20,0,0,,(Bow your head|and slowly nod.),(She smiles at you.)  Today we will|study derivatives.  I trust you have your books.,30,0,-1,
+30,0,0,,Yes Miss Mildred.|I'm eager to learn.,Very good.  Now open your book|at page 147 and review the formulas.,40,1,-1,
+30,0,0,,Derivatives?|What the fuck?,(She hits your desk with her crop.)  Watch|your language and open your book at page 147.,40,-1,0,
+30,0,0,,Derivatives?|I love math.,(She hits your desk with her crop.)  Watch|your language and open your book at page 147.,40,1,0,
+30,0,0,,Derivatives?|That's complicated.,Start to work then.  Now open your|book at page 147 and review the formulas.,40,0,0,
+40,0,0,,(Stay silent and|open the book.),Good. Now be quiet while I teach.|(She gets back to her desk and starts teaching.),50,0,0,
+40,0,0,,(Check the clock|on the wall.),(She gives you a stern look and gets|back to her desk to start teaching.),50,-1,0,
+40,0,0,,Yes Miss Mildred.|(Open the book.),Very good.  Now be quiet while I teach.|(She gets back to her desk and starts teaching.),50,0,-1,
+40,0,0,,"Yes, enough chatting.|(Open the book.)",Good!  Now be quiet while I teach.|(She gets back to her desk and starts teaching.),50,0,1,
+100,0,0,,Miss Mildred!  What|are you doing?,Teaching you a lesson young lady.|(She hits you lightly with her crop.),110,0,0,
+100,0,0,,What the fuck?,This kind of language will not be tolerated.|(She hits you pretty hard with her crop.),110,-1,0,
+100,0,0,,Hey!  You|can't do that.,"Of course I can, you have no idea where you are.|(She hits you lightly with her crop.)",110,0,0,
+100,0,0,,(Try to kick her.),"So you're a feisty young lady, this will teach you.|(She hits you pretty hard with her crop.)",110,-1,1,
+110,0,0,,Shit!  That hurts!,Such a foul mouth!|(She hits you really hard.),120,-1,0,
+110,0,0,,Ow!  Miss Mildred.|Please stop.,I will stop when the lesson is learned.|(She hits you again lightly and grins.),120,1,0,
+110,0,0,,"(Stay silent, pretending|not to care.)","You're strong, but I will break you.|(She hits you again really hard.)",120,0,1,
+110,0,0,,Ha!  That's the|best you can do?,"Such a bad education, I will break you.|(She hits you again really hard.)",120,-1,1,
+110,0,0,,(Stay silent and|try not to scream.),Learn from this lesson little miss.|(She hits you again but not very hard.),120,0,0,
+120,0,0,,Please Miss!|I'll be good.,(She hits you lightly one last time.)|So you will be good and follow the rules?,130,1,-1,
+120,0,0,,Miss Mildred.|I learned my lesson.,(She hits you lightly one last time.)|So you will be nice and follow the rules?,130,1,0,
+120,0,0,,You think you|can hurt me?,"(She hits you really hard one last time.)|Last warning, will you be good and follow the rules?",130,0,0,
+120,0,0,,Fuck you bitch!,"(She hits you really hard one last time.)|Last warning, will you be good and follow the rules?",130,-1,1,
+130,0,0,,Yes Miss Mildred.|Please excuse me.,You're excused.  Now we can begin the class.,50,2,-1,
+130,0,0,,"Yes, I'll be good.",Fine.  Now we can begin the class.,50,1,0,
+130,0,0,,No way!  I follow|my own rules.,"(She cuffs your wrist and straps a BallGag in.)|If you cannot behave, you'll spend the class like that.",50,0,0,RestrainPlayer()
+130,0,0,,(Refuse to answer.),"(She cuffs your wrist and straps a BallGag in.)|Since you want to be silent, you will stay silent.",50,0,-1,RestrainPlayer()
+200,0,0,Common_PlayerNotRestrained,(Talk to get|her attention.),,200,-1,0,Disturb()
+200,0,0,Common_PlayerNotRestrained,(Try to subdue|Miss Mildred.),Do you want to try to subdue and tie up Miss Mildred?|(Each student that helps gives better odds to do it.),210,0,0,
+200,0,0,Common_PlayerRestrained,Uummph!,(She ignores your screams|and the other students giggle.),200,0,0,
+200,0,0,Common_PlayerRestrained,(Tug on your cuffs.)|(1 minute),(You struggle futilely.  She's confident|that you will not escape and ignores you.),200,0,0,
+210,0,0,Common_PlayerNotRestrained,"(Yes, try to|subdue her.)",,210,-2,0,Subdue()
+210,0,0,,"(No, maybe later.)",You give up on your kidnapping plan.|(Miss Mildred continues to teach her class.),200,0,0,
+220,0,0,,A lesson from|you?  No way!,"(She hits you hard 6 times then cuffs and gags you.)|Since you cannot behave, you will stay like that.",220,0,1,RestrainPlayer()
+220,0,0,,Fuck you bitch!,"(She hits you hard 10 times then cuffs and gags you.)|Since you cannot behave, you will stay like that.",220,-1,0,RestrainPlayer()
+220,0,0,,No!  Please!|I'm so sorry.,"(She hits you hard 2 times then cuffs and gags you.)|It's too late for excuses, you will stay like that.",220,0,-1,RestrainPlayer()
+220,0,0,,(Stay silent.),"(She hits you hard 4 times then cuffs and gags you.)|Since you cannot behave, you will stay like that.",220,0,0,RestrainPlayer()
+300,0,0,,"Mildred, I'm|in charge now.",In charge?  But I teach the class.|You are in a world of trouble little Miss.,310,0,1,
+300,0,0,,"Lady, this class will|finally be interesting.",Nonsense!  I'm in charge of this class.|You are in a world of trouble little Miss.,310,0,0,
+300,0,0,,"If you cooperate, it|will be over quickly.",(She nods and stays silent.),310,0,1,
+300,0,0,,I didn't expect you|to be so pretty.,"(She blushes.)  Young lady,|what exactly are you planning?",310,1,0,
+310,0,0,,(Tickle her.)|(1 minute),(She trashes to avoid you and laughs silently.)|You're only sinking deeper in trouble!,310,0,0,
+310,0,0,SearchAvail,(Search in her stuff.)|(1 minute),(You search in her stuff and find many|interesting items.)  You little thief!,310,-1,0,Search()
+320,0,0,,(Tickle her.)|(1 minute),(She trashes to avoid you and laughs silently.),320,0,0,
+320,0,0,,(Ungag her.)|(1 minute),(You slowly unbuckle her gag.)|Young lady!  This is highly inappropriate.,310,0,0,Ungag()
+330,0,0,,(Tickle her.)|(1 minute),(She trashes to avoid you and laughs silently.)|You're only sinking deeper in trouble!,330,0,0,
+330,0,0,SearchAvail,(Search in her stuff.)|(1 minute),(You search in her stuff and find many|interesting items.)  You little thief!,330,-1,0,Search()
+340,0,0,,(Tickle her.)|(1 minute),(She trashes to avoid you and laughs silently.),340,0,0,
+340,0,0,,(Ungag her.)|(1 minute),(You slowly unbuckle her gag.)|Young lady!  This is highly inappropriate.,330,0,0,Ungag()
+410,0,0,,(Whip her.)|(1 minute),(You whip her pretty hard with the crop.)|Little Miss!  You will regret what you're doing!,410,0,0,Whip()
+410,0,0,,(Put away the crop.)|(1 minute),(You put away the crop and|get her back on her feet.),310,0,0,
+420,0,0,,(Whip her.)|(1 minute),(You whip her pretty hard with the crop.)|(She screams angrily in her gag.),420,0,0,Whip()
+420,0,0,,(Put away the crop.)|(1 minute),(You put away the crop and|get her back on her feet.),320,0,0,
+420,0,0,,(Ungag her.)|(1 minute),(You slowly unbuckle her gag.)|Young lady!  This is highly inappropriate.,410,0,0,Ungag()
+430,0,0,,(Whip her.)|(1 minute),(You whip her pretty hard with the crop.)|Little Miss!  You will regret what you're doing!,430,0,0,Whip()
+430,0,0,,(Put away the crop.)|(1 minute),(You put away the crop and|get her back on her feet.),330,0,0,
+440,0,0,,(Whip her.)|(1 minute),(You whip her pretty hard with the crop.)|(She screams angrily in her gag.),440,0,0,Whip()
+440,0,0,,(Put away the crop.)|(1 minute),(You put away the crop and|get her back on her feet.),340,0,0,
+440,0,0,,(Ungag her.)|(1 minute),(You slowly unbuckle her gag.)|Young lady!  This is highly inappropriate.,430,0,0,Ungag()
diff --git a/C002_FirstClass/Mildred/Stage_FR.csv b/C002_FirstClass/Mildred/Stage_FR.csv
new file mode 100644
index 0000000000..e619e9cdbe
--- /dev/null
+++ b/C002_FirstClass/Mildred/Stage_FR.csv
@@ -0,0 +1,71 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Entendue.,Bienvenue dans notre établissement. J'espère que |tu apprendras beaucoup de choses en ces murs.,10,0,0,
+0,0,0,,"Oui ! Madame Mildred.",Très bien. Bienvenue dans notre belle établissement.|Tu apprendras beaucoup de choses en ces murs.,10,1,-1,
+0,0,0,,"(Tu restes silencieuse.)","Une ""réservée"". Bienvenue dans notre établissement.|Tu apprendras beaucoup de choses en ces murs.",10,0,0,
+0,0,0,,"C'est peu probable.","La discipline passera avant les maths. Tu devras|apprendre beaucoup de choses en ces murs.",10,-1,1,
+10,0,0,,Je m'appliquerai |Madame Mildred.,"Si tu suis les règles de l'académie,|tu deviendras une vrai dame.",20,0,-1,
+10,0,0,,"Enseignez-les moi,|s'il vous plaît","Je le ferais. Si tu suis les règles de l'académie,|tu deviendras une vrai dame.",20,0,0,
+10,0,0,,Je penses que je|vais me plaire ici.,"J'en suis sûre, si tu suis les règles de l'académie,|tu deviendras une vrai dame.",20,1,0,
+10,0,0,,J'espère que votre|cours sera instructif.,"Il le sera. Si tu suis les règles de l'académie,|tu deviendras une vrai dame.",20,0,1,
+10,0,0,,(Bâillement.),"Jeune fille, si tu souhaites devenir une vrai dame,|tu auras besoin de te concentrer et suivre les règles.",20,-1,0,
+10,0,0,,(Tu hoches la tête|doucement.),"Si tu suis les règles de l'académie,|tu deviendras une vrai dame.",20,0,-1,
+20,0,0,,Une vrai dame ?|C'est une blague ?,"Je ne plaisante pas Mademoiselle. Nous allons|étudier les dérivées. J'espère que tu as ton livre.",30,-1,1,
+20,0,0,,Une vrai dame ?|C'est parfait.,(Elle te sourit.) Aujourd'hui nous étudierons|les dérivées. Je supposes que tu as ton livre.,30,1,0,
+20,0,0,,(Tu baisses et hoches|la tête doucement.),(Elle te sourit.) Aujourd'hui nous étudierons|les dérivées. Je supposes que tu as ton livre.,30,0,-1,
+30,0,0,,"Oui, Madame Mildred.|J'ai hâte d'apprendre.","Très bien. Ouvre, maintenant ton livre|à la page 147 et révise les formules.",40,1,-1,
+30,0,0,,"Les dérivées ?|C'est quoi ce truc ?","(Elle donne un coup de cravache sur ton bureau.)|Surveille ton langage et ouvre ton livre à la page 147.",40,-1,0,
+30,0,0,,"Les dérivées ?|J'adore les maths.","(Elle donne un coup de cravache sur ton bureau.)|Surveille ton langage et ouvre ton livre à la page 147.",40,1,0,
+30,0,0,,"Les dérivées ?|C'est compliqué.","Commence à étudier alors. Ouvre, maintenant ton livre|à la page 147 et révise les formules.",40,0,0,
+40,0,0,,"(Tu restes silencieuse|et ouvres le livre.)","Bien. Sois sage, je vais commencer le cours.|(Elle retourne à son bureau et commence la leçon.)",50,0,0,
+40,0,0,,"(Tu regardes l'horloge|sur le mur.)","(Elle te regarde sévèrement et retourne|à son bureau pour commencer la leçon.)",50,-1,0,
+40,0,0,,"Oui, Madame Mildred.|(Tu ouvres le livre.)","Très bien. Sois sage, je vais commencer le cours.|(Elle retourne à son bureau et commence la leçon.)",50,0,-1,
+40,0,0,,"Oui, assez parlé.|(Tu ouvres le livre.)","Bien ! Sois sage, je vais commencer le cours.|(Elle retourne à son bureau et commence la leçon.)",50,0,1,
+100,0,0,,"Madame Mildred !|Qu'est-ce que vous faites ?", Je t'enseigne une leçon jeune fille.|(Elle te frappe sans trop forcer avec sa cravache.),110,0,0,
+100,0,0,,"Qu'est-ce qui se passe ?",Ce genre de langage ne sera pas toléré.|(Elle te frappe violemment avec sa cravache.),110,-1,0,
+100,0,0,,"Hé ! Vous ne pouvez|pas faire ça.","Bien sûr que je peux, tu n'as aucune idée de ta position|ici. (Elle te frappe sans trop forcer avec sa cravache.)",110,0,0,
+100,0,0,,(Tu essayes de lui|donner un coup de pied.),"Oh ! tu es bien fougueuse jeune fille, voici qui devrait te|discipliner. (Elle te donne un violent coup de cravache.)",110,-1,1,
+110,0,0,,"Merde ! Ça fait mal !","Quelles grossièretés !|(Elle te donne un coup plus fort.)",120,-1,0,
+110,0,0,,"Aïe ! Madame Mildred.|Arrêtez, s'il vous plaît.",J'arrêterais quand tu auras retenu la leçon.|(Elle te frappe à nouveau et arbore un grand sourire.),120,1,0,
+110,0,0,,"(Tu restes silencieuse|et fait l'indifférente.)","Tu es forte, mais je te briserai.|(Elle te donne un nouveau coup plus fort.)",120,0,1,
+110,0,0,,"Ah ! C'est le mieux|que tu puisses faire ?","Qu'elle mauvaise éducation, je te briserai.|(Elle te donne un nouveau coup plus fort.)",120,-1,1,
+110,0,0,,"(Tu restes silencieuse et|essayes de ne pas crier.)","Vous retiendrez la leçon Mademoiselle.|(Elle te frappe à nouveau mais pas très fort.)",120,0,0,
+120,0,0,,"Madame, je serais|sage. S'il vous plaît.","(Elle te donne un dernier coup, plus doux.)|Bien, tu seras sage et tu suivras les règles ?",130,1,-1,
+120,0,0,,"Madame Mildred.|J'ai appris ma leçon.","(Elle te donne un dernier coup, plus doux.)|Bien, tu seras sage et tu suivras les règles ?",130,1,0,
+120,0,0,,"Tu crois que tu peux|me faire mal ?","(Elle te donne un dernier coup plus violent.) Dernier|avertissement, seras-tu sage et suivras-tu les règles ?",130,0,0,
+120,0,0,,"Allez-vous faire foutre|sale garce !","(Elle te donne un dernier coup plus violent.) Dernier|avertissement, seras-tu sage et suivras-tu les règles ?",130,-1,1,
+130,0,0,,"Oui, Madame Mildred.|Excusez-moi, s'il vous plaît.",Tu es excusée. Maintenant la leçon peut commencer.,50,2,-1,
+130,0,0,,"Oui, Je serais sage.","Bien. Maintenant la leçon peut commencer.",50,1,0,
+130,0,0,,"Pas question ! Je suivrais|mes propres règles.","(Elle te menotte les poignets et te bâillonne.)|Puisque tu ne sais pas te tenir, tu resteras attachée.",50,0,0,RestrainPlayer()
+130,0,0,,(Tu refuses de répondre.),"(Elle te menotte les poignets et te bâillonne.)|Puisque tu veux être silencieuse, tu le resteras.",50,0,-1,RestrainPlayer()
+200,0,0,Common_PlayerNotRestrained,(Tu parles pour attirer|son attention.),,200,-1,0,Disturb()
+200,0,0,Common_PlayerNotRestrained,(Tu essayes de maîtriser|Madame Mildred.),Veux-tu essayer de maîtriser Madame Mildred ?|(Chaque étudiante qui t'aide augmentera tes chances.),210,0,0,
+200,0,0,Common_PlayerRestrained,"Uummph !","(Elle ignore tes cris|et les autres étudiantes rient.)",200,0,0,
+200,0,0,Common_PlayerRestrained,(Tu tires sur tes menottes.)|(1 minute),(Tu luttes vainement. Elle est convaincue|que tu ne t'échapperas pas et t'ignores),200,0,0,
+210,0,0,Common_PlayerNotRestrained,"(Tu essayes|de la maîtriser.)",,210,-2,0,Subdue()
+210,0,0,,"(Peut-être|plus tard.)","Tu renonces à ton plan d'enlèvement.|(Madame Mildred continue d'enseigner.)",200,0,0,
+220,0,0,,"Une leçon de vous ?|Pas moyen !","(Tu prends 6 coup sec, elle te menotte et te bâillonne.)|Puisque tu ne sais pas te tenir, tu resteras attachée.",220,0,1,RestrainPlayer()
+220,0,0,,"Allez-vous faire foutre|sale garce !","(Tu prends 10 coup sec, elle te menotte et te bâillonne.)|Puisque tu ne sais pas te tenir, tu resteras attachée.",220,-1,0,RestrainPlayer()
+220,0,0,,"Non ! S'il vous plaît !|Je suis tellement désolée.","(Tu prends 2 coup sec, elle te menotte et te bâillonne.)|C'est trop tard pour les excuses, tu resteras attachée.",220,0,-1,RestrainPlayer()
+220,0,0,,"(Tu restes silencieuse.)","(Tu prends 4 coup sec, elle te menotte et te bâillonne.)|Puisque tu ne sais pas te tenir, tu resteras attachée.",220,0,0,RestrainPlayer()
+300,0,0,,"Mildred, Je deviens la|responsable maintenant.","La responsable ? Mais c'est moi l'enseignante.|Vous allez au-devant de grands soucis mademoiselle.",310,0,1,
+300,0,0,,"""Madame"", ce cours va|enfin devenir intéressant.","Non-sens ! Je suis la responsable de cette classe.|Vous allez au-devant de grands soucis mademoiselle.",310,0,0,
+300,0,0,,"Si vous coopérez,|Ça sera vite finis.",(Elle hocha la tête et reste silencieuse.),310,0,1,
+300,0,0,,"Je ne m'attendais pas à|ce que vous soyez si jolie".,"(Elle rougit.) Jeune fille,|Qu'est-ce que tu as prévu exactement ?",310,1,0,
+310,0,0,,(Tu la chatouilles.)|(1 minute),(Elle se recroqueville pour t'éviter et rit en silence.)|Tu ne fais que prolonger l'inévitable !,310,0,0,
+310,0,0,SearchAvail,(Tu fouilles dans ses|affaires.) (1 minute),(Tu fouilles dans ses affaires et trouves des objets|très intéressants.) Sale petite voleuse !,310,-1,0,Search()
+320,0,0,,(Tu la chatouilles.)|(1 minute),(Elle se recroqueville pour t'éviter et rit en silence.),320,0,0,
+320,0,0,,(Tu la débâillones.)|(1 minute),(Tu lui enlèves doucement son bâillon.)|Jeune fille ! Ceci est vraiment inapproprié.,310,0,0,Ungag()
+330,0,0,,(Tu la chatouilles.)|(1 minute),(Elle se recroqueville pour t'éviter et rit en silence.)|Tu ne fais que prolonger l'inévitable !,330,0,0,
+330,0,0,SearchAvail,(Tu fouilles dans ses|affaires.)|(1 minute),(Tu fouilles dans ses affaires et trouves des objets|très intéressants.) Sale petite voleuse !,330,-1,0,Search()
+340,0,0,,(Tu la chatouilles.)|(1 minute),(Elle se recroqueville pour t'éviter et rit en silence.),340,0,0,
+340,0,0,,(Tu la débâillones.)|(1 minute),(Tu lui enlèves doucement son bâillon.)|Jeune fille ! Ceci est vraiment inapproprié.,330,0,0,Ungag()
+410,0,0,,(Tu la fouettes.)|(1 minute),(Tu lui donnes un grand coup de cravache.)|Mademoiselle ! Vous regretterez ces actes !,410,0,0,Whip()
+410,0,0,,(Tu ranges la cravache.)|(1 minute),(Tu ranges la cravache et tu la remets sur ses pieds.),310,0,0,
+420,0,0,,(Tu la fouettes.)|(1 minute),(Tu lui donnes un grand coup de cravache.)|(Elle crie de colère dans son bâillon.),420,0,0,Whip()
+420,0,0,,(Tu ranges la cravache.)|(1 minute),(Tu ranges la cravache et tu la remets sur ses pieds.),320,0,0,
+420,0,0,,(Tu la débâillones.)|(1 minute),(Tu lui enlèves doucement son bâillon.)|Jeune fille ! Ceci est vraiment inapproprié.,410,0,0,Ungag()
+430,0,0,,(Tu la fouettes.)|(1 minute),(Tu lui donnes un grand coup de cravache.)|Mademoiselle ! Vous regretterez ces actes !,430,0,0,Whip()
+430,0,0,,(Tu ranges la cravache.)|(1 minute),(Tu ranges la cravache et tu la remets sur ses pieds.),330,0,0,
+440,0,0,,(Tu la fouettes.)|(1 minute),(Tu lui donnes un grand coup de cravache.)|(Elle crie de colère dans son bâillon.),440,0,0,Whip()
+440,0,0,,(Tu ranges la cravache.)|(1 minute),(Tu ranges la cravache et tu la remets sur ses pieds.),340,0,0,
+440,0,0,,(Tu la débâillones.)|(1 minute),(Tu lui enlèves doucement son bâillon.)|Jeune fille ! Ceci est vraiment inapproprié.,430,0,0,Ungag()
diff --git a/C002_FirstClass/Mildred/Text_EN.csv b/C002_FirstClass/Mildred/Text_EN.csv
new file mode 100644
index 0000000000..2f6fd3ca89
--- /dev/null
+++ b/C002_FirstClass/Mildred/Text_EN.csv
@@ -0,0 +1,16 @@
+Tag,Content
+SurpriseAttack,"(Without warning, she jumps on you, forces you|to bend on your desk and raises your skirt.)"
+BallGag,(You push the ball in her mouth and buckle|the straps while she protests incomprehensibly.)
+UnlockWarning,(Are you sure you want to unlock her?|Click on the key again to do so.)
+Unlock,"(After you unlock her, she pins you and|restrains you.) You saved yourself little miss."
+Rope,"(You circle the rope around her body, making|tight knots.  Once done, you remove her cuffs.)"
+Cuffs,(You cuff her again and undo all the knots|while she tries to kick you without success.)
+Disturb1,"(She looks at you briefly.) Young lady,|stay quiet while I teach, we can talk after class."
+Disturb2,(She looks angry at you.) Little Miss!|You will stop bothering the class right now!
+Disturb3,(She looks furious.) This is your last warning!|The next time you bother the class I will restrain you.
+Disturb4,"(She pins you down and raises your skirt.)|Young lady, today you will learn a lesson on discipline."
+SubdueAlone,"(Alone, you fail to subdue her and she pins you down.)|Young lady, today you will learn a lesson on discipline."
+SubdueSidney,"(You and Sidney fail to subdue and she pins you.)|Young lady, today you will learn a lesson on discipline."
+SubdueAmanda,"(You and Amanda fail to subdue and she pins you.)|Young lady, today you will learn a lesson on discipline."
+SubdueSarah,"(You and Sarah fail to subdue and she pins you.)|Young lady, today you will learn a lesson on discipline."
+SubdueSuccess,"(With your helpers, you're able to strip Mildred.|You find some cuffs in her stuff and lock her wrists.)"
diff --git a/C002_FirstClass/Mildred/Text_FR.csv b/C002_FirstClass/Mildred/Text_FR.csv
new file mode 100644
index 0000000000..782dbbf24e
--- /dev/null
+++ b/C002_FirstClass/Mildred/Text_FR.csv
@@ -0,0 +1,16 @@
+Tag,Content
+SurpriseAttack,"(Sans préavis, elle bondit sur toi, te force|à te pencher sur ton bureau et soulève ta jupe.)"
+BallGag,"(Tu enfonces la boule dans sa bouche et attaches|les sangles pendant qu'elle proteste, incomprise.)"
+UnlockWarning,(Es-tu vraiment sûre de vouloir la libérer ?|Clique sur la clé une nouvelle fois.)
+Unlock,"(Après l'avoir libéré, elle te cloue sur place et t'attache.)|Vous venez de faire le bon choix Mademoiselle."
+Rope,"(Tu fais des ronds avec la corde sur son corps, et|des noeuds serrés. Puis, tu enlèves ses menottes.)"
+Cuffs,(Tu la menottes encore et défais les noeuds|pendant qu'elle essaye de te frapper sans succès.)
+Disturb1,"(Elle te regarde brièvement.) Jeune fille !|Reste tranquille, nous parlerons après le cours."
+Disturb2,"(Elle te regarde avec colère.) Mademoiselle !| Vous allez arrêter de perturber la classe maintenant !"
+Disturb3,"(Elle à l'air furieuse.) Dernier avertissement !| La prochaine fois, je te menotte et te bâillonne."
+Disturb4,"(Elle te cloue sur place et soulève ta jupe.) Jeune fille,|aujourd'hui tu vas recevoir une leçon de discipline."
+SubdueAlone,"(Seule, tu échoues et elle te cloue sur place.)|Jeune fille, tu vas recevoir une leçon de discipline."
+SubdueSidney,"(Vous échouez, elle te cloue sur place.) Jeune fille,|aujourd'hui tu vas recevoir une leçon de discipline."
+SubdueAmanda,"(Vous échouez, elle te cloue sur place.) Jeune fille,|aujourd'hui tu vas recevoir une leçon de discipline."
+SubdueSarah,"(Vous échouez, elle te cloue sur place.) Jeune fille,|aujourd'hui tu vas recevoir une leçon de discipline."
+SubdueSuccess,"(Avec tes assistantes, tu es capable de la déshabiller.|Tu trouves des menottes dans ses affaires et lui mets.)"
diff --git a/C002_FirstClass/Outro/Background.jpg b/C002_FirstClass/Outro/Background.jpg
new file mode 100644
index 0000000000..e6a0f10b31
Binary files /dev/null and b/C002_FirstClass/Outro/Background.jpg differ
diff --git a/C002_FirstClass/Outro/Script.js b/C002_FirstClass/Outro/Script.js
new file mode 100644
index 0000000000..f864d99492
--- /dev/null
+++ b/C002_FirstClass/Outro/Script.js
@@ -0,0 +1,66 @@
+var C002_FirstClass_Outro_Restrained = false;
+
+// Chapter 2 - Outro Load
+function C002_FirstClass_Outro_Load() {
+	
+	// Time is always 9:15:00 in the outro
+	StopTimer(9 * 60 * 60 * 1000);
+	C002_FirstClass_Outro_Restrained = Common_PlayerRestrained;
+	ActorSpecificClearInventory("Sidney", false);
+	ActorSpecificClearInventory("Amanda", false);
+	ActorSpecificClearInventory("Sarah", false);
+	ActorSpecificClearInventory("Mildred", false);
+
+}
+
+// Chapter 2 - Outro Run
+function C002_FirstClass_Outro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 800, 0);
+		
+	// Write the chapter outro
+	DrawText(ctx, GetText("Intro1"), 400, 150, "White");
+	if ((TextPhase >= 1) && (C002_FirstClass_Classroom_MildredSubdueSuccess == false) && (C002_FirstClass_Classroom_MildredSubdueFailed == false)) DrawText(ctx, GetText("Intro2A"), 400, 250, "White");
+	if ((TextPhase >= 1) && (C002_FirstClass_Classroom_MildredSubdueSuccess == true) && (C002_FirstClass_Classroom_MildredSubdueFailed == false) && (!C002_FirstClass_Outro_Restrained)) DrawText(ctx, GetText("Intro2B"), 400, 250, "White");
+	if ((TextPhase >= 1) && (C002_FirstClass_Classroom_MildredSubdueSuccess == true) && (C002_FirstClass_Classroom_MildredSubdueFailed == false) && (C002_FirstClass_Outro_Restrained)) DrawText(ctx, GetText("Intro2C"), 400, 250, "White");
+	if ((TextPhase >= 1) && (C002_FirstClass_Classroom_MildredSubdueFailed == true)) DrawText(ctx, GetText("Intro2D"), 400, 250, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 400, 350, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 400, 450, "White");
+
+}
+
+// Chapter 2 - Outro Click
+function C002_FirstClass_Outro_Click() {
+
+	// Jump to the next animation
+	TextPhase++;
+	if (TextPhase >= 4)
+		SaveMenu("C004_ArtClass", "Intro");
+	
+	// Release the player on phase 2
+	if (TextPhase == 2) {
+
+		// Remove all inventory if subdue has failed
+		if (C002_FirstClass_Classroom_MildredSubdueFailed == true) {
+			PlayerUnlockAllInventory();
+			PlayerRemoveAllInventory();
+		}
+
+		// if cuffed, unlock it
+		if (Common_PlayerRestrained) {
+			PlayerUnlockInventory("Cuffs");
+			PlayerAddInventory("Cuffs", 1);
+		}
+
+		// if gagged, unlock it	
+		if (Common_PlayerGagged) {
+			PlayerUnlockInventory("BallGag");
+			PlayerAddInventory("BallGag", 1);
+		}
+
+	}
+
+}
\ No newline at end of file
diff --git a/C002_FirstClass/Outro/Text_EN.csv b/C002_FirstClass/Outro/Text_EN.csv
new file mode 100644
index 0000000000..46c16ecab4
--- /dev/null
+++ b/C002_FirstClass/Outro/Text_EN.csv
@@ -0,0 +1,8 @@
+Tag,Content
+Intro1,"The bell finally rings, the first class is over."
+Intro2A,"You finally leave Miss Mildred class, it was long."
+Intro2B,You leave Miss Mildred class with a huge grin.
+Intro2C,You get unlocked and leave class with a grin.
+Intro2D,"Miss Mildred releases you, hoping you've learned a lesson."
+Intro3,"Your next class starts at 9:15, better not be late."
+Intro4,You search the school and find your next classroom.
diff --git a/C002_FirstClass/Outro/Text_FR.csv b/C002_FirstClass/Outro/Text_FR.csv
new file mode 100644
index 0000000000..279d6d2aa7
--- /dev/null
+++ b/C002_FirstClass/Outro/Text_FR.csv
@@ -0,0 +1,8 @@
+Tag,Content
+Intro1,"La cloche finit par sonner, le premier cours est terminé."
+Intro2A,"Vous finissez par quitter la classe de Madame Mildred, c'était long."
+Intro2B,"Vous quittez la classe de Madame Mildred avec un large sourire."
+Intro2C,"Vous êtes libérée et vous quittez la classe avec un large sourire."
+Intro2D,"Madame Mildred vous a libérée, espérant que vous avez retenu la leçon."
+Intro3,"Votre prochain cours débute à 9H15, mieux vaut ne pas être en retard."
+Intro4,"Vous parcourez les couloirs et vous trouvez la classe suivante."
diff --git a/C002_FirstClass/Sarah/Hug_Amanda_Rope_BallGag_Sarah_Rope.jpg b/C002_FirstClass/Sarah/Hug_Amanda_Rope_BallGag_Sarah_Rope.jpg
new file mode 100644
index 0000000000..fa85ac7d41
Binary files /dev/null and b/C002_FirstClass/Sarah/Hug_Amanda_Rope_BallGag_Sarah_Rope.jpg differ
diff --git a/C002_FirstClass/Sarah/Hug_Amanda_Rope_BallGag_Sarah_Rope_BallGag.jpg b/C002_FirstClass/Sarah/Hug_Amanda_Rope_BallGag_Sarah_Rope_BallGag.jpg
new file mode 100644
index 0000000000..5886355af8
Binary files /dev/null and b/C002_FirstClass/Sarah/Hug_Amanda_Rope_BallGag_Sarah_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Sarah/Hug_Amanda_Rope_Sarah_Rope.jpg b/C002_FirstClass/Sarah/Hug_Amanda_Rope_Sarah_Rope.jpg
new file mode 100644
index 0000000000..a46b984341
Binary files /dev/null and b/C002_FirstClass/Sarah/Hug_Amanda_Rope_Sarah_Rope.jpg differ
diff --git a/C002_FirstClass/Sarah/Hug_Amanda_Rope_Sarah_Rope_BallGag.jpg b/C002_FirstClass/Sarah/Hug_Amanda_Rope_Sarah_Rope_BallGag.jpg
new file mode 100644
index 0000000000..dd47452ad1
Binary files /dev/null and b/C002_FirstClass/Sarah/Hug_Amanda_Rope_Sarah_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Sarah/Intro_EN.csv b/C002_FirstClass/Sarah/Intro_EN.csv
new file mode 100644
index 0000000000..e6e5697852
--- /dev/null
+++ b/C002_FirstClass/Sarah/Intro_EN.csv
@@ -0,0 +1,35 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,Common_PlayerGagged,You're cute with that gag.|Can I also get one?,Sarah.jpg
+10,0,0,Common_PlayerGagged,You're cute with that gag.|Can I also get one?,Sarah.jpg
+20,0,0,Common_PlayerGagged,You're cute with that gag.|Can I also get one?,Sarah.jpg
+30,0,0,Common_PlayerGagged,You're cute with that gag.|Can I also get one?,Sarah.jpg
+40,0,0,Common_PlayerGagged,You're cute with that gag.|Can I also get one?,Sarah.jpg
+50,0,0,Common_PlayerGagged,You're cute with that gag.|Can I also get one?,Sarah.jpg
+60,0,0,Common_PlayerGagged,You're cute with that gag.|Can I also get one?,Sarah.jpg
+0,0,0,SubdueNotDone,"(She turns to you and whispers.)|Hello there, I'm Sarah.",Sarah.jpg
+10,0,0,SubdueNotDone,Is this your first math|class with Miss Mildred?,Sarah.jpg
+20,0,0,SubdueNotDone,(She yawns and turns to you.),Sarah.jpg
+30,0,0,SubdueNotDone,Miss Mildred is quite a|strict teacher isn't she?,Sarah.jpg
+40,0,0,SubdueNotDone,"I'm curious, what do|you have in mind?",Sarah.jpg
+50,0,0,SubdueNotDone,You want to subdue and kidnap Miss Mildred?|(You need 2 love or submission to convince her.),Sarah.jpg
+60,0,0,SubdueNotDone,I help will you.|But you start the kidnapping.,Sarah.jpg
+0,0,0,SubdueSuccess,Wow!  It's the first time I wish I|could have been to math class early.,Sarah.jpg
+10,0,0,SubdueSuccess,"I'm Sarah, nice to meet you.",Sarah.jpg
+20,0,0,SubdueSuccess,This is the best math class ever!,Sarah.jpg
+30,0,0,SubdueSuccess,"Now you should humiliate|piggy.  Errr, I mean Sidney.",Sarah.jpg
+40,0,0,SubdueSuccess,Do you have some restrains left for me?,Sarah.jpg
+50,0,0,SubdueSuccess,Do you have some restrains left for me?,Sarah.jpg
+60,0,0,SubdueSuccess,Do you have some restrains left for me?,Sarah.jpg
+110,0,0,,(She chews on the gag playfully|and gives you a thumb up.),Sarah_BallGag.jpg
+120,0,0,,(She plays with the cuffs.)|I need cuffs like this at home.,Sarah_Cuffs.jpg
+130,0,0,,(She plays with the cuffs and|seems to enjoy being restrained.),Sarah_Cuffs_BallGag.jpg
+140,0,0,,(She plays in the rope and seems to have fun.)|I love the way you tied me up.,Sarah_Rope.jpg
+150,0,0,,(She plays in the ropes and rubs her body.|She seems to be having lots of fun.),Sarah_Rope_BallGag.jpg
+200,0,0,,It seems that someone got|in even more trouble than me.,Sarah.jpg
+210,0,0,,"I'm Sarah, nice to meet you.",Sarah.jpg
+220,0,0,,So what happened to you?,Sarah.jpg
+230,0,0,,You look adorable all restrained.,Sarah.jpg
+240,0,0,,I wish I could be|tied up just like you.,Sarah.jpg
+250,0,0,,You think I can get in trouble|like you if I bother the teacher?,Sarah.jpg
+260,0,0,,(She chews on the gag and|playfully tugs on the cuffs.),Sarah_Cuffs_BallGag.jpg
+300,0,0,,This class is so boring.|I hope it will be over soon.,Sarah.jpg
diff --git a/C002_FirstClass/Sarah/Intro_FR.csv b/C002_FirstClass/Sarah/Intro_FR.csv
new file mode 100644
index 0000000000..3d55347e04
--- /dev/null
+++ b/C002_FirstClass/Sarah/Intro_FR.csv
@@ -0,0 +1,35 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,Common_PlayerGagged,Tu es mignonne avec ce bâillon.|Je peux aussi en avoir un ?,Sarah.jpg
+10,0,0,Common_PlayerGagged,Tu es mignonne avec ce bâillon.|Je peux aussi en avoir un ?,Sarah.jpg
+20,0,0,Common_PlayerGagged,Tu es mignonne avec ce bâillon.|Je peux aussi en avoir un ?,Sarah.jpg
+30,0,0,Common_PlayerGagged,Tu es mignonne avec ce bâillon.|Je peux aussi en avoir un ?,Sarah.jpg
+40,0,0,Common_PlayerGagged,Tu es mignonne avec ce bâillon.|Je peux aussi en avoir un ?,Sarah.jpg
+50,0,0,Common_PlayerGagged,Tu es mignonne avec ce bâillon.|Je peux aussi en avoir un ?,Sarah.jpg
+60,0,0,Common_PlayerGagged,Tu es mignonne avec ce bâillon.|Je peux aussi en avoir un ?,Sarah.jpg
+0,0,0,SubdueNotDone,"(Elle se tourne vers toi et chuchote.)|Bonjour, Je m'appelle Sarah.",Sarah.jpg
+10,0,0,SubdueNotDone,C'est donc ton premier cours de maths|avec Madame Mildred ?,Sarah.jpg
+20,0,0,SubdueNotDone,(Elle bâille et se tourne vers toi.),Sarah.jpg
+30,0,0,SubdueNotDone,"Madame Mildred est une enseignante|assez sévère, n'est-ce pas ?",Sarah.jpg
+40,0,0,SubdueNotDone,"Je suis curieuse, qu'est-ce que tu as en tête ?",Sarah.jpg
+50,0,0,SubdueNotDone,Tu veux soumettre et kidnapper Madame Mildred ?|(""+2"" en amour ou en soumission pour la convaincre.),Sarah.jpg
+60,0,0,SubdueNotDone,Je t'aiderai.|Mais tu commences le kidnapping.,Sarah.jpg
+0,0,0,SubdueSuccess,Wow ! C'est la première fois que j'aurai|aimé arriver à l'heure en cours de maths.,Sarah.jpg
+10,0,0,SubdueSuccess,"Je m'appelle Sarah, ravie de te rencontrer.",Sarah.jpg
+20,0,0,SubdueSuccess,C'est le meilleur cours de maths de tous les temps !,Sarah.jpg
+30,0,0,SubdueSuccess,"Tu devrais humilier Peggy.|Euh, je veux dire Sidney.",Sarah.jpg
+40,0,0,SubdueSuccess,As-tu de quoi restreindre mes mouvements ?,Sarah.jpg
+50,0,0,SubdueSuccess,As-tu de quoi restreindre mes mouvements ?,Sarah.jpg
+60,0,0,SubdueSuccess,As-tu de quoi restreindre mes mouvements ?,Sarah.jpg
+110,0,0,,(Elle mâche le bâillon avec plaisir|et te fait un signe de la main.),Sarah_BallGag.jpg
+120,0,0,,(Elle joue avec les menottes.)|J'ai besoin de menottes comme celles-ci à la maison.,Sarah_Cuffs.jpg
+130,0,0,,(Elle joue avec les menottes et|semble apprécier d'être maitrisée.),Sarah_Cuffs_BallGag.jpg
+140,0,0,,(Elle joue avec la corde et semble s'amuser.)|J'adore ta manière de me ligoter.,Sarah_Rope.jpg
+150,0,0,,(Elle joue et frotte son corps contre la corde.|Elle semble bien s'amuser.),Sarah_Rope_BallGag.jpg
+200,0,0,,ll semblerait que quelqu'un soit|en plus mauvaise posture que moi.,Sarah.jpg
+210,0,0,,"Je m'appelle Sarah, ravie de te rencontrer.",Sarah.jpg
+220,0,0,,"Alors, qu'est-ce-qu'il s'est passé ?",Sarah.jpg
+230,0,0,,Tu es si adorable toute maîtrisée.,Sarah.jpg
+240,0,0,,J'aimerais bien être attachée comme toi.,Sarah.jpg
+250,0,0,,Tu penses que je peux te rejoindre si j'embête la prof ?,Sarah.jpg
+260,0,0,,(Elle mâche le bâillon et tire malicieusement|sur les menottes.),Sarah_Cuffs_BallGag.jpg
+300,0,0,,Ce cours est si ennuyant.|J'espère qu'il va bientôt finir.,Sarah.jpg
diff --git a/C002_FirstClass/Sarah/Sarah.jpg b/C002_FirstClass/Sarah/Sarah.jpg
new file mode 100644
index 0000000000..d9b25b569b
Binary files /dev/null and b/C002_FirstClass/Sarah/Sarah.jpg differ
diff --git a/C002_FirstClass/Sarah/Sarah_BallGag.jpg b/C002_FirstClass/Sarah/Sarah_BallGag.jpg
new file mode 100644
index 0000000000..20945546be
Binary files /dev/null and b/C002_FirstClass/Sarah/Sarah_BallGag.jpg differ
diff --git a/C002_FirstClass/Sarah/Sarah_Cuffs.jpg b/C002_FirstClass/Sarah/Sarah_Cuffs.jpg
new file mode 100644
index 0000000000..a8fda567b2
Binary files /dev/null and b/C002_FirstClass/Sarah/Sarah_Cuffs.jpg differ
diff --git a/C002_FirstClass/Sarah/Sarah_Cuffs_BallGag.jpg b/C002_FirstClass/Sarah/Sarah_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..f9ece1f9eb
Binary files /dev/null and b/C002_FirstClass/Sarah/Sarah_Cuffs_BallGag.jpg differ
diff --git a/C002_FirstClass/Sarah/Sarah_Rope.jpg b/C002_FirstClass/Sarah/Sarah_Rope.jpg
new file mode 100644
index 0000000000..87689f5a24
Binary files /dev/null and b/C002_FirstClass/Sarah/Sarah_Rope.jpg differ
diff --git a/C002_FirstClass/Sarah/Sarah_Rope_BallGag.jpg b/C002_FirstClass/Sarah/Sarah_Rope_BallGag.jpg
new file mode 100644
index 0000000000..dcfe89b013
Binary files /dev/null and b/C002_FirstClass/Sarah/Sarah_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Sarah/Script.js b/C002_FirstClass/Sarah/Script.js
new file mode 100644
index 0000000000..86ec26cba4
--- /dev/null
+++ b/C002_FirstClass/Sarah/Script.js
@@ -0,0 +1,158 @@
+var C002_FirstClass_Sarah_CurrentStage = 0;
+var C002_FirstClass_Sarah_BackupStage = 0;
+var C002_FirstClass_Sarah_SubdueSuccess = false;
+var C002_FirstClass_Sarah_SubdueNotDone = true;
+var C002_FirstClass_Sarah_CropDone = false;
+var C002_FirstClass_Sarah_BondageHugReady = false;
+var C002_FirstClass_Sarah_BondageHugDone = false;
+var C002_FirstClass_Sarah_BondageDuoDone = false;
+
+// Calculate the current Sarah stage
+function C002_FirstClass_Sarah_CalcStage() {
+
+	// Keep the backup stage to resume conversation
+	var EntryStage = C002_FirstClass_Sarah_CurrentStage;
+	if (C002_FirstClass_Sarah_CurrentStage < 100) C002_FirstClass_Sarah_BackupStage = C002_FirstClass_Sarah_CurrentStage;
+	
+	// Calculate the correct stage (100 comes back to the previous conversation)
+	if (C002_FirstClass_Sarah_CurrentStage <= 150) {
+		C002_FirstClass_Sarah_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+		if (C002_FirstClass_Sarah_CurrentStage == 100) C002_FirstClass_Sarah_CurrentStage = C002_FirstClass_Sarah_BackupStage;
+	}
+
+	// If the stage changed, we scrap the Overriden image
+	if (EntryStage != C002_FirstClass_Sarah_CurrentStage) OverridenIntroImage = "";
+	
+	// The bondage hug is only available if Amanda and Sarah are in ropes
+	C002_FirstClass_Sarah_BondageHugReady = ((C002_FirstClass_Sarah_CurrentStage > 100) && (C002_FirstClass_Sarah_CurrentStage < 200) && (Common_PlayerNotRestrained) && (Common_PlayerNotGagged) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (ActorSpecificHasInventory("Amanda", "Rope")) && (ActorSpecificHasInventory("Sarah", "Rope")));
+
+	// In bondage hug, the image can vary
+	if ((C002_FirstClass_Sarah_CurrentStage == 160) || (C002_FirstClass_Sarah_CurrentStage == 170)) {
+		OverridenIntroImage = "";
+		if ((ActorSpecificHasInventory("Amanda", "BallGag")) && (ActorSpecificHasInventory("Sarah", "BallGag"))) OverridenIntroImage = "Hug_Amanda_Rope_BallGag_Sarah_Rope_BallGag.jpg";
+		if ((ActorSpecificHasInventory("Amanda", "BallGag")) && (!ActorSpecificHasInventory("Sarah", "BallGag"))) OverridenIntroImage = "Hug_Amanda_Rope_BallGag_Sarah_Rope.jpg";
+		if ((!ActorSpecificHasInventory("Amanda", "BallGag")) && (ActorSpecificHasInventory("Sarah", "BallGag"))) OverridenIntroImage = "Hug_Amanda_Rope_Sarah_Rope_BallGag.jpg";
+		if ((!ActorSpecificHasInventory("Amanda", "BallGag")) && (!ActorSpecificHasInventory("Sarah", "BallGag"))) OverridenIntroImage = "Hug_Amanda_Rope_Sarah_Rope.jpg";
+	}
+	
+}
+
+// Chapter 2 - Sarah Load
+function C002_FirstClass_Sarah_Load() {
+
+	// Load the scene parameters	
+	ActorLoad("Sarah", "Classroom");
+	LoadInteractions();
+
+	// Jumps to the correct stage
+	C002_FirstClass_Sarah_SubdueSuccess = ((C002_FirstClass_Classroom_MildredSubdueSuccess) && !C002_FirstClass_Classroom_MildredSubdueFailed && Common_PlayerNotGagged);
+	C002_FirstClass_Sarah_SubdueNotDone = (!C002_FirstClass_Sarah_SubdueSuccess && Common_PlayerNotGagged);
+	if ((C002_FirstClass_Classroom_MildredSubdueFailed) && (C002_FirstClass_Sarah_CurrentStage == 0)) C002_FirstClass_Sarah_CurrentStage = 200;
+	if ((C002_FirstClass_Classroom_MildredSubdueFailed) && !ActorHasInventory("BallGag") && (C002_FirstClass_Sarah_CurrentStage > 0) && (C002_FirstClass_Sarah_CurrentStage < 100)) C002_FirstClass_Sarah_CurrentStage = 240;
+	if ((C002_FirstClass_Classroom_MildredSubdueFailed) && ActorHasInventory("BallGag") && (C002_FirstClass_Sarah_CurrentStage > 0) && (C002_FirstClass_Sarah_CurrentStage < 100)) C002_FirstClass_Sarah_CurrentStage = 260;
+
+	// The bondage hug is only available if Amanda and Sarah are in ropes
+	if (C002_FirstClass_Sarah_CurrentStage == 160) { C002_FirstClass_Sarah_CurrentStage = 140; C002_FirstClass_Sarah_CalcStage(); }
+	if (C002_FirstClass_Sarah_CurrentStage == 170) { C002_FirstClass_Sarah_CurrentStage = 150; C002_FirstClass_Sarah_CalcStage(); }
+	C002_FirstClass_Sarah_BondageHugReady = ((C002_FirstClass_Sarah_CurrentStage > 100) && (C002_FirstClass_Sarah_CurrentStage < 200) && (Common_PlayerNotRestrained) && (Common_PlayerNotGagged) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (ActorSpecificHasInventory("Amanda", "Rope")) && (ActorSpecificHasInventory("Sarah", "Rope")));
+
+}
+
+// Chapter 2 - Sarah Run
+function C002_FirstClass_Sarah_Run() {
+	BuildInteraction(C002_FirstClass_Sarah_CurrentStage);
+}
+
+// Chapter 2 - Sarah Click
+function C002_FirstClass_Sarah_Click() {	
+
+	// Regular interactions
+	ClickInteraction(C002_FirstClass_Sarah_CurrentStage);
+	var ClickedInv = GetClickedInventory();
+
+	// If the player wants to gag Sarah
+	if ((ClickedInv == "BallGag") && (ActorHasInventory("BallGag") == false) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (Common_PlayerNotRestrained)) {
+		OverridenIntroText = GetText("BallGag");
+		PlayerRemoveInventory("BallGag", 1);
+		ActorAddInventory("BallGag");
+		if (C002_FirstClass_Sarah_CurrentStage == 160) C002_FirstClass_Sarah_CurrentStage = 170;
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to cuff Sarah
+	if ((ClickedInv == "Cuffs") && (ActorHasInventory("Cuffs") == false) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (Common_PlayerNotRestrained)) {
+		if (ActorHasInventory("Rope")) { OverridenIntroText = GetText("CuffsReplaceRope"); PlayerAddInventory("Rope", 1); ActorRemoveInventory("Rope"); }
+		else OverridenIntroText = GetText("Cuffs");
+		PlayerRemoveInventory("Cuffs", 1);
+		ActorAddInventory("Cuffs");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to uncuff Sarah
+	if ((ClickedInv == "CuffsKey") && (ActorHasInventory("Cuffs") == true) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (Common_PlayerNotRestrained)) {
+		OverridenIntroText = GetText("Unlock");
+		PlayerAddInventory("Cuffs", 1);
+		ActorRemoveInventory("Cuffs");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to rope Sarah
+	if ((ClickedInv == "Rope") && (ActorHasInventory("Rope") == false) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (Common_PlayerNotRestrained)) {
+		if (ActorHasInventory("Cuffs")) { OverridenIntroText = GetText("RopeReplaceCuffs"); PlayerAddInventory("Cuffs", 1); ActorRemoveInventory("Cuffs"); }
+		else OverridenIntroText = GetText("Rope");
+		PlayerRemoveInventory("Rope", 1);
+		ActorAddInventory("Rope");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to crop Sarah
+	if ((ClickedInv == "Crop") && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (Common_PlayerNotRestrained)) {
+		if (ActorHasInventory("BallGag")) OverridenIntroText = GetText("CropGagged");
+		else OverridenIntroText = GetText("Crop");
+		if (C002_FirstClass_Sarah_CropDone == false) { C002_FirstClass_Sarah_CropDone = true; ActorChangeAttitude(1, 1); }
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// Recalculate the stage
+	C002_FirstClass_Sarah_CalcStage();
+	
+}
+
+// Chapter 2 - Sarah Ungag
+function C002_FirstClass_Sarah_Ungag() {
+	PlayerAddInventory("BallGag", 1);
+	ActorRemoveInventory("BallGag");
+}
+
+// Chapter 2 - Sarah Untie
+function C002_FirstClass_Sarah_Untie() {
+	PlayerAddInventory("Rope", 1);
+	ActorRemoveInventory("Rope");
+}
+
+// Chapter 2 - Sarah Agrees to Help
+function C002_FirstClass_Sarah_AgreeHelp() {
+	C002_FirstClass_Classroom_SarahAgree = true;
+}
+
+// Chapter 2 - Sarah AnnoyMildred to Help
+function C002_FirstClass_Sarah_AnnoyMildred() {
+	ActorAddInventory("Cuffs");
+	ActorAddInventory("BallGag");
+}
+
+// Chapter 2 - Sarah Bondage Hug 
+function C002_FirstClass_Sarah_BondageHug() {
+	C002_FirstClass_Sarah_CalcStage();
+	if (C002_FirstClass_Sarah_BondageHugDone == false) { C002_FirstClass_Sarah_BondageHugDone = true; ActorChangeAttitude(1, 0); }
+}
+
+// Chapter 2 - Sarah Separate from Amanda hug
+function C002_FirstClass_Sarah_Separate() {
+	OverridenIntroImage = "";
+}
+
+// Chapter 2 - Sarah Bondage Duo Comment
+function C002_FirstClass_Sarah_BondageDuo() {
+	if (C002_FirstClass_Sarah_BondageDuoDone == false) { C002_FirstClass_Sarah_BondageDuoDone = true; ActorChangeAttitude(0, 1); }
+}
diff --git a/C002_FirstClass/Sarah/Stage_EN.csv b/C002_FirstClass/Sarah/Stage_EN.csv
new file mode 100644
index 0000000000..3c46965347
--- /dev/null
+++ b/C002_FirstClass/Sarah/Stage_EN.csv
@@ -0,0 +1,95 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,Common_PlayerGagged,@Uumph lnug mmph!,"(She laughs.)  I can't understand.|I'm Sarah, pleased to meet you.",10,1,0,
+0,0,0,Common_PlayerGagged,(Nod happily.),"(She giggles.)  A happy submissive!|I'm Sarah, pleased to meet you.",10,1,0,
+0,0,0,Common_PlayerGagged,(Give her an|angry look.),You're no fun.  (She pulls her tongue at you.),10,-1,0,
+10,0,0,Common_PlayerGagged,@Uumph lnug mmph!,(She laughs.)  I can't understand.,10,0,0,
+10,0,0,Common_PlayerGagged,(Nod happily.),(She giggles.)  A happy submissive!,10,0,0,
+10,0,0,Common_PlayerGagged,(Give her an|angry look.),You're no fun.  (She pulls her tongue at you.),10,0,0,
+20,0,0,Common_PlayerGagged,@Uumph lnug mmph!,(She laughs.)  I can't understand.,20,0,0,
+20,0,0,Common_PlayerGagged,(Nod happily.),(She giggles.)  A happy submissive!,20,0,0,
+20,0,0,Common_PlayerGagged,(Give her an|angry look.),You're no fun.  (She pulls her tongue at you.),20,0,0,
+30,0,0,Common_PlayerGagged,@Uumph lnug mmph!,(She laughs.)  I can't understand.,30,0,0,
+30,0,0,Common_PlayerGagged,(Nod happily.),(She giggles.)  A happy submissive!,30,0,0,
+30,0,0,Common_PlayerGagged,(Give her an|angry look.),You're no fun.  (She pulls her tongue at you.),30,0,0,
+40,0,0,Common_PlayerGagged,@Uumph lnug mmph!,(She laughs.)  I can't understand.,40,0,0,
+40,0,0,Common_PlayerGagged,(Nod happily.),(She giggles.)  A happy submissive!,40,0,0,
+40,0,0,Common_PlayerGagged,(Give her an|angry look.),You're no fun.  (She pulls her tongue at you.),40,0,0,
+50,0,0,Common_PlayerGagged,@Uumph lnug mmph!,(She laughs.)  I can't understand.,50,0,0,
+50,0,0,Common_PlayerGagged,(Nod happily.),(She giggles.)  A happy submissive!,50,0,0,
+50,0,0,Common_PlayerGagged,(Give her an|angry look.),You're no fun.  (She pulls her tongue at you.),50,0,0,
+60,0,0,Common_PlayerGagged,@Uumph lnug mmph!,(She laughs.)  I can't understand.,60,0,0,
+60,0,0,Common_PlayerGagged,(Nod happily.),(She giggles.)  A happy submissive!,60,0,0,
+60,0,0,Common_PlayerGagged,(Give her an|angry look.),You're no fun.  (She pulls her tongue at you.),60,0,0,
+0,0,0,SubdueNotDone,You should focus more|on your education.,"I know, I know, I Know! |Are you always that boring?",10,-1,1,
+0,0,0,SubdueNotDone,Are you always|late to class?,"Oh no, Miss Mildred is exaggerating.|Only this morning... and last time.",10,0,1,
+0,0,0,SubdueNotDone,I'm surprised you're|able to sit down.,"Nonsense, I've had worse than that.",10,0,0,
+0,0,0,SubdueNotDone,Are you alright?|Did she hurt you?,"I will be fine, I've had much worse.|Thanks for asking. (She smiles at you.)",10,1,0,
+10,0,0,SubdueNotDone,When does this|math class end?,"At nine, at least I was|able to skip half of it.",20,0,0,
+10,0,0,SubdueNotDone,"This is so boring, you|should have stayed out.",I agree!  I'm wondering why I came in.,20,1,0,
+10,0,0,SubdueNotDone,I don't understand math.|Can you help me here?,Me?  Help anyone in|math?  That's a good one.,20,0,-1,
+20,0,0,SubdueNotDone,We should get out.,Get out?  But I just came in.|I don't want more trouble with Miss Mildred.,30,0,0,
+20,0,0,SubdueNotDone,How do you kill time?,I think about yesterday evening. (She giggles.)|Miss Mildred is pretty boring isn't she?,30,0,0,
+20,0,0,SubdueNotDone,Are you bored as I am?,"Absolutely, Miss Mildred is a good|teacher, but she's pretty boring.",30,1,0,
+20,0,0,SubdueNotDone,So the teacher|doesn't like you.,I know!  No need to remind me.|Miss Mildred is tough with me.,30,-1,0,
+30,0,0,SubdueNotDone,Do you want|to get even?,Get even?  With Miss Mildred?|What do you have in mind?,40,0,0,
+30,0,0,SubdueNotDone,"Keep quiet,|I have a plan.",(She shuts up and listens.),40,0,1,
+40,0,0,SubdueNotDone,We should|kidnap Mildred.,Kidnap her?  Like bound and|gagged?  This is a wild idea!,50,1,0,
+40,0,0,SubdueNotDone,You will help me|subdue the teacher.,Oh my!  Subdue Miss Mildred?,50,0,1,
+50,2,0,SubdueNotDone,So will you|help a friend?,"(She giggles and winks.)  My long-time friend.|Yes, I will help, but you start the kidnapping.",60,0,0,AgreeHelp()
+50,0,2,SubdueNotDone,Do it!  It will be epic.,Alright!  I will help you.|But you start the kidnapping.,60,0,0,AgreeHelp()
+50,0,0,SubdueNotDone,Will you help me?,"It sounds fun, but I might|get into too much trouble.",50,0,0,
+50,0,0,SubdueNotDone,Let me think|about it first.,"(She nods.)  Sure, I'll|think about it also.",50,0,0,
+0,0,0,SubdueSuccess,Isn't the class|better now?,"Better?  It's the best math class ever.|I'm Sarah, nice to meet you.",10,1,0,
+0,0,0,SubdueSuccess,Do you like your|teacher like that?,"She's lovely in her underwear.  (She smiles.)|I'm Sarah, nice to meet you.",10,1,0,
+0,0,0,SubdueSuccess,She got what|she deserved.,"She deserved that?  Maybe.|I'm Sarah, nice to meet you.",10,0,0,
+10,0,0,SubdueSuccess,(Relax and contemplate.),(She also contemplates Mildred.)|This is quite a sight.,20,0,0,
+10,0,0,SubdueSuccess,I'm the boss|of the class now.,That's true.  We have a new teacher.,20,0,1,
+10,0,0,SubdueSuccess,You have to pay|to watch the show.,I... I will not give you money.,20,-1,0,
+10,0,0,SubdueSuccess,Do you think we|went too far?,Too far or not far enough?|Don't be so scared.,20,0,-1,
+20,0,0,SubdueSuccess,So who should get|some trouble now?,Piggy!  I mean Sidney.|She should get trouble.,30,0,0,
+20,0,0,SubdueSuccess,Would you like to|be tied up like her?,In here?  Now?|Maybe.  (She blushes.),30,0,1,
+20,0,0,SubdueSuccess,"You're cute, I|like your hair.",(She brushes her hair and smiles.)|Thanks!  But you're even cuter than me.,30,1,0,
+20,0,0,SubdueSuccess,We should leave.,And miss the show?  Oh no.,30,0,0,
+20,0,0,SubdueSuccess,Should I also|humiliate Amanda?,"Please don't, she's my best friend.|I know she will have nightmares.",30,-1,0,
+30,0,0,SubdueSuccess,Are you wet|seeing the teacher?,(She blushes red.)|I can't answer that.,40,0,1,
+30,0,0,SubdueSuccess,Sidney is starring at us.|Should I punish her?,Yes!  That's a great idea.  (She giggles.),40,1,0,
+30,0,0,SubdueSuccess,We can relax and|watch the show.,Well said.  (She lies down to watch the teacher.),40,0,0,
+30,0,0,SubdueSuccess,I love bondage.|Could you tie me up?,I'm not good at tying up.  But if|you want to be tied up I know a club.,40,0,-1,
+40,0,0,SubdueSuccess,"Anyway, I'm sure|time will fly now.",Indeed.  Too fast for my taste.|Let's take some pictures before it ends.,50,0,0,
+40,0,0,SubdueSuccess,Would you like to be|tied up with Amanda?,Tied up with sweet Amy?|That would be a dream come true.,50,1,1,
+40,0,0,SubdueSuccess,Should we end|all this bondage?,No!  This is best class I've ever had.,50,-1,-1,
+110,0,0,Common_PlayerGagged,@Uugnm mugn!,Loongm monng gnu!,110,0,0,
+110,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the big ball.)|Booooooh!  Will you gag me again later?,100,0,0,Ungag()
+130,0,0,Common_PlayerGagged,@Uugnm mugn!,Loongm monng gnu!,130,0,0,
+130,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the big ball.)|Oh!  Will you gag me again later?,120,0,0,Ungag()
+140,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),"(You tickle her and she giggles lightly.)|Hehehe, now what will you do next?",140,0,0,
+140,0,0,Common_PlayerNotRestrained,(Untie her.)|(1 minute),(You untie the knots and she dresses back.)|That was great!  We have to do it again.,100,0,0,Untie()
+140,0,0,BondageHugReady,Would you like to hug|Amanda? (1 minute),Hug Amy?  Oh yes!  (She moves to|her friend to give her a sexy bondage hug.),160,0,0,BondageHug()
+150,0,0,Common_PlayerGagged,@Uugnm mugn!,Loongm monng gnu!,150,0,0,
+150,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),(You tickle her and she giggles lightly.),150,0,0,
+150,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the big ball.)|Do you have another gag for me?,140,0,0,Ungag()
+150,0,0,Common_PlayerNotRestrained,(Untie her.)|(1 minute),(You untie the knots and she dresses back.)|(She then chews on the gag happily.),110,0,0,Untie()
+150,0,0,BondageHugReady,Would you like to hug|Amanda? (1 minute),(She nods happily and moves to her|friend to give her a sexy bondage hug.),170,0,0,BondageHug()
+160,0,0,,Would you like to kiss|her?  (1 minute),(She blushes and nods.)  A kiss Amy?|(She gets closer and kisses Amanda.),160,0,0,
+160,0,0,,Are you two in love?,I'm not answering that.|(She puils her tongue at you.),160,0,0,
+160,0,0,Common_PlayerNotRestrained,(Separate them.)|(1 minute),See you later Amy.  (She winks.),140,0,0,Separate()
+170,0,0,,You two make a|nice bondage duo.,(She nods happily.),170,0,0,BondageDuo()
+170,0,0,Common_PlayerNotRestrained,(Separate them.)|(1 minute),(She reluctantly returns to her chair.),150,0,0,Separate()
+170,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the BallGag.)|Isn't this thrilling Amanda?,160,0,0,Ungag()
+200,0,0,,"@Uuumph, mmph!","(She laughs.)  I can't understand.|I'm Sarah, pleased to meet you.",210,0,0,
+200,0,0,,(Nod slowly.),"(She giggles.)  You look great like that.|I'm Sarah, pleased to meet you.",210,0,-1,
+200,0,0,,(Try to point|to Mildred.),"She tied you up?  Very nice.|I'm Sarah, nice to meet you.",210,0,0,
+210,0,0,,(Try to shake her hand.),(She gets closer and shakes your cuffed hand.)|Now that's funny!  So what happened?,220,1,0,
+210,0,0,,@Mmhgnm!,"Nice to meet you ""Mmhgnm"".|(She laughs.)  So what happened?",220,0,0,
+220,0,0,,@I kmyd mo knmdn|Mnng Mmdeng.,I didn't understand a word.|But you look adorable restrained.,230,0,0,
+220,0,0,,(Shrug.),It might be tough to explain anyway.|You look adorable all restrained.,230,0,0,
+220,0,0,,(Give her a stern look.),"Sorry, I guess you cannot explain.|You look adorable all restrained.",230,0,1,
+230,0,0,,@Oomngn!,I love your mumbles.  And|I wish I could also be tied up.,240,0,0,
+230,0,0,,(Nod happily.),You sound like a lot of fun.|I wish I could also be tied up.,240,1,0,
+230,0,0,,(Bow your head.),You're also a submissive?|I wish I could be tied up also.,240,0,-1,
+240,0,0,,(Nod from|up to down.),You think I can get in trouble|like you if I bother the teacher?,250,0,0,
+240,0,0,,(Shake your head|from left to right.),I guess you're right.|I should focus on the class.,300,-1,0,
+250,0,0,,(Nod from|up to down.),(She yells to annoy the teacher and|she quickly gets gagged and cuffed.),260,0,1,AnnoyMildred()
+250,0,0,,(Shake your head|from left to right.),I guess you're right.|I should focus on the class.,300,-1,0,
+260,0,0,,@Uugnm mugn!,Loongm monng gnu!,260,0,0,
+260,0,0,,(Blink your|eyes quickly.),(She blinks back and giggles.),260,0,0,
diff --git a/C002_FirstClass/Sarah/Stage_FR.csv b/C002_FirstClass/Sarah/Stage_FR.csv
new file mode 100644
index 0000000000..4255f72964
--- /dev/null
+++ b/C002_FirstClass/Sarah/Stage_FR.csv
@@ -0,0 +1,95 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,Common_PlayerGagged,@Uumph lnug mmph !,"(Elle se marre.) Je ne comprends pas.|Je m'appelle Sarah, ravie de te rencontrer",10,1,0,
+0,0,0,Common_PlayerGagged,(Tu hoches la tête|gaiement.),"(Elle rit.) Une soumise joyeuse !|Je m'appelle Sarah, ravie de te rencontrer.",10,1,0,
+0,0,0,Common_PlayerGagged,(Tu la regardes|avec colère.),Tu n'es pas drôle. (Elle tire la langue.),10,-1,0,
+10,0,0,Common_PlayerGagged,@Uumph lnug mmph !,"(Elle se marre.) Je ne comprends pas.",10,0,0,
+10,0,0,Common_PlayerGagged,(Tu hoches la tête|gaiement.),"(Elle rit.) Une soumise joyeuse !",10,0,0,
+10,0,0,Common_PlayerGagged,(Tu la regardes|avec colère.),Tu n'es pas drôle. (Elle tire la langue.),10,0,0,
+20,0,0,Common_PlayerGagged,@Uumph lnug mmph !,"(Elle se marre.) Je ne comprends pas.",20,0,0,
+20,0,0,Common_PlayerGagged,(Tu hoches la tête|gaiement.),"(Elle rit.) Une soumise joyeuse !",20,0,0,
+20,0,0,Common_PlayerGagged,(Tu la regardes|avec colère.),Tu n'es pas drôle. (Elle tire la langue.),20,0,0,
+30,0,0,Common_PlayerGagged,@Uumph lnug mmph !,"(Elle se marre.) Je ne comprends pas.",30,0,0,
+30,0,0,Common_PlayerGagged,(Tu hoches la tête|gaiement.),"(Elle rit.) Une soumise joyeuse !",30,0,0,
+30,0,0,Common_PlayerGagged,(Tu la regardes|avec colère.),Tu n'es pas drôle. (Elle tire la langue.),30,0,0,
+40,0,0,Common_PlayerGagged,@Uumph lnug mmph !,(Elle se marre.) Je ne comprends pas.,40,0,0,
+40,0,0,Common_PlayerGagged,(Tu hoches la tête|gaiement.),"(Elle rit.) Une soumise joyeuse !",40,0,0,
+40,0,0,Common_PlayerGagged,(Tu la regardes|avec colère.),Tu n'es pas drôle. (Elle tire la langue.),40,0,0,
+50,0,0,Common_PlayerGagged,@Uumph lnug mmph !,(Elle se marre.) Je ne comprends pas.,50,0,0,
+50,0,0,Common_PlayerGagged,(Tu hoches la tête|gaiement.),"(Elle rit.) Une soumise joyeuse !",50,0,0,
+50,0,0,Common_PlayerGagged,(Tu la regardes|avec colère.),Tu n'es pas drôle. (Elle tire la langue.),50,0,0,
+60,0,0,Common_PlayerGagged,@Uumph lnug mmph !,(Elle se marre.) Je ne comprends pas.,60,0,0,
+60,0,0,Common_PlayerGagged,(Tu hoches la tête|gaiement.),"(Elle rit.) Une soumise joyeuse !",60,0,0,
+60,0,0,Common_PlayerGagged,(Tu la regardes|avec colère.),Tu n'es pas drôle. (Elle tire la langue.),60,0,0,
+0,0,0,SubdueNotDone,Tu devrais te concentrer|d'avantages sur tes études.,"Je sais, Je sais, Je sais ! |Tu es toujours aussi ennuyante ?",10,-1,1,
+0,0,0,SubdueNotDone,Tu arrives toujours|en retard en classe ?,"Oh non, Madame Mildred exagère.|Seulement ce matin... et la fois dernière.",10,0,1,
+0,0,0,SubdueNotDone,Je suis surprise que tu sois|capable de t'asseoir.,"Sottises, J'ai déjà eu bien pire que ça.",10,0,0,
+0,0,0,SubdueNotDone,Est-ce que ça va ?|Tu n'as pas trop mal ?,"Je vais bien, j'ai déjà eu bien pire.|Merci d'avoir demander. (Elle te sourit.)",10,1,0,
+10,0,0,SubdueNotDone,Quand est-ce que|le cours se termine ?,"A 9H, au moins j'ai été capable d'en éviter la moitié.",20,0,0,
+10,0,0,SubdueNotDone,"C'est ennuyeux, tu aurais|dû rester dehors.",J'approuve ! Je me demandais pourquoi je suis venue.,20,1,0,
+10,0,0,SubdueNotDone,Je comprends rien en|maths. Peux-tu m'aider ?,Moi ? Aider quelqu'un en maths ? Elle est bien bonne.,20,0,-1,
+20,0,0,SubdueNotDone,On devrait sortir.,Sortir ? Mais je viens juste d'arriver.|Je ne veux pas plus d'ennuis avec Madame Mildred.,30,0,0,
+20,0,0,SubdueNotDone,"Comment tuer le temps ?",Je pense aux évenements d'hier soir. (Elle rit.)|Madame Mildred est plutôt ennuyante n'est-ce pas ?,30,0,0,
+20,0,0,SubdueNotDone,Est-ce que tu t'ennuies|autant que moi ?,"Totalement, Madame Mildred est une bonne|prof, mais elle est plutôt ennuyante.",30,1,0,
+20,0,0,SubdueNotDone,"Et sinon, la prof|ne t'aime pas.",Je sais ! Pas besoin de me le rappeler.|Madame Mildred est rude avec moi.,30,-1,0,
+30,0,0,SubdueNotDone,Tu veux l'être aussi ?,Etre sévère ? Avec Madame Mildred ?|Qu'as-tu en tête ?,40,0,0,
+30,0,0,SubdueNotDone,"Silence, j'ai un plan.",(elle se tait et écoute.),40,0,1,
+40,0,0,SubdueNotDone,Nous devrions|kidnapper Mildred.,La kidnapper ? comme l'attacher et la bâilloner ?|C'est une idée démente !,50,1,0,
+40,0,0,SubdueNotDone,Tu m'aideras à|soumettre la prof.,Oh mon... Soumettre Madame Mildred ?,50,0,1,
+50,2,0,SubdueNotDone,"Alors tu aideras|une amie ?","(Elle rit et te fait un clin d'oeil.) Mon amie de toujours.|Oui, je t'aiderai, mais tu commences le kidnapping.",60,0,0,AgreeHelp()
+50,0,2,SubdueNotDone,Fait le ! Ça sera épique.,D'accord ! Je t'aiderai.|Mais tu commences le kidnapping.,60,0,0,AgreeHelp()
+50,0,0,SubdueNotDone,M'aideras-tu ?,"Ça a l'air amusant, mais je vais m'attirer|encore plus de problèmes.",50,0,0,
+50,0,0,SubdueNotDone,Laisse-moi y|réfléchir un peu.,"(Elle hoche la tête.) Bien sûr, je vais y réfléchir aussi.",50,0,0,
+0,0,0,SubdueSuccess,Le cours n'est-il pas|mieux maintenant ?,"Mieux ? C'est le meilleur cours de maths de tous|les temps. Je m'appelle Sarah, ravie de te rencontrer.",10,1,0,
+0,0,0,SubdueSuccess,Tu aimes la prof|comme ça ?,"Elle est charmante en sous-vêtements. (Elle sourit.)|Je m'appelle Sarah, ravie de te rencontrer.",10,1,0,
+0,0,0,SubdueSuccess,Elle a eu ce|qu'elle méritait.,"Elle méritait ça ? Peut-être.|Je m'appelle Sarah, ravie de te rencontrer.",10,0,0,
+10,0,0,SubdueSuccess,(Tu te détends et|contemples ton oeuvre),(Elle contemple aussi Mildred.)|C'est une jolie vue.,20,0,0,
+10,0,0,SubdueSuccess,Je suis la boss|de la classe maintenant.,C'est vrai. Nous avons une nouvelle professeur.,20,0,1,
+10,0,0,SubdueSuccess,Tu dois payer pour|assister au spectacle.,Je... Je ne te donnerai pas d'argent.,20,-1,0,
+10,0,0,SubdueSuccess,Tu penses qu'on|est allé trop loin ?,Trop loin ou pas assez ?|Ne soit pas si craintive.,20,0,-1,
+20,0,0,SubdueSuccess,"Bon, qui sera la|prochaine maintenant ?",Peggy ! Je veux dire Sidney.|Elle devrait être la prochaine.,30,0,0,
+20,0,0,SubdueSuccess,Tu aimerais être|ligoté comme elle ?,Ici ? Maintenant ?|Peut-être. (Elle rougit.),30,0,1,
+20,0,0,SubdueSuccess,"Tu es mignonne,|J'aime tes cheveux.",(Elle se recoiffe et sourit.)|Merci ! Mais tu es plus mignonne que moi.,30,1,0,
+20,0,0,SubdueSuccess,Nous devrions partir.,"Et louper le spectacle ? Oh non.",30,0,0,
+20,0,0,SubdueSuccess,Devrais-je aussi humilier|Amanda ?,"S'il te plaît, non, c'est ma meilleure amie.|Je sais qu'elle en fera des cauchemards.",30,-1,0,
+30,0,0,SubdueSuccess,"Es-tu ""mouillée"" en|regardant la prof ?",(Elle s'empourpre.)|Je ne peux pas te répondre.,40,0,1,
+30,0,0,SubdueSuccess,Sidney nous fixe.|Devrais-je la punir ?,Oui ! C'est une bonne idée. (Elle rit.),40,1,0,
+30,0,0,SubdueSuccess,Nous pouvons nous relaxer|et profiter du spectacle.,Bien dit. (Elle s'étale et regarde la professeur.),40,0,0,
+30,0,0,SubdueSuccess,J'adore le bondage.|Pourrais-tu me ligoter ?,Je ne suis pas bonne pour ligoter. Mais si|tu veux être ligotée Je connais un club.,40,0,-1,
+40,0,0,SubdueSuccess,"Je suis sûre que le temps|va s'écouler plus vite.",Effectivement. Trop rapidement à mon goût.|Faisons quelques photos avant qu'il ne soit trop tard.,50,0,0,
+40,0,0,SubdueSuccess,Aimerais-tu être|ligotée avec Amanda ?,Ligotée avec ma Amy adorée ?|Ça serait un rêve qui deviendrait réalité.,50,1,1,
+40,0,0,SubdueSuccess,Devrions nous mettre fin|à tout ce bondage ?,Non ! C'est le meilleur cours que j'ai jamais eu.,50,-1,-1,
+110,0,0,Common_PlayerGagged,@Uugnm mugn !,Loongm monng gnu !,110,0,0,
+110,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),(Tu détaches le bâillon et retires la grosse boule.)|Booouuuh ! Tu me bâilloneras de nouveau plus tard ?,100,0,0,Ungag()
+130,0,0,Common_PlayerGagged,@Uugnm mugn !,Loongm monng gnu !,130,0,0,
+130,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),(Tu détaches le bâillon et retires la grosse boule.)|Oh ! Tu me bâilloneras de nouveau plus tard ?,120,0,0,Ungag()
+140,0,0,Common_PlayerNotRestrained,(Tu la chatouilles.)|(1 minute),"(Tu la chatouilles et elle rit doucement.)|Hé hé hé, qu'est-ce que tu feras ensuite ?",140,0,0,
+140,0,0,Common_PlayerNotRestrained,(Tu la détaches.)|(1 minute),(Tu défais les noeuds et elle se rhabille.)|C'était super ! Nous devrions le refaire.,100,0,0,Untie()
+140,0,0,BondageHugReady,"Aimerais-tu faire un câlin|à Amanda ? (1 minute)",Câliner Amy ? Oh oui ! (Elle se dirige|vers son amie et lui fait un calin très sexy.),160,0,0,BondageHug()
+150,0,0,Common_PlayerGagged,@Uugnm mugn !,Loongm monng gnu !,150,0,0,
+150,0,0,Common_PlayerNotRestrained,(Tu la chatouilles.)|(1 minute),(Tu la chatouilles et elle rit doucement.),150,0,0,
+150,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),(Tu détaches le bâillon et retires la grosse boule.)|As-tu un autre bâillon pour moi ?,140,0,0,Ungag()
+150,0,0,Common_PlayerNotRestrained,(Tu la détaches.)|(1 minute),(Tu défais les noeuds et elle se rhabille.)|(Elle mâche le bâillon joyeusement.),110,0,0,Untie()
+150,0,0,BondageHugReady,"Aimerais-tu faire un câlin|à Amanda ? (1 minute)","(Elle hoche la tête avec joie, se dirige|vers son amie et lui fait un calin très sexy.)",170,0,0,BondageHug()
+160,0,0,,Aimerais-tu|l'embrasser ? (1 minute),(Elle rougit et hoche la tête.) Un baiser Amy ?|(Elle se rapproche et embrasse Amanda.),160,0,0,
+160,0,0,,Vous êtes amoureuse ?,Je ne te répondrai pas.|(Elle te tire la langue.),160,0,0,
+160,0,0,Common_PlayerNotRestrained,(Tu les sépares.)|(1 minute),A plus tard Amy. (Elle lui fait un clin d'oeil.),140,0,0,Separate()
+170,0,0,,Vous faites un joli|couple de bondage.,(Elle hoche la tête joyeusement.),170,0,0,BondageDuo()
+170,0,0,Common_PlayerNotRestrained,(Tu les sépares.)|(1 minute),(Elle retourne à contrecoeur à sa chaise.),150,0,0,Separate()
+170,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),(Tu détaches les sangles et retires le bâillon-boule.)|N'est-ce pas excitant Amanda ?,160,0,0,Ungag()
+200,0,0,,"@Uuumph, mmph !","(Elle rigole.) Je ne comprends pas.|Je m'appelle Sarah, ravie de te rencontrer.",210,0,0,
+200,0,0,,(Tu hoches la tête|doucement.),"(Elle rit.) Tu es superbe comme ça.|Je m'appelle Sarah, ravie de te rencontrer.",210,0,-1,
+200,0,0,,(Tu essayes de pointer|du doigt Mildred.),"Elle t'a attaché ? C'est sympas de sa part.|Je m'appelle Sarah, enchantée de te rencontrer.",210,0,0,
+210,0,0,,(Tu essayes de|lui serrer la main.),"(Elle se rapproche et serre ta main menottée.) Là !|Ça devient amusant ! Alors, qu'est-ce-qu'il s'est passé ?",220,1,0,
+210,0,0,,@Mmhgnm !,"Ravie de te rencontrer ""Mmhgnm"".|(Elle rigole.) Alors, qu'est-ce-qu'il s'est passé ?",220,0,0,
+220,0,0,,@I kmyd mo knmdn|Mnng Mmdeng.,Je n'ai pas compris un seul mot.|Mais tu es si adorable toute maîtrisée.,230,0,0,
+220,0,0,,(Tu hausses les épaules.),Ça pourrait être dûr à expliquer de toute façon.|Tu es si adorable toute maîtrisée.,230,0,0,
+220,0,0,,(Tu la regardes|sévèrement.),"Désolée, je suppose que tu ne peux pas t'expliquer.|Tu es si adorable toute maîtrisée.",230,0,1,
+230,0,0,,@Oomngn !,J'adore t'entendre mâchouiller.|J'aimerais bien être attachée moi aussi.,240,0,0,
+230,0,0,,(Tu hoches la tête|joyeusement.),A t'entendre ça à l'air très amusant.|J'aimerais bien être attachée moi aussi.,240,1,0,
+230,0,0,,(Tu baisses la tête.),Tu es aussi une soumise ?|J'aimerais bien être attachée moi aussi.,240,0,-1,
+240,0,0,,(Tu hoches la tête.),Tu penses que je peux te rejoindre si j'embête la prof ?,250,0,0,
+240,0,0,,(Tu tournes la tête|de gauche à droite.),Je suppose que tu as raison.|Je devrais me concentrer sur le cours.,300,-1,0,
+250,0,0,,(Tu hoches la tête.),(Elle pousse des cris pour irriter la professeur et|elle est rapidement bâillonée et menottée.),260,0,1,AnnoyMildred()
+250,0,0,,(Tu tournes la tête|de gauche à droite.),Je suppose que tu as raison.|Je devrais me concentrer sur le cours.,300,-1,0,
+260,0,0,,@Uugnm mugn !,Loongm monng gnu !,260,0,0,
+260,0,0,,(Tu clignes|rapidement les yeux.),(Elle cligne des yeux en retour et rit.),260,0,0,
diff --git a/C002_FirstClass/Sarah/Text_EN.csv b/C002_FirstClass/Sarah/Text_EN.csv
new file mode 100644
index 0000000000..fdc4b6189b
--- /dev/null
+++ b/C002_FirstClass/Sarah/Text_EN.csv
@@ -0,0 +1,9 @@
+Tag,Content
+BallGag,(She opens wide and bites the gag|like she's hungry while you strap it.)
+CuffsReplaceRope,(You undo the ropes so she can get|dressed and you cuff her right after.)
+Cuffs,"(She happily turns so you can cuff her,|she shivers with the clicking sound.)"
+Unlock,(She pouts while you unlock her cuffs.)
+RopeReplaceCuffs,"(You unlock the cuff, she strips,|and you do a full rope harness on her.)"
+Rope,(She removes her clothes happily so|you can do a rope harness on her.
+CropGagged,(You hit Sarah a few times with your crop.|She starts to moan and seems to like it.)
+Crop,(You hit Sarah a few times with your crop.)|Oh!  It stings!  (She smiles and trembles.)
diff --git a/C002_FirstClass/Sarah/Text_FR.csv b/C002_FirstClass/Sarah/Text_FR.csv
new file mode 100644
index 0000000000..336994280a
--- /dev/null
+++ b/C002_FirstClass/Sarah/Text_FR.csv
@@ -0,0 +1,9 @@
+Tag,Content
+BallGag,(Elle ouvre grand la bouche et mord le bâillon|comme une affamée pendant que tu la sangles.)
+CuffsReplaceRope,(Tu défais les cordes jusqu'à ce qu'elle puisse|se rhabiller puis tu la menottes juste après.)
+Cuffs,"(Elle se retourne joyeusement pour que tu puisses|la menotter, elle frisonne au son du clic des menottes.)"
+Unlock,(Elle fait une grimace pendant que tu la libères.)
+RopeReplaceCuffs,"(Tu lui libères le poignet, elle se déshabille,|et tu fais un harnais solide avec la corde.)"
+Rope,(Elle enlève joyeusement ses vêtements|puis tu fais un harnais solide avec la corde.)
+CropGagged,(Tu lui donnes quelques coups avec la cravache.|Elle commence à gémir et semble aimer ça.)
+Crop,(Tu lui donnes quelques coups avec la cravache.)|Oh ! Quelle douleur cinglante ! (Elle sourit et frisonne.)
diff --git a/C002_FirstClass/SarahIntro/Background.jpg b/C002_FirstClass/SarahIntro/Background.jpg
new file mode 100644
index 0000000000..3e62474903
Binary files /dev/null and b/C002_FirstClass/SarahIntro/Background.jpg differ
diff --git a/C002_FirstClass/SarahIntro/Background_AmandaGag.jpg b/C002_FirstClass/SarahIntro/Background_AmandaGag.jpg
new file mode 100644
index 0000000000..a84a486d7a
Binary files /dev/null and b/C002_FirstClass/SarahIntro/Background_AmandaGag.jpg differ
diff --git a/C002_FirstClass/SarahIntro/Background_AmandaGag_Bright.jpg b/C002_FirstClass/SarahIntro/Background_AmandaGag_Bright.jpg
new file mode 100644
index 0000000000..291e3d617e
Binary files /dev/null and b/C002_FirstClass/SarahIntro/Background_AmandaGag_Bright.jpg differ
diff --git a/C002_FirstClass/SarahIntro/Background_Bright.jpg b/C002_FirstClass/SarahIntro/Background_Bright.jpg
new file mode 100644
index 0000000000..da15c2e81f
Binary files /dev/null and b/C002_FirstClass/SarahIntro/Background_Bright.jpg differ
diff --git a/C002_FirstClass/SarahIntro/Script.js b/C002_FirstClass/SarahIntro/Script.js
new file mode 100644
index 0000000000..301ef1d669
--- /dev/null
+++ b/C002_FirstClass/SarahIntro/Script.js
@@ -0,0 +1,39 @@
+// Chapter 2 - SarahIntro Load
+function C002_FirstClass_SarahIntro_Load() {
+
+	// Sarah can now be shown
+	C002_FirstClass_Classroom_Sarah = "Sarah";
+
+	// Skip the intro if Mildred was subdued, else we stop the time and show the intro
+	if (C002_FirstClass_Classroom_MildredSubdueSuccess)
+		SetScene(CurrentChapter, "Classroom");
+	else 
+		StopTimer(8.5 * 60 * 60 * 1000);
+	
+}
+
+// Chapter 2 - SarahIntro Run
+function C002_FirstClass_SarahIntro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	if (ActorSpecificHasInventory("Amanda", "BallGag"))
+		DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background_AmandaGag.jpg", 0, 0);
+	else
+		DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
+
+	// Write the chapter introduction
+	DrawText(ctx, GetText("Intro1"), 600, 100, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 600, 200, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 600, 300, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 600, 400, "White");
+	if (TextPhase >= 4) DrawText(ctx, GetText("Intro5"), 600, 500, "White");
+		
+}
+
+// Chapter 2 - SarahIntro Click
+function C002_FirstClass_SarahIntro_Click() {
+	TextPhase++;
+	if (TextPhase >= 5)
+		SetScene(CurrentChapter, "Classroom");
+}
\ No newline at end of file
diff --git a/C002_FirstClass/SarahIntro/Text_EN.csv b/C002_FirstClass/SarahIntro/Text_EN.csv
new file mode 100644
index 0000000000..fa93cb0a23
--- /dev/null
+++ b/C002_FirstClass/SarahIntro/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,"Its 8:30, a blond girl comes in late into the class."
+Intro2,"The teacher seems furious at her, stating she's always late."
+Intro3,She bends her over her desk and whips her hard with her crop.
+Intro4,"The blond girl endures, cries and pleads for forgiveness."
+Intro5,"She's finally released and sits down, the class continues."
diff --git a/C002_FirstClass/SarahIntro/Text_FR.csv b/C002_FirstClass/SarahIntro/Text_FR.csv
new file mode 100644
index 0000000000..fecb915bf1
--- /dev/null
+++ b/C002_FirstClass/SarahIntro/Text_FR.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,"Il est 8H30, une fille blonde vient d'entrer en classe, elle en retard."
+Intro2,"La professeur semble furieuse après elle, lui dit qu'elle est toujours en retard."
+Intro3,"Elle la penche sur son bureau et elle la fouette sans pitié avec sa cravache."
+Intro4,"La fille blonde endure, pleure et implore son pardon."
+Intro5,"Le supplice prend fin et elle s'assoie, le cours continue."
diff --git a/C002_FirstClass/Sidney/Intro_EN.csv b/C002_FirstClass/Sidney/Intro_EN.csv
new file mode 100644
index 0000000000..1acb37da02
--- /dev/null
+++ b/C002_FirstClass/Sidney/Intro_EN.csv
@@ -0,0 +1,20 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,!BondageBefore,(She doesn't bother to turn|around but seems to listen.),SidneyBack.jpg
+0,1,0,!BondageBefore,(She turns to you and whispers) What?,SidneyFace.jpg
+0,0,0,BondageBefore,(She doesn't turn around but whispers.)|Forget it.  You're not tying me up again.,SidneyBack.jpg
+0,1,0,BondageBefore,(She turns to you and whispers)|Don't think about tying me up again.,SidneyFace.jpg
+10,0,0,,(She turns to you and whispers) What?,SidneyFace.jpg
+20,0,0,,(She turns to you and whispers)|Are you also bored out of your mind?,SidneyFace.jpg
+30,0,0,,(She turns to you and whispers)|I wish there was a way to get out early.,SidneyFace.jpg
+40,0,0,,(She turns to you and whispers)|What do you have in mind?,SidneyFace.jpg
+50,0,0,,You want to kidnap her?  What's in there for me?|(You need 3 love or submission to convince her.),SidneyFace.jpg
+60,0,0,,(She doesn't bother to turn but whispers.)|I will help you but you do the first move.,SidneyBack.jpg
+100,0,0,Common_PlayerNotGagged,Shit!  That was fucking great!,SidneyFace.jpg
+100,0,0,Common_PlayerGagged,(She points at your gag and grins.),SidneyFace.jpg
+100,2,0,Common_PlayerGagged,(She turns around and whispers.)|I'll get you out after class.,SidneyFace.jpg
+100,-2,0,Common_PlayerGagged,(She doesn't turn around but whispers.)|You fucking got what you deserved.,SidneyBack.jpg
+110,0,0,,(She gives you an angry look|and chews on her gag.),Sidney_BallGag.jpg
+120,0,0,,"(She tugs on her cuffs,|trying to force them open.)",Sidney_Cuffs.jpg
+130,0,0,,(She gives you an angry look|and chews on her gag.),Sidney_Cuffs_BallGag.jpg
+140,0,0,,(She trashes to reach a knot but fails.),Sidney_Rope.jpg
+150,0,0,,(She gives you an angry look|and chews on her gag.),Sidney_Rope_BallGag.jpg
diff --git a/C002_FirstClass/Sidney/Intro_FR.csv b/C002_FirstClass/Sidney/Intro_FR.csv
new file mode 100644
index 0000000000..440154ee09
--- /dev/null
+++ b/C002_FirstClass/Sidney/Intro_FR.csv
@@ -0,0 +1,20 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,!BondageBefore,(Elle ne se retourne pas mais elle a l'air de t'écouter.),SidneyBack.jpg
+0,1,0,!BondageBefore,(Elle se retourne et chuchote) Quoi ?,SidneyFace.jpg
+0,0,0,BondageBefore,(Elle ne se retourne pas mais chuchote.)|Oublie ça. Tu ne me rattacheras pas.,SidneyBack.jpg
+0,1,0,BondageBefore,(Elle se retourne et chuchote)|Ne pense même pas à me rattacher.,SidneyFace.jpg
+10,0,0,,(Elle se retourne et chuchote) Quoi ?,SidneyFace.jpg
+20,0,0,,(Elle se retourne et chuchote)|Tu t'ennuies à mourir aussi ?,SidneyFace.jpg
+30,0,0,,(Elle se retourne et chuchote)|Je souhaite qu'il y ait un moyen de sortir plus tôt.,SidneyFace.jpg
+40,0,0,,(Elle se retourne et chuchote)|Qu'est-ce que tu as en tête ?,SidneyFace.jpg
+50,0,0,,"Tu veux la kidnapper ? Qu'est-ce que ça m'apporte ?|(""+3"" en amour ou en soumission pour la convaincre.)",SidneyFace.jpg
+60,0,0,,(Elle ne se retourne plus mais elle chuchote.)|Je t'aiderais mais tu y vas la première.,SidneyBack.jpg
+100,0,0,Common_PlayerNotGagged,Putain ! C'était vraiment super !,SidneyFace.jpg
+100,0,0,Common_PlayerGagged,(Elle pointe du doigt ton bâillon et fait un grand sourire.),SidneyFace.jpg
+100,2,0,Common_PlayerGagged,(Elle se retourne et chuchotte.)|Je te libèrerai après le cours.,SidneyFace.jpg
+100,-2,0,Common_PlayerGagged,(Elle ne se retourne pas mais chuchote.)|Tu as vraiment eu ce que tu mérites.,SidneyBack.jpg
+110,0,0,,(Elle te regarde avec colère et mâche le bâillon.),Sidney_BallGag.jpg
+120,0,0,,"(Elle tire sur ses menottes, forçant pour les ouvrir.)",Sidney_Cuffs.jpg
+130,0,0,,(Elle te regarde avec colère et mâche le bâillon.),Sidney_Cuffs_BallGag.jpg
+140,0,0,,(Elle se démène pour atteindre|un noeud mais elle échoue.),Sidney_Rope.jpg
+150,0,0,,(Elle te regarde avec colère et mâche le bâillon.),Sidney_Rope_BallGag.jpg
diff --git a/C002_FirstClass/Sidney/Script.js b/C002_FirstClass/Sidney/Script.js
new file mode 100644
index 0000000000..61de2d1d75
--- /dev/null
+++ b/C002_FirstClass/Sidney/Script.js
@@ -0,0 +1,162 @@
+var C002_FirstClass_Sidney_CurrentStage = 0;
+var C002_FirstClass_Sidney_BowRemarkReady = true;
+var C002_FirstClass_Sidney_PlayerHasRope = false;
+var C002_FirstClass_Sidney_SubdueRemarkReady = false;
+var C002_FirstClass_Sidney_BondageBefore = false;
+var C002_FirstClass_Sidney_AmandaWhipReady = false;
+var C002_FirstClass_Sidney_SarahWhipReady = false;
+var C002_FirstClass_Sidney_AmandaWhipDone = false;
+var C002_FirstClass_Sidney_SarahWhipDone = false;
+
+// Change the Amanda and Sarah variables
+function C002_FirstClass_Sidney_AmandaSarahVariables() {	
+	C002_FirstClass_Sidney_AmandaWhipReady = ((C002_FirstClass_Sidney_CurrentStage == 100) && (Common_PlayerNotGagged) && (Common_PlayerNotRestrained) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (C002_FirstClass_Sidney_AmandaWhipDone == false) && (PlayerHasInventory("Crop")) && ((ActorSpecificHasInventory("Amanda", "Rope")) || (ActorSpecificHasInventory("Amanda", "Cuffs"))));
+	C002_FirstClass_Sidney_SarahWhipReady = ((C002_FirstClass_Sidney_CurrentStage == 100) && (Common_PlayerNotGagged) && (Common_PlayerNotRestrained) && (C002_FirstClass_Classroom_MildredSubdueSuccess) && (C002_FirstClass_Sidney_SarahWhipDone == false) && (PlayerHasInventory("Crop")) && ((ActorSpecificHasInventory("Sarah", "Rope")) || (ActorSpecificHasInventory("Sarah", "Cuffs"))));
+}
+
+// Chapter 2 - Sidney Load
+function C002_FirstClass_Sidney_Load() {
+
+	// Load the scene parameters	
+	ActorLoad("Sidney", "Classroom");
+	LoadInteractions();
+	C002_FirstClass_Sidney_PlayerHasRope = PlayerHasInventory("Rope");
+	if (C002_FirstClass_Classroom_MildredSubdueSuccess) C002_FirstClass_Sidney_BowRemarkReady = false;
+	C002_FirstClass_Sidney_BondageBefore = (ActorGetValue(ActorBondageCount) > 0);
+	
+	// Stage jumps depending on actor bondage if subdue was tried
+	if ((C002_FirstClass_Classroom_MildredSubdueFailed) || (C002_FirstClass_Classroom_MildredSubdueSuccess)) {
+		if ((parseInt(C002_FirstClass_Sidney_CurrentStage) < 100) && (Common_PlayerNotGagged) && (C002_FirstClass_Classroom_MildredSubdueSuccess)) C002_FirstClass_Sidney_SubdueRemarkReady = true;
+		C002_FirstClass_Sidney_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+	}
+
+	// The remark cannot be done if the player is gagged, also check for Amanda and Sarah variables
+	if (Common_PlayerGagged) C002_FirstClass_Sidney_SubdueRemarkReady = false;
+	C002_FirstClass_Sidney_AmandaSarahVariables();
+
+	// Sidney can steal the key from the player
+	if ((C002_FirstClass_Sidney_CurrentStage == 100) && (PlayerHasLockedInventory("Cuffs")) && (PlayerHasInventory("CuffsKey")) && (C002_FirstClass_Classroom_MildredSubdueSuccess)) {
+		OverridenIntroText = GetText("StealKeys");
+		PlayerRemoveInventory("CuffsKey", 1);
+		ActorChangeAttitude(0, -2);
+		C002_FirstClass_Sidney_SubdueRemarkReady = false;
+	}
+
+}
+
+// Chapter 2 - Sidney Run
+function C002_FirstClass_Sidney_Run() {
+	BuildInteraction(C002_FirstClass_Sidney_CurrentStage);
+}
+
+// Chapter 2 - Sidney Click
+function C002_FirstClass_Sidney_Click() {	
+
+	// Keep the stage on entry
+	var EntryStage = C002_FirstClass_Sidney_CurrentStage;
+
+	// Regular interactions
+	ClickInteraction(C002_FirstClass_Sidney_CurrentStage);	
+	var ClickedInv = GetClickedInventory();
+	
+	// If the player wants to gag Sidney
+	if ((C002_FirstClass_Sidney_CurrentStage >= 100) && (ClickedInv == "BallGag") && (ActorHasInventory("BallGag") == false) && (Common_PlayerNotRestrained)) {
+		if ((ActorGetValue(ActorSubmission) >= 2) || (ActorHasInventory("Rope")) || (ActorHasInventory("Cuffs"))) {
+			if (ActorGetValue(ActorSubmission) >= 4) OverridenIntroText = GetText("BallGagWilling");
+			else OverridenIntroText = GetText("BallGagReluctant");
+			PlayerRemoveInventory("BallGag", 1);
+			ActorAddInventory("BallGag");
+			C002_FirstClass_Sidney_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+		} else OverridenIntroText = GetText("BallGagRefuse");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to cuff Sidney
+	if ((C002_FirstClass_Sidney_CurrentStage >= 100) && (ClickedInv == "Cuffs") && (ActorHasInventory("Cuffs") == false) && (Common_PlayerNotRestrained)) {
+		if ((ActorGetValue(ActorSubmission) >= 2) || (ActorHasInventory("Rope"))) {
+			if (ActorHasInventory("Rope")) { OverridenIntroText = GetText("CuffsReplaceRope"); PlayerAddInventory("Rope", 1); ActorRemoveInventory("Rope"); }
+			else if (ActorGetValue(ActorSubmission) >= 4) OverridenIntroText = GetText("CuffsWilling");
+			else OverridenIntroText = GetText("CuffsReluctant");
+			PlayerRemoveInventory("Cuffs", 1);
+			ActorAddInventory("Cuffs");
+			C002_FirstClass_Sidney_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+		} else OverridenIntroText = GetText("CuffsRefuse");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to uncuff Sidney
+	if ((C002_FirstClass_Sidney_CurrentStage >= 100) && (ClickedInv == "CuffsKey") && (ActorHasInventory("Cuffs") == true) && (Common_PlayerNotRestrained)) {
+		OverridenIntroText = GetText("CuffsUnlock");
+		PlayerAddInventory("Cuffs", 1);
+		ActorRemoveInventory("Cuffs");
+		C002_FirstClass_Sidney_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to rope Sidney
+	if ((C002_FirstClass_Sidney_CurrentStage >= 100) && (ClickedInv == "Rope") && (ActorHasInventory("Rope") == false) && (Common_PlayerNotRestrained)) {
+		if ((ActorGetValue(ActorSubmission) >= 2) || (ActorHasInventory("Cuffs"))) {
+			if (ActorHasInventory("Cuffs")) { OverridenIntroText = GetText("RopeReplaceCuffs"); PlayerAddInventory("Cuffs", 1); ActorRemoveInventory("Cuffs"); }
+			else if (ActorGetValue(ActorSubmission) >= 4) OverridenIntroText = GetText("RopeWilling");
+			else OverridenIntroText = GetText("RopeReluctant");
+			PlayerRemoveInventory("Rope", 1);
+			ActorAddInventory("Rope");
+			C002_FirstClass_Sidney_CurrentStage = C002_FirstClass_Classroom_CalcStage();
+		} else OverridenIntroText = GetText("RopeRefuse");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the player wants to crop Sidney
+	if ((C002_FirstClass_Sidney_CurrentStage >= 100) && (ClickedInv == "Crop") && (Common_PlayerNotRestrained)) {
+		if (ActorHasInventory("BallGag")) OverridenIntroText = GetText("CropGagged");
+		else OverridenIntroText = GetText("Crop");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// If the stage changed, we remove the Overriden image, also recalculates the Amanda and Sarah variables
+	if (EntryStage != C002_FirstClass_Sidney_CurrentStage) OverridenIntroImage = "";
+	C002_FirstClass_Sidney_AmandaSarahVariables();
+
+}
+
+// Chapter 2 - Sidney Ungag
+function C002_FirstClass_Sidney_Ungag() {
+	PlayerAddInventory("BallGag", 1);
+	ActorRemoveInventory("BallGag");
+}
+
+// Chapter 2 - Sidney Untie
+function C002_FirstClass_Sidney_Untie() {
+	PlayerAddInventory("Rope", 1);
+	ActorRemoveInventory("Rope");
+}
+
+// Chapter 2 - Sidney Bow Remark
+function C002_FirstClass_Sidney_BowRemark() {
+	C002_FirstClass_Sidney_BowRemarkReady = false;
+}
+
+// Chapter 2 - Sidney Subdue Remark
+function C002_FirstClass_Sidney_SubdueRemark() {
+	C002_FirstClass_Sidney_SubdueRemarkReady = false;
+}
+
+// Chapter 2 - Sidney Agrees to Help
+function C002_FirstClass_Sidney_AgreeHelp() {
+	C002_FirstClass_Classroom_SidneyAgree = true;
+	if (C002_FirstClass_Sidney_PlayerHasRope == false) PlayerAddInventory("Rope", 2);
+}
+
+// Chapter 2 - Sidney Whip Amanda
+function C002_FirstClass_Sidney_AmandaWhip() {
+	OverridenIntroImage = "Sidney_Crop.jpg";
+	C002_FirstClass_Sidney_AmandaWhipDone = true;
+	C002_FirstClass_Sidney_AmandaSarahVariables();
+}
+
+// Chapter 2 - Sidney Whip Sarah
+function C002_FirstClass_Sidney_SarahWhip() {
+	OverridenIntroImage = "Sidney_Crop.jpg";
+	C002_FirstClass_Sidney_SarahWhipDone = true;
+	C002_FirstClass_Sidney_AmandaSarahVariables();	
+}
\ No newline at end of file
diff --git a/C002_FirstClass/Sidney/SidneyBack.jpg b/C002_FirstClass/Sidney/SidneyBack.jpg
new file mode 100644
index 0000000000..e3bb6f635d
Binary files /dev/null and b/C002_FirstClass/Sidney/SidneyBack.jpg differ
diff --git a/C002_FirstClass/Sidney/SidneyFace.jpg b/C002_FirstClass/Sidney/SidneyFace.jpg
new file mode 100644
index 0000000000..7103821355
Binary files /dev/null and b/C002_FirstClass/Sidney/SidneyFace.jpg differ
diff --git a/C002_FirstClass/Sidney/Sidney_BallGag.jpg b/C002_FirstClass/Sidney/Sidney_BallGag.jpg
new file mode 100644
index 0000000000..8cfe85fde5
Binary files /dev/null and b/C002_FirstClass/Sidney/Sidney_BallGag.jpg differ
diff --git a/C002_FirstClass/Sidney/Sidney_Crop.jpg b/C002_FirstClass/Sidney/Sidney_Crop.jpg
new file mode 100644
index 0000000000..136c11ab6e
Binary files /dev/null and b/C002_FirstClass/Sidney/Sidney_Crop.jpg differ
diff --git a/C002_FirstClass/Sidney/Sidney_Cuffs.jpg b/C002_FirstClass/Sidney/Sidney_Cuffs.jpg
new file mode 100644
index 0000000000..3f76dde034
Binary files /dev/null and b/C002_FirstClass/Sidney/Sidney_Cuffs.jpg differ
diff --git a/C002_FirstClass/Sidney/Sidney_Cuffs_BallGag.jpg b/C002_FirstClass/Sidney/Sidney_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..e0ff36145e
Binary files /dev/null and b/C002_FirstClass/Sidney/Sidney_Cuffs_BallGag.jpg differ
diff --git a/C002_FirstClass/Sidney/Sidney_Rope.jpg b/C002_FirstClass/Sidney/Sidney_Rope.jpg
new file mode 100644
index 0000000000..b57b91b19c
Binary files /dev/null and b/C002_FirstClass/Sidney/Sidney_Rope.jpg differ
diff --git a/C002_FirstClass/Sidney/Sidney_Rope_BallGag.jpg b/C002_FirstClass/Sidney/Sidney_Rope_BallGag.jpg
new file mode 100644
index 0000000000..685d6341b9
Binary files /dev/null and b/C002_FirstClass/Sidney/Sidney_Rope_BallGag.jpg differ
diff --git a/C002_FirstClass/Sidney/Stage_EN.csv b/C002_FirstClass/Sidney/Stage_EN.csv
new file mode 100644
index 0000000000..fab087f8c5
--- /dev/null
+++ b/C002_FirstClass/Sidney/Stage_EN.csv
@@ -0,0 +1,42 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Psssst.,(She turns around and whispers)|What the fuck do you want?,10,0,0,
+0,0,0,,Excuse me.,(She turns around and stares at you)|What the fuck do you want loser?,10,0,-1,
+0,0,0,,(Tap on her shoulder.),(She turns around and whispers)|What the fuck do you want?,10,0,0,
+10,0,0,,Are you bored as I am?,(She whispers.) Hell yeah.|I'm bored out of my mind.,20,1,0,
+10,0,0,,For how long will|that class go?,(She whispers.) Until nine.|This fucking hour will never end.,20,0,0,
+10,0,0,,Did you fart?|It stinks here.,(She whispers.) No!  Are you|stupid?  This class will never end.,20,-1,0,
+10,0,0,,Don't fall asleep.,"(She clears her eyes and whispers.)|That's not my fault, this class is beyond boring.",20,0,1,
+20,0,0,,We should get out.,"(She nods and whispers.)  Sure,|but the teacher won't let us go.",30,1,0,
+20,0,0,,How do we kill time?,(She shrugs her shoulders.)|I don't know.  We are stuck here.,30,0,0,
+20,0,0,,Can you help me in|math after class?,(She shakes her head no.)  Do I look|like a nerd?  All I want is to run away.,30,0,-1,
+30,0,0,,There might be|a way to escape.,(She looks at you curiously.)|What do you have in mind?,40,0,0,
+30,0,0,,"Shut up, I|have a plan.",(She shuts up and looks at you curiously.),40,-1,1,
+40,0,0,,We could try to|subdue Mildred together.,"Subdue her?  Like a kidnapping?|It's dangerous, what's in there for me?",50,0,0,
+40,0,0,,We should kidnap|the fucking teacher.,"Kidnap her in class?  For real?|It's dangerous, what's in there for me?",50,1,0,
+40,0,0,,You will help me|to bind the teacher.,"Help you to kidnap her in class?|It's dangerous, what's in there for me?",50,0,1,
+50,3,0,PlayerHasRope,You can do it because|we are good friends.,"I guess.  Ok, I'll help you.|(She turns around.) But you do the first move.",60,0,0,AgreeHelp()
+50,3,0,!PlayerHasRope,You can do it because|we are good friends.,I guess.  I'll help and you can have this rope.|(She turns around.) But you do the first move.,60,0,0,AgreeHelp()
+50,0,3,PlayerHasRope,If you don't help.|I'll give you hell.,Fine.  I don't want trouble after school.  I'll help.|(She turns around.) But you do the first move.,60,0,0,AgreeHelp()
+50,0,3,!PlayerHasRope,If you don't help.|I'll give you hell.,"Fine, I'll help.  You can even use these ropes.|(She turns around.) But you do the first move.",60,0,0,AgreeHelp()
+50,0,0,,Do it!  It will be fun.,Ha!  You think you can convince me like that?|I need something good if I help you kidnap her.,50,0,0,
+50,0,0,,Let me think about it.,"(She shrugs.)  Fine, I won't be far.|I need something good if I help you kidnap her.",50,0,0,
+100,0,0,SubdueRemarkReady,And I bet you would|also look great tied up.,What?  You can't be serious. (She blushes.),100,0,1,SubdueRemark()
+100,0,4,SubdueRemarkReady,Admit it.  You would|love to be like her.,(She stays silent and blushes red.),100,0,1,SubdueRemark()
+100,0,0,SubdueRemarkReady,High five!  Now we|have a good class.,High five!  Best math class ever.,100,1,0,SubdueRemark()
+100,0,0,SubdueRemarkReady,We have a brand|new class today.,Fuck yeah!  This is much better.,100,0,0,SubdueRemark()
+100,0,0,AmandaWhipReady,You want to whip|Amanda? (1 minute),Yeah!  (She takes your crop|and whips Amanda a few times.),100,1,0,AmandaWhip()
+100,0,0,SarahWhipReady,You want to whip|Sarah? (1 minute),Oh fuck yes!  (She takes your|crop and whips Sarah several times.),100,1,0,SarahWhip()
+100,0,0,Common_PlayerGagged,"@Uuuummph, mmph!",(She whispers.) Stop making noise.,100,0,0,
+100,0,0,Common_PlayerGagged,(Chew on the gag.),(She whispers.) You look like an idiot.,100,0,0,
+100,1,0,Common_PlayerGagged,(Try to point|to the BallGag.),(She whispers) Shut up.|I'll help you after class.,100,0,0,
+100,-1,0,Common_PlayerGagged,(Try to point|to the BallGag.),(She whispers.) Stay gagged bitch.,100,0,0,
+100,0,0,Common_PlayerRestrained,(Tug on the cuffs.),(She whispers.) You'll never get out.,100,0,0,
+100,0,-2,BowRemarkReady,(Bow your head.),(She whispers.) You're pathetic.,100,0,-1,BowRemark()
+110,0,0,Common_PlayerGagged,"@Uuuummph, mmph!",(She rolls her eyes up.),110,0,0,
+110,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the big ball.)|Fuck this gag!,100,0,0,Ungag()
+130,0,0,Common_PlayerGagged,"@Uuuummph, mmph!",(She rolls her eyes up.),130,0,0,
+130,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the big ball.)|Fuck this gag!,120,0,0,Ungag()
+140,0,0,Common_PlayerNotRestrained,(Untie her.),(You untie the knots and she dresses back.)|Shit!  You're such a pervert.,100,0,0,Untie()
+150,0,0,Common_PlayerGagged,"@Uuuummph, mmph!",(She rolls her eyes up.),150,0,0,
+150,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle and pull out the big ball.)|Fuck this gag!,140,0,0,Ungag()
+150,0,0,Common_PlayerNotRestrained,(Untie her.),(You untie the knots and she dresses back.)|(She points then points to her gag.),110,0,0,Untie()
diff --git a/C002_FirstClass/Sidney/Stage_FR.csv b/C002_FirstClass/Sidney/Stage_FR.csv
new file mode 100644
index 0000000000..78f492e2b3
--- /dev/null
+++ b/C002_FirstClass/Sidney/Stage_FR.csv
@@ -0,0 +1,42 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Psssst.,"(Elle se retourne et chuchote)|Putain, qu'est-ce que tu veux ?",10,0,0,
+0,0,0,,Excuse-moi.,"(Elle se retourne et chuchote)|Qu'est-ce que tu veux loser ?",10,0,-1,
+0,0,0,,"(Tu tapotes son épaule.)","(Elle se retourne et chuchote)|Putain, qu'est-ce que tu veux ?",10,0,0,
+10,0,0,,"Est-ce que tu t'ennuies|autant que moi ?","(Elle chuchote.) Ouais, assez.|Je m'ennuie à mourir.",20,1,0,
+10,0,0,,"Ce cours va durer encore|combien de temps ?","(Elle chuchote.) Jusqu'à 9H.|Cette putain d'heure ne finira jamais.",20,0,0,
+10,0,0,,"Tu as pété ?|Ça empeste ici.","(Elle chuchote.) Non ! T'es stupide ou quoi ?|Ce cours ne finira jamais.",20,-1,0,
+10,0,0,,"Ne t'endors pas.","(Elle s'éclaircit les yeux et chuchote.)|Ce n'est pas ma faute, ce cours est au-delà de l'ennuie.",20,0,1,
+20,0,0,,On devrait sortir.,"(Elle confirme et chuchote.) C'est sûr,|mais la prof nous laissera pas sortir.",30,1,0,
+20,0,0,,"Comment tuer le temps ?",(Elle hausse les épaules.)| Je ne sais pas. nous sommes coincées ici.,30,0,0,
+20,0,0,,"Peux-tu m'aider en|maths après le cours ?",(Elle fait non de la tête.) J'ai l'air d'être une intello ?|Tout ce que je veux c'est m'enfuir d'ici.,30,0,-1,
+30,0,0,,"Il y a peut-être un|moyen de s'échapper.","(Elle te regarde, l'air curieuse.)|Qu'est-ce que tu as en tête ?",40,0,0,
+30,0,0,,"Tais-toi, j'ai un plan.","(elle se tait et te regarde, l'air curieuse.)",40,-1,1,
+40,0,0,,Nous pourrions essayer de|maîtriser Mildred ensemble.,"La maîtriser ? Comme la kidnapper ?|C'est dangereux, qu'est-ce que ça m'apporte ?",50,0,0,
+40,0,0,,Nous devrions kidnapper|cette putain de prof.,"La kidnapper ? En plein cours ? Pour de vrai ?|C'est dangereux, qu'est-ce que ça m'apporte ?",50,1,0,
+40,0,0,,Tu m'aideras|à attacher la prof.,"T'aider à l'attacher en plein cours ?|C'est dangereux, qu'est-ce que ça m'apporte ?",50,0,1,
+50,3,0,PlayerHasRope,"Tu peux le faire ! Nous|sommes de bonnes amies.","Je suppose. Ok, je t'aiderais.|(Elle se retourne.) Mais tu y vas la première.",60,0,0,AgreeHelp()
+50,3,0,!PlayerHasRope,"Tu peux le faire ! Nous|sommes de bonnes amies.","Je suppose. Je t'aiderais, tu peux avoir ces cordes.|(Elle se retourne.) Mais tu y vas la première.",60,0,0,AgreeHelp()
+50,0,3,PlayerHasRope,Si tu ne m'aides pas !|Tu connaitras l'enfer !,"Ok, je ne veux pas d'ennuis après les cours. J'aiderais.|(Elle se retourne.) Mais tu y vas la première".,60,0,0,AgreeHelp()
+50,0,3,!PlayerHasRope,Si tu ne m'aides pas !|Tu connaitras l'enfer !,"Ok, je t'aiderais. Tu peux même utiliser ces cordes.|(Elle se retourne.) Mais tu y vas la première.",60,0,0,AgreeHelp()
+50,0,0,,"Fais-le ! Ça sera marrant.","Ha ! Tu crois que tu peux me convaincre comme ça ?|Il faut que ça me rapporte quelque chose si je t'aide.",50,0,0,
+50,0,0,,"Laisse-moi y réfléchir.","(Elle hausse les épaules.) Bien, je ne serai pas loin.|Il faut que ça me rapporte quelque chose si je t'aide.",50,0,0,
+100,0,0,SubdueRemarkReady,Et je parie que tu serais|aussi superbe toute ligotée.,Quoi ? Tu n'es pas sérieuse. (Elle rougit.),100,0,1,SubdueRemark()
+100,0,4,SubdueRemarkReady,"Admets-le. Tu adorerais|être comme elle.","(Elle reste silencieuse et devient cramoisie.)",100,0,1,SubdueRemark()
+100,0,0,SubdueRemarkReady,"Tape m'en cinq ! Enfin|un cours intéressant.","(Elle te frappe la paume de la main)|Le meilleur cours de maths de tous les temps.",100,1,0,SubdueRemark()
+100,0,0,SubdueRemarkReady,"Nous avons un nouveau|style de cours aujourd'hui.","Ouais ! C'est nettement mieux.",100,0,0,SubdueRemark()
+100,0,0,AmandaWhipReady,"Tu veux fouetter|Amanda ? (1 minute)","Ouais ! (Elle prend la cravache|et donne quelques coups à Amanda.)",100,1,0,AmandaWhip()
+100,0,0,SarahWhipReady,"Tu veux fouetter|Sarah ? (1 minute)","Mais carrément ! (Elle prend la cravache|et donne quelques coups à Sarah.)",100,1,0,SarahWhip()
+100,0,0,Common_PlayerGagged,"@Uuuummph, mmph !",(Elle chuchote.) Arrête de faire du bruit.,100,0,0,
+100,0,0,Common_PlayerGagged,(Tu mâches la boule.),(Elle chuchote.) Tu as l'air d'une idiote.,100,0,0,
+100,1,0,Common_PlayerGagged,(Tu essayes de montrer|du doigt la boule.),(Elle chuchote) La ferme.|Je t'aiderai après le cours.,100,0,0,
+100,-1,0,Common_PlayerGagged,(Tu essayes de montrer|du doigt la boule.),(Elle chuchote.) Reste bâillonnée pétasse.,100,0,0,
+100,0,0,Common_PlayerRestrained,(Tu tires sur les menottes.),(Elle chuchote.) Tu n'arriveras jamais à te libérer.,100,0,0,
+100,0,-2,BowRemarkReady,(Tu baisses la tête.),(Elle chuchotte.) Tu es pitoyable.,100,0,-1,BowRemark()
+110,0,0,Common_PlayerGagged,"@Uuuummph, mmph !",(Elle lève les yeux au ciel.),110,0,0,
+110,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),(Tu détaches le bâillon et retires la grosse boule.)|Putain de bâillon !,100,0,0,Ungag()
+130,0,0,Common_PlayerGagged,"@Uuuummph, mmph !",(Elle lève les yeux au ciel.),130,0,0,
+130,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),(Tu détaches le bâillon et retires la grosse boule.)|Putain de bâillon !,120,0,0,Ungag()
+140,0,0,Common_PlayerNotRestrained,(Tu la détaches.),(Tu défais les noeuds et elle se rhabille.)|Fait chier ! Tu es une sacrée perverse.,100,0,0,Untie()
+150,0,0,Common_PlayerGagged,"@Uuuummph, mmph !",(Elle lève les yeux au ciel.),150,0,0,
+150,0,0,Common_PlayerNotRestrained,(Tu la débâillonnes.)|(1 minute),(Tu détaches le bâillon et retires la grosse boule.)|Putain de bâillon !,140,0,0,Ungag()
+150,0,0,Common_PlayerNotRestrained,(Tu la détaches.),(Tu défais les noeuds et elle se rhabille.)|(Elle t'indique les sangles de son bâillon.),110,0,0,Untie()
diff --git a/C002_FirstClass/Sidney/Text_EN.csv b/C002_FirstClass/Sidney/Text_EN.csv
new file mode 100644
index 0000000000..85844ab4e1
--- /dev/null
+++ b/C002_FirstClass/Sidney/Text_EN.csv
@@ -0,0 +1,16 @@
+Tag,Content
+StealKeys,Yonk!  (She steals your cuffs key and laughs.)
+BallGagWilling,(She takes a deep breath and|opens her mouth for the big gag.)
+BallGagReluctant,(She shuts her mouth to stop you but|you're able to push it and buckle it.)
+BallGagRefuse,She pushes you back and refuses to be gagged.|(You need 2 submission or more to gag Sidney.)
+CuffsReplaceRope,(You undo the ropes so she can get|dressed but you cuff her right after.)
+CuffsWilling,"(She bows her head, sits down and put|her arms behind her back to be cuffed.)"
+CuffsReluctant,(She pushes you but you're able|to pin her down to cuff her.)
+CuffsRefuse,She pushes you back and refuses to be cuffed.|(You need 2 submission or more to cuff Sidney.)
+CuffsUnlock,(You unlock her cuffs|and she seems grateful.)
+RopeReplaceCuffs,"(You unlock the cuff, she strips,|and you do a full rope harness on her.)"
+RopeWilling,"(She bows her head and strip, you|do a rope harness while she shivers.)"
+RopeReluctant,(You fight with her to remove her clothes|then do a rope harness while she resists.)
+RopeRefuse,She pushes you back and refuses to be tied.|(You need 2 submission or more to tie up Sidney.)
+CropGagged,(You hit Sidney a few times with your crop.|She grumbles and gives you an angry look.)
+Crop,(You hit Sidney a few times with your crop.)|Fuck you!  That's the best you can do?
diff --git a/C002_FirstClass/Sidney/Text_FR.csv b/C002_FirstClass/Sidney/Text_FR.csv
new file mode 100644
index 0000000000..4e1cbdffca
--- /dev/null
+++ b/C002_FirstClass/Sidney/Text_FR.csv
@@ -0,0 +1,16 @@
+Tag,Content
+StealKeys,Yonk ! (Elle vole la clé des menottes et rit.)
+BallGagWilling,(Elle respire profondément et|ouvre la bouche pour mettre le bâillon.)
+BallGagReluctant,(Elle ferme sa bouche pour t'arrêter mais|tu réussis quand même à lui mettre le bâillon.)
+BallGagRefuse,"Elle recule et refuse d'être bâillonnée.|(""+2"" en soumission ou plus pour la bâillonner.)"
+CuffsReplaceRope,(Tu défais les cordes jusqu'à ce qu'elle puisse|se rhabiller puis tu la menottes juste après.)
+CuffsWilling,"(Elle baisse la tête, s'assoie et met|ses bras derrière son dos pour être menottée.)"
+CuffsReluctant,(Elle te repousse mais tu es capable|de l'attacher avec les menottes.)
+CuffsRefuse,"Elle recule et refuse d'être menottée.|(""+2"" en soumission ou plus pour la menotter.)"
+CuffsUnlock,(Tu enlèves ses menottes|et elle semble reconnaissante.)
+RopeReplaceCuffs,"(Tu lui libères le poignet, elle se déshabille,|et tu fais un harnais solide avec la corde.)"
+RopeWilling,"(Elle baisse la tête et se déshabille, tu fais un harnais|solide avec la corde pendant qu'elle frisonne.)"
+RopeReluctant,"(Tu luttes pour lui retirer ses vêtements et tu lui fais|un harnais solide avec la corde pendant qu'elle résiste.)"
+RopeRefuse,"Elle recule et refuse d'être ligotée.|(""+2"" en soumission ou plus pour la ligoter.)"
+CropGagged,(Tu lui donnes quelques coups avec la cravache.|Elle grogne et te regarde avec colère.)
+Crop,(Tu lui donnes quelques coups avec la cravache.)|Va te faire foutre ! C'est le mieux que tu puisses faire ?
diff --git a/C003_MorningDetention/Bag/Bag.jpg b/C003_MorningDetention/Bag/Bag.jpg
new file mode 100644
index 0000000000..cba2d11865
Binary files /dev/null and b/C003_MorningDetention/Bag/Bag.jpg differ
diff --git a/C003_MorningDetention/Bag/Intro_EN.csv b/C003_MorningDetention/Bag/Intro_EN.csv
new file mode 100644
index 0000000000..5af356cb5f
--- /dev/null
+++ b/C003_MorningDetention/Bag/Intro_EN.csv
@@ -0,0 +1,5 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,Common_PlayerNotRestrained,Teacher Yuki's bag is lying there unattended.,Bag.jpg
+0,0,0,Common_PlayerRestrained,Teacher Yuki's bag is lying there unattended.|You cannot open it wearing cuffs without being seen.,Bag.jpg
+10,0,0,Common_PlayerNotRestrained,The teacher bag is still open.,Bag.jpg
+10,0,0,Common_PlayerRestrained,The teacher bag is still open.|You cannot search it wearing cuffs without being seen.,Bag.jpg
diff --git a/C003_MorningDetention/Bag/Intro_FR.csv b/C003_MorningDetention/Bag/Intro_FR.csv
new file mode 100644
index 0000000000..621b79d1f5
--- /dev/null
+++ b/C003_MorningDetention/Bag/Intro_FR.csv
@@ -0,0 +1,5 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,Common_PlayerNotRestrained,Le sac du professeur Yuki|se trouve là sans surveillance.,Bag.jpg
+0,0,0,Common_PlayerRestrained,Le sac du professeur Yuki se trouve là sans surveillance.|Tu ne peux l'ouvrir avec tes menottes sans être vue.,Bag.jpg
+10,0,0,Common_PlayerNotRestrained,Le sac du professeur est toujours ouvert.,Bag.jpg
+10,0,0,Common_PlayerRestrained,Le sac du professeur est toujours ouvert.|Tu ne peux l'ouvrir avec tes menottes sans être vue.,Bag.jpg
diff --git a/C003_MorningDetention/Bag/Script.js b/C003_MorningDetention/Bag/Script.js
new file mode 100644
index 0000000000..ffe2947111
--- /dev/null
+++ b/C003_MorningDetention/Bag/Script.js
@@ -0,0 +1,47 @@
+var C003_MorningDetention_Bag_CurrentStage = 0;
+var C003_MorningDetention_Bag_PillInBag = true;
+var C003_MorningDetention_Bag_EggInBag = true;
+var C003_MorningDetention_Bag_PillInBagAvail = true;
+var C003_MorningDetention_Bag_EggInBagAvail = true;
+
+// Chapter 3 - Bag Load
+function C003_MorningDetention_Bag_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LeaveScreen = "DetentionRoom";
+	LoadInteractions();
+	C003_MorningDetention_Bag_PillInBagAvail = (C003_MorningDetention_Bag_PillInBag && Common_PlayerNotRestrained);
+	C003_MorningDetention_Bag_EggInBagAvail = (C003_MorningDetention_Bag_EggInBag && Common_PlayerNotRestrained);
+
+}
+
+// Chapter 3 - Bag Run
+function C003_MorningDetention_Bag_Run() {
+	BuildInteraction(C003_MorningDetention_Bag_CurrentStage);
+}
+
+// Chapter 3 - Bag Click
+function C003_MorningDetention_Bag_Click() {
+	ClickInteraction(C003_MorningDetention_Bag_CurrentStage);
+}
+
+// Chapter 3 - Bag Steal Pill
+function C003_MorningDetention_Bag_StealPill() {	
+
+	// Steal the sleeping pill from the bag
+	PlayerAddInventory("SleepingPill", 1);
+	C003_MorningDetention_Bag_PillInBag = false;
+	C003_MorningDetention_Bag_PillInBagAvail = false;
+
+}
+
+// Chapter 3 - Bag Steal Egg
+function C003_MorningDetention_Bag_StealEgg() {	
+
+	// Steal the vibrating egg from the bag
+	PlayerAddInventory("VibratingEgg", 1);
+	C003_MorningDetention_Bag_EggInBag = false;
+	C003_MorningDetention_Bag_EggInBagAvail = false;
+
+}
diff --git a/C003_MorningDetention/Bag/Stage_EN.csv b/C003_MorningDetention/Bag/Stage_EN.csv
new file mode 100644
index 0000000000..e6691faf87
--- /dev/null
+++ b/C003_MorningDetention/Bag/Stage_EN.csv
@@ -0,0 +1,5 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,Common_PlayerNotRestrained,(Open the bag.),You carefully open the teacher bag|and search to find something interesting.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Close the bag.),You close teacher Yuki's bag.,0,0,0,
+10,0,0,PillInBagAvail,(Steal the sleeping pill.),You take the pill from the bag.,10,0,0,StealPill()
+10,0,0,EggInBagAvail,(Steal the vibrating egg.),"You take the remote controlled vibrating egg|from the bag, but you cannot find any remote.",10,0,0,StealEgg()
diff --git a/C003_MorningDetention/Bag/Stage_FR.csv b/C003_MorningDetention/Bag/Stage_FR.csv
new file mode 100644
index 0000000000..2f71f94eb1
--- /dev/null
+++ b/C003_MorningDetention/Bag/Stage_FR.csv
@@ -0,0 +1,5 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,Common_PlayerNotRestrained,(Tu ouvres le sac.),Tu ouvres prudemment le sac du professeur|et tu cherches s'il contient quelque chose d'intéressant.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Tu fermes le sac.),Tu fermes le sac du professeur Yuki.,0,0,0,
+10,0,0,PillInBagAvail,(Tu voles la pilule|pour dormir.),Tu prends la pilule du sac.,10,0,0,StealPill()
+10,0,0,EggInBagAvail,(Tu voles l'oeuf vibrant.),"Tu prends l'oeuf vibrant télécommandé du sac,|mais tu ne trouves aucune télécommande.",10,0,0,StealEgg()
diff --git a/C003_MorningDetention/Bag/Text_EN.csv b/C003_MorningDetention/Bag/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C003_MorningDetention/Bag/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C003_MorningDetention/Bag/Text_FR.csv b/C003_MorningDetention/Bag/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C003_MorningDetention/Bag/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C003_MorningDetention/DetentionRoom/Script.js b/C003_MorningDetention/DetentionRoom/Script.js
new file mode 100644
index 0000000000..e19be455cf
--- /dev/null
+++ b/C003_MorningDetention/DetentionRoom/Script.js
@@ -0,0 +1,57 @@
+var C003_MorningDetention_DetentionRoom_Yuki = 1;
+var C003_MorningDetention_DetentionRoom_Sidney = 1;
+var C003_MorningDetention_DetentionRoom_SleepTimer = 0;
+var C003_MorningDetention_DetentionRoom_SidneyStrip = false;
+var C003_MorningDetention_DetentionRoom_SidneyGone = false;
+
+// Chapter 3 - Detention Room Load
+function C003_MorningDetention_DetentionRoom_Load() {
+
+	// Set the timer limits
+	StartTimer(9 * 60 * 60 * 1000, "C003_MorningDetention", "Outro");
+	
+}
+
+// Chapter 3 - Detention Room Run
+function C003_MorningDetention_DetentionRoom_Run() {
+	
+	// Yuki mode changes with time or if she's in trouble
+	C003_MorningDetention_DetentionRoom_Yuki = (Math.round((CurrentTime - 180000) / 120000) % 3) + 1;
+	if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime >= C003_MorningDetention_DetentionRoom_SleepTimer)) C003_MorningDetention_DetentionRoom_Yuki = 4; // Sleeping
+	if (C003_MorningDetention_Yuki_CurrentStage == 110) C003_MorningDetention_DetentionRoom_Yuki = 5; // Sleeping stripped
+	if (C003_MorningDetention_Yuki_CurrentStage == 120) C003_MorningDetention_DetentionRoom_Yuki = 6; // Sleeping cuffed
+	if (C003_MorningDetention_Yuki_CurrentStage == 130) C003_MorningDetention_DetentionRoom_Yuki = 7; // Sleeping laying
+	if (C003_MorningDetention_Yuki_CurrentStage == 230) C003_MorningDetention_DetentionRoom_Yuki = 8; // Underwear cuffs
+	if (C003_MorningDetention_Yuki_CurrentStage == 270) C003_MorningDetention_DetentionRoom_Yuki = 9; // Gone
+
+	// Sidney mode changes with time or if she's in trouble
+	C003_MorningDetention_DetentionRoom_Sidney = (Math.round(CurrentTime / 50000) % 3) + 1;
+	if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime >= C003_MorningDetention_DetentionRoom_SleepTimer)) C003_MorningDetention_DetentionRoom_Sidney = 4;
+	if (C003_MorningDetention_DetentionRoom_SidneyStrip == true) C003_MorningDetention_DetentionRoom_Sidney = 5;
+	if (C003_MorningDetention_DetentionRoom_SidneyGone == true) C003_MorningDetention_DetentionRoom_Sidney = 6;
+
+	// Draw the background image and the wait button on the bottom right of the image
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Yuki" + C003_MorningDetention_DetentionRoom_Yuki.toString() + ".jpg", 0, 0);
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Sidney" + C003_MorningDetention_DetentionRoom_Sidney.toString() + ".jpg", 600, 0);
+
+}
+
+// Chapter 3 - Detention Room Click
+function C003_MorningDetention_DetentionRoom_Click() {
+
+	// When the user clicks on the glass of water or the bag when the teacher isn't looking
+	if ((MouseX >= 0) && (MouseX <= 205) && (MouseY >= 370) && (MouseY <= 525) && (C003_MorningDetention_DetentionRoom_Yuki == 3)) SetScene(CurrentChapter, "Bag");
+	if ((MouseX >= 255) && (MouseX <= 305) && (MouseY >= 455) && (MouseY <= 520) && ((C003_MorningDetention_DetentionRoom_Yuki == 2) || (C003_MorningDetention_DetentionRoom_Yuki == 3))) SetScene(CurrentChapter, "Glass");
+
+	// When the user clicks on Sidney or Yuki
+	if ((MouseX >= 30) && (MouseX <= 230) && (MouseY >= 150) && (MouseY <= 490) && (C003_MorningDetention_DetentionRoom_Yuki != 3) && (C003_MorningDetention_DetentionRoom_Yuki != 7)) SetScene(CurrentChapter, "Yuki");
+	if ((MouseX >= 30) && (MouseX <= 570) && (MouseY >= 340) && (MouseY <= 550) && (C003_MorningDetention_DetentionRoom_Yuki == 7)) SetScene(CurrentChapter, "Yuki");
+	if ((MouseX >= 950) && (MouseX <= 1170) && (MouseY >= 120) && (MouseY <= 490) && (C003_MorningDetention_DetentionRoom_Sidney <= 3)) SetScene(CurrentChapter, "Sidney");
+	if ((MouseX >= 910) && (MouseX <= 1070) && (MouseY >= 25) && (MouseY <= 480) && ((C003_MorningDetention_DetentionRoom_Sidney == 4) || (C003_MorningDetention_DetentionRoom_Sidney == 5))) SetScene(CurrentChapter, "Sidney");
+	if ((MouseX >= 900) && (MouseX <= 1200) && (MouseY >= 120) && (MouseY <= 485) && (C003_MorningDetention_DetentionRoom_Sidney == 6)) SetScene(CurrentChapter, "Sidney");
+
+	// Checks if the user clicks on any regular item
+	InventoryClick(GetClickedInventory(), "C003_MorningDetention", "DetentionRoom");
+
+}
\ No newline at end of file
diff --git a/C003_MorningDetention/DetentionRoom/Sidney1.jpg b/C003_MorningDetention/DetentionRoom/Sidney1.jpg
new file mode 100644
index 0000000000..4a7f4e60db
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Sidney1.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Sidney2.jpg b/C003_MorningDetention/DetentionRoom/Sidney2.jpg
new file mode 100644
index 0000000000..16d978a4ed
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Sidney2.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Sidney3.jpg b/C003_MorningDetention/DetentionRoom/Sidney3.jpg
new file mode 100644
index 0000000000..3008d5d5e9
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Sidney3.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Sidney4.jpg b/C003_MorningDetention/DetentionRoom/Sidney4.jpg
new file mode 100644
index 0000000000..3f5dba6b82
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Sidney4.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Sidney5.jpg b/C003_MorningDetention/DetentionRoom/Sidney5.jpg
new file mode 100644
index 0000000000..039a57ae29
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Sidney5.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Sidney6.jpg b/C003_MorningDetention/DetentionRoom/Sidney6.jpg
new file mode 100644
index 0000000000..7eeece17a1
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Sidney6.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Text_EN.csv b/C003_MorningDetention/DetentionRoom/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C003_MorningDetention/DetentionRoom/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C003_MorningDetention/DetentionRoom/Text_FR.csv b/C003_MorningDetention/DetentionRoom/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C003_MorningDetention/DetentionRoom/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C003_MorningDetention/DetentionRoom/Yuki1.jpg b/C003_MorningDetention/DetentionRoom/Yuki1.jpg
new file mode 100644
index 0000000000..b1dbefb662
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Yuki1.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Yuki2.jpg b/C003_MorningDetention/DetentionRoom/Yuki2.jpg
new file mode 100644
index 0000000000..fa8994a105
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Yuki2.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Yuki3.jpg b/C003_MorningDetention/DetentionRoom/Yuki3.jpg
new file mode 100644
index 0000000000..c2bcdc89b6
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Yuki3.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Yuki4.jpg b/C003_MorningDetention/DetentionRoom/Yuki4.jpg
new file mode 100644
index 0000000000..e850897303
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Yuki4.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Yuki5.jpg b/C003_MorningDetention/DetentionRoom/Yuki5.jpg
new file mode 100644
index 0000000000..e42e5dca45
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Yuki5.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Yuki6.jpg b/C003_MorningDetention/DetentionRoom/Yuki6.jpg
new file mode 100644
index 0000000000..bfdfd6a43e
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Yuki6.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Yuki7.jpg b/C003_MorningDetention/DetentionRoom/Yuki7.jpg
new file mode 100644
index 0000000000..733bda834e
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Yuki7.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Yuki8.jpg b/C003_MorningDetention/DetentionRoom/Yuki8.jpg
new file mode 100644
index 0000000000..54a255c9d9
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Yuki8.jpg differ
diff --git a/C003_MorningDetention/DetentionRoom/Yuki9.jpg b/C003_MorningDetention/DetentionRoom/Yuki9.jpg
new file mode 100644
index 0000000000..77f41dce30
Binary files /dev/null and b/C003_MorningDetention/DetentionRoom/Yuki9.jpg differ
diff --git a/C003_MorningDetention/Glass/Glass.jpg b/C003_MorningDetention/Glass/Glass.jpg
new file mode 100644
index 0000000000..f198cc9ed0
Binary files /dev/null and b/C003_MorningDetention/Glass/Glass.jpg differ
diff --git a/C003_MorningDetention/Glass/Intro_EN.csv b/C003_MorningDetention/Glass/Intro_EN.csv
new file mode 100644
index 0000000000..b54a377459
--- /dev/null
+++ b/C003_MorningDetention/Glass/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This glass of water belongs to teacher Yuki.,Glass.jpg
+10,0,0,,Do you want to break the|sleeping pill in the glass?,Glass.jpg
diff --git a/C003_MorningDetention/Glass/Intro_FR.csv b/C003_MorningDetention/Glass/Intro_FR.csv
new file mode 100644
index 0000000000..0511312458
--- /dev/null
+++ b/C003_MorningDetention/Glass/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Ce verre d'eau appartient au professeur Yuki.,Glass.jpg
+10,0,0,,Veux-tu casser la pilule|et la mettre dans le verre ?,Glass.jpg
diff --git a/C003_MorningDetention/Glass/Script.js b/C003_MorningDetention/Glass/Script.js
new file mode 100644
index 0000000000..d2cd1c0665
--- /dev/null
+++ b/C003_MorningDetention/Glass/Script.js
@@ -0,0 +1,40 @@
+var C003_MorningDetention_Glass_CurrentStage = 0;
+
+// Chapter 3 - Glass Load
+function C003_MorningDetention_Glass_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "DetentionRoom";
+	LoadInteractions();
+}
+
+// Chapter 3 - Glass Run
+function C003_MorningDetention_Glass_Run() {
+	BuildInteraction(C003_MorningDetention_Glass_CurrentStage);
+}
+
+// Chapter 3 - Glass Click
+function C003_MorningDetention_Glass_Click() {	
+
+	// Regular interaction
+	ClickInteraction(C003_MorningDetention_Glass_CurrentStage);
+	
+	// Special code for when the user wants to use the sleeping pills
+	if ((C003_MorningDetention_Glass_CurrentStage == 0) && (GetClickedInventory() == "SleepingPill"))
+		C003_MorningDetention_Glass_CurrentStage = 10;
+
+}
+
+// Chapter 3 - Glass Break Pill
+function C003_MorningDetention_Glass_BreakPill() {	
+
+	// Remove the pill from the player and starts the timer for 10 minutes
+	if (Common_PlayerNotRestrained) {
+		C003_MorningDetention_DetentionRoom_SleepTimer = CurrentTime + 600000;
+		PlayerRemoveInventory("SleepingPill", 1);
+		Common_PlayerCrime = "DrugYuki";
+	} else {
+		OverridenIntroText = GetText("CannotWithCuffs");
+	}
+	
+}
+
diff --git a/C003_MorningDetention/Glass/Stage_EN.csv b/C003_MorningDetention/Glass/Stage_EN.csv
new file mode 100644
index 0000000000..4e69b95971
--- /dev/null
+++ b/C003_MorningDetention/Glass/Stage_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+10,0,0,,(Break the pill in.),You break the pill in the glass which dissolves quickly.,0,0,0,BreakPill()
+10,0,0,,(Keep the pill.),You keep the sleeping pill for yourself.,0,0,0,
diff --git a/C003_MorningDetention/Glass/Stage_FR.csv b/C003_MorningDetention/Glass/Stage_FR.csv
new file mode 100644
index 0000000000..5e231a6318
--- /dev/null
+++ b/C003_MorningDetention/Glass/Stage_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+10,0,0,,(Tu casses la pilule.),Tu casses la pilule et la mets dans le verre|elle se dissout rapidement.,0,0,0,BreakPill()
+10,0,0,,(Tu gardes la pilule.),Tu gardes la pilule.,0,0,0,
diff --git a/C003_MorningDetention/Glass/Text_EN.csv b/C003_MorningDetention/Glass/Text_EN.csv
new file mode 100644
index 0000000000..7bb095dfc7
--- /dev/null
+++ b/C003_MorningDetention/Glass/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+CannotWithCuffs,(You cannot do it without being|seen while wearing these cuffs.)
diff --git a/C003_MorningDetention/Glass/Text_FR.csv b/C003_MorningDetention/Glass/Text_FR.csv
new file mode 100644
index 0000000000..36d5d52f99
--- /dev/null
+++ b/C003_MorningDetention/Glass/Text_FR.csv
@@ -0,0 +1,2 @@
+Tag,Content
+CannotWithCuffs,(Tu ne peux pas la mettre|sans être vue avec ses menottes.)
diff --git a/C003_MorningDetention/Intro/Background.jpg b/C003_MorningDetention/Intro/Background.jpg
new file mode 100644
index 0000000000..fa75f62551
Binary files /dev/null and b/C003_MorningDetention/Intro/Background.jpg differ
diff --git a/C003_MorningDetention/Intro/Script.js b/C003_MorningDetention/Intro/Script.js
new file mode 100644
index 0000000000..b295236438
--- /dev/null
+++ b/C003_MorningDetention/Intro/Script.js
@@ -0,0 +1,38 @@
+var C003_MorningDetention_Intro_Fighting = false;
+
+// Chapter 3 - Intro Load
+function C003_MorningDetention_Intro_Load() {
+	
+	// Time is always 8:20 on the intro + remove any remaining rope
+	StopTimer(8.33333334 * 60 * 60 * 1000);
+	PlayerRemoveAllInventory();
+	
+	// Set the crime variables
+	if (Common_PlayerCrime == "Fighting") C003_MorningDetention_Intro_Fighting = true;
+	Common_PlayerCrime = "";
+
+}
+
+// Chapter 3 - Intro Run
+function C003_MorningDetention_Intro_Run() {
+
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
+
+	// Write the chapter introduction
+	DrawText(ctx, GetText("Intro1"), 600, 50, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 600, 150, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 600, 250, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 600, 350, "White");
+	if (TextPhase >= 4) DrawText(ctx, GetText("Intro5"), 600, 450, "White");
+	if (TextPhase >= 5) DrawText(ctx, GetText("Intro6"), 600, 550, "White");
+		
+}
+
+// Chapter 3 - Intro Click
+function C003_MorningDetention_Intro_Click() {
+	TextPhase++;
+	if (TextPhase >= 6)
+		SetScene(CurrentChapter, "DetentionRoom");
+}
\ No newline at end of file
diff --git a/C003_MorningDetention/Intro/Text_EN.csv b/C003_MorningDetention/Intro/Text_EN.csv
new file mode 100644
index 0000000000..275d22e53e
--- /dev/null
+++ b/C003_MorningDetention/Intro/Text_EN.csv
@@ -0,0 +1,7 @@
+Tag,Content
+Intro1,Chapter 3 - Morning Detention (Click to continue)
+Intro2,"For causing trouble, you and Sidney are sent to detention."
+Intro3,"The detention room is a meeting room, where a teacher is waiting."
+Intro4,You're invited to sit at the desk and wait until detention is over.
+Intro5,Sidney enters the room wearing handcuffs and sits in front on you.
+Intro6,"It's 8:20 and detention ends at 9:00, what will you do to kill time?"
diff --git a/C003_MorningDetention/Intro/Text_FR.csv b/C003_MorningDetention/Intro/Text_FR.csv
new file mode 100644
index 0000000000..adc660cd4f
--- /dev/null
+++ b/C003_MorningDetention/Intro/Text_FR.csv
@@ -0,0 +1,7 @@
+Tag,Content
+Intro1,Chapitre 3 - La retenue du matin (Cliquez pour continuer)
+Intro2,"Pour avoir causer des problèmes, Sidney et vous êtes envoyées en retenue."
+Intro3,"La salle de retenue est une salle de réunion, où une professeur vous attend."
+Intro4,Vous êtes invitée à vous assoir et à attendre jusqu'à ce que la retenue soit terminée.
+Intro5,Sidney entre dans la salle menottée et s'assoit en face de vous.
+Intro6,"Il est 8H20 et la retenue finit à 9H00, qu'allez-vous faire pour tuer le temps ?"
diff --git a/C003_MorningDetention/Outro/Background.jpg b/C003_MorningDetention/Outro/Background.jpg
new file mode 100644
index 0000000000..e6a0f10b31
Binary files /dev/null and b/C003_MorningDetention/Outro/Background.jpg differ
diff --git a/C003_MorningDetention/Outro/Script.js b/C003_MorningDetention/Outro/Script.js
new file mode 100644
index 0000000000..073bf1ff06
--- /dev/null
+++ b/C003_MorningDetention/Outro/Script.js
@@ -0,0 +1,36 @@
+var C003_MorningDetention_Outro_EscapedDetention = false;
+
+// Chapter 3 - Outro Load
+function C003_MorningDetention_Outro_Load() {
+	
+	// Time is always 9:15:00 in the outro
+	C003_MorningDetention_Outro_EscapedDetention = (CurrentTime < 9 * 60 * 60 * 1000);
+	StopTimer(9 * 60 * 60 * 1000);
+	PlayerUnlockAllInventory();
+	ActorSpecificClearInventory("Sidney", false);
+	ActorSpecificClearInventory("Yuki", false);
+
+}
+
+// Chapter 3 - Outro Run
+function C003_MorningDetention_Outro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 800, 0);
+			
+	// Write the chapter outro
+	if (C003_MorningDetention_Outro_EscapedDetention == false) DrawText(ctx, GetText("Outro1A"), 400, 150, "White");
+	if (C003_MorningDetention_Outro_EscapedDetention == true) DrawText(ctx, GetText("Outro1B"), 400, 150, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Outro2"), 400, 300, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Outro3"), 400, 450, "White");
+
+}
+
+// Chapter 3 - Outro Click
+function C003_MorningDetention_Outro_Click() {
+	TextPhase++;
+	if (TextPhase >= 3)
+		SaveMenu("C004_ArtClass", "Intro");
+}
\ No newline at end of file
diff --git a/C003_MorningDetention/Outro/Text_EN.csv b/C003_MorningDetention/Outro/Text_EN.csv
new file mode 100644
index 0000000000..97e958f65c
--- /dev/null
+++ b/C003_MorningDetention/Outro/Text_EN.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Outro1A,You've waited patiently in detention and served your time.
+Outro1B,"Having skipped detention early, you explore the school a little."
+Outro2,"Your next class starts at 9:15, better not be late."
+Outro3,"You walk in the halls, look around and find the classroom."
diff --git a/C003_MorningDetention/Outro/Text_FR.csv b/C003_MorningDetention/Outro/Text_FR.csv
new file mode 100644
index 0000000000..937079fa29
--- /dev/null
+++ b/C003_MorningDetention/Outro/Text_FR.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Outro1A,Vous avez attendu patiemment en retenue et fait votre temps.
+Outro1B,"Vous êtes sortis plus tôt et vous explorez un peu l'établissement."
+Outro2,"Votre prochain cours débute à 9H15, mieux vaut ne pas être en retard."
+Outro3,"Vous, vous promenez dans les couloirs et vous trouvez la classe."
diff --git a/C003_MorningDetention/Sidney/Intro_EN.csv b/C003_MorningDetention/Sidney/Intro_EN.csv
new file mode 100644
index 0000000000..f644e927d2
--- /dev/null
+++ b/C003_MorningDetention/Sidney/Intro_EN.csv
@@ -0,0 +1,32 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,You sure know how to cause trouble with ropes.|What do you want now? (She stares at you.),SidneyFace.jpg
+0,-1,0,,You idiot!  Look at the trouble you caused with ropes.|What the fuck do you want? (She stares at you.),SidneyFace.jpg
+0,1,0,,Ha!  This bondage in class was pretty|daring.  So what do you want now?,SidneyFace.jpg
+0,0,0,Fighting,That was a good fight.  So what do|you want now? (She stares at you.),SidneyFace.jpg
+0,-1,0,Fighting,"If you want to fight again, I'll crush you after school.|What the fuck do you want? (She stares at you.)",SidneyFace.jpg
+0,1,0,Fighting,Let's hope we fight on the same side|next time.  So what do you want now?,SidneyFace.jpg
+0,0,0,FightWon,It was so easy to crush you.|So what do you want now?,SidneyFace.jpg
+0,0,0,FightLost,You know you were fucking lucky to|beat me.  What do you want now?,SidneyFace.jpg
+0,0,0,Common_PlayerGagged,Ha!  You got yourself cuffed and|gagged.  You're such a troublemaker.,SidneyFace.jpg
+10,0,0,,Stop starring at these stupid cuffs.,SidneyCuffs.jpg
+10,0,0,Common_PlayerGagged,Ha!  You got yourself cuffed and|gagged.  You're such a troublemaker.,SidneyFace.jpg
+20,0,0,,"Detention again, this is so boring!",SidneyFace.jpg
+20,0,0,Common_PlayerGagged,Ha!  You got yourself cuffed and|gagged.  You're such a troublemaker.,SidneyFace.jpg
+30,0,0,,What do you want now?,SidneyFace.jpg
+30,0,0,Common_PlayerGagged,Ha!  You got yourself cuffed and|gagged.  You're such a troublemaker.,SidneyFace.jpg
+40,0,0,,(She ignores you and tries to get out of her cuffs.),SidneyCuffs.jpg
+40,1,0,,There's not much to do.|Let's wait until nine o'clock I guess.,SidneyFace.jpg
+40,0,0,Common_PlayerRestrained,I can't believe you also got yourself|in cuffs.  You're such a troublemaker.,SidneyFace.jpg
+40,0,0,Common_PlayerGagged,Ha!  You got yourself cuffed and|gagged.  You're such a troublemaker.,SidneyFace.jpg
+100,0,0,,This is fucking unbelievable.|I saw what you did!,SidneyFace.jpg
+110,0,0,,"(She looks at the teacher, and|then looks at you and winks.)",SidneyFace.jpg
+150,0,0,,Why the fuck did you wake her up?,SidneyFace.jpg
+160,0,0,,You had a good plan and you ruined it.,SidneyFace.jpg
+200,0,0,,This is huge!  You fucking drugged the teacher.,SidneyFace.jpg
+200,2,0,,This is huge!  You fucking drugged the teacher.|Can we be friends?  I love it.,SidneyFace.jpg
+200,0,2,,"This is huge!  You fucking drugged the teacher.|Please teach me, I want to learn from you.",SidneyFace.jpg
+210,0,0,,What do you want?|Can you help me out?,SidneyFace.jpg
+210,0,0,EggInside,That fucking egg is driving me nuts!|Remove it or I'll kick your butt.,SidneyFace.jpg
+220,0,0,,You're such a fucking pervert.,SidneyStrip.jpg
+220,0,0,EggInside,That fucking egg is driving me nuts!|Remove it or I'll kick your butt.,SidneyStrip.jpg
+300,0,0,,(Sidney is gone.),SidneyGone.jpg
diff --git a/C003_MorningDetention/Sidney/Intro_FR.csv b/C003_MorningDetention/Sidney/Intro_FR.csv
new file mode 100644
index 0000000000..cd9b2de7f7
--- /dev/null
+++ b/C003_MorningDetention/Sidney/Intro_FR.csv
@@ -0,0 +1,32 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Toi tu sais en créer des emmerdes.|Qu'est-ce que tu veux ? (Elle te fixe.),SidneyFace.jpg
+0,-1,0,,Abrutie ! Regarde les emmerdes que tu nous as créé.|Qu'est-ce que tu me veux ! (Elle te fixe.),SidneyFace.jpg
+0,1,0,,Ah ! Ce bondage en classe était assez audacieux.|Alors ? Qu'est-ce que tu veux ?,SidneyFace.jpg
+0,0,0,Fighting,C'était un bon combat.|Qu'est-ce que tu veux ? (Elle te fixe.),SidneyFace.jpg
+0,-1,0,Fighting,"Si tu veux encore te battre, Je t'écraserai après|les cours. Qu'est-ce que tu me veux ! (Elle te fixe.)",SidneyFace.jpg
+0,1,0,Fighting,J'espère qu'on sera dans le même camp|la prochaine fois. Tu veux quelque chose ?,SidneyFace.jpg
+0,0,0,FightWon,C'était si facile de t'écraser.|Alors ? Qu'est-ce que tu veux ?,SidneyFace.jpg
+0,0,0,FightLost,"Bordel, tu as juste eu de la chance.|Qu'est-ce que tu veux ?",SidneyFace.jpg
+0,0,0,Common_PlayerGagged,Ah ! Tu t'es fait menotter et baîlloner.|Quelle délinquante !,SidneyFace.jpg
+10,0,0,,Arrête de fixer ces stupides menottes.,SidneyCuffs.jpg
+10,0,0,Common_PlayerGagged,Ah ! Tu t'es fait menotter et baîlloner.|Quelle délinquante !,SidneyFace.jpg
+20,0,0,,"La retenue... Encore..., qu'est-ce que je m'ennuie !",SidneyFace.jpg
+20,0,0,Common_PlayerGagged,Ah ! Tu t'es fait menotter et baîlloner.|Quelle délinquante !,SidneyFace.jpg
+30,0,0,,Qu'est-ce que tu veux maintenant ?,SidneyFace.jpg
+30,0,0,Common_PlayerGagged,Ah ! Tu t'es fait menotter et baîlloner.|Quelle délinquante !,SidneyFace.jpg
+40,0,0,,(Elle t'ignore et essaye d'enlever ses menottes.),SidneyCuffs.jpg
+40,1,0,,"Il n'y a rien qu'on puise faire de plus, je suppose.|Attendons jusqu'à neuf heure.",SidneyFace.jpg
+40,0,0,Common_PlayerRestrained,J'y crois pas, tu as fini par te faire menotter.|Quelle délinquante !,SidneyFace.jpg
+40,0,0,Common_PlayerGagged,Ah ! Tu t'es fait menotter et baîlloner.|Quelle délinquante !,SidneyFace.jpg
+100,0,0,,C'est tout bonnement incroyable.|J'ai vu ce que tu as fait !,SidneyFace.jpg
+110,0,0,,"(Elle regarde la professeur, et|elle te regarde en te faisant un clin d'oeil.)",SidneyFace.jpg
+150,0,0,,Mais qu'est-ce qui t'a pris de la réveiller ?,SidneyFace.jpg
+160,0,0,,Tu avais un super plan et tu l'a ruiner.,SidneyFace.jpg
+200,0,0,,C'est tellement énorme ! Tu as drogué la prof.,SidneyFace.jpg
+200,2,0,,C'est tellement énorme ! Tu as drogué la prof.|On peut être amies ? J'adore ça.,SidneyFace.jpg
+200,0,2,,"C'est tellement énorme ! Tu as drogué la prof.|S'il te plaît, enseigne-moi, Je veux apprendre de toi.",SidneyFace.jpg
+210,0,0,,Qu'est-ce que tu veux ?|Tu peux m'aider à me libérer ?,SidneyFace.jpg
+210,0,0,EggInside,Ce putain d'oeuf me rend folle !|Enlève-le ou je te botte le cul.,SidneyFace.jpg
+220,0,0,,Tu es une putain de perverse.,SidneyStrip.jpg
+220,0,0,EggInside,Ce putain d'oeuf me rend folle !|Enlève-le ou je te botte le cul.,SidneyStrip.jpg
+300,0,0,,(Sidney est partie.),SidneyGone.jpg
diff --git a/C003_MorningDetention/Sidney/Script.js b/C003_MorningDetention/Sidney/Script.js
new file mode 100644
index 0000000000..410173a42e
--- /dev/null
+++ b/C003_MorningDetention/Sidney/Script.js
@@ -0,0 +1,102 @@
+var C003_MorningDetention_Sidney_CurrentStage = 0;
+var C003_MorningDetention_Sidney_Fighting = false;
+var C003_MorningDetention_Sidney_FightWon = false;
+var C003_MorningDetention_Sidney_FightLost = false;
+var C003_MorningDetention_Sidney_TickleDone = false;
+var C003_MorningDetention_Sidney_EggReady = false;
+var C003_MorningDetention_Sidney_EggInside = false;
+
+// Chapter 3 - Sidney Load
+function C003_MorningDetention_Sidney_Load() {
+
+	// Jump directly to stage 100 if the teacher was drugged but is not sleeping
+	if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime < C003_MorningDetention_DetentionRoom_SleepTimer) && (C003_MorningDetention_Sidney_CurrentStage < 100)) 
+		C003_MorningDetention_Sidney_CurrentStage = 100;
+
+	// Jump directly to stage 200 if the teacher was drugged and is sleeping
+	if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime >= C003_MorningDetention_DetentionRoom_SleepTimer) && (C003_MorningDetention_Sidney_CurrentStage < 200)) 
+		C003_MorningDetention_Sidney_CurrentStage = 200;
+	
+	// If Sidney isn't gone and the teacher woke up, there's a special dialog
+	if ((C003_MorningDetention_Yuki_CurrentStage >= 200) && (C003_MorningDetention_Sidney_CurrentStage != 160) && (C003_MorningDetention_Sidney_CurrentStage < 300) && (C003_MorningDetention_Yuki_CurrentStage != 230))
+		C003_MorningDetention_Sidney_CurrentStage = 150;
+
+	// Load the scene parameters
+	C003_MorningDetention_Sidney_EggReady = false;		
+	C003_MorningDetention_Sidney_Fighting = C003_MorningDetention_Intro_Fighting;
+	if (C001_BeforeClass_FightOutro_FightResult == 1) C003_MorningDetention_Sidney_FightLost = true;
+	if (C001_BeforeClass_FightOutro_FightResult == 2) C003_MorningDetention_Sidney_FightWon = true;
+	ActorLoad("Sidney", "DetentionRoom");
+	LoadInteractions();
+
+}
+
+// Chapter 3 - Sidney Run
+function C003_MorningDetention_Sidney_Run() {
+	BuildInteraction(C003_MorningDetention_Sidney_CurrentStage);
+}
+
+// Chapter 3 - Sidney Click
+function C003_MorningDetention_Sidney_Click() {	
+
+	// Regular interaction
+	ClickInteraction(C003_MorningDetention_Sidney_CurrentStage);
+	var ClickInv = GetClickedInventory();
+	
+	// Special code for when the user wants to unlock Sidney
+	if ((ClickInv == "CuffsKey") && (C003_MorningDetention_Sidney_CurrentStage < 300) && Common_PlayerNotRestrained) {
+		PlayerAddInventory("Cuffs", 1);
+		ActorChangeAttitude(2, 0);
+		OverridenIntroText = GetText("UnlockGone");
+		C003_MorningDetention_Sidney_CurrentStage = 300;
+		C003_MorningDetention_DetentionRoom_SidneyGone = true;
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// Special code for when the user wants to use the vibrating egg on Sidney
+	if ((ClickInv == "VibratingEgg") && (C003_MorningDetention_Sidney_CurrentStage < 200) && Common_PlayerNotRestrained)
+		OverridenIntroText = GetText("VibratingEggTeacher");
+
+	// Special code for when the user wants to use the vibrating egg on Sidney
+	if ((ClickInv == "SleepingPill") && (C003_MorningDetention_Sidney_CurrentStage < 200) && Common_PlayerNotRestrained)
+		OverridenIntroText = GetText("SleepingPill");
+	
+	// Special code for when the user wants to use the vibrating egg on Sidney
+	if ((ClickInv == "VibratingEgg") && (C003_MorningDetention_Sidney_CurrentStage >= 200) && (C003_MorningDetention_Sidney_CurrentStage < 300) && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("VibratingEggReady");
+		C003_MorningDetention_Sidney_EggReady = true;
+	}
+	
+}
+
+// Chapter 3 - Sidney Strip
+function C003_MorningDetention_Sidney_Strip() {	
+	C003_MorningDetention_DetentionRoom_SidneyStrip = true;
+}
+
+// Chapter 3 - Sidney Dress
+function C003_MorningDetention_Sidney_Dress() {	
+	C003_MorningDetention_DetentionRoom_SidneyStrip = false;
+}
+
+// Chapter 3 - Sidney Unlock
+function C003_MorningDetention_Sidney_Unlock() {	
+	C003_MorningDetention_DetentionRoom_SidneyGone = true;
+}
+
+// Chapter 3 - Sidney Insert
+function C003_MorningDetention_Sidney_Insert() {	
+	C003_MorningDetention_Sidney_EggReady = false;
+	C003_MorningDetention_Sidney_EggInside = true;
+	PlayerRemoveInventory("VibratingEgg", 1);
+	ActorAddInventory("VibratingEgg");
+}
+
+// Chapter 3 - Sidney Tickle
+function C003_MorningDetention_Sidney_Tickle() {
+	if (C003_MorningDetention_Sidney_TickleDone == false) {
+		ActorChangeAttitude(-1, 0);
+		OverridenIntroText = GetText("Tickle");
+		C003_MorningDetention_Sidney_TickleDone = true;
+	}
+}
diff --git a/C003_MorningDetention/Sidney/SidneyCuffs.jpg b/C003_MorningDetention/Sidney/SidneyCuffs.jpg
new file mode 100644
index 0000000000..000e55c427
Binary files /dev/null and b/C003_MorningDetention/Sidney/SidneyCuffs.jpg differ
diff --git a/C003_MorningDetention/Sidney/SidneyFace.jpg b/C003_MorningDetention/Sidney/SidneyFace.jpg
new file mode 100644
index 0000000000..657bc01778
Binary files /dev/null and b/C003_MorningDetention/Sidney/SidneyFace.jpg differ
diff --git a/C003_MorningDetention/Sidney/SidneyGone.jpg b/C003_MorningDetention/Sidney/SidneyGone.jpg
new file mode 100644
index 0000000000..ce50f8ad0d
Binary files /dev/null and b/C003_MorningDetention/Sidney/SidneyGone.jpg differ
diff --git a/C003_MorningDetention/Sidney/SidneyStrip.jpg b/C003_MorningDetention/Sidney/SidneyStrip.jpg
new file mode 100644
index 0000000000..a419c219b4
Binary files /dev/null and b/C003_MorningDetention/Sidney/SidneyStrip.jpg differ
diff --git a/C003_MorningDetention/Sidney/Stage_EN.csv b/C003_MorningDetention/Sidney/Stage_EN.csv
new file mode 100644
index 0000000000..e19c489ea4
--- /dev/null
+++ b/C003_MorningDetention/Sidney/Stage_EN.csv
@@ -0,0 +1,31 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,I guess you go to|detention pretty often?,Often?  They will name this office after me.,10,0,0,
+0,0,0,,You will be sorry If you|get me in trouble again.,Fuck!  You're the one that got us in here.,10,-1,1,
+0,0,0,,We better stop now|before we get expelled.,What a lame attitude.  You only live once.,10,0,-1,
+0,0,0,,Detention for my very first|class.  Pretty cool isn't it?,That's pretty impressive I must say.,10,1,0,
+10,0,0,,So why are|you handcuffed?,Cause I fled from detention last time.|These assholes want to make sure I stay.,20,0,0,
+10,0,0,,Why didn't they|handcuff me also?,Ha!  You really want my cuffs?|Try to escape like me and they will cuff you.,20,0,-1,
+10,0,0,,You look submissive|in these cuffs.,(She blushes) No way!  Don't try to|escape from detention or they will cuff you also.,20,0,1,
+10,0,0,,A troublemaker like you|should always be cuffed.,I will kick your butt once I get out.|And I bet you will also get cuffed soon anyway.,20,-1,0,
+20,0,0,,At least I'm happy to|be stuck here with you.,"Yeah, I guess it could be worst.",30,1,0,
+20,0,0,,So how do we|kill time here?,"I don't know, watch the clock tick.",30,0,0,
+20,0,0,,So how do we|get out of here?,You want to escape?  Find the|keys to these cuffs and I'll help you.,30,0,0,
+30,0,0,,There's not much|we can do.,"Correct, now stop bugging me.|(She tugs on her cuffs to get out.)",40,0,0,
+30,0,0,,I'll think of a plan.|Stay quiet for now.,"(She nods, stays silent|and checks on her cuffs.)",40,0,1,
+30,0,0,,This is hopeless.|We have to wait.,You're hopeless.|(She ignores you and tugs on her cuffs.),40,0,-1,
+100,0,0,,Yep!  Now let's wait|and see the results.,Oh yeah!  This is great!|I bet it will start to work soon.,110,1,0,
+100,0,0,,Now you know not|to mess with me.,Fuck yeah.  Now I wonder|how long it will take to work.,110,0,1,
+100,0,0,,Don't say a|word about it.,"Don't worry, I won't.|I can't wait for the effect to start.",110,0,0,
+150,0,0,,This was going|way too far.,There's no bigger idiot than you in this school!|You had a great plan and your ruined it.,160,-1,-1,
+150,0,0,,Don't worry.  We'll|get her again.,Again?  You had her a few minutes ago!|You had a great plan and your ruined it.,160,-1,0,
+150,0,0,,Shut up!  I know|I messed up.,Fuck yeah!  You messed up big time!|You had a great plan and your ruined it.,160,-1,1,
+200,0,0,,Yes!  Now we|can have some fun.,(She looks at you nervously.)|What do you have in mind?,210,0,0,
+200,0,0,,So do you want|to get out?,Fuck yes!  Do you have|the keys to these cuffs?,210,1,-1,
+200,0,0,,Now you're all|mine bitch.,What the fuck are you talking about?|(She looks at you nervously.),210,-1,1,
+210,0,0,Common_PlayerNotRestrained,(Strip her.)|(1 minute),Wo wait!  What are you doing?|(You force her to strip.),220,0,0,Strip()
+210,1,0,,(Kiss her.)|(1 minute),(You kiss her and she remains speechless.),210,0,0,
+220,0,0,Common_PlayerNotRestrained,(Dress her back.)|(1 minute),Is there any logic in what you're doing?,210,0,0,Dress()
+220,1,0,,(Kiss her.)|(1 minute),(You kiss her and she remains speechless.),220,0,0,
+220,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),Fuck you and your tickling fetish!|(She doesn't seem to laugh or have fun.),220,0,0,Tickle()
+220,0,0,EggReady,(Insert the egg.)|(1 minute),(You push the egg in her vagina.  It buzzes and|goes deeper.)  Fuck!  Why did you do that?,220,-1,1,Insert()
+220,0,0,EggInside,(Remove the egg.)|(1 minute),(You slide a finger in but cannot reach the egg.)|You can't reach it!  You're such an idiot!,220,0,0,
diff --git a/C003_MorningDetention/Sidney/Stage_FR.csv b/C003_MorningDetention/Sidney/Stage_FR.csv
new file mode 100644
index 0000000000..3086d5d160
--- /dev/null
+++ b/C003_MorningDetention/Sidney/Stage_FR.csv
@@ -0,0 +1,31 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Je suppose que tu es en|retenue assez souvent ?,Souvent ? Ce bureau portera mon nom.,10,0,0,
+0,0,0,,Tu vas le regretter si tu|me cherches à nouveau.,Quoi ! A ton avis on est ici à cause de qui.,10,-1,1,
+0,0,0,,On ferait mieux de s'arrêter|avant d'être renvoyées.,Quelle excuse bidon. On ne vit qu'une fois.,10,0,-1,
+0,0,0,,En retenue dès mon |premier cours. Plutôt cool ?,C'est assez impressionnant je dois le reconnaître.,10,1,0,
+10,0,0,,Et sinon pourquoi|es-tu menottée ?,Parce que je me suis enfuie la dernière fois.|Ces idiotes veulent s'assurer que je reste.,20,0,0,
+10,0,0,,Pourquoi ne m'ont-elles|pas menottée ?,Ah ! Tu veux vraiment mes menottes ?|Essaye donc de t'échapper et elles te menotteront.,20,0,-1,
+10,0,0,,Tu as l'air si soumise|toute menottée.,(Elle rougit) Pas du tout ! N'essaye pas de t'échapper|où elles vont te menotter aussi.,20,0,1,
+10,0,0,,Une fille à problèmes doit|toujours être menottée.,Je vais te botter le cul une fois sorti d'ici.|Et je parie que tu seras aussi menottée tôt ou tard.,20,-1,0,
+20,0,0,,Au moins je suis contente|d'être coincée avec toi.,"Ouais, Je suppose que ça pourrait être pire.",30,1,0,
+20,0,0,,Comment on peut|tuer le temps ici ?,"Je ne sais pas, regarde l'horloge.",30,0,0,
+20,0,0,,Comment on peut|sortir d'ici ?,Tu veux t'échapper ?|Trouve les clés des menottes et je t'aiderai.,30,0,0,
+30,0,0,,On ne peut rien|faire de plus.,"Voila, maintenant arrête de me déranger.|(Elle lutte pour enlever les menottes.)",40,0,0,
+30,0,0,,Je vais penser à un plan.|Reste tranquille.,"(Elle hoche la tête, reste silencieuse|et procède à des vérifications sur ses menottes.)",40,0,1,
+30,0,0,,C'est sans espoir.|Nous devons attendre.,Tu es désespérante.|(Elle t'ignore et lutte contre ses menottes.),40,0,-1,
+100,0,0,,Ouep ! Maintenant|attendons les résultats.,Ouais ! C'est génial !|Je parie que ça va faire effet rapidement.,110,1,0,
+100,0,0,,Maintenant tu sais qu'il|faut pas me chercher.,C'est très clair ! Je me demande|au bout de combien de temps ça va faire effet.,110,0,1,
+100,0,0,,Ne dis pas un mot.,"T'inquiète pas.|Je suis impatiente de voir les premiers effets.",110,0,0,
+150,0,0,,Ne t'inquiète pas. On|l'aura à nouveau.,À nouveau ? Tu l'avais il y a quelques minutes !|Tu avais un super plan et tu l'a gâcher.,160,-1,0,
+150,0,0,,Ça allait trop loin.,Il n'y a pas plus idiote que toi dans tout l'établissement !|Tu avais un super plan et tu l'a gâcher.,160,-1,-1,
+150,0,0,,La ferme ! Je sais|que j'ai merdé.,Plutôt oui ! C'est un gros coup que tu as loupé !|Tu avais un super plan et tu l'a gâcher.,160,-1,1,
+200,0,0,,Oui ! Maintenant|on peut s'amuser.,(Elle te regarde nerveusement.)|Qu'est-ce que tu as en tête ?,210,0,0,
+200,0,0,,Alors tu veux sortir ?,Oui ! Tu as les clés de ses menottes ?,210,1,-1,
+200,0,0,,"Tu es toute à moi|maintenant, salope !",Mais de quoi tu parles putain ?|(Elle te regarde nerveusement.),210,-1,1,
+210,0,0,Common_PlayerNotRestrained,(Tu la déshabilles.)|(1 minute),Oula attends ! Qu'est-ce que tu fais ?|(Tu la forces à se déshabiller.),220,0,0,Strip()
+210,1,0,,(Tu l'embrasses.)|(1 minute),(Tu l'embrasses et elle reste sans voix.),210,0,0,
+220,0,0,Common_PlayerNotRestrained,(Tu la rhabilles.)|(1 minute),Y'a-t'il une seule logique dans tout ce que tu fais ?,210,0,0,Dress()
+220,1,0,,(Tu l'embrasses.)|(1 minute),(Tu l'embrasses et elle reste sans voix.),220,0,0,
+220,0,0,Common_PlayerNotRestrained,(Tu la chatouilles.)|(1 minute),Va te faire foutre ! Toi et ton fétiche sur les chatouilles !|(Elle ne semble pas rire ni s'amuser.),220,0,0,Tickle()
+220,0,0,EggReady,(Tu insères l'oeuf.)|(1 minute),(Tu insères l'oeuf dans son vagin. Il vibre et s'enfonce|profondément.) Putain ! Pourquoi tu as fait ça ?,220,-1,1,Insert()
+220,0,0,EggInside,(Tu enlèves l'oeuf.)|(1 minute),(Tu glisses un doigt à l'intérieur mais tu n'arrives pas à|l'attraper.) Tu ne peux pas l'attraper ! Mais quelle idiote !,220,0,0,
diff --git a/C003_MorningDetention/Sidney/Text_EN.csv b/C003_MorningDetention/Sidney/Text_EN.csv
new file mode 100644
index 0000000000..67f87fd57d
--- /dev/null
+++ b/C003_MorningDetention/Sidney/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+UnlockGone,"As soon as you unlock her, she|thanks you, picks her stuff and leaves."
+VibratingEggTeacher,What the fuck is that pink thing?|Get it away before the teacher sees it.
+SleepingPill,Get that pill away sicko!|There's no way I'm taking it.
+VibratingEggReady,What the fuck is that pink thing?|Don't you dare anything funky.
+Tickle,Fuck you!  I hate being tickled.|(She trashes in her cuffs.)
diff --git a/C003_MorningDetention/Sidney/Text_FR.csv b/C003_MorningDetention/Sidney/Text_FR.csv
new file mode 100644
index 0000000000..5ccf77e126
--- /dev/null
+++ b/C003_MorningDetention/Sidney/Text_FR.csv
@@ -0,0 +1,6 @@
+Tag,Content
+UnlockGone,"Dès que tu la libères, elle te remercie,|puis elle prend ses affaires et s'en va."
+VibratingEggTeacher,C'est quoi ce truc rose ?|Vire le de ma vue avant que la prof le vois.
+SleepingPill,Vire cette pilule de ma vue espèce de malade !|Jamais je ne la prendrai.
+VibratingEggReady,C'est quoi ce truc rose ?|Tu n'oseras pas faire quelque chose d'aussi fou.
+Tickle,Va te faire voir ! Je déteste être chatouillée.|(Elle se démène pour enlever ses menottes.)
diff --git a/C003_MorningDetention/Yuki/Intro_EN.csv b/C003_MorningDetention/Yuki/Intro_EN.csv
new file mode 100644
index 0000000000..fa5f407254
--- /dev/null
+++ b/C003_MorningDetention/Yuki/Intro_EN.csv
@@ -0,0 +1,35 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Tying up other students is strictly forbidden.|I hope you will learn a lesson from this detention.,YukiFace.jpg
+0,0,0,Fighting,Fighting in school isn't acceptable young lady.|I hope this detention time serves you well.,YukiFace.jpg
+0,0,0,Sleepy,What you did isn't acceptable|young lady.  (She yawns loudly.),YukiSleepy.jpg
+10,0,0,,Now will you try to be a good student?,YukiFace.jpg
+10,0,0,Sleepy,Now will you try to be a good student?,YukiSleepy.jpg
+20,0,0,,Can you sit quietly for your detention?,YukiFace.jpg
+20,0,0,Sleepy,Can you sit quietly for your detention?,YukiSleepy.jpg
+30,0,0,,What do you have in your hand?,YukiFace.jpg
+30,0,0,Sleepy,What do you have in your hand?,YukiSleepy.jpg
+40,0,0,,,YukiFace.jpg
+40,0,0,Sleepy,,YukiSleepy.jpg
+50,0,0,,Please stay quiet young lady.|Your detention will end at nine o'clock.,YukiFace.jpg
+50,0,0,Sleepy,(She yawns and fights to stay awake.)|(It might take a few minutes before the pill acts.),YukiSleepy.jpg
+60,0,0,,Please stay quiet young lady.|Your detention will end at nine o'clock.,YukiFace.jpg
+60,0,0,Sleepy,(She yawns and fights to stay awake.)|(It might take a few minutes before the pill acts.),YukiSleepy.jpg
+70,0,0,,This gag will keep you quiet little miss.|Your detention will end at nine o'clock.,YukiFace.jpg
+70,0,0,Sleepy,(She yawns and fights to stay awake.)|(It might take a few minutes before the pill acts.),YukiSleepy.jpg
+100,0,0,,(Teacher Yuki is sleeping deeply.),YukiSleep.jpg
+100,0,0,EggInside,(Teacher Yuki is sleeping deeply.|She trembles and moans randomly from the egg.),YukiSleep.jpg
+110,0,0,,(Teacher Yuki is sleeping deeply in her underwear.),YukiStrip.jpg
+110,0,0,EggInside,(Teacher Yuki is sleeping deeply in her underwear.|She trembles and moans randomly from the egg.),YukiStrip.jpg
+120,0,0,,(Teacher Yuki is sleeping cuffed in her underwear.),YukiCuffs.jpg
+120,0,0,EggInside,(Teacher Yuki is sleeping cuffed in her underwear.|She trembles and moans randomly from the egg.),YukiCuffs.jpg
+130,0,0,,(Teacher Yuki is sleeping cuffed in her underwear.),YukiLay.jpg
+130,0,0,EggInside,(Teacher Yuki is sleeping cuffed in her underwear.|She trembles and moans randomly from the egg.),YukiLay.jpg
+200,0,0,,What happened here?  Did I fell asleep?,YukiSleepy.jpg
+210,0,0,,Did I fell asleep?  Who stripped me?,YukiSleepyStrip.jpg
+220,0,0,,What happened here?  Did I fell asleep?|Who stripped me and cuffed me?,YukiAwakeCuffs.jpg
+230,0,0,,You're only getting yourself into more trouble.|Get me out of these cuffs right now!,YukiAwakeCuffs.jpg
+250,0,0,,Stay quiet for your detention.,YukiFace.jpg
+250,0,0,EggInside,My!  Is it too hot in here?|(She seems to sweat from the egg.),YukiFace.jpg
+260,0,0,,(She's still furious at you and ignores you.),YukiFace.jpg
+260,0,0,EggInside,(She's still furious at you and ignores you.)|(She also seems to sweat a lot from the egg.),YukiFace.jpg
+270,0,0,,(Yuki is gone.),YukiGone.jpg
diff --git a/C003_MorningDetention/Yuki/Intro_FR.csv b/C003_MorningDetention/Yuki/Intro_FR.csv
new file mode 100644
index 0000000000..dcfa72dec8
--- /dev/null
+++ b/C003_MorningDetention/Yuki/Intro_FR.csv
@@ -0,0 +1,35 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Ligoter les autres étudiantes est strictement interdit.|J'espère que tu tireras une leçon de cette retenue.,YukiFace.jpg
+0,0,0,Fighting,Se battre à l'école est inacceptable jeune fille.|J'espère que cette retenue te servira de leçon.,YukiFace.jpg
+0,0,0,Sleepy,"Ce que tu as fait est inacceptable jeune fille.|(Elle baille bruyamment.)",YukiSleepy.jpg
+10,0,0,,Vas-tu essayer d'être une bonne étudiante ?,YukiFace.jpg
+10,0,0,Sleepy,Vas-tu essayer d'être une bonne étudiante ?,YukiSleepy.jpg
+20,0,0,,Peux-tu te tenir tranquille jusqu'à la fin de la retenue ?,YukiFace.jpg
+20,0,0,Sleepy,Peux-tu te tenir tranquille jusqu'à la fin de la retenue ?,YukiSleepy.jpg
+30,0,0,,Qu'est-ce que tu as dans ta main ?,YukiFace.jpg
+30,0,0,Sleepy,Qu'est-ce que tu as dans ta main ?,YukiSleepy.jpg
+40,0,0,,,YukiFace.jpg
+40,0,0,Sleepy,,YukiSleepy.jpg
+50,0,0,,"S'il te plaît, reste tranquille jeune fille.|Ta retenue finira à neuf heure.",YukiFace.jpg
+50,0,0,Sleepy,"(Elle baille et lutte pour rester éveillée.)|(La pilule peut mettre quelques minutes avant d'agir.)",YukiSleepy.jpg
+60,0,0,,"S'il te plaît, reste tranquille jeune fille.|Ta retenue finira à neuf heure.",YukiFace.jpg
+60,0,0,Sleepy,"(Elle baille et lutte pour rester éveillée.)|(La pilule peut mettre quelques minutes avant d'agir.)",YukiSleepy.jpg
+70,0,0,,"Ce bâillon vous rendra silencieuse mademoiselle.|Votre retenue finira à neuf heure.",YukiFace.jpg
+70,0,0,Sleepy,"(Elle baille et lutte pour rester éveillée.)|(La pilule peut mettre quelques minutes avant d'agir.)",YukiSleepy.jpg
+100,0,0,,(La professeur Yuki dors profondément.),YukiSleep.jpg
+100,0,0,EggInside,(La professeur Yuki dors profondément.|Elle tremble et gémit aléatoirement à cause de l'oeuf.),YukiSleep.jpg
+110,0,0,,(La professeur Yuki dors profondément|en sous-vêtements.),YukiStrip.jpg
+110,0,0,EggInside,(La professeur Yuki dors profondément.|Elle tremble et gémit aléatoirement à cause de l'oeuf.),YukiStrip.jpg
+120,0,0,,(La professeur Yuki dors menottée en sous-vêtements.),YukiCuffs.jpg
+120,0,0,EggInside,(La professeur Yuki dors menottée en sous-vêtements.|Elle tremble et gémit aléatoirement à cause de l'oeuf.),YukiCuffs.jpg
+130,0,0,,(La professeur Yuki dors menottée en sous-vêtements.),YukiLay.jpg
+130,0,0,EggInside,(La professeur Yuki dors menottée en sous-vêtements.|Elle tremble et gémit aléatoirement à cause de l'oeuf.),YukiLay.jpg
+200,0,0,,Qu'est-ce qui s'est passé ici ? Est-ce que je me suis endormi ?,YukiSleepy.jpg
+210,0,0,,Je me suis endormi ? Qui m'a déshabillé ?,YukiSleepyStrip.jpg
+220,0,0,,Que s'est-il passé ici ? Je me suis endormi ?|Qui m'a déshabillé et menotté ?,YukiAwakeCuffs.jpg
+230,0,0,,Tu es en train de t'attirer de plus en plus d'ennuis.|Retire-moi ces menottes maintenant !,YukiAwakeCuffs.jpg
+250,0,0,,Reste tranquille durant ta retenue.,YukiFace.jpg
+250,0,0,EggInside,Dis donc ! Il fait pas un peu trop chaud ici ?|(Elle semble transpirer à cause de l'oeuf.),YukiFace.jpg
+260,0,0,,(Elle est toujours furieuse contre toi et t'ignore.),YukiFace.jpg
+260,0,0,EggInside,(Elle est toujours furieuse contre toi et t'ignore.)|(Elle semble transpirer beaucoup à cause de l'oeuf.),YukiFace.jpg
+270,0,0,,(Yuki est partie.),YukiGone.jpg
diff --git a/C003_MorningDetention/Yuki/Script.js b/C003_MorningDetention/Yuki/Script.js
new file mode 100644
index 0000000000..5c25c12306
--- /dev/null
+++ b/C003_MorningDetention/Yuki/Script.js
@@ -0,0 +1,170 @@
+var C003_MorningDetention_Yuki_CurrentStage = 0;
+var C003_MorningDetention_Yuki_Fighting = false;
+var C003_MorningDetention_Yuki_Bondage = false;
+var C003_MorningDetention_Yuki_Sleepy = false;
+var C003_MorningDetention_Yuki_CanSearch = true;
+var C003_MorningDetention_Yuki_EggReady = false;
+var C003_MorningDetention_Yuki_EggInside = false;
+var C003_MorningDetention_Yuki_SidneyGone = false;
+var C003_MorningDetention_Yuki_TickleDone = false;
+
+// Chapter 3 - Yuki Load
+function C003_MorningDetention_Yuki_Load() {
+
+	// Jump directly to stage 100 if the teacher was drugged and sleeping
+	if ((C003_MorningDetention_DetentionRoom_SleepTimer > 0) && (CurrentTime >= C003_MorningDetention_DetentionRoom_SleepTimer) && (C003_MorningDetention_Yuki_CurrentStage < 100)) 
+		C003_MorningDetention_Yuki_CurrentStage = 100;
+
+	// Flag if Yuki is sleepy or Sidney is gone
+	C003_MorningDetention_Yuki_Sleepy = (C003_MorningDetention_DetentionRoom_SleepTimer > 0);
+	C003_MorningDetention_Yuki_SidneyGone = C003_MorningDetention_DetentionRoom_SidneyGone;	
+	
+	// Load the scene parameters
+	C003_MorningDetention_Yuki_EggReady = false;
+	C003_MorningDetention_Yuki_Fighting = C003_MorningDetention_Intro_Fighting;
+	C003_MorningDetention_Yuki_Bondage = !C003_MorningDetention_Intro_Fighting;
+	ActorLoad("Yuki", "DetentionRoom");
+	LoadInteractions();
+	if (C003_MorningDetention_Yuki_CurrentStage == 40) C003_MorningDetention_Yuki_CurrentStage = 50;
+	if ((C003_MorningDetention_Yuki_CurrentStage == 50) && Common_PlayerRestrained) C003_MorningDetention_Yuki_CurrentStage = 60;
+	if ((C003_MorningDetention_Yuki_CurrentStage == 60) && Common_PlayerGagged) C003_MorningDetention_Yuki_CurrentStage = 70;
+
+}
+
+// Chapter 3 - Yuki Run
+function C003_MorningDetention_Yuki_Run() {
+	BuildInteraction(C003_MorningDetention_Yuki_CurrentStage);
+}
+
+// Chapter 3 - Yuki Click
+function C003_MorningDetention_Yuki_Click() {	
+
+	// Regular interaction
+	ClickInteraction(C003_MorningDetention_Yuki_CurrentStage);
+	var ClickInv = GetClickedInventory();
+	
+	// Special code for when the user wants to lock Yuki
+	if ((ClickInv == "Cuffs") && (C003_MorningDetention_Yuki_CurrentStage == 110) && Common_PlayerNotRestrained) {
+		PlayerRemoveInventory("Cuffs", 1);
+		ActorAddInventory("Cuffs");
+		OverridenIntroText = GetText("Cuffs");
+		C003_MorningDetention_Yuki_CurrentStage = 120;
+		CurrentTime = CurrentTime + 60000;
+	} 
+	
+	// Special code for when the user wants to unlock Yuki when she sleeps
+	if ((ClickInv == "CuffsKey") && ((C003_MorningDetention_Yuki_CurrentStage == 120) || (C003_MorningDetention_Yuki_CurrentStage == 130)) && Common_PlayerNotRestrained) {
+		PlayerAddInventory("Cuffs", 1);
+		ActorRemoveInventory("Cuffs");
+		OverridenIntroText = GetText("Unlock");
+		C003_MorningDetention_Yuki_CurrentStage = 110;
+		CurrentTime = CurrentTime + 60000;
+	} 
+
+	// Special code for when the user wants to unlock Yuki when she's awake
+	if ((ClickInv == "CuffsKey") && (C003_MorningDetention_Yuki_CurrentStage == 230) && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("UnlockTurnTables");
+		ActorRemoveInventory("Cuffs");
+		C003_MorningDetention_Yuki_CurrentStage = 260;
+		C003_MorningDetention_Yuki_FullRestrain();
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// Special code for when the user wants to use the egg on sleeping Yuki
+	if ((ClickInv == "VibratingEgg") && (C003_MorningDetention_Yuki_CurrentStage >= 110) && (C003_MorningDetention_Yuki_CurrentStage <= 130) && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("VibratingEggReady");
+		C003_MorningDetention_Yuki_EggReady = true;
+	} 
+
+	// Special code for when the user wants to use an item when Yuki is awake
+	if (((ClickInv == "VibratingEgg") || (ClickInv == "SleepingPill")) && (C003_MorningDetention_Yuki_CurrentStage < 100) && Common_PlayerNotRestrained)
+		C003_MorningDetention_Yuki_CurrentStage = 30;
+	
+}
+
+// Chapter 3 - Yuki Confiscate
+function C003_MorningDetention_Yuki_Confiscate() {	
+	PlayerRemoveInventory("VibratingEgg", 1);
+	PlayerRemoveInventory("SleepingPill", 1);	
+}
+
+// Chapter 3 - Yuki Search
+function C003_MorningDetention_Yuki_Search() {	
+	C003_MorningDetention_Yuki_CanSearch = false;
+	PlayerAddInventory("Cuffs", 1);
+	if (PlayerHasInventory("CuffsKey") == false) PlayerAddInventory("CuffsKey", 1);
+}
+
+// Chapter 3 - Yuki Search for Cuff Keys
+function C003_MorningDetention_Yuki_SearchCuffKeys() {
+	if (PlayerHasInventory("CuffsKey") == false) {
+		PlayerAddInventory("CuffsKey", 1);
+		OverridenIntroText = GetText("FindKey");
+	}
+}
+
+// Chapter 3 - Yuki Insert
+function C003_MorningDetention_Yuki_Insert() {	
+	C003_MorningDetention_Yuki_EggReady = false;
+	C003_MorningDetention_Yuki_EggInside = true;
+	PlayerRemoveInventory("VibratingEgg", 1);
+	ActorAddInventory("VibratingEgg");
+}
+
+// Chapter 3 - Yuki Escape
+function C003_MorningDetention_Yuki_Escape() {	
+	SetScene(CurrentChapter, "Outro");
+}
+
+// Chapter 3 - Yuki Annoyed
+function C003_MorningDetention_Yuki_Annoyed() {
+	if (ActorGetValue(ActorLove) <= -4) {
+		PlayerLockInventory("Cuffs");
+		OverridenIntroText = GetText("Annoyed");
+	}
+}
+
+// Chapter 3 - Yuki Gag Player
+function C003_MorningDetention_Yuki_GagPlayer() {
+	PlayerLockInventory("TapeGag");
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 3 - Yuki No Crime
+function C003_MorningDetention_Yuki_NoCrime() {
+	C003_MorningDetention_DetentionRoom_SidneyStrip = false;
+	Common_PlayerCrime = "";
+	LeaveIcon = "Leave";
+}
+
+// Chapter 3 - Yuki No Leave (when she's woke up)
+function C003_MorningDetention_Yuki_NoLeave() {
+	LeaveIcon = "";
+	C003_MorningDetention_DetentionRoom_SleepTimer = 0;
+}
+
+// Chapter 3 - Yuki Allow Leave
+function C003_MorningDetention_Yuki_AllowLeave() {
+	LeaveIcon = "Leave";
+}
+
+// Chapter 3 - Yuki Tickle
+function C003_MorningDetention_Yuki_Tickle() {
+	if (!C003_MorningDetention_Yuki_TickleDone) {
+		C003_MorningDetention_Yuki_TickleDone = true;
+		ActorChangeAttitude(-1, 1);
+	}
+}
+
+// Chapter 3 - Yuki Full Restrain
+function C003_MorningDetention_Yuki_FullRestrain() {
+	PlayerRemoveAllInventory();
+	PlayerLockInventory("Cuffs");
+	PlayerLockInventory("TapeGag");
+	C003_MorningDetention_Yuki_NoCrime();
+}
+
+// Chapter 3 - Yuki Ungag Player
+function C003_MorningDetention_Yuki_Ungag() {
+	PlayerUnlockInventory("TapeGag");
+}
\ No newline at end of file
diff --git a/C003_MorningDetention/Yuki/Stage_EN.csv b/C003_MorningDetention/Yuki/Stage_EN.csv
new file mode 100644
index 0000000000..ebc3f18a93
--- /dev/null
+++ b/C003_MorningDetention/Yuki/Stage_EN.csv
@@ -0,0 +1,68 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Yes Ma'am.|I'm sorry.,Fine.  Now will you be a good student?,10,1,-1,
+0,0,0,,"I know, I know.|No need to repeat.","Miss, you have an attitude problem.|Will you try to be a good student?",10,-1,0,
+0,0,0,,It's all Sidney's fault.,It's also your fault miss.|Now will you try to be a good student?,10,0,0,
+0,0,0,Fighting,I simply stood my|ground against Sidney.,There are no acceptable reasons to fight.|Now will you be a good student?,10,0,0,
+0,0,0,Bondage,Admit it!  You thought|it was pretty sexy.,"Young lady, this is not appropriate.|Now will you be a good student?",10,0,1,
+10,0,0,,"Yes, I won't cause|any more trouble.",Very well.  Now can you|sit quietly until detention is over?,20,0,0,
+10,0,0,,"If Sidney can|stay calm, I will.","Mmmh, alright.  Now can you|sit quietly until detention is over?",20,0,0,
+10,0,0,,A good student?  Show|me a good teacher first.,You really need some discipline miss.  Can you|at least sit quietly until detention is over?,20,-1,0,
+10,0,0,,I'll be good.  Only|because you're nice.,Very well.  Now can you|sit quietly until detention is over?,20,1,0,
+20,0,0,,Quiet for an hour?|That's impossible.,"At least try, it will go fast.  I have a few|calls to make, at least stay quiet when I do.",40,0,1,
+20,0,0,,"Yeah, I guess|I can stay quiet.",Alright.  I have a few phone|calls to make so be silent.,40,0,0,
+20,0,0,,I'll talk if and|when I want.,"We have ways to shut you up.  I have a|few calls to make, at least stay quiet when I do.",40,-1,1,
+20,0,0,,Yes Ma'am.|I'll be quiet.,Very well.  I have a few phone|calls to make so please be silent.,40,1,-1,
+30,0,0,,It's none of|your business.,"Young lady, you will give me that right now.|(She grabs your items and confiscates them.)",40,-1,0,Confiscate()
+30,0,0,,I found this|on the floor.,"Thanks young lady, that's nice of you.|(She smiles and confiscates your items.)",40,1,0,Confiscate()
+30,0,0,,It's nothing.|(Hide the item),"Mmh, alright.  I thought I saw something.|Now stay quiet, I have some calls to make.",40,0,0,
+50,0,0,Common_PlayerNotRestrained,(Try to annoy her.)|(1 minute),Young lady.  You better stop right|now or I'll have to restrain you.,50,-1,0,Annoyed()
+60,0,0,Common_PlayerRestrained,What the fuck!|You cannot cuff me.,I can do even better.  (She walks away|and returns with a strip of tape for your mouth.),60,0,0,GagPlayer()
+70,0,0,Common_PlayerGagged,@Uhmma huhme!,(She ignores you.),70,0,0,
+70,0,0,Common_PlayerGagged,(Makes pleading eyes.),(She ignores you.),70,0,0,
+100,0,0,Common_PlayerRestrained,(Search for cuff keys.)|(1 minute),Yuki doesn't seem to have any key left.,100,0,0,SearchCuffKeys()
+100,0,0,Common_PlayerNotRestrained,(Strip her.)|(1 minute),You strip her carefully so she doesn't wake up.,110,0,0,
+100,0,0,Common_PlayerNotRestrained,(Escape from detention.),,100,0,0,Escape()
+100,0,0,,(Wake her up.)|(1 minute),(You shake her pretty hard and she wakes up.)|Uuuh?  What?  What happened?,200,0,0,NoLeave()
+110,0,0,Common_PlayerNotRestrained,(Dress her.)|(1 minute),You dress her carefully so she doesn't wake up.,100,0,0,
+110,0,0,CanSearch,(Search in her stuff.)|(1 minute),You find handcuffs and keys in her stuff.,110,0,0,Search()
+110,0,0,EggReady,(Insert the egg.)|(1 minute),You slide the egg in her vagina while she moans softly.|It buzzes and goes deeper.  It will be hard to get it back.,110,0,0,Insert()
+110,0,0,EggInside,(Remove the egg.)|(1 minute),You slide a finger in to remove the egg but|cannot reach it.  She's stuck with it for now.,110,0,0,
+110,0,0,Common_PlayerNotRestrained,(Escape from detention.),,110,0,0,Escape()
+110,0,0,,(Wake her up.)|(1 minute),(You shake her pretty hard and she wakes up.)|What?  What happened?  Where are my clothes?,210,0,0,NoLeave()
+120,0,0,Common_PlayerNotRestrained,(Lay her on the table.)|(1 minute),You make her lay on the table.,130,0,0,
+120,0,0,EggReady,(Insert the egg.)|(1 minute),You slide the egg in her vagina while she moans softly.|It buzzes and goes deeper.  It will be hard to get it back.,120,0,0,Insert()
+120,0,0,EggInside,(Remove the egg.)|(1 minute),You slide a finger in to remove the egg but|cannot reach it.  She's stuck with it for now.,120,0,0,
+120,0,0,Common_PlayerNotRestrained,(Escape from detention.),,120,0,0,Escape()
+120,0,0,,(Wake her up.)|(1 minute),(You shake her pretty hard and she wakes up.)|What?  Where are my clothes?  Who cuffed me?,220,0,0,NoLeave()
+130,0,0,Common_PlayerNotRestrained,(Make her sit.)|(1 minute),You put her back in her seat.,120,0,0,
+130,0,0,EggReady,(Insert the egg.)|(1 minute),You slide the egg in her vagina while she moans softly.|It buzzes and goes deeper.  It will be hard to get it back.,130,0,0,Insert()
+130,0,0,EggInside,(Remove the egg.)|(1 minute),You slide a finger in to remove the egg but|cannot reach it.  She's stuck with it for now.,130,0,0,
+130,0,0,Common_PlayerNotRestrained,(Escape from detention.),,130,0,0,Escape()
+130,0,0,,(Wake her up.)|(1 minute),(You shake her pretty hard and she wakes up.)|What?  Where are my clothes?  Who cuffed me?,220,0,0,NoLeave()
+200,0,0,Common_PlayerGagged,@Heaheruhi!,Let me remove that tape.|So did I fell asleep?,200,0,0,Ungag()
+200,0,0,,"Yes, you fell asleep.",That's embarrassing.  I will get another|glass of water then.  Detention can continue.,250,0,0,NoCrime()
+200,0,0,,You fell asleep|so I woke you up.,"Thanks, I appreciate.  I will get another|glass of water then.  Detention can continue.",250,1,0,NoCrime()
+200,0,0,,I drugged you.,"WHAT???  (She jumps on you, pins,|cuffs and gags you with some tape.)",260,-2,1,FullRestrain()
+200,0,0,!SidneyGone,Sidney drugged you.,"Liar!  She's cuffed so you did it!  (She jumps|on you, cuffs you and gags you with some tape.)",260,-2,0,FullRestrain()
+200,0,0,SidneyGone,Sidney drugged you.,"SIDNEY!!!  (She jumps out of her chair,|leaves the room and starts to run in the hallways.)",270,1,0,NoCrime()
+210,0,0,Common_PlayerGagged,@Heaheruhi!,Let me remove that tape.|So did I fell asleep?  Where are my clothes?,210,0,0,Ungag()
+210,0,0,,You fell asleep and I|wanted to try your dress.,That's a very bad idea.  (She dresses back.)|I'll get more water and detention can continue.,250,-1,0,NoCrime()
+210,0,0,,I thought you had fever|so I removed your clothes.,That's kind of you.  (She dresses back.)|I'll get more water and detention can continue.,250,1,0,NoCrime()
+210,0,0,,I drugged and|stripped you.,"WHAT???  (She jumps on you, cuffs|and gags you and dresses back up.)",260,-2,1,FullRestrain()
+210,0,0,!SidneyGone,Sidney drugged|and stripped you.,"Liar!  She's cuffed!  (She jumps on you,|cuffs and gags you and dresses back up.)",260,-2,0,FullRestrain()
+210,0,0,SidneyGone,Sidney drugged|and stripped you.,"SIDNEY!!!  (She jumps out of her chair,|dresses back up quickly and runs out of the room.)",270,1,0,NoCrime()
+220,0,0,Common_PlayerGagged,@Heaheruhi!,Bend down so I can reach that tape.|Where are my clothes?  Why am I cuffed?,220,0,0,Ungag()
+220,0,0,,You're my bitch now.,Get me out of these cuffs right now!,230,-1,2,AllowLeave()
+220,0,0,,"I drugged, stripped|and cuffed you.",Get me out of these cuffs right now!,230,-1,1,AllowLeave()
+220,0,0,!SidneyGone,"Sidney drugged, cuffed|and stripped you.",Liar!  She's cuffed!  You did it!|Get me out of these cuffs right now!,230,-1,0,AllowLeave()
+220,0,0,SidneyGone,"Sidney drugged, cuffed|and stripped you.",Thanks!  SIDNEY!  (She jumps out of her chair|and runs cuffed out of the room without clothes.),270,1,0,NoCrime()
+230,0,0,,You look cute|like that.,You're not helping your case little miss.|Get me out of these cuffs right now.,230,0,0,
+230,0,0,,(Tickle her.)|(1 minute),Hey!!! HeheHEHEhehe!  Stop!  Stop it!|(She laughs pretty hard and blushes.),230,0,0,Tickle()
+230,0,0,,(Spank her.)|(1 minute),Ow!  Don't you dare to touch me!,230,0,0,
+230,0,0,,(Escape from detention.),,230,0,0,Escape()
+250,0,0,SidneyGone,If you want Sidney.|She went down the hall.,Thanks!  You stay here and I'll go get her.|(She jumps out and exits the room.),270,1,0,
+250,0,0,Common_PlayerRestrained,(Show her your cuffs.),Keep these cuffs for now.|I'll unlock you after detention.,250,0,0,
+250,0,0,Common_PlayerRestrained,Hey!  You can't|keep me cuffed.,I can do even better.  (She walks away|and returns with a strip of tape for your mouth.),250,0,0,GagPlayer()
+260,0,0,Common_PlayerGagged,@Uhmma huhme!,(She ignores you.),260,0,0,
+260,0,0,Common_PlayerGagged,(Makes pleading eyes.),(She ignores you.),260,0,0,
+270,0,0,,(Escape from detention.),,270,0,0,Escape()
diff --git a/C003_MorningDetention/Yuki/Stage_FR.csv b/C003_MorningDetention/Yuki/Stage_FR.csv
new file mode 100644
index 0000000000..d53da945eb
--- /dev/null
+++ b/C003_MorningDetention/Yuki/Stage_FR.csv
@@ -0,0 +1,68 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Oui M'dame.|Je suis désolée.,Bien. dorénavant tu seras une bonne étudiante ?,10,1,-1,
+0,0,0,,"Je sais, je sais.|Pas besoin de le répèter.","Mademoiselle, vous avez un mauvais comportement.|Allez-vous essayer d'être une bonne étudiante ?",10,-1,0,
+0,0,0,,Toute la faute|revient à sidney.,C'est aussi de votre faute mademoiselle.|Allez-vous essayer d'être une bonne étudiante ?,10,0,0,
+0,0,0,Fighting,Je me suis simplement|opposé à Sidney.,"Il n'y a aucune excuse valable pour se battre.|Dorénavant, seras-tu une bonne étudiante ?",10,0,0,
+0,0,0,Bondage,Admettez-le ! Vous pensiez|que c'était plutôt sexy.,"Jeune fille, ce n'est pas convenable.|Dorénavant, seras-tu une bonne étudiante ?",10,0,1,
+10,0,0,,"Oui, je ne causerai|plus aucun problème.",Très bien. Peux-tu te tenir tranquille|jusqu'à la fin de la retenue ?,20,0,0,
+10,0,0,,"Si Sidney peux rester|tranquille, je le ferai.","Mmm, bien. Peux-tu te tenir tranquille|jusqu'à la fin de la retenue ?",20,0,0,
+10,0,0,,Montrez-moi une|bonne prof avant.,Tu as vraiment besoin de plus de discipline.|Peux-tu te tenir tranquille jusqu'à la fin de la retenue ?,20,-1,0,
+10,0,0,,Oui mais seulement parce|que vous êtes aimable.,Très bien. Peux-tu te tenir tranquille|jusqu'à la fin de la retenue ?,20,1,0,
+20,0,0,,Rester tranquille une|heure ? C'est impossible.,"Au moins essaye, ça passera vite. J'ai quelques coups|de fil à passer, reste tranquille durant ces moments-là.",40,0,1,
+20,0,0,,"Ouais, je suppose.|Je peux rester tranquille.",Bien. J'ai quelques coups de fil à passer.|Reste silencieuse.,40,0,0,
+20,0,0,,Je parlerai quand|je le voudrais.,"Nous avons les moyens de te faire taire.|J'ai quelques coups de fil à passer, reste tranquille.",40,-1,1,
+20,0,0,,Oui M'dame.|Je serais sage.,Très bien. J'ai quelques coups de fil à passer.|Reste silencieuse s'il te plaît.,40,1,-1,
+30,0,0,,Ce n'est pas|vos affaires.,"Jeune fille, donne moi ça tout de suite.|(Elle saisit tes objets et les confisque.)",40,-1,0,Confiscate()
+30,0,0,,J'ai trouvé ceci|dans le couloir.,"Merci jeune fille, c'est bien aimable de ta part.|(Elle sourit et confisque tes objets.)",40,1,0,Confiscate()
+30,0,0,,Ce n'est rien.|(Tu caches l'objet),"Mmm, bien. Je pensais avoir vu quelque chose.|Reste tranquille, j'ai quelques coups de fil à passer.",40,0,0,
+50,0,0,Common_PlayerNotRestrained,(Tu essayes de la|déranger.) (1 minute),Jeune fille. Tu ferais mieux d'arrêter tout de suite|ou je devrais te menotter.,50,-1,0,Annoyed()
+60,0,0,Common_PlayerRestrained,C'est quoi ce bordel ! Vous|pouvez pas me menotter.,Je peux même faire mieux. (Elle s'en va et revient|avec un morceau de ruban adhésif pour ta bouche.),60,0,0,GagPlayer()
+70,0,0,Common_PlayerGagged,@Uhmma huhme !,(Elle t'ignore.),70,0,0,
+70,0,0,Common_PlayerGagged,(Tu lui fais les yeux doux.),(Elle t'ignore.),70,0,0,
+100,0,0,Common_PlayerRestrained,(Tu recherches la clé.)|(1 minute),Yuki ne semble pas avoir la clé.,100,0,0,SearchCuffKeys()
+100,0,0,Common_PlayerNotRestrained,(Tu la déshabilles.)|(1 minute),Tu la déshabilles prudemment pour ne pas la réveiller.,110,0,0,
+100,0,0,Common_PlayerNotRestrained,(Tu t'échappes de|la salle de retenue.),,100,0,0,Escape()
+100,0,0,,(Tu la réveilles.)|(1 minute),(Tu la secoue jusqu'à ce qu'elle se réveille.)|Hein ? Quoi ? Qu'est-ce qui s'est passé ?,200,0,0,NoLeave()
+110,0,0,Common_PlayerNotRestrained,(Tu la rhabilles.)|(1 minute),Tu la rhabilles prudemment pour ne pas la réveiller.,100,0,0,
+110,0,0,CanSearch,(Tu fouilles dans ses|affaires.) (1 minute),Tu trouves des menottes et une clé dans ses affaires.,110,0,0,Search()
+110,0,0,EggReady,(Tu insères l'oeuf.)|(1 minute),"Tu glisses l'oeuf dans son vagin, elle gémit doucement.|Il vibre et s'enfonce profondément. Difficile à récupérer.",110,0,0,Insert()
+110,0,0,EggInside,(Tu enlèves l'oeuf.)|(1 minute),Tu glisses un doigt à l'intérieur mais tu n'arrives pas à|l'attraper. Elle est coincée avec.,110,0,0,
+110,0,0,Common_PlayerNotRestrained,(Tu t'échappes de|la salle de retenue.),,110,0,0,Escape()
+110,0,0,,(Tu la réveilles.)|(1 minute),(Tu la secoue jusqu'à ce qu'elle se réveille.)|Qu'est-ce qui s'est passé ? Où sont mes vêtements ?,210,0,0,NoLeave()
+120,0,0,Common_PlayerNotRestrained,(Tu l'allonges sur la table.)|(1 minute),Tu la mets en position allongée sur the table.,130,0,0,
+120,0,0,EggReady,(Tu insères l'oeuf.)|(1 minute),"Tu glisses l'oeuf dans son vagin, elle gémit doucement.|Il vibre et s'enfonce profondément. Difficile à récupérer.",120,0,0,Insert()
+120,0,0,EggInside,(Tu enlèves l'oeuf.)|(1 minute),Tu glisses un doigt à l'intérieur mais tu n'arrives pas à|l'attraper. Elle est coincée avec.,120,0,0,
+120,0,0,Common_PlayerNotRestrained,(Tu t'échappes de|la salle de retenue.),,120,0,0,Escape()
+120,0,0,,(Tu la réveilles.)|(1 minute),(Tu la secoue jusqu'à ce qu'elle se réveille.)|Quoi ? Où sont mes vêtements ? Qui m'a menottée ?,220,0,0,NoLeave()
+130,0,0,Common_PlayerNotRestrained,(Tu la fait s'asseoir.)|(1 minute),Tu la remets sur son fauteuil.,120,0,0,
+130,0,0,EggReady,(Tu insères l'oeuf.)|(1 minute),"Tu glisses l'oeuf dans son vagin, elle gémit doucement.|Il vibre et s'enfonce profondément. Difficile à récupérer.",130,0,0,Insert()
+130,0,0,EggInside,(Tu enlèves l'oeuf.)|(1 minute),Tu glisses un doigt à l'intérieur mais tu n'arrives pas à|l'attraper. Elle est coincée avec.,130,0,0,
+130,0,0,Common_PlayerNotRestrained,(Tu t'échappes de|la salle de retenue.),,130,0,0,Escape()
+130,0,0,,(Tu la réveilles.)|(1 minute),(Tu la secoue jusqu'à ce qu'elle se réveille.)|Quoi ? Où sont mes vêtements ? Qui m'a menottée ?,220,0,0,NoLeave()
+200,0,0,Common_PlayerGagged,@Heaheruhi !,"Laisse-moi enlever ce ruban.|Alors, je me suis endormi ?",200,0,0,Ungag()
+200,0,0,,"Oui, vous, vous|êtes endormis.",C'est embarrassant. Je vais prendre|un autre verre d'eau. La retenue peut continuer.,250,0,0,NoCrime()
+200,0,0,,"Vous, vous êtes endormis.|alors je vous ai réveillé.","Merci, j'apprécie. Je vais prendre|un autre verre d'eau. La retenue peut continuer.",250,1,0,NoCrime()
+200,0,0,,Je vous ai drogué.,"QUOI ??? (Elle te saute dessus, te maîtrise,|te menotte et te bâillone avec du ruban adhésif.)",260,-2,1,FullRestrain()
+200,0,0,!SidneyGone,Sidney vous a drogué.,"Menteuse ! Elle est menottée donc c'est toi qui l'a fait !|(Elle te saute dessus, te menotte et te bâillone.)",260,-2,0,FullRestrain()
+200,0,0,SidneyGone,Sidney vous a drogué.,"SIDNEY !!! (Elle saute de sa chaise, quitte la pièce|et commence à courir dans les couloirs.)",270,1,0,NoCrime()
+210,0,0,Common_PlayerGagged,@Heaheruhi !,"Laisse-moi enlever ce ruban.|Alors, je me suis endormi ? Où sont mes vêtements ?",210,0,0,Ungag()
+210,0,0,,"Vous, vous êtes endormis.|Votre tenue m'attirait...",C'était une très mauvaise idée. (Elle se rhabille.)|Je vais me rafraîchir et la retenue continuera.,250,-1,0,NoCrime()
+210,0,0,,Je pensais que vous aviez|de la fièvre alors...,C'est une bonne attention. (Elle se rhabille.)|Je vais me rafraîchir et la retenue continuera.,250,1,0,NoCrime()
+210,0,0,,Je vous ai drogué|et déshabillé.,"QUOI ??? (Elle te saute dessus, te menotte|et te bâillonne puis elle se rhabille.)",260,-2,1,FullRestrain()
+210,0,0,!SidneyGone,Sidney vous a drogué|et déshabillé.,"Menteuse ! Elle est menottée ! (Elle te saute dessus,|te menotte et te bâillonne puis elle se rhabille.)",260,-2,0,FullRestrain()
+210,0,0,SidneyGone,Sidney vous a drogué|et déshabillé.,"SIDNEY !!! (Elle saute de sa chaise,|se rhabille rapidement et court vers la sortie.)",270,1,0,NoCrime()
+220,0,0,Common_PlayerGagged,@Heaheruhi !,"Penche-toi, que je puisse atteindre le ruban.|Où sont mes vêtements ? Pourquoi suis-je menottée ?",220,0,0,Ungag()
+220,0,0,,T'es ma salope|maintenant.,Retire-moi ces menottes maintenant !,230,-1,2,AllowLeave()
+220,0,0,,"Je vous ai drogué,|déshabillé et menotté.",Retire-moi ces menottes maintenant !,230,-1,1,AllowLeave()
+220,0,0,!SidneyGone,"Sidney vous a drogué,|déshabillé et menotté.",Menteuse ! Elle est menottée ! Tu l'a fais !|Retire-moi ces menottes maintenant !,230,-1,0,AllowLeave()
+220,0,0,SidneyGone,"Sidney vous a drogué,|déshabillé et menotté.",Merci ! SIDNEY ! (Elle saute de sa chaise|et court menottée en sous-vêtements vers la sortie.),270,1,0,NoCrime()
+230,0,0,,Vous avez l'air|mignonne comme ça.,Vous n'arrangez pas votre cas mademoiselle.|Retire-moi ces menottes maintenant !,230,0,0,
+230,0,0,,(Tu la chatouilles.)|(1 minute),Hé !!! HahaHAHAhahA ! Arrête ! Arrête ça !|(Elle rit à gorge déployée et rougit.),230,0,0,Tickle()
+230,0,0,,(Tu lui mets une fessée.)|(1 minute),Ouille ! Tu n'as pas intérêt à me retoucher !,230,0,0,
+230,0,0,,(Tu t'échappes de|la salle de retenue.),,230,0,0,Escape()
+250,0,0,SidneyGone,Si vous cherchez Sidney.|Elle est dans le couloir.,Merci ! Tu restes ici et je vais aller la chercher.|(Elle se presse et sort de la pièce.),270,1,0,
+250,0,0,Common_PlayerRestrained,(Tu lui montres|tes menottes.),Tu les garderas pour l'instant.|Je te libèrerai après la retenue.,250,0,0,
+250,0,0,Common_PlayerRestrained,Hé ! Vous ne pouvez pas|me garder menottée.,Je peux même faire mieux. (Elle s'en va et revient|avec un morceau de ruban adhésif pour ta bouche.),250,0,0,GagPlayer()
+260,0,0,Common_PlayerGagged,@Uhmma huhme !,(Elle t'ignore.),260,0,0,
+260,0,0,Common_PlayerGagged,(Tu lui fais les yeux doux.),(Elle t'ignore.),260,0,0,
+270,0,0,,(Tu t'échappes de|la salle de retenue.),,270,0,0,Escape()
diff --git a/C003_MorningDetention/Yuki/Text_EN.csv b/C003_MorningDetention/Yuki/Text_EN.csv
new file mode 100644
index 0000000000..6ad42dc0e1
--- /dev/null
+++ b/C003_MorningDetention/Yuki/Text_EN.csv
@@ -0,0 +1,7 @@
+Tag,Content
+Cuffs,You carefully snaps the cuffs on teacher Yuki.
+Unlock,You unlock the cuffs on teacher Yuki.
+UnlockTurnTables,"(Once unlocked, she quickly cuffs and|gags you before dressing back up.)"
+VibratingEggReady,(You get the egg and look at Yuki with a grin.)
+FindKey,(It's not an easy task but|you manage to find a key on Yuki.)
+Annoyed,I've had enough!  (She pins you down|and cuffs your wrists behind your back.)
diff --git a/C003_MorningDetention/Yuki/Text_FR.csv b/C003_MorningDetention/Yuki/Text_FR.csv
new file mode 100644
index 0000000000..24ae4806b3
--- /dev/null
+++ b/C003_MorningDetention/Yuki/Text_FR.csv
@@ -0,0 +1,7 @@
+Tag,Content
+Cuffs,Tu mets prudemment les menottes| sur le professeur Yuki.
+Unlock,Tu enlèves les menottes sur le professeur Yuki.
+UnlockTurnTables,"(Une fois libérée, elle te menotte rapidement|se rhabille et te bâillone.)"
+VibratingEggReady,(Tu sors l'oeuf et regardes Yuki avec un sourire.)
+FindKey,(Ce n'est pas facile mais tu parviens|à trouver la clé sur Yuki.)
+Annoyed,C'en est assez ! (elle te cloue sur place|et te menotte les poignets derrière le dos.)
diff --git a/C003_MorningDetention/Yuki/YukiAwakeCuffs.jpg b/C003_MorningDetention/Yuki/YukiAwakeCuffs.jpg
new file mode 100644
index 0000000000..36e8949c7d
Binary files /dev/null and b/C003_MorningDetention/Yuki/YukiAwakeCuffs.jpg differ
diff --git a/C003_MorningDetention/Yuki/YukiCuffs.jpg b/C003_MorningDetention/Yuki/YukiCuffs.jpg
new file mode 100644
index 0000000000..5212e3523f
Binary files /dev/null and b/C003_MorningDetention/Yuki/YukiCuffs.jpg differ
diff --git a/C003_MorningDetention/Yuki/YukiFace.jpg b/C003_MorningDetention/Yuki/YukiFace.jpg
new file mode 100644
index 0000000000..40d5b4b427
Binary files /dev/null and b/C003_MorningDetention/Yuki/YukiFace.jpg differ
diff --git a/C003_MorningDetention/Yuki/YukiGone.jpg b/C003_MorningDetention/Yuki/YukiGone.jpg
new file mode 100644
index 0000000000..93e2f04485
Binary files /dev/null and b/C003_MorningDetention/Yuki/YukiGone.jpg differ
diff --git a/C003_MorningDetention/Yuki/YukiLay.jpg b/C003_MorningDetention/Yuki/YukiLay.jpg
new file mode 100644
index 0000000000..7e7836db8f
Binary files /dev/null and b/C003_MorningDetention/Yuki/YukiLay.jpg differ
diff --git a/C003_MorningDetention/Yuki/YukiSleep.jpg b/C003_MorningDetention/Yuki/YukiSleep.jpg
new file mode 100644
index 0000000000..cda3dbdad4
Binary files /dev/null and b/C003_MorningDetention/Yuki/YukiSleep.jpg differ
diff --git a/C003_MorningDetention/Yuki/YukiSleepy.jpg b/C003_MorningDetention/Yuki/YukiSleepy.jpg
new file mode 100644
index 0000000000..8080c30916
Binary files /dev/null and b/C003_MorningDetention/Yuki/YukiSleepy.jpg differ
diff --git a/C003_MorningDetention/Yuki/YukiSleepyStrip.jpg b/C003_MorningDetention/Yuki/YukiSleepyStrip.jpg
new file mode 100644
index 0000000000..b4ce699494
Binary files /dev/null and b/C003_MorningDetention/Yuki/YukiSleepyStrip.jpg differ
diff --git a/C003_MorningDetention/Yuki/YukiStrip.jpg b/C003_MorningDetention/Yuki/YukiStrip.jpg
new file mode 100644
index 0000000000..d8a69a30d0
Binary files /dev/null and b/C003_MorningDetention/Yuki/YukiStrip.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Jennifer.jpg b/C004_ArtClass/ArtRoom/Jennifer.jpg
new file mode 100644
index 0000000000..54c2de283d
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Jennifer.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Jennifer_0_Extra.jpg b/C004_ArtClass/ArtRoom/Jennifer_0_Extra.jpg
new file mode 100644
index 0000000000..01ec36ab6b
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Jennifer_0_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Jennifer_1_Extra.jpg b/C004_ArtClass/ArtRoom/Jennifer_1_Extra.jpg
new file mode 100644
index 0000000000..0c9461512b
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Jennifer_1_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Jennifer_2_Extra.jpg b/C004_ArtClass/ArtRoom/Jennifer_2_Extra.jpg
new file mode 100644
index 0000000000..71719185da
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Jennifer_2_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Jennifer_3_Extra.jpg b/C004_ArtClass/ArtRoom/Jennifer_3_Extra.jpg
new file mode 100644
index 0000000000..3a03600365
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Jennifer_3_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Jennifer_4_Extra.jpg b/C004_ArtClass/ArtRoom/Jennifer_4_Extra.jpg
new file mode 100644
index 0000000000..c5baf57958
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Jennifer_4_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Jennifer_5_Extra.jpg b/C004_ArtClass/ArtRoom/Jennifer_5_Extra.jpg
new file mode 100644
index 0000000000..c4a009551f
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Jennifer_5_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Jennifer_Empty.jpg b/C004_ArtClass/ArtRoom/Jennifer_Empty.jpg
new file mode 100644
index 0000000000..bbe222e163
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Jennifer_Empty.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Julia_3.jpg b/C004_ArtClass/ArtRoom/Julia_3.jpg
new file mode 100644
index 0000000000..7a47ef732f
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Julia_3.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Julia_4.jpg b/C004_ArtClass/ArtRoom/Julia_4.jpg
new file mode 100644
index 0000000000..7a47ef732f
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Julia_4.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Julia_5.jpg b/C004_ArtClass/ArtRoom/Julia_5.jpg
new file mode 100644
index 0000000000..e0e999355b
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Julia_5.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Julia_6.jpg b/C004_ArtClass/ArtRoom/Julia_6.jpg
new file mode 100644
index 0000000000..334b643585
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Julia_6.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Julia_7.jpg b/C004_ArtClass/ArtRoom/Julia_7.jpg
new file mode 100644
index 0000000000..ac86cd6df9
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Julia_7.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Julia_DoublePose.jpg b/C004_ArtClass/ArtRoom/Julia_DoublePose.jpg
new file mode 100644
index 0000000000..29902c86bb
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Julia_DoublePose.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Julia_DoublePoseNaked.jpg b/C004_ArtClass/ArtRoom/Julia_DoublePoseNaked.jpg
new file mode 100644
index 0000000000..ce63456981
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Julia_DoublePoseNaked.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Julia_DoublePoseNoTop.jpg b/C004_ArtClass/ArtRoom/Julia_DoublePoseNoTop.jpg
new file mode 100644
index 0000000000..447b3e4450
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Julia_DoublePoseNoTop.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Player_Extra.jpg b/C004_ArtClass/ArtRoom/Player_Extra.jpg
new file mode 100644
index 0000000000..f8d8e1416e
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Player_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Player_Naked_Extra.jpg b/C004_ArtClass/ArtRoom/Player_Naked_Extra.jpg
new file mode 100644
index 0000000000..0fac1a144b
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Player_Naked_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Player_Rope_BallGag_Extra.jpg b/C004_ArtClass/ArtRoom/Player_Rope_BallGag_Extra.jpg
new file mode 100644
index 0000000000..d2981f025e
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Player_Rope_BallGag_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Player_Rope_Extra.jpg b/C004_ArtClass/ArtRoom/Player_Rope_Extra.jpg
new file mode 100644
index 0000000000..e8f762dde6
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Player_Rope_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Player_Rope_TapeGag_Extra.jpg b/C004_ArtClass/ArtRoom/Player_Rope_TapeGag_Extra.jpg
new file mode 100644
index 0000000000..7a5443a501
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Player_Rope_TapeGag_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Player_Underwear_Extra.jpg b/C004_ArtClass/ArtRoom/Player_Underwear_Extra.jpg
new file mode 100644
index 0000000000..7f5769f5f8
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Player_Underwear_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Sarah.jpg b/C004_ArtClass/ArtRoom/Sarah.jpg
new file mode 100644
index 0000000000..1f2fde1711
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Sarah.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Sarah_0_Extra.jpg b/C004_ArtClass/ArtRoom/Sarah_0_Extra.jpg
new file mode 100644
index 0000000000..03c9072f84
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Sarah_0_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Sarah_1_Extra.jpg b/C004_ArtClass/ArtRoom/Sarah_1_Extra.jpg
new file mode 100644
index 0000000000..7368595a3b
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Sarah_1_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Sarah_2_Extra.jpg b/C004_ArtClass/ArtRoom/Sarah_2_Extra.jpg
new file mode 100644
index 0000000000..1b903b4c82
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Sarah_2_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Sarah_3_Extra.jpg b/C004_ArtClass/ArtRoom/Sarah_3_Extra.jpg
new file mode 100644
index 0000000000..311c7465a7
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Sarah_3_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Sarah_4_Extra.jpg b/C004_ArtClass/ArtRoom/Sarah_4_Extra.jpg
new file mode 100644
index 0000000000..8fec096005
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Sarah_4_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Sarah_5_Extra.jpg b/C004_ArtClass/ArtRoom/Sarah_5_Extra.jpg
new file mode 100644
index 0000000000..eb7cc82d8e
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Sarah_5_Extra.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Sarah_Empty.jpg b/C004_ArtClass/ArtRoom/Sarah_Empty.jpg
new file mode 100644
index 0000000000..311f37f073
Binary files /dev/null and b/C004_ArtClass/ArtRoom/Sarah_Empty.jpg differ
diff --git a/C004_ArtClass/ArtRoom/Script.js b/C004_ArtClass/ArtRoom/Script.js
new file mode 100644
index 0000000000..e3f435ef4e
--- /dev/null
+++ b/C004_ArtClass/ArtRoom/Script.js
@@ -0,0 +1,66 @@
+var C004_ArtClass_ArtRoom_Jennifer = "";
+var C004_ArtClass_ArtRoom_Julia = "";
+var C004_ArtClass_ArtRoom_Sarah = "";
+var C004_ArtClass_ArtRoom_ExtraModel = "";
+var C004_ArtClass_ArtRoom_ExtraModelImage = "";
+var C004_ArtClass_ArtRoom_JuliaStage = 0;
+var C004_ArtClass_ArtRoom_JenniferStage = 0;
+var C004_ArtClass_ArtRoom_SarahStage = 0;
+
+// Chapter 4 - ArtRoom Load
+function C004_ArtClass_ArtRoom_Load() {
+	
+	// Get the image file for each girls
+	LeaveIcon = "Wait";
+	C004_ArtClass_ArtRoom_Jennifer = "Jennifer";
+	C004_ArtClass_ArtRoom_Julia = "Julia_" + C004_ArtClass_ArtRoom_JuliaStage.toString();
+	C004_ArtClass_ArtRoom_Sarah = "Sarah";
+
+	// Define Julia picture
+	if ((C004_ArtClass_ArtRoom_ExtraModel == "") && (C004_ArtClass_ArtRoom_JuliaStage <= 1)) C004_ArtClass_ArtRoom_Julia = "Julia_DoublePose";
+	if ((C004_ArtClass_ArtRoom_ExtraModel == "") && (C004_ArtClass_ArtRoom_JuliaStage == 2)) C004_ArtClass_ArtRoom_Julia = "Julia_DoublePoseNoTop";
+	if ((C004_ArtClass_ArtRoom_ExtraModel == "") && (C004_ArtClass_ArtRoom_JuliaStage >= 3)) C004_ArtClass_ArtRoom_Julia = "Julia_DoublePoseNaked";
+	
+	// Define the extra model picture
+	if (C004_ArtClass_ArtRoom_ExtraModel == "Sarah") C004_ArtClass_ArtRoom_Sarah = "Sarah_Empty";
+	if (C004_ArtClass_ArtRoom_ExtraModel == "Jennifer") C004_ArtClass_ArtRoom_Jennifer = "Jennifer_Empty";
+	C004_ArtClass_ArtRoom_ExtraModelImage = C004_ArtClass_ArtRoom_ExtraModel;
+	if ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && (Common_PlayerUnderwear)) C004_ArtClass_ArtRoom_ExtraModelImage = "Player_Underwear";
+	if ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && (Common_PlayerNaked)) C004_ArtClass_ArtRoom_ExtraModelImage = "Player_Naked";
+	if ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && (PlayerHasLockedInventory("Rope"))) C004_ArtClass_ArtRoom_ExtraModelImage = "Player_Rope";
+	if ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && (PlayerHasLockedInventory("Rope")) && (PlayerHasLockedInventory("BallGag"))) C004_ArtClass_ArtRoom_ExtraModelImage = "Player_Rope_BallGag";
+	if ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && (PlayerHasLockedInventory("Rope")) && (PlayerHasLockedInventory("TapeGag"))) C004_ArtClass_ArtRoom_ExtraModelImage = "Player_Rope_TapeGag";
+	if (C004_ArtClass_ArtRoom_ExtraModel == "Jennifer") C004_ArtClass_ArtRoom_ExtraModelImage = C004_ArtClass_ArtRoom_ExtraModelImage + "_" + C004_ArtClass_ArtRoom_JenniferStage.toString();
+	if (C004_ArtClass_ArtRoom_ExtraModel == "Sarah") C004_ArtClass_ArtRoom_ExtraModelImage = C004_ArtClass_ArtRoom_ExtraModelImage + "_" + C004_ArtClass_ArtRoom_SarahStage.toString();
+
+}
+
+// Chapter 4 - ArtRoom Run
+function C004_ArtClass_ArtRoom_Run() {
+
+	// Draw the background image and the wait button on the bottom right of the image
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/" + C004_ArtClass_ArtRoom_Jennifer + ".jpg", 0, 0);
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/" + C004_ArtClass_ArtRoom_Julia + ".jpg", 300, 0);
+	if (C004_ArtClass_ArtRoom_ExtraModel != "") DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/" + C004_ArtClass_ArtRoom_ExtraModelImage + "_Extra.jpg", 600, 0);
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/" + C004_ArtClass_ArtRoom_Sarah + ".jpg", 900, 0);
+	
+}
+
+// Chapter 4 - ArtRoom Click
+function C004_ArtClass_ArtRoom_Click() {
+
+	// When the user clicks on any character (screen is divided in 4, 3rd can be the player)
+	if ((MouseX >= 30) && (MouseX <= 270) && (MouseY >= 10) && (MouseY <= 590) && (C004_ArtClass_ArtRoom_ExtraModel != "Jennifer")) SetScene(CurrentChapter, "Jennifer");
+	if ((MouseX >= 350) && (MouseX <= 850) && (MouseY >= 10) && (MouseY <= 590) && (C004_ArtClass_ArtRoom_ExtraModel == "")) SetScene(CurrentChapter, "Julia");
+	if ((MouseX >= 330) && (MouseX <= 570) && (MouseY >= 10) && (MouseY <= 590) && (C004_ArtClass_ArtRoom_ExtraModel != "")) SetScene(CurrentChapter, "Julia");
+	if ((MouseX >= 630) && (MouseX <= 850) && (MouseY >= 10) && (MouseY <= 590) && (C004_ArtClass_ArtRoom_ExtraModel == "Sarah")) SetScene(CurrentChapter, "Sarah");
+	if ((MouseX >= 630) && (MouseX <= 850) && (MouseY >= 10) && (MouseY <= 590) && (C004_ArtClass_ArtRoom_ExtraModel == "Jennifer")) SetScene(CurrentChapter, "Jennifer");
+	if ((MouseX >= 630) && (MouseX <= 850) && (MouseY >= 10) && (MouseY <= 590) && (C004_ArtClass_ArtRoom_ExtraModel == "Player")) InventoryCommonScene("Player", CurrentChapter, "ArtRoom");
+	if ((MouseX >= 930) && (MouseX <= 1170) && (MouseY >= 10) && (MouseY <= 590) && (C004_ArtClass_ArtRoom_ExtraModel != "Sarah")) SetScene(CurrentChapter, "Sarah");
+	if ((MouseX >= 850) && (MouseX <= 930) && (MouseY >= 260) && (MouseY <= 360)) SetScene(CurrentChapter, "HiddenEgg");
+
+	// Checks if the user clicks on any regular item, no inventory is allowed if the player is modelling
+	InventoryClick(GetClickedInventory(), "C004_ArtClass", "ArtRoom");
+
+}
\ No newline at end of file
diff --git a/C004_ArtClass/HiddenEgg/HiddenEgg.jpg b/C004_ArtClass/HiddenEgg/HiddenEgg.jpg
new file mode 100644
index 0000000000..d20761c4b8
Binary files /dev/null and b/C004_ArtClass/HiddenEgg/HiddenEgg.jpg differ
diff --git a/C004_ArtClass/HiddenEgg/Intro_EN.csv b/C004_ArtClass/HiddenEgg/Intro_EN.csv
new file mode 100644
index 0000000000..026b07a9f6
--- /dev/null
+++ b/C004_ArtClass/HiddenEgg/Intro_EN.csv
@@ -0,0 +1,4 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,Common_PlayerNotRestrained,There seems to be a pink object|hidden behind the red paint can.,HiddenEgg.jpg
+0,0,0,Common_PlayerRestrained,There's a pink object hidden behind the red|paint can but you can't reach it while restrained.,HiddenEgg.jpg
+10,0,0,,There's nothing interesting left here.,NoEgg.jpg
diff --git a/C004_ArtClass/HiddenEgg/NoEgg.jpg b/C004_ArtClass/HiddenEgg/NoEgg.jpg
new file mode 100644
index 0000000000..d978df509e
Binary files /dev/null and b/C004_ArtClass/HiddenEgg/NoEgg.jpg differ
diff --git a/C004_ArtClass/HiddenEgg/Script.js b/C004_ArtClass/HiddenEgg/Script.js
new file mode 100644
index 0000000000..d5aa07ba18
--- /dev/null
+++ b/C004_ArtClass/HiddenEgg/Script.js
@@ -0,0 +1,23 @@
+var C004_ArtClass_HiddenEgg_CurrentStage = 0;
+
+// Chapter 4 - Hidden Egg Load
+function C004_ArtClass_HiddenEgg_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "ArtRoom";
+	LoadInteractions();		
+}
+
+// Chapter 4 - Hidden Egg Run
+function C004_ArtClass_HiddenEgg_Run() {
+	BuildInteraction(C004_ArtClass_HiddenEgg_CurrentStage);
+}
+
+// Chapter 4 - Bag Click
+function C004_ArtClass_HiddenEgg_Click() {
+	ClickInteraction(C004_ArtClass_HiddenEgg_CurrentStage);
+}
+
+// Chapter 4 - Bag Take Egg
+function C004_ArtClass_HiddenEgg_TakeEgg() {	
+	PlayerAddInventory("VibratingEgg", 1);
+}
\ No newline at end of file
diff --git a/C004_ArtClass/HiddenEgg/Stage_EN.csv b/C004_ArtClass/HiddenEgg/Stage_EN.csv
new file mode 100644
index 0000000000..9ddd7a7778
--- /dev/null
+++ b/C004_ArtClass/HiddenEgg/Stage_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,Common_PlayerNotRestrained,(Take it.),You make sure nobody is|watching and take the pink object.,10,0,0,TakeEgg()
diff --git a/C004_ArtClass/HiddenEgg/Text_EN.csv b/C004_ArtClass/HiddenEgg/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C004_ArtClass/HiddenEgg/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C004_ArtClass/Intro/Background.jpg b/C004_ArtClass/Intro/Background.jpg
new file mode 100644
index 0000000000..d6b44a64bf
Binary files /dev/null and b/C004_ArtClass/Intro/Background.jpg differ
diff --git a/C004_ArtClass/Intro/Script.js b/C004_ArtClass/Intro/Script.js
new file mode 100644
index 0000000000..71b77a1463
--- /dev/null
+++ b/C004_ArtClass/Intro/Script.js
@@ -0,0 +1,34 @@
+// Chapter 4 - Intro Load
+function C004_ArtClass_Intro_Load() {
+
+	// Time is always 9:15 on the intro, no timer
+	StopTimer(9.25 * 60 * 60 * 1000);
+	
+	// Do not allow bondage when we begin
+	Common_BondageAllowed = false;
+	Common_SelfBondageAllowed = false;
+
+}
+
+// Chapter 4 - Intro Run
+function C004_ArtClass_Intro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
+
+	// Write the chapter introduction
+	DrawText(ctx, GetText("Intro1"), 600, 100, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 600, 200, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 600, 300, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 600, 400, "White");
+	if (TextPhase >= 4) DrawText(ctx, GetText("Intro5"), 600, 500, "White");
+
+}
+
+// Chapter 4 - Intro Click
+function C004_ArtClass_Intro_Click() {
+	TextPhase++;
+	if (TextPhase >= 5)
+		SetScene(CurrentChapter, "Julia");
+}
\ No newline at end of file
diff --git a/C004_ArtClass/Intro/Text_EN.csv b/C004_ArtClass/Intro/Text_EN.csv
new file mode 100644
index 0000000000..2b4d4c74e6
--- /dev/null
+++ b/C004_ArtClass/Intro/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,Chapter 4 - Art Class (Click to continue)
+Intro2,"The second class is art, from 9:15 to 10:15."
+Intro3,You enter a room full of canvas and paint.
+Intro4,You take a seat in front of a blank canvas.
+Intro5,A colorful woman sees you and open her arms.
diff --git a/C004_ArtClass/Jennifer/Intro_EN.csv b/C004_ArtClass/Jennifer/Intro_EN.csv
new file mode 100644
index 0000000000..92867d345f
--- /dev/null
+++ b/C004_ArtClass/Jennifer/Intro_EN.csv
@@ -0,0 +1,22 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Welcome to the art class.|You're a new student here?,Jennifer.jpg
+10,0,0,,"I'm Jennifer, nice to meet you.",Jennifer.jpg
+20,0,0,,"Art class is fine, but I prefer sports.",Jennifer.jpg
+30,0,0,,Is there anything you want?,Jennifer.jpg
+40,0,0,,"So tell me, what do you have in mind?",Jennifer.jpg
+50,0,0,,So you want to see the teacher undress?|(You need 2 love or submission to convince her.),Jennifer.jpg
+60,0,0,,"Tell her of Sandro Botticelli ""The Birth of Venus"".|It might convince her to remove her dress.",Jennifer.jpg
+60,0,0,JuliaStrip,It worked!  That's pretty amazing.,Jennifer.jpg
+70,0,0,,I didn't knew that Julia was so daring.,Jennifer.jpg
+80,0,0,,Two models!  I didn't expect that.,Jennifer.jpg
+80,0,0,Common_PlayerGagged,Why are you gagged?,Jennifer.jpg
+80,0,0,Common_PlayerRestrained,Aren't you humiliated?,Jennifer.jpg
+100,0,0,,I'm not very comfortable posing.|(You need +1 submission to strip her.),JenniferPose.jpg
+110,0,0,,I'm not very comfortable posing.|(You need +2 submission to get her naked.),JenniferUnderwear.jpg
+120,0,0,,This is kind of humiliating.|(You need +3 submission to tie her up.),JenniferNaked.jpg
+130,0,0,,This is very humiliating.|(She doesn't seem to be having fun.),JenniferRope.jpg
+130,0,0,EggInside,Can you please remove this pink thing?|(She trembles randomly from the egg.),JenniferRope.jpg
+140,0,0,,Mhu nugin hm!  (She doesn't seem to|enjoy being tied up in front of the class.),JenniferRopeBallGag.jpg
+140,0,0,EggInside,(She sweats and trembles randomly from the egg.|She doesn't enjoy being tied up in front of the class.),JenniferRopeBallGag.jpg
+150,0,0,,Mhu nugin hm!  (She doesn't seem to|enjoy being tied up in front of the class.),JenniferRopeTapeGag.jpg
+150,0,0,EggInside,(She sweats and trembles randomly from the egg.|She doesn't enjoy being tied up in front of the class.),JenniferRopeTapeGag.jpg
diff --git a/C004_ArtClass/Jennifer/Jennifer.jpg b/C004_ArtClass/Jennifer/Jennifer.jpg
new file mode 100644
index 0000000000..5c89004e4b
Binary files /dev/null and b/C004_ArtClass/Jennifer/Jennifer.jpg differ
diff --git a/C004_ArtClass/Jennifer/JenniferNaked.jpg b/C004_ArtClass/Jennifer/JenniferNaked.jpg
new file mode 100644
index 0000000000..6931dae5e6
Binary files /dev/null and b/C004_ArtClass/Jennifer/JenniferNaked.jpg differ
diff --git a/C004_ArtClass/Jennifer/JenniferPose.jpg b/C004_ArtClass/Jennifer/JenniferPose.jpg
new file mode 100644
index 0000000000..fe68f545bc
Binary files /dev/null and b/C004_ArtClass/Jennifer/JenniferPose.jpg differ
diff --git a/C004_ArtClass/Jennifer/JenniferRope.jpg b/C004_ArtClass/Jennifer/JenniferRope.jpg
new file mode 100644
index 0000000000..1f0159d652
Binary files /dev/null and b/C004_ArtClass/Jennifer/JenniferRope.jpg differ
diff --git a/C004_ArtClass/Jennifer/JenniferRopeBallGag.jpg b/C004_ArtClass/Jennifer/JenniferRopeBallGag.jpg
new file mode 100644
index 0000000000..ed4bb1f645
Binary files /dev/null and b/C004_ArtClass/Jennifer/JenniferRopeBallGag.jpg differ
diff --git a/C004_ArtClass/Jennifer/JenniferRopeTapeGag.jpg b/C004_ArtClass/Jennifer/JenniferRopeTapeGag.jpg
new file mode 100644
index 0000000000..302c735cb4
Binary files /dev/null and b/C004_ArtClass/Jennifer/JenniferRopeTapeGag.jpg differ
diff --git a/C004_ArtClass/Jennifer/JenniferUnderwear.jpg b/C004_ArtClass/Jennifer/JenniferUnderwear.jpg
new file mode 100644
index 0000000000..c102fb13c6
Binary files /dev/null and b/C004_ArtClass/Jennifer/JenniferUnderwear.jpg differ
diff --git a/C004_ArtClass/Jennifer/Script.js b/C004_ArtClass/Jennifer/Script.js
new file mode 100644
index 0000000000..b6b1710e35
--- /dev/null
+++ b/C004_ArtClass/Jennifer/Script.js
@@ -0,0 +1,223 @@
+var C004_ArtClass_Jennifer_CurrentStage = 0;
+var C004_ArtClass_Jennifer_JuliaStrip = false;
+var C004_ArtClass_Jennifer_UnderwearDone = false;
+var C004_ArtClass_Jennifer_NakedDone = false;
+var C004_ArtClass_Jennifer_RopeDone = false;
+var C004_ArtClass_Jennifer_GagDone = false;
+var C004_ArtClass_Jennifer_KissReady = true;
+var C004_ArtClass_Jennifer_TightenDone = false;
+var C004_ArtClass_Jennifer_TickleDone = false;
+var C004_ArtClass_Jennifer_CropDone = false;
+var C004_ArtClass_Jennifer_TrustCommentDone = false;
+var C004_ArtClass_Jennifer_EggCommentDone = false;
+var C004_ArtClass_Jennifer_CanBegForRelease = false;
+var C004_ArtClass_Jennifer_PityDone = false;
+var C004_ArtClass_Jennifer_EggConfirm = false;
+var C004_ArtClass_Jennifer_EggInside = false;
+
+// Chapter 4 - Jennifer Load
+function C004_ArtClass_Jennifer_Load() {
+
+	// Load the scene parameters	
+	ActorLoad("Jennifer", "ArtRoom");
+	LoadInteractions();
+	C004_ArtClass_Jennifer_EggConfirm = false;
+	C004_ArtClass_Jennifer_JuliaStrip = (C004_ArtClass_ArtRoom_JuliaStage >= 2);
+	
+	// Jumps to the correct stage
+	if ((C004_ArtClass_ArtRoom_ExtraModel == "Jennifer") && (C004_ArtClass_Jennifer_CurrentStage < 100)) C004_ArtClass_Jennifer_CurrentStage = 100;
+	if ((C004_ArtClass_ArtRoom_ExtraModel != "") && (C004_ArtClass_ArtRoom_ExtraModel != "Jennifer")) C004_ArtClass_Jennifer_CurrentStage = 80;
+
+	// If we allow the player to beg to be released
+	C004_ArtClass_Jennifer_CanBegForRelease = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_PlayerRestrained && Common_PlayerNotGagged);
+	
+}
+
+// Chapter 4 - Jennifer Run
+function C004_ArtClass_Jennifer_Run() {
+	BuildInteraction(C004_ArtClass_Jennifer_CurrentStage);
+}
+
+// Chapter 4 - Jennifer Click
+function C004_ArtClass_Jennifer_Click() {
+
+	// Regular interactions
+	ClickInteraction(C004_ArtClass_Jennifer_CurrentStage);
+	var ClickInv = GetClickedInventory();
+
+	// When the user wants to use any item and bondage isn't allowed
+	if (!Common_BondageAllowed && ((ClickInv == "Rope") || (ClickInv == "BallGag") || (ClickInv == "TapeGag") || (ClickInv == "Crop") || (ClickInv == "Cuffs") || (ClickInv == "VibratingEgg")) && Common_PlayerNotRestrained)
+		OverridenIntroText = GetText("NoBondage");
+
+	// The player can convince Jennifer to help with a crop
+	if (!Common_BondageAllowed && (C004_ArtClass_Jennifer_CurrentStage == 50) && (ClickInv == "Crop") && Common_PlayerNotRestrained) {
+		C004_ArtClass_Jennifer_SandroComment();
+		OverridenIntroText = GetText("CropForInfo");
+		ActorChangeAttitude(-1, 1);
+		C004_ArtClass_Jennifer_CurrentStage = 60;
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the rope
+	if (Common_BondageAllowed && (C004_ArtClass_Jennifer_CurrentStage >= 120) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
+		if (ActorGetValue(ActorSubmission) < 3) {
+			OverridenIntroText = GetText("RefuseBondage");
+		} else {
+			OverridenIntroText = GetText("Bondage");
+			C004_ArtClass_Jennifer_CurrentStage = 130;
+			C004_ArtClass_ArtRoom_JenniferStage = 3;
+			ActorAddInventory("Rope");
+			PlayerRemoveInventory("Rope", 1);
+			CurrentTime = CurrentTime + 60000;
+		}
+	}
+	
+	// When the user wants to use a gag without tying her
+	if (Common_BondageAllowed && ((ClickInv == "BallGag") || (ClickInv == "TapeGag")) && !ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && !ActorHasInventory("TapeGag") && Common_PlayerNotRestrained)
+		OverridenIntroText = GetText("NoGag");
+		
+	// When the user wants to use a BallGag	
+	if (Common_BondageAllowed && (ClickInv == "BallGag") && ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("BallGag");
+		C004_ArtClass_Jennifer_CurrentStage = 140;
+		C004_ArtClass_Jennifer_Ungag();
+		C004_ArtClass_ArtRoom_JenniferStage = 4;
+		ActorAddInventory("BallGag");
+		PlayerRemoveInventory("BallGag", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use a tape gag
+	if (Common_BondageAllowed && (ClickInv == "TapeGag") && ActorHasInventory("Rope") && !ActorHasInventory("TapeGag") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("TapeGag");
+		C004_ArtClass_Jennifer_CurrentStage = 150;
+		C004_ArtClass_Jennifer_Ungag();
+		C004_ArtClass_ArtRoom_JenniferStage = 5;
+		ActorAddInventory("TapeGag");
+		PlayerRemoveInventory("TapeGag", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the crop
+	if (Common_BondageAllowed && (ClickInv == "Crop") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("Crop");
+		if (C004_ArtClass_Jennifer_CropDone == false) { C004_ArtClass_Jennifer_CropDone = true; ActorChangeAttitude(-1, 1); }
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the vibrating egg on Jennifer
+	if (Common_BondageAllowed && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {		
+		if (C004_ArtClass_Jennifer_EggConfirm == false) {
+			C004_ArtClass_Jennifer_EggConfirm = true;
+			OverridenIntroText = GetText("VibratingEggWarning");
+		} else {
+			ActorAddInventory("VibratingEgg");
+			PlayerRemoveInventory("VibratingEgg", 1);
+			ActorChangeAttitude(-1, 0);
+			OverridenIntroText = GetText("VibratingEggInsert");
+			C004_ArtClass_Jennifer_EggInside = true;
+		}
+	}
+
+}
+
+// Chapter 4 - Jennifer Sandro Comment - Start Julia Stage 1
+function C004_ArtClass_Jennifer_SandroComment() {
+	if (C004_ArtClass_ArtRoom_JuliaStage == 0) 
+		C004_ArtClass_ArtRoom_JuliaStage = 1;
+}
+
+// Chapter 4 - Jennifer Set Clothes Level
+function C004_ArtClass_Jennifer_SetCloth(Stage, LoveMod, SubMod) {
+	C004_ArtClass_ArtRoom_JenniferStage = Stage;
+	if ((Stage == 1) && (C004_ArtClass_Jennifer_UnderwearDone == false)) { C004_ArtClass_Jennifer_UnderwearDone = true; ActorChangeAttitude(LoveMod, SubMod); }
+	if ((Stage == 2) && (C004_ArtClass_Jennifer_NakedDone == false)) { C004_ArtClass_Jennifer_NakedDone = true; ActorChangeAttitude(LoveMod, SubMod); }
+	if ((Stage == 3) && (C004_ArtClass_Jennifer_RopeDone == false)) { C004_ArtClass_Jennifer_RopeDone = true; ActorChangeAttitude(LoveMod, SubMod); }
+	if ((Stage == 4) && (C004_ArtClass_Jennifer_GagDone == false)) { C004_ArtClass_Jennifer_GagDone = true; ActorChangeAttitude(LoveMod, SubMod); }
+}
+
+// Chapter 4 - Jennifer Untie
+function C004_ArtClass_Jennifer_Untie() {
+	C004_ArtClass_ArtRoom_JenniferStage = 2;
+	ActorRemoveInventory("Rope");
+	PlayerAddInventory("Rope", 1);
+}
+
+// Chapter 4 - Jennifer Ungag
+function C004_ArtClass_Jennifer_Ungag() {
+	C004_ArtClass_ArtRoom_JenniferStage = 3;
+	if (ActorHasInventory("BallGag")) {
+		PlayerAddInventory("BallGag", 1);
+		ActorRemoveInventory("BallGag");
+	}
+	ActorRemoveInventory("TapeGag");
+}
+
+// Chapter 4 - Jennifer Kiss
+function C004_ArtClass_Jennifer_Kiss() {
+	C004_ArtClass_Jennifer_KissReady = false;
+	if (Common_PlayerGagged) OverridenIntroText = GetText("GaggedKiss");
+}
+
+// Chapter 4 - Jennifer Tighten
+function C004_ArtClass_Jennifer_Tighten() {
+	if (Common_PlayerNotRestrained) {
+		if (C004_ArtClass_Jennifer_TightenDone == false) {
+			if (C004_ArtClass_Jennifer_CurrentStage >= 140) OverridenIntroText = GetText("TightenGagged");
+			else OverridenIntroText = GetText("Tighten");
+			ActorChangeAttitude(-1, 1);
+			C004_ArtClass_Jennifer_TightenDone = true;
+		}
+	} else {
+		OverridenIntroText = GetText("TightenFail");
+	}
+}
+
+// Chapter 4 - Jennifer Tickle
+function C004_ArtClass_Jennifer_Tickle() {
+	if (C004_ArtClass_Jennifer_TickleDone == false) {
+		if (Common_PlayerNotRestrained) OverridenIntroText = GetText("Tickle");
+		else OverridenIntroText = GetText("TickleFail");
+		ActorChangeAttitude(-1, 0);
+		C004_ArtClass_Jennifer_TickleDone = true;
+	}
+}
+
+// Chapter 4 - Jennifer Trust Comment
+function C004_ArtClass_Jennifer_TrustComment() {
+	if (C004_ArtClass_Jennifer_TrustCommentDone == false) {
+		C004_ArtClass_Jennifer_TrustCommentDone = true;
+		ActorChangeAttitude(1, 0);
+		OverridenIntroText = GetText("EarnTrust");
+	}
+}
+
+// Chapter 4 - Jennifer Egg Comment
+function C004_ArtClass_Jennifer_EggComment() {
+	if (C004_ArtClass_Jennifer_EggCommentDone == false) {
+		C004_ArtClass_Jennifer_EggCommentDone = true;
+		ActorChangeAttitude(0, 1);
+		OverridenIntroText = GetText("EggComment");
+	}
+}
+
+// Chapter 4 - Jennifer Beg for Release
+function C004_ArtClass_Jennifer_BegForRelease() {
+	if (ActorGetValue(ActorLove) >= 3) {
+		OverridenIntroText = GetText("PlayerUntie");
+		PlayerUnlockInventory("Rope");
+		PlayerAddInventory("Rope", 1);
+		C004_ArtClass_Jennifer_CanBegForRelease = false;
+		CurrentTime = CurrentTime + 60000;
+	} else {
+		OverridenIntroText = GetText("PlayerStayTied");
+	}
+}
+
+// Chapter 4 - Jennifer Pity
+function C004_ArtClass_Jennifer_PityComment() {
+	if (C004_ArtClass_Jennifer_PityDone == false) {
+		ActorChangeAttitude(1, 0);
+		C004_ArtClass_Jennifer_PityDone = true;
+	}
+}
diff --git a/C004_ArtClass/Jennifer/Stage_EN.csv b/C004_ArtClass/Jennifer/Stage_EN.csv
new file mode 100644
index 0000000000..99aac47078
--- /dev/null
+++ b/C004_ArtClass/Jennifer/Stage_EN.csv
@@ -0,0 +1,49 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,"Yes, it's my|first day here.","I hope you'll like it, we have a great gym.|I'm Jennifer, glad to meet you.",10,0,0,
+0,0,0,,Yep!  A fresh start|in a fresh college!,"I like your attitude, you'll do well here.|I'm Jennifer, pleased to meet you.",10,1,0,
+0,0,0,,"Yeah, I miss my old|school and friends.","Shh.  You'll make better friends here!|I'm Jennifer, nice to meet you.",10,0,-1,
+10,0,0,,So you're|an artist?,"Me?  That's a good one.|No, I'm much better in sports.",20,0,0,
+10,0,0,,Can you help|me paint?,"Help you?  Trust me, you'll do better than me.|I'm not an artist, I'm much better in sports.",20,0,-1,
+10,0,0,,You don't look|like a painter.,"Very true, I'm far from an|artist.  I'm much better in sports.",20,0,1,
+10,0,0,,This class|is pointless.,"You're very negative.  Gym class would|be more fun though, I'm better in sports.",20,-1,0,
+20,0,0,,Sports?  Our fat teacher|doesn't know that word.,"Shh.  Careful!  She's stronger than she looks.|And yes, Julia is an artist, not an athlete.",30,-1,0,
+20,0,0,,You're too skinny|to do sports.,"Don't judge me, I'm in good shape.",30,-1,1,
+20,0,0,,Yeah!  I can't wait|for gym class!,(She gives you a thumb up.),30,1,0,
+20,0,0,,I guess it will be|relaxing to paint.,Sure.  And Sarah seems to have fun.,30,0,0,
+30,0,0,,Can we make this|class more interesting?,More interesting?|What do you in mind?,40,0,0,
+30,0,0,,This is boring. (Yawn.),Cheer up!  It's not|as bad as you think.,40,-1,0,
+30,0,0,,This could more fun!,More fun?  I'm curious.|What are you talking about?,40,1,0,
+40,0,0,,Our teacher should|show her curves.,Her curves?  (She giggles.)  You|mean she should remove her dress?,50,1,0,
+40,0,0,,It would be better if|Julia removed her dress.,A sexy portrait?  I don't know.,50,0,0,
+40,0,0,,Help me trick her|out of that dress.,Oh!  That's pretty devious.|You think we can do that?,50,0,1,
+50,2,0,,Help me convince her|to strip my friend.,"Let me think...  She loves Italian painters.|Tell her of Sandro Botticelli ""The Birth of Venus"".",60,0,0,SandroComment()
+50,0,2,,You will help me|convince her to strip.,"Let me think...  She loves Italian painters.|Tell her of Sandro Botticelli ""The Birth of Venus"".",60,0,0,SandroComment()
+50,0,0,,Can you convince|her to strip?,"Me?  Oh no, I'm|not doing that for you.",50,0,0,
+60,0,0,JuliaStrip,Isn't the class|better now?,It will be memorable that's for sure.|I didn't knew that Julia was so daring.,70,0,0,
+60,0,0,JuliaStrip,We make a|great team!,(She gives you a high five.)  To teamwork!|I didn't knew that Julia was so daring.,70,1,0,
+60,0,0,JuliaStrip,Her breast|is monstrous.,"Don't be too tough with her, losing fat|isn't easy.  And it's very daring of her.",70,-1,0,
+80,0,0,CanBegForRelease,"Please Jennifer, can|you help me out?",,80,0,0,BegForRelease()
+80,0,0,Common_PlayerGagged,@Eehmmo ehm ehher!,"I'm sorry, I cannot understand.",80,0,0,
+80,0,0,Common_PlayerGagged,(Whimper and tremble.),"Trust me, I feel for you.  You must be|humiliated now.  I'll cheer you up later.",80,0,0,PityComment()
+100,0,1,,Shouldn't you undress|like Julia? (1 minute),I... I guess I can.|(She slowly undresses.),110,0,0,"SetCloth(1, 0, 0)"
+100,0,1,,Take your clothes|off. (1 minute),I... Yes... Sorry.|(She slowly undresses.),110,0,0,"SetCloth(1, 0, 1)"
+100,0,1,,You should show your|pretty body.  (1 minute),I really think I'm pretty?|(She slowly undresses.),110,0,0,"SetCloth(1, 1, 0)"
+110,0,2,,Do I have to take these|off myself?  (1 minute),"NO!  Oops, I didn't meant to yell, I'll do it.|(She blushes red and removes her underwear.)",120,0,0,"SetCloth(2, -1, 1)"
+110,0,2,,Only a few items left|to join Julia.  (1 minute),"Yes, if Julia could do it, I can.|(She blushes red and removes her underwear.)",120,0,0,"SetCloth(2, 0, 0)"
+110,0,2,,"If Julia can strip, you|can do it.  (1 minute)","Yes, if Julia could do it, I can.|(She blushes red and removes her underwear.)",120,0,0,"SetCloth(2, 0, 0)"
+110,0,2,,Show us more skin|and bones.  (1 minute),Bones?  I'm not that skinny.|(She blushes red and removes her underwear.),120,0,0,"SetCloth(2, -1, 0)"
+110,0,0,,Maybe you should dress|back up.  (1 minute),"You think?  Yeah, this is school after all.|(She picks her clothes and dresses back.)",100,0,0,"SetCloth(0, 0, 0)"
+120,0,0,,Maybe you should dress|back up.  (1 minute),"You think?  Yeah, this is school after all.|(She picks her clothes and dresses back.)",100,0,0,"SetCloth(0, 0, 0)"
+120,0,0,,Try your underwear|again.  (1 minute),(She sighs.)  I'll never understand art.|(She puts her underwear back on.),110,0,0,"SetCloth(1, 0, 0)"
+130,0,0,,Don't worry Jennifer.|Everything will be fine.,(She nods slowly.),130,0,0,TrustComment()
+130,0,0,EggInside,This egg will remind|you that I'm the boss.,(She bows her head.),130,0,0,EggComment()
+130,2,0,KissReady,(Kiss her.)|(1 minute),Please don't.  I'm not into it.|(She didn't seem to enjoy the kiss.),130,-1,0,Kiss()
+130,0,0,,(Tighten the ropes.)|(1 minute),(This bondage is already|as tight as it can be.),130,0,0,Tighten()
+130,0,0,,(Tickle her.)|(1 minute),(She cowers in shame|to avoid your tickling.),130,0,0,Tickle()
+130,0,0,Common_PlayerNotRestrained,(Untie her.)|(1 minute),(You untie her and she throws the|ropes at you.)  Can I go sit now?,120,0,0,Untie()
+140,0,0,,(Tighten the ropes.)|(1 minute),(This bondage is already|as tight as it can be.),140,0,0,Tighten()
+140,0,0,,(Tickle her.)|(1 minute),(She cowers in shame|to avoid your tickling.),140,0,0,Tickle()
+140,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(You unbuckle the gag and release it|from her mouth)  Can you untie me now?,130,0,0,Ungag()
+150,0,0,,(Tighten the ropes.)|(1 minute),(This bondage is already|as tight as it can be.),150,0,0,Tighten()
+150,0,0,,(Tickle her.)|(1 minute),(She cowers in shame|to avoid your tickling.),150,0,0,Tickle()
+150,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),"(You remove the tape from her mouth.)|Alright, can you untie me now?",130,0,0,Ungag()
diff --git a/C004_ArtClass/Jennifer/Text_EN.csv b/C004_ArtClass/Jennifer/Text_EN.csv
new file mode 100644
index 0000000000..ee9367eb04
--- /dev/null
+++ b/C004_ArtClass/Jennifer/Text_EN.csv
@@ -0,0 +1,21 @@
+Tag,Content
+NoBondage,(She pushes you back.)  What are|you doing?  We are supposed to paint.
+CropForInfo,(You whip her quick.)  Ow!  Let me think.|Tell her of Sandro Botticelli The Birth of Venus.
+RefuseBondage,(She pushes you back and stares at you.)|Oh no!  you're not tying me up.
+Bondage,(She tries to stop you but you overpower|her and restrain her body and arms.)
+NoGag,(She pushes your hand away.)  Oh no!
+BallGag,(She shuts her mouth so you have to|push it hard to be strap it in.)
+TapeGag,(She shakes her head from left to right|but you finally manage to tape her mouth.)
+Crop,(You whip her with the crop a few|times.  She screams and cries in pain.)
+VibratingEggWarning,"(You might not be able to recover the egg if|you insert it in Jennifer, click on it again to do it.)"
+VibratingEggInsert,(Jennifer sees the egg and tries to move away but|you're able to insert it.  She now trembles randomly.)
+GaggedKiss,(You try to kiss her with your gag|but it only creates an awkward situation.)
+TightenGagged,(You tighten the knots while she|struggles and seems very nervous.)
+Tighten,Aaargh!  Be careful!|(She seems very nervous.)
+TightenFail,(You try to tighten Jennifer's bondage|but fail as the other students giggle.)
+Tickle,(You tickle her in front of the class.|She cowers in shame and tries to kick you.)
+TickleFail,(You fumble a little but manage to tickle her.|She cowers in shame and tries to kick you.)
+EarnTrust,I'll try to trust you then.|All of this is making me nervous.
+EggComment,"But, but, but.  I, I.  Ok.|(She bows her head.)"
+PlayerUntie,"(She blushes and steps up to untie you.)|Here you go my friend, I bet that was humiliating."
+PlayerStayTied,(She's too nervous to move up to help you.)|(You need 3 love or more to get help from her.)
diff --git a/C004_ArtClass/Julia/Intro_EN.csv b/C004_ArtClass/Julia/Intro_EN.csv
new file mode 100644
index 0000000000..64585fd65d
--- /dev/null
+++ b/C004_ArtClass/Julia/Intro_EN.csv
@@ -0,0 +1,25 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,"OooOOOoh!  A new pupil!  I am the art|teacher Giuliana, but you can call me Julia.",JuliaWantsHug.jpg
+10,0,0,,,JuliaWantsHug.jpg
+20,0,0,,,JuliaHug.jpg
+30,0,0,,,Julia.jpg
+40,0,0,,,Julia.jpg
+50,0,0,,,Julia.jpg
+60,0,0,,How's the painting going new pupil?|Will you do a masterwork like Raphael?,JuliaPose.jpg
+70,0,0,,So you know about the great|master Sandro Botticelli work?,Julia.jpg
+80,0,0,,Have you seen The Birth of Venus?,Julia.jpg
+100,0,0,,,JuliaNoTop.jpg
+110,0,0,,Do I look like the beautiful Venus?,JuliaNoTop.jpg
+120,0,0,,Am I not the magnifico Venus?,JuliaNoTop.jpg
+130,0,0,,,JuliaNude.jpg
+140,0,0,,The Birth of Venus!  Isn't art wonderful?|Are you thrilled now new pupil?,JuliaNude.jpg
+150,0,0,,So who should model with me?,JuliaNude.jpg
+150,0,0,IsGagged,(She looks around for a new model.),JuliaNude.jpg
+160,0,0,,,JuliaNude.jpg
+170,0,0,,Keep the pose!  Let's make art!,JuliaNude.jpg
+170,0,0,EggInside,OooOOOoh!  What's going on here?|(She seems to be having spasms from the egg.),JuliaNude.jpg
+170,0,0,Common_PlayerRestrained,"Venus and Shibari, what a package!",JuliaNude.jpg
+170,0,0,IsGagged,Munm gnu!  (She can't be understood.),JuliaNude.jpg
+180,0,0,,Keep the pose!  Let's make art!,JuliaNude.jpg
+180,0,0,EggInside,OooOOOoh!  What's going on here?|(She seems to be having spasms from the egg.),JuliaNude.jpg
+180,0,0,IsGagged,Munm gnu!  (She can't be understood.),JuliaNude.jpg
diff --git a/C004_ArtClass/Julia/Julia.jpg b/C004_ArtClass/Julia/Julia.jpg
new file mode 100644
index 0000000000..ace63e83c0
Binary files /dev/null and b/C004_ArtClass/Julia/Julia.jpg differ
diff --git a/C004_ArtClass/Julia/JuliaHug.jpg b/C004_ArtClass/Julia/JuliaHug.jpg
new file mode 100644
index 0000000000..946f5a1593
Binary files /dev/null and b/C004_ArtClass/Julia/JuliaHug.jpg differ
diff --git a/C004_ArtClass/Julia/JuliaNoTop.jpg b/C004_ArtClass/Julia/JuliaNoTop.jpg
new file mode 100644
index 0000000000..b581cb465e
Binary files /dev/null and b/C004_ArtClass/Julia/JuliaNoTop.jpg differ
diff --git a/C004_ArtClass/Julia/JuliaNude.jpg b/C004_ArtClass/Julia/JuliaNude.jpg
new file mode 100644
index 0000000000..e5a67d08bf
Binary files /dev/null and b/C004_ArtClass/Julia/JuliaNude.jpg differ
diff --git a/C004_ArtClass/Julia/JuliaPose.jpg b/C004_ArtClass/Julia/JuliaPose.jpg
new file mode 100644
index 0000000000..29902c86bb
Binary files /dev/null and b/C004_ArtClass/Julia/JuliaPose.jpg differ
diff --git a/C004_ArtClass/Julia/JuliaRope.jpg b/C004_ArtClass/Julia/JuliaRope.jpg
new file mode 100644
index 0000000000..8d5be221f0
Binary files /dev/null and b/C004_ArtClass/Julia/JuliaRope.jpg differ
diff --git a/C004_ArtClass/Julia/JuliaRopeBallGag.jpg b/C004_ArtClass/Julia/JuliaRopeBallGag.jpg
new file mode 100644
index 0000000000..59c9c8566d
Binary files /dev/null and b/C004_ArtClass/Julia/JuliaRopeBallGag.jpg differ
diff --git a/C004_ArtClass/Julia/JuliaRopeTapeGag.jpg b/C004_ArtClass/Julia/JuliaRopeTapeGag.jpg
new file mode 100644
index 0000000000..09ad63203e
Binary files /dev/null and b/C004_ArtClass/Julia/JuliaRopeTapeGag.jpg differ
diff --git a/C004_ArtClass/Julia/JuliaWantsHug.jpg b/C004_ArtClass/Julia/JuliaWantsHug.jpg
new file mode 100644
index 0000000000..e7253cb6cc
Binary files /dev/null and b/C004_ArtClass/Julia/JuliaWantsHug.jpg differ
diff --git a/C004_ArtClass/Julia/Script.js b/C004_ArtClass/Julia/Script.js
new file mode 100644
index 0000000000..cbed6cfb63
--- /dev/null
+++ b/C004_ArtClass/Julia/Script.js
@@ -0,0 +1,307 @@
+var C004_ArtClass_Julia_CurrentStage = 0;
+var C004_ArtClass_Julia_BigHugDone = false;
+var C004_ArtClass_Julia_BigHugReady = false;
+var C004_ArtClass_Julia_Sandro = true;
+var C004_ArtClass_Julia_AllowUnderwear = false;
+var C004_ArtClass_Julia_AllowNaked = false;
+var C004_ArtClass_Julia_AllowShibari = false;
+var C004_ArtClass_Julia_IsRestrained = false;
+var C004_ArtClass_Julia_IsGagged = false;
+var C004_ArtClass_Julia_TickleDone = false;
+var C004_ArtClass_Julia_TightenDone = false;
+var C004_ArtClass_Julia_CanBegForRelease = false;
+var C004_ArtClass_Julia_EggConfirm = false;
+var C004_ArtClass_Julia_EggInside = false;
+
+// New image depending on Julia's bondage
+function C004_ArtClass_Julia_GetImage() {
+	if (C004_ArtClass_Julia_CurrentStage != 60) OverridenIntroImage = "";
+	if ((C004_ArtClass_ArtRoom_JuliaStage == 5) && (C004_ArtClass_Julia_CurrentStage >= 150)) OverridenIntroImage = "JuliaRope.jpg";
+	if ((C004_ArtClass_ArtRoom_JuliaStage == 6) && (C004_ArtClass_Julia_CurrentStage >= 150)) OverridenIntroImage = "JuliaRopeBallGag.jpg";
+	if ((C004_ArtClass_ArtRoom_JuliaStage == 7) && (C004_ArtClass_Julia_CurrentStage >= 150)) OverridenIntroImage = "JuliaRopeTapeGag.jpg";
+}
+
+// Chapter 4 - Julia Load
+function C004_ArtClass_Julia_Load() {
+
+	// Set the timer limits at 10:15
+	StartTimer(10.25 * 60 * 60 * 1000, "C004_ArtClass", "Outro");
+
+	// Load the scene parameters
+	ActorLoad("Julia", "ArtRoom");
+	LoadInteractions();
+	C004_ArtClass_Julia_EggConfirm = false;
+
+	// Julia progression
+	if (C004_ArtClass_Julia_CurrentStage == 100) C004_ArtClass_Julia_CurrentStage = 110;
+	if (C004_ArtClass_Julia_CurrentStage == 130) C004_ArtClass_Julia_CurrentStage = 140;
+	if ((C004_ArtClass_Julia_CurrentStage == 160) || (C004_ArtClass_Julia_CurrentStage == 180)) C004_ArtClass_Julia_CurrentStage = 170;
+	C004_ArtClass_Julia_Sandro = ((C004_ArtClass_ArtRoom_JuliaStage >= 1) && Common_PlayerNotGagged);	
+	C004_ArtClass_Julia_AllowUnderwear = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_PlayerNotGagged && Common_PlayerClothed);
+	C004_ArtClass_Julia_AllowNaked = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_PlayerNotGagged && Common_PlayerUnderwear);
+	C004_ArtClass_Julia_GetImage();
+	
+	// When the talk is over, allow the player to leave
+	if (C004_ArtClass_Julia_CurrentStage >= 60) LeaveIcon = "Leave";
+	else LeaveIcon = "";	
+	C004_ArtClass_Julia_BigHugReady = (!C004_ArtClass_Julia_BigHugDone && Common_PlayerNotGagged && (C004_ArtClass_Julia_CurrentStage >= 60));
+	C004_ArtClass_Julia_AllowShibari = ((Common_BondageAllowed == false) && (C004_ArtClass_ArtRoom_JuliaStage >= 4));
+	
+	// If we allow the player to beg to be released
+	C004_ArtClass_Julia_CanBegForRelease = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_PlayerRestrained && Common_PlayerGagged);
+
+}
+
+// Chapter 4 - Julia Run
+function C004_ArtClass_Julia_Run() {
+	BuildInteraction(C004_ArtClass_Julia_CurrentStage);
+}
+
+// Chapter 4 - Julia Click
+function C004_ArtClass_Julia_Click() {	
+
+	// Regular interactions
+	ClickInteraction(C004_ArtClass_Julia_CurrentStage);
+	var ClickInv = GetClickedInventory();
+	
+	// When the talk is over, allow the player to leave
+	if (C004_ArtClass_Julia_CurrentStage >= 60) LeaveIcon = "Leave";
+
+	// When the user wants to use any item and bondage isn't allowed
+	if (!Common_BondageAllowed && ((ClickInv == "Rope") || (ClickInv == "BallGag") || (ClickInv == "TapeGag") || (ClickInv == "Crop") || (ClickInv == "Cuffs") || (ClickInv == "VibratingEgg")) && Common_PlayerNotRestrained)
+		OverridenIntroText = GetText("NoBondage");
+
+	// When the user wants to use the rope on Julia
+	if (Common_BondageAllowed && (ClickInv == "Rope") && !ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
+	
+		// It can work if Julia is submissive, else the player gets tied up
+		if (ActorGetValue(ActorSubmission) > 0) {
+			OverridenIntroText = GetText("RopeJulia");
+			C004_ArtClass_Julia_CurrentStage = 170;
+			C004_ArtClass_ArtRoom_JuliaStage = 5;
+			C004_ArtClass_Julia_IsRestrained = true;
+			ActorAddInventory("Rope");
+		} else {
+			if (Common_PlayerNaked) OverridenIntroText = GetText("RopePlayer");
+			else OverridenIntroText = GetText("RopeStripPlayer");
+			PlayerClothes("Naked");
+			PlayerLockInventory("Rope");
+			PlayerRemoveInventory("Rope", 1);
+		}
+
+		// Time and item are consumed
+		PlayerRemoveInventory("Rope", 1);
+		CurrentTime = CurrentTime + 60000;		
+	}
+
+	// When the user wants to use the BallGag
+	if (Common_BondageAllowed && (ClickInv == "BallGag") && (C004_ArtClass_ArtRoom_JuliaStage >= 5) && !ActorHasInventory("BallGag") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("BallGag");
+		C004_ArtClass_Julia_CurrentStage = 170;
+		C004_ArtClass_Julia_Ungag();
+		C004_ArtClass_ArtRoom_JuliaStage = 6;
+		ActorAddInventory("BallGag");
+		PlayerRemoveInventory("BallGag", 1);
+		C004_ArtClass_Julia_IsGagged = true;
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the tape gag
+	if (Common_BondageAllowed && (ClickInv == "TapeGag") && (C004_ArtClass_ArtRoom_JuliaStage >= 5) && !ActorHasInventory("TapeGag") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("TapeGag");
+		C004_ArtClass_Julia_CurrentStage = 170;
+		C004_ArtClass_Julia_Ungag();
+		C004_ArtClass_ArtRoom_JuliaStage = 7;
+		ActorAddInventory("TapeGag");
+		PlayerRemoveInventory("TapeGag", 1);
+		C004_ArtClass_Julia_IsGagged = true;
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the crop
+	if (Common_BondageAllowed && (ClickInv == "Crop") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("Crop");
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the vibrating egg on Julia
+	if (Common_BondageAllowed && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {		
+		if (C004_ArtClass_Julia_EggConfirm == false) {
+			C004_ArtClass_Julia_EggConfirm = true;
+			OverridenIntroText = GetText("VibratingEggWarning");
+		} else {
+			ActorAddInventory("VibratingEgg");
+			PlayerRemoveInventory("VibratingEgg", 1);
+			OverridenIntroText = GetText("VibratingEggInsert");
+			C004_ArtClass_Julia_EggInside = true;
+		}
+	}
+	
+	// Get the correct image for Julia
+	C004_ArtClass_Julia_GetImage();
+	
+}
+
+// Chapter 4 - Julia Big Hug
+function C004_ArtClass_Julia_BigHug() {
+	if (C004_ArtClass_Julia_BigHugDone == false) {
+		C004_ArtClass_Julia_BigHugDone = true;
+		ActorChangeAttitude(1, 0);
+		C004_ArtClass_Julia_BigHugReady = false;
+		OverridenIntroImage = "JuliaHug.jpg";
+	}
+}
+
+// Chapter 4 - Julia Remove Top
+function C004_ArtClass_Julia_RemoveTop() {
+	if (C004_ArtClass_ArtRoom_JuliaStage <= 1) 
+		C004_ArtClass_ArtRoom_JuliaStage = 2;
+}
+
+// Chapter 4 - Julia Strip
+function C004_ArtClass_Julia_Strip() {
+	if (C004_ArtClass_ArtRoom_JuliaStage <= 2) 
+		C004_ArtClass_ArtRoom_JuliaStage = 3;
+}
+
+// Chapter 4 - Julia Query New Model
+function C004_ArtClass_Julia_QueryNewModel() {
+	if (ActorGetValue(ActorSubmission) <= 0) {
+		OverridenIntroText = GetText("NewModelAgree");
+		ActorChangeAttitude(0, -1);
+		C004_ArtClass_Julia_CurrentStage = 160;
+		C004_ArtClass_ArtRoom_ExtraModel = "Player";
+		PlayerClothes("Clothed");
+	}
+}
+
+// Chapter 4 - Julia Recover all inventory from an actor (except the egg)
+function C004_ArtClass_Julia_RecoverInventory(ActorToRecover) {
+	CurrentActor = ActorToRecover;
+	if (ActorHasInventory("BallGag")) { PlayerAddInventory("BallGag", 1); ActorRemoveInventory("BallGag"); }
+	if (ActorHasInventory("Rope")) { PlayerAddInventory("Rope", 1); ActorRemoveInventory("Rope"); }
+	ActorRemoveInventory("TapeGag");
+}
+
+// Chapter 4 - Julia Change Model
+function C004_ArtClass_Julia_NewModel(ModelName) {
+
+	// Reset Sarah model
+	C004_ArtClass_ArtRoom_SarahStage = 0;
+	if (C004_ArtClass_Sarah_CurrentStage > 130) C004_ArtClass_Sarah_CurrentStage = 130;
+	C004_ArtClass_Julia_RecoverInventory("Sarah");
+
+	// Reset Jennifer model
+	C004_ArtClass_ArtRoom_JenniferStage = 0;
+	if (C004_ArtClass_Jennifer_CurrentStage > 100) C004_ArtClass_Jennifer_CurrentStage = 100;
+	C004_ArtClass_Julia_RecoverInventory("Jennifer");
+
+	// Set the new model
+	CurrentActor = "Julia";
+	C004_ArtClass_ArtRoom_ExtraModel = ModelName;
+	PlayerClothes("Clothed");
+	if (C004_ArtClass_Julia_IsGagged) OverridenIntroText = GetText("NewModelGagged");
+
+}
+
+// Chapter 4 - Julia Player Remove Outfit
+function C004_ArtClass_Julia_PlayerRemoveOutfit() {
+	PlayerClothes("Underwear");
+	if (C004_ArtClass_Julia_IsGagged) OverridenIntroText = GetText("PlayerUndressGagged");
+}
+
+// Chapter 4 - Julia Player Strip
+function C004_ArtClass_Julia_PlayerStrip() {
+	PlayerClothes("Naked");
+	if (C004_ArtClass_Julia_IsGagged) OverridenIntroText = GetText("PlayerStripGagged");
+}
+
+// Chapter 4 - Julia Shibari Start
+function C004_ArtClass_Julia_ShibariStart() {
+	Common_BondageAllowed = true;
+	C004_ArtClass_Julia_AllowShibari = false;
+	PlayerAddInventory("Rope", 2);
+}
+
+// Chapter 4 - Julia Ungag
+function C004_ArtClass_Julia_Ungag() {
+	if (ActorHasInventory("BallGag")) {
+		PlayerAddInventory("BallGag", 1);
+		ActorRemoveInventory("BallGag");
+	}
+	ActorRemoveInventory("TapeGag");
+	C004_ArtClass_Julia_IsGagged = false;
+	C004_ArtClass_ArtRoom_JuliaStage = 5;
+}
+
+// Chapter 4 - Julia Try Ungag
+function C004_ArtClass_Julia_TryUngag() {
+	if (Common_PlayerNotRestrained) C004_ArtClass_Julia_Ungag();
+	else OverridenIntroText = GetText("FailUngag");
+}
+
+// Chapter 4 - Julia Release
+function C004_ArtClass_Julia_Release() {
+	if (Common_PlayerNotRestrained) {
+		C004_ArtClass_Julia_IsRestrained = false;
+		PlayerAddInventory("Rope", 1);
+		ActorRemoveInventory("Rope");
+		C004_ArtClass_Julia_Ungag();
+		C004_ArtClass_ArtRoom_JuliaStage = 4;
+	} else {
+		OverridenIntroText = GetText("FailUntie");
+	}
+}
+
+// Chapter 4 - Julia Tighten
+function C004_ArtClass_Julia_Tighten() {
+	if (Common_PlayerNotRestrained) {
+		if (C004_ArtClass_Julia_TightenDone == false) {
+			if (C004_ArtClass_Julia_IsGagged) OverridenIntroText = GetText("TightenGagged");
+			else OverridenIntroText = GetText("Tighten");
+			ActorChangeAttitude(0, 1);
+			C004_ArtClass_Julia_TightenDone = true;
+		}
+	} else {
+		OverridenIntroText = GetText("FailTighten");
+	}
+}
+
+// Chapter 4 - Julia Tickle
+function C004_ArtClass_Julia_Tickle() {
+	if (C004_ArtClass_Julia_TickleDone == false) {
+		if (Common_PlayerNotRestrained) OverridenIntroText = GetText("Tickle");
+		else OverridenIntroText = GetText("TickleRestrained");
+		ActorChangeAttitude(1, 0);
+		C004_ArtClass_Julia_TickleDone = true;
+	}	
+}
+
+// Chapter 4 - Julia Change Model
+function C004_ArtClass_Julia_ChangeModel() {
+	if (C004_ArtClass_Julia_IsGagged) OverridenIntroText = GetText("AskNewModelGagged");
+}
+
+// Chapter 4 - Julia Beg For Release
+function C004_ArtClass_Julia_BegForRelease() {
+	if (!C004_ArtClass_Julia_IsRestrained) {
+		if (ActorGetValue(ActorLove) >= 3) {
+			OverridenIntroText = GetText("PlayerUngag");
+			if (PlayerHasLockedInventory("BallGag")) PlayerAddInventory("BallGag", 1);
+			PlayerUnlockInventory("BallGag");
+			PlayerUnlockInventory("TapeGag");
+			C004_ArtClass_Julia_CanBegForRelease = false;
+			CurrentTime = CurrentTime + 60000;
+		} else {
+			OverridenIntroText = GetText("PlayerStayGagged");
+		}		
+	} else {
+		OverridenIntroText = GetText("JuliaRestrainedPlayerGagged");
+	}	
+}
+
+// Chapter 4 - Julia Gagged Speach
+function C004_ArtClass_Julia_GaggedSpeach() {
+	if ((C004_ArtClass_ArtRoom_JuliaStage == 6) || (C004_ArtClass_ArtRoom_JuliaStage == 7))
+		OverridenIntroText = GetText("GaggedSpeach");
+}
\ No newline at end of file
diff --git a/C004_ArtClass/Julia/Stage_EN.csv b/C004_ArtClass/Julia/Stage_EN.csv
new file mode 100644
index 0000000000..14165e0d2f
--- /dev/null
+++ b/C004_ArtClass/Julia/Stage_EN.csv
@@ -0,0 +1,53 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Nice to meet|you Julia.,Yes!  Now give me a big hug new pupil.,10,1,0,
+0,0,0,,Pleased to meet|you Miss Giuliana.,"No, no, no, no, call me Julia.|Now give me a big hug new pupil.",10,0,-1,
+0,0,0,,Art?  Oh my.|(Roll your eyes up.),Art is fire!  And I am the flame.||Now give me a big hug new pupil.,10,-1,1,
+0,0,0,,(Look elsewhere.),Look here new pupil.  Come|closer and give me a big hug.,10,-1,0,
+10,0,0,,"A hug?  Sure, why not.",Si!  (She hugs you close and almost|squeezes your head between her breasts.),20,0,0,
+10,0,0,,Of course!|(Open your arms.),Si!  (She hugs you really tight and|squeezes your head between her breasts.),20,1,0,
+10,0,0,,"No, thanks.","Alright new pupil, no hug for you.|But I hope you're ready to paint.",30,0,0,
+10,0,0,,Hug you?|Forget it.,So you have the flame and the rage.|This painting class is made for you then.,30,-1,0,
+20,0,0,,This is a|warm welcome.,Si!  (She releases you.)|I hope you're ready to paint.,30,0,0,
+20,0,0,,(Plunge your face|deeper in her breast.),"No, no, no, no, don't do that.|Instead, get ready to paint new pupil.",30,-1,1,
+20,0,0,,I can't breathe!,(She releases you.)  So sorry little pupil.|I hope you're ready to paint then.,30,0,-1,
+30,0,0,,"Mmmmh, ok.",You'll need more fire than that!|Because you will paint me like da Vinci!,40,0,0,
+30,0,0,,Painting?  This|will be a disaster.,The only disaster is the lack of belief in|yourself.  Today you will paint me like da Vinci.,40,-1,0,
+30,0,0,,Alright!  I|love painting.,Fabulous!  And today is special.|You will paint me like da Vinci.,40,1,0,
+30,0,0,,I don't know how to paint.,"Nonsense!  Everybody can paint.|And today, you will paint me like da Vinci.",40,0,-1,
+40,0,0,,Paint you?  I'll|need a bigger canvas.,(She stares at you.)  I assume you're|saying that because of my traditional dress.,50,-1,1,
+40,0,0,,Oh!  I'll need|lots of colors.,Si!  Especially if you want to|catch all the details of my traditional dress.,50,1,0,
+40,0,0,,This might be|too hard for me.,There are many details in my traditional|dress.  But I'm sure you can do a great job.,50,0,-1,
+50,0,0,,Let's see|that brush.,Fine.  Show me your Michelangelo|skills then.  (She takes a pose.),60,0,0,
+50,0,0,,I guess I can try.|(Sigh sadly.),Michelangelo doesn't try.  Michelangelo|does!  Do it!  (She takes a pose.),60,0,-1,
+50,0,0,,Alright then!  Take|your best pose!,Great!  Show me your Michelangelo|skills then.  (She takes a pose.),60,0,1,
+60,2,0,BigHugReady,Can I have|another hug?,Si!  (She squeezes your head tight in|her breast.  You almost cannot breath.),60,0,0,BigHug()
+60,0,0,Sandro,"Have you seen Botticelli|""The Birth of Venus""?",Si!  You had the chance to see|Sandro Botticelli masterpiece?,70,0,0,
+60,0,0,Sandro,"You've heard of ""The Birth|of Venus"" ? (Giggle shyly.)",,70,0,-1,
+70,0,0,,I bet you would be|a gorgeous Venus.,(She smiles.)  Me?|The wonderful Venus?,80,1,0,
+70,0,0,,You could take|a Venus pose.,Me?  A Venus pose?|Like Botticelli's Venus?,80,0,0,
+80,0,0,,"Yes, but you need|to show more skin.",For the great Venus!  (She undoes her|top and shows her breast.)  Get your brush!,100,0,0,RemoveTop()
+80,0,0,,"Yes, show your|curves like Venus.",For the great Venus!  (She undoes her|top and shows her breast.)  Get your brush!,100,0,1,RemoveTop()
+110,0,0,,You look fine.,Fine?  Fine isn't great.  Fine isn't art.,120,0,0,
+110,0,0,,Magnifico!|Almost perfect.,Si!  But almost perfect isn't perfect.,120,1,0,
+110,0,0,,This could|be better.,Better?  You don't like it?,120,0,1,
+110,0,0,,Chunkyvenus. (Cough.) ,(She gives you a mean look.)|You don't like it new pupil?,120,-1,0,
+120,0,0,,The great Venus|was fully naked.,Very true!  For Botticelli and Venus then!|(She strips completely.)  Get your brush!,130,0,0,Strip()
+120,0,0,,Do like Venus|and strip completely.,"Si, si, si!  For Botticelli and Venus then!|(She strips completely.)  Get your brush!",130,0,1,Strip()
+120,0,0,,Can you remove even|more? (Giggle shyly.),"You shy pupil, I'll show you the artist flame.|(She strips completely.)  Get your brush!",130,0,-1,Strip()
+140,0,0,,Maybe we should|add another model.,You think?  I'm intrigued.|Who should model with me?,150,0,0,QueryNewModel()
+140,0,0,,It would be prettier|if we added a model.,"So I'm not pretty enough by myself?  Nonsense!|But I'm intrigued, who should model with me?",150,-1,0,QueryNewModel()
+150,0,0,,I will model with you.|(1 minute),Oh!  Very daring!  Come here.|Pupils!  We have an extra model.,160,0,0,"NewModel(""Player"")"
+150,0,0,,Sarah should model.|(1 minute),"Good idea, Sarah, step up please.|Time to paint, get your brushes!",160,0,0,"NewModel(""Sarah"")"
+150,0,0,,Jennifer should model.|(1 minute),"Interesting, Jennifer, step up please.|Time to paint, get your brushes!",160,0,0,"NewModel(""Jennifer"")"
+170,0,1,Common_PlayerNotRestrained,Let's change|model again.,Again?  Who should model with me?,150,0,0,ChangeModel()
+170,0,-1,,Can I sit down please?,No!  Poor shy new pupil.  You need to|overcome your shyness first and get the flame.,170,0,0,
+170,0,0,CanBegForRelease,@HUUIA!  HMMH EE!,Keep the pose new pupil.|It's no time to chat.,170,0,0,GaggedSpeach()
+170,0,0,CanBegForRelease,(Whimper and make|sad puppy eyes.),,170,0,0,BegForRelease()
+170,0,0,AllowUnderwear,Our clothing is|different.  (1 minute),Si!  It's weird that you're clothed.|(You slowly remove your outfit.) Now paint!,180,0,0,PlayerRemoveOutfit()
+170,0,0,AllowNaked,We're still clothed|differently. (1 minute),Very daring!  You should also be naked.|(You slowly remove your undies.) Now paint!,180,0,0,PlayerStrip()
+170,0,0,AllowShibari,"Have you heard|of ""Shibari""?","Si!  Shibari is the art of Japanese rope bondage.|Here's some rope, we can try that today.",170,0,0,ShibariStart()
+170,0,1,AllowShibari,"Hey Julia, have you|tried ""Shibari"" before?","I've never tried Japanese rope bondage art.|Here's some rope, we can try that today.",170,0,1,ShibariStart()
+170,0,0,IsRestrained,(Tickle her.)|(1 minute),(She giggles lightly and seems to enjoy it.),170,0,0,Tickle()
+170,0,0,IsRestrained,(Tighten the ropes.)|(1 minute),The ropes are already|as tight as they can be.,170,0,0,Tighten()
+170,0,0,IsRestrained,(Release her.)|(1 minute),(You undo the knots and release her.)|So you didn't like Shibari after all?,170,0,0,Release()
+170,0,0,IsGagged,(Ungag her.)|(1 minute),(You remove the gag and she smiles.)|Art can be crazy sometimes.  Now paint!,170,0,0,TryUngag()
diff --git a/C004_ArtClass/Julia/Text_EN.csv b/C004_ArtClass/Julia/Text_EN.csv
new file mode 100644
index 0000000000..ce911c2d98
--- /dev/null
+++ b/C004_ArtClass/Julia/Text_EN.csv
@@ -0,0 +1,26 @@
+Tag,Content
+NoBondage,What are you doing new pupil?|Put this away and get your brush.
+RopeJulia,"(You circle the rope around her curvy body,|making tight knots.)  Now this is art!"
+RopePlayer,Si!  It's time to use these ropes.|(She grabs your arms and restrains you tightly.)
+RopeStripPlayer,"Si!  It's time to tie you up. (She strips|you, grabs the ropes and restrains you tightly.)"
+BallGag,(She shakes her head negatively but cannot|resist as you push the ballgag in her mouth.)
+TapeGag,(She shakes her head negatively but cannot|do much as you apply tape on her mouth.)
+Crop,(You whip her with the crop a few times.|She doesn't seem to be in too much pain.)
+VibratingEggWarning,"(You might not be able to recover the egg if|you insert it in Julia, click on it again to do it.)"
+VibratingEggInsert,"(You pull on the rope and slide the egg in|very easily, you're not even sure she noticed.)"
+NewModelAgree,"I agree, a shy new pupil will be a great model.|(She grabs your arm and pulls you in front.)"
+NewModelGagged,(She nods and the new model steps in.)
+PlayerUndressGagged,(She nods and you remove your outfit.)
+PlayerStripGagged,(She nods and you fully strip.)
+FailUngag,(You try to ungag Julia but fail|miserably as the other students giggle.)
+FailUntie,(You try to untie Julia but fail|miserably as the other students giggle.)
+TightenGagged,(You tighten the knots while she struggles.)|MMNRGN NOG! (She seems to endure the pain.)
+Tighten,(You tighten the knots while she struggles.)|Dio mio!  This is really tight new pupil.
+FailTighten,(You try to tighten Julia's bondage|but fail as the other students giggle.)
+Tickle,(You tickle her in front of the class.|She laughs loudly and seems to enjoy it.)
+TickleRestrained,(You fumble a little but manage to tickle her.|She laughs loudly and seems to enjoy it.)
+AskNewModelGagged,(She nods and looks around.)
+PlayerUngag,Oh!  Why are you gagged poor new pupil?|(She releases you from the gag and smiles.)
+PlayerStayGagged,Someone gagged you?  Cute!  Art is chaos!|(You need 3 love or more to be ungagged by her.)
+JuliaRestrainedPlayerGagged,"(She tugs on her ropes, it seems|she won't be able to help you much.)"
+GaggedSpeach,Eep ah hoze eew wuwii!
diff --git a/C004_ArtClass/Outro/Bell.jpg b/C004_ArtClass/Outro/Bell.jpg
new file mode 100644
index 0000000000..e6a0f10b31
Binary files /dev/null and b/C004_ArtClass/Outro/Bell.jpg differ
diff --git a/C004_ArtClass/Outro/Mildred.jpg b/C004_ArtClass/Outro/Mildred.jpg
new file mode 100644
index 0000000000..6cd2116a6d
Binary files /dev/null and b/C004_ArtClass/Outro/Mildred.jpg differ
diff --git a/C004_ArtClass/Outro/Script.js b/C004_ArtClass/Outro/Script.js
new file mode 100644
index 0000000000..bc5e7750b4
--- /dev/null
+++ b/C004_ArtClass/Outro/Script.js
@@ -0,0 +1,78 @@
+var C004_ArtClass_Outro_Restrained = false;
+
+// Chapter 4 - Outro Load
+function C004_ArtClass_Outro_Load() {
+	
+	// Time is always 10:15:00 in the outro
+	StopTimer(10.25 * 60 * 60 * 1000);
+	C004_ArtClass_Outro_Restrained = Common_PlayerRestrained;
+	ActorSpecificClearInventory("Jennifer", false);
+	ActorSpecificClearInventory("Julia", false);
+	ActorSpecificClearInventory("Sarah", false);
+
+}
+
+// Chapter 4 - Outro Run
+function C004_ArtClass_Outro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");
+		
+	// Write the chapter outro
+	if (Common_PlayerCrime == "") {
+
+		// No crime outro
+		DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
+		DrawText(ctx, GetText("NoCrime1"), 400, 150, "White");
+		if ((TextPhase >= 1) && C004_ArtClass_Outro_Restrained) DrawText(ctx, GetText("NoCrime2A"), 400, 300, "White");
+		if ((TextPhase >= 1) && !C004_ArtClass_Outro_Restrained && (C004_ArtClass_ArtRoom_ExtraModel == "Player")) DrawText(ctx, GetText("NoCrime2B"), 400, 300, "White");
+		if ((TextPhase >= 1) && !C004_ArtClass_Outro_Restrained && (C004_ArtClass_ArtRoom_ExtraModel != "Player")) DrawText(ctx, GetText("NoCrime2C"), 400, 300, "White");
+		if (TextPhase >= 2) DrawText(ctx, GetText("NoCrime3"), 400, 450, "White");
+		
+	} else {
+
+		// Crime outro
+		if (TextPhase <= 1) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
+		if ((TextPhase >= 2) && (Common_PlayerCrime == "RestrainMildred")) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Mildred.jpg", 800, 0);
+		if ((TextPhase >= 2) && (Common_PlayerCrime == "DrugYuki")) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Yuki.jpg", 800, 0);
+		DrawText(ctx, GetText("Crime1"), 400, 100, "White");
+		if ((TextPhase >= 1) && C004_ArtClass_Outro_Restrained) DrawText(ctx, GetText("Crime2A"), 400, 200, "White");
+		if ((TextPhase >= 1) && !C004_ArtClass_Outro_Restrained && (C004_ArtClass_ArtRoom_ExtraModel == "Player")) DrawText(ctx, GetText("Crime2B"), 400, 200, "White");
+		if ((TextPhase >= 1) && !C004_ArtClass_Outro_Restrained && (C004_ArtClass_ArtRoom_ExtraModel != "Player")) DrawText(ctx, GetText("Crime2C"), 400, 200, "White");
+		if ((TextPhase >= 2) && (Common_PlayerCrime == "RestrainMildred")) DrawText(ctx, GetText("Crime3A"), 400, 300, "White");
+		if ((TextPhase >= 2) && (Common_PlayerCrime == "DrugYuki")) DrawText(ctx, GetText("Crime3B"), 400, 300, "White");
+		if (TextPhase >= 3) DrawText(ctx, GetText("Crime4"), 400, 400, "White");
+		if (TextPhase >= 4) DrawText(ctx, GetText("Crime5"), 400, 500, "White");
+
+	}
+
+}
+
+// Chapter 4 - Outro Click
+function C004_ArtClass_Outro_Click() {
+
+	// Jump to the next animation
+	TextPhase++;
+	if ((TextPhase >= 3) && (Common_PlayerCrime == "")) SaveMenu("C005_GymClass", "Intro");
+	if ((TextPhase >= 5) && (Common_PlayerCrime != "")) SaveMenu("C006_Isolation", "Intro");
+
+	// Release the player on phase 2
+	if (TextPhase == 2) {
+
+		// if cuffed, unlock it
+		if (PlayerHasLockedInventory("Rope")) {
+			PlayerUnlockInventory("Rope");
+			PlayerAddInventory("Rope", 1);
+		}
+
+		// if gagged, unlock it	
+		if (PlayerHasLockedInventory("BallGag")) {
+			PlayerUnlockInventory("BallGag");
+			PlayerAddInventory("BallGag", 1);
+		}
+		PlayerUnlockInventory("TapeGag");
+		
+	}
+
+}
\ No newline at end of file
diff --git a/C004_ArtClass/Outro/Text_EN.csv b/C004_ArtClass/Outro/Text_EN.csv
new file mode 100644
index 0000000000..0a1344d216
--- /dev/null
+++ b/C004_ArtClass/Outro/Text_EN.csv
@@ -0,0 +1,14 @@
+Tag,Content
+NoCrime1,"The bell rings again, the art class is over."
+NoCrime2A,You're finally released and dress back up.
+NoCrime2B,You stop posing and sit down to relax quickly.
+NoCrime2C,You finish your painting and give it to Julia.
+NoCrime3,"Your next class starts at 10:30, better not be late."
+Crime1,"The bell rings again, the art class is over."
+Crime2A,You're finally released and dress back up.
+Crime2B,You stop posing and sit down to relax quickly.
+Crime2C,You finish your painting and give it to Julia.
+Crime3A,"When you exit the class, Mildred is waiting for you."
+Crime3B,"When you exit the class, Yuki is waiting for you."
+Crime4,"Furious, she stays silent but grips your arm firmly."
+Crime5,"She drags you down to the basement, where no one goes."
diff --git a/C004_ArtClass/Outro/Yuki.jpg b/C004_ArtClass/Outro/Yuki.jpg
new file mode 100644
index 0000000000..1abfd66125
Binary files /dev/null and b/C004_ArtClass/Outro/Yuki.jpg differ
diff --git a/C004_ArtClass/Sarah/Intro_EN.csv b/C004_ArtClass/Sarah/Intro_EN.csv
new file mode 100644
index 0000000000..c8b443a697
--- /dev/null
+++ b/C004_ArtClass/Sarah/Intro_EN.csv
@@ -0,0 +1,31 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Art is my favorite class.|How's your painting going?,Sarah.jpg
+0,2,0,,Hey there friend!  Isn't art fun?|How's your painting going?,Sarah.jpg
+0,0,2,,(She bows her head quickly.)|So how's your painting going?,Sarah.jpg
+0,0,0,BondageDone,(She giggles.)  Will you tie me up again?|And how's your painting going?,Sarah.jpg
+10,0,0,,Do you enjoy Julia's art class?,Sarah.jpg
+20,0,0,,Julia isn't an easy model|to paint isn't she?,Sarah.jpg
+30,0,0,,I don't know how you will|convince her to get naked.,Sarah.jpg
+50,0,0,,Very nice!  You were able to get her|to remove her top.  Can you make her strip?,Sarah.jpg
+100,0,0,,This is great!  You got her naked.,Sarah.jpg
+100,0,0,IsModel,Do you like this pose?  (She giggles.)|All of this is pretty exciting!,Sarah.jpg
+110,0,0,,You have an evil look in your eyes.|What are you thinking about?,Sarah.jpg
+120,0,0,,So how will you convince|her to get tied up?,Sarah.jpg
+130,0,0,,"This ""Shibari"" plan is the|best idea I've ever had.",Sarah.jpg
+130,0,0,Common_PlayerRestrained,"You look cute like that, I love bondage.",Sarah.jpg
+130,0,0,Common_PlayerGagged,Such a cute gag!  Can I have one?,Sarah.jpg
+130,0,0,IsModel,"This ""Shibari"" plan is the best idea I've|ever had.  Maybe you can tie both of us.",SarahPose.jpg
+140,0,0,,Do you like this pose?  (She giggles.)|All of this is pretty exciting!,SarahUnderwear.jpg
+150,0,0,,(She hums a sexy song and|tries to take an alluring pose.),SarahNaked.jpg
+160,0,0,,There's no way I could undo these ropes.|Not that I want to escape anyway.,SarahRope.jpg
+160,0,0,EggInside,These ropes!  The egg!  This is almost perfect.|Can you also gag me please?  (She giggles.),SarahRope.jpg
+170,0,0,,(She struggles playfully in the rope|and seems to also enjoy the gag.),SarahRopeBallGag.jpg
+170,0,0,EggInside,(She sweats and moans randomly.|She seems to be fighting against the egg.),SarahRopeBallGag.jpg
+180,0,0,,(She struggles playfully in the rope|and seems to also enjoy the gag.),SarahRopeTapeGag.jpg
+180,0,0,EggInside,(She sweats and moans randomly.|She seems to be fighting against the egg.),SarahRopeTapeGag.jpg
+200,0,0,,,SarahReadyOrgasmBallGag.jpg
+210,0,0,,,SarahReadyOrgasmBallGag.jpg
+220,0,0,,,SarahOrgasmBallGag.jpg
+250,0,0,,,SarahReadyOrgasmTapeGag.jpg
+260,0,0,,,SarahReadyOrgasmTapeGag.jpg
+270,0,0,,,SarahOrgasmTapeGag.jpg
diff --git a/C004_ArtClass/Sarah/Sarah.jpg b/C004_ArtClass/Sarah/Sarah.jpg
new file mode 100644
index 0000000000..fca49f12b5
Binary files /dev/null and b/C004_ArtClass/Sarah/Sarah.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahNaked.jpg b/C004_ArtClass/Sarah/SarahNaked.jpg
new file mode 100644
index 0000000000..83e3dd8ddc
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahNaked.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahOrgasmBallGag.jpg b/C004_ArtClass/Sarah/SarahOrgasmBallGag.jpg
new file mode 100644
index 0000000000..92eb460f7c
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahOrgasmBallGag.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahOrgasmTapeGag.jpg b/C004_ArtClass/Sarah/SarahOrgasmTapeGag.jpg
new file mode 100644
index 0000000000..a8b1ed6a5c
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahOrgasmTapeGag.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahPose.jpg b/C004_ArtClass/Sarah/SarahPose.jpg
new file mode 100644
index 0000000000..f2837d79b3
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahPose.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahReadyOrgasmBallGag.jpg b/C004_ArtClass/Sarah/SarahReadyOrgasmBallGag.jpg
new file mode 100644
index 0000000000..b840095fdf
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahReadyOrgasmBallGag.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahReadyOrgasmTapeGag.jpg b/C004_ArtClass/Sarah/SarahReadyOrgasmTapeGag.jpg
new file mode 100644
index 0000000000..b9821de2cb
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahReadyOrgasmTapeGag.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahRope.jpg b/C004_ArtClass/Sarah/SarahRope.jpg
new file mode 100644
index 0000000000..8e95730320
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahRope.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahRopeBallGag.jpg b/C004_ArtClass/Sarah/SarahRopeBallGag.jpg
new file mode 100644
index 0000000000..4a25283c1f
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahRopeBallGag.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahRopeTapeGag.jpg b/C004_ArtClass/Sarah/SarahRopeTapeGag.jpg
new file mode 100644
index 0000000000..bce7d78ba0
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahRopeTapeGag.jpg differ
diff --git a/C004_ArtClass/Sarah/SarahUnderwear.jpg b/C004_ArtClass/Sarah/SarahUnderwear.jpg
new file mode 100644
index 0000000000..5ce390f2ed
Binary files /dev/null and b/C004_ArtClass/Sarah/SarahUnderwear.jpg differ
diff --git a/C004_ArtClass/Sarah/Script.js b/C004_ArtClass/Sarah/Script.js
new file mode 100644
index 0000000000..55881dee8e
--- /dev/null
+++ b/C004_ArtClass/Sarah/Script.js
@@ -0,0 +1,229 @@
+var C004_ArtClass_Sarah_CurrentStage = 0;
+var C004_ArtClass_Sarah_IsModel = false;
+var C004_ArtClass_Sarah_BondageDone = false;
+var C004_ArtClass_Sarah_UnderwearDone = false;
+var C004_ArtClass_Sarah_NakedDone = false;
+var C004_ArtClass_Sarah_RopeDone = false;
+var C004_ArtClass_Sarah_GagDone = false;
+var C004_ArtClass_Sarah_GetTapeDone = false;
+var C004_ArtClass_Sarah_GetTapeAvail = false;
+var C004_ArtClass_Sarah_CropDone = false;
+var C004_ArtClass_Sarah_CollarRemarkReady = true;
+var C004_ArtClass_Sarah_TightenDone = false;
+var C004_ArtClass_Sarah_CanBegForRelease = false;
+var C004_ArtClass_Sarah_CanBeTied = false;
+var C004_ArtClass_Sarah_CanBeBallGagged = false;
+var C004_ArtClass_Sarah_BowHeadDone = false;
+var C004_ArtClass_Sarah_EggConfirm = false;
+var C004_ArtClass_Sarah_EggInside = false;
+var C004_ArtClass_Sarah_CrotchRopeReady = false;
+var C004_ArtClass_Sarah_OrgasmDone = false;
+
+// Chapter 4 - Sarah Load
+function C004_ArtClass_Sarah_Load() {
+
+	// Load the scene parameters	
+	ActorLoad("Sarah", "ArtRoom");
+	LoadInteractions();
+	C004_ArtClass_Sarah_EggConfirm = false;
+	C004_ArtClass_Sarah_BondageDone = ActorGetValue(ActorBondageCount);
+	C004_ArtClass_Sarah_GetTapeAvail = (!C004_ArtClass_Sarah_GetTapeDone && Common_BondageAllowed && (C004_ArtClass_Sarah_CurrentStage >= 130));
+	C004_ArtClass_Sarah_CanBegForRelease = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_PlayerRestrained && Common_PlayerNotGagged);
+	C004_ArtClass_Sarah_CanBeTied = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_BondageAllowed && Common_PlayerNotRestrained && Common_PlayerNotGagged && Common_PlayerNaked && PlayerHasInventory("Rope"));
+	C004_ArtClass_Sarah_CanBeBallGagged = ((C004_ArtClass_ArtRoom_ExtraModel == "Player") && Common_BondageAllowed && Common_PlayerRestrained && Common_PlayerNotGagged && Common_PlayerNaked && PlayerHasInventory("BallGag"));
+
+	// Set the correct stage
+	if ((C004_ArtClass_ArtRoom_JuliaStage == 2) && (C004_ArtClass_Sarah_CurrentStage < 50)) C004_ArtClass_Sarah_CurrentStage = 50;
+	if ((C004_ArtClass_ArtRoom_JuliaStage == 3) && (C004_ArtClass_Sarah_CurrentStage < 100)) C004_ArtClass_Sarah_CurrentStage = 100;
+	C004_ArtClass_Sarah_IsModel = (C004_ArtClass_ArtRoom_ExtraModel == "Sarah");
+	if (C004_ArtClass_Sarah_IsModel && (C004_ArtClass_Sarah_CurrentStage <= 130)) OverridenIntroImage = "SarahPose.jpg";
+	if (!C004_ArtClass_Sarah_IsModel && (C004_ArtClass_Sarah_CurrentStage > 130)) C004_ArtClass_Sarah_CurrentStage = 130;
+	if ((C004_ArtClass_Sarah_CurrentStage >= 200) && (C004_ArtClass_Sarah_CurrentStage < 250)) C004_ArtClass_Sarah_CurrentStage = 170;
+	if ((C004_ArtClass_Sarah_CurrentStage >= 250) && (C004_ArtClass_Sarah_CurrentStage < 300)) C004_ArtClass_Sarah_CurrentStage = 180;
+
+}
+
+// Chapter 4 - Sarah Run
+function C004_ArtClass_Sarah_Run() {
+	BuildInteraction(C004_ArtClass_Sarah_CurrentStage);
+}
+
+// Chapter 4 - Sarah Click
+function C004_ArtClass_Sarah_Click() {
+
+	// Regular interactions
+	ClickInteraction(C004_ArtClass_Sarah_CurrentStage);	
+	if (C004_ArtClass_Sarah_CurrentStage > 130) OverridenIntroImage = "";
+	var ClickInv = GetClickedInventory();
+
+	// When the user wants to use any item and bondage isn't allowed
+	if (!Common_BondageAllowed && ((ClickInv == "Rope") || (ClickInv == "BallGag") || (ClickInv == "TapeGag") || (ClickInv == "Crop") || (ClickInv == "Cuffs") || (ClickInv == "VibratingEgg")) && Common_PlayerNotRestrained)
+		OverridenIntroText = GetText("NoBondage");
+	
+	// When the user wants to use the rope
+	if (Common_BondageAllowed && (C004_ArtClass_Sarah_CurrentStage >= 150) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("Rope");
+		C004_ArtClass_Sarah_CurrentStage = 160;
+		C004_ArtClass_ArtRoom_SarahStage = 3;
+		ActorAddInventory("Rope");
+		PlayerRemoveInventory("Rope", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use a gag without tying her
+	if (Common_BondageAllowed && ((ClickInv == "BallGag") || (ClickInv == "TapeGag")) && !ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && !ActorHasInventory("TapeGag") && Common_PlayerNotRestrained)
+		OverridenIntroText = GetText("BondageBeforeGag");
+		
+	// When the user wants to use a BallGag	
+	if (Common_BondageAllowed && (ClickInv == "BallGag") && ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("BallGag");
+		C004_ArtClass_Sarah_CurrentStage = 170;
+		C004_ArtClass_Sarah_Ungag();
+		C004_ArtClass_ArtRoom_SarahStage = 4;
+		ActorAddInventory("BallGag");
+		PlayerRemoveInventory("BallGag", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use a tape gag
+	if (Common_BondageAllowed && (ClickInv == "TapeGag") && ActorHasInventory("Rope") && !ActorHasInventory("TapeGag") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("TapeGag");
+		C004_ArtClass_Sarah_CurrentStage = 180;
+		C004_ArtClass_Sarah_Ungag();
+		C004_ArtClass_ArtRoom_SarahStage = 5;
+		ActorAddInventory("TapeGag");
+		PlayerRemoveInventory("TapeGag", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the crop
+	if (Common_BondageAllowed && (ClickInv == "Crop") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
+		OverridenIntroText = GetText("Crop");
+		if (C004_ArtClass_Sarah_CropDone == false) { C004_ArtClass_Sarah_CropDone = true; ActorChangeAttitude(1, 1); }
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the vibrating egg on Sarah
+	if (Common_BondageAllowed && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {		
+		if (C004_ArtClass_Sarah_EggConfirm == false) {
+			C004_ArtClass_Sarah_EggConfirm = true;
+			OverridenIntroText = GetText("VibratingEggWarning");
+		} else {
+			ActorAddInventory("VibratingEgg");
+			PlayerRemoveInventory("VibratingEgg", 1);
+			ActorChangeAttitude(1, 0);
+			OverridenIntroText = GetText("VibratingEggInsert");
+			C004_ArtClass_Sarah_EggInside = true;
+		}
+	}
+	
+	// Set if the crotch robe/orgasm mode is ready
+	C004_ArtClass_Sarah_CrotchRopeReady = (C004_ArtClass_Sarah_IsModel && ActorHasInventory("VibratingEgg") && !C004_ArtClass_Sarah_OrgasmDone);
+
+}
+
+// Chapter 4 - Sarah Shibari Comment - Start Julia Stage 4
+function C004_ArtClass_Sarah_ShibariComment() {
+	if (C004_ArtClass_ArtRoom_JuliaStage == 3) 
+		C004_ArtClass_ArtRoom_JuliaStage = 4;
+}
+
+// Chapter 4 - Sarah Set Clothes Level
+function C004_ArtClass_Sarah_SetCloth(Stage, LoveMod, SubMod) {
+	C004_ArtClass_ArtRoom_SarahStage = Stage;
+	if ((Stage == 1) && (C004_ArtClass_Sarah_UnderwearDone == false)) { C004_ArtClass_Sarah_UnderwearDone = true; ActorChangeAttitude(LoveMod, SubMod); }
+	if ((Stage == 2) && (C004_ArtClass_Sarah_NakedDone == false)) { C004_ArtClass_Sarah_NakedDone = true; ActorChangeAttitude(LoveMod, SubMod); }
+}
+
+// Chapter 4 - Sarah Get Tape
+function C004_ArtClass_Sarah_GetTape() {
+	C004_ArtClass_Sarah_GetTapeDone = true;
+	C004_ArtClass_Sarah_GetTapeAvail = false;
+	PlayerAddInventory("TapeGag", 8);
+}
+
+// Chapter 4 - Sarah Untie
+function C004_ArtClass_Sarah_Untie() {
+	C004_ArtClass_ArtRoom_SarahStage = 2;
+	ActorRemoveInventory("Rope");
+	PlayerAddInventory("Rope", 1);
+}
+
+// Chapter 4 - Sarah Ungag
+function C004_ArtClass_Sarah_Ungag() {
+	C004_ArtClass_ArtRoom_SarahStage = 3;
+	if (ActorHasInventory("BallGag")) {
+		PlayerAddInventory("BallGag", 1);
+		ActorRemoveInventory("BallGag");
+	}
+	ActorRemoveInventory("TapeGag");
+}
+
+// Chapter 4 - Sarah Collar Remark
+function C004_ArtClass_Sarah_CollarRemark() {
+	C004_ArtClass_Sarah_CollarRemarkReady = false;
+}
+
+// Chapter 4 - Sarah Tighten
+function C004_ArtClass_Sarah_Tighten() {
+	if (Common_PlayerNotRestrained) {
+		if (C004_ArtClass_Sarah_TightenDone == false) {
+			if (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag")) OverridenIntroText = GetText("TightenGagged");
+			else OverridenIntroText = GetText("Tighten");
+			ActorChangeAttitude(1, 0);
+			C004_ArtClass_Sarah_TightenDone = true;
+		}
+	} else {
+		OverridenIntroText = GetText("TightenFail");
+	}
+}
+
+// Chapter 4 - Sarah Beg For Release, it can trick the player
+function C004_ArtClass_Sarah_BegForRelease() {
+	if (ActorGetValue(ActorSubmission) >= 4) {
+		OverridenIntroText = GetText("PlayerRelease");
+		PlayerUnlockInventory("Rope");
+		PlayerAddInventory("Rope", 1);
+		C004_ArtClass_Sarah_CanBeBallGagged = false;
+		CurrentTime = CurrentTime + 60000;
+	} else {
+		OverridenIntroText = GetText("PlayerGag");
+		C004_ArtClass_Sarah_CanBegForRelease = false;
+		C004_ArtClass_Sarah_CanBeBallGagged = false;
+		PlayerLockInventory("TapeGag");
+		CurrentTime = CurrentTime + 60000;
+	}
+}
+
+// Chapter 4 - Sarah Tie Player
+function C004_ArtClass_Sarah_TiePlayer() {
+	PlayerRemoveInventory("Rope", 1);
+	PlayerLockInventory("Rope");
+	C004_ArtClass_Sarah_CanBeTied = false;
+}
+
+// Chapter 4 - Sarah BallGag Player
+function C004_ArtClass_Sarah_BallGagPlayer() {
+	PlayerRemoveInventory("BallGag", 1);
+	PlayerLockInventory("BallGag");
+	C004_ArtClass_Sarah_CanBeBallGagged = false;
+}
+
+// Chapter 4 - Sarah Bow Head
+function C004_ArtClass_Sarah_BowHead() {
+	if (C004_ArtClass_Sarah_BowHeadDone == false) {
+		ActorChangeAttitude(0, -1);
+		C004_ArtClass_Sarah_BowHeadDone = true;
+	}
+}
+
+// Chapter 4 - Orgasm Phase Start, the player only has 1 shot for it
+function C004_ArtClass_Sarah_OrgasmStart() {
+	C004_ArtClass_Sarah_OrgasmDone = true;
+	C004_ArtClass_Sarah_CrotchRopeReady = false;
+}
+
+// Chapter 4 - Sarah Orgasm
+function C004_ArtClass_Sarah_Orgasm() {
+	ActorAddOrgasm();
+}
\ No newline at end of file
diff --git a/C004_ArtClass/Sarah/Stage_EN.csv b/C004_ArtClass/Sarah/Stage_EN.csv
new file mode 100644
index 0000000000..518bbc419f
--- /dev/null
+++ b/C004_ArtClass/Sarah/Stage_EN.csv
@@ -0,0 +1,74 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Painting isn't my forte.,Oh!  I'm sure you can do it.|You don't like art and painting?,10,0,-1,
+0,0,0,,I should be ok.,I'm sure you will be fine.|So do you like the art class and Julia?,10,0,0,
+0,0,0,,I would rather|paint you.,(She blushes.)  So kind of you.|So you don't like our teacher?,10,1,0,
+0,0,0,BondageDone,If you're a good girl|I'll tie you again today.,(She bows her head.)  Yes Miss.|So do you like the art class and Julia?,10,0,1,
+10,0,0,,Julia is a big|model to paint.,Don't be too tough with her.  She's|kind of fat but she's a good teacher.,20,-1,0,
+10,0,0,,There are too many|details on her dress.,That's the challenge!  She's|not an easy model to paint.,20,0,0,
+10,0,0,,"Art is fine,|but Julia isn't.",Don't be too tough with her.  She's|getting older but she's a good teacher.,20,-1,0,
+20,0,0,,Wouldn't it better|if she got naked?,I totally agree.  But|how will you convince her?,30,1,0,
+20,0,0,,Admit it.  You would|enjoy it if she stripped.,(She giggles.)  That's true.|But how will you convince her to strip?,30,0,1,
+20,0,0,,I'll never succeed unless|she removes that dress.,Remove her dress?  That's not a bad idea.|You'll need to convince her though.,30,0,-1,
+30,0,0,,Help me convince her.,"I don't know how to convince her.|Maybe you can ask Jennifer, she's smart.",30,0,0,
+100,0,0,,Do you think we|can raise the bar?,Raise the bar?  What do you want?,110,0,0,
+100,0,0,,Should we spice|things up?,Spice!  Spice!  Spice!  What will you do?,110,1,0,
+110,0,0,,We should|restrain Julia.,Restrain her?  That's devious.|How will you convince her?,120,0,0,
+110,0,0,,Julia would be even|better in bondage.,"Yes, yes, yes and yes.  But|how will you convince her?",120,1,0,
+110,0,0,,Let's get her fat|butt all tied up.,I wouldn't have said it this way but I like|the idea.  How will you convince her?,120,-1,1,
+120,0,0,,We can convince|her using art.,"Oh!  There's something you could try.|Tell her of ""Shibari"", the Japanese rope bondage art.",130,0,0,ShibariComment()
+120,0,0,,She loves art.|Can we use that?,"Yes!  Stay quiet.  I have the perfect plan.|Tell her of ""Shibari"", the Japanese rope bondage art.",130,0,-1,ShibariComment()
+130,0,0,CanBeTied,"Sarah, can you|tie me up?","I prefer to be tied up, but maybe I can help.|(She takes your rope and restrains you pretty well.)",130,0,0,TiePlayer()
+130,0,0,CanBeBallGagged,"Check in my stuff,|there's a ballgag.",Oh nice!  Open wide pretty model.|(She straps the ballgag in your mouth.),130,0,0,BallGagPlayer()
+130,0,0,Common_PlayerRestrained,"Sarah, can you help me?",,130,0,0,BegForRelease()
+130,0,0,Common_PlayerGagged,"@Nanghn, uuumng!",(She giggles)  You're so cute with that gag.,130,0,0,
+130,0,0,Common_PlayerGagged,(Bow your head.),You're a nice submissive you know?,130,0,0,BowHead()
+130,0,0,GetTapeAvail,Anything else to spice|things up?  (1 minute),Yes!  I have something you can use here.|(She walks around and returns with some tape.),130,0,0,GetTape()
+130,0,0,IsModel,Shouldn't you undress|like Julia? (1 minute),(She giggles.)  Indeed.|(She strips to her underwear.),140,0,0,"SetCloth(1, 0, 0)"
+130,0,0,IsModel,Show some more skin|blondie.  (1 minute),Blondie?  Mmmh.  Ok.|(She strips to her underwear.),140,0,0,"SetCloth(1, -1, 1)"
+130,0,0,IsModel,You would be cute without|that outfit.  (1 minute),You really think so?|(She strips to her underwear.),140,0,0,"SetCloth(1, 1, 0)"
+140,0,0,GetTapeAvail,Anything else to spice|things up?  (1 minute),Yes!  I have something you can use here.|(She walks around and returns with some tape.),140,0,0,GetTape()
+140,0,0,IsModel,Common girl!  You can|do better.  (1 minute),"I know, I know, I was teasing.|(She playfully removes her undies.)",150,0,0,"SetCloth(2, 0, 1)"
+140,0,0,IsModel,I think you know what|to do now.  (1 minute),I certainly do.  For art!|(She playfully removes her undies.),150,0,0,"SetCloth(2, 0, 0)"
+140,0,0,IsModel,Do you dare stripping?|(Giggle shyly.)  (1 minute),Ah!  An easy dare!|(She playfully removes her undies.),150,0,0,"SetCloth(2, 0, -1)"
+140,0,0,IsModel,Let's see that pose with|your outfit.  (1 minute),Try to make your mind.|(She dresses back and pouts.),130,0,0,"SetCloth(0, 0, 0)"
+150,0,0,GetTapeAvail,Anything else to spice|things up?  (1 minute),Yes!  I have something you can use here.|(She walks around and returns with some tape.),150,0,0,GetTape()
+150,0,0,IsModel,Try the pose with your|undies on.  (1 minute),It won't be as sexy though.|(She puts back her underwear and pouts.),140,0,0,"SetCloth(1, 0, 0)"
+150,0,0,IsModel,Let's try your outfit|again.  (1 minute),Really?  I'm not pretty enough?|(She puts back her outfit and pouts.),130,0,0,"SetCloth(0, 0, 0)"
+160,0,5,CollarRemarkReady,You're good enough|to be collared.,You think?  Thanks Miss.|(She blushes and smiles.),160,1,1,CollarRemark()
+160,0,0,EggInside,Sarah.  Are you|enjoying the egg?,I am!  Thank you so much.|It's buzzing remind me of you.,160,0,0,
+160,2,0,Common_PlayerNotGagged,(Kiss her.)|(1 minute),"(She blushes.)  You're so|nice, you remind me of Amanda.",160,0,0,
+160,0,0,,(Tighten the ropes.)|(1 minute),The ropes are as tight as they can be.,160,0,0,Tighten()
+160,0,0,Common_PlayerNotRestrained,(Untie her.)|(1 minute),"Ooooooh, why did you untie me?|(She pulls her tongue and takes her pose.)",150,0,0,Untie()
+160,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),You're funny.  But is that the best you can do?|(She giggles but isn't impressed by your tickling.),160,0,0,
+170,0,0,CrotchRopeReady,(Play with the crotch|rope.)  (1 minute),(You play while she trembles and falls on|her knees.  Ready to have a huge orgasm.),200,0,0,OrgasmStart()
+170,0,0,,(Tighten the ropes.)|(1 minute),The ropes are as tight as they can be.,170,0,0,Tighten()
+170,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(She stretches her jaw and smiles)|Do you have a bigger gag coming up?,160,0,0,Ungag()
+170,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),(She giggles but isn't impressed by your tickling.),170,0,0,
+180,0,0,CrotchRopeReady,(Play with the crotch|rope.)  (1 minute),(You play while she trembles and falls on|her knees.  Ready to have a huge orgasm.),250,0,0,OrgasmStart()
+180,0,0,,(Tighten the ropes.)|(1 minute),The ropes are as tight as they can be.,180,0,0,Tighten()
+180,0,0,Common_PlayerNotRestrained,(Ungag her.)|(1 minute),(She smiles at you.)  This tape|was the best idea I've ever had.,160,0,0,Ungag()
+180,0,0,Common_PlayerNotRestrained,(Tickle her.)|(1 minute),(She giggles but isn't impressed by your tickling.),180,0,0,
+200,0,0,,Do you want to|climax subbie girl?,"(She nods slowly, trying to control herself.)",210,0,1,
+200,0,0,,So this slut|wants to cum?,"(She shakes her head from left to right, then|from up to down, trying to control herself.)",210,-1,0,
+200,0,0,,You seem ready|to reach heaven.,"(She nods happily, trying to control herself.)",210,1,0,
+200,0,0,,Poor girl.|(Help her up.) (1 minute),(You help her stand up as she|slowly regains control of herself.),170,0,0,
+210,0,0,,You deserve it.|(Pleasure her.) (1 minute),"(You play with her crotch rope and she gets|a quiet orgasm.  Some notice it, other don't.)",220,1,0,Orgasm()
+210,0,0,,You're mine now.|(Pleasure her.) (1 minute),"(You play with her crotch rope and she gets|a quiet orgasm.  Some notice it, other don't.)",220,0,1,Orgasm()
+210,0,0,,You don't deserve it.|(Help her up.) (1 minute),(You deny her of her orgasm and help|her stand up.  She makes puppy eyes at you.),170,-1,1,
+210,0,0,,Not in class.|(Help her up.) (1 minute),(You deny her of her orgasm and help|her stand up.  She makes puppy eyes at you.),170,-1,-1,
+220,0,0,,Good girl.|(Help her up.) (1 minute),(She nods and trembles while you pick|her up and raise her on her feet.),170,1,0,
+220,0,0,,You're a whore.|(Help her up.) (1 minute),(She frowns and trembles while you pick|her up and raise her on her feet.),170,-1,1,
+220,0,0,,Next time I'll be tied up.|(Help her up.) (1 minute),(She giggles and trembles while you pick|her up and raise her on her feet.),170,0,-1,
+220,0,0,,(Stay silent and help|her stand up.) (1 minute),(She still trembles while you pick|her up and raise her on her feet.),170,0,0,
+250,0,0,,Do you want to|climax subbie girl?,"(She nods slowly, trying to control herself.)",260,0,1,
+250,0,0,,So this slut|wants to cum?,"(She shakes her head from left to right, then|from up to down, trying to control herself.)",260,-1,0,
+250,0,0,,You seem ready|to reach heaven.,"(She nods happily, trying to control herself.)",260,1,0,
+250,0,0,,Poor girl.|(Help her up.) (1 minute),(You help her stand up as she|slowly regains control of herself.),180,0,0,
+260,0,0,,You deserve it.|(Pleasure her.) (1 minute),"(You play with her crotch rope and she gets|a quiet orgasm.  Some notice it, other don't.)",270,1,0,Orgasm()
+260,0,0,,You're mine now.|(Pleasure her.) (1 minute),"(You play with her crotch rope and she gets|a quiet orgasm.  Some notice it, other don't.)",270,0,1,Orgasm()
+260,0,0,,You don't deserve it.|(Help her up.) (1 minute),(You deny her of her orgasm and help|her stand up.  She makes puppy eyes at you.),180,-1,1,
+260,0,0,,Not in class.|(Help her up.) (1 minute),(You deny her of her orgasm and help|her stand up.  She makes puppy eyes at you.),180,-1,-1,
+270,0,0,,Good girl.|(Help her up.) (1 minute),(She nods and trembles while you pick|her up and raise her on her feet.),180,1,0,
+270,0,0,,You're a whore.|(Help her up.) (1 minute),(She frowns and trembles while you pick|her up and raise her on her feet.),180,-1,1,
+270,0,0,,Next time I'll be tied up.|(Help her up.) (1 minute),(She giggles and trembles while you pick|her up and raise her on her feet.),180,0,-1,
+270,0,0,,(Stay silent and help|her stand up.) (1 minute),(She still trembles while you pick|her up and raise her on her feet.),180,0,0,
diff --git a/C004_ArtClass/Sarah/Text_EN.csv b/C004_ArtClass/Sarah/Text_EN.csv
new file mode 100644
index 0000000000..85390f4cdb
--- /dev/null
+++ b/C004_ArtClass/Sarah/Text_EN.csv
@@ -0,0 +1,14 @@
+Tag,Content
+NoBondage,"This looks thrilling, but we need|Julia's approval to do anything kinky."
+Rope,(She shivers and moans while you restrain|her body and arms.)  This is wonderful.
+BondageBeforeGag,"(She giggles and pushes your hands away.)|No, no, no, you have to tie me up first."
+BallGag,(She hungrily opens her mouth so you|can strap the ballgag around her head.)
+TapeGag,(She happily shuts her mouth|so you can tape it easily.)
+Crop,(You whip her with the crop a few|times.  She moans and seems to enjoy it.)
+VibratingEggWarning,"(You might not be able to recover the egg if|you insert it in Sarah, click on it again to do it.)"
+VibratingEggInsert,(Sarah sees the egg and nods happily.|You insert it and she starts to moan randomly.)
+TightenGagged,(You tighten the knots while she moans|and seems to be getting lots of pleasure.)
+Tighten,"(You tighten the knots while she moans.)|Mmmmhh, can we see each other after school?"
+TightenFail,(You try to tighten Sarah's bondage|but fail as the other students giggle.)
+PlayerRelease,Yes Miss.  Someone like you shouldn't be tied up.|(She releases you from your bondage.)
+PlayerGag,Help you?  Yes!  I know what could help.|(She searches to find tape and shuts your mouth.)
diff --git a/C005_GymClass/GymFight/Fight.csv b/C005_GymClass/GymFight/Fight.csv
new file mode 100644
index 0000000000..2b29a6835b
--- /dev/null
+++ b/C005_GymClass/GymFight/Fight.csv
@@ -0,0 +1,15 @@
+From,To,Image
+-1,-1,FightIntro.jpg
+0,0,FightLose.jpg
+1,9,Fight1.jpg
+10,18,Fight2.jpg
+19,27,Fight3.jpg
+28,36,Fight4.jpg
+37,45,Fight5.jpg
+46,54,FightEven.jpg
+55,63,Fight6.jpg
+64,72,Fight7.jpg
+73,81,Fight8.jpg
+82,90,Fight9.jpg
+91,99,Fight10.jpg
+100,100,FightWin.jpg
diff --git a/C005_GymClass/GymFight/Fight1.jpg b/C005_GymClass/GymFight/Fight1.jpg
new file mode 100644
index 0000000000..19112fa66d
Binary files /dev/null and b/C005_GymClass/GymFight/Fight1.jpg differ
diff --git a/C005_GymClass/GymFight/Fight10.jpg b/C005_GymClass/GymFight/Fight10.jpg
new file mode 100644
index 0000000000..0bd4eeb1f0
Binary files /dev/null and b/C005_GymClass/GymFight/Fight10.jpg differ
diff --git a/C005_GymClass/GymFight/Fight2.jpg b/C005_GymClass/GymFight/Fight2.jpg
new file mode 100644
index 0000000000..e5d09694ac
Binary files /dev/null and b/C005_GymClass/GymFight/Fight2.jpg differ
diff --git a/C005_GymClass/GymFight/Fight3.jpg b/C005_GymClass/GymFight/Fight3.jpg
new file mode 100644
index 0000000000..51fd1af24d
Binary files /dev/null and b/C005_GymClass/GymFight/Fight3.jpg differ
diff --git a/C005_GymClass/GymFight/Fight4.jpg b/C005_GymClass/GymFight/Fight4.jpg
new file mode 100644
index 0000000000..5940ce3a59
Binary files /dev/null and b/C005_GymClass/GymFight/Fight4.jpg differ
diff --git a/C005_GymClass/GymFight/Fight5.jpg b/C005_GymClass/GymFight/Fight5.jpg
new file mode 100644
index 0000000000..fc06322b81
Binary files /dev/null and b/C005_GymClass/GymFight/Fight5.jpg differ
diff --git a/C005_GymClass/GymFight/Fight6.jpg b/C005_GymClass/GymFight/Fight6.jpg
new file mode 100644
index 0000000000..5f82c180f7
Binary files /dev/null and b/C005_GymClass/GymFight/Fight6.jpg differ
diff --git a/C005_GymClass/GymFight/Fight7.jpg b/C005_GymClass/GymFight/Fight7.jpg
new file mode 100644
index 0000000000..a2dc0483a6
Binary files /dev/null and b/C005_GymClass/GymFight/Fight7.jpg differ
diff --git a/C005_GymClass/GymFight/Fight8.jpg b/C005_GymClass/GymFight/Fight8.jpg
new file mode 100644
index 0000000000..19a98fdb53
Binary files /dev/null and b/C005_GymClass/GymFight/Fight8.jpg differ
diff --git a/C005_GymClass/GymFight/Fight9.jpg b/C005_GymClass/GymFight/Fight9.jpg
new file mode 100644
index 0000000000..407ac12eb2
Binary files /dev/null and b/C005_GymClass/GymFight/Fight9.jpg differ
diff --git a/C005_GymClass/GymFight/FightEven.jpg b/C005_GymClass/GymFight/FightEven.jpg
new file mode 100644
index 0000000000..6daed57729
Binary files /dev/null and b/C005_GymClass/GymFight/FightEven.jpg differ
diff --git a/C005_GymClass/GymFight/FightIntro.jpg b/C005_GymClass/GymFight/FightIntro.jpg
new file mode 100644
index 0000000000..f37271f8b1
Binary files /dev/null and b/C005_GymClass/GymFight/FightIntro.jpg differ
diff --git a/C005_GymClass/GymFight/FightLose.jpg b/C005_GymClass/GymFight/FightLose.jpg
new file mode 100644
index 0000000000..0db82e7054
Binary files /dev/null and b/C005_GymClass/GymFight/FightLose.jpg differ
diff --git a/C005_GymClass/GymFight/FightWin.jpg b/C005_GymClass/GymFight/FightWin.jpg
new file mode 100644
index 0000000000..d59fcccc20
Binary files /dev/null and b/C005_GymClass/GymFight/FightWin.jpg differ
diff --git a/C005_GymClass/GymFight/HitIcon0.png b/C005_GymClass/GymFight/HitIcon0.png
new file mode 100644
index 0000000000..29b593f9b1
Binary files /dev/null and b/C005_GymClass/GymFight/HitIcon0.png differ
diff --git a/C005_GymClass/GymFight/HitIcon1.png b/C005_GymClass/GymFight/HitIcon1.png
new file mode 100644
index 0000000000..29b593f9b1
Binary files /dev/null and b/C005_GymClass/GymFight/HitIcon1.png differ
diff --git a/C005_GymClass/GymFight/HitIcon2.png b/C005_GymClass/GymFight/HitIcon2.png
new file mode 100644
index 0000000000..29b593f9b1
Binary files /dev/null and b/C005_GymClass/GymFight/HitIcon2.png differ
diff --git a/C005_GymClass/GymFight/HitIcon3.png b/C005_GymClass/GymFight/HitIcon3.png
new file mode 100644
index 0000000000..29b593f9b1
Binary files /dev/null and b/C005_GymClass/GymFight/HitIcon3.png differ
diff --git a/C005_GymClass/GymFight/Script.js b/C005_GymClass/GymFight/Script.js
new file mode 100644
index 0000000000..541f1534bd
--- /dev/null
+++ b/C005_GymClass/GymFight/Script.js
@@ -0,0 +1,31 @@
+// Chapter 5 - Gym Fight Load
+function C005_GymClass_GymFight_Load() {
+	if (C005_GymClass_Jennifer_PracticeMode) LoadFight("Jennifer", "Easy", -6);
+	else LoadFight("Jennifer", "Normal", -6);
+}
+
+// Chapter 5 - Gym Fight Run
+function C005_GymClass_GymFight_Run() {
+	RenderFight();
+}
+
+// Chapter 5 - Gym Fight Click
+function C005_GymClass_GymFight_Click() {
+	FightClick();
+}
+
+// Chapter 5 - Gym Fight Key Down
+function C005_GymClass_GymFight_KeyDown() {
+	FightKeyDown();
+}
+
+// Chapter 5 - Gym Fight End
+function C005_GymClass_GymFight_FightEnd(Victory) {
+	
+	// The first fight counts if it wasn't on practice mode
+	if (!C005_GymClass_Jennifer_PracticeMode) {
+		if (Victory) C005_GymClass_Jennifer_CurrentStage = 100;
+		else C005_GymClass_Jennifer_CurrentStage = 200;
+	}
+
+}
\ No newline at end of file
diff --git a/C005_GymClass/GymFight/Text_CN.csv b/C005_GymClass/GymFight/Text_CN.csv
new file mode 100644
index 0000000000..a2c16627c3
--- /dev/null
+++ b/C005_GymClass/GymFight/Text_CN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Easy,简单
+Normal,中等
+Hard,困难
+StartsIn,开始于
+Difficulty,难度:
+Perfect,完美胜利!
+Victory,你赢了!
+Defeat,你输了!
+ClickContinue,点击图片以继续
diff --git a/C005_GymClass/GymFight/Text_EN.csv b/C005_GymClass/GymFight/Text_EN.csv
new file mode 100644
index 0000000000..5396174641
--- /dev/null
+++ b/C005_GymClass/GymFight/Text_EN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Easy,Easy
+Normal,Normal
+Hard,Hard
+StartsIn,Starts in
+Difficulty,Difficulty:
+Perfect,Perfect fight!
+Victory,You won!
+Defeat,You lost!
+ClickContinue,Click on the image to continue.
diff --git a/C005_GymClass/Intro/Background.jpg b/C005_GymClass/Intro/Background.jpg
new file mode 100644
index 0000000000..96e4b652d0
Binary files /dev/null and b/C005_GymClass/Intro/Background.jpg differ
diff --git a/C005_GymClass/Intro/Script.js b/C005_GymClass/Intro/Script.js
new file mode 100644
index 0000000000..62c5760f37
--- /dev/null
+++ b/C005_GymClass/Intro/Script.js
@@ -0,0 +1,37 @@
+// Chapter 5 - Intro Load
+function C005_GymClass_Intro_Load() {
+
+	// Time is always 10:30 on the intro, no timer
+	StopTimer(10.5 * 60 * 60 * 1000);
+	
+	// Do not allow bondage when we begin
+	Common_BondageAllowed = false;
+	Common_SelfBondageAllowed = false;
+
+}
+
+// Chapter 5 - Intro Run
+function C005_GymClass_Intro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
+
+	// Write the chapter introduction
+	DrawText(ctx, GetText("Intro1"), 600, 100, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 600, 200, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 600, 300, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 600, 400, "White");
+	if (TextPhase >= 4) DrawText(ctx, GetText("Intro5"), 600, 500, "White");
+
+}
+
+// Chapter 5 - Intro Click
+function C005_GymClass_Intro_Click() {
+	TextPhase++;
+	if (TextPhase >= 5) {
+		PlayerClothes("Judo");
+		Common_SelfBondageAllowed = false;
+		SetScene(CurrentChapter, "Jennifer");		
+	}
+}
\ No newline at end of file
diff --git a/C005_GymClass/Intro/Text_CN.csv b/C005_GymClass/Intro/Text_CN.csv
new file mode 100644
index 0000000000..bef861f621
--- /dev/null
+++ b/C005_GymClass/Intro/Text_CN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,第五章 - 体育课(点击以继续)
+Intro2,你的第三节课是体育课,从10:30 到 11:30.
+Intro3,你进入了一间铺满摔跤垫的老旧体育馆。
+Intro4,他们给了你一套不太合身的柔道服。
+Intro5,除了詹妮弗,每个人都配好了对。你过去见她。
diff --git a/C005_GymClass/Intro/Text_EN.csv b/C005_GymClass/Intro/Text_EN.csv
new file mode 100644
index 0000000000..82472f7ed9
--- /dev/null
+++ b/C005_GymClass/Intro/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,Chapter 5 - Gym Class (Click to continue)
+Intro2,"Your third class is gym, from 10:30 to 11:30."
+Intro3,You enter an old gymnasium covered with wrestling mats.
+Intro4,They give you a judo outfit which doesn't fit very well.
+Intro5,"Everyone is already paired but Jennifer, you go see her."
diff --git a/C005_GymClass/Jennifer/Intro_CN.csv b/C005_GymClass/Jennifer/Intro_CN.csv
new file mode 100644
index 0000000000..15c7fe60ad
--- /dev/null
+++ b/C005_GymClass/Jennifer/Intro_CN.csv
@@ -0,0 +1,30 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,是你!那个粉红色的东西还在里面|而且还在疯狂震动着。怎么给它拿掉?,Jennifer.jpg
+5,0,0,,嘿,你好啊!咱们两节课都在一起上。|你想跟我一起练习柔道吗?,Jennifer.jpg
+5,-2,0,,(她叹了口气。)我的天。又是你。|我猜我们得一起练习柔道了。,Jennifer.jpg
+5,2,0,,太好了!真是巧!|一起来练习柔道一定很有意思。,Jennifer.jpg
+10,0,0,,你以前尝试过柔道吗?,Jennifer.jpg
+20,0,0,,人们常说熟能生巧。|我们是接着练习还是来一把真的比试呢?,Jennifer.jpg
+100,0,0,,你真是优秀的战士!现在你的防卫招式|目的是制服我。我可不会放水。,JenniferLosing.jpg
+110,0,0,!Turnabout,你的下一个防卫招式要尝试|脱掉我的柔道服并且用绳子制服我。,JenniferLosing.jpg
+110,0,0,Turnabout,我的天!你把局势扭转了。|那么尝试制服我吧,这可不是件容易的事。,JenniferLosing.jpg
+200,0,0,,既然我赢了比试,那么我的下一个|防卫招式是制服你。,JenniferWinning.jpg
+210,0,0,!Turnabout,为了完成我的防卫行动,我需要|脱掉你的衣服并用绳子绑住你。,JenniferWinning.jpg
+210,0,0,Turnabout,这把局势公平地扭转了。|现在轮到我尝试制服你了。,JenniferWinning.jpg
+400,0,0,!DefeatedHardMode,你干得不错但是下一次我会打得更好的。|你喜欢柔道和防卫练习吗?,JenniferDefeat.jpg
+400,0,0,DefeatedHardMode,太棒了!你打得真好。|想达到你的水平我需要更多练习。,JenniferDefeat.jpg
+400,0,0,DefeatedHardModePerfect,太令人惊讶了!你简直是个完美的战士!|拿出我包里的口球,为你的最后招式做准备。,JenniferDefeat.jpg
+410,0,0,,你把我限制得很好。|我猜你已经明白防卫是怎么回事了。,JenniferDefeat.jpg
+420,0,0,,(她小声嘀咕着并且看向你。|看起来她想让你放开她。),JenniferDefeatBallGag.jpg
+430,0,0,,(她小声嘀咕着并且看向你。|看起来她想让你放开她。),JenniferDefeatTapeGag.jpg
+450,0,0,,(她的脸红了,并试图看向别处。),JenniferDefeatClimax.jpg
+460,0,0,,(她的脸红了,并试图看向别处。),JenniferDefeatClimaxBallGag.jpg
+470,0,0,,(她的脸红了,并试图看向别处。),JenniferDefeatClimaxTapeGag.jpg
+500,0,0,,真是个漂亮的小包裹!|柔道和防卫很棒不是吗?,JenniferVictory.jpg
+510,0,0,,我希望你从比试中学到了几招.|现在你的挑战是尝试挣脱这些绳子。,JenniferVictory.jpg
+520,0,0,,我希望你从比试中学到了几招.|现在你的挑战是尝试挣脱这些绳子。,JenniferVictoryBallGag.jpg
+530,0,0,,我希望你从比试中学到了几招.|现在你的挑战是尝试挣脱这些绳子。,JenniferVictoryTapeGag.jpg
+550,0,0,,你还好吗?你正在瑟瑟发抖。,JenniferVictoryClimax.jpg
+560,0,0,,如果没事就点点头。你|正在瑟瑟发抖。,JenniferVictoryClimaxBallGag.jpg
+570,0,0,,如果没事就点点头。你|正在瑟瑟发抖。,JenniferVictoryClimaxTapeGag.jpg
+600,0,0,,在吃午饭之前再练习一把柔道?,Jennifer.jpg
diff --git a/C005_GymClass/Jennifer/Intro_EN.csv b/C005_GymClass/Jennifer/Intro_EN.csv
new file mode 100644
index 0000000000..6afbb0230b
--- /dev/null
+++ b/C005_GymClass/Jennifer/Intro_EN.csv
@@ -0,0 +1,30 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,It's you!  This pink thing is still inside and|it buzzes crazy.  How do you remove it?,Jennifer.jpg
+5,0,0,,Hey there!  Two classes together in row.|Would you like to practice judo with me?,Jennifer.jpg
+5,-2,0,,(She sighs.)  Oh my.  It's you again.|I guess we have to practice judo together.,Jennifer.jpg
+5,2,0,,So nice!  What a coincidence.|It will be fun to try judo together.,Jennifer.jpg
+10,0,0,,Have you tried judo before?,Jennifer.jpg
+20,0,0,,They say that practice makes perfect.|Should we practice or do a real match?,Jennifer.jpg
+100,0,0,,You're a good fighter!  Now your self-defense|move is to restrain me.  I won't make it easy.,JenniferLosing.jpg
+110,0,0,!Turnabout,Your next self-defense move is to remove|my judo outfit and restrain me with ropes.,JenniferLosing.jpg
+110,0,0,Turnabout,"Oh my!  You certainly turned the tables.|Try to restrain me then, it won't be easy.",JenniferLosing.jpg
+200,0,0,,"Since I won the fight, my next self|defense move is to restrain you.",JenniferWinning.jpg
+210,0,0,!Turnabout,"To complete my self-defense, I need to|remove your outfit and tie you with ropes.",JenniferWinning.jpg
+210,0,0,Turnabout,Turnabout is fair play they say.|Now it's my turn to try to restrain you.,JenniferWinning.jpg
+400,0,0,!DefeatedHardMode,You're pretty good but next time I'll fight better.|Did you enjoy this judo and self-defense practice?,JenniferDefeat.jpg
+400,0,0,DefeatedHardMode,That was great!  You fight really well.|I'll need lots of practice to reach your level.,JenniferDefeat.jpg
+400,0,0,DefeatedHardModePerfect,That was amazing!  You're the perfect fighter.|Take the gag in my bag for your final move.,JenniferDefeat.jpg
+410,0,0,,You restrained me pretty well.|I guess you already knew self-defense.,JenniferDefeat.jpg
+420,0,0,,(She whimpers and looks at you.|She seems to want to be released.),JenniferDefeatBallGag.jpg
+430,0,0,,(She whimpers and looks at you.|She seems to want to be released.),JenniferDefeatTapeGag.jpg
+450,0,0,,(She blushes red and tries to look away.),JenniferDefeatClimax.jpg
+460,0,0,,(She blushes red and tries to look away.),JenniferDefeatClimaxBallGag.jpg
+470,0,0,,(She blushes red and tries to look away.),JenniferDefeatClimaxTapeGag.jpg
+500,0,0,,A nice little package!|Isn't judo and self-defense great?,JenniferVictory.jpg
+510,0,0,,I hope you learned a few tricks in our match.|Now your challenge is to escape from these ropes.,JenniferVictory.jpg
+520,0,0,,I hope you learned a few tricks in our match.|Now your challenge is to escape from these ropes.,JenniferVictoryBallGag.jpg
+530,0,0,,I hope you learned a few tricks in our match.|Now your challenge is to escape from these ropes.,JenniferVictoryTapeGag.jpg
+550,0,0,,Are you ok?  You were trembling pretty badly.,JenniferVictoryClimax.jpg
+560,0,0,,Nod if you're ok.  You|were trembling pretty badly.,JenniferVictoryClimaxBallGag.jpg
+570,0,0,,Nod if you're ok.  You|were trembling pretty badly.,JenniferVictoryClimaxTapeGag.jpg
+600,0,0,,Another judo practice before we go to lunch?,Jennifer.jpg
diff --git a/C005_GymClass/Jennifer/Jennifer.jpg b/C005_GymClass/Jennifer/Jennifer.jpg
new file mode 100644
index 0000000000..79a45098bd
Binary files /dev/null and b/C005_GymClass/Jennifer/Jennifer.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferDefeat.jpg b/C005_GymClass/Jennifer/JenniferDefeat.jpg
new file mode 100644
index 0000000000..8ccbbee0e2
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferDefeat.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferDefeatBallGag.jpg b/C005_GymClass/Jennifer/JenniferDefeatBallGag.jpg
new file mode 100644
index 0000000000..f7c09b7ead
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferDefeatBallGag.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferDefeatClimax.jpg b/C005_GymClass/Jennifer/JenniferDefeatClimax.jpg
new file mode 100644
index 0000000000..d34d8f60a8
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferDefeatClimax.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferDefeatClimaxBallGag.jpg b/C005_GymClass/Jennifer/JenniferDefeatClimaxBallGag.jpg
new file mode 100644
index 0000000000..da1c315bf0
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferDefeatClimaxBallGag.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferDefeatClimaxTapeGag.jpg b/C005_GymClass/Jennifer/JenniferDefeatClimaxTapeGag.jpg
new file mode 100644
index 0000000000..8835f36934
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferDefeatClimaxTapeGag.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferDefeatTapeGag.jpg b/C005_GymClass/Jennifer/JenniferDefeatTapeGag.jpg
new file mode 100644
index 0000000000..a1df464678
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferDefeatTapeGag.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferLosing.jpg b/C005_GymClass/Jennifer/JenniferLosing.jpg
new file mode 100644
index 0000000000..3a8a557d9e
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferLosing.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferVictory.jpg b/C005_GymClass/Jennifer/JenniferVictory.jpg
new file mode 100644
index 0000000000..f53ec67c5e
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferVictory.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferVictoryBallGag.jpg b/C005_GymClass/Jennifer/JenniferVictoryBallGag.jpg
new file mode 100644
index 0000000000..a92feec3ee
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferVictoryBallGag.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferVictoryClimax.jpg b/C005_GymClass/Jennifer/JenniferVictoryClimax.jpg
new file mode 100644
index 0000000000..d9418b42fc
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferVictoryClimax.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferVictoryClimaxBallGag.jpg b/C005_GymClass/Jennifer/JenniferVictoryClimaxBallGag.jpg
new file mode 100644
index 0000000000..1cbf9fbd0e
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferVictoryClimaxBallGag.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferVictoryClimaxTapeGag.jpg b/C005_GymClass/Jennifer/JenniferVictoryClimaxTapeGag.jpg
new file mode 100644
index 0000000000..d58711f8f7
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferVictoryClimaxTapeGag.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferVictoryTapeGag.jpg b/C005_GymClass/Jennifer/JenniferVictoryTapeGag.jpg
new file mode 100644
index 0000000000..da92d98933
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferVictoryTapeGag.jpg differ
diff --git a/C005_GymClass/Jennifer/JenniferWinning.jpg b/C005_GymClass/Jennifer/JenniferWinning.jpg
new file mode 100644
index 0000000000..0cdaa33c24
Binary files /dev/null and b/C005_GymClass/Jennifer/JenniferWinning.jpg differ
diff --git a/C005_GymClass/Jennifer/Script.js b/C005_GymClass/Jennifer/Script.js
new file mode 100644
index 0000000000..f72b518046
--- /dev/null
+++ b/C005_GymClass/Jennifer/Script.js
@@ -0,0 +1,312 @@
+var C005_GymClass_Jennifer_CurrentStage = 0;
+var C005_GymClass_Jennifer_PracticeMode = false;
+var C005_GymClass_Jennifer_EasyMode = false;
+var C005_GymClass_Jennifer_DefeatedHardMode = false;
+var C005_GymClass_Jennifer_DefeatedHardModePerfect = false;
+var C005_GymClass_Jennifer_DefeatedHardModeBonus = false;
+var C005_GymClass_Jennifer_RopeGiven = false;
+var C005_GymClass_Jennifer_EggInside = false;
+var C005_GymClass_Jennifer_EggConfirm = false;
+var C005_GymClass_Jennifer_EggCommentDone = false;
+var C005_GymClass_Jennifer_AdorableCommentDone = false;
+var C005_GymClass_Jennifer_CrotchRopeDone = false;
+var C005_GymClass_Jennifer_TickleDone = false;
+var C005_GymClass_Jennifer_SpankDone = false;
+var C005_GymClass_Jennifer_CropDone = false;
+var C005_GymClass_Jennifer_CrotchRopePlayerDone = false;
+var C005_GymClass_Jennifer_CuddleDone = false;
+var C005_GymClass_Jennifer_PlayerHasBallGag = false;
+var C005_GymClass_Jennifer_PlayerHasTapeGag = false;
+var C005_GymClass_Jennifer_Turnabout = false;
+
+// Chapter 5 - Jennifer Load
+function C005_GymClass_Jennifer_Load() {
+
+	// Load the scene parameters
+	ActorLoad("Jennifer", "GymClass");
+	LoadInteractions();
+	StartTimer(11.5 * 60 * 60 * 1000, CurrentChapter, "Outro");
+	LeaveIcon = "";
+	
+	// Jennifer scene specific parameters
+	C005_GymClass_Jennifer_EggInside = (ActorHasInventory("VibratingEgg"));
+	C005_GymClass_Jennifer_EggConfirm = false;
+	C005_GymClass_Jennifer_PlayerHasBallGag = (PlayerHasInventory("BallGag"));
+	C005_GymClass_Jennifer_PlayerHasTapeGag = (PlayerHasInventory("TapeGag"));
+	
+	// If the player can collect the hard mode bonus (better bonus if the match was perfect)
+	if (C005_GymClass_Jennifer_DefeatedHardMode && !C005_GymClass_Jennifer_DefeatedHardModeBonus) {
+		ActorChangeAttitude(1, 1);
+		if (C005_GymClass_Jennifer_DefeatedHardModePerfect) {
+			PlayerAddInventory("BallGag", 1);
+			ActorChangeAttitude(0, 1);
+		}
+		C005_GymClass_Jennifer_DefeatedHardModeBonus = true;
+	}
+	
+	// If there's no egg, we skip the stage 0
+	if (!C005_GymClass_Jennifer_EggInside && (C005_GymClass_Jennifer_CurrentStage == 0))
+		C005_GymClass_Jennifer_CurrentStage = 5;
+
+	// If the rope was given, we take it back if there was a defeat
+	if ((C005_GymClass_Jennifer_RopeGiven == false) && (C005_GymClass_Jennifer_CurrentStage == 110)) {
+		C005_GymClass_Jennifer_RopeGiven = true;
+		PlayerAddInventory("Rope", 1);
+	}
+	
+	// If the rope was given, we take it back if there was a defeat
+	if ((C005_GymClass_Jennifer_RopeGiven == true) && (C005_GymClass_Jennifer_CurrentStage == 210)) {
+		C005_GymClass_Jennifer_RopeGiven = false;
+		PlayerRemoveInventory("Rope", 1);
+	}
+
+	// If the player won, we restrain Jennifer
+	if ((C005_GymClass_Jennifer_CurrentStage == 400) && !ActorHasInventory("Rope") && PlayerHasInventory("Rope")) {
+		PlayerRemoveInventory("Rope", 1);
+		ActorAddInventory("Rope");		
+	}
+
+}
+
+// Chapter 5 - Jennifer Run
+function C005_GymClass_Jennifer_Run() {
+	BuildInteraction(C005_GymClass_Jennifer_CurrentStage);
+}
+
+// Chapter 5 - Jennifer Click
+function C005_GymClass_Jennifer_Click() {
+	
+	// Regular interactions
+	ClickInteraction(C005_GymClass_Jennifer_CurrentStage);
+	
+	// If we want to access player inventory (we can do it at every moment expect when Jennifer is tied up)
+	if ((MouseX <= 74) || (C005_GymClass_Jennifer_CurrentStage < 400) || (C005_GymClass_Jennifer_CurrentStage >= 500)) {
+		InventoryClick(GetClickedInventory(), "C005_GymClass", "Jennifer");
+	}
+	else {
+		
+		// Retrieve which item was clicked
+		var ClickInv = GetClickedInventory();
+
+		// When the user wants to use the crop
+		if ((ClickInv == "Crop") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {
+			OverridenIntroText = GetText("Crop");
+			if (C005_GymClass_Jennifer_CropDone == false) { C005_GymClass_Jennifer_CropDone = true; ActorChangeAttitude(-1, 1); }
+			CurrentTime = CurrentTime + 60000;
+		}
+		
+		// When the user wants to use a BallGag	
+		if ((ClickInv == "BallGag") && ActorHasInventory("Rope") && !ActorHasInventory("BallGag") && Common_PlayerNotRestrained && ((C005_GymClass_Jennifer_CurrentStage == 400) || (C005_GymClass_Jennifer_CurrentStage == 410) || (C005_GymClass_Jennifer_CurrentStage == 430))) {
+			OverridenIntroText = GetText("BallGag");
+			C005_GymClass_Jennifer_CurrentStage = 420;
+			C005_GymClass_Jennifer_Ungag();
+			ActorAddInventory("BallGag");
+			PlayerRemoveInventory("BallGag", 1);
+			CurrentTime = CurrentTime + 60000;
+		}
+
+		// When the user wants to use a tape gag
+		if ((ClickInv == "TapeGag") && ActorHasInventory("Rope") && !ActorHasInventory("TapeGag") && Common_PlayerNotRestrained && ((C005_GymClass_Jennifer_CurrentStage == 400) ||(C005_GymClass_Jennifer_CurrentStage == 410) || (C005_GymClass_Jennifer_CurrentStage == 420))) {
+			OverridenIntroText = GetText("TapeGag");
+			C005_GymClass_Jennifer_CurrentStage = 430;
+			C005_GymClass_Jennifer_Ungag();
+			ActorAddInventory("TapeGag");
+			PlayerRemoveInventory("TapeGag", 1);
+			CurrentTime = CurrentTime + 60000;
+		}		
+		
+		// When the user wants to use the vibrating egg on Jennifer
+		if ((ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg") && ActorHasInventory("Rope") && Common_PlayerNotRestrained) {		
+			if (C005_GymClass_Jennifer_EggConfirm == false) {
+				C005_GymClass_Jennifer_EggConfirm = true;
+				OverridenIntroText = GetText("VibratingEggWarning");
+			} else {
+				ActorAddInventory("VibratingEgg");
+				PlayerRemoveInventory("VibratingEgg", 1);
+				ActorChangeAttitude(-1, 0);
+				OverridenIntroText = GetText("VibratingEggInsert");
+				C005_GymClass_Jennifer_EggInside = true;
+			}
+		}
+		
+	}
+}
+
+// Chapter 5 - Jennifer Start Practice
+function C005_GymClass_Jennifer_StartPractice() {
+	C005_GymClass_Jennifer_PracticeMode = true;
+	SetScene(CurrentChapter, "GymFight");
+}
+
+// Chapter 5 - Jennifer Explain Mobile
+function C005_GymClass_Jennifer_ExplainMobile() {
+	if (IsMobile) 
+		OverridenIntroText = GetText("ExplainMobile");
+}
+
+// Chapter 5 - Jennifer Get Rope
+function C005_GymClass_Jennifer_GetRope() {
+	PlayerAddInventory("Rope", 1);
+	C005_GymClass_Jennifer_RopeGiven = true;
+}
+
+// Chapter 5 - Jennifer Start Fight
+function C005_GymClass_Jennifer_StartFight() {
+	C005_GymClass_Jennifer_PracticeMode = false;
+	SetScene(CurrentChapter, "GymFight");
+}
+
+// Chapter 5 - Jennifer Start the winning fight
+function C005_GymClass_Jennifer_StartWinFight(EasyMode) {
+	C005_GymClass_Jennifer_EasyMode = EasyMode;
+	SetScene(CurrentChapter, "WinFight");
+}
+
+// Chapter 5 - Jennifer Start the losing fight
+function C005_GymClass_Jennifer_StartLoseFight(EasyMode) {
+	C005_GymClass_Jennifer_EasyMode = EasyMode;
+	SetScene(CurrentChapter, "LoseFight");
+}
+
+// Chapter 5 - Jennifer Egg Comment
+function C005_GymClass_Jennifer_EggComment() {
+	if (C005_GymClass_Jennifer_EggCommentDone == false) {
+		C005_GymClass_Jennifer_EggCommentDone = true;
+		ActorChangeAttitude(-1, 1);
+	}
+}
+
+// Chapter 5 - Jennifer Adorable Comment
+function C005_GymClass_Jennifer_AdorableComment() {
+	if (C005_GymClass_Jennifer_AdorableCommentDone == false) {
+		C005_GymClass_Jennifer_AdorableCommentDone = true;
+		ActorChangeAttitude(1, 0);
+	}
+}
+
+// Chapter 5 - Jennifer Tickle
+function C005_GymClass_Jennifer_Tickle() {
+	if (C005_GymClass_Jennifer_TickleDone == false) {
+		C005_GymClass_Jennifer_TickleDone = true;
+		ActorChangeAttitude(-1, 0);
+	}
+}
+
+// Chapter 5 - Jennifer Spank
+function C005_GymClass_Jennifer_Spank() {
+	if (C005_GymClass_Jennifer_SpankDone == false) {
+		C005_GymClass_Jennifer_SpankDone = true;
+		ActorChangeAttitude(0, 1);
+	}
+}
+
+// Chapter 5 - Jennifer - When the player tries Jennifer Crotch Rope
+function C005_GymClass_Jennifer_CrotchRope() {
+	if (C005_GymClass_Jennifer_CrotchRopeDone == false) {
+		C005_GymClass_Jennifer_CrotchRopeDone = true;
+		OverridenIntroText = GetText("CrotchRope");
+		C005_GymClass_Jennifer_CurrentStage = parseInt(C005_GymClass_Jennifer_CurrentStage) + 40;
+	}
+}
+
+// Chapter 5 - Jennifer Ungag
+function C005_GymClass_Jennifer_Ungag() {
+	ActorRemoveInventory("TapeGag");
+	if (ActorHasInventory("BallGag")) {
+		ActorRemoveInventory("BallGag");
+		PlayerAddInventory("BallGag", 1);
+	}
+}
+
+// Chapter 5 - Jennifer Release
+function C005_GymClass_Jennifer_Release() {
+	C005_GymClass_Jennifer_Ungag();
+	ActorRemoveInventory("Rope");
+	PlayerAddInventory("Rope", 1);
+}
+
+// Chapter 5 - Jennifer End Chapter
+function C005_GymClass_Jennifer_EndChapter() {
+	SetScene(CurrentChapter, "Outro");
+}
+
+// Chapter 5 - Tape Gag Player
+function C005_GymClass_Jennifer_TapeGagPlayer() {
+	PlayerRemoveInventory("TapeGag", 1);
+	PlayerLockInventory("TapeGag");
+	C005_GymClass_Jennifer_PlayerHasTapeGag = (PlayerHasInventory("TapeGag"));
+	CurrentTime = CurrentTime + 50000;
+}
+
+// Chapter 5 - BallGag Player
+function C005_GymClass_Jennifer_BallGagPlayer() {
+	PlayerRemoveInventory("BallGag", 1);
+	PlayerLockInventory("BallGag");
+	C005_GymClass_Jennifer_PlayerHasBallGag = (PlayerHasInventory("BallGag"));
+	CurrentTime = CurrentTime + 50000;
+}
+
+// Chapter 5 - Ungag Player (Jennifer only does if the player is likeable and not submissive))
+function C005_GymClass_Jennifer_UngagPlayer() {
+	if (ActorGetValue(ActorLove) + ActorGetValue(ActorSubmission) >= 0) {
+		OverridenIntroText = GetText("UngagPlayer");
+		if (PlayerHasLockedInventory("BallGag")) {
+			PlayerUnlockInventory("BallGag");
+			PlayerAddInventory("BallGag", 1);
+		}
+		PlayerUnlockInventory("TapeGag");
+		C005_GymClass_Jennifer_CurrentStage = 510;
+	}
+}
+
+// Chapter 5 - Release Player
+function C005_GymClass_Jennifer_ReleasePlayer() {
+	CurrentTime = CurrentTime + 50000;
+	if (PlayerHasLockedInventory("BallGag")) {
+		PlayerUnlockInventory("BallGag");
+		PlayerAddInventory("BallGag", 1);
+	}
+	PlayerUnlockInventory("TapeGag");
+	PlayerUnlockInventory("Rope");
+	PlayerClothes("Judo");
+	C005_GymClass_Jennifer_CurrentStage = 600;
+}
+
+// Chapter 5 - Check to Release Player (Jennifer helps or put the player in trouble depending on the relationship)
+function C005_GymClass_Jennifer_CheckReleasePlayer() {
+	if (ActorGetValue(ActorLove) + ActorGetValue(ActorSubmission) >= 0) {
+		OverridenIntroText = GetText("ReleasePlayer");
+		C005_GymClass_Jennifer_ReleasePlayer();
+	} else {
+		if ((ActorGetValue(ActorLove) < 0) && (ActorGetValue(ActorSubmission) < 0)) {
+			PlayerLockInventory("BallGag");
+			C005_GymClass_Jennifer_CurrentStage = 520;
+			OverridenIntroText = GetText("GagPlayer");
+		}
+	}
+}
+
+// Chapter 5 - Crotch Rope Player
+function C005_GymClass_Jennifer_CrotchRopePlayer() {
+	if ((C005_GymClass_Jennifer_CrotchRopePlayerDone == false) && PlayerHasLockedInventory("VibratingEgg")) {
+		if (Common_PlayerGagged) OverridenIntroText = GetText("PlayerOrgasmGagged");
+		else OverridenIntroText = GetText("PlayerOrgasm");
+		ActorAddOrgasm();
+		CurrentTime = CurrentTime + 50000;
+		C005_GymClass_Jennifer_CrotchRopePlayerDone = true;
+		C005_GymClass_Jennifer_CurrentStage = parseInt(C005_GymClass_Jennifer_CurrentStage) + 40;
+	}
+}
+
+// Chapter 5 - Jennifer Cuddle
+function C005_GymClass_Jennifer_Cuddle() {
+	if (C005_GymClass_Jennifer_CuddleDone == false) {
+		C005_GymClass_Jennifer_CuddleDone = true;
+		ActorChangeAttitude(1, 0);
+	}
+}
+
+// Chapter 5 - Jennifer Orgasm
+function C005_GymClass_Jennifer_Orgasm() {
+	ActorAddOrgasm();
+}
\ No newline at end of file
diff --git a/C005_GymClass/Jennifer/Stage_CN.csv b/C005_GymClass/Jennifer/Stage_CN.csv
new file mode 100644
index 0000000000..24445abb9c
--- /dev/null
+++ b/C005_GymClass/Jennifer/Stage_CN.csv
@@ -0,0 +1,103 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,我不知道啊。我也|有一个卡在里面了。,可怜的家伙。好吧我猜那只有一个结果。|那么我们得为柔道组队了。,5,0,-1,
+0,0,0,,你不要拿掉它。|你要享受它。,这一点也不有趣而且我也不享受。|(她叹了口气。)我猜我们得为柔道组队。 ,5,-1,0,
+0,0,0,,我不太确定,我会|研究一下。,天啊!你研究出来后尽早告诉我。|我猜我们得为柔道组队。 ,5,0,0,
+0,0,0,,你拿不掉它的。|它会永远待在里边。,我希望我不用去医院。|(她叹了口气。)我猜我们得为柔道组队。,5,-1,0,
+0,0,0,,别担心,待会|我会帮你的。,好吧,我相信你。|所以你想为柔道组个队吗?,5,1,0,
+0,0,0,,如果你是个乖|孩子我就会帮你。,乖孩子?嗯,好吧。|我们是不是要为柔道组个队?,5,0,1,
+5,0,0,,我猜|我们得组个队。,好的。所以你之前试过柔道吗?,10,0,0,
+5,0,0,,为什么除了你|每个人都配对了?,没……没什么原因。你以前试过柔道吗?,10,-1,0,
+5,0,0,,太棒了!组队一定|很好玩!,就是这样的精神头!你以前试过柔道吗?,10,1,0,
+10,0,0,,这将是我头一回|尝试柔道。,没事,学习对你来说也是很有趣的。|你想先练习一下还是直接来场真的战斗?,20,0,0,
+10,0,0,,我还从来没试过呢,|对我手下留情点。,别担心,我不会伤到你的。|你想先练习一下还是直接来场真的战斗?,20,0,-1,
+10,0,0,,我以前试过,|挺有意思的。,太棒了!我确定这堂体育课会很有意思。|你想先练习一下还是直接来场真的战斗?,20,0,0,
+10,0,0,,我懂得柔道,|而且我要好好收拾你。,哦!我们走着瞧。|你想先练习一下还是直接来场真的战斗?,20,0,1,
+20,0,0,,教教我|怎么打。,战斗无非就是算好时间,抓住机会攻击。(当打击图标到达横条时按A,S,K或L键。P),20,0,0,ExplainMobile()
+20,0,0,,来练习吧。|(开始练习。),,20,0,0,StartPractice()
+20,0,0,,来一场真正的比试。|(开始战斗。),,20,0,0,StartFight()
+100,0,0,,怎么制服你?,你需要脱掉我的衣服并使用那些绳子。|对我而言,我会尝试扭转局势。,110,0,0,GetRope()
+100,0,0,,在拘束之下|你会显得很可爱。,我,我,我猜是吧。现在你需要脱掉我的衣服|并使用那些绳子。我会尝试抵抗。,110,1,0,GetRope()
+100,0,0,,太容易了,你是|个差劲的战士。,我这次会更努力的。现在你 |需要脱掉我的衣服并使用那些绳子。,110,-1,1,GetRope()
+100,0,0,,太好了!|现在你是我的了。,还没呢!我会尝试抵抗你。 现在你 |需要脱掉我的衣服并使用那些绳子。,110,0,1,GetRope()
+110,0,0,,让我们来一场友好的战斗。|(开始战斗。),,110,0,0,StartWinFight(true)
+110,0,0,,我要粉碎你!|(开始战斗。),,110,0,0,StartWinFight(false)
+200,0,0,,要怎么把我制服?,我需要脱掉你的柔道|服并用上绳子。,210,0,0,
+200,0,0,,你打得真不错。|但是你需要制服我?,谢谢!我的下一个防卫动作要|脱掉你的衣服并在你身上使用绳子。,210,1,0,
+200,0,0,,你不会伤害我吗?,当然不会。我的下一个防卫动作要|脱掉你的衣服并在你身上使用绳子。,210,0,-1,
+200,0,0,,你会把我绑|起来?太赞了!,集中注意力。我的下一个防卫动作要|脱掉你的衣服并在你身上使用绳子。,210,0,-1,
+210,0,0,,请对我手下留情。|(开始战斗。),,210,0,0,StartLoseFight(true)
+210,0,0,,这次我不会输的!|(开始战斗。),,210,0,0,StartLoseFight(false)
+400,0,0,,很有趣。你|喜欢被绑起来的感觉吗?,(她脸红了。) 这不应该有色情|的感觉,只是防卫而已。,410,0,1,
+400,0,0,,这是场高水平的比赛。|你很有潜力。,谢谢!但我还需要更多|练习来挑战你。,410,1,0,
+400,0,0,,你没法真正战斗。|你需要我的保护。,你的保护?你认为?哦天啊。|我当然需要更多的练习。,410,-1,1,
+410,0,0,,你知道这样的你|看起来有多可爱吗?,(她害羞地看向一边。),410,0,0,AdorableComment()
+410,0,0,EggInside,妹子,跳蛋|是不是让你欲火焚身?,哦不!能请你把它拿掉吗? ,410,0,0,EggComment()
+410,0,0,EggInside,(玩弄勒住她下体的|绳子。)(1分钟),(你温柔地玩弄她下体的绳子。|她发出了极轻的呻吟,几乎听不见。),410,0,0,CrotchRope()
+410,0,0,,(挠她痒痒。)|(1分钟),(她在绳子的束缚中扭动,想躲避你。)|(她看起来不太喜欢在公共场合被挠痒痒。),410,0,0,Tickle()
+410,0,0,,(打她屁股。)|(1分钟),噢!但是为什么?(当你用力打她屁股时,|她使劲地挣扎。),410,0,0,Spank()
+410,0,0,,(放开她。)|(1分钟),(你解开了她的束缚,她重新穿好衣服。)|多谢!吃午饭之前再练习一把?,600,1,0,Release()
+410,0,0,,已经够了,|去吃饭吧。 (离开体育馆。),,410,0,0,EndChapter()
+420,0,0,EggInside,(玩弄勒住她下体的|绳子。)(1分钟),(你温柔地玩弄她下体的绳子。|她发出了极轻的呻吟,几乎听不见。),420,0,0,CrotchRope()
+420,0,0,,(挠她痒痒。)|(1分钟),(她在绳子的束缚中扭动,想躲避你。)|(她看起来不太喜欢在公共场合被挠痒痒。),420,0,0,Tickle()
+420,0,0,,(打她屁股。)|(1分钟),(当你用力打她屁股时,|她使劲地挣扎。),420,0,0,Spank()
+420,0,0,,(解开塞口物。)|(1分钟),(你撕开了她脸上的胶带,她叹了口气。)|你真是相当享受防卫练习,不是吗?,410,0,0,Ungag()
+420,0,0,,(放开她。)|(1分钟),(你解开了她的束缚,她重新穿好衣服。)|多谢!吃午饭之前再练习一把?,600,1,0,Release()
+420,0,0,,已经够了,|去吃饭吧。 (离开体育馆。),,420,0,0,EndChapter()
+430,0,0,EggInside,(玩弄勒住她下体的|绳子。)(1分钟),(你温柔地玩弄她下体的绳子。|她发出了极轻的呻吟,几乎听不见。),430,0,0,CrotchRope()
+430,0,0,,(挠她痒痒。)|(1分钟),(她在绳子的束缚中扭动,想躲避你。)|(她看起来不太喜欢在公共场合被挠痒痒。),430,0,0,Tickle()
+430,0,0,,(打她屁股。)|(1分钟),(当你用力打她屁股时,|她使劲地挣扎。),430,0,0,Spank()
+430,0,0,,(解开塞口物。)|(1分钟),(你撕开了她脸上的胶带,她叹了口气。)|你真是相当享受防卫练习,不是吗?,410,0,0,Ungag()
+430,0,0,,(放开她。)|(1分钟),(你解开了她的束缚,她重新穿好衣服。)|多谢!吃午饭之前再练习一把?,600,1,0,Release()
+430,0,0,,已经够了,|去吃饭吧。 (离开体育馆。),,430,0,0,EndChapter()
+450,5,0,,放松,这将会非常美妙。|(爱抚她。) (1分钟),(她信任你,并在你的爱恋之触前完全|投降了。她得到了甜蜜而寂静的高潮。),410,1,0,Orgasm()
+450,0,0,,你处在高潮的边缘?|(爱抚她。) (1分钟),(你尝试通过跳蛋和绳子带给她|高潮。她处在高潮边缘但还是没能达到。),410,0,0,
+450,0,0,,你是个好女孩。|(爱抚她。)  (1分钟),(你尝试通过跳蛋和绳子带给她|高潮。她处在高潮边缘但还是没能达到。),410,0,1,
+450,0,0,,现在不行,没准待会。|(松开下体的绳子。),哦上帝啊谢了。那|可真是让人尴尬。,410,1,0,
+450,0,0,,荡妇不配得到奖励。|(松开下体的绳子。),我?荡妇?但是,但是,但是。|(她没能掩藏几滴眼泪的滴落。),410,-1,1,
+450,2,0,,(把她抱在怀里。)|(1分钟),(你给了她一个大大的拥抱,|她看起来在你的怀抱中十分放松。),450,0,0,Cuddle()
+460,5,0,,放松,这将会非常美妙。|(爱抚她。) (1分钟),(她信任你,并在你的爱恋之触前完全|投降了。她得到了甜蜜而寂静的高潮。),420,1,0,Orgasm()
+460,0,0,,你处在高潮的边缘?|(爱抚她。) (1分钟),(你尝试通过跳蛋和绳子带给她|高潮。她处在高潮边缘但还是没能达到。),420,0,0,
+460,0,0,,你是个好女孩。|(爱抚她。)  (1分钟),(你尝试通过跳蛋和绳子带给她|高潮。她处在高潮边缘但还是没能达到。),420,0,1,
+460,0,0,,现在不行,没准待会。|(松开下体的绳子。),(她慢慢地点头并重获掌控。),420,1,0,
+460,0,0,,荡妇不配得到奖励。|(松开下体的绳子。),(她因羞辱而看向一旁|并慢慢重获掌控。),420,-1,1,
+460,2,0,,(把她抱在怀里。)|(1分钟),(你给了她一个大大的拥抱,|她看起来在你的怀抱中十分放松。),460,0,0,Cuddle()
+470,5,0,,放松,这将会非常美妙。|(爱抚她。) (1分钟),(她信任你,并在你的爱恋之触前完全|投降了。她得到了甜蜜而寂静的高潮。),430,1,0,Orgasm()
+470,0,0,,你处在高潮的边缘?|(爱抚她。) (1分钟),(你尝试通过跳蛋和绳子带给她|高潮。她处在高潮边缘但还是没能达到。),430,0,0,
+470,0,0,,你是个好女孩。|(爱抚她。)  (1分钟),(你尝试通过跳蛋和绳子带给她|高潮。她处在高潮边缘但还是没能达到。),430,0,1,
+470,0,0,,现在不行,没准待会。|(松开下体的绳子。),(她慢慢地点头并重获掌控。),430,1,0,
+470,0,0,,荡妇不配得到奖励。|(松开下体的绳子。),(她因羞辱而看向一旁|并慢慢重获掌控。),430,-1,1,
+470,2,0,,(把她抱在怀里。)|(1分钟),(你给了她一个大大的拥抱,|她看起来在你的怀抱中十分放松。),470,0,0,Cuddle()
+500,0,0,,这真有意思,而且绳子|简直是锦上添花。,你当然享受失败了,这就是你的甜蜜之处。,510,0,-1,
+500,0,0,,我真不敢相信你赢了。|你真是非常有天赋。,谢谢,我很感激。也许|奖励你会学会我的技巧。,510,1,0,
+500,0,0,,操!你刚才那把|作弊了!,你需要学会接受失败。|(她检查并加固了绳结。),510,-1,0,
+500,0,0,,我不认为我喜欢柔道。,不是每个人都适合武术。|但防卫课程是很有价值的。,510,0,-1,
+510,0,0,,你能不能检查一下下体的|绳子? (1分钟),有什么不对吗?你觉得疼了?|(她摆弄着绳子,带来了愉悦的刺激。),510,0,0,CrotchRopePlayer()
+510,0,0,PlayerHasBallGag,你难道不应该堵我的嘴吗?|我的物品里有堵嘴物。,我猜为了防卫你可以堵住你对手|的嘴。(她给你戴上了口球。),520,0,0,BallGagPlayer()
+510,0,0,PlayerHasTapeGag,你难道不应该堵我的嘴吗?|我的物品里有堵嘴物。,我猜为了防卫你可以堵住你对手|的嘴。(她在你嘴上贴了一片胶带。),530,0,0,TapeGagPlayer()
+510,0,0,,你能放开我吗?,嗯,不。我不这么认为。|我更喜欢你现在的样子。,510,0,0,CheckReleasePlayer()
+510,0,0,,(开玩笑地挣扎。)|(1分钟),天!你是在享受吗?,510,0,0,
+510,0,0,,(等待体育课结束。),,510,0,0,EndChapter()
+520,0,0,,@唔嗯嗯嗯嗯嗯嗯!,我曾听见莎拉被堵嘴过几回|但我必须承认我永远也听不懂。,520,0,0,
+520,0,0,,(指向下体的|绳子。)  (1分钟),绳子有什么不对的吗?|(她摆弄着绳子,带来了愉悦的刺激。),520,0,0,CrotchRopePlayer()
+520,0,0,,(呜咽着祈求宽恕。)|(1分钟),不。我更喜欢你现在的样子。,520,0,0,UngagPlayer()
+520,0,0,,(开玩笑地挣扎。)|(1分钟),天!你是在享受吗?,520,0,0,
+520,0,0,,(等待体育课结束。),,520,0,0,EndChapter()
+530,0,0,,@唔嗯嗯嗯嗯嗯嗯!,我曾听见莎拉被堵嘴过几回|但我必须承认我永远也听不懂。,530,0,0,
+530,0,0,,(指向下体的|绳子。)  (1分钟),绳子有什么不对的吗?|(她摆弄着绳子,带来了愉悦的刺激。),530,0,0,CrotchRopePlayer()
+530,0,0,,(呜咽着祈求宽恕。)|(1分钟),不。我更喜欢你现在的样子。,530,0,0,UngagPlayer()
+530,0,0,,(开玩笑地挣扎。)|(1分钟),天!你是在享受吗?,530,0,0,
+530,0,0,,(等待体育课结束。),,530,0,0,EndChapter()
+550,0,0,,是的,是的,我没事。|感谢关心。,那就好,你颤抖得像一片风中的落叶。|你让我担心了一小会儿。,510,0,-1,
+550,0,0,,我比平常感觉更好!|多亏了你!,(她笑了。)那就行!你那|疯狂的颤动让我担心。,510,1,0,
+550,2,0,,我能待在你的|怀抱里吗?(1分钟),当然,想待多长时间就待多长时间。,550,0,0,Cuddle()
+550,0,0,,我不太确定。|你能放了我吗?,可怜的小家伙。来,让我帮你。|(她小心地给你松了绑并让你重新着装。),600,0,-1,ReleasePlayer()
+560,0,0,,(害羞地慢慢|点头。) (1分钟),那就好,你颤抖得像一片风中的落叶。|你让我担心了一小会儿。,520,0,-1,
+560,0,0,,(高兴地点头。)|(1分钟),(她笑了。)那就行!你那|疯狂的颤动让我担心。,520,1,0,
+560,2,0,,(依偎在她的|怀抱里。)(1分钟),想待可以一直待着。|记得告诉我你感觉如何。,560,0,0,Cuddle()
+560,0,0,,(恐慌地|摇头。) (1分钟),可怜的小家伙。来,让我帮你。|(她小心地给你松了绑并让你重新着装。),600,0,-1,ReleasePlayer()
+570,0,0,,(害羞地慢慢|点头。) (1分钟),那就好,你颤抖得像一片风中的落叶。|你让我担心了一小会儿。,530,0,-1,
+570,0,0,,(高兴地点头。)|(1分钟),(她笑了。)那就行!你那|疯狂的颤动让我担心。,530,1,0,
+570,2,0,,(依偎在她的|怀抱里。)(1分钟),想待可以一直待着。|记得告诉我你感觉如何。,570,0,0,Cuddle()
+570,0,0,,(恐慌地|摇头。) (1分钟),可怜的小家伙。来,让我帮你。|(她小心地给你松了绑并让你重新着装。),600,0,-1,ReleasePlayer()
+600,0,0,,好吧,再练习一次。|(开始练习。),,600,0,0,StartPractice()
+600,0,0,,已经够了,|去吃饭吧。 (离开体育馆。),,600,0,0,EndChapter()
diff --git a/C005_GymClass/Jennifer/Stage_EN.csv b/C005_GymClass/Jennifer/Stage_EN.csv
new file mode 100644
index 0000000000..2bcb3c6576
--- /dev/null
+++ b/C005_GymClass/Jennifer/Stage_EN.csv
@@ -0,0 +1,103 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,I don't know.  I'm|also stuck with one.,Poor thing.  Well it's only fair I guess.|We have to team up for judo then.,5,0,-1,
+0,0,0,,You don't remove it.|You enjoy it.,That's not funny and I'm not enjoying it.|(She sighs.) I guess we have to team up for judo.,5,-1,0,
+0,0,0,,"I'm not sure, I'll|do some research.",Oh my!  Let me know as soon as you can.|I guess we have to team up for judo then.,5,0,0,
+0,0,0,,You can't remove it.|It will stay forever.,I hope I won't have to go to the hospital.|(She sighs.) I guess we have to team up for judo.,5,-1,0,
+0,0,0,,"Don't worry, I will|help you later.","Ok then, I'll trust you.|So do you want to team up for judo?",5,1,0,
+0,0,0,,If you're a good|girl I will help you.,"A good girl?  Mmmh, ok then.|Should we team up for judo then?",5,0,1,
+5,0,0,,I guess we'll|have to team up.,Alright.  So have you tried judo before?,10,0,0,
+5,0,0,,How come everyone|is paired but you?,No...  No reason.  Have you tried judo before?,10,-1,0,
+5,0,0,,Great!  It will be|fun to team up.,That's the spirit!  Have you tried judo before?,10,1,0,
+10,0,0,,It will be my first|time trying judo.,"Fine, it will be fun for you to learn it.|Do you want to practice first or we try a real fight?",20,0,0,
+10,0,0,,"I've never tried it,|go easy on me.","Don't worry, I won't hurt you.|Do you want to practice first or we try a real fight?",20,0,-1,
+10,0,0,,"I've tried it before,|it will be fun.",Great!  I'm sure we'll have a fun gym class.|Do you want to practice first or we try a real fight?,20,0,0,
+10,0,0,,"I know judo, and|I will kick your butt.",Oh!  We'll see about that.|Do you want to practice first or we try a real fight?,20,0,1,
+20,0,0,,Explain me|how to fight.,"Fighting is all about timing, hitting with opportunity.|(Press A, S, K or L when the hit icon reaches the bar.)",20,0,0,ExplainMobile()
+20,0,0,,Let's practice.|(Start the practice.),,20,0,0,StartPractice()
+20,0,0,,Let's do a real match.|(Start the fight.),,20,0,0,StartFight()
+100,0,0,,Restrain you how?,"You need to remove my outfit and use that rope.|On my side, I will try to turn the tables.",110,0,0,GetRope()
+100,0,0,,You will be|cute all restrained.,"I, I, I guess.  Now you need to remove my outfit|and use that rope.  I will try to resist you.",110,1,0,GetRope()
+100,0,0,,"Too easy, you're|a poor fighter.",I will try harder this time then.  Now you|need to remove my outfit and use that rope.,110,-1,1,GetRope()
+100,0,0,,This is great!|Now you're mine.,Not yet!  I will try to resist you.  Now you|need to remove my outfit and use that rope.,110,0,1,GetRope()
+110,0,0,,Let's do a friendly fight.|(Start the fight.),,110,0,0,StartWinFight(true)
+110,0,0,,I will crush you!|(Start the fight.),,110,0,0,StartWinFight(false)
+200,0,0,,Restrain me how?,I need to remove your judo|outfit and use a rope.,210,0,0,
+200,0,0,,You're very good.  But|you need to restrain me?,"Thanks!  Yes, my next self-defense move is|to remove your outfit and use a rope on you.",210,1,0,
+200,0,0,,You won't hurt me?,Of course not.  My next self-defense move is|to remove your outfit and use a rope on you.,210,0,-1,
+200,0,0,,You will tie me|up?  Awesome!,Stay focused.  My next self-defense move is|to remove your outfit and use a rope on you.,210,0,-1,
+210,0,0,,Please go easy on me.|(Start the fight.),,210,0,0,StartLoseFight(true)
+210,0,0,,I won't lose this time!|(Start the fight.),,210,0,0,StartLoseFight(false)
+400,0,0,,It was fun.  Are you|enjoying your bondage?,"(She blushes.)  This is not supposed|to be erotic, this is self-defense.",410,0,1,
+400,0,0,,It was a great fight.|You have potential.,Thanks!  But I need to practice|more if I want to challenge you.,410,1,0,
+400,0,0,,You can't really fight.|You need my protection.,Your protection?  You think?  Oh my.|I certainly need to practice more often.,410,-1,1,
+410,0,0,,You know you look|adorable like that?,(She blushes and looks away.),410,0,0,AdorableComment()
+410,0,0,EggInside,"Girl, are you getting|aroused from the egg?",Oh no!  Can you please remove it?,410,0,0,EggComment()
+410,0,0,EggInside,(Play with her crotch|rope.) (1 minute),"(You play with her crotch rope gently.|She moans very lightly, not to be heard.)",410,0,0,CrotchRope()
+410,0,0,,(Tickle her.)|(1 minute),(She trashes in her ropes to avoid you.)|(She doesn't seem to enjoy being tickled in public.),410,0,0,Tickle()
+410,0,0,,(Spank her.)|(1 minute),Ow!  But why?  (She struggles while|you spank her pretty hard on the butt.),410,0,0,Spank()
+410,0,0,,(Release her.)|(1 minute),(You undo her restrains and she dresses back.)|Thanks a lot!  Another practice before lunch?,600,1,0,Release()
+410,0,0,,"That's enough, let's|go eat. (Leave gym.)",,410,0,0,EndChapter()
+420,0,0,EggInside,(Play with her crotch|rope.) (1 minute),"(You play with her crotch rope gently.|She moans very lightly, not to be heard.)",420,0,0,CrotchRope()
+420,0,0,,(Tickle her.)|(1 minute),(She trashes in her ropes to avoid you.)|(She doesn't seem to enjoy being tickled in public.),420,0,0,Tickle()
+420,0,0,,(Spank her.)|(1 minute),(She struggles in the ropes while|you spank her pretty hard on the butt.),420,0,0,Spank()
+420,0,0,,(Ungag her.)|(1 minute),(You remove the tape from her face and she sighs.)|You really seem to enjoy self-defense don't you?,410,0,0,Ungag()
+420,0,0,,(Release her.)|(1 minute),(You undo her restrains and she dresses back.)|Thanks a lot!  Another practice before lunch?,600,1,0,Release()
+420,0,0,,"That's enough, let's|go eat. (Leave gym.)",,420,0,0,EndChapter()
+430,0,0,EggInside,(Play with her crotch|rope.) (1 minute),"(You play with her crotch rope gently.|She moans very lightly, not to be heard.)",430,0,0,CrotchRope()
+430,0,0,,(Tickle her.)|(1 minute),(She trashes in her ropes to avoid you.)|(She doesn't seem to enjoy being tickled in public.),430,0,0,Tickle()
+430,0,0,,(Spank her.)|(1 minute),(She struggles in the ropes while|you spank her pretty hard on the butt.),430,0,0,Spank()
+430,0,0,,(Ungag her.)|(1 minute),(You remove the tape from her face and she sighs.)|You really seem to enjoy self-defense don't you?,410,0,0,Ungag()
+430,0,0,,(Release her.)|(1 minute),(You undo her restrains and she dresses back.)|Thanks a lot!  Another practice before lunch?,600,1,0,Release()
+430,0,0,,"That's enough, let's|go eat. (Leave gym.)",,430,0,0,EndChapter()
+450,5,0,,"Relax, it will be wonderful.|(Pleasure her.) (1 minute)",(She trusts you and surrenders to your loving|touch.  She gets a sweet and silent orgasm.),410,1,0,Orgasm()
+450,0,0,,You're on the edge?|(Pleasure her.) (1 minute),(You try to give her an orgasm using the egg and|the rope.  She comes close but doesn't achieve it.),410,0,0,
+450,0,0,,You're a good girl.|(Pleasure her.) (1 minute),(You try to give her an orgasm using the egg and|the rope.  She comes close but doesn't achieve it.),410,0,1,
+450,0,0,,"Not now, maybe later.|(Release the crotch rope.)",Oh lord thanks.  That|could have been embarrassing.,410,1,0,
+450,0,0,,Sluts don't deserve it.|(Release the crotch rope.),"Me?  A slut?  But, but, but.|(She cannot hide a few tears.)",410,-1,1,
+450,2,0,,(Cuddle with her.)|(1 minute),(You give her a big hug and she|seems to relax in your arms.),450,0,0,Cuddle()
+460,5,0,,"Relax, it will be wonderful.|(Pleasure her.) (1 minute)",(She trusts you and surrenders to your loving|touch.  She gets a sweet and silent orgasm.),420,1,0,Orgasm()
+460,0,0,,You're on the edge?|(Pleasure her.) (1 minute),(You try to give her an orgasm using the egg and|the rope.  She comes close but doesn't achieve it.),420,0,0,
+460,0,0,,You're a good girl.|(Pleasure her.) (1 minute),(You try to give her an orgasm using the egg and|the rope.  She comes close but doesn't achieve it.),420,0,1,
+460,0,0,,"Not now, maybe later.|(Release the crotch rope.)",(She nods slowly and regains control.),420,1,0,
+460,0,0,,Sluts don't deserve it.|(Release the crotch rope.),(She looks away in shame|and slowly regains control.),420,-1,1,
+460,2,0,,(Cuddle with her.)|(1 minute),(You give her a big hug and she|seems to relax in your arms.),460,0,0,Cuddle()
+470,5,0,,"Relax, it will be wonderful.|(Pleasure her.) (1 minute)",(She trusts you and surrenders to your loving|touch.  She gets a sweet and silent orgasm.),430,1,0,Orgasm()
+470,0,0,,You're on the edge?|(Pleasure her.) (1 minute),(You try to give her an orgasm using the egg and|the rope.  She comes close but doesn't achieve it.),430,0,0,
+470,0,0,,You're a good girl.|(Pleasure her.) (1 minute),(You try to give her an orgasm using the egg and|the rope.  She comes close but doesn't achieve it.),430,0,1,
+470,0,0,,"Not now, maybe later.|(Release the crotch rope.)",(She nods slowly and regains control.),430,1,0,
+470,0,0,,Sluts don't deserve it.|(Release the crotch rope.),(She looks away in shame|and slowly regains control.),430,-1,1,
+470,2,0,,(Cuddle with her.)|(1 minute),(You give her a big hug and she|seems to relax in your arms.),470,0,0,Cuddle()
+500,0,0,,"It was fun, and ropes|are icing on the cake.","You certainly enjoy defeat, that's sweet of you.",510,0,-1,
+500,0,0,,I can't believe you won.|You're very talented.,"Thanks, I appreciate.  Maybe|someday you'll learn my techniques.",510,1,0,
+500,0,0,,Fuck!  You cheated|in that last fight.,You need to learn to accept defeat.|(She checks a knot and tightens it.),510,-1,0,
+500,0,0,,I don't think I like judo.,Martial art isn't for everyone.|But self-defense is a valuable lesson.,510,0,-1,
+510,0,0,,Can you check the crotch|rope?  (1 minute),"What's wrong with it?  Does it hurt?|(She plays with the rope, giving a nice stimulation.)",510,0,0,CrotchRopePlayer()
+510,0,0,PlayerHasBallGag,Shouldn't you gag me?|I have a gag in my stuff.,I guess you can gag your opponent for|self-defense.  (She straps the BallGag on you.),520,0,0,BallGagPlayer()
+510,0,0,PlayerHasTapeGag,Shouldn't you gag me?|I have tape in my stuff.,I guess you can gag your opponent for|self-defense.  (She puts tape over your mouth.),530,0,0,TapeGagPlayer()
+510,0,0,,Can you release me?,"Mmh, no.  I don't think so.|I like you better like that.",510,0,0,CheckReleasePlayer()
+510,0,0,,(Struggle playfully.)|(1 minute),My!  Are you enjoying that?,510,0,0,
+510,0,0,,(Wait until gym ends.),,510,0,0,EndChapter()
+520,0,0,,@Uugnmph nump!,I've heard Sarah gagged a few times|but I must admit I never could understand.,520,0,0,
+520,0,0,,(Point to the crotch|rope.)  (1 minute),"Is there something wrong with the rope?|(She plays with the rope, giving a nice stimulation.)",520,0,0,CrotchRopePlayer()
+520,0,0,,(Whimper for mercy.)|(1 minute),No.  I think I like you better like that.,520,0,0,UngagPlayer()
+520,0,0,,(Struggle playfully.)|(1 minute),My!  Are you enjoying that?,520,0,0,
+520,0,0,,(Wait until gym ends.),,520,0,0,EndChapter()
+530,0,0,,@Uugnmph nump!,I've heard Sarah gagged a few times|but I must admit I never could understand.,530,0,0,
+530,0,0,,(Point to the crotch|rope.)  (1 minute),"Is there something wrong with the rope?|(She plays with the rope, giving a nice stimulation.)",530,0,0,CrotchRopePlayer()
+530,0,0,,(Whimper for mercy.)|(1 minute),No.  I think I like you better like that.,530,0,0,UngagPlayer()
+530,0,0,,(Struggle playfully.)|(1 minute),My!  Are you enjoying that?,530,0,0,
+530,0,0,,(Wait until gym ends.),,530,0,0,EndChapter()
+550,0,0,,"Yes, yes, I'm ok.|Thanks for asking.","Good, you were trembling like a leaf.|You got me worried for a few seconds.",510,0,-1,
+550,0,0,,I'm better than ok!|All thanks to you.,(She smiles.)  Alright then!  You|got me worried with that crazy trembling.,510,1,0,
+550,2,0,,Can I stay in your|arms? (1 minute),"Of course, stay here for as long as you need.",550,0,0,Cuddle()
+550,0,0,,I'm not sure.  Can|you release me please?,"Poor little thing.  Here, let me help you.|(She carefully unties you and let you dress back.)",600,0,-1,ReleasePlayer()
+560,0,0,,(Nod slowly and|blush.) (1 minute),"Good, you were trembling like a leaf.|You got me worried for a few seconds.",520,0,-1,
+560,0,0,,(Nod happily.)|(1 minute),(She smiles.)  Alright then!  You|got me worried with that crazy trembling.,520,1,0,
+560,2,0,,(Cuddle in her|arms.) (1 minute),Stay here for as long as you need.|Just let me know if you're ok.,560,0,0,Cuddle()
+560,0,0,,(Shake your head in|panic.) (1 minute),"Poor little thing.  Here, let me help you.|(She carefully unties you and let you dress back.)",600,0,-1,ReleasePlayer()
+570,0,0,,(Nod slowly and|blush.) (1 minute),"Good, you were trembling like a leaf.|You got me worried for a few seconds.",530,0,-1,
+570,0,0,,(Nod happily.)|(1 minute),(She smiles.)  Alright then!  You|got me worried with that crazy trembling.,530,1,0,
+570,2,0,,(Cuddle in her|arms.) (1 minute),Stay here for as long as you need.|Just let me know when you're ok.,570,0,0,Cuddle()
+570,0,0,,(Shake your head in|panic.) (1 minute),"Poor little thing.  Here, let me help you.|(She carefully unties you and let you dress back.)",600,0,-1,ReleasePlayer()
+600,0,0,,"Ok, another practice.|(Start a practice.)",,600,0,0,StartPractice()
+600,0,0,,"That's enough, let's|go eat. (Leave gym.)",,600,0,0,EndChapter()
diff --git a/C005_GymClass/Jennifer/Text_CN.csv b/C005_GymClass/Jennifer/Text_CN.csv
new file mode 100644
index 0000000000..56086d65f5
--- /dev/null
+++ b/C005_GymClass/Jennifer/Text_CN.csv
@@ -0,0 +1,13 @@
+Tag,Content,Content [1]
+Crop,(你用鞭子抽了她几次。|她发出了疼痛的哭喊。),(You whip her with the crop a few|times.  She screams and cries in pain.)
+BallGag,(她把嘴紧闭,你不得|不用力才能给她戴上口球。),(She shuts her mouth so you have to|push it hard to be strap it in.)
+TapeGag,(她左右摇晃着脑袋|但你最终设法用胶带封住了她的嘴。),(She shakes her head from left to right|but you finally manage to tape her mouth.)
+VibratingEggWarning,(如果你把跳蛋放进詹妮弗身体|里,也许就没办法再拿出来了,再次点击以确定。),"(You might not be able to recover the egg if|you insert it in Jennifer, click on it again to do it.)"
+VibratingEggInsert,(詹妮弗看见了跳蛋并尝试挣脱|但你还是把塞进去了。她现在时不时地抖动。),(Jennifer sees the egg and tries to struggle away but|you're able to insert it.  She now trembles randomly.)
+ExplainMobile,战斗无非就是算好时间,抓住机会攻击。|(当打击图标到达横条时按键。),"Fighting is all about timing, hitting with opportunity.|(Click on the bar when the hit icon reaches it.)"
+CrotchRope,(你玩弄着她身上的绳子,她突然|开始拼命颤动,不断出汗并且呻吟起来。),"(You play with her rope and she suddenly|starts to jerk around, sweat and moan.)"
+UngagPlayer,稍等一下,让我来帮你。|(她小心地拿掉了你的堵嘴物。),Hold on.  Let me help you.|(She carefully removes your gag.)
+ReleasePlayer,当然。让我来帮你。|(她给你松了绑,你穿上了衣服。),Of course.  Let me help you.|(She unties you and you dress back.)
+GagPlayer,不!事实上正好相反。你|的话太多了。 (她堵上了你的嘴。),No!  In fact I will do the opposite.  You|talk too much.  (She straps a gag on you.)
+PlayerOrgasmGagged,(她用力拉扯,使得你不断颤抖,迎来了无声的高潮。)|你为什么在发抖?如果没事就点点头。,"(She tugs, making you tremble in a silent orgasm.)|Why are you trembling?  Nod if you're ok."
+PlayerOrgasm,(她用力拉扯,使得你不断颤抖,迎来了无声的高潮。)|你还好吗?你为什么抖成那样?,"(She tugs, making you tremble in a silent orgasm.)|Are you ok?  Why are you trembling like that?"
diff --git a/C005_GymClass/Jennifer/Text_EN.csv b/C005_GymClass/Jennifer/Text_EN.csv
new file mode 100644
index 0000000000..5e9f4e9374
--- /dev/null
+++ b/C005_GymClass/Jennifer/Text_EN.csv
@@ -0,0 +1,13 @@
+Tag,Content
+Crop,(You whip her with the crop a few|times.  She screams and cries in pain.)
+BallGag,(She shuts her mouth so you have to|push it hard to be strap it in.)
+TapeGag,(She shakes her head from left to right|but you finally manage to tape her mouth.)
+VibratingEggWarning,"(You might not be able to recover the egg if|you insert it in Jennifer, click on it again to do it.)"
+VibratingEggInsert,(Jennifer sees the egg and tries to struggle away but|you're able to insert it.  She now trembles randomly.)
+ExplainMobile,"Fighting is all about timing, hitting with opportunity.|(Click on the bar when the hit icon reaches it.)"
+CrotchRope,"(You play with her rope and she suddenly|starts to jerk around, sweat and moan.)"
+UngagPlayer,Hold on.  Let me help you.|(She carefully removes your gag.)
+ReleasePlayer,Of course.  Let me help you.|(She unties you and you dress back.)
+GagPlayer,No!  In fact I will do the opposite.  You|talk too much.  (She straps a gag on you.)
+PlayerOrgasmGagged,"(She tugs, making you tremble in a silent orgasm.)|Why are you trembling?  Nod if you're ok."
+PlayerOrgasm,"(She tugs, making you tremble in a silent orgasm.)|Are you ok?  Why are you trembling like that?"
diff --git a/C005_GymClass/LoseFight/Fight.csv b/C005_GymClass/LoseFight/Fight.csv
new file mode 100644
index 0000000000..f008761302
--- /dev/null
+++ b/C005_GymClass/LoseFight/Fight.csv
@@ -0,0 +1,15 @@
+From,To,Image
+-1,-1,FightEven.jpg
+0,0,FightLose.jpg
+1,9,Fight1.jpg
+10,18,Fight2.jpg
+19,27,Fight3.jpg
+28,36,Fight4.jpg
+37,45,Fight5.jpg
+46,54,FightEven.jpg
+55,63,Fight6.jpg
+64,72,Fight7.jpg
+73,81,Fight8.jpg
+82,90,Fight9.jpg
+91,99,Fight10.jpg
+100,100,FightWin.jpg
diff --git a/C005_GymClass/LoseFight/Fight1.jpg b/C005_GymClass/LoseFight/Fight1.jpg
new file mode 100644
index 0000000000..32e3a289fb
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight1.jpg differ
diff --git a/C005_GymClass/LoseFight/Fight10.jpg b/C005_GymClass/LoseFight/Fight10.jpg
new file mode 100644
index 0000000000..9f94e1c3cf
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight10.jpg differ
diff --git a/C005_GymClass/LoseFight/Fight2.jpg b/C005_GymClass/LoseFight/Fight2.jpg
new file mode 100644
index 0000000000..317ef85571
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight2.jpg differ
diff --git a/C005_GymClass/LoseFight/Fight3.jpg b/C005_GymClass/LoseFight/Fight3.jpg
new file mode 100644
index 0000000000..20636fb425
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight3.jpg differ
diff --git a/C005_GymClass/LoseFight/Fight4.jpg b/C005_GymClass/LoseFight/Fight4.jpg
new file mode 100644
index 0000000000..487a398810
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight4.jpg differ
diff --git a/C005_GymClass/LoseFight/Fight5.jpg b/C005_GymClass/LoseFight/Fight5.jpg
new file mode 100644
index 0000000000..8f2fd0c105
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight5.jpg differ
diff --git a/C005_GymClass/LoseFight/Fight6.jpg b/C005_GymClass/LoseFight/Fight6.jpg
new file mode 100644
index 0000000000..2c2178f974
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight6.jpg differ
diff --git a/C005_GymClass/LoseFight/Fight7.jpg b/C005_GymClass/LoseFight/Fight7.jpg
new file mode 100644
index 0000000000..82dbd2b510
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight7.jpg differ
diff --git a/C005_GymClass/LoseFight/Fight8.jpg b/C005_GymClass/LoseFight/Fight8.jpg
new file mode 100644
index 0000000000..eaa929b98d
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight8.jpg differ
diff --git a/C005_GymClass/LoseFight/Fight9.jpg b/C005_GymClass/LoseFight/Fight9.jpg
new file mode 100644
index 0000000000..1f342ef22d
Binary files /dev/null and b/C005_GymClass/LoseFight/Fight9.jpg differ
diff --git a/C005_GymClass/LoseFight/FightEven.jpg b/C005_GymClass/LoseFight/FightEven.jpg
new file mode 100644
index 0000000000..73536f5eee
Binary files /dev/null and b/C005_GymClass/LoseFight/FightEven.jpg differ
diff --git a/C005_GymClass/LoseFight/FightIntro.jpg b/C005_GymClass/LoseFight/FightIntro.jpg
new file mode 100644
index 0000000000..f37271f8b1
Binary files /dev/null and b/C005_GymClass/LoseFight/FightIntro.jpg differ
diff --git a/C005_GymClass/LoseFight/FightLose.jpg b/C005_GymClass/LoseFight/FightLose.jpg
new file mode 100644
index 0000000000..c1289c029e
Binary files /dev/null and b/C005_GymClass/LoseFight/FightLose.jpg differ
diff --git a/C005_GymClass/LoseFight/FightWin.jpg b/C005_GymClass/LoseFight/FightWin.jpg
new file mode 100644
index 0000000000..61aa7d3c3d
Binary files /dev/null and b/C005_GymClass/LoseFight/FightWin.jpg differ
diff --git a/C005_GymClass/LoseFight/HitIcon0.png b/C005_GymClass/LoseFight/HitIcon0.png
new file mode 100644
index 0000000000..cfdd36cdd4
Binary files /dev/null and b/C005_GymClass/LoseFight/HitIcon0.png differ
diff --git a/C005_GymClass/LoseFight/HitIcon1.png b/C005_GymClass/LoseFight/HitIcon1.png
new file mode 100644
index 0000000000..cfdd36cdd4
Binary files /dev/null and b/C005_GymClass/LoseFight/HitIcon1.png differ
diff --git a/C005_GymClass/LoseFight/HitIcon2.png b/C005_GymClass/LoseFight/HitIcon2.png
new file mode 100644
index 0000000000..cfdd36cdd4
Binary files /dev/null and b/C005_GymClass/LoseFight/HitIcon2.png differ
diff --git a/C005_GymClass/LoseFight/HitIcon3.png b/C005_GymClass/LoseFight/HitIcon3.png
new file mode 100644
index 0000000000..cfdd36cdd4
Binary files /dev/null and b/C005_GymClass/LoseFight/HitIcon3.png differ
diff --git a/C005_GymClass/LoseFight/Script.js b/C005_GymClass/LoseFight/Script.js
new file mode 100644
index 0000000000..34ea5c7fa7
--- /dev/null
+++ b/C005_GymClass/LoseFight/Script.js
@@ -0,0 +1,32 @@
+// Chapter 5 - Lose Fight Load
+function C005_GymClass_LoseFight_Load() {
+	if (C005_GymClass_Jennifer_EasyMode) LoadFight("Jennifer", "Easy", 0);
+	else LoadFight("Jennifer", "Normal", 0);
+}
+
+// Chapter 5 - Lose Fight Run
+function C005_GymClass_LoseFight_Run() {
+	RenderFight();
+}
+
+// Chapter 5 - Lose Fight Click
+function C005_GymClass_LoseFight_Click() {
+	FightClick();
+}
+
+// Chapter 5 - Lose Fight Key Down
+function C005_GymClass_LoseFight_KeyDown() {
+	FightKeyDown();
+}
+
+// Chapter 5 - Lose Fight End
+function C005_GymClass_LoseFight_FightEnd(Victory) {
+	if (Victory) {
+		C005_GymClass_Jennifer_CurrentStage = 110;
+		C005_GymClass_Jennifer_Turnabout = true;
+	} else {
+		C005_GymClass_Jennifer_CurrentStage = 500;
+		PlayerLockInventory("Rope");
+		PlayerClothes("Underwear");
+	}
+}
\ No newline at end of file
diff --git a/C005_GymClass/LoseFight/Text_CN.csv b/C005_GymClass/LoseFight/Text_CN.csv
new file mode 100644
index 0000000000..a2c16627c3
--- /dev/null
+++ b/C005_GymClass/LoseFight/Text_CN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Easy,简单
+Normal,中等
+Hard,困难
+StartsIn,开始于
+Difficulty,难度:
+Perfect,完美胜利!
+Victory,你赢了!
+Defeat,你输了!
+ClickContinue,点击图片以继续
diff --git a/C005_GymClass/LoseFight/Text_EN.csv b/C005_GymClass/LoseFight/Text_EN.csv
new file mode 100644
index 0000000000..5396174641
--- /dev/null
+++ b/C005_GymClass/LoseFight/Text_EN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Easy,Easy
+Normal,Normal
+Hard,Hard
+StartsIn,Starts in
+Difficulty,Difficulty:
+Perfect,Perfect fight!
+Victory,You won!
+Defeat,You lost!
+ClickContinue,Click on the image to continue.
diff --git a/C005_GymClass/Outro/Bell.jpg b/C005_GymClass/Outro/Bell.jpg
new file mode 100644
index 0000000000..e6a0f10b31
Binary files /dev/null and b/C005_GymClass/Outro/Bell.jpg differ
diff --git a/C005_GymClass/Outro/Script.js b/C005_GymClass/Outro/Script.js
new file mode 100644
index 0000000000..b7c6b6f68a
--- /dev/null
+++ b/C005_GymClass/Outro/Script.js
@@ -0,0 +1,33 @@
+// Chapter 5 - Outro Load
+function C005_GymClass_Outro_Load() {
+	
+	// Time is always 11:30:00 in the outro, unlock if needed
+	StopTimer(11.5 * 60 * 60 * 1000);
+	PlayerUnlockAllInventory();
+	ActorSpecificClearInventory("Jennifer", true);
+	PlayerClothes("Clothed");
+
+}
+
+// Chapter 5 - Outro Run
+function C005_GymClass_Outro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
+		
+	// Draw the outro text
+	DrawText(ctx, GetText("Outro1"), 400, 200, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Outro2"), 400, 400, "White");
+
+}
+
+// Chapter 5 - Outro Click
+function C005_GymClass_Outro_Click() {
+
+	// Jump to the next animation
+	TextPhase++;
+	if (TextPhase >= 2) SaveMenu("C007_LunchBreak", "Intro");
+
+}
\ No newline at end of file
diff --git a/C005_GymClass/Outro/Text_CN.csv b/C005_GymClass/Outro/Text_CN.csv
new file mode 100644
index 0000000000..788fd3a268
--- /dev/null
+++ b/C005_GymClass/Outro/Text_CN.csv
@@ -0,0 +1,3 @@
+Tag,Content
+Outro1,体育课结束了,铃声又响了起来。
+Outro2,你赶紧洗了个澡并出发去吃午餐。
diff --git a/C005_GymClass/Outro/Text_EN.csv b/C005_GymClass/Outro/Text_EN.csv
new file mode 100644
index 0000000000..721f85e061
--- /dev/null
+++ b/C005_GymClass/Outro/Text_EN.csv
@@ -0,0 +1,3 @@
+Tag,Content
+Outro1,Gym class is over and the bell rings again.
+Outro2,You take a quick shower and head out for lunch.
diff --git a/C005_GymClass/WinFight/Fight.csv b/C005_GymClass/WinFight/Fight.csv
new file mode 100644
index 0000000000..f008761302
--- /dev/null
+++ b/C005_GymClass/WinFight/Fight.csv
@@ -0,0 +1,15 @@
+From,To,Image
+-1,-1,FightEven.jpg
+0,0,FightLose.jpg
+1,9,Fight1.jpg
+10,18,Fight2.jpg
+19,27,Fight3.jpg
+28,36,Fight4.jpg
+37,45,Fight5.jpg
+46,54,FightEven.jpg
+55,63,Fight6.jpg
+64,72,Fight7.jpg
+73,81,Fight8.jpg
+82,90,Fight9.jpg
+91,99,Fight10.jpg
+100,100,FightWin.jpg
diff --git a/C005_GymClass/WinFight/Fight1.jpg b/C005_GymClass/WinFight/Fight1.jpg
new file mode 100644
index 0000000000..5e6724e059
Binary files /dev/null and b/C005_GymClass/WinFight/Fight1.jpg differ
diff --git a/C005_GymClass/WinFight/Fight10.jpg b/C005_GymClass/WinFight/Fight10.jpg
new file mode 100644
index 0000000000..a133d9a85c
Binary files /dev/null and b/C005_GymClass/WinFight/Fight10.jpg differ
diff --git a/C005_GymClass/WinFight/Fight2.jpg b/C005_GymClass/WinFight/Fight2.jpg
new file mode 100644
index 0000000000..9f2a7e1e18
Binary files /dev/null and b/C005_GymClass/WinFight/Fight2.jpg differ
diff --git a/C005_GymClass/WinFight/Fight3.jpg b/C005_GymClass/WinFight/Fight3.jpg
new file mode 100644
index 0000000000..8a782569ff
Binary files /dev/null and b/C005_GymClass/WinFight/Fight3.jpg differ
diff --git a/C005_GymClass/WinFight/Fight4.jpg b/C005_GymClass/WinFight/Fight4.jpg
new file mode 100644
index 0000000000..0fe8dcbcab
Binary files /dev/null and b/C005_GymClass/WinFight/Fight4.jpg differ
diff --git a/C005_GymClass/WinFight/Fight5.jpg b/C005_GymClass/WinFight/Fight5.jpg
new file mode 100644
index 0000000000..1b2155ab0d
Binary files /dev/null and b/C005_GymClass/WinFight/Fight5.jpg differ
diff --git a/C005_GymClass/WinFight/Fight6.jpg b/C005_GymClass/WinFight/Fight6.jpg
new file mode 100644
index 0000000000..132977e62c
Binary files /dev/null and b/C005_GymClass/WinFight/Fight6.jpg differ
diff --git a/C005_GymClass/WinFight/Fight7.jpg b/C005_GymClass/WinFight/Fight7.jpg
new file mode 100644
index 0000000000..cd6763dffe
Binary files /dev/null and b/C005_GymClass/WinFight/Fight7.jpg differ
diff --git a/C005_GymClass/WinFight/Fight8.jpg b/C005_GymClass/WinFight/Fight8.jpg
new file mode 100644
index 0000000000..bf299be7ed
Binary files /dev/null and b/C005_GymClass/WinFight/Fight8.jpg differ
diff --git a/C005_GymClass/WinFight/Fight9.jpg b/C005_GymClass/WinFight/Fight9.jpg
new file mode 100644
index 0000000000..e9b0647b8f
Binary files /dev/null and b/C005_GymClass/WinFight/Fight9.jpg differ
diff --git a/C005_GymClass/WinFight/FightEven.jpg b/C005_GymClass/WinFight/FightEven.jpg
new file mode 100644
index 0000000000..61aa7d3c3d
Binary files /dev/null and b/C005_GymClass/WinFight/FightEven.jpg differ
diff --git a/C005_GymClass/WinFight/FightLose.jpg b/C005_GymClass/WinFight/FightLose.jpg
new file mode 100644
index 0000000000..73536f5eee
Binary files /dev/null and b/C005_GymClass/WinFight/FightLose.jpg differ
diff --git a/C005_GymClass/WinFight/FightWin.jpg b/C005_GymClass/WinFight/FightWin.jpg
new file mode 100644
index 0000000000..82f1acbeb2
Binary files /dev/null and b/C005_GymClass/WinFight/FightWin.jpg differ
diff --git a/C005_GymClass/WinFight/HitIcon0.png b/C005_GymClass/WinFight/HitIcon0.png
new file mode 100644
index 0000000000..cfdd36cdd4
Binary files /dev/null and b/C005_GymClass/WinFight/HitIcon0.png differ
diff --git a/C005_GymClass/WinFight/HitIcon1.png b/C005_GymClass/WinFight/HitIcon1.png
new file mode 100644
index 0000000000..cfdd36cdd4
Binary files /dev/null and b/C005_GymClass/WinFight/HitIcon1.png differ
diff --git a/C005_GymClass/WinFight/HitIcon2.png b/C005_GymClass/WinFight/HitIcon2.png
new file mode 100644
index 0000000000..cfdd36cdd4
Binary files /dev/null and b/C005_GymClass/WinFight/HitIcon2.png differ
diff --git a/C005_GymClass/WinFight/HitIcon3.png b/C005_GymClass/WinFight/HitIcon3.png
new file mode 100644
index 0000000000..cfdd36cdd4
Binary files /dev/null and b/C005_GymClass/WinFight/HitIcon3.png differ
diff --git a/C005_GymClass/WinFight/Script.js b/C005_GymClass/WinFight/Script.js
new file mode 100644
index 0000000000..d7fb3f31e5
--- /dev/null
+++ b/C005_GymClass/WinFight/Script.js
@@ -0,0 +1,33 @@
+// Chapter 5 - Win Fight Load
+function C005_GymClass_WinFight_Load() {
+	if (C005_GymClass_Jennifer_EasyMode) LoadFight("Jennifer", "Normal", 0);
+	else LoadFight("Jennifer", "Hard", 0);
+}
+
+// Chapter 5 - Win Fight Run
+function C005_GymClass_WinFight_Run() {
+	RenderFight();
+}
+
+// Chapter 5 - Win Fight Click
+function C005_GymClass_WinFight_Click() {
+	FightClick();
+}
+
+// Chapter 5 - Win Fight Key Down
+function C005_GymClass_WinFight_KeyDown() {
+	FightKeyDown();
+}
+
+// Chapter 5 - Win Fight End
+function C005_GymClass_WinFight_FightEnd(Victory) {
+	if (Victory) {
+		C005_GymClass_Jennifer_CurrentStage = 400;
+		if (!C005_GymClass_Jennifer_EasyMode) C005_GymClass_Jennifer_DefeatedHardMode = true;
+		if (!C005_GymClass_Jennifer_EasyMode && FightPerfect) C005_GymClass_Jennifer_DefeatedHardModePerfect = true;
+	}
+	else {
+		C005_GymClass_Jennifer_CurrentStage = 210;
+		C005_GymClass_Jennifer_Turnabout = true;
+	}
+}
\ No newline at end of file
diff --git a/C005_GymClass/WinFight/Text_CN.csv b/C005_GymClass/WinFight/Text_CN.csv
new file mode 100644
index 0000000000..a2c16627c3
--- /dev/null
+++ b/C005_GymClass/WinFight/Text_CN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Easy,简单
+Normal,中等
+Hard,困难
+StartsIn,开始于
+Difficulty,难度:
+Perfect,完美胜利!
+Victory,你赢了!
+Defeat,你输了!
+ClickContinue,点击图片以继续
diff --git a/C005_GymClass/WinFight/Text_EN.csv b/C005_GymClass/WinFight/Text_EN.csv
new file mode 100644
index 0000000000..5396174641
--- /dev/null
+++ b/C005_GymClass/WinFight/Text_EN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Easy,Easy
+Normal,Normal
+Hard,Hard
+StartsIn,Starts in
+Difficulty,Difficulty:
+Perfect,Perfect fight!
+Victory,You won!
+Defeat,You lost!
+ClickContinue,Click on the image to continue.
diff --git a/C006_Isolation/CellDoor/CellDoor.jpg b/C006_Isolation/CellDoor/CellDoor.jpg
new file mode 100644
index 0000000000..0210395192
Binary files /dev/null and b/C006_Isolation/CellDoor/CellDoor.jpg differ
diff --git a/C006_Isolation/CellDoor/Intro_EN.csv b/C006_Isolation/CellDoor/Intro_EN.csv
new file mode 100644
index 0000000000..09165e16c6
--- /dev/null
+++ b/C006_Isolation/CellDoor/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,The cell door is locked.,CellDoor.jpg
+10,0,0,,,CellDoor.jpg
diff --git a/C006_Isolation/CellDoor/Script.js b/C006_Isolation/CellDoor/Script.js
new file mode 100644
index 0000000000..e30c29fd96
--- /dev/null
+++ b/C006_Isolation/CellDoor/Script.js
@@ -0,0 +1,37 @@
+var C006_Isolation_CellDoor_CurrentStage = 0;
+
+// Chapter 6 - Cell Door Load
+function C006_Isolation_CellDoor_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "IsolationRoom";
+	LoadInteractions();
+}
+
+// Chapter 6 - Cell Door Run
+function C006_Isolation_CellDoor_Run() {
+	BuildInteraction(C006_Isolation_CellDoor_CurrentStage);
+}
+
+// Chapter 6 - Cell Door Click
+function C006_Isolation_CellDoor_Click() {	
+
+	// Regular interactions
+	ClickInteraction(C006_Isolation_CellDoor_CurrentStage);
+
+	// The hook can be used to pick the lock
+	if (GetClickedInventory() == "RustyHook") {
+		C006_Isolation_CellDoor_CurrentStage = 10;
+		OverridenIntroText = GetText("PickLock");
+		PlayerRemoveInventory("RustyHook", 1);
+		C006_Isolation_IsolationRoom_AllowPickLock = true;
+	}
+
+}
+
+// Starts the lock picking process from the cell door menu
+function C006_Isolation_CellDoor_PickLock() {
+	SetScene(CurrentChapter, LeaveScreen);
+	MouseX = 900;
+	MouseY = 300;
+	C006_Isolation_IsolationRoom_Click();
+}
\ No newline at end of file
diff --git a/C006_Isolation/CellDoor/Stage_EN.csv b/C006_Isolation/CellDoor/Stage_EN.csv
new file mode 100644
index 0000000000..39e44616a0
--- /dev/null
+++ b/C006_Isolation/CellDoor/Stage_EN.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Force the door.)|(1 minute),You try to force the door but you|fail miserably in your current position.,0,0,0,
+0,0,0,,(Check the lock.)|(1 minute),The lock is pretty old and somewhat basic.|You would need a big round key for it.,0,0,0,
+0,0,0,,@UUUUMMP!,Nobody's there to hear you.,0,0,0,
+10,0,0,,(Try to pick the lock.),,0,0,0,PickLock()
+10,0,0,,(Force the door.)|(1 minute),You try to force the door but you|fail miserably in your current position.,10,0,0,
diff --git a/C006_Isolation/CellDoor/Text_EN.csv b/C006_Isolation/CellDoor/Text_EN.csv
new file mode 100644
index 0000000000..71dc5ed10f
--- /dev/null
+++ b/C006_Isolation/CellDoor/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+PickLock,You jam the hook into the lock and it fits.|Maybe you could try to pick the lock with it.
diff --git a/C006_Isolation/CellGround/CellGround.jpg b/C006_Isolation/CellGround/CellGround.jpg
new file mode 100644
index 0000000000..0c82d41be2
Binary files /dev/null and b/C006_Isolation/CellGround/CellGround.jpg differ
diff --git a/C006_Isolation/CellGround/Intro_EN.csv b/C006_Isolation/CellGround/Intro_EN.csv
new file mode 100644
index 0000000000..c53f29e908
--- /dev/null
+++ b/C006_Isolation/CellGround/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,There's a few objects on the ground.|You won't be able to pick more than one at a time.,CellGround.jpg
diff --git a/C006_Isolation/CellGround/Script.js b/C006_Isolation/CellGround/Script.js
new file mode 100644
index 0000000000..a5223ba9c5
--- /dev/null
+++ b/C006_Isolation/CellGround/Script.js
@@ -0,0 +1,42 @@
+var C006_Isolation_CellGround_CurrentStage = 0;
+var C006_Isolation_CellGround_RopeAvail = true;
+var C006_Isolation_CellGround_CollarAvail = true;
+var C006_Isolation_CellGround_HookAvail = true;
+
+// Chapter 6 - Cell Ground Load
+function C006_Isolation_CellGround_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "IsolationRoom";
+	LoadInteractions();
+}
+
+// Chapter 6 - Cell Ground Run
+function C006_Isolation_CellGround_Run() {
+	BuildInteraction(C006_Isolation_CellGround_CurrentStage);
+}
+
+// Chapter 6 - Cell Ground Click
+function C006_Isolation_CellGround_Click() {	
+	ClickInteraction(C006_Isolation_CellGround_CurrentStage);
+}
+
+// Chapter 6 - Cell Ground Take Rope
+function C006_Isolation_CellGround_TakeRope() {
+	C006_Isolation_IsolationRoom_DropInventory();
+	PlayerAddInventory("Rope", 1);
+	C006_Isolation_CellGround_RopeAvail = false;
+}
+
+// Chapter 6 - Cell Ground Take Collar
+function C006_Isolation_CellGround_TakeCollar() {
+	C006_Isolation_IsolationRoom_DropInventory();
+	PlayerAddInventory("Collar", 1);
+	C006_Isolation_CellGround_CollarAvail = false;
+}
+
+// Chapter 6 - Cell Ground Take Hook
+function C006_Isolation_CellGround_TakeHook() {
+	C006_Isolation_IsolationRoom_DropInventory();
+	PlayerAddInventory("RustyHook", 1);
+	C006_Isolation_CellGround_HookAvail = false;
+}
\ No newline at end of file
diff --git a/C006_Isolation/CellGround/Stage_EN.csv b/C006_Isolation/CellGround/Stage_EN.csv
new file mode 100644
index 0000000000..c8cb6b86f1
--- /dev/null
+++ b/C006_Isolation/CellGround/Stage_EN.csv
@@ -0,0 +1,5 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,RopeAvail,(Pick up the rope.),You pick up the rope.,0,0,0,TakeRope()
+0,0,0,CollarAvail,(Pick up the collar.),You pick up the collar.,0,0,0,TakeCollar()
+0,0,0,,(Pick up the chain.),You try to take the chain but|it's firmly attached to the ground.,0,0,0,
+0,0,0,HookAvail,(Pick up the hook.),You pick up an old metal hook.,0,0,0,TakeHook()
diff --git a/C006_Isolation/CellGround/Text_EN.csv b/C006_Isolation/CellGround/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C006_Isolation/CellGround/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C006_Isolation/Cross/Cross.jpg b/C006_Isolation/Cross/Cross.jpg
new file mode 100644
index 0000000000..c2cfcf9653
Binary files /dev/null and b/C006_Isolation/Cross/Cross.jpg differ
diff --git a/C006_Isolation/Cross/Cross1Ankle.jpg b/C006_Isolation/Cross/Cross1Ankle.jpg
new file mode 100644
index 0000000000..02b053494d
Binary files /dev/null and b/C006_Isolation/Cross/Cross1Ankle.jpg differ
diff --git a/C006_Isolation/Cross/Cross2Ankles.jpg b/C006_Isolation/Cross/Cross2Ankles.jpg
new file mode 100644
index 0000000000..fc30210829
Binary files /dev/null and b/C006_Isolation/Cross/Cross2Ankles.jpg differ
diff --git a/C006_Isolation/Cross/Intro_EN.csv b/C006_Isolation/Cross/Intro_EN.csv
new file mode 100644
index 0000000000..2bb7dac819
--- /dev/null
+++ b/C006_Isolation/Cross/Intro_EN.csv
@@ -0,0 +1,5 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,"An ""X"" shaped cross is bolted on the wall.",Cross.jpg
+10,0,0,,Do you want to lock your ankle in?,Cross.jpg
+20,0,0,,,Cross1Ankle.jpg
+30,0,0,,,Cross2Ankles.jpg
diff --git a/C006_Isolation/Cross/Script.js b/C006_Isolation/Cross/Script.js
new file mode 100644
index 0000000000..92ee0e62e8
--- /dev/null
+++ b/C006_Isolation/Cross/Script.js
@@ -0,0 +1,24 @@
+var C006_Isolation_Cross_CurrentStage = 0;
+
+// Chapter 6 - Cross Load
+function C006_Isolation_Cross_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "IsolationRoom";
+	LoadInteractions();
+}
+
+// Chapter 6 - Cross Run
+function C006_Isolation_Cross_Run() {
+	BuildInteraction(C006_Isolation_Cross_CurrentStage);
+}
+
+// Chapter 6 - Cross Click
+function C006_Isolation_Cross_Click() {	
+	ClickInteraction(C006_Isolation_Cross_CurrentStage);
+}
+
+// Chapter 6 - Cross Trap - The player is stuck on that scene until 11:30
+function C006_Isolation_Cross_Trap() {
+	LeaveIcon = "Wait";
+	C006_Isolation_Outro_StuckCross = true;
+}
\ No newline at end of file
diff --git a/C006_Isolation/Cross/Stage_EN.csv b/C006_Isolation/Cross/Stage_EN.csv
new file mode 100644
index 0000000000..ee60c57def
--- /dev/null
+++ b/C006_Isolation/Cross/Stage_EN.csv
@@ -0,0 +1,12 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),This wooden cross has four cuffs attached to it.|Making anyone locked in very vulnerable.,0,0,0,
+0,0,0,,(Cuff a wrist.),You try to reach the top cuffs to lock your|wrist but cannot reach them in your position.,0,0,0,
+0,0,0,,(Cuff an ankle.),You could probably lock your ankle.|Are you sure you want to do it?,10,0,0,
+10,0,0,,(Cuff an ankle.)|(1 minute),You lay back on the cross and play with the|cuff with your ankle until it snaps on you.,20,0,0,Trap()
+10,0,0,,(Don't do it.),You pull back from the device.,0,0,0,
+20,0,0,,(Tug on the cuff.)|(1 minute),You tug on the cuff but it's|firmly attached to the cross.,20,0,0,
+20,0,0,,(Try to slip out.)|(1 minute),You struggle to slip your ankle|out but your foot is trapped.,20,0,0,
+20,0,0,,(Cuff another ankle.)|(1 minute),You play against the second cuff with your leg|until it locks on you.  Forcing you to spread.,30,0,0,
+30,0,0,,(Tug on the cuffs.)|(1 minute),You tug on the cuffs but they|are firmly attached to the cross.,30,0,0,
+30,0,0,,(Try to slip out.)|(1 minute),You struggle to slip your ankles|out but your feet are trapped.,30,0,0,
+30,0,0,,@UUUMNGH!,Nobody's there to hear you.,30,0,0,
diff --git a/C006_Isolation/Cross/Text_EN.csv b/C006_Isolation/Cross/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C006_Isolation/Cross/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C006_Isolation/Horse/Horse.jpg b/C006_Isolation/Horse/Horse.jpg
new file mode 100644
index 0000000000..d1687313f6
Binary files /dev/null and b/C006_Isolation/Horse/Horse.jpg differ
diff --git a/C006_Isolation/Horse/HorseRide.jpg b/C006_Isolation/Horse/HorseRide.jpg
new file mode 100644
index 0000000000..9b5b32e649
Binary files /dev/null and b/C006_Isolation/Horse/HorseRide.jpg differ
diff --git a/C006_Isolation/Horse/Intro_EN.csv b/C006_Isolation/Horse/Intro_EN.csv
new file mode 100644
index 0000000000..1364627ede
--- /dev/null
+++ b/C006_Isolation/Horse/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,A triangular wooden structure is|lying in the middle of the room.,Horse.jpg
+10,0,0,,"This ""horse"" isn't very comfortable|but it stimulates where it needs to.",HorseRide.jpg
diff --git a/C006_Isolation/Horse/Script.js b/C006_Isolation/Horse/Script.js
new file mode 100644
index 0000000000..90a27b35ba
--- /dev/null
+++ b/C006_Isolation/Horse/Script.js
@@ -0,0 +1,46 @@
+var C006_Isolation_Horse_CurrentStage = 0;
+var C006_Isolation_Horse_BoltSeen = false;
+var C006_Isolation_Horse_BoltUndone = false;
+var C006_Isolation_Horse_MetalAvail = false;
+
+// Chapter 6 - Horse Load
+function C006_Isolation_Horse_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "IsolationRoom";
+	LoadInteractions();
+}
+
+// Chapter 6 - Horse Run
+function C006_Isolation_Horse_Run() {
+	BuildInteraction(C006_Isolation_Horse_CurrentStage);
+}
+
+// Chapter 6 - Horse Click
+function C006_Isolation_Horse_Click() {	
+
+	// Regular interactions
+	ClickInteraction(C006_Isolation_Horse_CurrentStage);
+	
+	// The collar can be used to get a better grip on the bolt
+	if ((GetClickedInventory() == "Collar") && C006_Isolation_Horse_BoltSeen && !C006_Isolation_Horse_BoltUndone) {
+		OverridenIntroText = GetText("UndoBolt");		
+		C006_Isolation_Horse_BoltSeen = false;
+		C006_Isolation_Horse_BoltUndone = true;
+		C006_Isolation_Horse_MetalAvail = true;
+		CurrentTime = CurrentTime + 10000;
+	}
+	
+}
+
+// Chapter 6 - Horse Allow Bolt
+function C006_Isolation_Horse_AllowBolt() {
+	if (!C006_Isolation_Horse_BoltUndone) 
+		C006_Isolation_Horse_BoltSeen = true;
+}
+
+// Chapter 6 - Horse Take Metal
+function C006_Isolation_Horse_TakeMetal() {
+	C006_Isolation_IsolationRoom_DropInventory();
+	PlayerAddInventory("MetalSheet", 1);
+	C006_Isolation_Horse_MetalAvail = false;
+}
diff --git a/C006_Isolation/Horse/Stage_EN.csv b/C006_Isolation/Horse/Stage_EN.csv
new file mode 100644
index 0000000000..648aa4dabd
--- /dev/null
+++ b/C006_Isolation/Horse/Stage_EN.csv
@@ -0,0 +1,8 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,!BoltUndone,(Inspect it.)|(1 minute),"This ""horse"" is used to whip on every angles.|There's an old rusty bolt on the back side.",0,0,0,AllowBolt()
+0,0,0,BoltUndone,(Inspect it.)|(1 minute),"This ""horse"" is used to whip on every angles.|A metal sheet fell when you undid the bolt.",0,0,0,
+0,0,0,BoltSeen,(Undo the bolt.)|(1 minute),The old bolt could be undone but not with|your bare hands.  You'll need a better grip.,0,0,0,
+0,0,0,MetalAvail,(Pick up the|metal sheet.),You pick up the metal sheet.,0,0,0,TakeMetal()
+0,0,0,,(Ride the horse.)|(1 minute),You try to reach the top cuffs to lock your|wrist but cannot reach them in your position.,10,0,0,
+10,0,0,,(Try to stimulate.)|(1 minute),You try to stimulate yourself on the|device and it feels somewhat pleasurable.,10,0,0,
+10,0,0,,(Step down.)|(1 minute),You pull back from the device.,0,0,0,
diff --git a/C006_Isolation/Horse/Text_EN.csv b/C006_Isolation/Horse/Text_EN.csv
new file mode 100644
index 0000000000..eff40a5351
--- /dev/null
+++ b/C006_Isolation/Horse/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+UndoBolt,"Using the leather collar, you get a good grip on the|bolt and undo it.  A metal sheet falls on the ground."
diff --git a/C006_Isolation/Intro/Background.jpg b/C006_Isolation/Intro/Background.jpg
new file mode 100644
index 0000000000..ae9447718c
Binary files /dev/null and b/C006_Isolation/Intro/Background.jpg differ
diff --git a/C006_Isolation/Intro/Script.js b/C006_Isolation/Intro/Script.js
new file mode 100644
index 0000000000..009a58e32e
--- /dev/null
+++ b/C006_Isolation/Intro/Script.js
@@ -0,0 +1,40 @@
+// Chapter 6 - Intro Load
+function C006_Isolation_Intro_Load() {
+
+	// Time is always 10:30 on the intro, no timer
+	StopTimer(10.5 * 60 * 60 * 1000);
+	
+	// Do not allow bondage when we begin
+	Common_BondageAllowed = true;
+	Common_SelfBondageAllowed = true;
+	
+	// If there's no crime, it means the player started on chapter 6, we pick a teacher at random
+	if (Common_PlayerCrime == "") {
+		if (Math.floor(Math.random() * 2) == 1) Common_PlayerCrime = "RestrainMildred";
+		else Common_PlayerCrime = "DrugYuki";
+	}
+
+}
+
+// Chapter 6 - Intro Run
+function C006_Isolation_Intro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
+
+	// Write the chapter introduction
+	DrawText(ctx, GetText("Intro1"), 600, 150, "White");
+	if ((TextPhase >= 1) && (Common_PlayerCrime == "RestrainMildred")) DrawText(ctx, GetText("Intro2Mildred"), 600, 250, "White");
+	if ((TextPhase >= 1) && (Common_PlayerCrime == "DrugYuki")) DrawText(ctx, GetText("Intro2Yuki"), 600, 250, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 600, 350, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 600, 450, "White");
+
+}
+
+// Chapter 6 - Intro Click
+function C006_Isolation_Intro_Click() {
+	TextPhase++;
+	if ((TextPhase >= 4) && (Common_PlayerCrime == "RestrainMildred")) SetScene(CurrentChapter, "Mildred");
+	if ((TextPhase >= 4) && (Common_PlayerCrime == "DrugYuki")) SetScene(CurrentChapter, "Yuki");
+}
\ No newline at end of file
diff --git a/C006_Isolation/Intro/Text_EN.csv b/C006_Isolation/Intro/Text_EN.csv
new file mode 100644
index 0000000000..6a6659313c
--- /dev/null
+++ b/C006_Isolation/Intro/Text_EN.csv
@@ -0,0 +1,6 @@
+Tag,Content
+Intro1,Chapter 6 - Isolation (Click to continue)
+Intro2Mildred,Mildred silently drags you by the arm to the basement.
+Intro2Yuki,Yuki silently drags you by the arm to the basement.
+Intro3,"The place is gloomy, cold and without any windows."
+Intro4,She pushes you in a brick room and finally speaks to you.
diff --git a/C006_Isolation/IsolationRoom/C006_Arms_0_0.jpg b/C006_Isolation/IsolationRoom/C006_Arms_0_0.jpg
new file mode 100644
index 0000000000..b18cac3397
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Arms_0_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Arms_0_1.jpg b/C006_Isolation/IsolationRoom/C006_Arms_0_1.jpg
new file mode 100644
index 0000000000..4aa3f92237
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Arms_0_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Arms_1_0.jpg b/C006_Isolation/IsolationRoom/C006_Arms_1_0.jpg
new file mode 100644
index 0000000000..589b6c41c8
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Arms_1_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Arms_1_1.jpg b/C006_Isolation/IsolationRoom/C006_Arms_1_1.jpg
new file mode 100644
index 0000000000..4b7722843d
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Arms_1_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Arms_2_0.jpg b/C006_Isolation/IsolationRoom/C006_Arms_2_0.jpg
new file mode 100644
index 0000000000..888ca7668e
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Arms_2_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Arms_2_1.jpg b/C006_Isolation/IsolationRoom/C006_Arms_2_1.jpg
new file mode 100644
index 0000000000..cff941bc41
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Arms_2_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Arms_3_0.jpg b/C006_Isolation/IsolationRoom/C006_Arms_3_0.jpg
new file mode 100644
index 0000000000..db12a249ca
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Arms_3_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Arms_3_1.jpg b/C006_Isolation/IsolationRoom/C006_Arms_3_1.jpg
new file mode 100644
index 0000000000..90665fe193
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Arms_3_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_BallGag_0_0.jpg b/C006_Isolation/IsolationRoom/C006_BallGag_0_0.jpg
new file mode 100644
index 0000000000..999394d4fe
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_BallGag_0_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_BallGag_0_1.jpg b/C006_Isolation/IsolationRoom/C006_BallGag_0_1.jpg
new file mode 100644
index 0000000000..62b4d932b0
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_BallGag_0_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_BallGag_1_0.jpg b/C006_Isolation/IsolationRoom/C006_BallGag_1_0.jpg
new file mode 100644
index 0000000000..bb4bc2081e
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_BallGag_1_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_BallGag_1_1.jpg b/C006_Isolation/IsolationRoom/C006_BallGag_1_1.jpg
new file mode 100644
index 0000000000..26f1ad3e1b
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_BallGag_1_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_BallGag_2_0.jpg b/C006_Isolation/IsolationRoom/C006_BallGag_2_0.jpg
new file mode 100644
index 0000000000..04e3dba7fd
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_BallGag_2_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_BallGag_2_1.jpg b/C006_Isolation/IsolationRoom/C006_BallGag_2_1.jpg
new file mode 100644
index 0000000000..695ecc69be
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_BallGag_2_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_CellDoor_2_0.jpg b/C006_Isolation/IsolationRoom/C006_CellDoor_2_0.jpg
new file mode 100644
index 0000000000..95c1e75970
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_CellDoor_2_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_CellDoor_2_1.jpg b/C006_Isolation/IsolationRoom/C006_CellDoor_2_1.jpg
new file mode 100644
index 0000000000..0b5f5d1bd8
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_CellDoor_2_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_CellDoor_2_2.jpg b/C006_Isolation/IsolationRoom/C006_CellDoor_2_2.jpg
new file mode 100644
index 0000000000..cb54c21ad2
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_CellDoor_2_2.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Collar_0_0.jpg b/C006_Isolation/IsolationRoom/C006_Collar_0_0.jpg
new file mode 100644
index 0000000000..999394d4fe
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Collar_0_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Collar_0_1.jpg b/C006_Isolation/IsolationRoom/C006_Collar_0_1.jpg
new file mode 100644
index 0000000000..62b4d932b0
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Collar_0_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Collar_1_0.jpg b/C006_Isolation/IsolationRoom/C006_Collar_1_0.jpg
new file mode 100644
index 0000000000..7aea1345ad
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Collar_1_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Collar_1_1.jpg b/C006_Isolation/IsolationRoom/C006_Collar_1_1.jpg
new file mode 100644
index 0000000000..1a036b59c2
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Collar_1_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Collar_1_2.jpg b/C006_Isolation/IsolationRoom/C006_Collar_1_2.jpg
new file mode 100644
index 0000000000..02f48fcc10
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Collar_1_2.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Crotch_0_0.jpg b/C006_Isolation/IsolationRoom/C006_Crotch_0_0.jpg
new file mode 100644
index 0000000000..2fd83d00a7
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Crotch_0_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Crotch_0_1.jpg b/C006_Isolation/IsolationRoom/C006_Crotch_0_1.jpg
new file mode 100644
index 0000000000..a50f0dcbd2
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Crotch_0_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Crotch_0_2.jpg b/C006_Isolation/IsolationRoom/C006_Crotch_0_2.jpg
new file mode 100644
index 0000000000..5dcea8d942
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Crotch_0_2.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Crotch_1_0.jpg b/C006_Isolation/IsolationRoom/C006_Crotch_1_0.jpg
new file mode 100644
index 0000000000..5cac0fff10
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Crotch_1_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Crotch_1_1.jpg b/C006_Isolation/IsolationRoom/C006_Crotch_1_1.jpg
new file mode 100644
index 0000000000..fe0c1daced
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Crotch_1_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Crotch_1_2.jpg b/C006_Isolation/IsolationRoom/C006_Crotch_1_2.jpg
new file mode 100644
index 0000000000..d80a0362d8
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Crotch_1_2.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Crotch_2_0.jpg b/C006_Isolation/IsolationRoom/C006_Crotch_2_0.jpg
new file mode 100644
index 0000000000..d162cd6346
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Crotch_2_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Crotch_2_1.jpg b/C006_Isolation/IsolationRoom/C006_Crotch_2_1.jpg
new file mode 100644
index 0000000000..4161b57ff9
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Crotch_2_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Crotch_2_2.jpg b/C006_Isolation/IsolationRoom/C006_Crotch_2_2.jpg
new file mode 100644
index 0000000000..af5d7065fc
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Crotch_2_2.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_CutRope_3_0.jpg b/C006_Isolation/IsolationRoom/C006_CutRope_3_0.jpg
new file mode 100644
index 0000000000..78c1216902
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_CutRope_3_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_CutRope_3_1.jpg b/C006_Isolation/IsolationRoom/C006_CutRope_3_1.jpg
new file mode 100644
index 0000000000..42286950ab
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_CutRope_3_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_CutRope_3_2.jpg b/C006_Isolation/IsolationRoom/C006_CutRope_3_2.jpg
new file mode 100644
index 0000000000..a3b2a66d30
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_CutRope_3_2.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Legs_0_0.jpg b/C006_Isolation/IsolationRoom/C006_Legs_0_0.jpg
new file mode 100644
index 0000000000..bfde804452
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Legs_0_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Legs_0_1.jpg b/C006_Isolation/IsolationRoom/C006_Legs_0_1.jpg
new file mode 100644
index 0000000000..c4948efb3e
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Legs_0_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/C006_Legs_0_2.jpg b/C006_Isolation/IsolationRoom/C006_Legs_0_2.jpg
new file mode 100644
index 0000000000..bb4bc2081e
Binary files /dev/null and b/C006_Isolation/IsolationRoom/C006_Legs_0_2.jpg differ
diff --git a/C006_Isolation/IsolationRoom/Idle_0_0.jpg b/C006_Isolation/IsolationRoom/Idle_0_0.jpg
new file mode 100644
index 0000000000..999394d4fe
Binary files /dev/null and b/C006_Isolation/IsolationRoom/Idle_0_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/Idle_0_1.jpg b/C006_Isolation/IsolationRoom/Idle_0_1.jpg
new file mode 100644
index 0000000000..6cb856f3c2
Binary files /dev/null and b/C006_Isolation/IsolationRoom/Idle_0_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/Idle_1_0.jpg b/C006_Isolation/IsolationRoom/Idle_1_0.jpg
new file mode 100644
index 0000000000..bb4bc2081e
Binary files /dev/null and b/C006_Isolation/IsolationRoom/Idle_1_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/Idle_1_1.jpg b/C006_Isolation/IsolationRoom/Idle_1_1.jpg
new file mode 100644
index 0000000000..30138e09a4
Binary files /dev/null and b/C006_Isolation/IsolationRoom/Idle_1_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/Idle_2_0.jpg b/C006_Isolation/IsolationRoom/Idle_2_0.jpg
new file mode 100644
index 0000000000..75a3042160
Binary files /dev/null and b/C006_Isolation/IsolationRoom/Idle_2_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/Idle_2_1.jpg b/C006_Isolation/IsolationRoom/Idle_2_1.jpg
new file mode 100644
index 0000000000..55565a9fa4
Binary files /dev/null and b/C006_Isolation/IsolationRoom/Idle_2_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/Idle_3_0.jpg b/C006_Isolation/IsolationRoom/Idle_3_0.jpg
new file mode 100644
index 0000000000..46b15c6e94
Binary files /dev/null and b/C006_Isolation/IsolationRoom/Idle_3_0.jpg differ
diff --git a/C006_Isolation/IsolationRoom/Idle_3_1.jpg b/C006_Isolation/IsolationRoom/Idle_3_1.jpg
new file mode 100644
index 0000000000..cf15ae2615
Binary files /dev/null and b/C006_Isolation/IsolationRoom/Idle_3_1.jpg differ
diff --git a/C006_Isolation/IsolationRoom/Script.js b/C006_Isolation/IsolationRoom/Script.js
new file mode 100644
index 0000000000..545fb40ce5
--- /dev/null
+++ b/C006_Isolation/IsolationRoom/Script.js
@@ -0,0 +1,91 @@
+var C006_Isolation_IsolationRoom_Stage = 0;
+var C006_Isolation_IsolationRoom_OrgasmReady = false;
+var C006_Isolation_IsolationRoom_StruggleMessageBlink = true;
+var C006_Isolation_IsolationRoom_AllowPickLock = false;
+var C006_Isolation_IsolationRoom_AllowCutRope = false;
+
+// Remove all cell ground inventory
+function C006_Isolation_IsolationRoom_DropInventory() {
+	C006_Isolation_CellGround_RopeAvail = true;
+	C006_Isolation_CellGround_CollarAvail = true;
+	C006_Isolation_CellGround_HookAvail = !C006_Isolation_IsolationRoom_AllowPickLock;
+	C006_Isolation_Horse_MetalAvail = (C006_Isolation_Horse_BoltUndone && !C006_Isolation_IsolationRoom_AllowCutRope);
+	PlayerRemoveInventory("Rope", 1);
+	PlayerRemoveInventory("Collar", 1);
+	PlayerRemoveInventory("RustyHook", 1);
+	PlayerRemoveInventory("MetalSheet", 1);
+}
+
+// Chapter 6 - Isolation Room Load
+function C006_Isolation_IsolationRoom_Load() {
+	LeaveIcon = "Wait";
+	StruggleDone = false;
+	StruggleProgress = 0;
+	C006_Isolation_IsolationRoom_OrgasmReady = (PlayerHasLockedInventory("VibratingEgg"));
+	LoadText();
+}
+
+// Chapter 6 - Isolation Room Run
+function C006_Isolation_IsolationRoom_Run() {
+	StruggleRun(GetText("Struggle" + C006_Isolation_IsolationRoom_Stage.toString()), C006_Isolation_IsolationRoom_Stage);
+}
+
+// Chapter 6 - Isolation Room Click - The player can try to struggle out of the restrains
+function C006_Isolation_IsolationRoom_Click() {
+
+	// On stage 0, only the leg ropes can be removed, the crotch rope also works with an egg
+	if ((C006_Isolation_IsolationRoom_Stage == 0) && (!StruggleDone)) {
+		StruggleClick("C006_Legs", "Normal", GetText("Legs"), GetText("LegsSuccess"), 260, 315, 100);
+		StruggleClick("C006_Crotch", "Easy", GetText("Crotch"), (C006_Isolation_IsolationRoom_OrgasmReady ? GetText("CrotchSuccess1") : GetText("CrotchSuccess2")), 435, 285, 70);
+		StruggleClick("C006_Arms", "Impossible", GetText("ArmsImpossible"), "", 700, 240, 100);
+		StruggleClick("C006_Collar", "Impossible", GetText("CollarImpossible"), "", 930, 320, 50);
+		StruggleClick("C006_BallGag", "Impossible", GetText("BallGagImpossible"), "", 1055, 355, 70);
+	}
+
+	// On stage 1, only the collar can be unstrapped, the crotch rope also works with an egg
+	if ((C006_Isolation_IsolationRoom_Stage == 1) && (!StruggleDone)) {
+		StruggleClick("C006_Crotch", "Easy", GetText("Crotch"), (C006_Isolation_IsolationRoom_OrgasmReady ? GetText("CrotchSuccess1") : GetText("CrotchSuccess2")), 435, 285, 70);
+		StruggleClick("C006_Arms", "Impossible", GetText("ArmsImpossible"), "", 700, 240, 100);
+		StruggleClick("C006_Collar", "Hard", GetText("Collar"), GetText("CollarSuccess"), 910, 310, 50);
+		StruggleClick("C006_BallGag", "Impossible", GetText("BallGagImpossible"), "", 1055, 355, 70);
+	}
+
+	// On stage 2, no real struggling can be done
+	if ((C006_Isolation_IsolationRoom_Stage == 2) && (!StruggleDone)) {
+		StruggleClick("C006_Crotch", "Easy", GetText("Crotch"), (C006_Isolation_IsolationRoom_OrgasmReady ? GetText("CrotchSuccess1") : GetText("CrotchSuccess2")), 575, 490, 65);
+		StruggleClick("C006_Arms", "Impossible", GetText("ArmsImpossible"), "", 575, 350, 65);
+		StruggleClick("C006_BallGag", "Impossible", GetText("BallGagImpossible"), "", 575, 210, 65);
+		if ((MouseX >= 1) && (MouseX <= 450) && (MouseY >= 450) && (MouseY <= 599)) SetScene(CurrentChapter, "CellGround");
+		if ((MouseX >= 750) && (MouseX <= 1150) && (MouseY >= 1) && (MouseY <= 599) && !C006_Isolation_IsolationRoom_AllowPickLock) SetScene(CurrentChapter, "CellDoor");
+		if (C006_Isolation_IsolationRoom_AllowPickLock) StruggleClick("C006_CellDoor", "Normal", GetText("PickLock"), GetText("PickLockSuccess"), 900, 300, 200);
+	}
+
+	// On stage 3, no real struggling can be done
+	if ((C006_Isolation_IsolationRoom_Stage == 3) && (!StruggleDone)) {
+		StruggleClick("C006_Arms", "Impossible", GetText("ArmsImpossible"), "", 390, 320, 80);
+		if ((MouseX >= 1) && (MouseX <= 300) && (MouseY >= 300) && (MouseY <= 599)) SetScene(CurrentChapter, "CellGround");
+		if ((MouseX >= 1035) && (MouseX <= 1200) && (MouseY >= 250) && (MouseY <= 599)) SetScene(CurrentChapter, "Pillory");
+		if ((MouseX >= 540) && (MouseX <= 825) && (MouseY >= 290) && (MouseY <= 450)) SetScene(CurrentChapter, "Horse");
+		if ((MouseX >= 460) && (MouseX <= 630) && (MouseY >= 30) && (MouseY <= 289)) SetScene(CurrentChapter, "Cross");
+		if ((MouseX >= 830) && (MouseX <= 1000) && (MouseY >= 180) && (MouseY <= 300) && (!C006_Isolation_IsolationRoom_AllowCutRope)) SetScene(CurrentChapter, "Table");
+		if (C006_Isolation_IsolationRoom_AllowCutRope) StruggleClick("C006_CutRope", "Hard", GetText("CutRope"), GetText("CutRopeSuccess"), 910, 220, 100);
+	}
+	
+	// Opens the inventory screen 
+	InventoryClick(GetClickedInventory(), CurrentChapter, "IsolationRoom");
+
+}
+
+// Chapter 6 - Isolation Room Click
+function C006_Isolation_IsolationRoom_StruggleDone() {
+
+	// If we must move from one screen stage to another
+	if ((C006_Isolation_IsolationRoom_Stage == 0) && (StruggleType == "C006_Legs")) C006_Isolation_IsolationRoom_Stage++;
+	if ((C006_Isolation_IsolationRoom_Stage == 1) && (StruggleType == "C006_Collar")) { PlayerUnlockInventory("Collar"); C006_Isolation_IsolationRoom_Stage++; }
+	if ((C006_Isolation_IsolationRoom_Stage == 2) && (StruggleType == "C006_CellDoor")) C006_Isolation_IsolationRoom_Stage++;
+	if ((C006_Isolation_IsolationRoom_Stage == 3) && (StruggleType == "C006_CutRope")) SetScene(CurrentChapter, "Outro");
+	
+	// Can only have one orgasm from the crotch rope at any stage
+	if (StruggleType == "C006_Crotch") C006_Isolation_IsolationRoom_OrgasmReady = false;
+	
+}
diff --git a/C006_Isolation/IsolationRoom/Text_EN.csv b/C006_Isolation/IsolationRoom/Text_EN.csv
new file mode 100644
index 0000000000..77538d2c44
--- /dev/null
+++ b/C006_Isolation/IsolationRoom/Text_EN.csv
@@ -0,0 +1,23 @@
+Tag,Content
+Easy,Easy
+Normal,Normal
+Hard,Hard
+Impossible,Impossible
+Struggle0,Click rapidly on a restrain to try to struggle out.
+Struggle1,Click rapidly on a restrain to try to struggle out.
+Struggle2,Find a way out of the cell.
+Struggle3,Find a way to free yourself.
+Legs,Struggle to reach and undo the leg knots!
+LegsSuccess,You did it!  You freed your legs!
+Crotch,Stimulate with the crotch rope!
+CrotchSuccess1,"Combined with the egg, the crotch rope gives you a sweet orgasm."
+CrotchSuccess2,The rope feels very nice but it's not enough to get an orgasm.
+ArmsImpossible,Struggle to free your arms!
+CollarImpossible,Struggle to break the collar!
+BallGagImpossible,Struggle to spit the ballgag!
+Collar,Struggle to unstrap the collar with your foot!
+CollarSuccess,You did it!  The collar is unstrapped.
+PickLock,Struggle to pick the lock!
+PickLockSuccess,Well done!  You can leave the cell.
+CutRope,Struggle to cut the rope!
+CutRopeSuccess,You did it!  You can escape isolation.
diff --git a/C006_Isolation/Mildred/Intro_EN.csv b/C006_Isolation/Mildred/Intro_EN.csv
new file mode 100644
index 0000000000..7a55480e00
--- /dev/null
+++ b/C006_Isolation/Mildred/Intro_EN.csv
@@ -0,0 +1,24 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,So you thought you could kidnap|me in my own class young lady?,Mildred.jpg
+10,0,0,,,Mildred.jpg
+20,0,0,,,MildredPlayer.jpg
+30,0,0,,,MildredPlayer.jpg
+40,0,0,,,MildredPlayer.jpg
+50,0,0,,,MildredStrapPlayer.jpg
+60,0,0,,,MildredPlayerStrip.jpg
+70,0,0,,,MildredStrapPlayerStrip.jpg
+100,0,0,,,MildredPlayerCollar.jpg
+110,0,0,,,MildredPlayerCollar.jpg
+120,0,0,,,MildredPlayerRope.jpg
+125,0,0,,,MildredPlayerCell.jpg
+130,0,0,,,MildredPlayerHogtie.jpg
+140,0,0,,,MildredPlayerLock.jpg
+150,0,0,,,MildredPlayerLock.jpg
+160,0,0,,,MildredPlayerLock.jpg
+170,0,0,,,MildredPlayerStrip.jpg
+200,0,0,,,MildredPlayerBallGag.jpg
+210,0,0,,,PlayerBallGag.jpg
+300,0,0,,,MildredPlayerHorse.jpg
+310,0,0,,,MildredPlayerHorse.jpg
+320,0,0,,,MildredPlayerHorseCrop1.jpg
+330,0,0,,,MildredPlayerHorse.jpg
diff --git a/C006_Isolation/Mildred/Mildred.jpg b/C006_Isolation/Mildred/Mildred.jpg
new file mode 100644
index 0000000000..0771421566
Binary files /dev/null and b/C006_Isolation/Mildred/Mildred.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayer.jpg b/C006_Isolation/Mildred/MildredPlayer.jpg
new file mode 100644
index 0000000000..6b0c9984f4
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayer.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerBallGag.jpg b/C006_Isolation/Mildred/MildredPlayerBallGag.jpg
new file mode 100644
index 0000000000..12d35b4a30
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerBallGag.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerCell.jpg b/C006_Isolation/Mildred/MildredPlayerCell.jpg
new file mode 100644
index 0000000000..b805eb0c26
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerCell.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerCollar.jpg b/C006_Isolation/Mildred/MildredPlayerCollar.jpg
new file mode 100644
index 0000000000..968146ed00
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerCollar.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerHogtie.jpg b/C006_Isolation/Mildred/MildredPlayerHogtie.jpg
new file mode 100644
index 0000000000..cca0c2a4b7
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerHogtie.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerHorse.jpg b/C006_Isolation/Mildred/MildredPlayerHorse.jpg
new file mode 100644
index 0000000000..9068f8f043
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerHorse.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerHorseCrop0.jpg b/C006_Isolation/Mildred/MildredPlayerHorseCrop0.jpg
new file mode 100644
index 0000000000..45af140b94
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerHorseCrop0.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerHorseCrop1.jpg b/C006_Isolation/Mildred/MildredPlayerHorseCrop1.jpg
new file mode 100644
index 0000000000..a894e54d87
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerHorseCrop1.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerHorseCrop2.jpg b/C006_Isolation/Mildred/MildredPlayerHorseCrop2.jpg
new file mode 100644
index 0000000000..1ecef08ca8
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerHorseCrop2.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerLock.jpg b/C006_Isolation/Mildred/MildredPlayerLock.jpg
new file mode 100644
index 0000000000..bd7fc8052d
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerLock.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerRope.jpg b/C006_Isolation/Mildred/MildredPlayerRope.jpg
new file mode 100644
index 0000000000..940ca0c29a
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerRope.jpg differ
diff --git a/C006_Isolation/Mildred/MildredPlayerStrip.jpg b/C006_Isolation/Mildred/MildredPlayerStrip.jpg
new file mode 100644
index 0000000000..b7a7b2cd92
Binary files /dev/null and b/C006_Isolation/Mildred/MildredPlayerStrip.jpg differ
diff --git a/C006_Isolation/Mildred/MildredStrapPlayer.jpg b/C006_Isolation/Mildred/MildredStrapPlayer.jpg
new file mode 100644
index 0000000000..9adf3e20cb
Binary files /dev/null and b/C006_Isolation/Mildred/MildredStrapPlayer.jpg differ
diff --git a/C006_Isolation/Mildred/MildredStrapPlayerStrip.jpg b/C006_Isolation/Mildred/MildredStrapPlayerStrip.jpg
new file mode 100644
index 0000000000..c884da2ff0
Binary files /dev/null and b/C006_Isolation/Mildred/MildredStrapPlayerStrip.jpg differ
diff --git a/C006_Isolation/Mildred/PlayerBallGag.jpg b/C006_Isolation/Mildred/PlayerBallGag.jpg
new file mode 100644
index 0000000000..a3b19c8b4e
Binary files /dev/null and b/C006_Isolation/Mildred/PlayerBallGag.jpg differ
diff --git a/C006_Isolation/Mildred/Script.js b/C006_Isolation/Mildred/Script.js
new file mode 100644
index 0000000000..a59cce9b67
--- /dev/null
+++ b/C006_Isolation/Mildred/Script.js
@@ -0,0 +1,101 @@
+var C006_Isolation_Mildred_CurrentStage = 0;
+var C006_Isolation_Mildred_CropCount = 0;
+var C006_Isolation_Mildred_CropMaxCount = 0;
+
+// Chapter 6 - Mildred Load
+function C006_Isolation_Mildred_Load() {
+
+	// Load the scene parameters
+	StartTimer(11.5 * 60 * 60 * 1000, CurrentChapter, "Outro");
+	ActorLoad("Mildred", "IsolationRoom");
+	LoadInteractions();
+	LeaveIcon = "";
+
+}
+
+// Chapter 6 - Mildred Run
+function C006_Isolation_Mildred_Run() {
+	BuildInteraction(C006_Isolation_Mildred_CurrentStage);
+}
+
+// Chapter 6 - Mildred Click
+function C006_Isolation_Mildred_Click() {	
+	ClickInteraction(C006_Isolation_Mildred_CurrentStage);
+}
+
+// Chapter 6 - Mildred Steal Items
+function C006_Isolation_Mildred_StealItems() {
+	PlayerSaveAllInventory();
+	PlayerRemoveAllInventory();
+}
+
+// Chapter 6 - Mildred Add Collar
+function C006_Isolation_Mildred_AddCollar() {
+	PlayerLockInventory("Collar");
+}
+
+// Chapter 6 - Mildred Add Rope
+function C006_Isolation_Mildred_AddRope() {
+	PlayerClothes("Underwear");
+	PlayerLockInventory("Rope");
+}
+
+// Chapter 6 - Mildred Add Gag
+function C006_Isolation_Mildred_AddGag() {
+	PlayerLockInventory("BallGag");
+}
+
+// Chapter 6 - Mildred Release
+function C006_Isolation_Mildred_Release() {
+	PlayerUnlockInventory("Collar");
+	PlayerUnlockInventory("Rope");
+	PlayerUnlockInventory("BallGag");
+}
+
+// Chapter 6 - Mildred Leave Isolation
+function C006_Isolation_Mildred_LeaveIsolation() {
+	C006_Isolation_Outro_EarlyRelease = true;
+	SetScene(CurrentChapter, "Outro");	
+}
+
+// Chapter 6 - Mildred Allow Leave
+function C006_Isolation_Mildred_AllowLeave() {
+	LeaveIcon = "Leave";
+}
+
+// Chapter 6 - Mildred, if she doesn't like the player, she crops
+function C006_Isolation_Mildred_CheckForCrop() {	
+	if (ActorGetValue(ActorLove) <= -3) {
+		OverridenIntroText = GetText("CropStartHate");
+		C006_Isolation_Mildred_CurrentStage = 300;
+		C006_Isolation_Mildred_CropMaxCount = ActorGetValue(ActorLove) * -2;
+		if (C006_Isolation_Mildred_CropMaxCount > 12) C006_Isolation_Mildred_CropMaxCount = 12;
+	} else {
+		if (ActorGetValue(ActorSubmission) <= -3) {
+			OverridenIntroText = GetText("CropStartSub");
+			C006_Isolation_Mildred_CurrentStage = 300;
+			C006_Isolation_Mildred_CropMaxCount = ActorGetValue(ActorSubmission) * -2;
+			if (C006_Isolation_Mildred_CropMaxCount > 12) C006_Isolation_Mildred_CropMaxCount = 12;
+		}
+	}
+}
+
+// Chapter 6 - Mildred, crop the player
+function C006_Isolation_Mildred_DoCrop() {
+	
+	// If there's still cropping to be done
+	if (C006_Isolation_Mildred_CropCount < C006_Isolation_Mildred_CropMaxCount) {
+		
+		// The text is random and the image rotates
+		C006_Isolation_Mildred_CropCount++;
+		var P = Math.floor(Math.random() * 6);
+		OverridenIntroText = GetText("Count" + C006_Isolation_Mildred_CropCount) + " !  " + GetText("CropEvent" + P.toString());
+		OverridenIntroImage = "MildredPlayerHorseCrop" + (C006_Isolation_Mildred_CropCount % 3).toString() + ".jpg";
+		
+	} else {
+		OverridenIntroText = GetText("CropStop");
+		C006_Isolation_Mildred_CurrentStage = 330;
+		OverridenIntroImage = "";
+	}
+	
+}
\ No newline at end of file
diff --git a/C006_Isolation/Mildred/Stage_EN.csv b/C006_Isolation/Mildred/Stage_EN.csv
new file mode 100644
index 0000000000..26e9d5e37b
--- /dev/null
+++ b/C006_Isolation/Mildred/Stage_EN.csv
@@ -0,0 +1,87 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Yep!  And I did|a pretty good job.,Let's hope some isolation will fix this attitude.|Are you somewhat ashamed of what you did?,10,-1,1,
+0,0,0,,Sidney tricked|me into it!,She will be punished accordingly.|Are you ashamed of what you did?,10,0,0,
+0,0,0,,(Stay silent.),You should talk now while you still can.|Are you ashamed of what you did?,10,0,0,
+0,0,0,,I'm sorry Miss Mildred.,That's better.  But you still deserve to|be punished.  Are you ashamed of what you did?,10,1,-1,
+10,0,0,,(Bow your head.),Much better.  Now give me that bag.|(She confiscates your school bag.),20,0,-1,StealItems()
+10,0,0,,(Stay silent.),Fine.  Stay silent and give me that bag.|(She confiscates your school bag.),20,0,0,StealItems()
+10,0,0,,"Yes, I know, that|wasn't very bright.",Very true.  Now give me that bag.|(She confiscates your school bag.),20,1,0,StealItems()
+10,0,0,,Ashamed?  That was|the best class ever.,(She looks furious.)  Give me that bag!|(She confiscates your school bag.),20,-1,0,StealItems()
+10,0,0,,You didn't resist|very hard Mildred.,Nonsense!  Now give me that bag.|(She confiscates your school bag.),20,0,1,StealItems()
+20,0,0,,Hey!  You can't do that.,I can and I can do much worse.|Remove your school outfit young lady.,30,0,0,
+20,0,0,,Will you give me|back my bag?,Only when your punishment is over.|Now remove your school outfit young lady.,30,0,0,
+30,0,0,,You pervert!  I will|never strip for you.,"If you won't do it, I will do it for you.|Remove it now or it will be painful.",40,0,1,
+30,0,0,,Remove my outfit?|It's freezing here.,It won't get any warmer if you complain.|Remove it now or it will be painful.,40,0,0,
+30,0,0,,Yes Miss Mildred.|(Strip.)  (1 minute),Very good.  For your punishment you will|wear this.  (She shows you a leather collar.),60,1,-1,
+30,0,0,,(Stay silent and strip.)|(1 minute),Good girl.  For your punishment you will|wear this.  (She shows you a leather collar.),60,1,0,
+40,0,0,,Fuck you!,(She drags and straps you to a device.)|We have ways to make you cooperate young lady.,50,-1,0,
+40,0,0,,Forget it.|I'm not stripping.,(She drags and straps you to a device.)|We have ways to make you cooperate young lady.,50,0,0,
+40,0,0,,Yes Miss Mildred.|(Strip.)  (1 minute),Very good.  For your punishment you will|wear this.  (She shows you a leather collar.),60,1,-1,
+40,0,0,,(Stay silent and strip.)|(1 minute),Good girl.  For your punishment you will|wear this.  (She shows you a leather collar.),60,1,0,
+50,0,0,,Let me go!,(She strips you and produces a leather collar.)|You will wear this for your punishment.,70,0,0,
+50,0,0,,HELP!  POLICE!,(She strips you and produces a leather collar.)|You will wear this for your punishment.,70,0,-1,
+50,0,0,,(Give her an angry look.),(She strips you and produces a leather collar.)|You will wear this for your punishment.,70,0,1,
+60,0,0,,What is that?,It's a collar for your punishment.|(She straps the collar on you.),100,0,0,AddCollar()
+60,0,0,,A collar?  Do I|look like a dog?,Stop complaining young lady.|(She straps the collar on you.),100,0,1,AddCollar()
+60,0,0,,You freak!  I'm|not wearing that.,Stop complaining young lady.|(She straps the collar on you.),100,-1,0,AddCollar()
+60,0,-3,,You want to|collar me Miss?,Only for your punishment.|(She straps the collar on you.),100,0,-1,AddCollar()
+70,0,0,,What is that?,It's a collar for your punishment young lady.|(She straps the collar on you and releases you.),100,0,0,AddCollar()
+70,0,0,,A collar?  Do I|look like a dog?,You're not in a position to negotiate young lady.|(She straps the collar on you and releases you.),100,0,1,AddCollar()
+70,0,0,,You freak!  I'm|not wearing that.,You're not in a position to negotiate young lady.|(She straps the collar on you and releases you.),100,-1,0,AddCollar()
+70,0,-3,,You want to|collar me Miss?,Only for your punishment young lady.|(She straps the collar on you and releases you.),100,0,-1,AddCollar()
+100,0,0,,What is going|on in here?,It's very simple.  You will be restrained with|ropes and isolated for the next hour little miss.,110,0,0,
+100,0,0,,I'm sorry Miss.|Please let me go.,It's too late for that.  You will be restrained with|ropes and isolated for the next hour little miss.,110,1,-1,
+100,0,0,,This collar is kinky!,Focus young lady.  You will be restrained|with ropes and isolated for the next hour.,110,0,0,
+100,0,0,,You would look|better with a collar.,(She stares at you.)  You will be restrained|with ropes and isolated for the next hour.,110,0,1,
+110,0,0,,Restrain me?  I|guess it's only fair.,Absolutely.  (She gets some rope|and wraps it over your body.),120,1,0,AddRope()
+110,0,0,,(Turn around and|give your hands.),"(She smiles, gets some rope|and wraps it over your body.)",120,0,-1,AddRope()
+110,0,0,,Oh no!  You're|not tying me up.,"Oh yes I am.  (She grabs your arms, gets|some rope and wraps it over your body.)",120,0,0,AddRope()
+120,0,0,,Fuck!  This is tight.,And it will get even tighter.|(She pushes you in a steel cell.),125,-1,0,CheckForCrop()
+120,0,0,,You can't leave|me like that!,I can do even worse than that.|(She pushes you in a steel cell.),125,0,0,CheckForCrop()
+120,0,0,,"Oh Miss, this is hot!",Do not act like a whore young lady.|(She pushes you in a steel cell.),125,0,0,CheckForCrop()
+125,0,0,,I'm already tied up!|Why use a cell?,Stop arguing and get down on your knees.|(She pushes you to the ground and hogtie you.),130,0,0,
+125,0,0,,Stop pushing me!,Stop arguing and get down on your knees.|(She pushes you to the ground and hogtie you.),130,0,0,
+125,0,0,,Are we in a prison?,Something like that.  Now get down.|(She pushes you to the ground and hogtie you.),130,0,0,
+130,0,0,,Oh Lord!  Please|Miss.  I'm so sorry.,Don't you think it's a little late for that?|(She locks the collar on a ring on the floor.),140,1,-1,
+130,0,0,,This is going too far!,Just accept your punishment like a big girl.|(She locks the collar on a ring on the floor.),140,0,0,
+130,0,0,,I will call the|cops on you!,Just accept your punishment like a big girl.|(She locks the collar on a ring on the floor.),140,0,0,
+130,0,0,,This is a pretty nice|bondage Miss.,Let's just say that I had good teachers.|(She locks the collar on a ring on the floor.),140,0,-1,
+140,0,0,,Ow!  I can't move!,Of course you can't.  Any last|words before I gag and isolate you?,150,0,0,
+140,0,0,,Someday you'll|pay for that!,Keep on dreaming girl.  Any last|words before I gag and isolate you?,150,0,1,
+140,0,0,,I do admire your|restraining skills.,I disciplined other students before you.|Any last words before I gag and isolate you?,150,1,0,
+150,0,0,,(Stay silent.),(She straps a BallGag on you.)|Try to learn from your time in isolation.,200,0,0,AddGag()
+150,0,0,,One day you will pay.,(She sighs and straps a BallGag on you.)|Try to learn from your time in isolation.,200,0,0,AddGag()
+150,0,0,,Miss Mildred!,(She shakes her head and straps a BallGag on you.)|Try to learn from your time in isolation.,200,0,0,AddGag()
+150,5,0,,"Miss Mildred, I learned|my lesson.  I'll be good.",(She smiles at you.)  So you|promise to stop causing trouble?,160,0,0,
+150,1,-5,,Oh please Miss Mildred.|(Whimper and cry.),Poor girl.  Maybe I was too harsh.|Do you promise to be good for now on?,160,0,0,
+150,0,6,,If you leave me here|my dad will sue your ass.,"Mmh.  I cannot afford a lawsuit.  Alright young|lady, I will release you if you promise to be good.",160,0,0,
+160,0,0,,"Yes, I promise|to be good Miss.",Very well.  (She releases you.)|Now get dressed and go get an early lunch.,170,0,0,Release()
+160,0,0,,I won't cause|any more trouble.,Alright.  (She releases you.)|Now get dressed and go get an early lunch.,170,0,0,Release()
+160,0,0,,I don't want pity.|Do your worse!,(She shakes her head and straps a BallGag on you.)|Try to learn from your time in isolation.,200,0,1,AddGag()
+160,0,0,,FUCK YOU PIG!,(She shakes her head and straps a BallGag on you.)|Try to learn from your time in isolation.,200,-1,0,AddGag()
+170,0,0,,Yes Miss.|(Leave isolation.),,170,0,0,LeaveIsolation()
+170,0,0,,(Nod and smile.)|(Leave isolation.),,170,0,0,LeaveIsolation()
+200,0,0,,UUMPH!  UGN!,(She slowly walks away.)|I will be back at 11:30.,210,0,0,AllowLeave()
+200,0,0,,(Make an angry look.),(She slowly walks away.)|I will be back at 11:30.,210,0,0,AllowLeave()
+200,0,0,,(Look away from her.),(She slowly walks away.)|I will be back at 11:30.,210,0,0,AllowLeave()
+300,0,0,,What the fuck|is that thing?,This device will make sure you|stay put while I discipline you.,310,-1,0,
+300,0,0,,(Try to get comfy.),I doubt you will find any good|position on this whipping horse.,310,0,0,
+300,0,0,,Ha!  You can't scare|me with that toy.,"This ""toy"" will make sure you|stay put while I discipline you.",310,0,1,
+310,0,0,,You can't hit me!|I'm a student here.,,320,0,0,DoCrop()
+310,0,0,,Are you sure|this is legal?,,320,0,0,DoCrop()
+310,0,0,,Yes Miss Mildred.|I understand.,,320,0,0,DoCrop()
+310,0,0,,You better hit hard.|Pain is my middle name.,,320,0,0,DoCrop()
+320,0,0,,Fuck it hurts!,,320,0,0,DoCrop()
+320,0,0,,Ow!  Please Miss!,,320,0,0,DoCrop()
+320,0,0,,Harder!  Faster!,,320,0,0,DoCrop()
+320,0,0,,I've had mosquito bites|worse than that.,,320,0,0,DoCrop()
+320,0,0,,(Stay silent|and endure.),,320,0,0,DoCrop()
+320,0,0,,(Pretend it|doesn't hurt.),,320,0,0,DoCrop()
+320,0,0,,(Try to avoid it.),,320,0,0,DoCrop()
+320,0,0,,(Cry and beg|for help.),,320,0,0,DoCrop()
+330,0,0,,Mmmh.  Maybe.,Maybe isolation will teach you then.|(She pushes you in a steel cell.),125,0,0,
+330,0,0,,Yes.  To run|when I see you.,You are hopeless young lady.|(She pushes you in a steel cell.),125,0,0,
+330,0,0,,I think I did.|Thanks I guess.,That's very good young lady.|(She pushes you in a steel cell.),125,1,0,
+330,0,0,,Yes Miss Mildred.|(Bow your head.),This crop is a great tool to educate.|(She pushes you in a steel cell.),125,0,-1,
+330,0,0,,Ouch!  The lesson is|not to sit for a day?,You are hopeless young lady.|(She pushes you in a steel cell.),125,0,0,
+330,0,0,,Next time I|will whip you.,(She hits you one last time on the|face and pushes you in a steel cell.),125,-1,1,
diff --git a/C006_Isolation/Mildred/Text_EN.csv b/C006_Isolation/Mildred/Text_EN.csv
new file mode 100644
index 0000000000..d20312ba9e
--- /dev/null
+++ b/C006_Isolation/Mildred/Text_EN.csv
@@ -0,0 +1,22 @@
+Tag,Content
+CropStartHate,"If isolation doesn't teach you, my crop will.|(She pushes you on a triangular wooden frame.)"
+CropStartSub,"Before isolation, a sub like you should feel pain.|(She pushes you on a triangular wooden frame.)"
+CropEvent0,(She does a quick lash|on your back from left to right.)
+CropEvent1,(She lands a really|strong one right on your butt.)
+CropEvent2,"(She strikes a light one on|your breast, barely hitting a nipple.)"
+CropEvent3,"(She hits you on your|bounds arms, making you struggle.)"
+CropEvent4,(She swings right on your|tummy.  Making you lose your breath.)
+CropEvent5,(She smacks a harsh one|on your thigh.  Making a loud noise.)
+Count1,One
+Count2,Two
+Count3,Three
+Count4,Four
+Count5,Five
+Count6,Six
+Count7,Seven
+Count8,Eight
+Count9,Nine
+Count10,Ten
+Count11,Eleven
+Count12,Twelve
+CropStop,That's enough.  (She stops.)|So have you learned a lesson?
diff --git a/C006_Isolation/Outro/Mildred.jpg b/C006_Isolation/Outro/Mildred.jpg
new file mode 100644
index 0000000000..6cd2116a6d
Binary files /dev/null and b/C006_Isolation/Outro/Mildred.jpg differ
diff --git a/C006_Isolation/Outro/Player.jpg b/C006_Isolation/Outro/Player.jpg
new file mode 100644
index 0000000000..a41142cbcc
Binary files /dev/null and b/C006_Isolation/Outro/Player.jpg differ
diff --git a/C006_Isolation/Outro/Script.js b/C006_Isolation/Outro/Script.js
new file mode 100644
index 0000000000..fb81181ab3
--- /dev/null
+++ b/C006_Isolation/Outro/Script.js
@@ -0,0 +1,70 @@
+var C006_Isolation_Outro_EarlyRelease = false;
+var C006_Isolation_Outro_EarlyEscape = false;
+var C006_Isolation_Outro_StuckPillory = false;
+var C006_Isolation_Outro_StuckCross = false;
+
+// Chapter 6 - Outro Load
+function C006_Isolation_Outro_Load() {
+	
+	// If there was an early escape
+	if ((CurrentTime < 11.5 * 60 * 60 * 1000) && !C006_Isolation_Outro_EarlyRelease) {
+		C006_Isolation_Outro_EarlyEscape = true;
+		PlayerAddInventory("Rope", 1);
+		PlayerAddInventory("BallGag", 1);
+		if (C006_Isolation_CellGround_CollarAvail) PlayerAddInventory("Collar", 1);
+		if (C006_Isolation_CellGround_RopeAvail) PlayerAddInventory("Rope", 1);
+	}
+	
+	// Time is always 11:30:00 in the outro, unlock if needed
+	StopTimer(11.5 * 60 * 60 * 1000);
+	PlayerUnlockAllInventory();
+	PlayerClothes("Clothed");
+
+}
+
+// Chapter 6 - Outro Run
+function C006_Isolation_Outro_Run() {
+
+	// Gets the teacher name
+	var Teacher = "Mildred";
+	if (Common_PlayerCrime == "DrugYuki") Teacher = "Yuki";
+
+	// Paints the background	
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");	
+	if (C006_Isolation_Outro_EarlyEscape) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Player.jpg", 800, 0);
+	if (!C006_Isolation_Outro_EarlyEscape && (Common_PlayerCrime == "RestrainMildred")) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Mildred.jpg", 800, 0);
+	if (!C006_Isolation_Outro_EarlyEscape && (Common_PlayerCrime == "DrugYuki")) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Yuki.jpg", 800, 0);
+
+	// Draw the outro text
+	if (!C006_Isolation_Outro_EarlyRelease && !C006_Isolation_Outro_EarlyEscape) {
+		if (C006_Isolation_IsolationRoom_Stage <= 1) DrawText(ctx, GetText("Outro1A"), 400, 150, "White");
+		if (C006_Isolation_IsolationRoom_Stage == 2) DrawText(ctx, GetText("Outro1B"), 400, 150, "White");
+		if ((C006_Isolation_IsolationRoom_Stage == 3) && !C006_Isolation_Outro_StuckPillory && !C006_Isolation_Outro_StuckCross) DrawText(ctx, GetText("Outro1C"), 400, 150, "White");
+		if ((C006_Isolation_IsolationRoom_Stage == 3) && C006_Isolation_Outro_StuckPillory && !C006_Isolation_Outro_StuckCross) DrawText(ctx, GetText("Outro1D"), 400, 150, "White");
+		if ((C006_Isolation_IsolationRoom_Stage == 3) && !C006_Isolation_Outro_StuckPillory && C006_Isolation_Outro_StuckCross) DrawText(ctx, GetText("Outro1E"), 400, 150, "White");
+	}
+	if (C006_Isolation_Outro_EarlyRelease) DrawText(ctx, GetText("Outro1F"), 400, 150, "White");
+	if (C006_Isolation_Outro_EarlyEscape) DrawText(ctx, GetText("Outro1G"), 400, 150, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Outro2"), 400, 300, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Outro3"), 400, 450, "White");
+
+}
+
+// Chapter 5 - Outro Click
+function C006_Isolation_Outro_Click() {
+
+	// Jump to the next animation
+	TextPhase++;
+	
+	// Restore the player inventory on phase 2
+	if (TextPhase == 1)
+		PlayerRestoreAllInventory();
+		
+	// Jump to lunch on phase 3
+	if (TextPhase >= 3) {
+		Common_PlayerCrime = "";
+		SaveMenu("C007_LunchBreak", "Intro");
+	}
+
+}
\ No newline at end of file
diff --git a/C006_Isolation/Outro/Text_EN.csv b/C006_Isolation/Outro/Text_EN.csv
new file mode 100644
index 0000000000..12ab002ba1
--- /dev/null
+++ b/C006_Isolation/Outro/Text_EN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Outro1A,"Isolation is over, you're released from the cell floor."
+Outro1B,The teacher is surprised to see you up but releases you.
+Outro1C,The teacher is amazed to see you out but releases you.
+Outro1D,The teacher grins to see you in the pillory but releases you.
+Outro1E,The teacher grins to see you on the cross but releases you.
+Outro1F,"Hoping you've learned your lesson, you're released early."
+Outro1G,You take what's left and escape from isolation with a grin.
+Outro2,You pick up your bag and make sure everything is still there.
+Outro3,You clean the dust on your clothes and head out for lunch.
diff --git a/C006_Isolation/Outro/Yuki.jpg b/C006_Isolation/Outro/Yuki.jpg
new file mode 100644
index 0000000000..1abfd66125
Binary files /dev/null and b/C006_Isolation/Outro/Yuki.jpg differ
diff --git a/C006_Isolation/Pillory/Intro_EN.csv b/C006_Isolation/Pillory/Intro_EN.csv
new file mode 100644
index 0000000000..fa144c78b6
--- /dev/null
+++ b/C006_Isolation/Pillory/Intro_EN.csv
@@ -0,0 +1,4 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,A pillory is stranding in the room.,Pillory.jpg
+10,0,0,,Do you want to try to squeeze your head in?,PilloryHead.jpg
+20,0,0,,,PilloryLocked.jpg
diff --git a/C006_Isolation/Pillory/Pillory.jpg b/C006_Isolation/Pillory/Pillory.jpg
new file mode 100644
index 0000000000..3703e9cf9a
Binary files /dev/null and b/C006_Isolation/Pillory/Pillory.jpg differ
diff --git a/C006_Isolation/Pillory/PilloryHead.jpg b/C006_Isolation/Pillory/PilloryHead.jpg
new file mode 100644
index 0000000000..c20942231e
Binary files /dev/null and b/C006_Isolation/Pillory/PilloryHead.jpg differ
diff --git a/C006_Isolation/Pillory/PilloryLocked.jpg b/C006_Isolation/Pillory/PilloryLocked.jpg
new file mode 100644
index 0000000000..0e9fa69b3f
Binary files /dev/null and b/C006_Isolation/Pillory/PilloryLocked.jpg differ
diff --git a/C006_Isolation/Pillory/Script.js b/C006_Isolation/Pillory/Script.js
new file mode 100644
index 0000000000..b0730dab65
--- /dev/null
+++ b/C006_Isolation/Pillory/Script.js
@@ -0,0 +1,24 @@
+var C006_Isolation_Pillory_CurrentStage = 0;
+
+// Chapter 6 - Pillory Load
+function C006_Isolation_Pillory_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "IsolationRoom";
+	LoadInteractions();
+}
+
+// Chapter 6 - Pillory Run
+function C006_Isolation_Pillory_Run() {
+	BuildInteraction(C006_Isolation_Pillory_CurrentStage);
+}
+
+// Chapter 6 - Pillory Click
+function C006_Isolation_Pillory_Click() {	
+	ClickInteraction(C006_Isolation_Pillory_CurrentStage);
+}
+
+// Chapter 6 - Pillory Trap - The player is stuck on that scene until 11:30
+function C006_Isolation_Pillory_Trap() {
+	LeaveIcon = "Wait";
+	C006_Isolation_Outro_StuckPillory = true;
+}
\ No newline at end of file
diff --git a/C006_Isolation/Pillory/Stage_EN.csv b/C006_Isolation/Pillory/Stage_EN.csv
new file mode 100644
index 0000000000..9c3e4efc60
--- /dev/null
+++ b/C006_Isolation/Pillory/Stage_EN.csv
@@ -0,0 +1,10 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),"This wooden pillory dates from a few decades ago.|It's open barely, maybe you could fit your head in.",0,0,0,
+0,0,0,,(Open the panel.)|(1 minute),You try to grab the panel but cannot reach|it with your arms bound in this position.,0,0,0,
+0,0,0,,(Squeeze your head in.),Maybe you could squeeze your head in.|But are you sure you want to do it?,10,0,0,
+10,0,0,,(Squeeze your head in.)|(1 minute),You struggle but finally manage|to squeeze your head in the pillory.,20,0,0,Trap()
+10,0,0,,(Don't do it.),You pull back from the device.,0,0,0,
+20,0,0,,(Grab the panel.)|(1 minute),You try to grab the panel to open it|but cannot reach it with your bound arms.,20,0,0,
+20,0,0,,(Try to slip out.)|(1 minute),You struggle to slip out but|the shape of your head prevents it.,20,0,0,
+20,0,0,,(Kick the frame.)|(1 minute),You kick the frame in anger but|only manage to hurt your foot.,20,0,0,
+20,0,0,,@UUUMNGH!,Nobody's there to hear you.,20,0,0,
diff --git a/C006_Isolation/Pillory/Text_EN.csv b/C006_Isolation/Pillory/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C006_Isolation/Pillory/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C006_Isolation/Table/Intro_EN.csv b/C006_Isolation/Table/Intro_EN.csv
new file mode 100644
index 0000000000..e06d62f08b
--- /dev/null
+++ b/C006_Isolation/Table/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,There's a strange table in the room corner.,Table.jpg
+10,0,0,,,TableMetal.jpg
diff --git a/C006_Isolation/Table/Script.js b/C006_Isolation/Table/Script.js
new file mode 100644
index 0000000000..b8badc92ba
--- /dev/null
+++ b/C006_Isolation/Table/Script.js
@@ -0,0 +1,37 @@
+var C006_Isolation_Table_CurrentStage = 0;
+
+// Chapter 6 - Cell Table Load
+function C006_Isolation_Table_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "IsolationRoom";
+	LoadInteractions();
+}
+
+// Chapter 6 - Cell Table Run
+function C006_Isolation_Table_Run() {
+	BuildInteraction(C006_Isolation_Table_CurrentStage);
+}
+
+// Chapter 6 - Cell Table Click
+function C006_Isolation_Table_Click() {	
+
+	// Regular interactions
+	ClickInteraction(C006_Isolation_Table_CurrentStage);
+
+	// The metal sheet can be used on the table
+	if (GetClickedInventory() == "MetalSheet") {
+		C006_Isolation_Table_CurrentStage = 10;
+		OverridenIntroText = GetText("UseSheet");
+		PlayerRemoveInventory("MetalSheet", 1);
+		C006_Isolation_IsolationRoom_AllowCutRope = true;
+	}
+
+}
+
+// Starts the rope cutting process from the menu
+function C006_Isolation_Table_CutRope() {
+	SetScene(CurrentChapter, LeaveScreen);
+	MouseX = 910;
+	MouseY = 220;
+	C006_Isolation_IsolationRoom_Click();
+}
\ No newline at end of file
diff --git a/C006_Isolation/Table/Stage_EN.csv b/C006_Isolation/Table/Stage_EN.csv
new file mode 100644
index 0000000000..a217133482
--- /dev/null
+++ b/C006_Isolation/Table/Stage_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),It looks like someone could be restrained on it.|There's room between the panels to slide straps.,0,0,0,
+10,0,0,,(Cut the rope.)|(1 minute),,0,0,0,CutRope()
diff --git a/C006_Isolation/Table/Table.jpg b/C006_Isolation/Table/Table.jpg
new file mode 100644
index 0000000000..64a6902972
Binary files /dev/null and b/C006_Isolation/Table/Table.jpg differ
diff --git a/C006_Isolation/Table/TableMetal.jpg b/C006_Isolation/Table/TableMetal.jpg
new file mode 100644
index 0000000000..6fda7ab1a3
Binary files /dev/null and b/C006_Isolation/Table/TableMetal.jpg differ
diff --git a/C006_Isolation/Table/Text_EN.csv b/C006_Isolation/Table/Text_EN.csv
new file mode 100644
index 0000000000..96fe4bc373
--- /dev/null
+++ b/C006_Isolation/Table/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+UseSheet,You squeeze the sharp metal sheet between|the wooden panels and it holds pretty well.
diff --git a/C006_Isolation/Yuki/Intro_EN.csv b/C006_Isolation/Yuki/Intro_EN.csv
new file mode 100644
index 0000000000..298df471e1
--- /dev/null
+++ b/C006_Isolation/Yuki/Intro_EN.csv
@@ -0,0 +1,24 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,You have some nerves you know!|You drugged my glass of water.,Yuki.jpg
+10,0,0,,,Yuki.jpg
+20,0,0,,,YukiPlayer.jpg
+30,0,0,,,YukiPlayer.jpg
+40,0,0,,,YukiPlayer.jpg
+50,0,0,,,YukiPlayerStrip.jpg
+70,0,0,,,YukiPlayerPilory.jpg
+80,0,0,,,YukiPlayerPiloryStrip.jpg
+100,0,0,,,YukiPlayerCollar.jpg
+110,0,0,,,YukiPlayerCollar.jpg
+120,0,0,,,YukiPlayerBoundBack.jpg
+130,0,0,,,YukiPlayerCell.jpg
+140,0,0,,,YukiPlayerCellKneel.jpg
+150,0,0,,,YukiPlayerCellHogtie.jpg
+160,0,0,,,YukiPlayerLocked.jpg
+170,0,0,,,YukiPlayerBallGag.jpg
+180,0,0,,,PlayerBallGag.jpg
+200,0,0,,,YukiPlayerEat.jpg
+210,0,0,,,YukiPlayerCellKneel.jpg
+220,0,0,,,YukiOrgasm.jpg
+230,0,0,,,YukiPlayerCellKneel.jpg
+240,0,0,,,YukiPlayerStrip.jpg
+250,0,0,,,YukiPlayerCellKneel.jpg
diff --git a/C006_Isolation/Yuki/PlayerBallGag.jpg b/C006_Isolation/Yuki/PlayerBallGag.jpg
new file mode 100644
index 0000000000..a3b19c8b4e
Binary files /dev/null and b/C006_Isolation/Yuki/PlayerBallGag.jpg differ
diff --git a/C006_Isolation/Yuki/Script.js b/C006_Isolation/Yuki/Script.js
new file mode 100644
index 0000000000..30012c1262
--- /dev/null
+++ b/C006_Isolation/Yuki/Script.js
@@ -0,0 +1,129 @@
+var C006_Isolation_Yuki_CurrentStage = 0;
+var C006_Isolation_Yuki_EggInside = false;
+var C006_Isolation_Yuki_AllowPullBack = true;
+var C006_Isolation_Yuki_Pleasure1 = 0;
+var C006_Isolation_Yuki_Pleasure2 = 0;
+var C006_Isolation_Yuki_Pleasure3 = 0;
+
+// Chapter 6 - Yuki Load
+function C006_Isolation_Yuki_Load() {
+
+	// Load the scene parameters	
+	StartTimer(11.5 * 60 * 60 * 1000, CurrentChapter, "Outro");
+	ActorLoad("Yuki", "IsolationRoom");
+	LoadInteractions();
+	LeaveIcon = "";
+	C006_Isolation_Yuki_EggInside = (ActorHasInventory("VibratingEgg"));
+
+}
+
+// Chapter 6 - Yuki Run
+function C006_Isolation_Yuki_Run() {
+	BuildInteraction(C006_Isolation_Yuki_CurrentStage);
+}
+
+// Chapter 6 - Yuki Click
+function C006_Isolation_Yuki_Click() {	
+	ClickInteraction(C006_Isolation_Yuki_CurrentStage);
+}
+
+// Chapter 6 - Yuki Steal Items
+function C006_Isolation_Yuki_StealItems() {	
+	PlayerSaveAllInventory();
+	PlayerRemoveAllInventory();
+}
+
+// Chapter 6 - Yuki Add Collar
+function C006_Isolation_Yuki_AddCollar() {
+	PlayerLockInventory("Collar");
+}
+
+// Chapter 6 - Yuki Add Rope
+function C006_Isolation_Yuki_AddRope() {
+	PlayerClothes("Underwear");
+	PlayerLockInventory("Rope");
+}
+
+// Chapter 6 - Yuki Add Gag
+function C006_Isolation_Yuki_AddGag() {
+	PlayerLockInventory("BallGag");
+}
+
+// Chapter 6 - Yuki Pleasure 
+function C006_Isolation_Yuki_Pleasure(PleasureType) {
+	
+	// The player must pleasure her in 3 different ways and at least 5 times to make her climax)
+	if (PleasureType == 1) C006_Isolation_Yuki_Pleasure1++;
+	if (PleasureType == 2) C006_Isolation_Yuki_Pleasure2++;
+	if (PleasureType == 3) C006_Isolation_Yuki_Pleasure3++;
+	if ((C006_Isolation_Yuki_Pleasure1 > 0) && (C006_Isolation_Yuki_Pleasure2 > 0) && (C006_Isolation_Yuki_Pleasure3 > 0) && (C006_Isolation_Yuki_Pleasure1 + C006_Isolation_Yuki_Pleasure2 + C006_Isolation_Yuki_Pleasure3 >= 5)) {
+		
+		// Yuki gets an orgasm
+		OverridenIntroText = GetText("Orgasm");
+		C006_Isolation_Yuki_CurrentStage = 220;
+		ActorChangeAttitude(2, 0);
+		ActorAddOrgasm();
+		
+	} else {
+		
+		// If the player took too long to try all 3 pleasures, she gives up
+		if (C006_Isolation_Yuki_Pleasure1 + C006_Isolation_Yuki_Pleasure2 + C006_Isolation_Yuki_Pleasure3 >= 8) {
+			OverridenIntroText = GetText("StopPleasure");
+			C006_Isolation_Yuki_CurrentStage = 250;
+		}
+		
+	}
+}
+
+// Chapter 6 - Yuki Check to Eat
+function C006_Isolation_Yuki_CheckToEat() {
+	
+	// Yuki forces the player if she has the egg
+	if (C006_Isolation_Yuki_EggInside) {
+		OverridenIntroText = GetText("LickEgg");
+		C006_Isolation_Yuki_CurrentStage = 200;
+	}
+
+	// Yuki forces the player if she's dominant
+	if (ActorGetValue(ActorSubmission) <= -3) {
+		OverridenIntroText = GetText("LickSub");
+		C006_Isolation_Yuki_CurrentStage = 200;
+	}
+
+}
+
+// Chapter 6 - Yuki Check to Stop
+function C006_Isolation_Yuki_CheckToStop() {
+
+	// Yuki doesn't allow the player to stop if she has the egg
+	if (C006_Isolation_Yuki_EggInside) {
+		OverridenIntroText = GetText("NoPullEgg");
+		C006_Isolation_Yuki_CurrentStage = 200;
+		C006_Isolation_Yuki_AllowPullBack = false;
+	}
+
+	// Yuki doesn't allow the player to stop if she's dominant
+	if (ActorGetValue(ActorSubmission) <= -3) {
+		OverridenIntroText = GetText("NoPullSub");
+		C006_Isolation_Yuki_CurrentStage = 200;
+		C006_Isolation_Yuki_AllowPullBack = false;
+	}
+	
+}
+
+// Chapter 6 - Yuki Release
+function C006_Isolation_Yuki_Release() {
+	PlayerUnlockInventory("Collar");
+	PlayerUnlockInventory("Rope");
+}
+
+// Chapter 6 - Yuki Leave Isolation
+function C006_Isolation_Yuki_LeaveIsolation() {
+	C006_Isolation_Outro_EarlyRelease = true;
+	SetScene(CurrentChapter, "Outro");	
+}
+
+// Chapter 6 - Yuki Allow Leave
+function C006_Isolation_Yuki_AllowLeave() {
+	LeaveIcon = "Leave";
+}
diff --git a/C006_Isolation/Yuki/Stage_EN.csv b/C006_Isolation/Yuki/Stage_EN.csv
new file mode 100644
index 0000000000..c0eb281194
--- /dev/null
+++ b/C006_Isolation/Yuki/Stage_EN.csv
@@ -0,0 +1,82 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,I didn't do it!,Stop lying for once and endure|your punishment like a lady.,10,0,0,
+0,0,0,,Sidney did it!,If she had anything to do in this|she will be punished just like you.,10,0,0,
+0,0,0,,I know.  I guess|it was pretty wrong.,Indeed.  And that's why you're getting punished.,10,1,0,
+0,0,0,,I'm sorry teacher Yuki.,Sorry isn't enough.  And that's|why you're getting punished.,10,0,-1,
+0,0,0,,It was your pill anyway.,That's not the point.  You drugged|me and you will be punished.,10,0,0,
+0,0,0,,I could have done|much worse to you.,You really need to learn your place here.|And that's why you will be punished.,10,-1,1,
+10,0,0,,Punished how?,You will stay bound and gagged|in that cell for the next hour.,20,0,0,
+10,0,0,,What do you|want from me?,You will stay bound and gagged|in that cell for the next hour.,20,0,0,
+10,0,0,,If I give you money|can we forget this?,You cannot bribe me.  You will stay bound|and gagged in that cell for the next hour.,20,-1,0,
+20,0,0,,Bound and gagged?|Are you serious?,Very serious.  First you will give|me this.  (She confiscates your bag.),30,0,0,StealItems()
+20,0,0,,I guess it will be|easier if I don't fight.,Very wise of you.  First you will give|me this.  (She confiscates your bag.),30,1,0,StealItems()
+20,0,0,,Awesome!  I|love bondage.,You won't enjoy this hour.  Now you will give|me this bag.  (She confiscates your bag.),30,-1,-1,StealItems()
+20,0,0,,Forget it!  I won't do it.,You don't have a choice.  First you will|give me this.  (She confiscates your bag.),30,0,1,StealItems()
+30,0,0,,Please don't|steal anything.,"I won't, don't worry.  Now|you will remove your uniform.",40,0,-1,
+30,0,0,,You thief!,Stop complaining ok?  Now|you will remove your uniform.,40,-1,0,
+30,0,0,,You can't do that.,Of course I can.  Now|you will remove your uniform.,40,0,0,
+40,0,0,,Strip?  Sorry but you're|way too ugly for me.,"(She pushes you on a pillory and locks it.)|If you resist, I'll have to use these devices.",70,-1,0,
+40,0,0,,Forget it lady.|I'm not stripping.,"(She pushes you on a pillory and locks it.)|If you resist, I'll have to use these devices.",70,0,0,
+40,0,0,,"Damn it!  Ok, ok.|(Strip.)  (1 minute)",Very well.  And you are expected to wear|this.  (She shows you a leather collar.),50,0,0,
+40,0,0,,It's only for your eyes.|(Strip.)  (1 minute),Of course.  And you are expected to wear|this.  (She shows you a leather collar.),50,1,0,
+50,0,0,,Yes Miss.|(Bow your head.),(She straps the collar around your neck.)|And how do you feel now?  Vulnerable?,100,0,-1,AddCollar()
+50,0,0,,A collar?  Do I|look like a dog?,"(She pushes you on a pillory and locks it.)|If you resist, I'll have to use these devices.",80,0,0,
+50,0,0,,Mmmh.  Ok.|(Bow your head.),(She straps the collar around your neck.)|And how do you feel now?  Vulnerable?,100,0,0,AddCollar()
+50,0,0,,It will be freezing in|hell before I wear that.,"(She pushes you on a pillory and locks it.)|If you resist, I'll have to use these devices.",80,0,1,
+70,0,0,,(Stay silent.),Silence is gold.  (She removes your uniform.)|You will also have to wear a leather collar.,80,0,0,
+70,0,0,,Strip me?  You're some|kind of crazy lesbian?,Such foul language.  (She removes your uniform.)|You will also have to wear a leather collar.,80,-1,0,
+70,0,0,,I guess it's only fair.,Indeed it is.  (She removes your uniform.)|You will also have to wear a leather collar.,80,1,0,
+70,0,0,,One day I'll|have my revenge.,(She sighs and removes your uniform.)|You will also have to wear a leather collar.,80,0,1,
+80,0,0,,(Stay silent.),(She straps the collar and releases you.)|So how do you feel now?  Vulnerable?,100,0,0,AddCollar()
+80,0,0,,Put that collar away!,Shhhh.  (She straps the collar and releases you.)|So how do you feel now?  Vulnerable?,100,0,0,AddCollar()
+80,0,0,,I guess there's no|use to fight now.,Correct.  (She straps the collar and releases you.)|So how do you feel now?  Vulnerable?,100,0,0,AddCollar()
+100,0,0,,I've had better days.,It's not going to get better in this hour.|Turn around and give me your hands.,110,0,0,
+100,0,0,,Very vulnerable.|(Bow your head.),"It's not easy, but it's for your own good.|Now turn around and give me your hands.",110,0,-1,
+100,0,0,,(Yawn.)  I'm feeling|pretty bored actually.,So you still think you're smart?|Turn around and give me your hands.,110,-1,0,
+100,0,0,,Why the collar?|I don't get it.,You will understand pretty soon.|Turn around and give me your hands.,110,0,0,
+110,0,0,,Don't touch me!,You're in no position to give orders.|(She grabs some rope and wraps it over you.),120,0,0,AddRope()
+110,0,0,,Fuck off!  You're|not tying me up.,Mmh.  A gag will be needed also.|(She grabs some rope and wraps it over you.),120,-1,0,AddRope()
+110,0,0,,"Alright, but don't|tie me too tight.",It will be tight enough so you don't escape.|(She grabs some rope and wraps it over you.),120,1,0,AddRope()
+110,0,0,,(Nod and turn|around silently.),You know you can be good when you want to.|(She grabs some rope and wraps it over you.),120,0,-1,AddRope()
+120,0,0,,This is too tight!,And it's only the beginning.|(She pushes you in a steel cell.),130,0,0,
+120,0,0,,(Struggle playfully|and giggle.),You're not supposed to enjoy this.|(She pushes you in a steel cell.),130,0,0,
+120,0,0,,Where did you|learn to do that?,Let's say I had very good teachers.|(She pushes you in a steel cell.),130,0,0,
+130,0,0,,At first it was fun|but now it's scary.,Oh!  But the fun is only beginning.|(She pushes you on your knees.),140,0,0,
+130,0,0,,"Please Miss, you|cannot abandon me.",It's only for an hour you know.|(She pushes you on your knees.),140,0,-1,
+130,0,0,,You're a real|bitch you know?,You're only sinking deeper young lady.|(She pushes you on your knees.),140,-1,0,
+130,0,0,,Someday you will|rot in that cell.,Maybe you'll spend the full day in here.|(She pushes you on your knees.),140,0,1,
+140,0,0,,Oh my!  The|floor is so cold.,"Be warned, it will not get any warmer.|(She gets more rope and ties your legs.)",150,0,-1,CheckToEat()
+140,0,0,,What do you want?,I want you to learn a lesson on life.|(She gets more rope and ties your legs.),150,0,0,CheckToEat()
+140,3,0,,"Yuki, would you|like to cum?",(She looks down at you.)  Oh hell yes!|(She drops her panties and pulls you under.),200,1,0,
+140,0,-3,,"Miss, would you|like an orgasm?",(She looks down at you.)  Oh lord yes!|(She drops her panties and pulls you under.),200,0,-1,
+150,0,0,,Geez!  This is|going too far.,Too far?  Like drugging your teacher?|(She links the collar to a large metal ring.),160,0,0,
+150,0,0,,A hogtie?  That's the|best you can do?,Oh I can do much worse than that.|(She links the collar to a large metal ring.),160,0,1,
+150,0,0,,Look Yuki!  I've|learned my lesson.,I do hope you will learn a lesson.|(She links the collar to a large metal ring.),160,0,0,
+150,0,0,,This hogtie is amazing!,You may change your mind after an hour.|(She links the collar to a large metal ring.),160,0,-1,
+160,0,0,,You little bitch!|How dare you?,"Such a horrible mouth, this should help it.|(She straps a BallGag around your head.)",170,-1,0,AddGag()
+160,0,0,,Let me go or|I'll call the police.,Call whoever you want young lady.|(She straps a BallGag around your head.),170,0,0,AddGag()
+160,0,0,,I do admire your|bondage skills.,Thanks.  Now you will see my gagging skills.|(She straps a BallGag around your head.),170,1,0,AddGag()
+160,0,0,,Admit it.  You|won't leave me here.,So you really still think I'm bluffing?|(She straps a BallGag around your head.),170,0,0,AddGag()
+160,0,0,,(Try to struggle out.),You're not going anywhere little miss.|(She straps a BallGag around your head.),170,0,0,AddGag()
+170,0,0,,(Give her an|angry look.),You're so cute.  I'll be back at 11:30.|(She stands up and leaves the room.),180,0,0,AllowLeave()
+170,0,0,,(Make pleading eyes|and whimper softly.),"Cry all you want, I'll be back at 11:30.|(She stands up and leaves the room.)",180,0,-1,AllowLeave()
+170,0,0,,(Chew on the gag.),Enjoy your gag.  I'll be back at 11:30.|(She stands up and leaves the room.),180,0,0,AllowLeave()
+170,0,0,,(Bow your head.),"Good girl, I'll be back at 11:30.|(She stands up and leaves the room.)",180,0,-1,AllowLeave()
+170,0,0,,@UUHEE!,You're so cute.  I'll be back at 11:30.|(She stands up and leaves the room.),180,0,0,AllowLeave()
+170,0,0,,@Heesee ehhem.,You're so cute.  I'll be back at 11:30.|(She stands up and leaves the room.),180,0,0,AllowLeave()
+200,0,0,,(Nuzzle against her|pussy.) (1 minute),(She opens her legs and moans softly.),200,0,0,Pleasure(1)
+200,0,0,,(Lick her clitoris.)|(1 minute),(She pulls you close by the hair and trembles.),200,0,0,Pleasure(2)
+200,0,0,,(Push your tongue|inside.)  (1 minute),(She pulls your head back|and forth with both hands.),200,0,0,Pleasure(3)
+200,0,0,AllowPullBack,(Stop and pull back.),(You pull back and she looks disappointed.)|So you're going to give up?,210,0,0,CheckToStop()
+210,0,0,,I was only taking|my breath.  (Go back.),Very good.  (She grabs your|hair and pulls you back in.),200,0,0,
+210,0,0,,"Sorry Miss, I|cannot do it.","Fine, I don't care anyway.|(She gets more rope and ties your legs.)",150,-1,0,
+210,0,0,,When did you|last take a bath?,You're going to pay for that!|(She gets more rope and ties your legs.),150,-2,0,
+220,0,0,,(Lick her juices.),"That's enough, you did a wonderful job.|If I let you go, will you do it again later?",230,1,0,
+220,0,0,,(Catch your breath.),"Young lady, you did a wonderful job.|If I let you go, will you do it again later?",230,0,0,
+220,0,0,,(Cough in disgust.),"Don't pretend you didn't enjoy this.|If I let you go, will you do it again later?",230,-1,0,
+230,0,0,,Yes.  We have a deal.,Perfect!  (She unties you and leads you out.)|Get dressed and go get an early lunch then.,240,0,-1,Release()
+230,0,0,,No.  I will never|do that again.,"Fine, let's resume your isolation then.|(She gets more rope and ties your legs.)",150,-1,0,
+240,0,0,,Alright!|(Leave isolation.),,240,0,0,LeaveIsolation()
+250,0,0,,Sorry Miss Yuki.|Can I try again?,No.  It's time for your isolation now.|(She gets more rope and ties your legs.),150,-1,-1,
+250,0,0,,(Stay silent.),It's time for your isolation now.|(She gets more rope and ties your legs.),150,-1,0,
+250,0,0,,Are you frigid?,"(She slaps you on the face, gets|more rope and ties your legs.)",150,-2,1,
diff --git a/C006_Isolation/Yuki/Text_EN.csv b/C006_Isolation/Yuki/Text_EN.csv
new file mode 100644
index 0000000000..b97dc2632f
--- /dev/null
+++ b/C006_Isolation/Yuki/Text_EN.csv
@@ -0,0 +1,7 @@
+Tag,Content
+Orgasm,aaaaaaAAAAAAHHH!!! (Yuki squeezes your face|in while she gets a shattering orgasm.)
+StopPleasure,"(She pushes you back.)  No, stop!|You're not good at that, it's been too long."
+LickEgg,"(She drops her panties, grabs your hair and pulls|you close.)  This is your punishment for the egg."
+LickSub,"(She drops her panties, grabs your hair and|pulls you close.)  Get to work little pet."
+NoPullEgg,(You try to pull back but she grabs your hair.)|You've put that egg in.  You will finish the job!
+NoPullSub,(You try to pull back but she grabs your hair.)|Where do you think you're going subbie girl?
diff --git a/C006_Isolation/Yuki/Yuki.jpg b/C006_Isolation/Yuki/Yuki.jpg
new file mode 100644
index 0000000000..71935efc3b
Binary files /dev/null and b/C006_Isolation/Yuki/Yuki.jpg differ
diff --git a/C006_Isolation/Yuki/YukiOrgasm.jpg b/C006_Isolation/Yuki/YukiOrgasm.jpg
new file mode 100644
index 0000000000..4d85a1c91d
Binary files /dev/null and b/C006_Isolation/Yuki/YukiOrgasm.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayer.jpg b/C006_Isolation/Yuki/YukiPlayer.jpg
new file mode 100644
index 0000000000..89f2ce9558
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayer.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerBallGag.jpg b/C006_Isolation/Yuki/YukiPlayerBallGag.jpg
new file mode 100644
index 0000000000..d5aeca6400
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerBallGag.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerBoundBack.jpg b/C006_Isolation/Yuki/YukiPlayerBoundBack.jpg
new file mode 100644
index 0000000000..77480cc6fd
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerBoundBack.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerCell.jpg b/C006_Isolation/Yuki/YukiPlayerCell.jpg
new file mode 100644
index 0000000000..8f8a22d32b
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerCell.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerCellHogtie.jpg b/C006_Isolation/Yuki/YukiPlayerCellHogtie.jpg
new file mode 100644
index 0000000000..41ba4a492b
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerCellHogtie.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerCellKneel.jpg b/C006_Isolation/Yuki/YukiPlayerCellKneel.jpg
new file mode 100644
index 0000000000..a037b3c76d
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerCellKneel.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerCollar.jpg b/C006_Isolation/Yuki/YukiPlayerCollar.jpg
new file mode 100644
index 0000000000..a4f7dd6555
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerCollar.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerEat.jpg b/C006_Isolation/Yuki/YukiPlayerEat.jpg
new file mode 100644
index 0000000000..437e3c5363
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerEat.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerLocked.jpg b/C006_Isolation/Yuki/YukiPlayerLocked.jpg
new file mode 100644
index 0000000000..5b29900c0e
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerLocked.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerPilory.jpg b/C006_Isolation/Yuki/YukiPlayerPilory.jpg
new file mode 100644
index 0000000000..7b158279dc
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerPilory.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerPiloryStrip.jpg b/C006_Isolation/Yuki/YukiPlayerPiloryStrip.jpg
new file mode 100644
index 0000000000..51c3e285c6
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerPiloryStrip.jpg differ
diff --git a/C006_Isolation/Yuki/YukiPlayerStrip.jpg b/C006_Isolation/Yuki/YukiPlayerStrip.jpg
new file mode 100644
index 0000000000..62f61e83e6
Binary files /dev/null and b/C006_Isolation/Yuki/YukiPlayerStrip.jpg differ
diff --git a/C007_LunchBreak/ActorSelect/Intro_EN.csv b/C007_LunchBreak/ActorSelect/Intro_EN.csv
new file mode 100644
index 0000000000..b76f3505ec
--- /dev/null
+++ b/C007_LunchBreak/ActorSelect/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Who would you like to invite for lunch?,Player.jpg
diff --git a/C007_LunchBreak/ActorSelect/Player.jpg b/C007_LunchBreak/ActorSelect/Player.jpg
new file mode 100644
index 0000000000..aeb12140eb
Binary files /dev/null and b/C007_LunchBreak/ActorSelect/Player.jpg differ
diff --git a/C007_LunchBreak/ActorSelect/Script.js b/C007_LunchBreak/ActorSelect/Script.js
new file mode 100644
index 0000000000..f2544b7283
--- /dev/null
+++ b/C007_LunchBreak/ActorSelect/Script.js
@@ -0,0 +1,49 @@
+var C007_LunchBreak_ActorSelect_CurrentStage = 0;
+var C007_LunchBreak_ActorSelect_AmandaAvail = true;
+var C007_LunchBreak_ActorSelect_SarahAvail = true;
+var C007_LunchBreak_ActorSelect_SidneyAvail = true;
+var C007_LunchBreak_ActorSelect_JenniferAvail = true;
+var C007_LunchBreak_ActorSelect_NatalieAvail = true;
+var C007_LunchBreak_ActorSelect_Actor = "";
+var C007_LunchBreak_ActorSelect_BonusDone = false;
+var C007_LunchBreak_ActorSelect_EarlyLeave = false;
+var C007_LunchBreak_ActorSelect_EvilEnding = false;
+var C007_LunchBreak_ActorSelect_NoFood = false;
+var C007_LunchBreak_ActorSelect_Kinbaku = false;
+
+// Chapter 7 - Lunch Break - Actor Select Load
+function C007_LunchBreak_ActorSelect_Load() {
+	
+	// 1 hour is allowed for lunch, starts the timer
+	StartTimer(12.75 * 60 * 60 * 1000, CurrentChapter, "Outro");
+	
+	// Allow the player to invite a student
+	LeaveIcon = "";
+	LeaveScreen = "";
+	Common_SelfBondageAllowed = false;
+	LoadInteractions();
+	
+}
+
+// Chapter 7 - Lunch Break - Actor Select Run
+function C007_LunchBreak_ActorSelect_Run() {
+	BuildInteraction(C007_LunchBreak_ActorSelect_CurrentStage);
+}
+
+// Chapter 7 - Lunch Break - Actor Select Click
+function C007_LunchBreak_ActorSelect_Click() {	
+	ClickInteraction(C007_LunchBreak_ActorSelect_CurrentStage);
+	InventoryClick(GetClickedInventory(), CurrentChapter, "ActorSelect");
+}
+
+// When the user selects an actor, we load it
+function C007_LunchBreak_ActorSelect_LoadActor(ActorToLoad) {	
+	C007_LunchBreak_ActorSelect_Actor = ActorToLoad;
+	SetScene(CurrentChapter, ActorToLoad)
+}
+
+// Skip the lunch break, eat alone
+function C007_LunchBreak_ActorSelect_SkipLunch() {
+	C007_LunchBreak_ActorSelect_Actor = "";
+	SetScene(CurrentChapter, "Outro");
+}
diff --git a/C007_LunchBreak/ActorSelect/Stage_EN.csv b/C007_LunchBreak/ActorSelect/Stage_EN.csv
new file mode 100644
index 0000000000..98fa34e9ae
--- /dev/null
+++ b/C007_LunchBreak/ActorSelect/Stage_EN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,AmandaAvail,Amanda,,0,0,0,"LoadActor(""Amanda"")"
+0,0,0,SarahAvail,Sarah,,0,0,0,"LoadActor(""Sarah"")"
+0,0,0,SidneyAvail,Sidney,,0,0,0,"LoadActor(""Sidney"")"
+0,0,0,JenniferAvail,Jennifer,,0,0,0,"LoadActor(""Jennifer"")"
+0,0,0,NatalieAvail,Natalie|Made by wildsj,,0,0,0,"LoadActor(""Natalie"")"
+0,0,0,,Eat alone,,0,0,0,SkipLunch()
diff --git a/C007_LunchBreak/ActorSelect/Text_EN.csv b/C007_LunchBreak/ActorSelect/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C007_LunchBreak/ActorSelect/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C007_LunchBreak/Amanda/AmandaGone.jpg b/C007_LunchBreak/Amanda/AmandaGone.jpg
new file mode 100644
index 0000000000..4571f22b07
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaGone.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaIntro.jpg b/C007_LunchBreak/Amanda/AmandaIntro.jpg
new file mode 100644
index 0000000000..e02578ab0a
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaIntro.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaIntroDomme.jpg b/C007_LunchBreak/Amanda/AmandaIntroDomme.jpg
new file mode 100644
index 0000000000..6137840592
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaIntroDomme.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaIntroHappy.jpg b/C007_LunchBreak/Amanda/AmandaIntroHappy.jpg
new file mode 100644
index 0000000000..f8b8d2c121
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaIntroHappy.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaIntroSubbie.jpg b/C007_LunchBreak/Amanda/AmandaIntroSubbie.jpg
new file mode 100644
index 0000000000..ff1d85f100
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaIntroSubbie.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDomme.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDomme.jpg
new file mode 100644
index 0000000000..75fbb1c743
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDomme.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeKiss.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeKiss.jpg
new file mode 100644
index 0000000000..57d38b2df8
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeKiss.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouch.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouch.jpg
new file mode 100644
index 0000000000..1d8383f7a3
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouch.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchBallGag.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchBallGag.jpg
new file mode 100644
index 0000000000..ec982791a1
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchBallGag.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchCuffs.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchCuffs.jpg
new file mode 100644
index 0000000000..32ff4525bf
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchCuffs.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchCuffsBallGag.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchCuffsBallGag.jpg
new file mode 100644
index 0000000000..8856e1c0cc
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchCuffsBallGag.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchCuffsTapeGag.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchCuffsTapeGag.jpg
new file mode 100644
index 0000000000..461834f6fc
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchCuffsTapeGag.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchRope.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchRope.jpg
new file mode 100644
index 0000000000..28bf2bc602
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchRope.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchRopeBallGag.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchRopeBallGag.jpg
new file mode 100644
index 0000000000..6f46a7c205
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchRopeBallGag.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchRopeTapeGag.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchRopeTapeGag.jpg
new file mode 100644
index 0000000000..df54af11a8
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchRopeTapeGag.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchTapeGag.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchTapeGag.jpg
new file mode 100644
index 0000000000..5856071271
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsDommeTouchTapeGag.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsSubbie.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbie.jpg
new file mode 100644
index 0000000000..89b45a8e42
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbie.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieBack.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieBack.jpg
new file mode 100644
index 0000000000..1cf2807afc
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieBack.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieOrgasm.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieOrgasm.jpg
new file mode 100644
index 0000000000..346a413ef6
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieOrgasm.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieRope.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieRope.jpg
new file mode 100644
index 0000000000..46c7bb08a4
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieRope.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieRopeBallGag.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieRopeBallGag.jpg
new file mode 100644
index 0000000000..e3720aff56
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieRopeBallGag.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieStrip.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieStrip.jpg
new file mode 100644
index 0000000000..6cc0cb06f4
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieStrip.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieTouch.jpg b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieTouch.jpg
new file mode 100644
index 0000000000..2c4adc63cb
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerIsSubbieTouch.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerLovers.jpg b/C007_LunchBreak/Amanda/AmandaPlayerLovers.jpg
new file mode 100644
index 0000000000..411a952a3e
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerLovers.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerLoversKiss.jpg b/C007_LunchBreak/Amanda/AmandaPlayerLoversKiss.jpg
new file mode 100644
index 0000000000..86719e7846
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerLoversKiss.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerLoversKiss2.jpg b/C007_LunchBreak/Amanda/AmandaPlayerLoversKiss2.jpg
new file mode 100644
index 0000000000..0146ef42b4
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerLoversKiss2.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerLoversOrgasm.jpg b/C007_LunchBreak/Amanda/AmandaPlayerLoversOrgasm.jpg
new file mode 100644
index 0000000000..82cd460bc4
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerLoversOrgasm.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerLoversTouch.jpg b/C007_LunchBreak/Amanda/AmandaPlayerLoversTouch.jpg
new file mode 100644
index 0000000000..d796ad4639
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerLoversTouch.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerLunch0.jpg b/C007_LunchBreak/Amanda/AmandaPlayerLunch0.jpg
new file mode 100644
index 0000000000..c218fe0136
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerLunch0.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerLunch1.jpg b/C007_LunchBreak/Amanda/AmandaPlayerLunch1.jpg
new file mode 100644
index 0000000000..c479ec6b07
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerLunch1.jpg differ
diff --git a/C007_LunchBreak/Amanda/AmandaPlayerLunch2.jpg b/C007_LunchBreak/Amanda/AmandaPlayerLunch2.jpg
new file mode 100644
index 0000000000..8ea54c1b5a
Binary files /dev/null and b/C007_LunchBreak/Amanda/AmandaPlayerLunch2.jpg differ
diff --git a/C007_LunchBreak/Amanda/Intro_EN.csv b/C007_LunchBreak/Amanda/Intro_EN.csv
new file mode 100644
index 0000000000..8e7492903c
--- /dev/null
+++ b/C007_LunchBreak/Amanda/Intro_EN.csv
@@ -0,0 +1,49 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Hi COMMON_PLAYERNAME.  Do you need|help to find the school cafeteria?,AmandaIntro.jpg
+0,5,0,,It's nice to see you COMMON_PLAYERNAME.|Have you found the cafeteria?,AmandaIntroHappy.jpg
+0,0,5,,Hello Miss COMMON_PLAYERNAME.  (She bows her head.)|Have you located the school cafeteria?,AmandaIntroSubbie.jpg
+0,1,-3,,Hey girl.  It's lunch time.  Do you|need help to find the college cafeteria?,AmandaIntroDomme.jpg
+5,0,0,,(Amanda sees you but run away.|She pretends to be in a hurry.),AmandaGone.jpg
+10,0,0,,You can try the college cafeteria|if you want but the food isn't great.,AmandaIntro.jpg
+10,0,5,,If you're really hungry you can try|the cafeteria but I don't recommend it Miss.,AmandaIntroSubbie.jpg
+10,1,-3,,You can try the cafeteria|but it's not the best food around.,AmandaIntroDomme.jpg
+20,0,0,,There's a small cafe nearby|you could try if you want.,AmandaIntro.jpg
+20,0,5,,"Miss, there's a cafe nearby|you could try if you want.",AmandaIntroSubbie.jpg
+20,1,-3,,A sweetie like you should try the cafe nearby.|It's much nicer than the school cafeteria.,AmandaIntroDomme.jpg
+30,0,0,,Would you like to go|to the cafe with me now?,AmandaIntro.jpg
+30,0,5,,"Miss, would you like to leave|for the cafe with me right now?",AmandaIntroSubbie.jpg
+30,1,-3,,Get your purse.  We'll|go to the cafe together.,AmandaIntroDomme.jpg
+40,0,0,,Sorry I cannot go eat with you.|I already have plans for lunch.,AmandaIntro.jpg
+50,0,0,,,AmandaGone.jpg
+100,0,0,,,AmandaPlayerLunch0.jpg
+110,0,0,,,AmandaPlayerLunch0.jpg
+120,0,0,,,AmandaPlayerLunch0.jpg
+130,0,0,,,AmandaPlayerLunch0.jpg
+140,0,0,,,AmandaPlayerLunch0.jpg
+150,0,0,,,AmandaPlayerLunch0.jpg
+160,0,0,,,AmandaPlayerLunch0.jpg
+170,0,0,,,AmandaPlayerLunch0.jpg
+180,0,0,,,AmandaPlayerLunch0.jpg
+200,0,0,,"(As you walk back, you grab each other|hands and run to a deserted corner.)",AmandaPlayerLovers.jpg
+210,0,0,,,AmandaPlayerLovers.jpg
+220,0,0,,,AmandaPlayerLoversKiss.jpg
+230,0,0,,,AmandaPlayerLoversKiss2.jpg
+240,0,0,,,AmandaPlayerLoversTouch.jpg
+250,0,0,,,AmandaPlayerLoversOrgasm.jpg
+260,0,0,,,AmandaPlayerLovers.jpg
+270,0,0,,,AmandaPlayerLovers.jpg
+280,0,0,,,AmandaPlayerLoversKiss.jpg
+300,0,0,,"(As you walk back to school, you grab|her hand and drag her to a deserted corner.)",AmandaPlayerIsDomme.jpg
+310,0,0,,,AmandaPlayerIsDommeKiss.jpg
+320,0,0,,,AmandaPlayerIsDomme.jpg
+330,0,0,,,AmandaPlayerIsDommeTouch.jpg
+400,0,0,,"(As you walk back to school, she grabs|your hand and drags you to a deserted corner.)",AmandaPlayerIsSubbie.jpg
+410,0,0,,,AmandaPlayerIsSubbie.jpg
+420,0,0,,,AmandaPlayerIsSubbieStrip.jpg
+430,0,0,,,AmandaPlayerIsSubbieBack.jpg
+440,0,0,,,AmandaPlayerIsSubbieRope.jpg
+450,0,0,,,AmandaPlayerIsSubbieRopeBallGag.jpg
+460,0,0,,,AmandaPlayerIsSubbieTouch.jpg
+470,0,0,,,AmandaPlayerIsSubbieOrgasm.jpg
+480,0,0,,,AmandaPlayerIsSubbieRope.jpg
+490,0,0,,,AmandaPlayerIsSubbie.jpg
diff --git a/C007_LunchBreak/Amanda/Script.js b/C007_LunchBreak/Amanda/Script.js
new file mode 100644
index 0000000000..d0330af148
--- /dev/null
+++ b/C007_LunchBreak/Amanda/Script.js
@@ -0,0 +1,344 @@
+var C007_LunchBreak_Amanda_CurrentStage = 0;
+var C007_LunchBreak_Amanda_NoOption = false; // NoOption means that there's no options to go eat with her
+var C007_LunchBreak_Amanda_MatchCount = 0; // At 4 or more, there's a good match
+var C007_LunchBreak_Amanda_TickleDone = false;
+var C007_LunchBreak_Amanda_MasturbateCount = 0;
+var C007_LunchBreak_Amanda_OrgasmDone = false;
+var C007_LunchBreak_Amanda_CropDone = false;
+var C007_LunchBreak_Amanda_IsRoped = false;
+var C007_LunchBreak_Amanda_IsGagged = false;
+var C007_LunchBreak_Amanda_MakeLoveReady = true;
+var C007_LunchBreak_Amanda_TeethClenchDone = false;
+var C007_LunchBreak_Amanda_IntroText = "";
+var C007_LunchBreak_Amanda_LeaveIcon = "";
+var C007_LunchBreak_Amanda_IsBoundAndGagged = false;
+var C007_LunchBreak_Amanda_ConfirmEvil = false;
+
+// Calculates the screen parameters
+function C007_LunchBreak_Amanda_CalcParams() {
+
+	// Check if there's no options to go eat
+	C007_LunchBreak_Amanda_NoOption = ((ActorGetValue(ActorLove) < 5) && (ActorGetValue(ActorSubmission) < 5) && ((ActorGetValue(ActorLove) < 1) || (ActorGetValue(ActorSubmission) > -3)));
+
+	// No special images by default
+	OverridenIntroImage = "";
+	
+	// Between 100 and 200, the image evolves with the number of matches
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 100) && (C007_LunchBreak_Amanda_CurrentStage < 200)) {
+		var Img = "0";
+		if ((C007_LunchBreak_Amanda_MatchCount == 2) || (C007_LunchBreak_Amanda_MatchCount == 3)) Img = "1";
+		if (C007_LunchBreak_Amanda_MatchCount >= 4) Img = "2";
+		OverridenIntroImage = "AmandaPlayerLunch" + Img + ".jpg";
+	}
+
+	// At 330, the player can dominate Amanda with many restrains, the image changes accordingly
+	if (C007_LunchBreak_Amanda_CurrentStage == 330) {
+		var Img = "";
+		if (ActorHasInventory("Rope")) Img = Img + "Rope";
+		if (ActorHasInventory("Cuffs")) Img = Img + "Cuffs";
+		if (ActorHasInventory("BallGag")) Img = Img + "BallGag";
+		if (ActorHasInventory("TapeGag")) Img = Img + "TapeGag";
+		OverridenIntroImage = "AmandaPlayerIsDommeTouch" + Img + ".jpg";
+	}
+
+	// Keep the status of Amanda
+	C007_LunchBreak_Amanda_IsBoundAndGagged = ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag")));
+	
+}
+
+// Chapter 7 - Amanda Load
+function C007_LunchBreak_Amanda_Load() {
+
+	// Load the scene parameters
+	ActorLoad("Amanda", "ActorSelect");
+	LoadInteractions();
+	C007_LunchBreak_Amanda_CalcParams();
+	
+	// If Amanda doesn't like the player and isn't subbie enough, she leaves and don't talk
+	if ((ActorGetValue(ActorLove) <= -3) && (ActorGetValue(ActorSubmission) <= 2) && (C007_LunchBreak_Amanda_CurrentStage == 0)) {
+		C007_LunchBreak_Amanda_CurrentStage = 5;
+		C007_LunchBreak_ActorSelect_AmandaAvail = false;
+	}
+
+	// If we must put the previous text back
+	if ((C007_LunchBreak_Amanda_IntroText != "") && (C007_LunchBreak_Amanda_CurrentStage > 0)) {
+		OverridenIntroText = C007_LunchBreak_Amanda_IntroText;
+		LeaveIcon = C007_LunchBreak_Amanda_LeaveIcon;
+	}
+
+}
+
+// Chapter 7 - Amanda Run
+function C007_LunchBreak_Amanda_Run() {
+	BuildInteraction(C007_LunchBreak_Amanda_CurrentStage);
+}
+
+// Chapter 7 - Amanda Click
+function C007_LunchBreak_Amanda_Click() {	
+
+	// Regular and inventory interactions
+	ClickInteraction(C007_LunchBreak_Amanda_CurrentStage);
+	var ClickInv = GetClickedInventory();
+	if (ClickInv == "Player") {
+		C007_LunchBreak_Amanda_IntroText = OverridenIntroText;
+		C007_LunchBreak_Amanda_LeaveIcon = LeaveIcon;
+		InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
+	}
+	
+	// When the user wants to use the rope on Amanda - Time and item are consumed
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
+		C007_LunchBreak_Amanda_CurrentStage = 330;
+		OverridenIntroText = GetText("Rope");
+		ActorAddInventory("Rope");
+		PlayerRemoveInventory("Rope", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Amanda_IsRoped = true;
+	}
+
+	// When the user wants to use cuffs on Amanda - Time and item are consumed
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "Cuffs") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
+		C007_LunchBreak_Amanda_CurrentStage = 330;
+		OverridenIntroText = GetText("Cuffs");
+		ActorAddInventory("Cuffs");
+		PlayerRemoveInventory("Cuffs", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the BallGag on Amanda - Time and item are consumed
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "BallGag") && !ActorHasInventory("BallGag")) {
+		C007_LunchBreak_Amanda_CurrentStage = 330;
+		OverridenIntroText = GetText("BallGag");
+		ActorRemoveInventory("TapeGag");
+		ActorAddInventory("BallGag");
+		PlayerRemoveInventory("BallGag", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Amanda_IsGagged = true;
+	}
+
+	// When the user wants to use the tape gag on Amanda - Time and item are consumed
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "TapeGag") && !ActorHasInventory("TapeGag")) {
+		C007_LunchBreak_Amanda_CurrentStage = 330;
+		OverridenIntroText = GetText("TapeGag");
+		C007_LunchBreak_Amanda_Ungag();
+		ActorAddInventory("TapeGag");
+		PlayerRemoveInventory("TapeGag", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Amanda_IsGagged = true;
+	}
+
+	// When the user wants to use the crop on Amanda
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "Crop")) {
+		OverridenIntroText = GetText("Crop");
+		if (!C007_LunchBreak_Amanda_CropDone) {
+			C007_LunchBreak_Amanda_CropDone = true;
+			ActorChangeAttitude(-1, 0);
+		}
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the egg on Amanda (Amanda isn't affected by the egg but can still have one)
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg")) {
+		OverridenIntroText = GetText("VibratingEgg");
+		ActorChangeAttitude(-1, 1);
+		ActorAddInventory("VibratingEgg");
+		PlayerRemoveInventory("VibratingEgg", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the cuffs keys
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "CuffsKey") && ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("Uncuff");
+		ActorRemoveInventory("Cuffs");
+		PlayerAddInventory("Cuffs", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+
+	// When the user wants to use the collar (+20 submission and a ceremony is required)
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 300) && (C007_LunchBreak_Amanda_CurrentStage <= 330) && (ClickInv == "Collar") && !ActorHasInventory("Collar"))
+		OverridenIntroText = GetText("Collar");
+
+	// When the user wants to use a bondage item in the love scenes
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 200) && (C007_LunchBreak_Amanda_CurrentStage < 300) && ((ClickInv == "Collar") || (ClickInv == "Cuffs") || (ClickInv == "VibratingEgg") || (ClickInv == "Crop") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "Cuffs") || (ClickInv == "Rope")))
+		OverridenIntroText = GetText("LoveNoItem");
+
+	// When the user wants to use a bondage item when subbie
+	if ((C007_LunchBreak_Amanda_CurrentStage >= 400) && (C007_LunchBreak_Amanda_CurrentStage < 440) && ((ClickInv == "Collar") || (ClickInv == "Cuffs") || (ClickInv == "VibratingEgg") || (ClickInv == "Crop") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "Cuffs") || (ClickInv == "Rope")))
+		OverridenIntroText = GetText("SubbieNoItem");
+	
+	// Recalculates the scene parameters
+	C007_LunchBreak_Amanda_CalcParams();
+	
+}
+
+// Chapter 7 - Amanda No Leave
+function C007_LunchBreak_Amanda_NoLeave() {
+	LeaveIcon = "";
+}
+
+// Chapter 7 - Amanda Start Lunch
+function C007_LunchBreak_Amanda_StartLunch() {	
+	CurrentTime = CurrentTime + 480000;
+	LeaveIcon = "";
+}
+
+// Chapter 7 - Amanda Eat Lunch (adds 20 minutes)
+function C007_LunchBreak_Amanda_EatLunch() {	
+	CurrentTime = CurrentTime + 1800000;
+}
+
+// Chapter 7 - Amanda End Lunch
+function C007_LunchBreak_Amanda_EndLunch() {
+	C007_LunchBreak_ActorSelect_AmandaAvail = false;
+}
+
+// Chapter 7 - Amanda Good Match
+function C007_LunchBreak_Amanda_GoodMatch() {
+	C007_LunchBreak_Amanda_MatchCount++;
+	C007_LunchBreak_Amanda_CalcParams();
+}
+
+// Chapter 7 - Amanda Bad Match
+function C007_LunchBreak_Amanda_BadMatch() {
+	C007_LunchBreak_Amanda_MatchCount--;
+	C007_LunchBreak_Amanda_CalcParams();
+}
+
+// Chapter 7 - Amanda Test Match - if the match is 4 or better, we go to a bonus part
+function C007_LunchBreak_Amanda_TestMatch() {
+	C007_LunchBreak_Amanda_CurrentStage = -1; // No mode
+	if ((ActorGetValue(ActorLove) >= 5) && (C007_LunchBreak_Amanda_MatchCount >= 4)) C007_LunchBreak_Amanda_CurrentStage = 200; // Lovers mode
+	if ((ActorGetValue(ActorSubmission) >= 5) && (C007_LunchBreak_Amanda_MatchCount >= 4)) C007_LunchBreak_Amanda_CurrentStage = 300; // Player is Domme mode
+	if (ActorGetValue(ActorSubmission) >= 10) C007_LunchBreak_Amanda_CurrentStage = 300; // Player is Domme mode (10 is so high that we don't check for a match)
+	if ((ActorGetValue(ActorLove) >= 1) && (ActorGetValue(ActorSubmission) <= -3) && (C007_LunchBreak_Amanda_MatchCount >= 4)) C007_LunchBreak_Amanda_CurrentStage = 400; // Player is subbie mode
+	if (C007_LunchBreak_Amanda_CurrentStage == -1) SetScene(CurrentChapter, "Outro"); // No mode, we end the chapter
+	else C007_LunchBreak_ActorSelect_BonusDone = true; // With a mode, we flag the bonus scene
+	OverridenIntroImage = "";
+}
+
+// Chapter 7 - Amanda Tickle
+function C007_LunchBreak_Amanda_Tickle() {
+	if (!C007_LunchBreak_Amanda_TickleDone) {
+		C007_LunchBreak_Amanda_TickleDone = true;
+		ActorChangeAttitude(1, 0);
+	}
+}
+
+// Chapter 7 - Amanda Masturbate
+function C007_LunchBreak_Amanda_Masturbate() {
+	
+	// The count goes up, after 3 times she can have an orgasm but only if she's bound and gagged
+	C007_LunchBreak_Amanda_MasturbateCount++;
+	if ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag"))) {
+		if ((C007_LunchBreak_Amanda_MasturbateCount >= 3) && !C007_LunchBreak_Amanda_OrgasmDone) {
+			OverridenIntroText = GetText("Orgasm");
+			ActorAddOrgasm();
+			ActorChangeAttitude(1, 1);
+			C007_LunchBreak_Amanda_OrgasmDone = true;
+		} else {
+			OverridenIntroText = GetText("Masturbate");
+		}
+	}
+	
+}
+
+// Chapter 7 - Amanda Untie
+function C007_LunchBreak_Amanda_Untie() {
+	ActorRemoveInventory("Rope");
+	PlayerAddInventory("Rope", 1);
+	C007_LunchBreak_Amanda_IsRoped = false;
+}
+
+// Chapter 7 - Amanda Ungag
+function C007_LunchBreak_Amanda_Ungag() {
+	ActorRemoveInventory("TapeGag");
+	if (ActorHasInventory("BallGag")) {
+		ActorRemoveInventory("BallGag");
+		PlayerAddInventory("BallGag", 1);
+	}
+	C007_LunchBreak_Amanda_IsGagged = false;
+}
+
+// Chapter 7 - Amanda Test Make Love (Amanda will only make love if +8 or more)
+function C007_LunchBreak_Amanda_TestMakeLove() {
+	if (ActorGetValue(ActorLove) >= 8) {
+		OverridenIntroText = GetText("LoveStart");
+		C007_LunchBreak_Amanda_CurrentStage = 240;
+	} else {
+		C007_LunchBreak_Amanda_MakeLoveReady = false;
+		ActorChangeAttitude(-1, 0);
+	}
+}
+
+// Chapter 7 - Amanda Love Masturbate (After 3 times, the player cums)
+function C007_LunchBreak_Amanda_LoveMasturbate() {
+	C007_LunchBreak_Amanda_MasturbateCount++;
+	if (C007_LunchBreak_Amanda_MasturbateCount >= 3) {
+		OverridenIntroText = GetText("LoveMasturbate");
+		ActorAddOrgasm();
+		ActorChangeAttitude(1, 0);
+		C007_LunchBreak_Amanda_CurrentStage = 250;
+	}
+}
+
+// Chapter 7 - Amanda Subbie Masturbate (After 3 times, the player cums)
+function C007_LunchBreak_Amanda_SubbieMasturbate() {
+	C007_LunchBreak_Amanda_MasturbateCount++;
+	if (C007_LunchBreak_Amanda_MasturbateCount >= 3) {
+		OverridenIntroText = GetText("SubbieMasturbate");
+		ActorAddOrgasm();
+		ActorChangeAttitude(1, 0);
+		C007_LunchBreak_Amanda_CurrentStage = 470;
+	}
+}
+
+// Chapter 7 - Amanda Teeth Clench (Amanda doesn't like it)
+function C007_LunchBreak_Amanda_ClenchTeeth() {
+	if (!C007_LunchBreak_Amanda_TeethClenchDone) {
+		ActorChangeAttitude(-1, 1);
+		C007_LunchBreak_Amanda_TeethClenchDone = true;
+	}
+}
+
+// Chapter 7 - Amanda - Player Subbie Strip
+function C007_LunchBreak_Amanda_SubbieStrip() {
+	PlayerClothes("Underwear");
+}
+
+// Chapter 7 - Amanda - Player Subbie Rope
+function C007_LunchBreak_Amanda_SubbieRope() {
+	PlayerLockInventory("Rope");
+}
+
+// Chapter 7 - Amanda - Player Subbie Gag
+function C007_LunchBreak_Amanda_SubbieGag() {
+	PlayerLockInventory("BallGag");
+}
+
+// Chapter 7 - Amanda - Player Subbie Ungag
+function C007_LunchBreak_Amanda_SubbieUngag() {
+	PlayerUnlockInventory("BallGag");
+}
+
+// Chapter 7 - Amanda - Player Release
+function C007_LunchBreak_Amanda_SubbieRelease() {
+	PlayerUnlockAllInventory();
+	PlayerClothes("Clothed");
+}
+
+// Chapter 7 - Amanda End Bonus Scene
+function C007_LunchBreak_Amanda_EndBonus() {
+	SetScene(CurrentChapter, "Outro");
+}
+
+// Chapter 7 - Amanda Evil End Chapter (Leave her bound and gagged)
+function C007_LunchBreak_Amanda_EvilEnd() {
+	if (C007_LunchBreak_Amanda_ConfirmEvil) {
+		C007_LunchBreak_ActorSelect_EvilEnding = true;
+		Common_PlayerCrime = "AmandaStranded";
+		ActorChangeAttitude(-5, 1);
+		SetScene(CurrentChapter, "Outro");		
+	} else {
+		OverridenIntroText = GetText("LeaveBoundAndGagged");
+		C007_LunchBreak_Amanda_ConfirmEvil = true;
+	}
+}
\ No newline at end of file
diff --git a/C007_LunchBreak/Amanda/Stage_EN.csv b/C007_LunchBreak/Amanda/Stage_EN.csv
new file mode 100644
index 0000000000..d928d59335
--- /dev/null
+++ b/C007_LunchBreak/Amanda/Stage_EN.csv
@@ -0,0 +1,172 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,How's the food|in the cafeteria?,To be honest.  It's not really|good but it's better than starving.,10,0,0,
+0,0,0,,College cafeteria?  I bet|the food is disgusting.,"You should judge by yourself first|but I guess you're right, it's not great.",10,-1,0,
+0,0,0,,What's on the|menu today?,"Its spaghetti today, but I must warn|you that pasta isn't their best dishes.",10,0,0,
+0,0,0,,Yummy!  I'm|so hungry now!,"(She giggles.)  Well don't get your|hopes too high, the food isn't great.",10,1,0,
+10,0,0,,A smart girl like you|must know a better place.,I... I... I guess there's a small|cafe nearby you could try.,20,0,1,
+10,0,0,,Is there a better|place to eat then?,Yes.  There's a small|cafe nearby you could try.,20,0,0,
+10,0,0,,"Is there a better option?|Please, please, please.",(She giggles.)  There's a small|cafe nearby you could try.,20,0,-1,
+20,5,0,,Great!  Will you come|with me my friend?,Sure!  Should we go now?,30,1,0,
+20,0,5,,Perfect!  And you|will come with me.,I... But... I guess I can|show you the cafe Miss.,30,0,1,
+20,1,-3,,Miss Amanda.  Will|you come with me?,"Get your purse, we're leaving right now.|(She grabs your arm and doesn't let you go.)",30,0,-1,NoLeave()
+20,0,0,NoOption,Do you want to|go there with me?,"I can't, I already have plans for lunch.",40,0,0,
+20,0,0,NoOption,Could you show|me that place?,"I can't, I already have plans for lunch.",40,0,0,
+20,0,0,,I'll try the cafe.|See you later.,Welcome.  (She turns around|and heads out for lunch.),50,0,0,EndLunch()
+30,0,0,,Let's go now!|(Eat with Amanda.),(You both walk out to a nearby|restaurant and find an empty table.),100,0,0,StartLunch()
+40,0,0,,"Ok, see you later.",See you later then!|(She heads up for lunch.),50,0,0,EndLunch()
+40,0,0,,Have a great|lunch then!,"Thanks, I will!  Same to you.|(She heads out for lunch.)",50,1,0,EndLunch()
+40,0,0,,You suck.,Mmmh.  (She turns around|and heads out for lunch.),50,-1,0,EndLunch()
+100,0,0,,So what do|you recommend?,Soup and salad are my favorite.|So do you like our college so far?,110,0,0,
+100,0,0,,I'm starving!|What's good here?,(She looks away.)  It's all good here.|So do you like our college so far?,110,-1,1,
+100,0,0,,I don't know what to eat.|Can you order for me?,You can try soup and salad if you want.|So do you like our college so far?,110,0,-1,
+110,0,0,,Oh yes!  It seems|like a good academy.,Indeed!  And you're|studying here to work as?,120,0,0,GoodMatch()
+110,0,0,,This college is|a nuts house.,I disagree.  And you're|studying here to work as?,120,-1,0,BadMatch()
+110,0,0,,I've never seen a|kinky college like that.,(She giggles.)  And you're|studying here to work as?,120,0,0,
+110,0,0,,It's hard to judge|from a few hours.,Very true.  And you're|studying here to work as?,120,0,0,GoodMatch()
+110,0,0,,It's a pretty|boring school.,I guess some classes can be boring.|And you're studying here to work as?,120,0,0,
+120,0,0,,A musician.,Ok.  And what's your favorite class?,130,0,0,
+120,0,0,,A doctor.,Very nice.  And what's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,An athlete.,I'm pretty bad in sports.|And what's your favorite class?,130,0,0,BadMatch()
+120,0,0,,A teacher.,Very nice.  And what's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,An actor.,Ok.  And what's your favorite class?,130,0,0,
+120,0,0,,A dominatrix.,Be serious.  What's your favorite class?,130,0,0,
+120,0,0,,An architect.,Very nice.  And what's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,A farmer.,Ok.  And what's your favorite class?,130,0,0,
+120,0,0,,A programmer.,Very nice.  And what's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,I don't know yet.,You'll need to know soon.|What's your favorite class?,130,0,0,BadMatch()
+130,0,0,,Math.,Great!  And what's your favorite hobby?,140,0,0,GoodMatch()
+130,0,0,,Music.,Alright.  And what's your favorite hobby?,140,0,0,
+130,0,0,,English.,Alright.  And what's your favorite hobby?,140,0,0,
+130,0,0,,Gym.,I don't like sports very much.|And what's your favorite hobby?,140,0,0,BadMatch()
+130,0,0,,Chemistry.,Great!  And what's your favorite hobby?,140,0,0,GoodMatch()
+130,0,0,,French.,Great!  And what's your favorite hobby?,140,0,0,GoodMatch()
+130,0,0,,Art.,Alright.  And what's your favorite hobby?,140,0,0,
+130,0,0,,History.,Great!  And what's your favorite hobby?,140,0,0,GoodMatch()
+130,0,0,,Theatre.,Alright.  And what's your favorite hobby?,140,0,0,
+130,0,0,,I don't know.,"Nonsense, everyone has a preferred class.|And what's your favorite hobby?",140,0,0,BadMatch()
+140,0,0,,Basketball.,I don't like sports.  (A waitress|interrupts to take your order.),150,0,0,BadMatch()
+140,0,0,,Rock music.,Really?  (A waitress|interrupts to take your order.),150,0,0,
+140,0,0,,Video games.,Wonderful!  (A waitress|interrupts to take your order.),150,0,0,GoodMatch()
+140,0,0,,Cheerleading.,Really?  (A waitress|interrupts to take your order.),150,0,0,
+140,0,0,,Going to parties.,Really?  (A waitress|interrupts to take your order.),150,0,0,
+140,0,0,,Role playing games.,Wonderful!  (A waitress|interrupts to take your order.),150,0,0,GoodMatch()
+140,0,0,,Getting drunk.,That's pretty bad.  (A waitress|interrupts to take your order.),150,0,0,BadMatch()
+140,0,0,,Classical music.,Wonderful!  (A waitress|interrupts to take your order.),150,0,0,GoodMatch()
+140,0,0,,Making love.,(She blushes red.)  Oh my god!|(A waitress interrupts to take your order.),150,0,0,GoodMatch()
+140,0,0,,I don't have|any hobbies.,Really?  (A waitress|interrupts to take your order.),150,0,0,
+150,0,0,,A salad please.,(She smiles and orders the same.)|Very good choice classmate.,160,0,0,GoodMatch()
+150,0,0,,A steak please.,(She smiles and orders soup and salad.)|You can really eat a full steak for lunch?,160,0,0,BadMatch()
+150,0,0,,A soup please.,(She smiles and orders the same.)|Very good choice classmate.,160,0,0,GoodMatch()
+150,0,0,,A hamburger please.,(She smiles and orders soup and salad.)|I hope you like the food here.,160,0,0,
+150,0,0,,A nacho platter please.,(She smiles and orders soup and salad.)|I hope you like the food here.,160,0,0,
+150,0,0,,Only cheesecake please.,(She smiles and orders soup and salad.)|I hope you like the food here.,160,0,0,
+150,0,0,,Soup and salad please.,(She smiles and orders the same.)|Very good choice classmate.,160,0,0,GoodMatch()
+150,0,0,,A chili dog please.,(She smiles and orders soup and salad.)|I hope you like the food here.,160,0,0,
+150,0,0,,Fettuccine alfredo please.,(She smiles and orders the same.)|Very good choice classmate.,160,0,0,GoodMatch()
+150,0,0,,Only water please.,(She orders soup and salad.)|You should get more than water.,160,0,0,BadMatch()
+160,0,0,,Bon appetite!|(Eat your lunch.),"Bon appetite!  (You both get served,|eat your lunch and the bill comes.)",170,1,0,EatLunch()
+160,0,0,,Eat well.|(Eat your lunch.),"You too!  (You both get served,|eat your lunch and the bill comes.)",170,0,0,EatLunch()
+160,0,0,,Be quick waitress!|(Eat your lunch.),"Please don't be rude.  (You both get|served, eat your lunch and the bill comes.)",170,-1,1,EatLunch()
+170,0,0,,I'm broke.  Can|you take the bill?,You should have said it earlier.|Let's get back to school then.,180,-1,-1,BadMatch()
+170,0,0,,Take this bill.|I'll take the next one.,(She frowns.)  Alright.|Let's get back to school.,180,-1,0,
+170,0,0,,I'll take the bill.,That's way too kind of you.|Let's go back to school then.,180,0,1,
+170,0,0,,We should|split the bill.,That sounds very fair.|Let's go back to school then.,180,0,0,GoodMatch()
+170,0,0,,Do we get out|without paying?,"Don't be silly, I'll pay.|Let's go back to school.",180,-1,0,BadMatch()
+180,0,0,,Very good.|(Go back to school.),,0,0,0,TestMatch()
+180,0,0,,I guess we have too.|(Go back to school.),,0,0,0,TestMatch()
+200,0,0,,We still have time|before the bell?,(She giggles.)  Time for what?,210,0,0,
+200,0,0,,Thanks for showing|me this lovely cafe.,My pleasure!  We had a good time.,210,1,-1,
+200,0,0,,I wanted you to know|that I had a great time.,I did too!  We seem to fit well together.,210,1,0,
+200,0,0,,Can I kiss you?|(1 minute),(She nods and puts her lips against yours.),220,1,0,
+200,0,0,,(Stay silent and kiss her.)|(1 minute),,220,0,1,
+200,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+210,0,0,,I love you Amanda.|(1 minute),(She blushes and puts her lips against yours.),220,1,0,
+210,0,0,,Can I kiss you?|(1 minute),(She nods and puts her lips against yours.),220,1,-1,
+210,0,0,,(Stay silent and kiss her.)|(1 minute),"(Without saying a word, you|kiss each other on the lips.)",220,0,1,
+210,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+220,0,0,,(Kiss her again.)|(1 minute),(You grab her and kiss her|again while she moans quietly.),220,0,0,
+220,0,0,,You have angel lips.|(1 minute),(You grab each other and do a long|and passionate French kiss with your tongues.),230,1,0,
+220,0,0,,(French kiss her.)|(1 minute),(You grab each other and do a long|and passionate French kiss with your tongues.),230,0,0,
+220,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+230,0,0,,Mmmmmhmmmh.|(1 minute),(You both keep up the pace and|play with each other tongues.),230,0,0,
+230,0,0,MakeLoveReady,Would you like to|make love with me?,"I'm sorry, but my heart is already taken.|(She sighs.)  Even if she doesn't know.",230,0,0,TestMakeLove()
+230,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+240,0,0,,(Kiss her.)|(1 minute),(You kiss each other tenderly.|Moaning with each touch.),240,0,0,
+240,0,0,,(Massage her breast.)|(1 minute),(You massage each other breast lovingly.|Gently squeezing without hurting.),240,0,0,
+240,0,0,,(Masturbate her.)|(1 minute),(You both masturbate each other and moan|softly.  Making sure nobody is looking.),240,0,0,LoveMasturbate()
+240,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+250,0,0,,I've never been|touched like that.,(She giggles.)  Oh lord.|I'm sure you're exaggerating.,260,0,-1,
+250,0,0,,Wow!  I'm speechless.,(She nods and blushes.)|And it was so unexpected.,260,0,0,
+250,0,0,,That was awesome!,(She blushes.)  Yes it was.|And it was so unexpected.,260,0,0,
+250,0,0,,Did you also cum?,"Don't worry, I had a wonderful time.",260,0,1,
+250,0,0,,You were thinking|about someone else?,"I... No!  I... That's...  I'm sorry.|Don't worry, it was wonderful.",260,-1,1,
+250,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+260,0,0,,A kiss my love?|(1 minute),(She nods and kisses you tenderly.),280,1,0,
+260,0,0,,(Stay silent and kiss her.)|(1 minute),(You kiss each other tenderly.),280,0,1,
+260,0,0,,I will be even|better next time.,"Don't say that, it was great!|Let's go back to school.",270,0,-1,
+260,0,0,,Next time you|will cum like crazy.,(She frowns at your words.)|Let's go back to school.,270,-1,1,
+260,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+270,0,0,,Let's walk together.|(Back to college.),,0,0,0,EndBonus()
+270,0,0,,I'll walk back alone.|(Back to college.),,0,-1,0,EndBonus()
+270,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+280,0,0,,(Kiss her again.)|(1 minute),(She giggles and kisses you again.),280,0,0,
+280,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+300,0,0,,(Stay silent and kiss her.)|(1 minute),(You push her against the fence|and give her a kiss on the lips.),310,0,1,
+300,0,0,,It was fun but I want a|kiss now.  (1 minute),(You push her against the fence|and give her a kiss on the lips.),310,0,1,
+300,0,0,,You're beautiful.  Can I|kiss you?  (1 minute),(She nods while you push her against|the fence and give her a kiss on the lips.),310,1,0,
+300,1,0,,I wanted you to know|that I had a great time.,I did too!  We seem to fit well together.,320,1,0,
+300,0,0,,Did you have|fun today?,Oh yes!  We seem to fit well together.,320,0,0,
+300,0,0,,"Amanda, I will|have you now.",I... But... (You shut her up with your|hand and push her against the fence.),330,-1,1,
+300,0,0,,"Slut, you will|shut up now.",I... But... (You shut her up with your|hand and push her against the fence.),330,-2,1,
+310,0,0,,(Kiss her again.)|(1 minute),(She moans silently but doesn't|resist while you kiss her again.),310,0,0,
+310,1,0,,I wanted you to know|that I had a great time.,I did too!  We seem to fit well together.,320,0,0,
+310,0,0,,Did you have|fun today?,Oh yes!  We seem to fit well together.,320,0,0,
+310,0,0,,"Amanda, I will|have you now.",I... But... (You shut her up with your|hand and push her against the fence.),330,-1,1,
+310,0,0,,"Slut, you will|shut up now.",I... But... (You shut her up with your|hand and push her against the fence.),330,-2,1,
+320,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
+320,5,0,,I want more romance.|(1 minute),(She nods slowly and grabs|your hands for a loving kiss.),220,0,0,
+320,0,0,,Would you like|an orgasm?,No... Yes... (You place your hand over|her mouth and push her against the fence.),330,0,0,
+320,0,0,,"Amanda, I will|have you now.",I... But... (You shut her up with your|hand and push her against the fence.),330,-1,1,
+320,0,0,,"Slut, you will|shut up now.",I... But... (You shut her up with your|hand and push her against the fence.),330,-2,1,
+330,0,0,,(Kiss her.)|(1 minute),(You kiss her slowly while she moans.),330,0,0,
+330,0,0,,(Tickle her.)|(1 minute),(She struggles playfully to avoid|your tickling but seems to enjoy it.),330,0,0,Tickle()
+330,0,0,,(Masturbate her.)|(1 minute),(She moans silently while you masturbate her.|Trembling lightly at your loving touch.),330,0,0,Masturbate()
+330,0,0,IsRoped,(Untie her.)|(1 minute),"(One knot at a time, you|release her from her bondage.)",330,0,0,Untie()
+330,0,0,IsGagged,(Ungag her.)|(1 minute),"(You carefully remove the gag.)|Thank you, that wasn't comfy.",330,0,0,Ungag()
+330,0,0,IsBoundAndGagged,I tricked you bitch.|(Leave her stranded.),,330,0,0,EvilEnd()
+330,0,0,,Let's go back.|(Back to school.),,0,0,0,EndBonus()
+400,0,0,,Why did you|drag me here?,I have a wild idea but you need to trust me.|Will you submit to me and remove your outfit?,410,0,0,
+400,0,0,,(Giggle shyly.)|What's going on?,I have a wild idea but you need to trust me.|Will you submit to me and remove your outfit?,410,0,-1,
+400,0,0,,What the fuck|is going on?,I have a wild idea but you need to trust me.|Will you submit to me and remove your outfit?,410,-1,1,
+400,0,0,,(Try to push her away.),(She pushes you back.)  I have a wild idea.|Will you submit to me and remove your outfit?,410,0,1,
+410,0,0,,Submit to you?|I'll never do that.,I respect that and would never force you.|Let's go back to school then.,490,0,2,
+410,0,0,,Not here in public.|But maybe later.,"Its ok, I would never force you.|Let's go back to school then.",490,0,0,
+410,0,0,,"Alright, I will submit.|(Strip.)  (1 minute)","Wonderful!  This is so kinky, I love it.|Now turn around, hands behind your back.",420,0,0,SubbieStrip()
+410,0,0,,Yes Miss Amanda.|(Strip.)  (1 minute),"Good girl!  This is so kinky, I love it.|Now turn around, hands behind your back.",420,0,-1,SubbieStrip()
+420,0,0,,This is great.|(Turn around.),"I know!  I told you it would be kinky.|Now I will tie you up with ropes, it's fine?",430,1,0,
+420,0,0,,Ok Amanda.|(Turn around.),"(She grabs your butt and smiles.)|Now I will tie you up with ropes, it's fine?",430,0,0,
+420,0,0,,(Try to turn the|tables and strip her.),"(She's stronger than you and forces you to turn.)|Since you cannot behave, I will restrain you.",430,0,1,
+420,0,0,,Maybe we should stop.|(Dress back up.),"Its ok, I would never force you.|(You dress back.)  Let's go back.",490,-1,0,
+430,0,0,,Yes Miss Amanda.|(Obey.)  (1 minute),(She grabs your arms and circle rope|around them and your body.)  Open wide!,440,0,-1,SubbieRope()
+430,0,0,,So this is for real?|(Obey.)  (1 minute),(She grabs your arms and circle rope|around them and your body.)  Open wide!,440,0,0,SubbieRope()
+430,0,0,,Maybe we should stop.|(Dress back up.),"Its ok, I would never force you.|(You dress back.)  Let's go back.",490,-1,0,
+440,0,0,,(Pull your tongue.)|(1 minute),(She giggles and pulls her tongue also.)|Common!  Open wide subbie girl.,440,0,0,
+440,0,0,,(Clench your teeth.)|(1 minute),You're not helping at all you know.|Common!  Open wide subbie girl.,440,0,0,ClenchTeeth()
+440,0,0,,(Open wide.)|(1 minute),(She pushes a ballgag in and straps it.)|Can I touch you now?  Do you want pleasure?,450,0,0,SubbieGag()
+440,0,0,,Maybe we should stop.|Can you release me?,"Its ok, I would never force you.|(She releases you.)  Let's go back.",490,-1,0,SubbieRelease()
+450,0,0,,@Hheesh hissh.|(Nod slowly.),(She pushes you against the|fence and starts to rub her hand.),460,0,0,
+450,0,0,,@UOOG HEESSH!|(Nod rapidly.),(She pushes you against the|fence and starts to rub her hand.),460,1,0,
+450,0,0,,(Shake your head|from left to right.),"(She tickles you for fun and releases you.)|Its fine, I hope you had fun.  Let's go back.",490,-1,0,SubbieRelease()
+460,0,0,,(Enjoy her touch.)|(1 minute),(You surrender to her loving touch while she tugs|on the crotch rope and masturbates your clitoris.),460,0,0,SubbieMasturbate()
+460,0,0,,(Squirm to her rhythm.)|(1 minute),(You move your butt to follow her rhythm.|Slowly building up pleasure from her touch.),460,0,0,SubbieMasturbate()
+460,0,0,,(Struggle playfully.)|(1 minute),(You struggle playfully and she seems to enjoy it.|She picks up speed and masturbates a little harder.),460,0,0,SubbieMasturbate()
+460,0,0,,(Struggle in panic.)|(1 minute),"(She realizes your panic and releases you.)|Its fine, I hope you still had fun.  Let's go back.",490,-1,-1,SubbieRelease()
+470,0,0,,(Blush red and|look at the ground.),"Don't be shy, pleasure cannot be wrong.|(She unstraps your gag.)  Did you enjoy it?",480,0,-1,SubbieUngag()
+470,0,0,,@Uuuumph gnu!,"(She giggles and unstraps your gag.)|So tell me, did you enjoy it?",480,0,0,SubbieUngag()
+470,0,0,,(Move your butt closer.),Again?  Maybe later.  (She giggles and|unstraps your gag.) So did you enjoy it?,480,0,0,SubbieUngag()
+480,0,0,,I've had better.,I'm sorry to hear that.  I thought you had fun.|(She releases you.)  Let's go back to school then.,490,-1,0,SubbieRelease()
+480,0,0,,It was great!,I'm glad to hear that.  I also had fun.|(She releases you.)  Let's go back to school.,490,0,0,SubbieRelease()
+480,0,0,,It was the best|orgasm I've ever had.,Aaaaaww.  (She blushes and releases you.)|That was so kind.  Let's go back to school.,490,1,0,SubbieRelease()
+480,0,0,,"Miss, it was amazing.|Will you be my Mistress?",Me?  Mistress?  (She giggles and releases you.)|I'll think about it.  Let's go back to school.,490,0,-1,SubbieRelease()
+480,0,0,,Next time I|will tie you up.,We'll see about that.  (She pulls her tongue|and releases you.)  Let's go back to school.,490,0,1,SubbieRelease()
+490,0,0,,Better not be late.|(Back to college.),,0,0,0,EndBonus()
diff --git a/C007_LunchBreak/Amanda/Text_EN.csv b/C007_LunchBreak/Amanda/Text_EN.csv
new file mode 100644
index 0000000000..74d97fe44d
--- /dev/null
+++ b/C007_LunchBreak/Amanda/Text_EN.csv
@@ -0,0 +1,17 @@
+Tag,Content
+Rope,"(You circle the rope around her body, making|her moan a little louder with each knots.);"
+Cuffs,"(You pin her hands behind her back and|cuff them, she shivers with each 'click'.)"
+BallGag,(She shakes her head no but you push|the ballgag in and buckle it tight.)
+TapeGag,(She shakes her head no|but you tape her mouth shut.)
+Uncuff,(You use the key and release her.|She moans and quickly grabs the fence.)
+Crop,(You hit her pretty hard with the crop.|She cries and doesn't seem to enjoy it.)
+VibratingEgg,(She squeezes her legs but you're able|to push it hard enough to slide it in.)
+Collar,(You need +20 submission or better|and a special ceremony to collar Amanda.)
+LoveNoItem,(She pushes your hand and the item away.)|The mood isn't right for that sweetheart.
+SubbieNoItem,(She pushes your hand and the item away.)|I already have everything I need subbie girl.
+Orgasm,(She can't control herself anymore and|gets a quiet orgasm right in the school yard.)
+Masturbate,(She moans loudly while you masturbate her.|Trembling without control at your loving touch.)
+LoveStart,(You spontaneously raise each other|skirt and start to masturbate each other.)
+LoveMasturbate,"(Amanda's touch gives you a wonderful orgasm.|Seeing your pleasure, she stops and pull back.)"
+SubbieMasturbate,"(Amanda's touch gives you a wonderful orgasm.|Seeing your pleasure, she stops masturbating you.)"
+LeaveBoundAndGagged,(Do you really want to abandon her bound|and gagged?  Click again to do so.)
diff --git a/C007_LunchBreak/Intro/Background.jpg b/C007_LunchBreak/Intro/Background.jpg
new file mode 100644
index 0000000000..fa75f62551
Binary files /dev/null and b/C007_LunchBreak/Intro/Background.jpg differ
diff --git a/C007_LunchBreak/Intro/Script.js b/C007_LunchBreak/Intro/Script.js
new file mode 100644
index 0000000000..5f1bf7a636
--- /dev/null
+++ b/C007_LunchBreak/Intro/Script.js
@@ -0,0 +1,28 @@
+// Chapter 7 - Lunch Break Load
+function C007_LunchBreak_Intro_Load() {
+
+	// Time is always 11:45 on the intro, no timer
+	StopTimer(11.75 * 60 * 60 * 1000);
+	
+}
+
+// Chapter 7 - Lunch Break Run
+function C007_LunchBreak_Intro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
+
+	// Write the chapter introduction
+	DrawText(ctx, GetText("Intro1"), 600, 150, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 600, 250, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 600, 350, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 600, 450, "White");
+
+}
+
+// Chapter 7 - Lunch Break Click
+function C007_LunchBreak_Intro_Click() {
+	TextPhase++;
+	if (TextPhase >= 4) SetScene(CurrentChapter, "ActorSelect");
+}
\ No newline at end of file
diff --git a/C007_LunchBreak/Intro/Text_EN.csv b/C007_LunchBreak/Intro/Text_EN.csv
new file mode 100644
index 0000000000..4dc6d4cfda
--- /dev/null
+++ b/C007_LunchBreak/Intro/Text_EN.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Intro1,Chapter 7 - Lunch Break (Click to continue)
+Intro2,The morning classes are over.  It's time to go eat.
+Intro3,It's a good time to socialize and meet new friends.
+Intro4,You can try to invite someone to get lunch with you.
diff --git a/C007_LunchBreak/Jennifer/Intro_EN.csv b/C007_LunchBreak/Jennifer/Intro_EN.csv
new file mode 100644
index 0000000000..91f5b06870
--- /dev/null
+++ b/C007_LunchBreak/Jennifer/Intro_EN.csv
@@ -0,0 +1,61 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,"Hi COMMON_PLAYERNAME, what's going on?",JenniferIntro.jpg
+0,4,0,,COMMON_PLAYERNAME!  It's nice to see you again.,JenniferIntroHappy.jpg
+0,0,4,,Hello Miss COMMON_PLAYERNAME.|What can I do for you?,JenniferIntroSubbie.jpg
+0,0,0,HasEgg,This thing is still vibrating inside of me!|I hope it won't take too long to remove it.,JenniferIntroSubbie.jpg
+10,0,0,,I'm going to play tennis before lunch.|Would you like to come with me?,JenniferIntro.jpg
+10,4,0,,I'm going to play tennis before lunch.|Would you like to come with me?,JenniferIntroHappy.jpg
+10,0,4,,I'm going to play tennis before lunch.|Would you like to come with me?,JenniferIntroSubbie.jpg
+15,0,0,,I'm going to play tennis before lunch.|Would you like to play with me tomorrow?,JenniferIntro.jpg
+15,4,0,,I'm going to play tennis before lunch.|Would you like to play with me tomorrow?,JenniferIntroHappy.jpg
+15,0,4,,I'm going to play tennis before lunch.|Would you like to play with me tomorrow?,JenniferIntroSubbie.jpg
+20,0,0,,Would you like to play tennis?|What do you have in mind?,JenniferIntro.jpg
+20,4,0,,Would you like to play tennis?|What do you have in mind?,JenniferIntroHappy.jpg
+20,0,4,,Would you like to play tennis?|What do you have in mind?,JenniferIntroSubbie.jpg
+30,0,0,,What's the bet exactly?|The loser pays for lunch?,JenniferIntro.jpg
+30,4,0,,What's the bet exactly?|The loser pays for lunch?,JenniferIntroHappy.jpg
+30,0,4,,What's the bet exactly?|The loser pays for lunch?,JenniferIntroSubbie.jpg
+40,0,0,,Are you ready to play?,JenniferIntro.jpg
+40,4,0,,Are you ready to play?,JenniferIntroHappy.jpg
+40,0,4,,Are you ready to play?,JenniferIntroSubbie.jpg
+90,0,0,,(Jennifer is gone.),JenniferIntroGone.jpg
+100,0,0,TennisVictory,"(After the game you walk to a cafe.)|You played well, you deserve a free lunch.",JenniferPlayerLunch0.jpg
+100,0,0,!TennisVictory,"(After the game you walk to a cafe.)|Don't worry about losing, I've played for years.",JenniferPlayerLunch0.jpg
+105,0,0,,,JenniferPlayerLunch0.jpg
+110,0,0,,,JenniferPlayerLunch0.jpg
+113,0,0,,,JenniferPlayerLunch0.jpg
+116,0,0,,,JenniferPlayerLunch0.jpg
+120,0,0,,,JenniferPlayerLunch0.jpg
+130,0,0,,,JenniferPlayerLunch0.jpg
+140,0,0,,,JenniferPlayerLunch0.jpg
+150,0,0,,,JenniferPlayerLunch0.jpg
+160,0,0,,,JenniferPlayerLunch0.jpg
+170,0,0,,,JenniferPlayerLunch0.jpg
+175,0,0,,,JenniferPlayerLunch0.jpg
+180,0,0,,,JenniferPlayerLunch0.jpg
+185,0,0,,,JenniferPlayerLunch0.jpg
+200,0,0,,,JenniferPlayerTennis.jpg
+210,0,0,,,JenniferPlayerKiss.jpg
+215,0,0,,,JenniferPlayerTennis.jpg
+220,0,0,,,JenniferPlayerTennis.jpg
+230,0,0,,,JenniferPlayerTennis.jpg
+240,0,0,,,JenniferStrip.jpg
+250,0,0,,,JenniferPlayerTennis.jpg
+260,0,0,,,JenniferPlayerTennis.jpg
+270,0,0,,,JenniferPlayerKiss.jpg
+300,0,0,,,JenniferPlayerTennis.jpg
+310,0,0,,,JenniferPlayerTennis.jpg
+320,0,0,,,JenniferPlayerTennis.jpg
+330,0,0,,,JenniferPlayerPushUp.jpg
+340,0,0,,,JenniferPlayerTennis.jpg
+350,0,0,,,JenniferPlayerTennis.jpg
+360,0,0,,,JenniferPlayerTennis.jpg
+400,0,0,,,JenniferPlayerPunish.jpg
+410,0,0,,,JenniferPlayerPunish.jpg
+420,0,0,,,JenniferPlayerPunish.jpg
+430,0,0,,,JenniferPlayerPunish.jpg
+440,0,0,,,JenniferPlayerPunishStrip.jpg
+450,0,0,,,JenniferPlayerPunishStrip.jpg
+460,0,0,,,JenniferPlayerPunishRacket.jpg
+470,0,0,,,JenniferPlayerPunishStrip.jpg
+480,0,0,,,JenniferPlayerPunish.jpg
diff --git a/C007_LunchBreak/Jennifer/JenniferIntro.jpg b/C007_LunchBreak/Jennifer/JenniferIntro.jpg
new file mode 100644
index 0000000000..05890f248c
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferIntro.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferIntroGone.jpg b/C007_LunchBreak/Jennifer/JenniferIntroGone.jpg
new file mode 100644
index 0000000000..c3a7f9e5e5
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferIntroGone.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferIntroHappy.jpg b/C007_LunchBreak/Jennifer/JenniferIntroHappy.jpg
new file mode 100644
index 0000000000..62aad1cc91
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferIntroHappy.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferIntroSubbie.jpg b/C007_LunchBreak/Jennifer/JenniferIntroSubbie.jpg
new file mode 100644
index 0000000000..151d1ad652
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferIntroSubbie.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerKiss.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerKiss.jpg
new file mode 100644
index 0000000000..55cccea7a9
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerKiss.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerLunch0.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerLunch0.jpg
new file mode 100644
index 0000000000..e2fa4e76ea
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerLunch0.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerLunch1.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerLunch1.jpg
new file mode 100644
index 0000000000..46f5a85c37
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerLunch1.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerLunch2.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerLunch2.jpg
new file mode 100644
index 0000000000..89a4978c67
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerLunch2.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPunish.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPunish.jpg
new file mode 100644
index 0000000000..fd9354163d
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPunish.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacket.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacket.jpg
new file mode 100644
index 0000000000..e1f991d7ff
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacket.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketCuffs.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketCuffs.jpg
new file mode 100644
index 0000000000..900960c8a1
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketCuffs.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketCuffsBallGag.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketCuffsBallGag.jpg
new file mode 100644
index 0000000000..8fb598af31
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketCuffsBallGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketCuffsTapeGag.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketCuffsTapeGag.jpg
new file mode 100644
index 0000000000..6d493a9909
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketCuffsTapeGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketRope.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketRope.jpg
new file mode 100644
index 0000000000..37dba6dc37
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketRope.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketRopeBallGag.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketRopeBallGag.jpg
new file mode 100644
index 0000000000..36e583fec1
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketRopeBallGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketRopeTapeGag.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketRopeTapeGag.jpg
new file mode 100644
index 0000000000..b826ca5339
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPunishRacketRopeTapeGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPunishStrip.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPunishStrip.jpg
new file mode 100644
index 0000000000..1cefad2072
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPunishStrip.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerPushUp.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerPushUp.jpg
new file mode 100644
index 0000000000..8ec77bd3bd
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerPushUp.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferPlayerTennis.jpg b/C007_LunchBreak/Jennifer/JenniferPlayerTennis.jpg
new file mode 100644
index 0000000000..34266d7ddf
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferPlayerTennis.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferStrip.jpg b/C007_LunchBreak/Jennifer/JenniferStrip.jpg
new file mode 100644
index 0000000000..340568cb7b
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferStrip.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferStripBallGag.jpg b/C007_LunchBreak/Jennifer/JenniferStripBallGag.jpg
new file mode 100644
index 0000000000..a12be28377
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferStripBallGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferStripCuffs.jpg b/C007_LunchBreak/Jennifer/JenniferStripCuffs.jpg
new file mode 100644
index 0000000000..1689c346e1
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferStripCuffs.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferStripCuffsBallGag.jpg b/C007_LunchBreak/Jennifer/JenniferStripCuffsBallGag.jpg
new file mode 100644
index 0000000000..02b2513bcc
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferStripCuffsBallGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferStripCuffsTapeGag.jpg b/C007_LunchBreak/Jennifer/JenniferStripCuffsTapeGag.jpg
new file mode 100644
index 0000000000..334df04730
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferStripCuffsTapeGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferStripRope.jpg b/C007_LunchBreak/Jennifer/JenniferStripRope.jpg
new file mode 100644
index 0000000000..b8e6e0b566
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferStripRope.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferStripRopeBallGag.jpg b/C007_LunchBreak/Jennifer/JenniferStripRopeBallGag.jpg
new file mode 100644
index 0000000000..20e4d992c5
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferStripRopeBallGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferStripRopeTapeGag.jpg b/C007_LunchBreak/Jennifer/JenniferStripRopeTapeGag.jpg
new file mode 100644
index 0000000000..72e90a8576
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferStripRopeTapeGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/JenniferStripTapeGag.jpg b/C007_LunchBreak/Jennifer/JenniferStripTapeGag.jpg
new file mode 100644
index 0000000000..2693aa0441
Binary files /dev/null and b/C007_LunchBreak/Jennifer/JenniferStripTapeGag.jpg differ
diff --git a/C007_LunchBreak/Jennifer/Script.js b/C007_LunchBreak/Jennifer/Script.js
new file mode 100644
index 0000000000..be0e7aea01
--- /dev/null
+++ b/C007_LunchBreak/Jennifer/Script.js
@@ -0,0 +1,410 @@
+var C007_LunchBreak_Jennifer_CurrentStage = 0;
+var C007_LunchBreak_Jennifer_MatchCount = 0; // At 4 or more, there's a good match
+var C007_LunchBreak_Jennifer_IntroText = "";
+var C007_LunchBreak_Jennifer_LeaveIcon = "";
+var C007_LunchBreak_Jennifer_NoOption = false;
+var C007_LunchBreak_Jennifer_HasEgg = false;
+var C007_LunchBreak_Jennifer_EggRemarkAvail = false;
+var C007_LunchBreak_Jennifer_EggRemarkDone = false;
+var C007_LunchBreak_Jennifer_TennisDifficulty = "";
+var C007_LunchBreak_Jennifer_TennisVictory = false;
+var C007_LunchBreak_Jennifer_AllowObey = false;
+var C007_LunchBreak_Jennifer_IsGagged = false;
+var C007_LunchBreak_Jennifer_IsRoped = false;
+var C007_LunchBreak_Jennifer_IsBoundAndGagged = false;
+var C007_LunchBreak_Jennifer_ExerciseCount = 0;
+var C007_LunchBreak_Jennifer_NeverHurtAvail = true;
+var C007_LunchBreak_Jennifer_TickleDone = false;
+var C007_LunchBreak_Jennifer_SpankDone = false;
+var C007_LunchBreak_Jennifer_ConfirmEvil = false;
+var C007_LunchBreak_Jennifer_MasturbateCount = 0;
+var C007_LunchBreak_Jennifer_OrgasmDone = false;
+var C007_LunchBreak_Jennifer_OrgasmCommentAvail = false;
+var C007_LunchBreak_Jennifer_PushUpQuality = 0;
+var C007_LunchBreak_Jennifer_PushUpCount = 0;
+var C007_LunchBreak_Jennifer_RacketQuality = 0;
+var C007_LunchBreak_Jennifer_HasRestrainsAvail = false;
+
+// Calculates the screen parameters
+function C007_LunchBreak_Jennifer_CalcParams() {
+
+	// No special images by default
+	OverridenIntroImage = "";
+
+	// Between 100 and 199, the image evolves with the number of matches
+	if ((C007_LunchBreak_Jennifer_CurrentStage >= 100) && (C007_LunchBreak_Jennifer_CurrentStage <= 199)) {
+		var Img = "0";
+		if ((C007_LunchBreak_Jennifer_MatchCount == 2) || (C007_LunchBreak_Jennifer_MatchCount == 3)) Img = "1";
+		if (C007_LunchBreak_Jennifer_MatchCount >= 4) Img = "2";
+		OverridenIntroImage = "JenniferPlayerLunch" + Img + ".jpg";
+	}
+	
+	// At 240 the player can restrain Jennifer
+	if (C007_LunchBreak_Jennifer_CurrentStage == 240) {
+		var Img = "";
+		if (ActorHasInventory("Rope")) Img = Img + "Rope";
+		if (ActorHasInventory("Cuffs")) Img = Img + "Cuffs";
+		if (ActorHasInventory("BallGag")) Img = Img + "BallGag";
+		if (ActorHasInventory("TapeGag")) Img = Img + "TapeGag";
+		OverridenIntroImage = "JenniferStrip" + Img + ".jpg";
+	}
+
+	// At 460 the player can be restrained
+	if (C007_LunchBreak_Jennifer_CurrentStage == 460) {
+		var Img = "";
+		if (PlayerHasLockedInventory("Rope")) Img = Img + "Rope";
+		if (PlayerHasLockedInventory("Cuffs")) Img = Img + "Cuffs";
+		if (PlayerHasLockedInventory("BallGag")) Img = Img + "BallGag";
+		if (PlayerHasLockedInventory("TapeGag")) Img = Img + "TapeGag";
+		OverridenIntroImage = "JenniferPlayerPunishRacket" + Img + ".jpg";
+	}
+	
+	// If love and submission are below 4, there's no option for lunch
+	C007_LunchBreak_Jennifer_IsBoundAndGagged = ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag")));
+	C007_LunchBreak_Jennifer_NoOption = ((ActorGetValue(ActorLove) <= 3) && (ActorGetValue(ActorSubmission) <= 3));
+	C007_LunchBreak_Jennifer_HasEgg = ActorHasInventory("VibratingEgg");
+	C007_LunchBreak_Jennifer_HasRestrainsAvail = ((PlayerHasInventory("Rope") || (PlayerHasInventory("Cuffs") && PlayerHasInventory("CuffsKey"))) && Common_PlayerNotRestrained)
+
+}
+
+// Chapter 7 - Jennifer Load
+function C007_LunchBreak_Jennifer_Load() {
+
+	// Load the scene parameters
+	ActorLoad("Jennifer", "ActorSelect");
+	LoadInteractions();
+	C007_LunchBreak_Jennifer_CalcParams();
+	
+	// If Jennifer doesn't like the player, she will run away from the start
+	if ((ActorGetValue(ActorLove) <= -3) && (ActorGetValue(ActorSubmission) <= 3)) {
+		OverridenIntroText = GetText("SkipIntro");
+		C007_LunchBreak_Jennifer_CurrentStage = 90;
+		C007_LunchBreak_ActorSelect_JenniferAvail = false;
+	}
+
+	// If Jennifer had the egg from before chapter 7, there's a special intro
+	if ((C007_LunchBreak_Jennifer_CurrentStage == 0) && ActorHasInventory("VibratingEgg")) {
+		OverridenIntroText = GetText("IntroEgg");
+		C007_LunchBreak_Jennifer_EggRemarkAvail = !C007_LunchBreak_Jennifer_EggRemarkDone;
+	}
+
+	// If we must put the previous text back
+	if ((C007_LunchBreak_Jennifer_IntroText != "") && (C007_LunchBreak_Jennifer_CurrentStage > 0)) {
+		OverridenIntroText = C007_LunchBreak_Jennifer_IntroText;
+		LeaveIcon = C007_LunchBreak_Jennifer_LeaveIcon;
+	}
+
+	// From lunch an up, the player cannot leave directly
+	if (C007_LunchBreak_Jennifer_CurrentStage >= 100) {
+		LeaveIcon = "";		
+	}
+
+}
+
+// Chapter 7 - Jennifer Run
+function C007_LunchBreak_Jennifer_Run() {
+	BuildInteraction(C007_LunchBreak_Jennifer_CurrentStage);
+}
+
+// Chapter 7 - Jennifer Click
+function C007_LunchBreak_Jennifer_Click() {	
+
+	// Regular and inventory interactions
+	ClickInteraction(C007_LunchBreak_Jennifer_CurrentStage);
+	var ClickInv = GetClickedInventory();
+	if (ClickInv == "Player") {
+		C007_LunchBreak_Jennifer_IntroText = OverridenIntroText;
+		C007_LunchBreak_Jennifer_LeaveIcon = LeaveIcon;
+		InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
+	}
+	
+	// When the user wants to use the rope
+	if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("Rope");
+		ActorAddInventory("Rope");
+		PlayerRemoveInventory("Rope", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Jennifer_IsRoped = true;
+	}
+	
+	// When the user wants to use the cuffs
+	if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "Cuffs") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("Cuffs");
+		ActorAddInventory("Cuffs");
+		PlayerRemoveInventory("Cuffs", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the BallGag
+	if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "BallGag") && !ActorHasInventory("BallGag")) {
+		OverridenIntroText = GetText("BallGag");
+		ActorRemoveInventory("TapeGag");
+		ActorAddInventory("BallGag");
+		PlayerRemoveInventory("BallGag", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Jennifer_IsGagged = true;
+	}
+	
+	// When the user wants to use the tape gag
+	if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "TapeGag") && !ActorHasInventory("TapeGag")) {
+		OverridenIntroText = GetText("TapeGag");		
+		C007_LunchBreak_Jennifer_Ungag();
+		ActorAddInventory("TapeGag");
+		PlayerRemoveInventory("TapeGag", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Jennifer_IsGagged = true;
+	}
+	
+	// When the user wants to use the cuffs keys
+	if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "CuffsKey") && ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("Uncuff");
+		ActorRemoveInventory("Cuffs");
+		PlayerAddInventory("Cuffs", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the crop
+	if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "Crop")) {
+		OverridenIntroText = GetText("Crop");
+		if (C007_LunchBreak_Jennifer_CropDone == false) { C007_LunchBreak_Jennifer_CropDone = true; ActorChangeAttitude(-1, 1); }
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the egg
+	if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg")) {
+		
+		// It only works if Jennifer is restrained
+		if (ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) {
+			OverridenIntroText = GetText("VibratingEgg");
+			ActorAddInventory("VibratingEgg");
+			PlayerRemoveInventory("VibratingEgg", 1);
+			ActorChangeAttitude(-1, 0);
+		} else {
+			OverridenIntroText = GetText("VibratingEggFail");
+		}
+		CurrentTime = CurrentTime + 60000;
+	}	
+
+	// When the user wants to use the collar (+20 submission and a ceremony is required)
+	if ((C007_LunchBreak_Jennifer_CurrentStage == 240) && (ClickInv == "Collar") && !ActorHasInventory("Collar"))
+		OverridenIntroText = GetText("Collar");
+		
+	// Recalculates the scene parameters
+	C007_LunchBreak_Jennifer_CalcParams();
+
+}
+
+// Chapter 7 - Jennifer Egg Remark
+function C007_LunchBreak_Jennifer_EggRemark() {
+	C007_LunchBreak_Jennifer_EggRemarkDone = true;
+	C007_LunchBreak_Jennifer_EggRemarkAvail = false;
+}
+
+// Chapter 7 - Jennifer End Lunch
+function C007_LunchBreak_Jennifer_EndLunch() {
+	C007_LunchBreak_ActorSelect_JenniferAvail = false;
+}
+
+// Chapter 7 - Jennifer Play Tennis (adds 5 minutes)
+function C007_LunchBreak_Jennifer_PlayTennis(Difficulty) {
+	CurrentTime = CurrentTime + 300000;
+	C007_LunchBreak_Jennifer_IntroText = "";
+	C007_LunchBreak_Jennifer_LeaveIcon = "";
+	PlayerClothes("Tennis");
+	C007_LunchBreak_Jennifer_TennisDifficulty = Difficulty;
+	SetScene(CurrentChapter, "JenniferTennis");
+}
+
+// Chapter 7 - Jennifer Good Match
+function C007_LunchBreak_Jennifer_GoodMatch() {
+	C007_LunchBreak_Jennifer_MatchCount++;
+	C007_LunchBreak_Jennifer_CalcParams();
+}
+
+// Chapter 7 - Jennifer Bad Match
+function C007_LunchBreak_Jennifer_BadMatch() {
+	C007_LunchBreak_Jennifer_MatchCount--;
+	C007_LunchBreak_Jennifer_CalcParams();
+}
+
+// Chapter 7 - Jennifer Eat Lunch (Adds 15 minutes)
+function C007_LunchBreak_Jennifer_EatLunch() {	
+	CurrentTime = CurrentTime + 900000;
+}
+
+// Chapter 7 - Jennifer - Test if Jennifer/Player can obey for the bonus scene
+function C007_LunchBreak_Jennifer_TestObey() {
+	if (C007_LunchBreak_Jennifer_MatchCount >= 4) {
+		C007_LunchBreak_Jennifer_AllowObey = true;
+		if (C007_LunchBreak_Jennifer_TennisVictory) OverridenIntroText = GetText("JenniferObey");
+		else OverridenIntroText = GetText("PlayerObey");
+	}
+}
+
+// Chapter 7 - Jennifer Untie
+function C007_LunchBreak_Jennifer_Untie() {
+	if (ActorHasInventory("Rope")) {
+		ActorRemoveInventory("Rope");
+		PlayerAddInventory("Rope", 1);		
+		C007_LunchBreak_Jennifer_IsRoped = false;
+	}
+}
+
+// Chapter 7 - Jennifer Ungag
+function C007_LunchBreak_Jennifer_Ungag() {
+	ActorRemoveInventory("TapeGag");
+	if (ActorHasInventory("BallGag")) {
+		ActorRemoveInventory("BallGag");
+		PlayerAddInventory("BallGag", 1);
+	}
+	C007_LunchBreak_Jennifer_IsGagged = false;
+}
+
+// Chapter 7 - Jennifer Release
+function C007_LunchBreak_Jennifer_Release() {
+	C007_LunchBreak_Jennifer_Untie();
+	C007_LunchBreak_Jennifer_Ungag();	
+	if (ActorHasInventory("Cuffs")) {
+		ActorRemoveInventory("Cuffs");
+		PlayerAddInventory("Cuffs", 1);
+	}
+}
+
+// Chapter 7 - Jennifer Enter Tennis Court (Adds 5 minutes)
+function C007_LunchBreak_Jennifer_EnterTennis() {
+	CurrentTime = CurrentTime + 300000;
+}
+
+// Chapter 7 - Jennifer Exercise (Can raise the Domme level twice)
+function C007_LunchBreak_Jennifer_Exercise() {
+	C007_LunchBreak_Jennifer_ExerciseCount++;
+	if (C007_LunchBreak_Jennifer_ExerciseCount <= 2) ActorChangeAttitude(0, 1);
+}
+
+// Chapter 7 - Jennifer - Flag the bonus as done
+function C007_LunchBreak_Jennifer_BonusDone() {
+	C007_LunchBreak_ActorSelect_BonusDone = true;
+}
+
+// Chapter 7 - Jennifer - Never hurt comment
+function C007_LunchBreak_Jennifer_NeverHurtComment() {
+	C007_LunchBreak_Jennifer_NeverHurtAvail = false;
+	ActorChangeAttitude(1, 0);
+}
+
+// Chapter 7 - Jennifer - Orgasm Comment
+function C007_LunchBreak_Jennifer_OrgasmComment() {
+	C007_LunchBreak_Jennifer_OrgasmCommentAvail = false;
+}
+
+// Chapter 7 - Jennifer - Tickle
+function C007_LunchBreak_Jennifer_Tickle() {
+	if (!C007_LunchBreak_Jennifer_TickleDone) {
+		ActorChangeAttitude(-1, 0);
+		C007_LunchBreak_Jennifer_TickleDone = true;
+	}
+}
+
+// Chapter 7 - Jennifer - Spank
+function C007_LunchBreak_Jennifer_Spank() {
+	if (ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) {
+		if (!C007_LunchBreak_Jennifer_SpankDone) {
+			ActorChangeAttitude(0, 1);
+			C007_LunchBreak_Jennifer_SpankDone = true;
+		}
+		OverridenIntroText = GetText("Spank");
+	}
+}
+
+// Chapter 7 - Jennifer - Masturbate (requires an egg and 3 tries)
+function C007_LunchBreak_Jennifer_Masturbate() {
+	if (ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) {
+		C007_LunchBreak_Jennifer_MasturbateCount++;
+		if (ActorHasInventory("VibratingEgg")) {
+			if ((C007_LunchBreak_Jennifer_MasturbateCount >= 3) && !C007_LunchBreak_Jennifer_OrgasmDone) {
+				ActorAddOrgasm();
+				ActorChangeAttitude(1, 0);
+				C007_LunchBreak_ActorSelect_BonusDone = true;
+				C007_LunchBreak_Jennifer_OrgasmDone = true;
+				C007_LunchBreak_Jennifer_OrgasmCommentAvail = true;
+				OverridenIntroText = GetText("MasturbateOrgasm");
+			} else OverridenIntroText = GetText("MasturbateEgg");
+		} else OverridenIntroText = GetText("MasturbateNoEgg");
+	}
+}
+
+// Chapter 7 - Jennifer Evil End Chapter (Leave her bound and gagged)
+function C007_LunchBreak_Jennifer_EvilEnd() {
+	if (C007_LunchBreak_Jennifer_ConfirmEvil) {
+		C007_LunchBreak_ActorSelect_EvilEnding = true;
+		Common_PlayerCrime = "JenniferStranded";
+		ActorChangeAttitude(-5, 1);
+		SetScene(CurrentChapter, "Outro");
+	} else {
+		OverridenIntroText = GetText("LeaveBoundAndGagged");
+		C007_LunchBreak_Jennifer_ConfirmEvil = true;
+	}
+}
+
+// Chapter 7 - Jennifer - Dress her back
+function C007_LunchBreak_Jennifer_DressHerBack() {
+	C007_LunchBreak_Jennifer_Release();
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Jennifer ask the player to do 10 push-up, the parameter is the push-up quality
+function C007_LunchBreak_Jennifer_PushUp(Quality) {
+	
+	// Keeps the count and shows it
+	C007_LunchBreak_Jennifer_PushUpQuality = C007_LunchBreak_Jennifer_PushUpQuality + Quality;
+	C007_LunchBreak_Jennifer_PushUpCount++;
+	OverridenIntroText = GetText("Count" + C007_LunchBreak_Jennifer_PushUpCount.toString()) + " " + GetText("PushUpQuality" + Quality.toString());
+
+	// Stops at 10, if quality isn't great the player gets punished
+	if (C007_LunchBreak_Jennifer_PushUpCount >= 10) {
+		if (C007_LunchBreak_Jennifer_PushUpQuality >= 20) {
+			C007_LunchBreak_Jennifer_CurrentStage = 340;
+			C007_LunchBreak_ActorSelect_BonusDone = true;
+			OverridenIntroText = GetText("PushUpSuccess");
+		} else {
+			C007_LunchBreak_Jennifer_CurrentStage = 400;
+			OverridenIntroText = GetText("PushUpFail");			
+		}
+	}
+
+}
+
+// Chapter 7 - Jennifer - When the player strips
+function C007_LunchBreak_Jennifer_Strip() {
+	PlayerClothes("Underwear");
+}
+
+// Chapter 7 - Jennifer - When the player dress back
+function C007_LunchBreak_Jennifer_DressBack() {
+	PlayerClothes("Tennis");
+}
+
+// Chapter 7 - Jennifer - When Jennifer hits the player with her racket
+function C007_LunchBreak_Jennifer_RacketHit(Quality) {
+	C007_LunchBreak_Jennifer_RacketQuality = C007_LunchBreak_Jennifer_RacketQuality + Quality;
+	if (C007_LunchBreak_Jennifer_RacketQuality >= 10) {
+		C007_LunchBreak_Jennifer_CurrentStage = 470;
+		C007_LunchBreak_ActorSelect_BonusDone = true;
+		ActorChangeAttitude(0, -1);
+		if (PlayerHasLockedInventory("Cuffs") || PlayerHasLockedInventory("Rope")) OverridenIntroText = GetText("ReleaseRacket");
+		else OverridenIntroText = GetText("StopRacket");
+		PlayerReleaseBondage();
+	}
+}
+
+// Chapter 7 - Jennifer - When Jennifer checks the player bag
+function C007_LunchBreak_Jennifer_CheckBag() {
+	HasRestrainsAvail = false;
+	PlayerRandomBondage();
+}
+
+// Chapter 7 - Jennifer End Chapter
+function C007_LunchBreak_Jennifer_EndChapter() {
+	C007_LunchBreak_Jennifer_Release();
+	SetScene(CurrentChapter, "Outro");
+}
\ No newline at end of file
diff --git a/C007_LunchBreak/Jennifer/Stage_EN.csv b/C007_LunchBreak/Jennifer/Stage_EN.csv
new file mode 100644
index 0000000000..fff8ad37fe
--- /dev/null
+++ b/C007_LunchBreak/Jennifer/Stage_EN.csv
@@ -0,0 +1,202 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,EggRemarkAvail,The egg will remind|you of your place.,My place?  (She looks down.)|That's... that's not very nice.,0,-1,1,EggRemark()
+0,0,0,EggRemarkAvail,Sorry about the egg.|You'll remove it at home.,It's ok I guess.  Let's not|talk about this anymore.,0,1,-1,EggRemark()
+0,0,0,,Are you going|to play tennis?,Yes!  Would you like to play with me?,10,0,0,
+0,0,0,,Why are you|dressed like that?,I'm going to play some tennis.|Would you like to play with me?,10,0,0,
+0,0,0,,You look cute|in that skirt.,Thanks a lot!  I'm going to play tennis.|Would you like to play with me?,10,1,0,
+0,0,0,,You look silly|in that skirt.,It's outdated?  I'm going to play tennis.|Would you like to play with me?,10,-1,0,
+0,0,0,,This skirt gives|you a great butt.,(She looks at her skirt and blushes.)|Would you like to play tennis with me?,10,0,1,
+10,4,0,,We could play tennis if|the winner gets rewarded.,Rewarded?  What do you have in mind?,20,0,0,
+10,0,4,,I'm up for it girl.  If you|want to spice the game.,Spice the game?|What do you have in mind?,20,0,0,
+10,0,0,NoOption,We could play some|tennis if you want.,Ok!  I can't play with you today though.|Would you like to try a game tomorrow?,15,0,0,
+10,0,0,NoOption,Sure!  Let's play.|This will be fun.,Great!  I can't play with you today though.|Would you like to try a game tomorrow?,15,1,0,
+10,0,0,,I can't play now|but have a good game.,I will!  Thanks.|(She leaves for tennis.),90,0,0,EndLunch()
+10,0,0,,"Sorry girl, but tennis|is a game for kids.",Alright miss.  Have a good lunch.|(She looks down and leaves for tennis.),90,-1,1,EndLunch()
+10,0,0,,I wish I could but|I'm horrible at tennis.,You'll never get good with this attitude.|(She takes her stuff and leaves for tennis.),90,0,-1,EndLunch()
+15,0,0,,"Ok, let's play a|game tomorrow.",It's a deal!  Have a great lunch.|(She packs her stuff and goes play tennis.),90,0,0,EndLunch()
+15,0,0,,No!  I want to play now!,"There's no deal then, have a good lunch.|(She packs her stuff and goes play tennis.)",90,-1,0,EndLunch()
+20,0,0,,The loser will be the|winner slave for lunch.,Slave?  You mean the loser pays for lunch?,30,0,1,
+20,0,0,,The loser submits to|the winner for lunch.,Submits?  You mean the loser pays for lunch?,30,0,0,
+20,0,0,,On second thoughts.|I don't want to play.,"Alright then, see you later.|(She packs and leaves for tennis.)",90,0,0,EndLunch()
+30,0,0,,"Yes, whoever loses|will pay and obey.",You have a strange way to phrase your|bet but I'm up for it!  Should we go now?,40,0,0,
+30,0,0,,Don't make me repeat.|Are you game or not?,(She frowns at you and gets competitive.)|Alright then!  Are you ready to play now?,40,-1,0,
+30,0,0,,On second thoughts.|I don't want to play.,"Alright then, see you later.|(She packs and leaves for tennis.)",90,0,0,EndLunch()
+40,0,0,,Go easy with me.|(Go play tennis.),,100,0,0,"PlayTennis(""Easy"")"
+40,0,0,,Let's do a fun game.|(Go play tennis.),,100,0,0,"PlayTennis(""Normal"")"
+40,0,0,,I will crush you!|(Go play tennis.),,100,0,0,"PlayTennis(""Hard"")"
+40,0,0,,On second thoughts.|I don't want to play.,"Alright then, see you later.|(She packs and leaves for tennis.)",90,0,0,EndLunch()
+100,0,0,TennisVictory,You remember the bet?|You will obey for lunch.,"I'm still not sure what you mean by that.|But sure, I will obey and pay for lunch.",110,0,1,
+100,0,0,TennisVictory,I play better when|there are stakes. ,"I'm still not sure what you have in mind.|But sure, I will pay for your meal.",110,0,0,
+100,0,0,TennisVictory,You played well.|I simply got lucky.,"Thanks!  I will practice more and get better.|For now, you will enjoy your free meal.",110,1,0,
+100,0,0,!TennisVictory,You have a visor.|I had sun in my face.,Don't make excuses like that.|I won the game and the bet fairly.,105,-1,0,
+100,0,0,!TennisVictory,You're way too|good for me.,Cheer up and start practicing then!|Next time you might win the bet.,105,0,-1,
+100,0,0,!TennisVictory,That was a|fun match.,Yes!  We need to do another one soon.|Next time you might win the bet.,105,0,0,
+105,0,0,,Yes Miss.  And I will|obey you for lunch.,Obey me?  You sound so submissive.|I will enjoy my free meal for sure.,110,0,-1,
+105,0,0,,You remember the|terms of the bet?,"(She laughs.)  Yes, you will obey me for lunch.|And I will certainly enjoy this free meal.",110,0,0,
+105,0,0,,I will be your slave|until lunch is over.,My slave?  It sounds so bad.|I will enjoy my free meal though.,110,-1,-1,
+110,0,0,,What are you eating?,"I don't know yet, something healthy.|Do you also have a healthy diet?",113,0,0,
+110,0,0,,What should I get?,Go for a salad or a vegan meal.|Do you have a healthy diet?,113,0,0,
+110,0,0,,It's a nice|place you found.,I don't come here often.|I rarely go eat with friends.,116,0,0,
+110,0,0,,This restaurant|looks alright.,I don't come here often.|I rarely go eat with friends.,116,0,0,
+113,0,0,,A healthy diet?|That's pretty lame.,Wrong.  A healthy diet is very important.|So what kind of career are you aiming for?,120,0,0,BadMatch()
+113,0,0,,I'm on a beer|and cake diet.,You should more serious about what you eat.|So what kind of career are you aiming for?,120,0,0,BadMatch()
+113,0,0,,I balance between|good and bad food.,I guess that's fine while you're young.|So what kind of career are you aiming for?,120,0,0,
+113,0,0,,I try to eat healthy|from time to time.,I guess that's fine when you're young.|So what kind of career are you aiming for?,120,0,0,
+113,0,0,,I try to eat|strictly vegan.,That's a very good commitment.|So what kind of career are you aiming for?,120,0,0,GoodMatch()
+113,0,0,,I count the calories|of all my meals.,That's a lot of work but it will pay off.|So what kind of career are you aiming for?,120,0,0,GoodMatch()
+116,0,0,,Well you found|a friend today.,(She smiles.)  That's very sweet of you.|So what kind of career are you aiming for?,120,1,0,GoodMatch()
+116,0,0,,Let's go together|often then.,Absolutely!  I would love that.|So what kind of career are you aiming for?,120,0,0,GoodMatch()
+116,0,0,,How come you don't|have many friends?,"I don't know, I guess I'm too shy.|What kind of career are you aiming for?",120,0,0,
+116,0,0,,You need more|friends then.,"I don't know, I guess I don't need friends.|What kind of career are you aiming for?",120,0,0,
+116,0,0,,So you're a|reject at school?,Let's just say I don't have many friends.|What kind of career are you aiming for?,120,0,0,BadMatch()
+116,0,0,,You sound like a|loser without friends.,Don't be so mean!  I'm not a loser.|What kind of career are you aiming for?,120,-1,0,BadMatch()
+120,0,0,,A musician.,Alright.  And what's your favorite class?,130,0,0,
+120,0,0,,A doctor.,You could heal sport injuries.|What's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,An athlete.,This is great!  Follow your dreams.|So what's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,A teacher.,I'm also thinking about teaching gym.|So what's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,An actor.,Alright.  And what's your favorite class?,130,0,0,
+120,0,0,,A dominatrix.,Don't you know about the dangers of the|sex industry?  What's your favorite class?,130,0,0,BadMatch()
+120,0,0,,An architect.,Alright.  And what's your favorite class?,130,0,0,
+120,0,0,,A farmer.,It will bring good food to our tables.|And what's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,A programmer.,You want to stare at a screen all day?|What's your favorite class?,130,0,0,BadMatch()
+120,0,0,,I don't know yet.,Finding the right career isn't easy.|What's your favorite class?,130,0,0,
+130,0,0,,Math.,I must admit that math isn't my forte.|What do you do outside of college?,140,0,0,BadMatch()
+130,0,0,,Music.,That's nice.  And what do|you do outside of college?,140,0,0,
+130,0,0,,English.,I'm pretty good in English also.|What do you do outside of college?,140,0,0,GoodMatch()
+130,0,0,,Gym.,Nothing can beat gym class!|What do you do outside of college?,140,0,0,GoodMatch()
+130,0,0,,Chemistry.,That's nice.  And what do|you do outside of college?,140,0,0,
+130,0,0,,French.,That's nice.  And what do|you do outside of college?,140,0,0,
+130,0,0,,Art.,I guess you had fun in Julia's class today.|And what do you do outside of college?,140,0,0,GoodMatch()
+130,0,0,,History.,Great!  I'm studying the history of the Olympics.|And what do you do outside of college?,140,0,0,GoodMatch()
+130,0,0,,Theatre.,I'm way too shy to act in a play.|What do you do outside of college?,140,0,0,BadMatch()
+130,0,0,,I don't know.,That's pretty hard to believe.|What do you do outside of college?,140,0,0,BadMatch()
+140,0,0,,Basketball.,Sweet!  You should join the college team.|(The waitress interrupts and asks for your order.),150,0,0,GoodMatch()
+140,0,0,,Rock music.,My roommate plays it way too loud.|(The waitress interrupts and asks for your order.),150,0,0,BadMatch()
+140,0,0,,Video games.,I guess some systems like the WII are fine.|(The waitress interrupts and asks for your order.),150,0,0,
+140,0,0,,Cheerleading.,Nice!  You should join the college team.|(The waitress interrupts and asks for your order.),150,0,0,GoodMatch()
+140,0,0,,Going to parties.,Loud music and beer aren't great for you.|(The waitress interrupts and asks for your order.),150,0,0,BadMatch()
+140,0,0,,Role playing games.,"Believe it or not, I used to LARP back then.|(The waitress interrupts and asks for your order.)",150,0,0,GoodMatch()
+140,0,0,,Getting drunk.,Binge drinking is horrible for your health.|(The waitress interrupts and asks for your order.),150,0,0,BadMatch()
+140,0,0,,Classical music.,I guess it can be quite relaxing.|(The waitress interrupts and asks for your order.),150,0,0,
+140,0,0,,Making love.,(She blushes red.)  I guess it's healthy.|(The waitress interrupts and asks for your order.),150,0,0,GoodMatch()
+140,0,0,,I don't have|any hobbies.,Check the school billboard for an activity.|(The waitress interrupts and asks for your order.),150,0,0,
+150,0,0,,A salad please.,A very healthy choice.|(She orders the same.),160,0,0,GoodMatch()
+150,0,0,,A steak please.,I guess you can have some proteins|after a match.  (She orders a small salad.),160,0,0,
+150,0,0,,A soup please.,A very healthy choice.|(She orders the same.),160,0,0,GoodMatch()
+150,0,0,,A hamburger please.,I guess you can have some proteins|after a match.  (She orders a small salad.),160,0,0,
+150,0,0,,A nacho platter please.,I guess you can have some proteins|after a match.  (She orders a small salad.),160,0,0,
+150,0,0,,Only cheesecake please.,That's pretty unhealthy.|(She orders the same.),160,0,0,BadMatch()
+150,0,0,,Soup and salad please.,A very healthy choice.|(She orders the same.),160,0,0,GoodMatch()
+150,0,0,,A chili dog please.,That's pretty unhealthy.|(She orders the same.),160,0,0,BadMatch()
+150,0,0,,Fettuccine alfredo please.,I guess you can have some proteins|after a match.  (She orders a small salad.),160,0,0,
+150,0,0,,Only water please.,You have lots of self-control.|(She orders a small salad.),160,0,0,GoodMatch()
+160,0,0,TennisVictory,Have a good meal.,(You both eat your lunch|and Jennifer pays the bill.),170,0,0,EatLunch()
+160,0,0,TennisVictory,Bon appetite!,(You both eat your lunch|and Jennifer pays the bill.),170,0,0,EatLunch()
+160,0,0,TennisVictory,Thanks for the|free meal.,(You both eat your lunch|and Jennifer pays the bill.),170,0,0,EatLunch()
+160,0,0,TennisVictory,Get used to pay|for my food girl.,(You both eat your lunch|and Jennifer pays the bill.),170,0,1,EatLunch()
+160,0,0,!TennisVictory,Have a good meal.,(You both eat your lunch|and you take the bill.),180,0,0,EatLunch()
+160,0,0,!TennisVictory,Bon appetite!,(You both eat your lunch|and you take the bill.),180,0,0,EatLunch()
+160,0,0,!TennisVictory,Enjoy your|free meal.,(You both eat your lunch|and you take the bill.),180,0,0,EatLunch()
+160,0,0,!TennisVictory,It's my pleasure to|give you this meal Miss.,(You both eat your lunch|and you take the bill.),180,0,-1,EatLunch()
+170,0,0,,You promised to obey|until lunch time is over.,It was only a silly bet.|Let's go back to school.,175,0,0,TestObey()
+170,0,0,,You're still my slave|for a few minutes.,"(She frowns at you.)  It was only a silly bet.|Let's go back to school, this is too weird.",175,-1,0,TestObey()
+170,0,0,,Let's go back.|(Back to college.),,0,0,0,EndChapter()
+175,0,0,AllowObey,Trust me and|come with me.,"(She nods and smiles.)  Alright, I trust you.|(You both walk back to the tennis court.)",200,1,0,EnterTennis()
+175,0,0,AllowObey,Come with me girl.,"(She giggles.)  Alright, but I won't do the dishes.|(You both walk back to the tennis court.)",200,0,0,EnterTennis()
+175,0,0,,Let's go back.|(Back to college.),,0,0,0,EndChapter()
+180,0,0,,I still need to obey|you until lunch is over.,Don't be silly.  You've paid and|the bet is over.  Let's go back.,185,0,0,TestObey()
+180,0,0,,I'm still your slave|until the bell rings.,This is weird.  You've paid and|the bet is over.  Let's go back.,185,-1,0,TestObey()
+180,0,0,,Let's go back.|(Back to college.),,0,0,0,EndChapter()
+185,0,0,AllowObey,"Sure, I will follow.",(She takes your hand and you both|walk back to the tennis court.),300,1,0,EnterTennis()
+185,0,0,AllowObey,Follow you where?,(She grabs your hand and you both|walk back to the tennis court.),300,0,0,EnterTennis()
+185,0,0,!AllowObey,Let's go back.|(Back to college.),,0,0,0,EndChapter()
+200,0,0,,"Remember, you're|my slave for now.","Don't say slave, it sounds so bad.|It's fine though, you can be my boss.",220,-1,0,
+200,0,0,,You have to obey|on everything I say.,"(She nods.)  Alright, but there are limits.",220,0,0,
+200,8,0,,Can I have a kiss?|(1 minute),(She blushes and smiles.)  Sure.|(You grab each other kiss lovingly.),210,1,0,
+200,0,8,,(Grab and strip her.)|(1 minute),(She remains speechless as you|grab her and force her to strip.),240,-1,1,
+210,0,0,,(Kiss her again.)|(1 minute),(You kiss each other again on the|tennis court while moaning lightly.),210,0,0,
+210,0,0,,I love you.  But|let's not rush this.,You?  I?  You love me?  Let's take it slow.|(She looks away confused and nervous.),215,1,0,BonusDone()
+210,0,0,,"Remember, you're|my slave for now.","Don't say slave, it sounds so bad.|It's fine though, you can be my boss.",220,-1,0,
+210,0,0,,You have to obey|on everything I say.,"(She nods.)  Alright, but there are limits.",220,0,0,
+210,0,8,,(Grab and strip her.)|(1 minute),(She remains speechless as you|grab her and force her to strip.),240,-1,1,
+215,0,0,,Let's go back sweetie.|(Back to college.),,0,1,0,EndChapter()
+220,0,0,,Do a running lap.|(1 minute),Yes coach!  (She runs around the court.),220,0,0,Exercise()
+220,0,0,,Do five push-ups.|(1 minute),Yes coach!  (She does five push-ups.),220,0,0,Exercise()
+220,0,0,,"Alright, strip to|your underwear.",Strip?  But there will be people soon.,230,-1,0,
+220,0,0,,"Girl, remove|that silly skirt.",Remove my skirt?  Here?|But there will be people soon.,230,-1,1,
+220,0,8,,(Grab and strip her.)|(1 minute),(She remains speechless as you|grab her and force her to strip.),240,-1,1,
+230,0,0,,Nobody is around.|You can do it!,Alright then.  But if someone comes|I will put it back.  (She strips.),240,0,0,
+230,0,0,,You heard me|the first time.,Alright then.  But if someone comes|I will put it back.  (She strips.),240,0,1,
+230,0,8,,(Grab and strip her.)|(1 minute),(She remains speechless as you|grab her and force her to strip.),240,-1,1,
+230,0,0,,I was kidding.  Let's go.|(Back to college.),,0,1,0,EndChapter()
+240,0,0,OrgasmCommentAvail,I hope you enjoyed|your trip to heaven.,(She looks at you and nods slowly.),240,1,0,OrgasmComment()
+240,0,0,OrgasmCommentAvail,Next time you|will beg to cum.,(She frowns at you but slowly|bows her head to the ground.),240,-1,1,OrgasmComment()
+240,0,0,NeverHurtAvail,Trust me Jennifer.|I will never hurt you.,(She takes a deep breath and nods slowly.),240,0,0,NeverHurtComment()
+240,0,0,,(Tickle her.)|(1 minute),(You tickle her but she doesn't laugh|that much and doesn't seem to appreciate.),240,0,0,Tickle()
+240,0,0,,(Spank her.)|(1 minute),(You try to spank her but|she quickly pushes you away.),240,0,0,Spank()
+240,0,0,,(Masturbate her.)|(1 minute),(You try to masturbate her|but she pushes your hand away.),240,0,0,Masturbate()
+240,0,0,IsRoped,(Untie her.)|(1 minute),(You undo the rope knots and|release her from the tennis net.),240,0,0,Untie()
+240,0,0,IsGagged,(Ungag her.)|(1 minute),"(You slowly remove the gag from her.)|Thank you, that was kind of awkward.",240,0,0,Ungag()
+240,0,0,IsBoundAndGagged,I tricked you bitch.|(Leave her stranded.),,240,0,0,EvilEnd()
+240,0,0,,That's enough.|(Dress her back.),(You let her go and she dresses back.)|Wow!  I'm so happy nobody came by.,250,0,0,DressHerBack()
+250,0,0,,Did you had|fun today?,I have mixed feelings I must admit.|Should we head back to school?,260,0,0,
+250,0,0,,Next time it will be|even more humiliating.,Oh my!  Don't say things like that.|Should we head back to school?,260,-1,1,
+250,0,0,,You were daring.|I'm proud of you.,"Well thanks, I guess I was.|Should we go back to school?",260,1,0,
+250,0,0,,Let's do this|again someday.,I'm not really sure about that.|Should we go back to school?,260,0,0,
+250,0,0,,Next time will|you tie me up?,"(She giggles.)  Sure, why not?|Should we go back to school?",260,0,-1,
+250,0,0,,Get used to be tied up.|It will happen again.,"Oh, not in public like that I hope.|Should we head back to school?",260,0,1,
+260,8,0,,One last kiss?|(1 minute),(You grab each other in a loving|embrace and kiss passionately.),270,1,0,BonusDone()
+260,0,0,,Let's go back.|(Back to college.),,0,0,0,EndChapter()
+270,0,0,,(Kiss her again.)|(1 minute),(You both close your|eyes and keep on kissing.),270,0,0,
+270,0,0,,Let's go back.|(Back to college.),,0,0,0,EndChapter()
+300,0,0,,What are we|doing here?,I'm your boss and coach.|I'll get you into shape.,310,0,0,
+300,0,0,,You want to play|some tennis again?,"No.  But as your boss and|coach, I'll get you into shape.",310,0,0,
+300,0,0,,I can't play|after lunch.,"Don't worry.  As your boss and|coach, I'll get you into shape.",310,0,-1,
+310,0,0,,Get me into shape?|What do you mean?,It means you will do some exercise.|Get on the ground and do ten push-ups.,320,0,0,
+310,0,0,,Some exercise sounds|like a good idea.,Absolutely!  It will be very healthy.|Get on the ground and do ten push-ups.,320,1,0,
+310,0,0,,My shape is|already great.,You have a pretty big ego you know?|Get on the ground and do ten push-ups.,320,-1,0,
+320,0,0,,Yes coach!|(Do push-ups.),(You bend on the ground and start|to do push-ups while she counts.),330,1,-1,
+320,0,0,,"Oh shit, ok.|(Do push-ups.)",(You bend on the ground and start|to do push-ups while she counts.),330,-1,0,
+320,0,0,,"Forget it, I'm not|doing push-ups.",Then you need to be|punished for your laziness.,400,-1,0,
+330,0,0,,(Do a normal|push-up.),,330,0,0,PushUp(2)
+330,0,0,,(Do a weak|push-up.),,330,0,0,PushUp(1)
+330,0,0,,(Do a strong|push-up.),,330,0,0,PushUp(3)
+330,0,0,,(Fake to do|a push-up.),,330,0,0,PushUp(0)
+330,0,0,,That's enough!|(Stop the push-ups.),Since you disobeyed your coach.|You deserve to be punished.,400,-1,0,
+340,0,0,,Thanks coach!,My pleasure!  So did you enjoy having|me as your coach?  Should we go back?,350,0,-1,
+340,0,0,,(Stay silent and|catch your breath.),So did you enjoy having me as|your coach?  Should we go back now?,350,0,0,
+340,0,0,,That was fun!,Absolutely!  So did you enjoy having|me as your coach?  Should we go back?,350,1,0,
+340,0,0,,You should also do|some push-ups.,"You're right, but not now.  So did you enjoy|having a coach?  Should we go back?",350,0,1,
+350,0,0,,It was fun but let's|go back.  (Back to college.),,0,0,0,EndChapter()
+350,0,0,,The bet was for|more than push-ups.,So you didn't have fun?|Why are you complaining?,360,0,0,
+360,0,0,,"Forget it, let's head|back.  (Back to college.)",,0,0,0,EndChapter()
+360,0,0,,You can do a lot|more with a slave!,So you're looking for trouble?|You're looking to be punished?,400,-1,0,
+400,0,0,,How will you|punish me?,I... I will... I don't know.|I've never punished anyone.,410,0,0,
+400,0,0,,Punish me?  What|do you have in mind?,I... I will... I don't know.|I've never punished anyone.,410,0,0,
+400,0,0,,Oh yes!  Please|punish me coach.,I... I don't know what to do.|I've never punished anyone before.,410,0,-1,
+410,0,0,,You've never|dominated anyone?,"Dominated?  No, what should I do?",420,0,0,
+410,0,0,,You're a horrible|Domme you know?,What's a Domme?  What should I do?,420,0,0,
+410,0,1,,"Forget it, let's head|back.  (Back to college.)",,0,0,0,EndChapter()
+420,0,0,,Order me to|strip damn it!,Yes Miss.  I...  I mean.|You should strip now!,430,0,1,
+420,0,0,,A first step is|to strip me.,Strip you?  Of course.|You should strip now!,430,0,0,
+420,0,1,,"Forget it, let's head|back.  (Back to college.)",,0,0,0,EndChapter()
+430,0,0,,(Sigh and strip.)|(1 minute),(You sigh and strip reluctantly.)|Fine!  Now I will...  You will...,440,-1,0,Strip()
+430,0,0,,(Strip playfully.)|(1 minute),(You dance a little and strip down.)|Good!  Now I will...  You will...,440,0,0,Strip()
+430,0,1,,"Forget it, let's head|back.  (Back to college.)",,0,0,0,EndChapter()
+440,0,0,,Pain is a good|way to punish.,Of course!  Now you will bend down.|(She spins her racket and looks at your butt.),450,0,0,
+440,0,0,,Be dominant damn|it!  Punish me!,That's enough!  You need to bend down.|(She spins her racket and looks at your butt.),450,-1,1,
+440,0,0,,I know you're strong.|How will you punish?,Yes!  I'm strong!  Now bend down.|(She spins her racket and looks at your butt.),450,1,0,
+440,0,1,,"Forget it, let's head|back.  (Back to college.)",,0,0,0,EndChapter()
+450,0,0,,(Bow your head|and bend down.),"Take a deep breath, it might be painful.|(She raises her racket, ready to hit you.)",460,0,-1,
+450,0,0,,You're doing better.|(Bend down.),"Take a deep breath, it might be painful.|(She raises her racket, ready to hit you.)",460,0,0,
+450,0,1,,"Forget it, let's head|back.  (Back to college.)",,0,0,0,EndChapter()
+460,0,0,,(Close your eyes.)|(1 minute),(You close your eyes while she hits|you pretty good with her racket.),460,0,0,RacketHit(2)
+460,0,0,,(Raise your butt.)|(1 minute),(You position yourself to be hit and she|lands a really good smash on your butt.),460,0,0,RacketHit(3)
+460,0,0,,(Try to dodge her.)|(1 minute),(You move at the last second but|she's still able to hit you clumsily.),460,0,0,RacketHit(1)
+460,0,0,HasRestrainsAvail,Wait!  Check in my|bag.  (1 minute),(She checks in your bag and|find some restrains for you.),460,0,0,CheckBag()
+460,0,1,,"Forget it, let's head|back.  (Back to college.)",,0,0,0,EndChapter()
+470,0,0,,"Yes, it was fair.",Alright!  Dress back up and let's go.|(You pick up your clothes and dress back.),480,0,0,DressBack()
+470,0,0,,You'll never be|a good Domme.,That sucks.  Dress back up and let's go.|(You pick up your clothes and dress back.),480,-1,0,DressBack()
+470,0,0,,You have lots|of potential.,Oh wow!  Dress back up and let's go.|(You pick up your clothes and dress back.),480,1,0,DressBack()
+470,0,0,,It was a fun|punishment.,Alright!  Dress back up and let's go.|(You pick up your clothes and dress back.),480,0,0,DressBack()
+480,0,0,,Let's go back.|(Back to college.),,0,0,0,EndChapter()
diff --git a/C007_LunchBreak/Jennifer/Text_EN.csv b/C007_LunchBreak/Jennifer/Text_EN.csv
new file mode 100644
index 0000000000..ef0c0207fb
--- /dev/null
+++ b/C007_LunchBreak/Jennifer/Text_EN.csv
@@ -0,0 +1,36 @@
+Tag,Content
+SkipIntro,Jennifer sees you but ignores|you and runs to the tennis court.
+JenniferObey,Alright.  It's been such a nice lunch|break that I can't refuse.  I will obey.
+PlayerObey,"Alright.  It's been such a nice lunch|break.  I will be the boss, follow me."
+Collar,(You need +20 submission or better|and a special ceremony to collar Jennifer.)
+Rope,"(Even if she disapproves, you use the|net and your rope to create a kinky web.)"
+Cuffs,(You lock the cuffs behind her back.|Attaching her to the tennis net.)
+BallGag,(She shakes her head no but you're|able to push the gag in and strap it.)
+TapeGag,(She tries to avoid your hands but|you're able to tape her mouth shut.)
+Uncuff,(You unlock her cuffs and she's|now free from the tennis net.)
+Crop,(She whimpers while you whip her|pretty hard.  She doesn't seem to enjoy.)
+VibratingEgg,(She struggles to keep the egg|away but you're able to push it in.)
+VibratingEggFail,(She shakes her head no and|pushes the vibrating egg away.)
+Spank,(She struggles in her restrains as|you spank her butt pretty hard.)
+MasturbateOrgasm,"(She struggles and suddenly loses|control of herself, getting a nice orgasm.)"
+MasturbateEgg,(You masturbate her lovingly while|she trembles and moans quietly.)
+MasturbateNoEgg,(You masturbate her lovingly but|she doesn't seem to be in the mood.)
+LeaveBoundAndGagged,(Do you really want to abandon her|bound and gagged?  Click again to do so.)
+Count1,One!
+Count2,Two!
+Count3,Three!
+Count4,Four!
+Count5,Five!
+Count6,Six!
+Count7,Seven!
+Count8,Eight!
+Count9,Nine!
+Count10,Ten!
+PushUpQuality0,That push-up was horrible!
+PushUpQuality1,You can do better than that!
+PushUpQuality2,Don't give up!  You can do it.
+PushUpQuality3,"You're doing great, keep it up!"
+PushUpSuccess,You did it!  That was great.|(You stand up and dust your skirt.)
+PushUpFail,You did it but that was pretty lame.|You deserve to be punished for that.
+StopRacket,That's enough.  Your butt is red enough.|So how are you?  Was your punishment fair?
+ReleaseRacket,(She swings on last time and releases you.)|So how are you?  Was your punishment fair?
diff --git a/C007_LunchBreak/JenniferTennis/Fight.csv b/C007_LunchBreak/JenniferTennis/Fight.csv
new file mode 100644
index 0000000000..4392e6ca07
--- /dev/null
+++ b/C007_LunchBreak/JenniferTennis/Fight.csv
@@ -0,0 +1,15 @@
+From,To,Image
+-1,-1,TennisIntro.jpg
+0,0,TennisLose.jpg
+1,9,Tennis1.jpg
+10,18,Tennis2.jpg
+19,27,Tennis3.jpg
+28,36,Tennis4.jpg
+37,45,Tennis5.jpg
+46,54,TennisEven.jpg
+55,63,Tennis6.jpg
+64,72,Tennis7.jpg
+73,81,Tennis8.jpg
+82,90,Tennis9.jpg
+91,99,Tennis10.jpg
+100,100,TennisWin.jpg
diff --git a/C007_LunchBreak/JenniferTennis/HitIcon0.png b/C007_LunchBreak/JenniferTennis/HitIcon0.png
new file mode 100644
index 0000000000..b25a209b72
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/HitIcon0.png differ
diff --git a/C007_LunchBreak/JenniferTennis/HitIcon1.png b/C007_LunchBreak/JenniferTennis/HitIcon1.png
new file mode 100644
index 0000000000..b25a209b72
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/HitIcon1.png differ
diff --git a/C007_LunchBreak/JenniferTennis/HitIcon2.png b/C007_LunchBreak/JenniferTennis/HitIcon2.png
new file mode 100644
index 0000000000..b25a209b72
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/HitIcon2.png differ
diff --git a/C007_LunchBreak/JenniferTennis/HitIcon3.png b/C007_LunchBreak/JenniferTennis/HitIcon3.png
new file mode 100644
index 0000000000..b25a209b72
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/HitIcon3.png differ
diff --git a/C007_LunchBreak/JenniferTennis/Script.js b/C007_LunchBreak/JenniferTennis/Script.js
new file mode 100644
index 0000000000..4e04536597
--- /dev/null
+++ b/C007_LunchBreak/JenniferTennis/Script.js
@@ -0,0 +1,27 @@
+// Chapter 7 - Jennifer Tennis Fight Load
+function C007_LunchBreak_JenniferTennis_Load() {
+	LoadFight("Jennifer", C007_LunchBreak_Jennifer_TennisDifficulty, 0);
+}
+
+// Chapter 7 - Jennifer Tennis Fight Run
+function C007_LunchBreak_JenniferTennis_Run() {
+	RenderFight();
+}
+
+// Chapter 7 - Jennifer Tennis Fight Click
+function C007_LunchBreak_JenniferTennis_Click() {
+	FightClick();
+}
+
+// Chapter 7 - Jennifer Tennis Fight Key Down
+function C007_LunchBreak_JenniferTennis_KeyDown() {
+	FightKeyDown();
+}
+
+// Chapter 7 - Jennifer Tennis Fight End
+function C007_LunchBreak_JenniferTennis_FightEnd(Victory) {
+	CurrentTime = CurrentTime + 300000;
+	C007_LunchBreak_Jennifer_TennisVictory = Victory;
+	if (Victory && (C007_LunchBreak_Jennifer_TennisDifficulty == "Normal")) C007_LunchBreak_Jennifer_MatchCount++;
+	if (Victory && (C007_LunchBreak_Jennifer_TennisDifficulty == "Hard")) C007_LunchBreak_Jennifer_MatchCount = C007_LunchBreak_Jennifer_MatchCount + 2;
+}
\ No newline at end of file
diff --git a/C007_LunchBreak/JenniferTennis/Tennis1.jpg b/C007_LunchBreak/JenniferTennis/Tennis1.jpg
new file mode 100644
index 0000000000..6bd4e138f1
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis1.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Tennis10.jpg b/C007_LunchBreak/JenniferTennis/Tennis10.jpg
new file mode 100644
index 0000000000..0a4fa8bc6b
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis10.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Tennis2.jpg b/C007_LunchBreak/JenniferTennis/Tennis2.jpg
new file mode 100644
index 0000000000..ab20c2344e
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis2.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Tennis3.jpg b/C007_LunchBreak/JenniferTennis/Tennis3.jpg
new file mode 100644
index 0000000000..aea5121604
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis3.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Tennis4.jpg b/C007_LunchBreak/JenniferTennis/Tennis4.jpg
new file mode 100644
index 0000000000..dc94b05b80
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis4.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Tennis5.jpg b/C007_LunchBreak/JenniferTennis/Tennis5.jpg
new file mode 100644
index 0000000000..33b3132899
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis5.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Tennis6.jpg b/C007_LunchBreak/JenniferTennis/Tennis6.jpg
new file mode 100644
index 0000000000..63d09cd353
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis6.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Tennis7.jpg b/C007_LunchBreak/JenniferTennis/Tennis7.jpg
new file mode 100644
index 0000000000..9f5e87fa9c
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis7.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Tennis8.jpg b/C007_LunchBreak/JenniferTennis/Tennis8.jpg
new file mode 100644
index 0000000000..00c3f194e0
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis8.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Tennis9.jpg b/C007_LunchBreak/JenniferTennis/Tennis9.jpg
new file mode 100644
index 0000000000..9cf916f5aa
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/Tennis9.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/TennisEven.jpg b/C007_LunchBreak/JenniferTennis/TennisEven.jpg
new file mode 100644
index 0000000000..46df65d3a5
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/TennisEven.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/TennisIntro.jpg b/C007_LunchBreak/JenniferTennis/TennisIntro.jpg
new file mode 100644
index 0000000000..7aef275eaf
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/TennisIntro.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/TennisLose.jpg b/C007_LunchBreak/JenniferTennis/TennisLose.jpg
new file mode 100644
index 0000000000..c2c5174982
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/TennisLose.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/TennisWin.jpg b/C007_LunchBreak/JenniferTennis/TennisWin.jpg
new file mode 100644
index 0000000000..7076d4f3f3
Binary files /dev/null and b/C007_LunchBreak/JenniferTennis/TennisWin.jpg differ
diff --git a/C007_LunchBreak/JenniferTennis/Text_EN.csv b/C007_LunchBreak/JenniferTennis/Text_EN.csv
new file mode 100644
index 0000000000..95af81ca5a
--- /dev/null
+++ b/C007_LunchBreak/JenniferTennis/Text_EN.csv
@@ -0,0 +1,10 @@
+Tag,Content
+Easy,Easy
+Normal,Normal
+Hard,Hard
+StartsIn,Starts in
+Difficulty,Difficulty:
+Perfect,Perfect match!
+Victory,You won!
+Defeat,You lost!
+ClickContinue,Click on the image to continue.
diff --git a/C007_LunchBreak/Natalie/Intro_EN.csv b/C007_LunchBreak/Natalie/Intro_EN.csv
new file mode 100644
index 0000000000..b08c5bbdf4
--- /dev/null
+++ b/C007_LunchBreak/Natalie/Intro_EN.csv
@@ -0,0 +1,73 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,"Hello, you must be new here?|I haven't seen you before.",NatalieIntro.JPG
+10,0,0,,"I'm Natalie, are you looking for something?",NatalieIntro.JPG
+20,0,0,,How about joining a club for lunch break?,NatalieIntro.JPG
+30,0,0,,Would you like to come|to the Kinbaku club?,NatalieIntro.JPG
+40,0,0,,You can try the cafeteria down the hall|or find a cafe.,NatalieIntro.JPG
+50,0,0,,,NatalieIntroGone.jpg
+100,0,0,,,NatalieClubIntro.jpg
+110,0,0,,,NatalieClubroom.jpg
+120,0,0,,,NatalieHoldingRope.jpg
+130,0,0,,,NataliePlayerIsSubLunch.jpg
+140,0,0,,,NataliePlayerIsDomLunch.jpg
+150,0,0,,,NataliePlayerIsSubLunchTied.jpg
+160,0,0,,,NataliePlayerIsDomLunchTied.jpg
+170,0,0,,,NatalieJennaLunch.jpg
+180,0,0,,,NatalieJennaLunch.jpg
+200,0,0,,,NataliePlayerSubLunch0.jpg
+210,0,0,,,NataliePlayerSubLunch0.jpg
+220,0,0,,,NataliePlayerSubLunch0.jpg
+230,0,0,,,NataliePlayerSubLunch0.jpg
+240,0,0,,,NataliePlayerSub.jpg
+250,0,0,,,NataliePlayerDomLunch0.jpg
+260,0,0,,,NataliePlayerDomLunch0.jpg
+270,0,0,,,NataliePlayerDomLunch0.jpg
+280,0,0,,,NataliePlayerDomLunch0.jpg
+290,0,0,,,NataliePlayerDomLunch0.jpg
+300,0,0,,,NataliePlayerDom.jpg
+310,0,0,,,NataliePlayerBadAdvance.jpg
+320,0,0,,,NataliePlayerBadTied1.jpg
+330,0,0,,,NataliePlayerBadTied2.jpg
+340,0,0,,,NataliePlayerBadNosePinch.jpg
+350,0,0,,,NataliePlayerBadGag.jpg
+360,0,0,,,NataliePlayerBad.jpg
+365,0,0,,,NataliePlayerBadWait.jpg
+370,0,0,,,NataliePlayerBadUngagged.jpg
+380,0,0,,,NataliePlayerBadLeaving.jpg
+400,0,0,,,NataliePlayerDom.jpg
+405,0,0,,,NataliePlayerDom.jpg
+410,0,0,,,NataliePlayerDom.jpg
+420,0,0,,,NataliePlayerDomNoUniform.jpg
+430,0,0,,,NataliePlayerDomNoUniform.jpg
+450,0,0,,,NataliePlayerDomNoUniform.jpg
+460,0,0,,,NataliePlayerDomNoUniform.jpg
+470,0,0,,,NataliePlayerEvilLeaving.jpg
+480,0,0,,,NataliePlayerDomTooEarly.jpg
+490,0,0,,,NataliePlayerDomTalking.jpg
+500,0,0,,,NataliePlayerSub.jpg
+505,0,0,,,NataliePlayerSubTalking.jpg
+510,0,0,,,NataliePlayerSubTalking.jpg
+520,0,0,,,NataliePlayerSubTalking.jpg
+530,0,0,,,NataliePlayerSubUndress.jpg
+540,0,0,,,NataliePlayerSubUnderwearTied.jpg
+550,0,0,,,NataliePlayerIsBlindfolded.jpg
+560,0,0,,,NataliePlayerIsBlindfolded.jpg
+570,0,0,,,NataliePlayerIsBlindfolded.jpg
+580,0,0,,,NataliePlayerIsBlindfolded.jpg
+590,0,0,,,NataliePlayerSubAsking.jpg
+600,0,0,,,NatalieJennaUntie.jpg
+610,0,0,,,NataliePlayerJenna.jpg
+620,0,0,,,NataliePlayerHugStart.jpg
+630,0,0,,,NataliePlayerHugCuffs.jpg
+640,0,0,,,NataliePlayerHugCuffsGag.jpg
+650,0,0,,,NataliePlayerHugGaggedTogether.jpg
+660,0,0,,,NataliePlayerHug.jpg
+661,,,,,NataliePlayerHugIntensify
+661,,,,,NataliePlayerHugIntensifyDrop
+661,,,,,NataliePlayerHugIntensifyKnee
+661,,,,,NataliePlayerHugIntensifyDropKnee
+670,0,0,,,NataliePlayerHugHeldUp.jpg
+680,0,0,,,NataliePlayerHugRelease.jpg
+685,0,0,,,NataliePlayerHugTalk.jpg
+690,0,0,,,NataliePlayerHugTimesUp.jpg
+700,0,0,,,NataliePlayerGoodLeaving.jpg
diff --git a/C007_LunchBreak/Natalie/NatalieClubIntro.jpg b/C007_LunchBreak/Natalie/NatalieClubIntro.jpg
new file mode 100644
index 0000000000..11dc924511
Binary files /dev/null and b/C007_LunchBreak/Natalie/NatalieClubIntro.jpg differ
diff --git a/C007_LunchBreak/Natalie/NatalieClubroom.jpg b/C007_LunchBreak/Natalie/NatalieClubroom.jpg
new file mode 100644
index 0000000000..5c75476d37
Binary files /dev/null and b/C007_LunchBreak/Natalie/NatalieClubroom.jpg differ
diff --git a/C007_LunchBreak/Natalie/NatalieHoldingRope.jpg b/C007_LunchBreak/Natalie/NatalieHoldingRope.jpg
new file mode 100644
index 0000000000..e9dedebe4b
Binary files /dev/null and b/C007_LunchBreak/Natalie/NatalieHoldingRope.jpg differ
diff --git a/C007_LunchBreak/Natalie/NatalieIntro.JPG b/C007_LunchBreak/Natalie/NatalieIntro.JPG
new file mode 100644
index 0000000000..e09690a554
Binary files /dev/null and b/C007_LunchBreak/Natalie/NatalieIntro.JPG differ
diff --git a/C007_LunchBreak/Natalie/NatalieIntroGone.jpg b/C007_LunchBreak/Natalie/NatalieIntroGone.jpg
new file mode 100644
index 0000000000..f7a15f4f97
Binary files /dev/null and b/C007_LunchBreak/Natalie/NatalieIntroGone.jpg differ
diff --git a/C007_LunchBreak/Natalie/NatalieJennaLunch.jpg b/C007_LunchBreak/Natalie/NatalieJennaLunch.jpg
new file mode 100644
index 0000000000..7bb26aec73
Binary files /dev/null and b/C007_LunchBreak/Natalie/NatalieJennaLunch.jpg differ
diff --git a/C007_LunchBreak/Natalie/NatalieJennaUntie.jpg b/C007_LunchBreak/Natalie/NatalieJennaUntie.jpg
new file mode 100644
index 0000000000..89125462d0
Binary files /dev/null and b/C007_LunchBreak/Natalie/NatalieJennaUntie.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBad.jpg b/C007_LunchBreak/Natalie/NataliePlayerBad.jpg
new file mode 100644
index 0000000000..a55f911f59
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBad.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadAdvance.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadAdvance.jpg
new file mode 100644
index 0000000000..cf52f40f09
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadAdvance.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadChloeSuspended0.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadChloeSuspended0.jpg
new file mode 100644
index 0000000000..e109a9c684
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadChloeSuspended0.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadChloeSuspended1.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadChloeSuspended1.jpg
new file mode 100644
index 0000000000..a875c0ac9f
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadChloeSuspended1.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadChloeSuspended2.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadChloeSuspended2.jpg
new file mode 100644
index 0000000000..34684445fb
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadChloeSuspended2.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadGag.jpg
new file mode 100644
index 0000000000..95f12ff40b
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadLeaving.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadLeaving.jpg
new file mode 100644
index 0000000000..6c866f6bd2
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadLeaving.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadNoEscape.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadNoEscape.jpg
new file mode 100644
index 0000000000..55684bc5f3
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadNoEscape.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadNoHelp.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadNoHelp.jpg
new file mode 100644
index 0000000000..2756401d90
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadNoHelp.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadNosePinch.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadNosePinch.jpg
new file mode 100644
index 0000000000..d0239b4519
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadNosePinch.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadStruggling.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadStruggling.jpg
new file mode 100644
index 0000000000..b23baff237
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadStruggling.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadTied1.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadTied1.jpg
new file mode 100644
index 0000000000..c1a304951c
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadTied1.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadTied2.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadTied2.jpg
new file mode 100644
index 0000000000..34b60204a6
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadTied2.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadUngagged.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadUngagged.jpg
new file mode 100644
index 0000000000..9db4a2a4ce
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadUngagged.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerBadWait.jpg b/C007_LunchBreak/Natalie/NataliePlayerBadWait.jpg
new file mode 100644
index 0000000000..40cb7a7d8c
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerBadWait.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDom.jpg b/C007_LunchBreak/Natalie/NataliePlayerDom.jpg
new file mode 100644
index 0000000000..b19797bedb
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDom.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomLunch0.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomLunch0.jpg
new file mode 100644
index 0000000000..8d40bbd86d
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomLunch0.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomLunch1.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomLunch1.jpg
new file mode 100644
index 0000000000..69beff391f
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomLunch1.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomLunch2.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomLunch2.jpg
new file mode 100644
index 0000000000..5ccba5852b
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomLunch2.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNaked.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNaked.jpg
new file mode 100644
index 0000000000..ecfd8af756
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNaked.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedBallGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedBallGag.jpg
new file mode 100644
index 0000000000..fdc2f95067
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedBallGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedBallGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedBallGagBlindfold.jpg
new file mode 100644
index 0000000000..9886438c7d
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedBallGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedBlindfold.jpg
new file mode 100644
index 0000000000..b78a022d0c
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedClothGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedClothGag.jpg
new file mode 100644
index 0000000000..82fc7bd3ea
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedClothGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedClothGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedClothGagBlindfold.jpg
new file mode 100644
index 0000000000..27c7390a7b
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedClothGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedDesk.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDesk.jpg
new file mode 100644
index 0000000000..8a639dbb9f
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDesk.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskBallGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskBallGag.jpg
new file mode 100644
index 0000000000..5e39a373d6
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskBallGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskBallGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskBallGagBlindfold.jpg
new file mode 100644
index 0000000000..1881214131
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskBallGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskBlindfold.jpg
new file mode 100644
index 0000000000..0307097860
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskClothGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskClothGag.jpg
new file mode 100644
index 0000000000..0c44addef3
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskClothGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskClothGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskClothGagBlindfold.jpg
new file mode 100644
index 0000000000..c36932b528
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskClothGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskTapeGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskTapeGag.jpg
new file mode 100644
index 0000000000..006209f3dd
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskTapeGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskTapeGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskTapeGagBlindfold.jpg
new file mode 100644
index 0000000000..8159efdfa3
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedDeskTapeGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedRope.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRope.jpg
new file mode 100644
index 0000000000..30797fe57f
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRope.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeBallGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeBallGag.jpg
new file mode 100644
index 0000000000..d38755d813
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeBallGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeBallGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeBallGagBlindfold.jpg
new file mode 100644
index 0000000000..30455013fc
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeBallGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeBlindfold.jpg
new file mode 100644
index 0000000000..e3f5b5ec26
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeClothGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeClothGag.jpg
new file mode 100644
index 0000000000..f4f5680995
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeClothGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeClothGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeClothGagBlindfold.jpg
new file mode 100644
index 0000000000..f482787bf8
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeClothGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeTapeGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeTapeGag.jpg
new file mode 100644
index 0000000000..f74eea07ee
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeTapeGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeTapeGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeTapeGagBlindfold.jpg
new file mode 100644
index 0000000000..b97edb3c1c
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedRopeTapeGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedTapeGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedTapeGag.jpg
new file mode 100644
index 0000000000..54fa28a60e
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedTapeGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNakedTapeGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNakedTapeGagBlindfold.jpg
new file mode 100644
index 0000000000..8623db3551
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNakedTapeGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomNoUniform.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomNoUniform.jpg
new file mode 100644
index 0000000000..3eddfe9830
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomNoUniform.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomTalking.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomTalking.jpg
new file mode 100644
index 0000000000..47f79d1d30
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomTalking.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomTooEarly.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomTooEarly.jpg
new file mode 100644
index 0000000000..f4e389ceb4
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomTooEarly.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwear.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwear.jpg
new file mode 100644
index 0000000000..9aaaede047
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwear.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearBallGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearBallGag.jpg
new file mode 100644
index 0000000000..72653a4842
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearBallGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearBallGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearBallGagBlindfold.jpg
new file mode 100644
index 0000000000..358e7371f1
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearBallGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearBlindfold.jpg
new file mode 100644
index 0000000000..beb0f22fea
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearClothGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearClothGag.jpg
new file mode 100644
index 0000000000..4a07369168
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearClothGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearClothGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearClothGagBlindfold.jpg
new file mode 100644
index 0000000000..b424c19174
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearClothGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDesk.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDesk.jpg
new file mode 100644
index 0000000000..bd7b814909
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDesk.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskBallGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskBallGag.jpg
new file mode 100644
index 0000000000..d86d281177
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskBallGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskBallGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskBallGagBlindfold.jpg
new file mode 100644
index 0000000000..af026c993b
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskBallGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskBlindfold.jpg
new file mode 100644
index 0000000000..ce8f70d041
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskClothGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskClothGag.jpg
new file mode 100644
index 0000000000..1abdc8b1f1
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskClothGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskClothGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskClothGagBlindfold.jpg
new file mode 100644
index 0000000000..d83ab72440
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskClothGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskTapeGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskTapeGag.jpg
new file mode 100644
index 0000000000..cc0ecc2391
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskTapeGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskTapeGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskTapeGagBlindfold.jpg
new file mode 100644
index 0000000000..21ee140120
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearDeskTapeGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRope.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRope.jpg
new file mode 100644
index 0000000000..7c1af5223f
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRope.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeBallGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeBallGag.jpg
new file mode 100644
index 0000000000..589acae007
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeBallGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeBallGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeBallGagBlindfold.jpg
new file mode 100644
index 0000000000..abb124862b
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeBallGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeBlindfold.jpg
new file mode 100644
index 0000000000..9ad99cfb52
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeClothGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeClothGag.jpg
new file mode 100644
index 0000000000..1e6b01bdc0
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeClothGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeClothGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeClothGagBlindfold.jpg
new file mode 100644
index 0000000000..9bf61ea276
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeClothGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeTapeGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeTapeGag.jpg
new file mode 100644
index 0000000000..868ad82963
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeTapeGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeTapeGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeTapeGagBlindfold.jpg
new file mode 100644
index 0000000000..5a9c517a11
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearRopeTapeGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearTapeGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearTapeGag.jpg
new file mode 100644
index 0000000000..eff6ed7230
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearTapeGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearTapeGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearTapeGagBlindfold.jpg
new file mode 100644
index 0000000000..9bcd4adf53
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUnderwearTapeGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniform.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniform.jpg
new file mode 100644
index 0000000000..6963640763
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniform.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformBallGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformBallGag.jpg
new file mode 100644
index 0000000000..4f2049d16b
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformBallGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformBallGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformBallGagBlindfold.jpg
new file mode 100644
index 0000000000..8851e43dc4
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformBallGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformBlindfold.jpg
new file mode 100644
index 0000000000..8c79fb5ca5
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformClothGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformClothGag.jpg
new file mode 100644
index 0000000000..0dbc136751
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformClothGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformClothGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformClothGagBlindfold.jpg
new file mode 100644
index 0000000000..99554e7664
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformClothGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformDesk.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDesk.jpg
new file mode 100644
index 0000000000..15e52c747f
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDesk.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskBallGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskBallGag.jpg
new file mode 100644
index 0000000000..e346746f9d
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskBallGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskBallGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskBallGagBlindfold.jpg
new file mode 100644
index 0000000000..e6dfb665fe
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskBallGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskBlindfold.jpg
new file mode 100644
index 0000000000..1c1ae25074
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskClothGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskClothGag.jpg
new file mode 100644
index 0000000000..897016d4aa
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskClothGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskClothGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskClothGagBlindfold.jpg
new file mode 100644
index 0000000000..3217e6ea2b
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskClothGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskTapeGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskTapeGag.jpg
new file mode 100644
index 0000000000..53978ab6fd
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskTapeGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskTapeGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskTapeGagBlindfold.jpg
new file mode 100644
index 0000000000..4aab70cc9b
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformDeskTapeGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformRope.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRope.jpg
new file mode 100644
index 0000000000..2c8a52c031
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRope.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeBallGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeBallGag.jpg
new file mode 100644
index 0000000000..788349e3a4
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeBallGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeBallGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeBallGagBlindfold.jpg
new file mode 100644
index 0000000000..01b36cf815
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeBallGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeBlindfold.jpg
new file mode 100644
index 0000000000..d57e6405ca
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeClothGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeClothGag.jpg
new file mode 100644
index 0000000000..c0ae75a71f
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeClothGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeClothGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeClothGagBlindfold.jpg
new file mode 100644
index 0000000000..55015d4639
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeClothGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeTapeGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeTapeGag.jpg
new file mode 100644
index 0000000000..010f2e86ad
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeTapeGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeTapeGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeTapeGagBlindfold.jpg
new file mode 100644
index 0000000000..0b2f5dbb07
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformRopeTapeGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformTapeGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformTapeGag.jpg
new file mode 100644
index 0000000000..cffa2b3601
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformTapeGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerDomUniformTapeGagBlindfold.jpg b/C007_LunchBreak/Natalie/NataliePlayerDomUniformTapeGagBlindfold.jpg
new file mode 100644
index 0000000000..f589e4b274
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerDomUniformTapeGagBlindfold.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerEvilLeaving.jpg b/C007_LunchBreak/Natalie/NataliePlayerEvilLeaving.jpg
new file mode 100644
index 0000000000..976f674078
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerEvilLeaving.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerGoodLeaving.jpg b/C007_LunchBreak/Natalie/NataliePlayerGoodLeaving.jpg
new file mode 100644
index 0000000000..0958a967bc
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerGoodLeaving.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHug.jpg b/C007_LunchBreak/Natalie/NataliePlayerHug.jpg
new file mode 100644
index 0000000000..634f9e6f35
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHug.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugCuffs.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugCuffs.jpg
new file mode 100644
index 0000000000..9851989544
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugCuffs.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugCuffsGag.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugCuffsGag.jpg
new file mode 100644
index 0000000000..dc8f10d0c9
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugCuffsGag.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugDrop.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugDrop.jpg
new file mode 100644
index 0000000000..51b8d728b6
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugDrop.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugGaggedTogether.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugGaggedTogether.jpg
new file mode 100644
index 0000000000..f77fb33bec
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugGaggedTogether.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugHeldUp.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugHeldUp.jpg
new file mode 100644
index 0000000000..c455274140
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugHeldUp.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugIntensify.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugIntensify.jpg
new file mode 100644
index 0000000000..1c68c07267
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugIntensify.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugIntensifyDrop.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugIntensifyDrop.jpg
new file mode 100644
index 0000000000..51b8d728b6
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugIntensifyDrop.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugIntensifyDropKnee.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugIntensifyDropKnee.jpg
new file mode 100644
index 0000000000..68c0a2d73e
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugIntensifyDropKnee.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugIntensifyKnee.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugIntensifyKnee.jpg
new file mode 100644
index 0000000000..d17d838cf1
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugIntensifyKnee.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugRelease.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugRelease.jpg
new file mode 100644
index 0000000000..b4f8d03beb
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugRelease.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugStart.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugStart.jpg
new file mode 100644
index 0000000000..61558bd18a
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugStart.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugTalk.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugTalk.jpg
new file mode 100644
index 0000000000..b2a69a6ecb
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugTalk.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerHugTimesUp.jpg b/C007_LunchBreak/Natalie/NataliePlayerHugTimesUp.jpg
new file mode 100644
index 0000000000..d8b34bae06
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerHugTimesUp.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerIsBlindfolded.jpg b/C007_LunchBreak/Natalie/NataliePlayerIsBlindfolded.jpg
new file mode 100644
index 0000000000..0681b5faa0
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerIsBlindfolded.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerIsDomLunch.jpg b/C007_LunchBreak/Natalie/NataliePlayerIsDomLunch.jpg
new file mode 100644
index 0000000000..a2f260029e
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerIsDomLunch.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerIsDomLunchTied.jpg b/C007_LunchBreak/Natalie/NataliePlayerIsDomLunchTied.jpg
new file mode 100644
index 0000000000..53c246a30a
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerIsDomLunchTied.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerIsSubLunch.jpg b/C007_LunchBreak/Natalie/NataliePlayerIsSubLunch.jpg
new file mode 100644
index 0000000000..ea9f0ba63f
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerIsSubLunch.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerIsSubLunchTied.jpg b/C007_LunchBreak/Natalie/NataliePlayerIsSubLunchTied.jpg
new file mode 100644
index 0000000000..4ac6b81f5f
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerIsSubLunchTied.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerJenna.jpg b/C007_LunchBreak/Natalie/NataliePlayerJenna.jpg
new file mode 100644
index 0000000000..978fa1cccb
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerJenna.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerSub.jpg b/C007_LunchBreak/Natalie/NataliePlayerSub.jpg
new file mode 100644
index 0000000000..c9a9220ee0
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerSub.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerSubAsking.jpg b/C007_LunchBreak/Natalie/NataliePlayerSubAsking.jpg
new file mode 100644
index 0000000000..370da179b7
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerSubAsking.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerSubLunch0.jpg b/C007_LunchBreak/Natalie/NataliePlayerSubLunch0.jpg
new file mode 100644
index 0000000000..10e28d26f3
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerSubLunch0.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerSubLunch1.jpg b/C007_LunchBreak/Natalie/NataliePlayerSubLunch1.jpg
new file mode 100644
index 0000000000..8ef4892636
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerSubLunch1.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerSubLunch2.jpg b/C007_LunchBreak/Natalie/NataliePlayerSubLunch2.jpg
new file mode 100644
index 0000000000..051b9e37bd
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerSubLunch2.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerSubTalking.jpg b/C007_LunchBreak/Natalie/NataliePlayerSubTalking.jpg
new file mode 100644
index 0000000000..13c1c7399c
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerSubTalking.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerSubUnderwearTied.jpg b/C007_LunchBreak/Natalie/NataliePlayerSubUnderwearTied.jpg
new file mode 100644
index 0000000000..69dab29ce5
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerSubUnderwearTied.jpg differ
diff --git a/C007_LunchBreak/Natalie/NataliePlayerSubUndress.jpg b/C007_LunchBreak/Natalie/NataliePlayerSubUndress.jpg
new file mode 100644
index 0000000000..95cd1c1780
Binary files /dev/null and b/C007_LunchBreak/Natalie/NataliePlayerSubUndress.jpg differ
diff --git a/C007_LunchBreak/Natalie/Script.js b/C007_LunchBreak/Natalie/Script.js
new file mode 100644
index 0000000000..3df89f5dfc
--- /dev/null
+++ b/C007_LunchBreak/Natalie/Script.js
@@ -0,0 +1,752 @@
+var C007_LunchBreak_Natalie_CurrentStage = 0;
+var C007_LunchBreak_Natalie_MatchCount = 0; // At 2 or more, there's a good match
+var C007_LunchBreak_Natalie_TickleDone = false;
+var C007_LunchBreak_Natalie_KissDone = false;
+var C007_LunchBreak_Natalie_MasturbateCount = 0;
+var C007_LunchBreak_Natalie_OrgasmDone = 0;
+var C007_LunchBreak_Natalie_CropDone = false;
+var C007_LunchBreak_Natalie_SpankDone = false;
+var C007_LunchBreak_Natalie_IsRoped = false;
+var C007_LunchBreak_Natalie_IsGagged = false;
+var C007_LunchBreak_Natalie_IsBlindfolded = false;
+var C007_LunchBreak_Natalie_Clothes = 0;
+var C007_LunchBreak_Natalie_IntroText = "";
+var C007_LunchBreak_Natalie_LeaveIcon = "";
+var C007_LunchBreak_Natalie_LoveCount = 0;
+var C007_LunchBreak_Natalie_IsBoundAndGagged = false;
+var C007_LunchBreak_Natalie_Others = 0;
+var C007_LunchBreak_Natalie_VibratorPlayer = 0; // the intensity of your vibrator
+var C007_LunchBreak_Natalie_Remote = true; // you still have your remote
+var C007_LunchBreak_Natalie_NoRemote = false; // true if you drop your remote
+var C007_LunchBreak_Natalie_Knee = false; // when Natalie is using here knee while hugging
+var C007_LunchBreak_Natalie_Intensify = false; // once Natalie has started upping the vibe setting
+var C007_LunchBreak_Natalie_VibratorNatalie = 0; // the intensity of Natalies vibrator
+var C007_LunchBreak_Natalie_BadStage = 0; // for choice images when tied as a bad match
+var C007_LunchBreak_Natalie_TwoRopes = false;
+
+
+
+// Calculates the screen parameters
+function C007_LunchBreak_Natalie_CalcParams() {
+
+	// No special images by default
+	OverridenIntroImage = "";
+        
+    // Between 200 and 240, the image evolves with the number of matches
+    if ((C007_LunchBreak_Natalie_CurrentStage >= 200) && (C007_LunchBreak_Natalie_CurrentStage <= 240)) {
+        var Img = "0";
+        if (C007_LunchBreak_Natalie_MatchCount == 1) Img = "1";
+        if (C007_LunchBreak_Natalie_MatchCount >= 2) Img = "2";
+        OverridenIntroImage = "NataliePlayerSubLunch" + Img + ".jpg";
+    }
+
+    // Between 250 and 290, the image evolves with the number of matches
+    if ((C007_LunchBreak_Natalie_CurrentStage >= 250) && (C007_LunchBreak_Natalie_CurrentStage <= 290)) {
+        var Img = "0";
+        if (C007_LunchBreak_Natalie_MatchCount == 1) Img = "1";
+        if (C007_LunchBreak_Natalie_MatchCount >= 2) Img = "2";
+        OverridenIntroImage = "NataliePlayerDomLunch" + Img + ".jpg";
+    }
+
+    // At 360. The image changes with player action.
+    if (C007_LunchBreak_Natalie_CurrentStage == 360) {
+        if (C007_LunchBreak_Natalie_BadStage == 1) OverridenIntroImage = "NataliePlayerBadNoEscape.jpg";
+        if (C007_LunchBreak_Natalie_BadStage == 2) OverridenIntroImage = "NataliePlayerBadNoHelp.jpg";
+        if (C007_LunchBreak_Natalie_BadStage == 3) OverridenIntroImage = "NataliePlayerBadChloeSuspended0.jpg";
+        if (C007_LunchBreak_Natalie_BadStage == 4) OverridenIntroImage = "NataliePlayerBadChloeSuspended1.jpg";
+        if (C007_LunchBreak_Natalie_BadStage == 5) OverridenIntroImage = "NataliePlayerBadChloeSuspended2.jpg";
+        if (C007_LunchBreak_Natalie_BadStage == 6) OverridenIntroImage = "NataliePlayerBadStruggling.jpg";
+        if (C007_LunchBreak_Natalie_BadStage == 7) OverridenIntroImage = "NataliePlayerBad.jpg";
+    }
+
+    // At 400, the player can dominate Natalie with many restraints, the image changes accordingly
+    if ((C007_LunchBreak_Natalie_CurrentStage >= 430) && (C007_LunchBreak_Natalie_CurrentStage <= 460)) {
+        var Img = "";
+        if (C007_LunchBreak_Natalie_Clothes == 0) Img = Img + "Uniform";
+        if (C007_LunchBreak_Natalie_Clothes == 1) Img = Img + "Underwear";
+        if (C007_LunchBreak_Natalie_Clothes == 2) Img = Img + "Naked";
+        if (ActorHasInventory("Rope") && !C007_LunchBreak_Natalie_TwoRopes) Img = Img + "Rope";
+		if (ActorHasInventory("Rope") && C007_LunchBreak_Natalie_TwoRopes) Img = Img + "Desk";
+		if (ActorHasInventory("BallGag")) Img = Img + "BallGag";
+        if (ActorHasInventory("ClothGag")) Img = Img + "ClothGag";
+        if (ActorHasInventory("TapeGag")) Img = Img + "TapeGag";
+        if (ActorHasInventory("Blindfold")) Img = Img + "Blindfold";
+		OverridenIntroImage = "NataliePlayerDom" + Img + ".jpg";
+    }
+
+    // At 660, the image changes with intensity, knee and remote drop
+    if (C007_LunchBreak_Natalie_CurrentStage == 660) {
+        var Img = "";
+        if (C007_LunchBreak_Natalie_Intensify) Img = Img + "Intensify";
+        if (C007_LunchBreak_Natalie_NoRemote) Img = Img + "Drop";
+        if (C007_LunchBreak_Natalie_Knee) Img = Img + "Knee";
+        OverridenIntroImage = "NataliePlayerHug" + Img + ".jpg";
+    }
+
+    // Keep the status of Natalie
+    if ((C007_LunchBreak_Natalie_TwoRopes) && (C007_LunchBreak_Natalie_IsGagged)) C007_LunchBreak_Natalie_IsBoundAndGagged = true;
+}
+
+
+
+// Chapter 7 - Natalie Load
+function C007_LunchBreak_Natalie_Load() {
+
+    // Load the scene parameters
+    ActorLoad("Natalie", "ActorSelect");
+    LoadInteractions();
+    C007_LunchBreak_Natalie_CalcParams();
+
+    // If Natalie doesn't like the player and isn't subbie enough, she leaves and don't talk
+    if ((ActorGetValue(ActorLove) <= -3) && (ActorGetValue(ActorSubmission) <= 2) && (C007_LunchBreak_Natalie_CurrentStage == 0)) {
+        C007_LunchBreak_Natalie_CurrentStage = 5;
+        C007_LunchBreak_ActorSelect_NatalieAvail = false;
+    }
+
+    // If we must put the previous text back
+    if ((C007_LunchBreak_Natalie_IntroText != "") && (C007_LunchBreak_Natalie_CurrentStage > 0)) {
+        OverridenIntroText = C007_LunchBreak_Natalie_IntroText;
+        LeaveIcon = C007_LunchBreak_Natalie_LeaveIcon;
+    }
+
+}
+
+
+
+// Chapter 7 - Natalie Run
+function C007_LunchBreak_Natalie_Run() {
+    BuildInteraction(C007_LunchBreak_Natalie_CurrentStage);
+}
+
+
+
+// Chapter 7 - Natalie Click
+function C007_LunchBreak_Natalie_Click() {
+
+    // Regular and inventory interactions
+    ClickInteraction(C007_LunchBreak_Natalie_CurrentStage);
+    var ClickInv = GetClickedInventory();
+    if (ClickInv == "Player") {
+        C007_LunchBreak_Natalie_IntroText = OverridenIntroText;
+        C007_LunchBreak_Natalie_LeaveIcon = LeaveIcon;
+        InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
+    }
+
+    // When the user wants to use a second rope
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "Rope") && ActorHasInventory("Rope") && !C007_LunchBreak_Natalie_TwoRopes) {
+        OverridenIntroText = GetText("SecondRope");
+        PlayerRemoveInventory("Rope", 1);
+        CurrentTime = CurrentTime + 120000;
+        C007_LunchBreak_Natalie_TwoRopes = true;
+        C007_LunchBreak_Natalie_TimeLimit()
+    }
+
+    // When the user wants to use the rope
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "Rope") && !ActorHasInventory("Rope")) {
+        OverridenIntroText = GetText("FirstRope");
+        ActorAddInventory("Rope");
+        PlayerRemoveInventory("Rope", 1);
+        CurrentTime = CurrentTime + 120000;
+        C007_LunchBreak_Natalie_IsRoped = true;
+        C007_LunchBreak_Natalie_TimeLimit()
+    }
+
+    // When the user wants to use the cuffs
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "Cuffs")) {
+        OverridenIntroText = GetText("Cuffs");
+        C007_LunchBreak_Natalie_TimeLimit()
+    }
+
+    // When the user wants to use the blindfold
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "Blindfold") && !ActorHasInventory("Blindfold")) {
+        OverridenIntroText = GetText("Blindfold");
+        ActorAddInventory("Blindfold");
+        PlayerRemoveInventory("Blindfold", 1);
+        CurrentTime = CurrentTime + 60000;
+        C007_LunchBreak_Natalie_IsBlindfolded = true;
+        C007_LunchBreak_Natalie_TimeLimit()
+    }
+
+    // When the user wants to use the BallGag
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "BallGag") && !ActorHasInventory("BallGag")) {
+        OverridenIntroText = GetText("BallGag");
+        C007_LunchBreak_Natalie_Ungag();
+        ActorAddInventory("BallGag");
+        PlayerRemoveInventory("BallGag", 1);
+        CurrentTime = CurrentTime + 60000;
+        C007_LunchBreak_Natalie_IsGagged = true;
+        C007_LunchBreak_Natalie_TimeLimit()
+    }
+
+    // When the user wants to use the ClothGag
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "ClothGag") && !ActorHasInventory("ClothGag")) {
+        OverridenIntroText = GetText("ClothGag");
+        C007_LunchBreak_Natalie_Ungag();
+        ActorAddInventory("ClothGag");
+        PlayerRemoveInventory("ClothGag", 1);
+        CurrentTime = CurrentTime + 60000;
+        C007_LunchBreak_Natalie_IsGagged = true;
+        C007_LunchBreak_Natalie_TimeLimit()
+    }
+
+    // When the user wants to use the tape gag
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "TapeGag") && !ActorHasInventory("TapeGag")) {
+        OverridenIntroText = GetText("TapeGag");
+        C007_LunchBreak_Natalie_Ungag();
+        ActorAddInventory("TapeGag");
+        PlayerRemoveInventory("TapeGag", 1);
+        CurrentTime = CurrentTime + 60000;
+        C007_LunchBreak_Natalie_IsGagged = true;
+        C007_LunchBreak_Natalie_TimeLimit()
+    }
+
+    // When the user wants to use the crop on Natalie
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "Crop")) {
+        OverridenIntroText = GetText("Crop");
+        if (!C007_LunchBreak_Natalie_CropDone) {
+            C007_LunchBreak_Natalie_CropDone = true;
+            ActorChangeAttitude(0, 1);
+        }
+        CurrentTime = CurrentTime + 60000;
+        C007_LunchBreak_Natalie_TimeLimit()
+    }
+
+    // When the user wants to use the egg
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg")) {
+        OverridenIntroText = GetText("VibratingEgg");
+        ActorChangeAttitude(0, 1);
+        ActorAddInventory("VibratingEgg");
+        PlayerRemoveInventory("VibratingEgg", 1);
+        CurrentTime = CurrentTime + 60000;
+        C007_LunchBreak_Natalie_TimeLimit()
+    }	
+    
+    // When the user wants to use the collar (+20 submission and a ceremony is required)
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (ClickInv == "Collar") && !ActorHasInventory("Collar"))
+        OverridenIntroText = GetText("Collar");
+    C007_LunchBreak_Natalie_TimeLimit()
+
+    // When the user wants to use a bondage item when subbie
+    if ((C007_LunchBreak_Natalie_CurrentStage >= 500) && (C007_LunchBreak_Natalie_CurrentStage < 540) && ((ClickInv == "Collar") || (ClickInv == "VibratingEgg") || (ClickInv == "Crop") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "Rope")))
+        OverridenIntroText = GetText("SubbieNoItem");
+
+    // When the user wants to use a bondage item together
+    if ((C007_LunchBreak_Natalie_CurrentStage >= 600) && (C007_LunchBreak_Natalie_CurrentStage < 630) && ((ClickInv == "Collar") || (ClickInv == "VibratingEgg") || (ClickInv == "Crop") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "Rope")))
+        OverridenIntroText = GetText("TogetherNoItem");
+
+    // Recalculates the scene parameters
+    C007_LunchBreak_Natalie_CalcParams();
+
+}
+
+
+
+// Chapter 7 - Initial Kinbaku, questions and eating
+
+// Chapter 7 - Natalie Start Lunch
+function C007_LunchBreak_Natalie_StartLunch() {
+    CurrentTime = CurrentTime + 120000;
+    LeaveIcon = "";
+}
+
+// Chapter 7 - Natalie End Lunch
+function C007_LunchBreak_Natalie_EndLunch() {
+    C007_LunchBreak_ActorSelect_NatalieAvail = false;
+}
+
+// Chapter 7 - Natalie tied up first
+function C007_LunchBreak_Natalie_NatalieTied() {
+    CurrentTime = CurrentTime + 60000;
+    ActorAddInventory("Rope");
+    C007_LunchBreak_Natalie_IsRoped = true;
+}
+
+// Chapter 7 - Natalie - Player Upper body Is Tied with Roped
+function C007_LunchBreak_Natalie_PlayerRope() {
+    PlayerLockInventory("Rope");
+    CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Natalie Eat Lunch (adds 10 minutes)
+function C007_LunchBreak_Natalie_Eat() {
+    CurrentTime = CurrentTime + 300000;
+}
+
+// Chapter 7 - Natalie Good Match and eat food
+function C007_LunchBreak_Natalie_EatGoodMatch() {
+    C007_LunchBreak_Natalie_MatchCount++;
+    C007_LunchBreak_Natalie_CalcParams();
+    CurrentTime = CurrentTime + 300000;
+}
+
+// Chapter 7 - Natalie Bad Match and eat food
+function C007_LunchBreak_Natalie_EatBadMatch() {
+    C007_LunchBreak_Natalie_MatchCount--;
+    C007_LunchBreak_Natalie_CalcParams();
+    CurrentTime = CurrentTime + 300000;
+}
+
+// Chapter 7 - Natalie Test Match - if the match is 2 or better, we go to a bonus part
+function C007_LunchBreak_Natalie_TestMatch() {
+    C007_LunchBreak_Natalie_CurrentStage = -1; // No mode
+    if ((C007_LunchBreak_Natalie_MatchCount >= 2) && ActorHasInventory("Rope")) C007_LunchBreak_Natalie_CurrentStage = 400; // Dom mode
+    if ((C007_LunchBreak_Natalie_MatchCount >= 2) && !ActorHasInventory("Rope")) C007_LunchBreak_Natalie_CurrentStage = 500; // Sub mode
+    if ((C007_LunchBreak_Natalie_MatchCount <= 1) && ActorHasInventory("Rope")) C007_LunchBreak_Natalie_CurrentStage = 300; // Dom mode
+    if ((C007_LunchBreak_Natalie_MatchCount <= 1) && !ActorHasInventory("Rope")) C007_LunchBreak_Natalie_CurrentStage = 320; // Sub mode
+    else ActorChangeAttitude(-1, 0);
+}
+
+
+
+// Chapter 7 - Player is a bad match section
+// Chapter 7 - Natalie escapes your ropes
+function C007_LunchBreak_Natalie_NatalieEscape() {
+    ActorRemoveInventory("Rope");
+    C007_LunchBreak_Natalie_IsRoped = false;
+}
+
+// Chapter 7 - Natalie - Player Subbie rope
+function C007_LunchBreak_Natalie_SubbieRope() {
+    PlayerLockInventory("Rope");
+}
+
+// Chapter 7 - Natalie - Player Subbie Cloth Gag
+function C007_LunchBreak_Natalie_SubbieClothGag() {
+    PlayerLockInventory("ClothGag");
+}
+
+// Chapter 7 - (Look for an escape.)
+function C007_LunchBreak_Natalie_NoEscape() {
+    C007_LunchBreak_Natalie_BadStage = 1;
+    CurrentTime = CurrentTime + 120000;
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("NatalieReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 365;
+    }
+}
+
+// Chapter 7 - (Try calling for help.)
+function C007_LunchBreak_Natalie_NoHelp() {
+    C007_LunchBreak_Natalie_BadStage = 2;
+    CurrentTime = CurrentTime + 120000;
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("NatalieReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 365;
+    }
+}
+
+// Chapter 7 - (Look at what the|others are doing.)
+function C007_LunchBreak_Natalie_ChloeSuspended() {
+    if (C007_LunchBreak_Natalie_Others == 0) {
+        C007_LunchBreak_Natalie_BadStage = 3;
+    }
+    if (C007_LunchBreak_Natalie_Others == 1) {
+        C007_LunchBreak_Natalie_BadStage = 4;
+        OverridenIntroText = GetText("Chloe1");
+    }
+    if (C007_LunchBreak_Natalie_Others >= 2) {
+        C007_LunchBreak_Natalie_BadStage = 5;
+        OverridenIntroText = GetText("Chloe2");
+    }
+    C007_LunchBreak_Natalie_Others++;
+    CurrentTime = CurrentTime + 120000;
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("NatalieReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 365;
+    }
+}
+
+// Chapter 7 - (Try struggling again.)
+function C007_LunchBreak_Natalie_Struggle() {
+    C007_LunchBreak_Natalie_BadStage = 6;
+    CurrentTime = CurrentTime + 120000;
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("NatalieReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 365;
+    }
+}
+
+// Chapter 7 - Natalie Bad Wait - She comes back at 12:40
+function C007_LunchBreak_Natalie_Wait() {
+    C007_LunchBreak_Natalie_BadStage = 7;
+    CurrentTime = CurrentTime + 120000;
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("NatalieReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 365;
+    }
+}
+
+// Chapter 7 - Natalie - Player Bad Ungag
+function C007_LunchBreak_Natalie_BadUngag() {
+    PlayerUnlockInventory("ClothGag");
+}
+
+// Chapter 7 - Natalie - Player Release
+function C007_LunchBreak_Natalie_PlayerRelease() {
+    PlayerUnlockAllInventory();
+}
+
+// Chapter 7 - Natalie End Chapter
+function C007_LunchBreak_Natalie_EndChapter() {
+    C007_LunchBreak_ActorSelect_Kinbaku = true;
+    SetScene(CurrentChapter, "Outro");
+}
+
+
+
+// Chapter 7 - Natalie Player Good Dom
+// Chapter 7 - Natalie - Player asks for more items
+function C007_LunchBreak_Natalie_GetToys() {
+    PlayerAddInventory("Rope", 1);
+    PlayerAddInventory("Blindfold", 1);
+    PlayerAddInventory("BallGag", 1);
+    PlayerAddInventory("ClothGag", 1);
+    PlayerAddInventory("VibratingEgg", 1);
+}
+
+// Chapter 7 - Natalie is untied and strips
+function C007_LunchBreak_Natalie_UntieStrip() {
+    ActorRemoveInventory("Rope");
+    PlayerAddInventory("Rope", 1);
+    C007_LunchBreak_Natalie_IsRoped = false;
+    C007_LunchBreak_Natalie_Clothes = 1;
+    CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Natalie strips naked
+function C007_LunchBreak_Natalie_NatalieNaked() {
+    C007_LunchBreak_Natalie_Clothes = 2;
+    CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Natalie puts here clothes back on
+function C007_LunchBreak_Natalie_NatilieClothed() {
+    C007_LunchBreak_Natalie_Clothes = 0;
+    CurrentTime = CurrentTime + 60000;
+}
+
+
+// Chapter 7 - Natalie Tickle
+function C007_LunchBreak_Natalie_Tickle() {
+    CurrentTime = CurrentTime + 60000;
+    if (ActorHasInventory("Rope")) {
+        OverridenIntroText = GetText("TickleTied");
+        if (!C007_LunchBreak_Natalie_TickleDone) {
+            C007_LunchBreak_Natalie_TickleDone = true;
+            ActorChangeAttitude(-1, 1);
+        }
+    }
+    C007_LunchBreak_Natalie_TimeLimit()
+}
+
+// Chapter 7 - Natalie Spank
+function C007_LunchBreak_Natalie_Spank() {
+    CurrentTime = CurrentTime + 60000;
+    if (!C007_LunchBreak_Natalie_SpankDone) {
+        ActorChangeAttitude(-1, 1);
+        C007_LunchBreak_Natalie_SpankDone = true;
+    }
+    C007_LunchBreak_Natalie_TimeLimit()
+}
+
+// Chapter 7 - Natalie Kiss
+function C007_LunchBreak_Natalie_Kiss() {
+    CurrentTime = CurrentTime + 60000;
+    if ((C007_LunchBreak_Natalie_IsRoped) && (!C007_LunchBreak_Natalie_IsGagged)) {
+        OverridenIntroText = GetText("KissTied");
+        if (!C007_LunchBreak_Natalie_KissDone) {
+            C007_LunchBreak_Natalie_KissDone = true;
+            ActorChangeAttitude(1, 0);
+        }
+    }
+    if (C007_LunchBreak_Natalie_IsGagged) {
+        OverridenIntroText = GetText("KissGagged");
+        if (!C007_LunchBreak_Natalie_KissDone) {
+            C007_LunchBreak_Natalie_KissDone = true;
+            ActorChangeAttitude(0, 1);
+        }
+    }
+    C007_LunchBreak_Natalie_TimeLimit()
+}
+
+// Chapter 7 - Natalie Dom Masturbate (only when tied up, quicker with egg and 2 stage)
+function C007_LunchBreak_Natalie_DomMasturbate() {
+    if (!ActorHasInventory("Rope")) {
+        OverridenIntroText = GetText("NoMasturbate");
+    }
+    if (ActorHasInventory("Rope")) {
+        CurrentTime = CurrentTime + 60000;
+        C007_LunchBreak_Natalie_MasturbateCount++;
+        if (ActorHasInventory("VibratingEgg")) {
+            C007_LunchBreak_Natalie_MasturbateCount++;
+        }
+        if ((C007_LunchBreak_Natalie_MasturbateCount >= 5) && (C007_LunchBreak_Natalie_OrgasmDone < 1)) {
+            OverridenIntroText = GetText("NatalieOrgasm1");
+            ActorAddOrgasm();
+            ActorChangeAttitude(0, 1);
+            C007_LunchBreak_Natalie_OrgasmDone++;
+        }
+        if ((C007_LunchBreak_Natalie_MasturbateCount >= 9) && (C007_LunchBreak_Natalie_OrgasmDone < 2)) {
+            OverridenIntroText = GetText("NatalieOrgasm2");
+            ActorAddOrgasm();
+            ActorChangeAttitude(2, 1);
+            C007_LunchBreak_Natalie_OrgasmDone++;
+        }
+    }
+    C007_LunchBreak_Natalie_TimeLimit()
+}
+
+// Chapter 7 - Natalie Untie
+function C007_LunchBreak_Natalie_Untie() {
+    if (ActorHasInventory("Rope")) {
+        CurrentTime = CurrentTime + 120000;
+        ActorRemoveInventory("Rope");
+        PlayerAddInventory("Rope", 1);
+        if (C007_LunchBreak_Natalie_TwoRopes) {
+            CurrentTime = CurrentTime + 120000;
+            PlayerAddInventory("Rope", 1);
+            C007_LunchBreak_Natalie_TwoRopes = false;
+        }
+        C007_LunchBreak_Natalie_IsRoped = false;
+    }
+    C007_LunchBreak_Natalie_TimeLimit()
+}
+
+// Chapter 7 - Natalie Ungag
+function C007_LunchBreak_Natalie_Ungag() {
+    CurrentTime = CurrentTime + 60000;
+    ActorRemoveInventory("TapeGag");
+    if (ActorHasInventory("BallGag")) {
+        ActorRemoveInventory("BallGag");
+        PlayerAddInventory("BallGag", 1);
+    }
+    if (ActorHasInventory("ClothGag")) {
+        ActorRemoveInventory("ClothGag");
+        PlayerAddInventory("ClothGag", 1);
+    }
+    C007_LunchBreak_Natalie_IsGagged = false;
+    C007_LunchBreak_Natalie_TimeLimit()
+}
+
+// Chapter 7 - Natalie UnBlindfold
+function C007_LunchBreak_Natalie_Unblind() {
+    CurrentTime = CurrentTime + 60000;
+    ActorRemoveInventory("Blindfold");
+    PlayerAddInventory("Blindfold", 1);
+    C007_LunchBreak_Natalie_IsBlindfolded = false;
+    C007_LunchBreak_Natalie_TimeLimit()
+}
+
+// Chapter 7 - Natalie dom time limit
+function C007_LunchBreak_Natalie_TimeLimit() {
+    if ((C007_LunchBreak_Natalie_CurrentStage == 430) && (CurrentTime >= 12.66667 * 60 * 60 * 1000)) {
+        OverridenIntroText = GetText("OutOfTime");
+        C007_LunchBreak_Natalie_NatalieRelease()
+        C007_LunchBreak_Natalie_CurrentStage = 490;
+    }
+}
+
+// Chapter 7 - Natalie is released
+function C007_LunchBreak_Natalie_NatalieRelease() {
+    ActorRemoveInventory("TapeGag");
+    if (ActorHasInventory("BallGag")) {
+        ActorRemoveInventory("BallGag");
+        PlayerAddInventory("BallGag", 1);
+    }
+    if (ActorHasInventory("ClothGag")) {
+        ActorRemoveInventory("ClothGag");
+        PlayerAddInventory("ClothGag", 1);
+    }
+    C007_LunchBreak_Natalie_IsGagged = false;
+    if (ActorHasInventory("Rope")) {
+        ActorRemoveInventory("Rope");
+        PlayerAddInventory("Rope", 1);
+        if (C007_LunchBreak_Natalie_TwoRopes) {
+            PlayerAddInventory("Rope", 1);
+            C007_LunchBreak_Natalie_TwoRopes = false;
+        }
+    }
+    C007_LunchBreak_Natalie_IsRoped = false;
+    if (ActorHasInventory("Blindfold")) {
+        ActorRemoveInventory("Blindfold");
+        PlayerAddInventory("Blindfold", 1);
+    }
+    C007_LunchBreak_Natalie_IsBlindfolded = false;
+}
+
+// Chapter 7 - Natalie turns on the player for letting her go with a lame excuse.
+function C007_LunchBreak_Natalie_PlayerBoundGagged() {
+    CurrentTime = CurrentTime + 180000;
+    PlayerLockInventory("Rope")
+    PlayerLockInventory("ClothGag")
+}
+
+// Chapter 7 - Natalie Evil End Chapter (Leave her bound and gagged)
+function C007_LunchBreak_Natalie_EvilEnd() {
+    C007_LunchBreak_ActorSelect_EvilEnding = true;
+    Common_PlayerCrime = "NatalieStranded";
+    SetScene(CurrentChapter, "Outro");
+}
+
+
+
+// Chapter 7 - Natalie - Player Good Sub
+
+// Chapter 7 - Natalie - role reversal
+function C007_LunchBreak_Natalie_PlayerReversal() {
+    CurrentTime = CurrentTime + 240000;
+    PlayerUnlockAllInventory();
+    ActorAddInventory("Rope")
+}
+
+
+// Chapter 7 - Natalie - Player Strip
+function C007_LunchBreak_Natalie_PlayerStrip() {
+    CurrentTime = CurrentTime + 60000;
+    PlayerClothes("Underwear");
+}
+
+// Chapter 7 - Natalie - Player Blindfolded
+function C007_LunchBreak_Natalie_PlayerBlindfold() {
+    CurrentTime = CurrentTime + 60000;
+    PlayerLockInventory("Blindfold");
+}
+
+// Chapter 7 - Natalie - Player Has Egg Inserted
+function C007_LunchBreak_Natalie_PlayerEgg() {
+    CurrentTime = CurrentTime + 30000;
+    PlayerLockInventory("VibratingEgg");
+}
+
+// Cha[ter 7 - Natalie - Player is BallGagged
+function C007_LunchBreak_Natalie_PlayerBallGag() {
+    CurrentTime = CurrentTime + 60000;
+    PlayerLockInventory("BallGag");
+}
+
+// Chapter 7 - Natalie - Player Subbie Masturbate (After 3 times, the player cums)
+function C007_LunchBreak_Natalie_SubbieMasturbate() {
+    CurrentTime = CurrentTime + 120000;
+    C007_LunchBreak_Natalie_MasturbateCount++;
+    if (C007_LunchBreak_Natalie_MasturbateCount >= 4) {
+        OverridenIntroText = GetText("SubbieMasturbate");
+        ActorAddOrgasm();
+        ActorChangeAttitude(1, 0);
+        PlayerUnlockInventory("BallGag");
+        PlayerUnlockInventory("Blindfold");
+        PlayerUnlockInventory("Rope");
+        CurrentTime = CurrentTime + 120000;
+        C007_LunchBreak_Natalie_CurrentStage = 590;
+    }
+}
+
+// Chapter 7 - Natalie - Player Has Egg Extracted
+function C007_LunchBreak_Natalie_PlayerNoEgg() {
+    CurrentTime = CurrentTime + 120000;
+    PlayerUnlockInventory("VibratingEgg");
+    PlayerClothes("Clothed");
+}
+
+// Chapter 7 - Natalie - Player gets dressed
+function C007_LunchBreak_Natalie_PlayerClothed() {
+    CurrentTime = CurrentTime + 60000;
+    PlayerClothes("Clothed");
+}
+
+
+
+// Chapter 7 - Natalie Bound togther section
+// Chapter 7 - Natalie - Player is Handcuffed
+function C007_LunchBreak_Natalie_PlayerCuffed() {
+    CurrentTime = CurrentTime + 60000;
+    PlayerLockInventory("Cuffs");
+}
+
+// Chapter 7 - Natalie - Player is gagged with double open mouth gag - Seems to cuse lockup between stages 630-640
+function C007_LunchBreak_Natalie_OpenGag() {
+    CurrentTime = CurrentTime + 60000;
+    PlayerLockInventory("DoubleOpenGag");
+}
+
+// Chapter 7 - Natalie - Use Vibrator remote when hugging Natalie
+function C007_LunchBreak_Natalie_VibeNatalie() {
+    C007_LunchBreak_Natalie_VibratorNatalie++;
+    C007_LunchBreak_Natalie_Knee = false;
+    CurrentTime = CurrentTime + 60000;
+    if (C007_LunchBreak_Natalie_VibratorNatalie <= 1) OverridenIntroText = GetText("Remote1");
+    if (C007_LunchBreak_Natalie_VibratorNatalie == 2) OverridenIntroText = GetText("Remote2");
+    if (C007_LunchBreak_Natalie_VibratorNatalie >= 3) {
+        OverridenIntroText = GetText("Remote3");
+        // OverridenIntroImage = "NataliePlayerRemoteDrop.jpg";
+        C007_LunchBreak_Natalie_VibratorPlayer++;
+        C007_LunchBreak_Natalie_Remote = false;
+        C007_LunchBreak_Natalie_NoRemote = true;
+        C007_LunchBreak_Natalie_Intensify = true;
+    }  
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("JennaReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 690;
+    }
+    C007_LunchBreak_Natalie_CalcParams();
+}
+
+// Chapter 7 - Natalie - Panic while hugging Natalie
+function C007_LunchBreak_Natalie_Panic() {
+    C007_LunchBreak_Natalie_VibratorPlayer--;
+    C007_LunchBreak_Natalie_Intensify = false;
+    C007_LunchBreak_Natalie_Knee = false;
+    CurrentTime = CurrentTime + 60000;
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("JennaReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 690;
+    }
+    C007_LunchBreak_Natalie_CalcParams();
+}
+
+// Chapter 7 - Natalie - Natalie Intensifies Your Viberator
+function C007_LunchBreak_Natalie_VibePlayer() {
+    C007_LunchBreak_Natalie_VibratorPlayer++;
+    C007_LunchBreak_Natalie_Intensify = true;
+    C007_LunchBreak_Natalie_Knee = false;
+    if (C007_LunchBreak_Natalie_VibratorPlayer >= 5) {
+        OverridenIntroText = GetText("Orgasm");
+        C007_LunchBreak_Natalie_OrgasmDone = true;
+        C007_LunchBreak_Natalie_CurrentStage = 670;
+    }
+    CurrentTime = CurrentTime + 60000;
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("JennaReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 690;
+    }
+    C007_LunchBreak_Natalie_CalcParams();
+}
+
+// Chapter 7 - Natalie - Natalie Intensifies Your Viberator and uses her knee
+function C007_LunchBreak_Natalie_KneePlayer() {
+    C007_LunchBreak_Natalie_VibratorPlayer++;
+    C007_LunchBreak_Natalie_Intensify = true;
+    C007_LunchBreak_Natalie_Knee = true;
+    if (C007_LunchBreak_Natalie_VibratorPlayer >= 5) {
+        OverridenIntroText = GetText("Orgasm");
+        ActorAddOrgasm();
+        C007_LunchBreak_Natalie_OrgasmDone = true;
+        C007_LunchBreak_Natalie_CurrentStage = 670;
+    }
+    CurrentTime = CurrentTime + 60000;
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("JennaReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 690;
+    }
+    C007_LunchBreak_Natalie_CalcParams();
+}
+
+// Chapter 7 - Hug Natalie tenderly
+function C007_LunchBreak_Natalie_Hug() {
+    CurrentTime = CurrentTime + 60000;
+    C007_LunchBreak_Natalie_Knee = false;
+    if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+        OverridenIntroText = GetText("JennaReturns");
+        C007_LunchBreak_Natalie_CurrentStage = 690;
+    }
+    C007_LunchBreak_Natalie_CalcParams();
+}
diff --git a/C007_LunchBreak/Natalie/Stage_EN.csv b/C007_LunchBreak/Natalie/Stage_EN.csv
new file mode 100644
index 0000000000..2e39e7c674
--- /dev/null
+++ b/C007_LunchBreak/Natalie/Stage_EN.csv
@@ -0,0 +1,244 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,"Hello, yes I just transferred.",I thought so. The names Natalie.,10,0,0,
+0,0,0,,"Hi, first day but|feels like weeks already.","First days can feel like that.|Natalie, please to meet you.",10,0,0,
+0,0,0,,"I am, but you might|see a lot more of me now.","Cool, I'm Natalie.",10,1,0,
+0,0,0,,New? I feel I have been|here longer than you.,"Ok that was pretty blunt, sorry.|My name is Natalie.",10,0,1,
+10,0,0,,Could you tell me where|the cafeteria is?,"If really want, but its pretty poor.|I have lunch with a college club instead.",20,0,0,
+10,0,0,,I'm really hungry.|Could you help please?,There is more to lunch break than just food.|Have you considered joining a club?,20,0,-1,
+10,0,0,,Where's best to get|lunch round here?,"Quite a few students use a local café,|but best I reckon is club lunches.",20,1,0,
+20,0,0,,"Clubs, I'm game for that.|Bring it on.","I'm in the Kinbaku club,|which is by far the best.",30,1,1,
+20,0,0,,"A club, would any|want me to join?",Of course. The Kinbaku club would just love you.,30,1,-1,
+20,0,0,,"Clubs, aren't they|just for Geeks?","You have got to be kidding me,|Kinbaku club is way cooler than that.",30,0,0,
+20,0,0,,Clubs! No chance.|I just want food.,If that's your attitude then you best find the cafeteria.,40,-1,0,
+20,0,0,,Clubs aren't my thing.|Too many initiations.,"Ok then, I must be going. Someone|else will show you to a nice cafe.",40,0,0,
+30,0,0,,Let's go then|(Go to club with Natalie.),(Natalie takes you into a|nearby spare classroom.),100,0,0,StartLunch()
+30,0,0,,"Maybe not,|I really need a good meal.","OK then, you could brave the cafeteria|or find a cafe.",40,0,0,
+40,0,0,,Enjoy your |lunch break then!,Absolutely!  (She waves|and walks away.),50,1,0,EndLunch()
+40,0,0,,"OK, see you around.",Of course!  (She waves|and walks away.),50,0,0,EndLunch()
+40,0,0,,You suck.,"No, you suck!  (She turns|around and storms away.)",50,-2,0,EndLunch()
+100,0,0,,Wow is that a|reverse prayer?,"Yes, you seem to know you stuff.|Chloe is just stretching after a ballet lesson.",110,1,0,
+100,0,0,,Is she OK?|That looks harsh.,"Of course, Chloe is as flexible doing|stretches as she is in ballet.",110,0,0,
+100,0,0,,I'm not sure|I could manage that.,We can't all be as flexible as Chloe.,110,0,-1,
+100,0,0,,"Oh my, I didn't know|what Kinbaku was.",Literally it means 'tight binding'.|Don't worry you'll be fine.,110,0,-1,
+100,0,0,,Cool I bet you would|look good tied like that.,"Thank you, but I'm not quite as|flexible as Chloe over there is.",110,1,1,
+110,0,0,,You did mention|food earlier.,"Yes, there is a takeout delivery ordered.|How about a quick tie while we wait?",120,0,0,
+110,0,0,,So where is the food?|I'm hungry now.,There's a takeout coming.|Would you like to try some tying till then?,120,-1,1,
+110,0,0,,Could I have some|lunch now please?,"Just wait a moment, its being delivered|Some Kinbaku will pass the time.",120,0,-1,
+120,0,0,,Can I tie you up?,Certainly not. A new member|must learn the ropes first.,130,-1,-1,
+120,0,0,,Can you tie me up?,"Of course, it's a new member's duty to be tied first.",130,0,-1,
+120,1,1,,Only if I tie you up first?,"Well OK then, normally new members get tied first.|The club has lots of rope you can use.",140,0,1,
+120,1,1,,I suppose the newbie|gets tied first?,"Of course, but I might have let|you tie me up first, too late now.",130,1,-1,
+130,0,0,,Wow this is exciting.,(She pulls your arms back behind you and|tightly binds them) It sure is.,150,1,0,PlayerRope()
+130,0,0,,Ouch not too tight please.,But it has to be tight.  (She pulls your|arms behind you back and tightly binds them.),150,-1,0,PlayerRope()
+130,0,0,,"OK miss, but|please be gentle.",You're so sweet.  (She pulls your arms behind|your back and tightly binds them.),150,1,-1,PlayerRope()
+140,0,0,,Get your arms|behind you now.,Yes miss.  (You pull her arms up behind her|back and tightly bind them.),160,0,1,NatalieTied()
+140,0,0,,You will look great|tied up in ropes.,(You pull her arms behind her back and tightly|bind them) I'm glad you're enjoying this.,160,1,0,NatalieTied()
+150,0,0,,Is that the food delivery?,"(Jenna comes in with food.)|I order pizzas this time, help your sub tuck in.",170,0,0,
+160,0,0,,Is that the food delivery?,"(Jenna comes in with food.)|I order pizzas this time, help your sub tuck in.",180,0,0,
+170,0,0,,Natalie can you|help me eat please?,"Sure, as you've been good sport.|So do you like the school so far?",200,1,-1,
+170,0,0,,Come on Natalie|I've been waiting for this.,"Sure, as you let me bind you.|So do you like the school so far?",200,1,0,
+180,0,0,,"Would you like some,|Natalie?",I sure do.|So do you like the school so far?,250,0,0,
+180,0,0,,"Do you deserve some,|Natalie?",Oh yes I do miss.|Do you like the school so far?,250,0,1,
+200,0,0,,Oh yes!  It seems|like a good academy.,"Yes and no, some classes are more practical.|And what do you want to do in life?",210,0,0,Eat()
+200,0,0,,This college is|a nuts house.,It seems sensible enough to me.|And what do you want to do in life?,210,0,0,EatBadMatch()
+200,0,0,,I've never seen a|kinky college like that.,(She laughs out loud.)  Absolutely!|And what do you want to do in life?,210,1,0,EatGoodMatch()
+200,0,0,,It's hard to judge|from a few hours.,I've been here a while and still not sure either.|And what do you want to do in life?,210,0,0,EatGoodMatch()
+200,0,0,,It's a pretty|boring school.,"Yeah, some classes can get boring I guess.|And what do you want to do in life?",210,0,0,Eat()
+210,0,0,,A musician.,Cool!  And what's your favorite class?,220,0,0,EatGoodMatch()
+210,0,0,,A doctor.,That's nice.  And what's your favorite class?,220,0,0,Eat()
+210,0,0,,An athlete.,Cool!  And what's your favorite class?,220,0,0,EatGoodMatch()
+210,0,0,,A teacher.,They just brain wash kids.|And what's your favorite class?,220,-1,0,EatBadMatch()
+210,0,0,,An actor.,That's nice.  And what's your favorite class?,220,0,0,Eat()
+210,0,0,,A dominatrix.,(She grins.)  And what's your favorite class?,220,1,0,Eat()
+210,0,0,,An architect.,That's nice.  And what's your favorite class?,220,0,0,Eat()
+210,0,0,,A farmer.,My cousin's one.  She taught me a lot of knots.|And what's your favorite class?,220,0,0,EatGoodMatch()
+210,0,0,,A programmer.,Boring!  And what's your favorite class?,220,0,0,EatBadMatch()
+210,0,0,,I don't know yet.,Come on you must have some idea.|What's your favorite class?,220,0,0,EatBadMatch()
+220,0,0,,Math.,At least numbers don't lie?|And what do you do outside of school?,230,0,0,Eat()
+220,0,0,,Music.,Cool!  And what do you do outside of school?,230,0,0,EatGoodMatch()
+220,0,0,,English.,The literature is just creative lying.|And what do you do outside of school?,230,0,0,EatBadMatch()
+220,0,0,,Gym.,The Hojojutsu lessons are great.|And what do you do outside of school?,230,0,0,EatGoodMatch()
+220,0,0,,Chemistry.,Explosive reactions are fun.|And what do you do outside of school?,230,0,0,EatGoodMatch()
+220,0,0,,French.,Boring!  And what do you do outside of school?,230,0,0,EatBadMatch()
+220,0,0,,Art.,At least Julia is a laugh!|And what do you do outside of school?,230,0,0,Eat()
+220,0,0,,History.,That's nice.  And what do you do outside of school?,230,0,0,Eat()
+220,0,0,,Theatre.,That's nice.  And what do you do outside of school?,230,0,0,Eat()
+220,0,0,,I don't know.,"Don't worry it's about learning, not knowing.|And what do you do outside of school?",230,0,0,Eat()
+230,0,0,,Basketball.,That's nice.  (You all finish the pizzas.),240,0,0,Eat()
+230,0,0,,Rock music.,Awesome!  (You all finish the pizzas.),240,0,0,EatGoodMatch()
+230,0,0,,Video games.,Cool!  (You all finish the pizzas.),240,0,0,EatGoodMatch()
+230,0,0,,Cheerleading.,That's nice.  (You all finish the pizzas.),240,0,0,Eat()
+230,0,0,,Going to parties.,That's nice.  (You all finish the pizzas.),240,0,0,Eat()
+230,0,0,,Role playing games.,Cool!  (You all finish the pizzas.),240,0,0,EatGoodMatch()
+230,0,0,,Getting drunk.,"Getting is fine, recovering sucks.|(You all finish the pizzas.)",240,0,0,EatBadMatch()
+230,0,0,,Classical music.,That's nice.  (You all finish the pizzas.),240,0,0,Eat()
+230,0,0,,Making love.,(She smiles.)  You're so kinky!|(You all finish the pizzas.),240,1,0,EatGoodMatch()
+230,0,0,,I don't have|any hobbies.,Seriously?  (You all finish the pizzas.),240,0,0,EatBadMatch()
+240,0,0,,So what do we do now?,Isn't that obvious.,320,0,0,TestMatch()
+240,0,0,,Can we do some more|Kinbaku now?,Oh yes.,320,1,0,TestMatch()
+250,0,0,,Oh yes!  It seems|like a good academy.,"Yes and no, some classes are more practical.|And what do you want to do in life?",260,0,0,Eat()
+250,0,0,,This college is|a nuts house.,It seems sensible enough to me.|And what do you want to do in life?,260,0,0,EatBadMatch()
+250,0,0,,I've never seen a|kinky college like that.,(She laughs out loud.)  Absolutely!|And what do you want to do in life?,260,0,0,EatGoodMatch()
+250,0,0,,It's hard to judge|from a few hours.,I've been here a while and still not sure either.|And what do you want to do in life?,260,0,0,EatGoodMatch()
+250,0,0,,It's a pretty|boring school.,"Yeah, some classes can get boring I guess.|And what do you want to do in life?",260,0,0,Eat()
+260,0,0,,A musician.,Cool!  And what's your favorite class?,270,0,0,EatGoodMatch()
+260,0,0,,A doctor.,That's nice.  And what's your favorite class?,270,0,0,Eat()
+260,0,0,,An athlete.,Cool!  And what's your favorite class?,270,0,0,EatGoodMatch()
+260,0,0,,A teacher.,They just brain wash kids.|And what's your favorite class?,270,-1,0,EatBadMatch()
+260,0,0,,An actor.,That's nice.  And what's your favorite class?,270,0,0,Eat()
+260,0,0,,A dominatrix.,(She grins.)  And what's your favorite class?,270,1,0,Eat()
+260,0,0,,An architect.,That's nice.  And what's your favorite class?,270,0,0,Eat()
+260,0,0,,A farmer.,My cousin's one.  She taught me a lot of knots.|And what's your favorite class?,270,0,0,EatGoodMatch()
+260,0,0,,A programmer.,Boring!  And what's your favorite class?,270,0,0,EatBadMatch()
+260,0,0,,I don't know yet.,Come on you must have some idea.|What's your favorite class?,270,0,0,EatBadMatch()
+270,0,0,,Math.,At least numbers don't lie?|And what do you do outside of school?,280,0,0,Eat()
+270,0,0,,Music.,Cool!  And what do you do outside of school?,280,0,0,EatGoodMatch()
+270,0,0,,English.,The literature is just creative lying.|And what do you do outside of school?,280,0,0,EatBadMatch()
+270,0,0,,Gym.,The Hojojutsu lessons are great.|And what do you do outside of school?,280,0,0,EatGoodMatch()
+270,0,0,,Chemistry.,Explosive reactions are fun.|And what do you do outside of school?,280,0,0,EatGoodMatch()
+270,0,0,,French.,Boring!  And what do you do outside of school?,280,0,0,EatBadMatch()
+270,0,0,,Art.,At least Julia is a laugh!|And what do you do outside of school?,280,0,0,Eat()
+270,0,0,,History.,That's nice.  And what do you do outside of school?,280,0,0,Eat()
+270,0,0,,Theatre.,That's nice.  And what do you do outside of school?,280,0,0,Eat()
+270,0,0,,I don't know.,"Don't worry it's about learning, not knowing.|And what do you do outside of school?",280,0,0,Eat()
+280,0,0,,Basketball.,That's nice.  (You all finish the pizzas.),290,0,0,Eat()
+280,0,0,,Rock music.,Awesome!  (You all finish the pizzas.),290,0,0,EatGoodMatch()
+280,0,0,,Video games.,Cool!  (You all finish the pizzas.),290,0,0,EatGoodMatch()
+280,0,0,,Cheerleading.,That's nice.  (You all finish the pizzas.),290,0,0,Eat()
+280,0,0,,Going to parties.,That's nice.  (You all finish the pizzas.),290,0,0,Eat()
+280,0,0,,Role playing games.,Cool!  (You all finish the pizzas.),290,0,0,EatGoodMatch()
+280,0,0,,Getting drunk.,"Getting is fine, recovering sucks.|(You all finish the pizzas.)",290,0,0,EatBadMatch()
+280,0,0,,Classical music.,That's nice.  (You all finish the pizzas.),290,0,0,Eat()
+280,0,0,,Making love.,(She smiles.)  You're so kinky!|(You all finish the pizzas.),290,1,0,EatGoodMatch()
+280,0,0,,I don't have|any hobbies.,Seriously?  (You all finish the pizzas.),290,0,0,EatBadMatch()
+290,0,0,,So what do we do now?,Isn't that obvious.,300,0,0,TestMatch()
+290,0,0,,Can we do some more|Kinbaku now?,Oh yes.,300,1,0,TestMatch()
+300,0,0,,Time to tie you|up even more.,"No, you must learn not to leave knots in reach.|(Natalie easily escapes your ropes and advances.)",310,0,0,NatalieEscape()
+310,0,0,,"Wait, can I try again?","Learn from an expert first.  (Natalie binds you,|showing off the knots placed out of reach.)",320,0,0,SubbieRope()
+310,0,0,,"OK, can you show me?",Certainly.  (Natalie binds you|pointing out where the knots must go.),320,1,0,SubbieRope()
+310,0,0,,Please no. I'm not a sub.,But you're not much of a Dom either.|(Natalie tightly binds your arms.),320,0,-1,SubbieRope()
+320,0,0,,Can you show me some|more Kinbaku?,"Yes, time to work on your legs.|(Natalie binds you legs.)  It's gag time.",330,0,0,
+320,0,0,,(Try to escape.),Where do you think you're going without permission?|(Natalie quickly binds you legs.)  It's gag time.,330,0,-1,
+320,0,0,,(Struggle playfully.),You're a little wriggler.|(Natalie binds you legs.)  It's gag time.,330,1,0,
+330,0,0,,What?,"Open wide. (You open your mouth and Natalie packs|it with cloth, then cleaves and OTM gags you.)",350,0,0,SubbieClothGag()
+330,0,0,,Do you really want to gag me?,(You barely finish speaking before she|packs your mouth with a cloth and gags you.),350,0,0,SubbieClothGag()
+330,0,0,,Please no more.,"You talk too much. (Natalie stuffs your mouth|with cloth, then cleave and OTM gags you.)",350,0,-1,SubbieClothGag()
+330,0,0,,That's enough|(Clench your jaw.),So you like to play the hard way.|(Natalie pinches nose shut.),340,1,0,
+340,0,0,,(Try to hold your breath|...................),"(You eventually gasp for breath only to have your|mouth stuffed with cloth, cleave and OTM gagged.)",350,0,0,SubbieClothGag()
+340,0,0,,(Try to call for help.) Hel.....,(You don't get the first word out before she|packs your mouth with a cloth and gags you.),350,0,0,SubbieClothGag()
+350,0,0,,(Stare daggers at Natalie.),(Natalie chuckles.) You need some time to calm down.|(Natalie walks away.),360,0,0,
+350,0,0,,(Whimper and make|puppy-dog eyes.),(Natalie smiles.) Wait! Who's a good girl?|I'll be back later. (Natalie walks away.),360,1,-1,
+350,0,0,,(Struggle against|your bounds.),That's it test your ropes for a while.|(Natalie walks away.),360,1,0,
+360,0,0,,(Look for an escape.),(The doors are shut and there|is nothing useful left on the ground.),360,0,0,NoEscape()
+360,0,0,,(Try calling for help.),"(With your mouth packed full, you make even|less sound than when ball gagged.)",360,0,0,NoHelp()
+360,0,0,,(Look at what the|others are doing.),"(Jenna is playing with Chloe,|who mumbles happily at Natalie.)",360,0,0,ChloeSuspended()
+360,0,0,,(Struggling against|the ropes.),(You thrash and roll about|but nothing comes loose.),360,0,0,Struggle()
+360,0,0,,(Wait until Natalie returns.),"(You wait, but the club members|are still ignoring you.)",360,0,0,Wait()
+365,0,0,,@Nhthlnm.,(Natalie removes the OTM and cleave gags.|You spit out the cloth.),370,0,0,BadUngag()
+370,0,0,,"Thank you miss,|please let me go.","My pleasure, it's nearly time for classes.|(Natalie unties you and helps you stand up.)",380,1,-1,PlayerRelease()
+370,0,0,,"About time,|what took you so long?",I though you needed some quite time.|(Natalie unties you and you get up.),380,0,0,PlayerRelease()
+370,0,0,,"Aww, I was enjoying that.","I suspected you were, but lunch time ends soon.|(Natalie releases you.)",380,1,0,PlayerRelease()
+380,0,0,,"It's been fun,|see you later.",,0,2,0,EndChapter()
+380,0,0,,I can't believe they|allowed this club.,,0,-1,0,EndChapter()
+380,0,0,,"(Run away quickly,|before it's too late.)",,0,0,-1,EndChapter()
+400,0,0,,Let's try some of|my own toys.,"You have some of your own already, that's great!|Do you want to untie and strip me first?",410,1,0,
+400,0,0,,Has the club got|anything else I can use?,Of course.  (Jenna passes you some items.)|Do you want to untie and strip me first?,410,0,0,GetToys()
+400,0,0,,Actually can I be|tied up now?,Well yes ok then. Would you like to be|bound and gagged by me or with me?,405,0,0,
+405,0,0,,By you please.,"Certainly, could you give me a hand? I'm a little|tied up at the moment.  (You untie her.)",505,0,-1,
+405,0,0,,I could be bound with you?|That sounds like fun.,Jenna could you help us?  (Jenna comes over|with more items and unties Natalie),600,1,0,
+410,0,0,,"No, you look good|in uniform.",Why thank you.  (What will you do to her now?),430,1,0,
+410,0,0,,"Yes, let's see your|pretty body.","You think so, thank you.  (You untie here and she|removes here clothes.)",420,1,0,UntieStrip()
+410,0,0,,Not this time.,That's fine.  (What will you do to her now?),430,0,0,
+410,0,0,,Want? I demand you|strip for me.,Err... Yes miss. (You untie here and|she removes here clothes.),420,0,1,UntieStrip()
+420,0,0,,Is that the best|can do?,"Sorry miss, you wanted me completely naked?|(She reluctantly strips.  What will you do to her?)",430,0,1,NatalieNaked()
+420,0,0,,"Cute underwear,|I like it.",Thank you miss. (She blushes.)|(What will you do to her now?),430,1,0,
+420,0,0,,Actually you looked|better clothed.,What are you trying to say?  (She gets dressed|in disgust.  What will you do to her now?),430,-2,0,NatalieClothed()
+420,0,0,,You will be even better|without those on.,Maybe if wearing rope instead.  (She reluctantly strips.|What will you do to here now?),430,0,1,NatalieNaked()
+430,0,0,,(Kiss her.),"(You kiss briefly, before she stops you.)|This is nice, but you're meant to be tying me up.",430,0,0,Kiss()
+430,0,0,,(Tickle her.),"(She flinches and pushes you away.)|Oh no, anything but that.",430,0,0,Tickle()
+430,0,0,,(Masturbate her.),(She shivers and moans softly as you masturbate her.),430,0,0,DomMasturbate()
+430,0,0,TwoRopes,(Spank her.),"(She cries out and recoils in pain and|struggles briefly, before submitting to you.)",430,0,0,Spank()
+430,0,0,IsRoped,(Untie her.),(You slowly release Natalie from her tight bondage.),430,0,0,Untie()
+430,0,0,IsGagged,(Remove her gag.),"(You carefully remove the gag.)|Thank you, my jaw needed a break.",430,0,0,Ungag()
+430,0,0,IsBlindfolded,(Remove her blindfold.),(She blinks as her eyes adjust to the light|and is happy to see you again.),430,0,0,Unblind()
+430,0,0,IsBoundAndGagged,I tricked you bitch.|(Leave her stranded.),(Do you really want to abandon her|helplessly bound and gagged like that?),450,0,0,
+430,0,0,,I'm bored now.,"(You release her.)|What already, I though you where enjoying this?",480,-1,0,NatalieRelease()
+430,0,0,,That is enough for|one lunch break.,(You release her.)|You're done already? OK.,480,0,0,NatalieRelease()
+450,0,0,,Yes.,(The other members have already left|the room for their afternoon classes.),460,0,0,
+450,0,0,,No.,(What will you do to here now?),430,0,0,
+460,0,0,,I will come back for|you after class.,(You kiss her goodbye and leave her to|panic and futilely struggle.),470,-1,5,
+460,0,0,,You're just a kinky whore|and deserve punishing.,(You tickle and spank her hard till she is left sobbing.),470,-5,3,
+470,0,0,,"It's been fun,|see you later bitch.",,0,0,0,EvilEnd()
+470,0,0,,I can't believe they|allowed this club.,,0,0,0,EvilEnd()
+470,0,0,,"(Run away quickly,|before it's too late.)",,0,0,0,EvilEnd()
+480,0,0,,Lunch break is nearly|over anyway.,I suppose so.,490,0,0,
+480,0,0,,I need to get|ready for class.,"That's a lame excuses.  (She suddenly pins you down|on the ground, binds and gags you.)",350,0,-1,PlayerBoundGagged()
+490,0,0,,"That was great,|can I come again.","Of course, the club|has bigger meetings most evenings.",700,1,0,
+490,0,0,OrgasmDone,You loved that.,"(She blushes.) Yes, I think you did too.",700,1,1,
+490,0,0,,You should tie me up|properly sometime.,"Oh yes, I should.  The club has evening meetings|where you could be tied up for hours.",700,1,-1,
+490,0,0,,Thanks for the Lunch.,"My pleasure, you should join the club properly for an evening meeting.",700,0,0,
+500,0,0,,Can you untie me first?,"Yes, you can have a break while you undress.|(She unties you.)",510,0,0,PlayerRelease()
+500,0,0,,How about you get|tied up instead?,"Not this time, you deserve the full experience.|That means without clothes.  (She unties you.)",510,0,0,PlayerRelease()
+500,0,0,,All this Kinbaku is|making me hot.,"I know what you mean, you will be cooler|without your clothes on.  (She unties you.)",510,1,0,PlayerRelease()
+500,1,1,,It's your turn now!,"Well ok, I have tied you once now.|(She unties you and you quickly her tied up.)",400,0,1,PlayerReversal()
+505,0,0,,You can tie me up now.,"Yes, but I think you should first take your|uniform off, to really feel the ropes.",510,0,0,
+510,0,0,,I suppose I can.|(Take you uniform off.),"(You undress.)  That's it, you will|feel the ropes much better like that.",530,0,0,PlayerStrip()
+510,0,0,,Wait this is too fast.,"That's fine, would you still like|to try some more Kinbaku?",520,0,-1,
+510,0,0,,No. I won't strip for you.,"OK OK, it was just an idea.|Are you still interested in Kinbaku?",520,0,1,
+510,0,0,,Yes Miss|(Take you uniform off.),(You undress.)  You're going to love|the feel of natural rope on your soft skin.,530,1,-1,PlayerStrip()
+520,0,0,,No.,I don't think this is the best club for you then.,380,-1,0,
+520,0,0,,Yes.,You were fine with your arms tied.|(Natalie ties your arms again.),320,0,0,PlayerRope()
+530,0,0,,Feel the rope?,"Yes, you must learn to use all your senses.|(She ties a lot of rope around your arms and body.)",540,0,0,PlayerRope()
+530,0,0,,I've already felt rope|on my bare wrists.,That is not the same as rope against your torso.|(She tightly binds your arms and body.),540,-1,0,PlayerRope()
+540,0,0,,It still just|feels like rope.,"You rely on sight too much, try this.|(She blindfolds you.)",550,0,0,PlayerBlindfold()
+540,0,0,,This rope just feels itchy.,"That's something, but you're still not feeling it yet.|(She blindfolds you.)",550,0,0,PlayerBlindfold()
+550,0,0,,"Wait, no, please.","(You feel a finger across your lips.)|Shhh, it's all right. How are the ropes now?",560,0,-1,
+550,0,0,,I wasn't expecting that.,You were too busy looking and not even seeing.| What do you think of the ropes feel now?,560,0,0,
+550,0,0,,You can't just|blindfold me.,Stop complaining and tell me|what you think of the ropes feel now.,560,-1,0,
+560,0,0,,They still feel like rope.,You are hopeless. Let's try something you will feel.|(She inserts a vibrating egg.),570,-1,0,PlayerEgg()
+560,0,0,,It feels tight and secure.,Better but you're not there yet. Try this.|(She inserts a vibrating egg.),570,0,0,PlayerEgg()
+560,0,0,,It feels like a hug|that will never let go.,"That's more like it, you just need a bit more|encouragement.  (She inserts a vibrating egg.)",570,1,0,PlayerEgg()
+560,0,0,,It feels so good|and tantalising.,That's it. I'm going to treat you now.|(She inserts a vibrating egg.),570,1,-1,PlayerEgg()
+570,0,0,,"This is intense,|have me now.",With pleasure.|(Natalie starts playing with your crotch rope.),580,1,0,
+570,0,0,,"Ahhh, please gag me|and have me now.",Only because you're such a good little subbie.|(Natalie gags you and plays with your crotch rope.),580,0,-1,PlayerBallGag()
+570,0,0,,Stop this is|going too far.,"You think so, I'll let you go then. (Natalie releases you.)",590,-1,0,PlayerRelease()
+580,0,0,,(Enjoy her touch.),(You surrender to her loving touch while she tugs|on the crotch rope and masturbates your clitoris.),580,0,0,SubbieMasturbate()
+580,0,0,,(Squirm to her rhythm.),(You move your hips to follow her rhythm.|Slowly building up pleasure from her touch.),580,0,0,SubbieMasturbate()
+580,0,0,,(Struggle playfully.),(You struggle playfully and she seems to enjoy it.|She picks up speed and masturbates a little harder.),580,0,0,SubbieMasturbate()
+590,0,0,,Can you remove this|damn egg?  Please.,If you're sure you don't want to keep it.|(Natalie extracts the egg and you get dressed.),700,-1,-1,PlayerNoEgg()
+590,0,0,,Can I keep|the egg?,"You may, it's your initiation present.|(You get dressed.)",700,1,0,PlayerClothed()
+590,0,0,,Can I keep|the blindfold?,Sorry it's my only one.|(You get dressed.),700,0,0,PlayerClothed()
+600,0,0,,How are we going to|be tied together?,"(Jenna approaches you.)|Not tied, cuffed this time.",610,0,0,
+600,0,0,,Do you need to|untie Natalie?,"(Jenna approaches you.)|Yes, I have something different planned for you two.",610,0,1,
+610,0,0,,What do you|have in mind?,First you two love birds need to hug.|(You embrace Natalie.),620,0,0,
+610,0,0,,Oh a surprise.,"Many surprises probably, first give Natalie a|big hug.  (You hug Natalie.)",620,0,0,
+620,0,0,,(Give Natalie a|nice long hug.),"That's it, you two have already got a room.|(Jenna cuffs your hands around each other.)",630,1,0,PlayerCuffed()
+620,0,0,,(Give Natalie a|quick hug.),(Before you can let go Jenna cuffs your|hands around each other.)  You can't stop now.,630,-1,0,PlayerCuffed()
+630,0,0,,"Wait, what is that?",It's a special double gag for you two to share.|(Jenna straps the strange gag on you.),640,0,0,OpenGag()
+630,0,0,,This is fun Natalie.,"It is, but open wide now.|(Jenna straps a strange gag on you.)",640,1,0,OpenGag()
+640,0,0,,@whht thm...,(Natalie is also strapped into the gag|and your tongues touch.),650,0,0,
+650,0,0,,(Try struggling|with Natalie.),Patience.  (Jenna gives you and Natalie|vibrators and a remote each.)  Have fun now.,660,0,0,
+660,0,0,Remote,(Adjust your remote.),,660,0,1,VibeNatalie()
+660,0,0,,(Struggle playfully.),(Natalie struggles with you.|Your vibrator intensifies.),660,0,0,VibePlayer()
+660,0,0,,(Look longingly at Natalie.),(Your vibrator intensifies.|Natalie rubs it against you with here leg.),660,1,-1,KneePlayer()
+660,0,0,,(Panic and try to pull away.),(Natalie comforts you as best she can.|Your vibrator calms down a bit.),660,0,0,Panic()
+660,0,0,,(French kiss.),"(Your tongues dance intimately,|while your vibrator intensifies.)",660,1,0,VibePlayer()
+660,0,0,,(Moan through the gag.),(Natalie hugs you tighter.|Your vibrator intensifies.),660,0,0,VibePlayer()
+660,0,0,,(Hug Natalie tenderly.),(Natalie does the same back|and your tongues meet gently.),660,0,0,Hug()
+660,0,0,,(Try removing|Natalie's gag.),(The strap buckles have been padlocked.|The gag can't be removed without a key.),660,0,0,Hug()
+670,0,0,,@hh nhthlnm thhngnhh.,(Jenna comes and releases Natalie.|You drop to knees gasping for breath.),680,1,0,
+670,0,0,,@plmhfm nhthlnm|thrn Hmt hff.,(Jenna comes and releases Natalie.|You drop to knees gasping for breath.),680,0,-1,
+670,0,0,,@fhrry|(Blush and look away.),(Jenna comes and releases Natalie.|You drop to knees gasping for breath.),680,1,-1,
+680,0,0,,@ghn nhh rmlmhfm mm nhw?,Yes. (Natalie releases you.)|So how was that for you?,685,0,0,PlayerRelease()
+680,0,0,,@plmhfm rmlmhfm mm mnff.,I suppose I should. (Natalie releases you.)|So how was that for you?,685,0,-1,PlayerRelease()
+685,0,0,NoRemote,I nearly had|you begging me.,"Yes, sorry.  You made my thumb slip on the|remote setting.  It's time for next class.",700,1,2,
+685,0,0,,I've had better.,"Seriously, I doubt that, the way you just collapsed.|It's time for next class.",700,-1,0,
+685,0,0,,I can't believe you|just did that to me.,"Sorry, I though you would like it.|It's time for next class.",700,-1,1,
+685,0,0,,I'm still shaking|from it miss.,That's cute. Come back later if you stop.|It's time for next class.,700,0,-1,
+685,0,0,,That was fantastic.,It was for me too.|It's time for next class.,700,1,0,
+685,0,0,,Next time I will|have you.,I like the sound of next time.|It's time for next class.,700,1,1,
+690,0,0,,@Lmt mm gh rnght nhw!,I though you would have enjoyed that.|(Jenna releases you.),700,-1,0,PlayerRelease()
+690,0,0,,@plmhfm rmlmhfm mm mnff.,"OK, maybe that was a bit much for a first time.|(Jenna releases you.)",700,0,-1,PlayerRelease()
+690,0,0,,@jhft h lnttlm|lhngmr plmhfm.,"No, clubs shouldn't get in the way of your studies.|(Jenna releases you.)",700,0,0,PlayerRelease()
+700,0,0,,Let's get back to classes.|(Leave.),,0,0,0,EndChapter()
+700,0,0,,Let's meet again after|class.  (Leave.),,0,1,0,EndChapter()
diff --git a/C007_LunchBreak/Natalie/Text_EN.csv b/C007_LunchBreak/Natalie/Text_EN.csv
new file mode 100644
index 0000000000..9b9a129fa4
--- /dev/null
+++ b/C007_LunchBreak/Natalie/Text_EN.csv
@@ -0,0 +1,30 @@
+Tag,Content
+Chloe1,(Chloe is now completely tied up and suspended|above the ground.  They all ignore your plight.)
+Chloe2,"(They have strapped some vibrators on to Chloe.|She shivers, swings and moans happily into her gag.)"
+NatalieReturns,(Natalie walks back and stands over you.)
+Remote1,(Natalie starts to tremble.|Your remote must control her vibrator.)
+Remote2,(Natalie trembles more and|moans softly through your gag.)
+Remote3,"(Natalie trembles hard and moans loader.  Suddenly|your vibrator peaks, in shock you drop the remote)"
+Orgasm,(You explode on a wonderful orgasm.|Natalie holds you up as you collapse in here arms.)
+JennaReturns,(Jenna walks over removes the vibrators.)|Times up you two.
+OutOfTime,(You realise your next lesson is about to start.|You release her and she tidies her self.)
+SubbieMasturbate,(Natalie's touch gives you a wonderful orgasm.|When it subsides she releases you.)
+NoMasturbate,(She pushes you hands away.|You're meant to be 'tight binding' her.)
+NatalieOrgasm1,(She trembles with a sweet orgasm|but she seems to be repressing it.)
+NatalieOrgasm2,"(Unable to contain herself any longer,|she explodes on a terrific orgasm.)"
+Cuffs,"(This is a Kinbaku club, it doesn't seem|like the right time to use handcuffs.)"
+KissGagged,(You kiss her gag. She tries to kiss you|back and mews softly into here gag.)
+KissTied,"(You kiss passionately, she gently bites|your lip as you finish and pull away.)"
+TickleTied,"(She thrashes wildly and laughs, she is very|ticklish, but is in no position to resist you now.)"
+SubbieNoItem,(She pushes your hand and the item away.)|I already have everything I need to make you mine.
+TogetherNoItem,(Jenna pushes your hand and the item away.)|I already have enough to bring you two closer together.
+SecondRope,(You push her over a nearby desk and use more|rope to tie her body and legs to it.)
+FirstRope,"(You tightly bind her body and arms,|making her quietly moan with approval.)"
+Blindfold,"(You strap the blindfold over her eyes.  It seems to|make her nervous, not knowing where her captor is.)"
+BallGag,(She playfully resists you for a while before|opening her mouth and accepting the ball.)
+ClothGag,(She playfully resists you for a while before|opening her mouth and accepting the wadding.)
+TapeGag,"(She playfully resists you, before holding her|head still and mouth closed for you to tape shut.)"
+Crop,(You whip her with the crop a few times.|She squeals with pain and submits to you.)
+VibratingEgg,"(She tries hard to resist you, but you're able|to slide it in, making her shiver.)"
+Collar,(You need +20 submission or better|and a special ceremony to collar Natalie.)
+LeaveBoundAndGagged,(Do you really want to abandon her bound|and gagged?  Click again to do so.)
diff --git a/C007_LunchBreak/Outro/Bell.jpg b/C007_LunchBreak/Outro/Bell.jpg
new file mode 100644
index 0000000000..e6a0f10b31
Binary files /dev/null and b/C007_LunchBreak/Outro/Bell.jpg differ
diff --git a/C007_LunchBreak/Outro/EatAlone.jpg b/C007_LunchBreak/Outro/EatAlone.jpg
new file mode 100644
index 0000000000..84fcc31e50
Binary files /dev/null and b/C007_LunchBreak/Outro/EatAlone.jpg differ
diff --git a/C007_LunchBreak/Outro/Script.js b/C007_LunchBreak/Outro/Script.js
new file mode 100644
index 0000000000..2a24d6e2ae
--- /dev/null
+++ b/C007_LunchBreak/Outro/Script.js
@@ -0,0 +1,81 @@
+// Chapter 7 - Lunch Break Load
+function C007_LunchBreak_Outro_Load() {
+	
+	// Time is always 12:45:00 in the outro, unlock if needed
+	StopTimer(12.75 * 60 * 60 * 1000, CurrentChapter, "Outro");
+	PlayerUnlockAllInventory();
+	PlayerClothes("Clothed");
+	ActorSpecificClearInventory("Amanda", !C007_LunchBreak_ActorSelect_EvilEnding);
+	ActorSpecificClearInventory("Sarah", !C007_LunchBreak_ActorSelect_EvilEnding);
+	ActorSpecificClearInventory("Sidney", !C007_LunchBreak_ActorSelect_EvilEnding);
+	ActorSpecificClearInventory("Jennifer", !C007_LunchBreak_ActorSelect_EvilEnding);
+	ActorSpecificClearInventory("Natalie", !C007_LunchBreak_ActorSelect_EvilEnding);
+
+	// Removes the blindfold and open gag for now, maybe we will use them in a later version
+	PlayerRemoveInventory("Blindfold", 1);
+	PlayerRemoveInventory("DoubleOpenGag", 1);
+
+}
+
+// Chapter 7 - Lunch Break  Run
+function C007_LunchBreak_Outro_Run() {
+
+	// Paints the background	
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");	
+	if (C007_LunchBreak_ActorSelect_Actor == "") DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/EatAlone.jpg", 800, 0);
+	else DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
+
+	// Special Natalie/Kinbaku dialog for the outro
+	if (C007_LunchBreak_ActorSelect_Kinbaku) {
+		if (TextPhase >= 0) DrawText(ctx, GetText("Kinbaku1"), 400, 150, "White");
+		if (TextPhase >= 1) DrawText(ctx, GetText("Kinbaku2"), 400, 300, "White");
+		if (TextPhase >= 2) DrawText(ctx, GetText("Kinbaku3"), 400, 450, "White");		
+	} else {
+
+		// Text for eating alone
+		if (C007_LunchBreak_ActorSelect_Actor == "") {
+			if (TextPhase >= 0) DrawText(ctx, GetText("EatAlone1"), 400, 150, "White");
+			if (TextPhase >= 1) DrawText(ctx, GetText("EatAlone2"), 400, 300, "White");
+			if (TextPhase >= 2) DrawText(ctx, GetText("EatAlone3"), 400, 450, "White");
+		}
+
+		// Text for no food leave
+		if ((C007_LunchBreak_ActorSelect_Actor != "") && C007_LunchBreak_ActorSelect_NoFood) {
+			if (TextPhase >= 0) DrawText(ctx, GetText("NoFood1"), 400, 150, "White");
+			if (TextPhase >= 1) DrawText(ctx, GetText("NoFood2"), 400, 300, "White");
+			if (TextPhase >= 2) DrawText(ctx, GetText("NoFood3"), 400, 450, "White");
+		}
+
+		// Text for early/evil leave
+		if ((C007_LunchBreak_ActorSelect_Actor != "") && (C007_LunchBreak_ActorSelect_EarlyLeave || C007_LunchBreak_ActorSelect_EvilEnding) && !C007_LunchBreak_ActorSelect_NoFood) {
+			if ((TextPhase >= 0) && !C007_LunchBreak_ActorSelect_EvilEnding) DrawText(ctx, GetText("Early1"), 400, 150, "White");
+			if ((TextPhase >= 0) && C007_LunchBreak_ActorSelect_EvilEnding) DrawText(ctx, GetText("Evil1"), 400, 150, "White");
+			if (TextPhase >= 1) DrawText(ctx, GetText("EvilEarly2"), 400, 300, "White");
+			if (TextPhase >= 2) DrawText(ctx, GetText("EvilEarly3"), 400, 450, "White");
+		}
+
+		// Text for eating with someone
+		if ((C007_LunchBreak_ActorSelect_Actor != "") && !C007_LunchBreak_ActorSelect_EarlyLeave && !C007_LunchBreak_ActorSelect_EvilEnding && !C007_LunchBreak_ActorSelect_NoFood) {
+			if (TextPhase >= 0) DrawText(ctx, GetText("RegularBonus1"), 400, 150, "White");
+			if ((TextPhase >= 1) && C007_LunchBreak_ActorSelect_BonusDone) DrawText(ctx, GetText("Bonus2"), 400, 300, "White");
+			if ((TextPhase >= 1) && !C007_LunchBreak_ActorSelect_BonusDone) DrawText(ctx, GetText("Regular2"), 400, 300, "White");
+			if (TextPhase >= 2) DrawText(ctx, GetText("RegularBonus3"), 400, 450, "White");
+		}
+
+	}
+
+}
+
+// Chapter 7 - Lunch Break  Click
+function C007_LunchBreak_Outro_Click() {
+
+	// Jump to the next animation
+	TextPhase++;
+			
+	// Jump to lunch on phase 3
+	if (TextPhase >= 3) {
+		SaveMenu("C008_DramaClass", "Intro");
+	}
+
+}
\ No newline at end of file
diff --git a/C007_LunchBreak/Outro/Text_EN.csv b/C007_LunchBreak/Outro/Text_EN.csv
new file mode 100644
index 0000000000..8d7603572c
--- /dev/null
+++ b/C007_LunchBreak/Outro/Text_EN.csv
@@ -0,0 +1,18 @@
+Tag,Content
+EatAlone1,"Unable or too shy to find a friend, you eat lunch alone."
+EatAlone2,You find a restaurant near the school and sit by yourself.
+EatAlone3,"Once your meal is over, you head back for your next class."
+Evil1,You turn around with a grin while she struggles.
+Early1,"Tired or annoyed, you leave from your lunch break."
+EvilEarly2,You walk back to the lockers and the bell rings.
+EvilEarly3,Hurry up!  Better not be late for your next class.
+RegularBonus1,"The bell rings, and you both walk back to school."
+Regular2,You wave each other goodbye and go to the lockers.
+Bonus2,"Right before splitting, she blows you a sweet kiss."
+RegularBonus3,Hurry up!  Better not be late for your next class.
+NoFood1,You're released and the bell rings while you walk back.
+NoFood2,Your stomach grumbles but there's not enough time.
+NoFood3,Hurry up!  Better not be late for your next class.
+Kinbaku1,Everyone is released before the bell rings.
+Kinbaku2,Natalie offers you a club enrolment form.
+Kinbaku3,You walk back and head for your next class.
diff --git a/C007_LunchBreak/Sarah/Intro_EN.csv b/C007_LunchBreak/Sarah/Intro_EN.csv
new file mode 100644
index 0000000000..fb0f8b21e4
--- /dev/null
+++ b/C007_LunchBreak/Sarah/Intro_EN.csv
@@ -0,0 +1,35 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,It's lunch time COMMON_PLAYERNAME.|Are you feeling hungry?,SarahIntro.jpg
+0,5,0,,COMMON_PLAYERNAME!  It's great to see|you at lunch time.  Are you hungry?,SarahIntroHappy.jpg
+0,0,5,,Hi Miss COMMON_PLAYERNAME.  (She looks at the floor.)|It's lunch time.  Are you feeling hungry?,SarahIntroSubbie.jpg
+0,0,0,HasEgg,COMMON_PLAYERNAME!  The egg is still inside and I love|the random buzzes.  (She giggles.)  Are you hungry?,SarahIntroHappy.jpg
+5,0,0,,(Sarah sees you but run away.|She pretends to be in a hurry.),SarahIntroGone.jpg
+10,0,0,,You can try the college cafeteria|if you want but the food isn't great.,SarahIntro.jpg
+10,0,5,,If you're really hungry you can try|the cafeteria but I don't recommend it Miss.,SarahIntroSubbie.jpg
+20,0,0,,There's a small cafe nearby|you could try if you want.,SarahIntro.jpg
+20,0,5,,"Miss, there's a cafe nearby|you could try if you want.",SarahIntroSubbie.jpg
+30,0,0,,Would you like to go|to the cafe with me now?,SarahIntro.jpg
+30,0,5,,"Miss, would you like to leave|for the cafe with me right now?",SarahIntroSubbie.jpg
+40,0,0,,Sorry I cannot go eat with you.|I already have plans for lunch.,SarahIntro.jpg
+50,0,0,,,SarahIntroGone.jpg
+100,0,0,,,SarahPlayerLunch0.jpg
+110,0,0,,,SarahPlayerLunch0.jpg
+120,0,0,,,SarahPlayerLunch0.jpg
+130,0,0,,,SarahPlayerLunch0.jpg
+140,0,0,,,SarahPlayerLunch0.jpg
+150,0,0,,,SarahPlayerLunch0.jpg
+160,0,0,,,SarahPlayerLunch0.jpg
+170,0,0,,,SarahPlayerLunchGone.jpg
+180,0,0,,,RestroomDoor.jpg
+190,0,0,,,SarahPlayerLunch0.jpg
+200,0,0,,,SarahRestroom.jpg
+210,0,0,,,SarahRestroom.jpg
+220,0,0,,,SarahPlayerRestroomKiss.jpg
+230,0,0,,,SarahRestroom.jpg
+240,0,0,,,SarahPlayerRestroomNaked.jpg
+250,0,0,,,SarahPlayerRestroomLove.jpg
+260,0,0,,,SarahPlayerRestroomLove.jpg
+270,0,0,,,SarahPlayerRestroomNaked.jpg
+300,0,0,,,SarahPlayerLunch0.jpg
+310,0,0,,,SarahPlayerLunch0.jpg
+320,0,0,,,SarahPlayerLunch0.jpg
diff --git a/C007_LunchBreak/Sarah/RestroomDoor.jpg b/C007_LunchBreak/Sarah/RestroomDoor.jpg
new file mode 100644
index 0000000000..7f1f81cc57
Binary files /dev/null and b/C007_LunchBreak/Sarah/RestroomDoor.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahIntro.jpg b/C007_LunchBreak/Sarah/SarahIntro.jpg
new file mode 100644
index 0000000000..caf7adf4a3
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahIntro.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahIntroGone.jpg b/C007_LunchBreak/Sarah/SarahIntroGone.jpg
new file mode 100644
index 0000000000..4eb0703688
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahIntroGone.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahIntroHappy.jpg b/C007_LunchBreak/Sarah/SarahIntroHappy.jpg
new file mode 100644
index 0000000000..74e42a5e4a
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahIntroHappy.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahIntroSubbie.jpg b/C007_LunchBreak/Sarah/SarahIntroSubbie.jpg
new file mode 100644
index 0000000000..763f0b27eb
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahIntroSubbie.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerLunch0.jpg b/C007_LunchBreak/Sarah/SarahPlayerLunch0.jpg
new file mode 100644
index 0000000000..8d91d6638a
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerLunch0.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerLunch1.jpg b/C007_LunchBreak/Sarah/SarahPlayerLunch1.jpg
new file mode 100644
index 0000000000..a20fddb5fa
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerLunch1.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerLunch2.jpg b/C007_LunchBreak/Sarah/SarahPlayerLunch2.jpg
new file mode 100644
index 0000000000..ab60cc2e39
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerLunch2.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerLunchGone.jpg b/C007_LunchBreak/Sarah/SarahPlayerLunchGone.jpg
new file mode 100644
index 0000000000..c933811fa1
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerLunchGone.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomKiss.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomKiss.jpg
new file mode 100644
index 0000000000..40453c6ec1
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomKiss.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLove.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLove.jpg
new file mode 100644
index 0000000000..6fab84b3c5
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLove.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveBallGag.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveBallGag.jpg
new file mode 100644
index 0000000000..9d679965b9
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveBallGag.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveCuffs.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveCuffs.jpg
new file mode 100644
index 0000000000..9f442e13e1
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveCuffs.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveCuffsBallGag.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveCuffsBallGag.jpg
new file mode 100644
index 0000000000..0c303116bb
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveCuffsBallGag.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveCuffsTapeGag.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveCuffsTapeGag.jpg
new file mode 100644
index 0000000000..3d7b22466e
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveCuffsTapeGag.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveRope.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveRope.jpg
new file mode 100644
index 0000000000..33bd1b0856
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveRope.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveRopeBallGag.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveRopeBallGag.jpg
new file mode 100644
index 0000000000..dcb7658c2c
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveRopeBallGag.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveRopeTapeGag.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveRopeTapeGag.jpg
new file mode 100644
index 0000000000..6455e3fd21
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveRopeTapeGag.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTapeGag.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTapeGag.jpg
new file mode 100644
index 0000000000..d06c717b1b
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTapeGag.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTwoRopes.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTwoRopes.jpg
new file mode 100644
index 0000000000..48c270db76
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTwoRopes.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTwoRopesBallGag.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTwoRopesBallGag.jpg
new file mode 100644
index 0000000000..574e2fda49
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTwoRopesBallGag.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTwoRopesTapeGag.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTwoRopesTapeGag.jpg
new file mode 100644
index 0000000000..788adc6d07
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomLoveTwoRopesTapeGag.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahPlayerRestroomNaked.jpg b/C007_LunchBreak/Sarah/SarahPlayerRestroomNaked.jpg
new file mode 100644
index 0000000000..f2b1f9dbce
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahPlayerRestroomNaked.jpg differ
diff --git a/C007_LunchBreak/Sarah/SarahRestroom.jpg b/C007_LunchBreak/Sarah/SarahRestroom.jpg
new file mode 100644
index 0000000000..9936a24064
Binary files /dev/null and b/C007_LunchBreak/Sarah/SarahRestroom.jpg differ
diff --git a/C007_LunchBreak/Sarah/Script.js b/C007_LunchBreak/Sarah/Script.js
new file mode 100644
index 0000000000..93e3694722
--- /dev/null
+++ b/C007_LunchBreak/Sarah/Script.js
@@ -0,0 +1,321 @@
+var C007_LunchBreak_Sarah_CurrentStage = 0;
+var C007_LunchBreak_Sarah_NoOption = false; // NoOption means that there's no options to go eat with her
+var C007_LunchBreak_Sarah_MatchCount = 0; // At 4 or more, there's a good match
+var C007_LunchBreak_Sarah_IntroText = "";
+var C007_LunchBreak_Sarah_LeaveIcon = "";
+var C007_LunchBreak_Sarah_RestroomTimer = 0;
+var C007_LunchBreak_Sarah_LoveCount = 0;
+var C007_LunchBreak_Sarah_ViolenceDone = 0;
+var C007_LunchBreak_Sarah_IsRoped = false;
+var C007_LunchBreak_Sarah_IsGagged = false;
+var C007_LunchBreak_Sarah_IsBoundAndGagged = false;
+var C007_LunchBreak_Sarah_HasEgg = false;
+var C007_LunchBreak_Sarah_TwoRopes = false;
+var C007_LunchBreak_Sarah_ConfirmEvil = false;
+
+// Calculates the screen parameters
+function C007_LunchBreak_Sarah_CalcParams() {
+
+	// Check if there's no options to go eat
+	C007_LunchBreak_Sarah_NoOption = ((ActorGetValue(ActorLove) < 5) && (ActorGetValue(ActorSubmission) < 5));
+
+	// No special images by default
+	OverridenIntroImage = "";
+	
+	// Between 100 and 200, the image evolves with the number of matches
+	if ((C007_LunchBreak_Sarah_CurrentStage == 100) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 110) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 120) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 130) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 140) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 150) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 160) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 190) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 300) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 310) ||
+	    (C007_LunchBreak_Sarah_CurrentStage == 320)) {
+		var Img = "0";
+		if ((C007_LunchBreak_Sarah_MatchCount == 2) || (C007_LunchBreak_Sarah_MatchCount == 3)) Img = "1";
+		if (C007_LunchBreak_Sarah_MatchCount >= 4) Img = "2";
+		OverridenIntroImage = "SarahPlayerLunch" + Img + ".jpg";
+	}
+
+	// At 250 & 260 the player and Sarah make love, many restrains can be applied
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) || (C007_LunchBreak_Sarah_CurrentStage == 260)) {
+		var Img = "";
+		if (ActorHasInventory("Rope") && !C007_LunchBreak_Sarah_TwoRopes) Img = Img + "Rope";
+		if (ActorHasInventory("Rope") && C007_LunchBreak_Sarah_TwoRopes) Img = Img + "TwoRopes";
+		if (ActorHasInventory("Cuffs")) Img = Img + "Cuffs";
+		if (ActorHasInventory("BallGag")) Img = Img + "BallGag";
+		if (ActorHasInventory("TapeGag")) Img = Img + "TapeGag";
+		OverridenIntroImage = "SarahPlayerRestroomLove" + Img + ".jpg";
+	}
+	
+	// Keep the status of Sarah
+	C007_LunchBreak_Sarah_IsBoundAndGagged = ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag")));
+	C007_LunchBreak_Sarah_HasEgg = ActorHasInventory("VibratingEgg");
+	
+}
+
+// Chapter 7 - Sarah Load
+function C007_LunchBreak_Sarah_Load() {
+
+	// Load the scene parameters
+	ActorLoad("Sarah", "ActorSelect");
+	LoadInteractions();
+	C007_LunchBreak_Sarah_CalcParams();
+	
+	// If Sarah doesn't like the player and isn't subbie enough, she leaves and don't talk
+	if ((ActorGetValue(ActorLove) <= -3) && (ActorGetValue(ActorSubmission) <= 2) && (C007_LunchBreak_Sarah_CurrentStage == 0)) {
+		C007_LunchBreak_Sarah_CurrentStage = 5;
+		C007_LunchBreak_ActorSelect_SarahAvail = false;
+	}
+
+	// If we must put the previous text back
+	if ((C007_LunchBreak_Sarah_IntroText != "") && (C007_LunchBreak_Sarah_CurrentStage > 0)) {
+		OverridenIntroText = C007_LunchBreak_Sarah_IntroText;
+		LeaveIcon = C007_LunchBreak_Sarah_LeaveIcon;
+	}
+
+}
+
+// Chapter 7 - Sarah Run
+function C007_LunchBreak_Sarah_Run() {
+	BuildInteraction(C007_LunchBreak_Sarah_CurrentStage);
+}
+
+// Chapter 7 - Sarah Click
+function C007_LunchBreak_Sarah_Click() {	
+
+	// Regular and inventory interactions
+	ClickInteraction(C007_LunchBreak_Sarah_CurrentStage);
+	var ClickInv = GetClickedInventory();
+	if (ClickInv == "Player") {
+		C007_LunchBreak_Sarah_IntroText = OverridenIntroText;
+		C007_LunchBreak_Sarah_LeaveIcon = LeaveIcon;
+		InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
+	}
+
+	// When the user wants to use a second rope
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "Rope") && ActorHasInventory("Rope") && !ActorHasInventory("Cuffs") && !C007_LunchBreak_Sarah_TwoRopes) {
+		OverridenIntroText = GetText("SecondRope");
+		PlayerRemoveInventory("Rope", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Sarah_TwoRopes = true;
+	}
+	
+	// When the user wants to use the rope
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("FirstRope");
+		ActorAddInventory("Rope");
+		PlayerRemoveInventory("Rope", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Sarah_IsRoped = true;
+	}
+	
+	// When the user wants to use the cuffs
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "Cuffs") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("Cuffs");
+		ActorAddInventory("Cuffs");
+		PlayerRemoveInventory("Cuffs", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the BallGag
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "BallGag") && !ActorHasInventory("BallGag")) {
+		OverridenIntroText = GetText("BallGag");
+		ActorRemoveInventory("TapeGag");
+		ActorAddInventory("BallGag");
+		PlayerRemoveInventory("BallGag", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Sarah_IsGagged = true;
+	}
+	
+	// When the user wants to use the tape gag
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "TapeGag") && !ActorHasInventory("TapeGag")) {
+		OverridenIntroText = GetText("TapeGag");		
+		C007_LunchBreak_Sarah_Ungag();
+		ActorAddInventory("TapeGag");
+		PlayerRemoveInventory("TapeGag", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Sarah_IsGagged = true;
+	}
+	
+	// When the user wants to use the cuffs keys
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "CuffsKey") && ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("Uncuff");
+		ActorRemoveInventory("Cuffs");
+		PlayerAddInventory("Cuffs", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the crop
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "Crop")) {
+		OverridenIntroText = GetText("Crop");
+		C007_LunchBreak_Sarah_Violence();
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the egg
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg")) {
+		OverridenIntroText = GetText("VibratingEgg");
+		ActorChangeAttitude(1, 0);
+		ActorAddInventory("VibratingEgg");
+		PlayerRemoveInventory("VibratingEgg", 1);
+		CurrentTime = CurrentTime + 60000;
+	}	
+
+	// When the user wants to use the collar (+20 submission and a ceremony is required)
+	if ((C007_LunchBreak_Sarah_CurrentStage == 250) && (ClickInv == "Collar") && !ActorHasInventory("Collar"))
+		OverridenIntroText = GetText("Collar");
+
+	// Recalculates the scene parameters
+	C007_LunchBreak_Sarah_CalcParams();
+
+}
+
+// Chapter 7 - Sarah Start Lunch
+function C007_LunchBreak_Sarah_StartLunch() {	
+	CurrentTime = CurrentTime + 480000;
+	LeaveIcon = "";
+}
+
+// Chapter 7 - Sarah End Lunch
+function C007_LunchBreak_Sarah_EndLunch() {
+	C007_LunchBreak_ActorSelect_SarahAvail = false;
+}
+
+// Chapter 7 - Sarah Good Match
+function C007_LunchBreak_Sarah_GoodMatch() {
+	C007_LunchBreak_Sarah_MatchCount++;
+	C007_LunchBreak_Sarah_CalcParams();
+}
+
+// Chapter 7 - Sarah Bad Match
+function C007_LunchBreak_Sarah_BadMatch() {
+	C007_LunchBreak_Sarah_MatchCount--;
+	C007_LunchBreak_Sarah_CalcParams();
+}
+
+// Chapter 7 - Sarah Leave Stranded
+function C007_LunchBreak_Sarah_LeaveStranded() {
+	C007_LunchBreak_ActorSelect_EarlyLeave = true;
+	SetScene(CurrentChapter, "Outro");
+}
+
+// Chapter 7 - Sarah Restroom Timer Start (it will run for 7 minutes)
+function C007_LunchBreak_Sarah_RestroomTimerStart(GoodMatch) {
+	if (GoodMatch) C007_LunchBreak_Sarah_MatchCount++;
+	else C007_LunchBreak_Sarah_MatchCount--;
+	C007_LunchBreak_Sarah_RestroomTimer = CurrentTime + 420000;
+}
+
+// Chapter 7 - Sarah Restroom Timer Run (it will run for 7 minutes)
+function C007_LunchBreak_Sarah_RestroomTimerRun() {
+	if (CurrentTime >= C007_LunchBreak_Sarah_RestroomTimer) {
+		OverridenIntroText = GetText("BackFromRestroom");
+		C007_LunchBreak_Sarah_CurrentStage = 190;
+		C007_LunchBreak_Sarah_CalcParams();
+	}
+}
+
+// Chapter 7 - Sarah Test Restroom door (Sarah will let the player enter if there's a good match +3 or more)
+function C007_LunchBreak_Sarah_RestroomTestDoor() {
+	if (C007_LunchBreak_Sarah_MatchCount >= 4) {
+		OverridenIntroText = GetText("OpenRestroomDoor");
+		C007_LunchBreak_Sarah_CurrentStage = 200;
+		C007_LunchBreak_Sarah_CalcParams();
+	}
+}
+
+// Chapter 7 - Sarah Strip
+function C007_LunchBreak_Sarah_Strip() {
+	PlayerClothes("Naked");
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Sarah Dress
+function C007_LunchBreak_Sarah_Dress() {
+	PlayerClothes("Clothed");
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Sarah Bonus Done
+function C007_LunchBreak_Sarah_BonusDone() {
+	C007_LunchBreak_ActorSelect_BonusDone = true;
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Sarah Make Love (for Sarah to orgasm, she needs 3 stimulations and violence or the egg)
+function C007_LunchBreak_Sarah_MakeLove() {
+	C007_LunchBreak_Sarah_LoveCount++;
+	if ((C007_LunchBreak_Sarah_LoveCount >= 3) && (C007_LunchBreak_Sarah_ViolenceDone || ActorHasInventory("VibratingEgg"))) {
+		OverridenIntroText = GetText("Orgasm");
+		ActorAddOrgasm();
+		C007_LunchBreak_Sarah_CurrentStage = 260;
+	}
+}
+
+// Chapter 7 - Sarah Violence
+function C007_LunchBreak_Sarah_Violence() {
+	if (C007_LunchBreak_Sarah_ViolenceDone == false) {
+		C007_LunchBreak_Sarah_ViolenceDone = true;
+		ActorChangeAttitude(1, 1);
+	}
+}
+
+// Chapter 7 - Sarah Untie
+function C007_LunchBreak_Sarah_Untie() {
+	if (ActorHasInventory("Rope")) {
+		ActorRemoveInventory("Rope");
+		PlayerAddInventory("Rope", 1);		
+		if (C007_LunchBreak_Sarah_TwoRopes) {
+			PlayerAddInventory("Rope", 1);
+			C007_LunchBreak_Sarah_TwoRopes = false;
+		}
+		C007_LunchBreak_Sarah_IsRoped = false;
+	}
+}
+
+// Chapter 7 - Sarah Ungag
+function C007_LunchBreak_Sarah_Ungag() {
+	ActorRemoveInventory("TapeGag");
+	if (ActorHasInventory("BallGag")) {
+		ActorRemoveInventory("BallGag");
+		PlayerAddInventory("BallGag", 1);
+	}
+	C007_LunchBreak_Sarah_IsGagged = false;
+}
+
+// Chapter 7 - Sarah Release
+function C007_LunchBreak_Sarah_Release() {
+	C007_LunchBreak_Sarah_Untie();
+	C007_LunchBreak_Sarah_Ungag();	
+	if (ActorHasInventory("Cuffs")) {
+		ActorRemoveInventory("Cuffs");
+		PlayerAddInventory("Cuffs", 1);
+	}
+}
+
+// Chapter 7 - Sarah Eat Lunch (Requires 15 minutes)
+function C007_LunchBreak_Sarah_EatLunch() {
+	C007_LunchBreak_Sarah_RestroomTimer = CurrentTime + 900000;
+}
+
+// Chapter 7 - Sarah End Chapter
+function C007_LunchBreak_Sarah_EndChapter() {
+	SetScene(CurrentChapter, "Outro");
+}
+
+// Chapter 7 - Sarah Evil End Chapter (Leave her bound and gagged)
+function C007_LunchBreak_Sarah_EvilEnd() {
+	if (C007_LunchBreak_Sarah_ConfirmEvil) {
+		C007_LunchBreak_ActorSelect_EvilEnding = true;
+		Common_PlayerCrime = "SarahStranded";
+		ActorChangeAttitude(-5, 1);
+		SetScene(CurrentChapter, "Outro");		
+	} else {
+		OverridenIntroText = GetText("LeaveBoundAndGagged");
+		C007_LunchBreak_Sarah_ConfirmEvil = true;
+	}
+}
\ No newline at end of file
diff --git a/C007_LunchBreak/Sarah/Stage_EN.csv b/C007_LunchBreak/Sarah/Stage_EN.csv
new file mode 100644
index 0000000000..f210919691
--- /dev/null
+++ b/C007_LunchBreak/Sarah/Stage_EN.csv
@@ -0,0 +1,129 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Hungry like the wolf!,(She sings.)  Hungry like the wolf!|Are you going out or eating here?,10,1,0,
+0,0,0,,I don't know.  Maybe|I should skip lunch.,Oh no!  You have to eat something.|There's the cafeteria or you can go out.,10,0,-1,
+0,0,0,,Hungry for you.,(She giggles.)  What?  Who?  Me?|Are you going out or eating here?,10,0,1,
+0,0,0,,Hungry?  Only if they|serve food without GMO.,I have no idea what that means.|Are you going out or eating here?,10,-1,0,
+10,0,0,,I don't know.|What should I do?,Try the cafe nearby.  I go there|with my best friend pretty often.,20,0,-1,
+10,0,0,,What's best?,Try the cafe nearby.  I go there|with my best friend pretty often.,20,0,0,
+10,0,0,,Go out?  Anything|to get out of here.,Try the cafe nearby then.  I go there|with my best friend pretty often.,20,-1,0,
+20,5,0,,Ok!  Will you come|with me cutie?,"Cutie?  (She giggles and smiles.)|Alright, should we go right now?",30,1,0,
+20,0,5,,Perfect!  Come|with me girl.,I was planning to...  Never mind.|I'll gladly show you the cafe Miss.,30,0,1,
+20,0,0,NoOption,Do you want to|go there with me?,"I can't, I already have plans for lunch.",40,0,0,
+20,0,0,NoOption,Could you show|me that place?,"I can't, I already have plans for lunch.",40,0,0,
+20,0,0,,I'll try the cafe.|See you later.,Of course!  (She turns around|and heads out for lunch.),50,0,0,EndLunch()
+30,0,0,,Let's go now!|(Eat with Sarah.),(You both walk out to a nearby|restaurant and find an empty table.),100,0,0,StartLunch()
+40,0,0,,"Ok, see you later.",Of course!  (She waves|and heads up for lunch.),50,0,0,EndLunch()
+40,0,0,,Have a great|lunch then!,Absolutely!  (She waves|and heads up for lunch.),50,1,0,EndLunch()
+40,0,0,,You suck.,"No, you suck!  (She turns|around and heads out for lunch.)",50,-2,0,EndLunch()
+100,0,0,,So what do|you recommend?,The nacho plate kicks ass here!|So do you like the school so far?,110,0,0,
+100,0,0,,I'm starving!|What's good here?,(She giggles.)  I love the nacho plate.|So do you like the school so far?,110,0,1,
+100,0,0,,I don't know what to eat.|Can you order for me?,"I don't know, check the menu.|So do you like the school so far?",110,0,-1,
+110,0,0,,Oh yes!  It seems|like a good academy.,"Yes and no, the classes can get boring.|And what do you want to do in life?",120,0,0,
+110,0,0,,This college is|a nuts house.,(She laughs out loud.)  Very true!|And what do you want to do in life?,120,0,0,GoodMatch()
+110,0,0,,I've never seen a|kinky college like that.,(She laughs out loud.)  Absolutely!|And what do you want to do in life?,120,0,0,GoodMatch()
+110,0,0,,It's hard to judge|from a few hours.,"We're only chatting, you can be honest.|And what do you want to do in life?",120,0,0,BadMatch()
+110,0,0,,It's a pretty|boring school.,"Yeah, some classes can get boring I guess.|And what do you want to do in life?",120,0,0,
+120,0,0,,A musician.,Sweet!  And what's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,A doctor.,Alright.  And what's your favorite class?,130,0,0,
+120,0,0,,An athlete.,Alright.  And what's your favorite class?,130,0,0,
+120,0,0,,A teacher.,Alright.  And what's your favorite class?,130,0,0,
+120,0,0,,An actor.,Sweet!  And what's your favorite class?,130,0,0,GoodMatch()
+120,0,0,,A dominatrix.,(She blushes.)  And what's your favorite class?,130,0,1,GoodMatch()
+120,0,0,,An architect.,Boring!  And what's your favorite class?,130,0,0,BadMatch()
+120,0,0,,A farmer.,Eeeeew!  With pigs and corn?|And what's your favorite class?,130,-1,0,BadMatch()
+120,0,0,,A programmer.,Boring!  And what's your favorite class?,130,0,0,BadMatch()
+120,0,0,,I don't know yet.,"Same here, I don't know what I want.|What's your favorite class?",130,0,0,GoodMatch()
+130,0,0,,Math.,For real?  And what do you do outside of school?,140,0,0,BadMatch()
+130,0,0,,Music.,Sweet!  And what do you do outside of school?,140,0,0,GoodMatch()
+130,0,0,,English.,Alright.  And what do you do outside of school?,140,0,0,
+130,0,0,,Gym.,Alright.  And what do you do outside of school?,140,0,0,
+130,0,0,,Chemistry.,For real?  And what do you do outside of school?,140,0,0,BadMatch()
+130,0,0,,French.,Sweet!  And what do you do outside of school?,140,0,0,GoodMatch()
+130,0,0,,Art.,Sweet!  And what do you do outside of school?,140,0,0,GoodMatch()
+130,0,0,,History.,Alright.  And what do you do outside of school?,140,0,0,
+130,0,0,,Theatre.,Sweet!  And what do you do outside of school?,140,0,0,GoodMatch()
+130,0,0,,I don't know.,"Don't be shy, it's only chit chat.|And what do you do outside of school?",140,0,0,BadMatch()
+140,0,0,,Basketball.,Mmmmhmmm.  (A waitress|interrupts to take your order.),150,0,0,
+140,0,0,,Rock music.,That's great!  (A waitress|interrupts to take your order.),150,0,0,GoodMatch()
+140,0,0,,Video games.,Mmmmhmmm.  (A waitress|interrupts to take your order.),150,0,0,
+140,0,0,,Cheerleading.,Mmmmhmmm.  (A waitress|interrupts to take your order.),150,0,0,
+140,0,0,,Going to parties.,That's great!  (A waitress|interrupts to take your order.),150,0,0,GoodMatch()
+140,0,0,,Role playing games.,Mmmmhmmm.  (A waitress|interrupts to take your order.),150,0,0,
+140,0,0,,Getting drunk.,Nothing wrong here!  (A waitress|interrupts to take your order.),150,0,0,GoodMatch()
+140,0,0,,Classical music.,That sounds boring.  (A waitress|interrupts to take your order.),150,0,0,BadMatch()
+140,0,0,,Making love.,(She nods and blushes.)  You're so kinky!|(A waitress interrupts to take your order.),150,1,0,GoodMatch()
+140,0,0,,I don't have|any hobbies.,Really?  Nothing?  (A waitress|interrupts to take your order.),150,0,0,BadMatch()
+150,0,0,,A salad please.,(She smiles and orders a nacho platter.)|My roommate loves the soup and salad here.,160,0,0,GoodMatch()
+150,0,0,,A steak please.,"(She smiles and orders a nacho platter.)|Next time try the nacho, there's three kinds of cheeses.",160,0,0,
+150,0,0,,A soup please.,(She smiles and orders a nacho platter.)|My roommate loves the soup and salad here.,160,0,0,GoodMatch()
+150,0,0,,A hamburger please.,(She orders a nacho platter.)|I can't eat fast food anymore.,160,0,0,BadMatch()
+150,0,0,,A nacho platter please.,(She smiles and orders the same.)|Best decision of your life!,160,0,0,GoodMatch()
+150,0,0,,Only cheesecake please.,Only cheesecake?  That's a great idea!|(She also orders cheesecake and smiles.),160,0,0,GoodMatch()
+150,0,0,,Soup and salad please.,(She smiles and orders a nacho platter.)|My roommate loves the soup and salad here.,160,0,0,GoodMatch()
+150,0,0,,A chili dog please.,(She orders a nacho platter.)|I can't eat fast food anymore.,160,0,0,BadMatch()
+150,0,0,,Fettuccine alfredo please.,"(She smiles and orders a nacho platter.)|Next time try the nacho, there's three kinds of cheeses.",160,0,0,
+150,0,0,,Only water please.,(She orders a nacho platter.)|Only water?  Are you feeling sick?,160,0,0,
+160,0,0,,I hope they are quick.|I can't be late for class.,"You worry too much, I'm always late.|I'll go wash my hands.  (She goes to the restroom.)",170,0,-1,RestroomTimerStart(false)
+160,0,0,,So you're a cute mouse|that loves cheese?,Yes I am!  (She does a silly mouse imitation.)|I'll go wash my hands.  (She goes to the restroom.),170,1,0,RestroomTimerStart(true)
+160,0,0,,"Don't worry about|the bill, I'll take it.",You will?  That's very generous of you.|I'll go wash my hands.  (She goes to the restroom.),170,0,1,RestroomTimerStart(true)
+160,0,0,,Can you take the bill?|I'll take the next one.,Mmmh.  I guess.  (She looks unhappy.)|I'll go wash my hands.  (She goes to the restroom.),170,-1,0,RestroomTimerStart(false)
+170,0,0,,(Wait patiently.)|(1 minute),You wait patiently but she's|not back from the restroom yet.,170,0,0,RestroomTimerRun()
+170,0,0,,(Look outside.)|(1 minute),You check the people outside and wait.|She's not back from the restroom yet.,170,0,0,RestroomTimerRun()
+170,0,0,,(Go to the restroom.),You go to the small restroom|but the only door is closed.,180,0,0,
+170,0,0,,(Leave the cafe.)|(Back to college.),,0,-3,0,LeaveStranded()
+180,0,0,,(Wait by the door.)|(1 minute),(You wait patiently by the|door but she doesn't come out.),180,0,0,RestroomTimerRun()
+180,0,0,,(Knock at the door.),(You can hear Sarah's voice)|Gimme one minute please!,180,0,0,
+180,0,0,,(Open the door.),(You try to open the|door but it's locked.),180,0,0,
+180,0,0,,(Force the door.),(You try to force the door|open but it doesn't move.),180,0,0,
+180,0,0,,Sarah!  Let me in!,(Sarah screams back.)|Gimme a minute!,180,0,0,RestroomTestDoor()
+180,0,0,,Hurry up!,(Sarah screams back.)|One minute please!,180,0,0,RestroomTestDoor()
+180,0,0,,(Go back to|your seat.),,170,0,0,
+180,0,0,,(Leave the cafe.)|(Back to college.),,0,-3,0,LeaveStranded()
+190,0,0,,That took you long!,(She giggles.)  The story of my life.|(The waitress brings the food.),300,0,0,
+190,0,0,,Girl.  Never make|me wait like that.,I'm sorry.  Was it that long?|(The waitress brings the food.),300,-1,1,
+190,0,0,,You have lovely|hands to wash.,(She smiles.)  Thanks!  It wasn't too long?|(The waitress brings the food.),300,1,0,
+190,0,0,,Who takes ten minutes|to wash her hands?,Ten minutes?  Was it that long?|(The waitress brings the food.),300,-1,0,
+200,5,0,,I also need to|wash my hands.,Aaaw!  Don't be shy and admit it.|There's another reason. (She winks.),210,0,-1,
+200,5,0,,I wanted more privacy.,More privacy?  (She giggles.)|And why do you need that?,210,0,0,
+200,5,0,,"Sarah, can I kiss you?","(Without a word, you both hug each|other in a loving embrace and kiss slowly.)",220,1,0,
+200,0,5,,(Stay silent and|lock the door.),(She looks a little nervous.)|What is going on Miss?,230,0,1,
+200,0,5,,"Girl, I will|have you now.","What?  But Miss, we are in a public place.",230,-1,1,
+200,0,0,,The food must be ready.|(Back to your table.),(She nods and you both go back to your table.),300,0,0,
+210,0,0,,(Grab her and|kiss her.),(She doesn't resist while you|hug her and kiss her lovingly.),220,0,1,
+210,0,0,,It would be heaven|if I could kiss your lips.,(She giggles.)  You're so romantic!|(She hugs you and kisses you slowly.),220,0,-1,
+210,0,0,,I love you Sarah.|Can I kiss you?,"(Without a word, you both hug each|other in a loving embrace and kiss slowly.)",220,1,0,
+210,0,5,,"Girl, I will|have you now.","What?  But Miss, we are in a public place.",230,-1,1,
+210,0,0,,The food must be ready.|(Back to your table.),(She nods and you both go back to your table.),300,0,0,
+220,0,0,,(Kiss her again)|(1 minute),(You slowly kiss each other|in the restaurant restroom.),220,0,0,
+220,0,0,,Let's be naughty!,(She giggles.)  Naughty?|What do you have in mind?,230,0,0,
+220,0,5,,"Girl, I will|have you now.","What?  But Miss, we are in a public place.",230,-1,1,
+220,0,0,,The food must be ready.|(Back to your table.),(She sighs and you both go back to your table.),300,-1,0,
+230,0,0,,I want to make love.|To be naked with you.,(You both strip down and look at each other.)|This is so kinky!  (She makes sure the door is locked.),240,1,0,Strip()
+230,0,0,,I want you naked|and properly tied up.,Oh yes Miss!  (She makes sure the|door is locked and you both strip down.),240,0,1,Strip()
+230,0,0,,Are you game to|strip with me?,Ha!  Of course.  (She makes sure the|door is locked and you both strip down.),240,0,0,Strip()
+230,0,0,,The food must be ready.|(Back to your table.),(She sighs and you both go back to your table.),300,-1,0,
+240,5,0,,You're so pretty Sarah.|(Make love with Sarah.),Oh yes!  And did you bring|some kinky toys with you?,250,0,0,BonusDone()
+240,0,5,,Come here girl.|(Make love with Sarah.),Of course!  And did you bring|some kinky toys with you Miss?,250,0,0,BonusDone()
+240,0,0,,We should stop this.|(Back to your table.),(She sighs and you both dress|back up and go back to your table.),300,-1,-1,Dress()
+250,0,0,,(Rub against her.)|(1 minute.),(You rub against each other and|moan in a slow and sweet ecstasy.),250,0,0,MakeLove()
+250,0,0,,(Finger both.)|(1 minute.),(You finger yourself and her at same time.|You both tremble and sweat from the moves.),250,0,0,MakeLove()
+250,0,0,,(Pinch her nipples.)|(1 minute),(She screams gently when you pinch|her nipples and seems to enjoy it a lot.),250,0,0,Violence()
+250,0,5,,(Slap her face.)|(1 minute),(You slap her pretty hard on the face.|She bows her head and gains momentum.),250,0,0,Violence()
+250,0,0,IsRoped,(Untie her.)|(1 minute),(She struggles to stay tied up|but you're able to undo the knots.),250,0,0,Untie()
+250,0,0,IsGagged,(Ungag her.)|(1 minute),(She struggles to keep her gag|but you're able to remove it.),250,0,0,Ungag()
+250,0,0,IsBoundAndGagged,I tricked you bitch.|(Leave her stranded.),,250,0,0,EvilEnd()
+250,0,0,,We should stop this.|(Back to your table.),(She sighs and you both dress|back up and go back to your table.),300,-2,-1,Dress()
+260,0,0,,That was wonderful.|(Help her stand up.),(You help her up and she nods.)|Yes!  That was pure magic.,270,1,0,Release()
+260,0,0,,You're such a slut.|(Help her stand up.),(You help her stand up.)  A slut?|How did you know?  (She pulls her tongue.),270,0,1,
+260,0,0,IsBoundAndGagged,I tricked you bitch.|(Leave her stranded.),,260,0,0,EvilEnd()
+270,0,0,,Time for lunch!|(Dress and go back.),Oh yes!  I'm soooooooo hungry now!|(You sit down and the food is already served.),300,0,0,Dress()
+300,0,0,,I'm not hungry.,You need to eat more.  (She eats quickly.)|(The waitress comes back with the bill.),310,0,-1,
+300,0,0,,Bon appetite!,(She nods and eats pretty quickly.)|(The waitress comes back with the bill.),310,0,0,EatLunch()
+300,0,0,,Have a great meal!,(She nods and eats pretty quickly.)|(The waitress comes back with the bill.),310,0,0,EatLunch()
+300,0,0,,"Eat properly, have|good manners.",(She nods and eats politely.)|(The waitress comes back with the bill.),310,0,1,EatLunch()
+310,0,0,,I'm broke.  Can|you take the bill?,What?  But...  (She frowns and gets the bill.)|Let's get back then.  (She looks unhappy.),320,-2,-1,
+310,0,0,,Take this bill.|I'll take the next one.,(She frowns.)  Alright.|Let's get back to school.,320,-1,0,
+310,0,0,,I'll take the bill.,"Aaaaaw, that's way too kind|of you.  Let's go back then.",320,0,1,
+310,0,0,,We should|split the bill.,That's perfectly fine!|Let's go back then.,320,0,0,
+310,0,0,,Do we get out|without paying?,That's very tempting!  But they|know me too well in this cafe.,320,0,0,
+320,0,0,,Let's go back.|(Back to college.),,0,0,0,EndChapter()
diff --git a/C007_LunchBreak/Sarah/Text_EN.csv b/C007_LunchBreak/Sarah/Text_EN.csv
new file mode 100644
index 0000000000..d16ba71faa
--- /dev/null
+++ b/C007_LunchBreak/Sarah/Text_EN.csv
@@ -0,0 +1,14 @@
+Tag,Content
+SecondRope,"(You add more ropes around legs and|bind them tight, forcing her to kneel.)"
+FirstRope,(You circle the rope around her body|while she tests your rope skills playfully.)
+Cuffs,(She nods happily while you push|her hands behind her and cuff them.)
+BallGag,(She moves her head closer to|make it easier for you to gag her.)
+TapeGag,(She moves her head closer to|make it easier for you to gag her.)
+Uncuff,(She moves playfully to make it harder for|you to uncuff her but you manage to do it.)
+Crop,(You whip her breast swiftly with the crop|while she seems to scream of pleasure.)
+VibratingEgg,(She nods as she sees the egg and|open her legs so you can slide it in.)
+Collar,(You need +20 submission or better|and a special ceremony to collar Sarah.)
+BackFromRestroom,(Sarah finally comes back from|the restroom and sits down.)
+OpenRestroomDoor,"(Sarah opens the door and lets you in.)|Come in, come in!  What's the hurry?"
+Orgasm,(You both explode on a wonderful|orgasm almost at the same time.)
+LeaveBoundAndGagged,(Do you really want to abandon her bound|and gagged?  Click again to do so.)
diff --git a/C007_LunchBreak/Sidney/AmandaBeated.jpg b/C007_LunchBreak/Sidney/AmandaBeated.jpg
new file mode 100644
index 0000000000..21186ac81e
Binary files /dev/null and b/C007_LunchBreak/Sidney/AmandaBeated.jpg differ
diff --git a/C007_LunchBreak/Sidney/AmandaBound.jpg b/C007_LunchBreak/Sidney/AmandaBound.jpg
new file mode 100644
index 0000000000..d7a1f77227
Binary files /dev/null and b/C007_LunchBreak/Sidney/AmandaBound.jpg differ
diff --git a/C007_LunchBreak/Sidney/AmandaGone.jpg b/C007_LunchBreak/Sidney/AmandaGone.jpg
new file mode 100644
index 0000000000..cdab176d52
Binary files /dev/null and b/C007_LunchBreak/Sidney/AmandaGone.jpg differ
diff --git a/C007_LunchBreak/Sidney/AmandaGrabed.jpg b/C007_LunchBreak/Sidney/AmandaGrabed.jpg
new file mode 100644
index 0000000000..aced13936b
Binary files /dev/null and b/C007_LunchBreak/Sidney/AmandaGrabed.jpg differ
diff --git a/C007_LunchBreak/Sidney/AmandaStripped.jpg b/C007_LunchBreak/Sidney/AmandaStripped.jpg
new file mode 100644
index 0000000000..4692da2686
Binary files /dev/null and b/C007_LunchBreak/Sidney/AmandaStripped.jpg differ
diff --git a/C007_LunchBreak/Sidney/AmandaSurrounded.jpg b/C007_LunchBreak/Sidney/AmandaSurrounded.jpg
new file mode 100644
index 0000000000..72ef6a86be
Binary files /dev/null and b/C007_LunchBreak/Sidney/AmandaSurrounded.jpg differ
diff --git a/C007_LunchBreak/Sidney/Intro_EN.csv b/C007_LunchBreak/Sidney/Intro_EN.csv
new file mode 100644
index 0000000000..1f68202b25
--- /dev/null
+++ b/C007_LunchBreak/Sidney/Intro_EN.csv
@@ -0,0 +1,54 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,What do you want COMMON_PLAYERNAME?|I don't have time to chat.,SidneyIntro.jpg
+0,5,0,,COMMON_PLAYERNAME!  Can you help me?,SidneyIntroHappy.jpg
+0,0,5,,Hello Miss COMMON_PLAYERNAME.|Can I bother you for help?,SidneyIntroSubbie.jpg
+0,0,0,HasEgg,"I can't remove your fucking vibrator!|We'll settle this later, I have a bigger problem.",SidneyIntro.jpg
+10,0,0,,I can't find my fucking purse|and I'm hungry as shit!,SidneyIntro.jpg
+10,5,0,,I can't find my fucking purse|and I'm hungry as shit!,SidneyIntroHappy.jpg
+10,0,5,,I can't find my purse|and I'm very hungry!,SidneyIntroSubbie.jpg
+20,0,0,,Can you give me some cash?|I lost my fucking purse.,SidneyIntro.jpg
+20,5,0,,I'm fucking hungry my friend.|Can I borrow some cash?,SidneyIntroHappy.jpg
+20,0,5,,"Miss, I have no idea where's my purse.|Can I borrow some money please?",SidneyIntroSubbie.jpg
+30,0,0,,Are we leaving now?  I'm so hungry.,SidneyIntro.jpg
+30,5,0,,Are we leaving now?  I'm so hungry.,SidneyIntroHappy.jpg
+30,0,5,,Are we leaving now?  I'm so hungry.,SidneyIntroSubbie.jpg
+90,0,0,,(Sidney is gone.),SidneyGone.jpg
+100,0,0,,What the fuck do you want?|I don't want to talk with you.,SidneyIntroGrumpy.jpg
+110,0,0,, I lost my fucking purse|and I'm hungry as shit!,SidneyIntroGrumpy.jpg
+120,0,0,,,SidneyIntroGrumpy.jpg
+130,0,0,,,SidneyPlayerBasement.jpg
+140,0,0,,,SidneyPlayerBasement.jpg
+150,0,0,,,SidneyPlayerPillory.jpg
+160,0,0,,,PlayerPillory.jpg
+170,0,0,,,SidneyPlayerPillory.jpg
+180,0,0,,,SidneyPlayerBasement.jpg
+200,0,0,,,SidneyPlayerLunch0.jpg
+210,0,0,,,SidneyPlayerLunch0.jpg
+220,0,0,,,SidneyPlayerLunch0.jpg
+230,0,0,,,SidneyPlayerLunch0.jpg
+240,0,0,,,SidneyPlayerLunch0.jpg
+250,0,0,,,SidneyPlayerLunch0.jpg
+260,0,0,,,SidneyPlayerLunch0.jpg
+270,0,0,,,SidneyPlayerLunch0.jpg
+280,0,0,,,SidneyPlayerLunch0.jpg
+290,0,0,,,SidneyPlayerLunch0.jpg
+300,0,0,,,SidneySmoke.jpg
+310,0,0,,,PlayerSmoke.jpg
+320,0,0,,,SidneySmoke.jpg
+330,0,0,,,SidneyPlayerSmokeSit.jpg
+340,0,0,,,SidneySit.jpg
+350,0,0,,,SidneySit.jpg
+400,0,0,,,SidneyPlayerSmokeSit.jpg
+410,0,0,,,AmandaSurrounded.jpg
+420,0,0,,,AmandaGrabed.jpg
+430,0,0,,,AmandaStripped.jpg
+440,0,0,,,AmandaBeated.jpg
+450,0,0,,,AmandaBound.jpg
+490,0,0,,,AmandaGone.jpg
+500,0,0,,,SidneyPlayerSmokeSit.jpg
+510,0,0,,,SarahSurrounded.jpg
+520,0,0,,,SarahGrabed.jpg
+530,0,0,,,SarahStripped.jpg
+540,0,0,,,SarahBeated.jpg
+550,0,0,,,SarahBound.jpg
+590,0,0,,,SarahGone.jpg
diff --git a/C007_LunchBreak/Sidney/PlayerPillory.jpg b/C007_LunchBreak/Sidney/PlayerPillory.jpg
new file mode 100644
index 0000000000..f547d2f2ec
Binary files /dev/null and b/C007_LunchBreak/Sidney/PlayerPillory.jpg differ
diff --git a/C007_LunchBreak/Sidney/PlayerSmoke.jpg b/C007_LunchBreak/Sidney/PlayerSmoke.jpg
new file mode 100644
index 0000000000..596c985788
Binary files /dev/null and b/C007_LunchBreak/Sidney/PlayerSmoke.jpg differ
diff --git a/C007_LunchBreak/Sidney/SarahBeated.jpg b/C007_LunchBreak/Sidney/SarahBeated.jpg
new file mode 100644
index 0000000000..6f32dda3f0
Binary files /dev/null and b/C007_LunchBreak/Sidney/SarahBeated.jpg differ
diff --git a/C007_LunchBreak/Sidney/SarahBound.jpg b/C007_LunchBreak/Sidney/SarahBound.jpg
new file mode 100644
index 0000000000..f64b746845
Binary files /dev/null and b/C007_LunchBreak/Sidney/SarahBound.jpg differ
diff --git a/C007_LunchBreak/Sidney/SarahGone.jpg b/C007_LunchBreak/Sidney/SarahGone.jpg
new file mode 100644
index 0000000000..f11358775f
Binary files /dev/null and b/C007_LunchBreak/Sidney/SarahGone.jpg differ
diff --git a/C007_LunchBreak/Sidney/SarahGrabed.jpg b/C007_LunchBreak/Sidney/SarahGrabed.jpg
new file mode 100644
index 0000000000..2c41248c6e
Binary files /dev/null and b/C007_LunchBreak/Sidney/SarahGrabed.jpg differ
diff --git a/C007_LunchBreak/Sidney/SarahStripped.jpg b/C007_LunchBreak/Sidney/SarahStripped.jpg
new file mode 100644
index 0000000000..3f2a31d507
Binary files /dev/null and b/C007_LunchBreak/Sidney/SarahStripped.jpg differ
diff --git a/C007_LunchBreak/Sidney/SarahSurrounded.jpg b/C007_LunchBreak/Sidney/SarahSurrounded.jpg
new file mode 100644
index 0000000000..90260c6d86
Binary files /dev/null and b/C007_LunchBreak/Sidney/SarahSurrounded.jpg differ
diff --git a/C007_LunchBreak/Sidney/Script.js b/C007_LunchBreak/Sidney/Script.js
new file mode 100644
index 0000000000..2179688ab2
--- /dev/null
+++ b/C007_LunchBreak/Sidney/Script.js
@@ -0,0 +1,352 @@
+var C007_LunchBreak_Sidney_CurrentStage = 0;
+var C007_LunchBreak_Sidney_MatchCount = 0; // At 4 or more, there's a good match
+var C007_LunchBreak_Sidney_IntroText = "";
+var C007_LunchBreak_Sidney_LeaveIcon = "";
+var C007_LunchBreak_Sidney_AllowSmoke = false;
+var C007_LunchBreak_Sidney_CuteRemarkDone = false;
+var C007_LunchBreak_Sidney_HasEgg = false;
+var C007_LunchBreak_Sidney_IsRoped = false;
+var C007_LunchBreak_Sidney_IsGagged = false;
+var C007_LunchBreak_Sidney_IsBoundAndGagged = false;
+var C007_LunchBreak_Sidney_TwoRopes = false;
+var C007_LunchBreak_Sidney_ConfirmEvil = false;
+var C007_LunchBreak_Sidney_MasturbateCount = 0;
+var C007_LunchBreak_Sidney_HateAmanda = false;
+var C007_LunchBreak_Sidney_HateSarah = false;
+
+// Calculates the screen parameters
+function C007_LunchBreak_Sidney_CalcParams() {
+
+	// No special images by default
+	OverridenIntroImage = "";
+	
+	// Between 200 and 299, the image evolves with the number of matches
+	if ((C007_LunchBreak_Sidney_CurrentStage >= 200) && (C007_LunchBreak_Sidney_CurrentStage <= 299)) {
+		var Img = "0";
+		if ((C007_LunchBreak_Sidney_MatchCount == 2) || (C007_LunchBreak_Sidney_MatchCount == 3)) Img = "1";
+		if (C007_LunchBreak_Sidney_MatchCount >= 4) Img = "2";
+		OverridenIntroImage = "SidneyPlayerLunch" + Img + ".jpg";
+	}
+
+	// At 340 & 350 the player can restrain Sidney while she's stoned
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) || (C007_LunchBreak_Sidney_CurrentStage == 350)) {
+		var Img = "";
+		if (ActorHasInventory("Rope") && !C007_LunchBreak_Sidney_TwoRopes) Img = Img + "Rope";
+		if (ActorHasInventory("Rope") && C007_LunchBreak_Sidney_TwoRopes) Img = Img + "TwoRopes";
+		if (ActorHasInventory("Cuffs")) Img = Img + "Cuffs";
+		if (ActorHasInventory("BallGag")) Img = Img + "BallGag";
+		if (ActorHasInventory("TapeGag")) Img = Img + "TapeGag";
+		OverridenIntroImage = "SidneySit" + Img + ".jpg";
+	}
+	
+	// Keep the status of Sidney
+	C007_LunchBreak_Sidney_IsBoundAndGagged = ((ActorHasInventory("Rope") || ActorHasInventory("Cuffs")) && (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag")));
+	C007_LunchBreak_Sidney_HasEgg = ActorHasInventory("VibratingEgg");
+	
+}
+
+// Chapter 7 - Sidney Load
+function C007_LunchBreak_Sidney_Load() {
+
+	// Load the scene parameters
+	ActorLoad("Sidney", "ActorSelect");
+	LoadInteractions();
+	C007_LunchBreak_Sidney_CalcParams();
+	
+	// If the player is submissive toward Sidney, she will get bullied
+	if ((ActorGetValue(ActorLove) <= 4) && (ActorGetValue(ActorSubmission) <= -2) && C007_LunchBreak_Sidney_CurrentStage == 0) 
+		C007_LunchBreak_Sidney_CurrentStage = 100;
+
+	// If we must put the previous text back
+	if ((C007_LunchBreak_Sidney_IntroText != "") && (C007_LunchBreak_Sidney_CurrentStage > 0)) {
+		OverridenIntroText = C007_LunchBreak_Sidney_IntroText;
+		LeaveIcon = C007_LunchBreak_Sidney_LeaveIcon;
+	}
+
+	// Special events if the player doesn't like Amanda or Sarah
+	C007_LunchBreak_Sidney_HateAmanda = (ActorSpecificGetValue("Amanda", ActorLove) < 0);
+	C007_LunchBreak_Sidney_HateSarah = (ActorSpecificGetValue("Sarah", ActorLove) < 0);
+
+}
+
+// Chapter 7 - Sidney Run
+function C007_LunchBreak_Sidney_Run() {	
+	BuildInteraction(C007_LunchBreak_Sidney_CurrentStage);
+}
+
+// Chapter 7 - Sidney Click
+function C007_LunchBreak_Sidney_Click() {	
+
+	// Regular and inventory interactions
+	ClickInteraction(C007_LunchBreak_Sidney_CurrentStage);
+	var ClickInv = GetClickedInventory();
+	if (ClickInv == "Player") {
+		C007_LunchBreak_Sidney_IntroText = OverridenIntroText;
+		C007_LunchBreak_Sidney_LeaveIcon = LeaveIcon;
+		InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
+	}
+
+	// When the user wants to use a second rope
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "Rope") && ActorHasInventory("Rope") && !ActorHasInventory("Cuffs") && !C007_LunchBreak_Sidney_TwoRopes) {
+		OverridenIntroText = GetText("SecondRope");
+		PlayerRemoveInventory("Rope", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Sidney_TwoRopes = true;
+	}
+	
+	// When the user wants to use the rope
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "Rope") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("FirstRope");
+		ActorAddInventory("Rope");
+		PlayerRemoveInventory("Rope", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Sidney_IsRoped = true;
+	}
+	
+	// When the user wants to use the cuffs
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "Cuffs") && !ActorHasInventory("Rope") && !ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("Cuffs");
+		ActorAddInventory("Cuffs");
+		PlayerRemoveInventory("Cuffs", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the BallGag
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "BallGag") && !ActorHasInventory("BallGag")) {
+		OverridenIntroText = GetText("BallGag");
+		ActorRemoveInventory("TapeGag");
+		ActorAddInventory("BallGag");
+		PlayerRemoveInventory("BallGag", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Sidney_IsGagged = true;
+	}
+	
+	// When the user wants to use the tape gag
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "TapeGag") && !ActorHasInventory("TapeGag")) {
+		OverridenIntroText = GetText("TapeGag");		
+		C007_LunchBreak_Sidney_Ungag();
+		ActorAddInventory("TapeGag");
+		PlayerRemoveInventory("TapeGag", 1);
+		CurrentTime = CurrentTime + 60000;
+		C007_LunchBreak_Sidney_IsGagged = true;
+	}
+	
+	// When the user wants to use the cuffs keys
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "CuffsKey") && ActorHasInventory("Cuffs")) {
+		OverridenIntroText = GetText("Uncuff");
+		ActorRemoveInventory("Cuffs");
+		PlayerAddInventory("Cuffs", 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the crop
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "Crop")) {
+		OverridenIntroText = GetText("Crop");
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// When the user wants to use the egg
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "VibratingEgg") && !ActorHasInventory("VibratingEgg")) {
+		OverridenIntroText = GetText("VibratingEgg");
+		ActorAddInventory("VibratingEgg");
+		PlayerRemoveInventory("VibratingEgg", 1);
+		CurrentTime = CurrentTime + 60000;
+	}	
+
+	// When the user wants to use the collar (+20 submission and a ceremony is required)
+	if ((C007_LunchBreak_Sidney_CurrentStage == 340) && (ClickInv == "Collar") && !ActorHasInventory("Collar"))
+		OverridenIntroText = GetText("Collar");
+		
+	// Recalculates the scene parameters
+	C007_LunchBreak_Sidney_CalcParams();
+
+}
+
+// Chapter 7 - Sidney No Leave
+function C007_LunchBreak_Sidney_NoLeave() {
+	LeaveIcon = "";
+}
+
+// Chapter 7 - Sidney End Lunch
+function C007_LunchBreak_Sidney_EndLunch() {
+	C007_LunchBreak_ActorSelect_SidneyAvail = false;
+	LeaveIcon = "Leave";
+}
+
+// Chapter 7 - Sidney - The player is stuck in the pillory
+function C007_LunchBreak_Sidney_Pillory() {
+	C007_LunchBreak_ActorSelect_NoFood = true;
+	C007_LunchBreak_ActorSelect_Actor = "Sidney";
+	PlayerSaveAllInventory();
+	PlayerRemoveAllInventory();
+}
+
+// Chapter 7 - Sidney Pillory Wait - She comes back at 12:40
+function C007_LunchBreak_Sidney_PilloryWait() {
+	CurrentTime = CurrentTime + 120000;
+	if (CurrentTime >= 12.66667 * 60 * 60 * 1000) {
+		OverridenIntroText = GetText("Extortion");
+		C007_LunchBreak_Sidney_CurrentStage = 170;
+	}	
+}
+
+// Chapter 7 - Sidney - The player is free from the pillory
+function C007_LunchBreak_Sidney_PilloryFree() {
+	PlayerRestoreAllInventory();
+}
+
+// Chapter 7 - Sidney Start Lunch
+function C007_LunchBreak_Sidney_StartLunch() {	
+	CurrentTime = CurrentTime + 480000;
+	LeaveIcon = "";
+}
+
+// Chapter 7 - Sidney Good Match
+function C007_LunchBreak_Sidney_GoodMatch() {
+	C007_LunchBreak_Sidney_MatchCount++;
+	C007_LunchBreak_Sidney_CalcParams();
+}
+
+// Chapter 7 - Sidney Bad Match
+function C007_LunchBreak_Sidney_BadMatch() {
+	C007_LunchBreak_Sidney_MatchCount--;
+	C007_LunchBreak_Sidney_CalcParams();
+}
+
+// Chapter 7 - Sidney Eat Meal (Spend 20 minutes)
+function C007_LunchBreak_Sidney_EatMeal() {
+	CurrentTime = CurrentTime + 1200000;
+}
+
+// Chapter 7 - Sidney - Check for smoking with her
+function C007_LunchBreak_Sidney_CheckForSmoke() {
+	if (C007_LunchBreak_Sidney_MatchCount >= 4) {
+		C007_LunchBreak_Sidney_AllowSmoke = true;
+		OverridenIntroText = GetText("InviteWeed");
+	}
+}
+
+// Chapter 7 - Sidney Smoke (1 minute)
+function C007_LunchBreak_Sidney_Smoke() {
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Sidney Remove Clothes
+function C007_LunchBreak_Sidney_RemoveClothes() {
+	if (ActorGetValue(ActorLove) >= 8) {
+		OverridenIntroText = GetText("StripLove");
+		C007_LunchBreak_Sidney_CurrentStage = 340;
+	}
+	if (ActorGetValue(ActorSubmission) >= 8) {
+		OverridenIntroText = GetText("StripSub");
+		C007_LunchBreak_Sidney_CurrentStage = 340;
+	}
+}
+
+// Chapter 7 - Sidney Cute Remark
+function C007_LunchBreak_Sidney_CuteRemark() {
+	if (C007_LunchBreak_Sidney_CuteRemarkDone == false) {
+		C007_LunchBreak_Sidney_CuteRemarkDone = true;
+		ActorChangeAttitude(1, 1);
+	}
+}
+
+// Chapter 7 - Sidney Untie
+function C007_LunchBreak_Sidney_Untie() {
+	if (ActorHasInventory("Rope")) {
+		ActorRemoveInventory("Rope");
+		PlayerAddInventory("Rope", 1);		
+		if (C007_LunchBreak_Sidney_TwoRopes) {
+			PlayerAddInventory("Rope", 1);
+			C007_LunchBreak_Sidney_TwoRopes = false;
+		}
+		C007_LunchBreak_Sidney_IsRoped = false;
+	}
+}
+
+// Chapter 7 - Sidney Ungag
+function C007_LunchBreak_Sidney_Ungag() {
+	ActorRemoveInventory("TapeGag");
+	if (ActorHasInventory("BallGag")) {
+		ActorRemoveInventory("BallGag");
+		PlayerAddInventory("BallGag", 1);
+	}
+	C007_LunchBreak_Sidney_IsGagged = false;
+}
+
+// Chapter 7 - Sidney Release
+function C007_LunchBreak_Sidney_Release() {
+	C007_LunchBreak_Sidney_Untie();
+	C007_LunchBreak_Sidney_Ungag();	
+	if (ActorHasInventory("Cuffs")) {
+		ActorRemoveInventory("Cuffs");
+		PlayerAddInventory("Cuffs", 1);
+	}
+}
+
+// Chapter 7 - Sidney Masturbate, she will climax after 3 tries, no need for the egg
+function C007_LunchBreak_Sidney_Masturbate() {
+	C007_LunchBreak_Sidney_MasturbateCount++;
+	if (C007_LunchBreak_Sidney_MasturbateCount == 3) {
+		C007_LunchBreak_Sidney_CurrentStage = "350";
+		OverridenIntroText = GetText("ReadyForOrgasm");		
+	} else {
+		if (ActorGetValue(ActorLove) >= ActorGetValue(ActorSubmission)) OverridenIntroText = GetText("MasturbateLove");
+		else OverridenIntroText = GetText("MasturbateSub");
+	}
+}
+
+// Chapter 7 - Sidney Evil End Chapter (Leave her bound and gagged)
+function C007_LunchBreak_Sidney_EvilEnd() {
+	if (C007_LunchBreak_Sidney_ConfirmEvil) {
+		C007_LunchBreak_ActorSelect_EvilEnding = true;
+		Common_PlayerCrime = "SidneyStranded";
+		ActorChangeAttitude(-5, 1);
+		SetScene(CurrentChapter, "Outro");
+	} else {
+		OverridenIntroText = GetText("LeaveBoundAndGagged");
+		C007_LunchBreak_Sidney_ConfirmEvil = true;
+	}
+}
+
+// Chapter 7 - Sidney Orgasm
+function C007_LunchBreak_Sidney_Orgasm() {
+	ActorAddOrgasm();
+	C007_LunchBreak_ActorSelect_BonusDone = true;
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Sidney No Orgasm
+function C007_LunchBreak_Sidney_NoOrgasm() {
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 7 - Sidney Start Beat Up - adds 5 minutes and cancels the bonus
+function C007_LunchBreak_Sidney_StartBeatUp() {
+	C007_LunchBreak_ActorSelect_BonusDone = false;
+	CurrentTime = CurrentTime + 300000;
+}
+
+// Chapter 7 - Tie Up Amanda or Sarah
+function C007_LunchBreak_Sidney_TieUp(TieUpActor) {
+	ActorSpecificAddBondage(TieUpActor);
+}
+
+// Chapter 7 - Beat Up Amanda or Sarah
+function C007_LunchBreak_Sidney_BeatUp(BeatUpActor) {
+	ActorSpecificChangeAttitude(BeatUpActor, -1, 1);
+}
+
+// Chapter 7 - Crime Stranded (When the player leaves Amanda or Sarah bound and gagged in Sidney's chapter)
+function C007_LunchBreak_Sidney_CrimeStranded(CrimeActor) {
+	Common_PlayerCrime = CrimeActor + "Stranded";
+	C007_LunchBreak_ActorSelect_EvilEnding = true;
+	ActorSpecificChangeAttitude(CrimeActor, -3, 1);
+	C007_LunchBreak_Sidney_EndChapter();
+}
+
+// Chapter 7 - Sidney End Chapter
+function C007_LunchBreak_Sidney_EndChapter() {
+	C007_LunchBreak_Sidney_Release();
+	SetScene(CurrentChapter, "Outro");
+}
diff --git a/C007_LunchBreak/Sidney/SidneyGone.jpg b/C007_LunchBreak/Sidney/SidneyGone.jpg
new file mode 100644
index 0000000000..dbf55c6121
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyGone.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyIntro.jpg b/C007_LunchBreak/Sidney/SidneyIntro.jpg
new file mode 100644
index 0000000000..9aba430ea8
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyIntro.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyIntroGrumpy.jpg b/C007_LunchBreak/Sidney/SidneyIntroGrumpy.jpg
new file mode 100644
index 0000000000..0343fd2c2e
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyIntroGrumpy.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyIntroHappy.jpg b/C007_LunchBreak/Sidney/SidneyIntroHappy.jpg
new file mode 100644
index 0000000000..0f7f903b3f
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyIntroHappy.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyIntroSubbie.jpg b/C007_LunchBreak/Sidney/SidneyIntroSubbie.jpg
new file mode 100644
index 0000000000..bab492b241
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyIntroSubbie.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyPlayerBasement.jpg b/C007_LunchBreak/Sidney/SidneyPlayerBasement.jpg
new file mode 100644
index 0000000000..da04393ab9
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyPlayerBasement.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyPlayerLunch0.jpg b/C007_LunchBreak/Sidney/SidneyPlayerLunch0.jpg
new file mode 100644
index 0000000000..ee0277cb4b
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyPlayerLunch0.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyPlayerLunch1.jpg b/C007_LunchBreak/Sidney/SidneyPlayerLunch1.jpg
new file mode 100644
index 0000000000..4943b09e20
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyPlayerLunch1.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyPlayerLunch2.jpg b/C007_LunchBreak/Sidney/SidneyPlayerLunch2.jpg
new file mode 100644
index 0000000000..9d8ae1a70e
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyPlayerLunch2.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyPlayerPillory.jpg b/C007_LunchBreak/Sidney/SidneyPlayerPillory.jpg
new file mode 100644
index 0000000000..bd4d487ebc
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyPlayerPillory.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneyPlayerSmokeSit.jpg b/C007_LunchBreak/Sidney/SidneyPlayerSmokeSit.jpg
new file mode 100644
index 0000000000..6a999ab6ea
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneyPlayerSmokeSit.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySit.jpg b/C007_LunchBreak/Sidney/SidneySit.jpg
new file mode 100644
index 0000000000..fe49a62767
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySit.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitBallGag.jpg b/C007_LunchBreak/Sidney/SidneySitBallGag.jpg
new file mode 100644
index 0000000000..d40b56c990
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitBallGag.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitCuffs.jpg b/C007_LunchBreak/Sidney/SidneySitCuffs.jpg
new file mode 100644
index 0000000000..d4f09ca4fc
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitCuffs.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitCuffsBallGag.jpg b/C007_LunchBreak/Sidney/SidneySitCuffsBallGag.jpg
new file mode 100644
index 0000000000..999ed7627d
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitCuffsBallGag.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitCuffsTapeGag.jpg b/C007_LunchBreak/Sidney/SidneySitCuffsTapeGag.jpg
new file mode 100644
index 0000000000..951e13feb8
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitCuffsTapeGag.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitRope.jpg b/C007_LunchBreak/Sidney/SidneySitRope.jpg
new file mode 100644
index 0000000000..d740ebdade
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitRope.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitRopeBallGag.jpg b/C007_LunchBreak/Sidney/SidneySitRopeBallGag.jpg
new file mode 100644
index 0000000000..da9cf99cf6
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitRopeBallGag.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitRopeTapeGag.jpg b/C007_LunchBreak/Sidney/SidneySitRopeTapeGag.jpg
new file mode 100644
index 0000000000..1368a38e88
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitRopeTapeGag.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitTapeGag.jpg b/C007_LunchBreak/Sidney/SidneySitTapeGag.jpg
new file mode 100644
index 0000000000..9f35bde3b2
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitTapeGag.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitTwoRopes.jpg b/C007_LunchBreak/Sidney/SidneySitTwoRopes.jpg
new file mode 100644
index 0000000000..bcefd31922
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitTwoRopes.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitTwoRopesBallGag.jpg b/C007_LunchBreak/Sidney/SidneySitTwoRopesBallGag.jpg
new file mode 100644
index 0000000000..8d364a616b
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitTwoRopesBallGag.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySitTwoRopesTapeGag.jpg b/C007_LunchBreak/Sidney/SidneySitTwoRopesTapeGag.jpg
new file mode 100644
index 0000000000..8f3bbffb44
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySitTwoRopesTapeGag.jpg differ
diff --git a/C007_LunchBreak/Sidney/SidneySmoke.jpg b/C007_LunchBreak/Sidney/SidneySmoke.jpg
new file mode 100644
index 0000000000..8afeb0ca07
Binary files /dev/null and b/C007_LunchBreak/Sidney/SidneySmoke.jpg differ
diff --git a/C007_LunchBreak/Sidney/Stage_EN.csv b/C007_LunchBreak/Sidney/Stage_EN.csv
new file mode 100644
index 0000000000..8368c8b866
--- /dev/null
+++ b/C007_LunchBreak/Sidney/Stage_EN.csv
@@ -0,0 +1,168 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,What's wrong?,I can't find my fucking purse|and I'm hungry as shit!,10,0,0,
+0,0,0,,Calm down!,Calm down?  Can't you see I'm|hungry and I can't find my purse!,10,-1,0,
+0,0,0,,What is your|problem girl?,I'm going nuts!  I can't find|my purse and I'm hungry as hell!,10,0,1,
+0,0,0,,Maybe I can|try to help.,Help me search!  I lost my|purse and I'm fucking hungry!,10,0,-1,
+10,0,0,,Where did you|last saw your purse?,I don't know!  I can't think when I'm|hungry.  Can you give me some money?,20,0,0,
+10,0,0,,Are there thieves|in this college?,They would be insane to steal from me.|Now can you give me some money?,20,0,0,
+10,0,5,,Stop worrying girl.|I'll buy you lunch.,"Miss?  You will?  That's really great.|I'm ready when you are, do we leave now?",30,0,1,
+10,5,0,,Come with me friend.|I'll buy your lunch.,"Really?  That's fucking awesome.|I'm ready to go, do we leave now?",30,1,0,
+10,0,0,,You will survive|skipping a meal.,Fuck you bitch!|(She walks away.),90,-1,0,EndLunch()
+10,0,0,,I saw a blond girl|running with a purse.,(She charges like a bull in the hallway.)|SAAAAAAARRRRRRRAAAAAHHH!!!,90,1,0,EndLunch()
+20,0,0,,Go beg elsewhere.,Fuck you bitch!|(She walks away.),90,-1,1,EndLunch()
+20,0,0,,"Sorry, I'm broke.","Shit, shit, shit!|(She walks away.)",90,0,0,EndLunch()
+20,0,0,,Have some money.|(Give money to Sidney.),Thanks sucker!|(She grabs your money and runs.),90,1,-1,EndLunch()
+20,0,5,,Stop worrying girl.|I'll buy you lunch.,"Miss?  You will?  That's really great.|I'm ready when you are, do we leave now?",30,0,1,
+20,5,0,,Come with me friend.|I'll buy your lunch.,"Really?  That's fucking awesome.|I'm ready to go, do we leave now?",30,1,0,
+30,0,0,,Let's go now!|(Eat with Sidney.),You walk pretty fast to a restaurant nearby.|Sidney quickly picks a table and seems really hungry.,200,0,0,StartLunch()
+100,0,0,,What's wrong?,I can't find my fucking purse|and I'm hungry as shit!,110,0,0,
+100,0,0,,What is your|problem girl?,I'm going nuts!  I can't find|my purse and I'm hungry as hell!,110,0,1,
+100,0,0,,Can I help you?,No you cannot!  I lost my fucking|purse and I'm hungry as shit!,110,0,-1,
+110,0,0,,Maybe I can|help you find it.,Fuck no!  I don't want to search.|I want to eat!  Gimme some money.,120,0,-1,NoLeave()
+110,0,0,,You have enough|time to find it.,Shut up!  I want to eat now!|Gimme some money.,120,0,0,NoLeave()
+110,0,0,,You'll have to|skip lunch then.,"Fuck you, I'm not skipping lunch!|Gimme some money!",120,-1,0,NoLeave()
+110,0,0,,You can survive|on your reserves.,Say that again and I'll break all of your bones.|Now gimme some money before I kill you.,120,-2,1,NoLeave()
+110,0,0,,I saw a blond girl|running with a purse.,(She charges like a bull in the hallway.)|SAAAAAAARRRRRRRAAAAAHHH!!!,90,1,0,EndLunch()
+110,0,0,,Have some money then.|(Give money to Sidney.),Thanks sucker!|(She grabs your money and runs.),90,1,-1,EndLunch()
+120,0,0,,"Here, this is a gift.|(Give money to Sidney.)",Thanks sucker!|(She grabs your money and runs.),90,1,-1,EndLunch()
+120,0,0,,Repay me tomorrow.|(Give money to Sidney.),Fine.  (She grabs your money and runs.),90,1,0,EndLunch()
+120,0,0,,I don't have|any money.,You little fucking liar!  Come with me.|(She grabs your arm and drags you in the basement.),130,-1,0,
+120,0,0,,I'm not giving|you anything.,You fucking bitch!  Come with me.|(She grabs your arm and drags you in the basement.),130,-1,1,
+130,0,0,,Ow!  It hurts!,And it will hurt a lot more soon.|It's your last chance.  Pay or suffer.,140,0,-1,
+130,0,0,,Where are we?,A place I know and you don't want to know.|Now this is your last chance.  Pay or suffer.,140,0,0,
+130,0,0,,You fucking pig!,(She stares at you with furious eyes.)|This is your last chance.  Pay or suffer.,140,-1,0,
+130,0,0,,"Ok, ok, here it is.|(Give money to Sidney.)",Finally!  (She grabs your money and runs.),90,0,0,EndLunch()
+140,0,0,,Here's your money.|(Give money to Sidney.),Sucker!  (She grabs your money and runs.),90,0,0,EndLunch()
+140,0,0,,I'm not giving|you anything.,Then suffer!  (She grips you and|drags you in some wooden pillory.),150,-1,-1,Pillory()
+150,0,0,,What the hell!|You can't do that.,"Enjoy your lunch bitch, I'll be back later.|(She grabs your purse and runs away.)",160,0,0,
+150,0,0,,You will pay|for that!,"You're paying right now, I'll be back later.|(She grabs your purse and runs away.)",160,0,1,
+150,0,0,,I'm sorry Sidney.|Can you release me?,It's too late bitch!  I'll be back later.|(She grabs your purse and runs away.),160,0,-1,
+160,0,0,,(Wait patiently.),(You wait patiently while your stomach|grumbles but there's no sign of Sidney.),160,0,0,PilloryWait()
+160,0,0,,HELP!  SOMEONE|CAN HEAR ME?,(You scream for help but nobody comes.),160,0,0,PilloryWait()
+160,0,0,,(Try to break|the device.),(You try to force or break the|pillory but it doesn't move.),160,0,0,PilloryWait()
+160,0,0,,(Try to slip|your hands.),(You try to slip your hands out|but the hole is too narrow.),160,0,0,PilloryWait()
+170,0,0,,I will obey.|(Bow your head.),Perfect!  Now get out of my face.|(You pick up your purse and items.),180,0,-1,PilloryFree()
+170,0,0,,This is extortion!,That's true little bitch.  Now fuck off.|(You pick up your purse and items.),180,0,0,PilloryFree()
+170,0,0,,Someday you will|pay for that.,We'll see about that.  Now fuck off.|(You pick up your purse and items.),180,0,1,PilloryFree()
+180,0,0,,(End lunch break.),,180,0,0,EndChapter()
+200,0,0,,It's a nice|place you found.,My stupid roommates are here all|the time so I don't come here often.,210,0,0,
+200,0,0,,This restaurant|looks alright.,My stupid roommates are here all|the time so I don't come here often.,210,0,0,
+200,0,0,,What should I get?,I don't care!  (She looks around.)|Are my stupid roommates here?,210,0,0,
+200,0,0,,So what are|you eating?,Fucking meat!  (She looks around.)|Are my stupid roommates here?,210,0,0,
+210,0,0,,You have roommates?|You're pretty lucky.,Oh fuck no!  This is hell.|Someday I'll make them pay.,220,0,0,BadMatch()
+210,0,0,,You have roommates?|That can be painful.,"Yeah, they are a pain in the ass.|Someday I'll make them pay.",220,0,0,GoodMatch()
+210,0,0,,I wish I had|some roommates.,You want mine?  They are a pain.|Someday I'll make them pay.,220,0,0,
+220,0,0,,You need help|to get even?,"That's a great idea!  Let's talk after school.|Tell me about you, what do you want to do in life?",230,1,0,GoodMatch()
+220,0,0,,You should try|to make peace.,"Peace?  Fuck no!  Let's change subject.|Tell me about you, what do you want to do in life?",230,-1,0,BadMatch()
+220,0,0,,Someday you'll|have your revenge.,"Yep!  And this day will come pretty soon.|Tell me about you, what do you want to do in life?",230,0,0,GoodMatch()
+230,0,0,,A musician.,You will end up poor as shit.|And what's your favorite class?,240,0,0,BadMatch()
+230,0,0,,A doctor.,Nice!  You will make good money.|And what's your favorite class?,240,0,0,GoodMatch()
+230,0,0,,An athlete.,You will end up poor as shit.|And what's your favorite class?,240,0,0,BadMatch()
+230,0,0,,A teacher.,"Not bad, there will always be jobs.|And what's your favorite class?",240,0,0,
+230,0,0,,An actor.,You will end up poor as shit.|And what's your favorite class?,240,0,0,BadMatch()
+230,0,0,,A dominatrix.,Ha!  You caught me off guard with that|stupid answer.  What's your favorite class?,240,0,0,
+230,0,0,,An architect.,"Nice choice, I also thought about it.|What's your favorite class?",240,0,0,GoodMatch()
+230,0,0,,A farmer.,Great!  My father is a farmer.|What's your favorite class?,240,0,0,GoodMatch()
+230,0,0,,A programmer.,"Not bad, there will always be jobs.|And what's your favorite class?",240,0,0,
+230,0,0,,I don't know yet.,"Same here, I'm not sure yet.|What's your favorite class?",240,0,0,GoodMatch()
+240,0,0,,Math.,That's boring but it might help you I guess.|And what do you do outside of school?,250,0,0,
+240,0,0,,Music.,This is such a pointless class.|What do you do outside of school?,250,0,0,BadMatch()
+240,0,0,,English.,I fucking suck in fucking English!|And what do you do outside of school?,250,0,0,BadMatch()
+240,0,0,,Gym.,It's not as boring as the other classes I guess.|And what do you do outside of school?,250,0,0,
+240,0,0,,Chemistry.,Great!  Can you make a bomb for me?|And what do you do outside of school?,250,0,0,GoodMatch()
+240,0,0,,French.,That's boring but it might help you I guess.|And what do you do outside of school?,250,0,0,
+240,0,0,,Art.,This is such a pointless class.|What do you do outside of school?,250,0,0,BadMatch()
+240,0,0,,History.,"Yeah, the history of wars can be fun.|And what do you do outside of school?",250,0,0,GoodMatch()
+240,0,0,,Theatre.,This is such a pointless class.|What do you do outside of school?,250,0,0,
+240,0,0,,I don't know.,Yeah...  Fuck these classes anyway.|What do you do outside of school?,250,0,0,GoodMatch()
+250,0,0,,Basketball.,I guess there are worse hobbies.|(A waitress interrupts to take your order.),260,0,0,
+250,0,0,,Rock music.,I prefer metal but rock is fine.|(A waitress interrupts to take your order.),260,0,0,GoodMatch()
+250,0,0,,Video games.,I guess there are worse hobbies.|(A waitress interrupts to take your order.),260,0,0,
+250,0,0,,Cheerleading.,What a shitty and boring hobby.|(A waitress interrupts to take your order.),260,0,0,
+250,0,0,,Going to parties.,The parties in this college are pretty lame.|(A waitress interrupts to take your order.),260,0,0,
+250,0,0,,Role playing games.,What a shitty and boring hobby.|(A waitress interrupts to take your order.),260,0,0,BadMatch()
+250,0,0,,Getting drunk.,"Fair enough, I need to get wasted soon.|(A waitress interrupts to take your order.)",260,0,0,GoodMatch()
+250,0,0,,Classical music.,What a shitty and boring hobby.|(A waitress interrupts to take your order.),260,0,0,BadMatch()
+250,0,0,,Making love.,I guess your fucking boyfriend is happy.|(A waitress interrupts to take your order.),260,0,0,
+250,0,0,,I don't have|any hobbies.,Don't worry.  Mine is getting stoned all night.|(A waitress interrupts to take your order.),260,0,0,GoodMatch()
+260,0,0,,A salad please.,Are you a fucking rabbit?|(She orders a big steak.),270,-1,0,BadMatch()
+260,0,0,,A steak please.,Best idea of the day!|(She also orders a steak.),270,1,0,GoodMatch()
+260,0,0,,A soup please.,That's not a big meal.|(She orders a big steak.),270,0,0,
+260,0,0,,A hamburger please.,A pretty good choice.|(She orders a big steak.),270,0,0,GoodMatch()
+260,0,0,,A nacho platter please.,That's not a big meal.|(She orders a big steak.),270,0,0,
+260,0,0,,Only cheesecake please.,That's not a big meal.|(She orders a big steak.),270,0,0,
+260,0,0,,Soup and salad please.,Are you a fucking rabbit?|(She orders a big steak.),270,0,0,BadMatch()
+260,0,0,,A chili dog please.,A pretty good choice.|(She orders a big steak.),270,0,0,GoodMatch()
+260,0,0,,Fettuccine alfredo please.,A pretty good choice.|(She orders a big steak.),270,0,0,GoodMatch()
+260,0,0,,Only water please.,Fuck!  You're not going to eat?|(She orders a big steak.),270,-1,0,BadMatch()
+270,0,0,,Have a good meal!|(Wait for you meal.),Hell yeah!  (You both eat your meal.|She burps a few times and looks happy.),280,0,0,EatMeal()
+270,0,0,,Bon appetite!|(Wait for you meal.),Hell yeah!  (You both eat your meal.|She burps a few times and looks happy.),280,0,0,EatMeal()
+270,0,0,,Hurry up waitress!|(Wait for your meal.),Good call!  (You both eat your meal.|She burps a few times and looks happy.),280,0,1,EatMeal()
+270,0,0,,(Stay silent and|wait for your meal.),Hurry up!  (You both eat your meal.|She burps a few times and looks happy.),280,0,-1,EatMeal()
+280,0,0,,It was good?,Yep!  You can't go wrong with meat.|Is it time to go back to college?,290,0,0,CheckForSmoke()
+280,0,0,,Are you full?,Yep!  You can't go wrong with meat.|Is it time to go back to college?,290,0,0,CheckForSmoke()
+290,0,0,AllowSmoke,"Sure, let's go smoke.|(Go smoke with her.)",(You both walk to a secluded corner and|she lights up what looks like a joint.),300,0,0,
+290,0,0,AllowSmoke,"Sorry, I don't smoke.|(Back to college.)",,0,0,0,EndChapter()
+290,0,0,!AllowSmoke,Let's go back.|(Back to college.),,0,0,0,EndChapter()
+300,0,0,,Can I have some?|(Smoke with her.),Sure!  (She smokes a big puff|and shares the joint with you.),310,1,0,Smoke()
+300,0,0,,"Smoke it, I don't care.|(Don't smoke with her.)",You only smoke cigarettes then?|(She takes three big puffs of her joint.),320,-1,0,Smoke()
+300,0,0,,Gimme that joint!|(Smoke with her.),Here you go.  (She|passes the joint to you.),310,1,1,Smoke()
+300,0,0,,Smoking is bad for you.|(Don't smoke with her.),What are you?  A fucking police?|(She takes three big puffs of her joint.),320,-1,-1,Smoke()
+300,0,0,,Is it safe to smoke?|(Smoke with her.),Can't be safer.  (She smokes a big|puff and shares the joint with you.),310,1,-1,Smoke()
+300,0,0,,No!  This is illegal!|(Don't smoke with her.),You're such a pathetic loser.|(She takes three big puffs of her joint.),320,-2,-2,Smoke()
+310,0,0,,This is great!|(Smoke the joint.),Yep!  Leave some for me though.|(You take a few puffs on the joint.),310,0,0,Smoke()
+310,0,0,,Thanks for that.|(Pass the joint.),(You pass the joint and she|takes three quick puffs on it.),320,0,0,Smoke()
+320,0,0,,How often do|you smoke weed?,Every day!  Best medicine against boredom.|(She smokes two puffs and sits down wasted.),330,0,0,Smoke()
+320,0,0,,"Careful, you'll be|stoned for class.",Don't you think I already know that?|(She smokes two puffs and sits down wasted.),330,0,-1,Smoke()
+320,0,0,,That's great!  We need to|lunch together more often.,Fuck yeah!  We can get stoned every day.|(She smokes two puffs and sits down wasted.),330,1,0,Smoke()
+330,0,0,,Are you ok?,Oh hell yeah!|(She looks stoned.),330,0,0,
+330,0,0,,We should|skip school.,Oh yeah!  Best idea ever!|(She giggles and stares blankly.),330,0,0,
+330,0,0,HateAmanda,Do you want to get|even with Amanda?,Fuck yeah!  Let's do it now.|Will you help beat her up?,400,0,0,
+330,0,0,HateSarah,Do you want to get|even with Sarah?,Fuck yeah!  Let's do it now.|Will you help beat her up?,500,0,0,
+330,0,0,,(Smoke with her.)|(1 minute),(You both share a puff and sit idly.),330,0,0,
+330,0,0,,(Stare at her.)|(1 minute),(You stare at her idly while|she smokes a puff in your face.),330,0,0,
+330,0,0,,(Remove her clothes.)|(1 minute),(She stares and pushes your hand away.)|(You need +8 love or submission to strip her.),330,0,0,RemoveClothes()
+330,0,0,,Let's go back.|(Back to college.),,0,0,0,EndChapter()
+340,0,0,!IsGagged,Are you ok?,Oh hell yeah!|(She looks stoned.),340,0,0,
+340,0,0,!CuteRemarkDone,You look pretty|cute like that.,"(She looks at herself, blushes|a little and nods back at you.)",340,0,0,CuteRemark()
+340,0,0,,(Tickle her.)|(1 minute),(Either she's not ticklish or she's|too stoned but she doesn't react much.),340,0,0,
+340,0,0,,(Masturbate her.)|(1 minute),,340,0,0,Masturbate()
+340,0,0,IsRoped,(Untie her.)|(1 minute),(She seems to appreciate but doesn't|react that much while you untie her.),340,0,0,Untie()
+340,0,0,IsGagged,(Ungag her.)|(1 minute),(You ungag her and she stares at you.)|Oh Fuck!  This is pretty intense.,340,0,0,Ungag()
+340,0,0,,(Dress her back.)|(1 minute),(You let her go and she|puts her clothes back on.),330,0,0,Release()
+340,0,0,IsBoundAndGagged,I tricked you bitch.|(Leave her stranded.),,340,0,0,EvilEnd()
+340,0,0,,Let's go back.|(Back to college.),,0,0,0,EndChapter()
+350,0,0,,Cum for me sweetie.|(Make her climax.),(You masturbate her gently while she|moans and surrenders to a sweet orgasm.),340,1,0,Orgasm()
+350,0,0,,Cum now little whore.|(Make her climax.),(You masturbate her forcefully and|she climaxes with a great orgasm.),340,0,1,Orgasm()
+350,0,0,,"Not now, maybe later.|(Don't let her climax.)",(You stop masturbating her|and she slowly stops to moan.),340,-1,0,NoOrgasm()
+350,0,0,,You don't deserve it.|(Don't let her climax.),(You stop masturbating her|and she slowly stops to moan.),340,0,-1,NoOrgasm()
+400,0,0,,"Beat up Amanda?|No, it's too extreme.",It's not extreme enough!|Someday she will pay.,330,0,0,
+400,0,0,,Yes!  Let's get|her right now.,Come with me then!  (You both walk to|an empty class where Amanda is reading.),410,0,0,StartBeatUp()
+410,0,0,,(Help Sidney to subdue|Amanda.)  (1 minute),(You both jump on Amanda and Sidney|gets a holds on her.)  Strip her down!,420,1,0,
+410,0,0,,I cannot do that.|(Don't subdue Amanda.),You fucking traitor!  You're lucky Amanda.|(Amanda quickly packs her stuff and runs away.),490,-3,-2,
+420,0,0,,(Help Sidney to strip|Amanda.)  (1 minute),(You strip her down naked while|Sidney holds her.)  Beat her!,430,1,0,
+420,0,0,,I cannot do that.|(Let Amanda go.),You fucking traitor!  You're lucky Amanda.|(Amanda quickly packs her stuff and runs away.),490,-3,-2,
+430,0,0,,(Beat up Amanda.)|(1 minute),(You kick and punch Amanda until she|crumbles to the ground.)  Let me do the rest!,440,0,1,"BeatUp(""Amanda"")"
+430,0,0,,I'm too weak Miss.|(1 minute),(Sidney struggles alone and beats up Amanda that|crumbles to the ground.)  Move away girl!,440,0,-1,
+430,0,0,,I cannot do that.|(Let Amanda go.),You fucking traitor!  You're lucky Amanda.|(Amanda quickly packs her stuff and runs away.),490,-3,-2,
+440,0,0,,Go ahead!|(1 minute),(Sidney gags and hogties Amanda.)|Let's run before we get caught!,450,1,0,"TieUp(""Amanda"")"
+440,0,0,,This is going too far.|(Help Amanda to get up.),You fucking traitor!  You're lucky Amanda.|(Amanda quickly packs her stuff and runs away.),490,-3,-2,
+450,0,0,,Yes Miss Sidney.|(Leave her stranded.),,0,0,-1,"CrimeStranded(""Amanda"")"
+450,0,0,,Run like hell girl!|(Leave her stranded.),,0,0,1,"CrimeStranded(""Amanda"")"
+450,0,0,,This is going too far.|(Release her.)  (1 minute),You fucking traitor!  You're lucky Amanda.|(Amanda quickly packs her stuff and runs away.),490,-3,-2,
+490,0,0,,Let's go back.|(Back to classes.),,0,0,0,EndChapter()
+500,0,0,,"Beat up Sarah?|No, it's too extreme.",It's not extreme enough!|Someday she will pay.,330,0,0,
+500,0,0,,Yes!  Let's get|her right now.,Come with me then!  (You both walk to|the schoolyard where Sarah is chilling.),510,0,0,StartBeatUp()
+510,0,0,,(Help Sidney to subdue|Sarah.)  (1 minute),(You both jump on Sarah and Sidney|gets a holds on her.)  Strip her down!,520,1,0,
+510,0,0,,I cannot do that.|(Don't subdue Sarah.),You fucking traitor!  You're lucky Sarah.|(Sarah pulls her tongue and quickly runs away.),590,-3,-2,
+520,0,0,,(Help Sidney to strip|Sarah.)  (1 minute),(You strip her down naked while|Sidney holds her.)  Beat her!,530,1,0,
+520,0,0,,I cannot do that.|(Let Sarah go.),You fucking traitor!  You're lucky Sarah.|(Sarah pulls her tongue and quickly runs away.),590,-3,-2,
+530,0,0,,(Beat up Sarah.)|(1 minute),(You kick and punch Sarah until she|crumbles to the ground.)  Let me do the rest!,540,0,1,"BeatUp(""Sarah"")"
+530,0,0,,I'm too weak Miss.|(1 minute),(Sidney struggles alone and beats up Sarah that|crumbles to the ground.)  Move away girl!,540,0,-1,
+530,0,0,,I cannot do that.|(Let Sarah go.),You fucking traitor!  You're lucky Sarah.|(Sarah pulls her tongue and quickly runs away.),590,-3,-2,
+540,0,0,,Go ahead!|(1 minute),(Sidney gags and binds Sarah on the fence.)|Let's fucking run before we get caught!,550,1,0,"TieUp(""Sarah"")"
+540,0,0,,This is going too far.|(Help Sarah to get up.),You fucking traitor!  You're lucky Sarah.|(Sarah pulls her tongue and quickly runs away.),590,-3,-2,
+550,0,0,,Yes Miss Sidney.|(Leave her stranded.),,0,0,-1,"CrimeStranded(""Sarah"")"
+550,0,0,,Run like hell girl!|(Leave her stranded.),,0,0,1,"CrimeStranded(""Sarah"")"
+550,0,0,,This is going too far.|(Release her.)  (1 minute),You fucking traitor!  You're lucky Sarah.|(Sarah pulls her tongue and quickly runs away.),590,-3,-2,
+590,0,0,,Let's go back.|(Back to classes.),,0,0,0,EndChapter()
diff --git a/C007_LunchBreak/Sidney/Text_EN.csv b/C007_LunchBreak/Sidney/Text_EN.csv
new file mode 100644
index 0000000000..a863b6b38b
--- /dev/null
+++ b/C007_LunchBreak/Sidney/Text_EN.csv
@@ -0,0 +1,18 @@
+Tag,Content
+FirstRope,(Too stone or too enthralled by you.|She lets you do a full rope harness on her.)
+SecondRope,(You remove her boots and tightly|wrap a second rope around her legs.)
+Cuffs,(She stares idly at the cuffs while you|easily manage to snap them behind her back.)
+BallGag,(She frowns at the BallGag but doesn't|resist much as you strap it around her head.)
+TapeGag,(She looks idly at you while you|apply some tape over her mouth.)
+Uncuff,(You unlock the cuffs on her and she|brings back her hands in front of her very slowly.)
+Crop,(She moans a little when you hit her with|the crop but doesn't seem to mind that much.)
+VibratingEgg,(She barely notices that you slide the egg|in her vagina but starts to moan randomly.)
+Collar,(You need +20 submission or better|and a special ceremony to collar Sidney.)
+Extortion,(Sidney comes back and laughs at you.)|So what will you do when I ask for money?
+InviteWeed,"Yep!  You can't go wrong with meat.|I'm going to smoke some weed, are you coming?"
+StripLove,(You smile at each other while you|slowly unbutton her blouse and remove her skirt.)
+StripSub,(You pin her against the wall while|unbuttoning her blouse and removing her skirt.)
+MasturbateLove,(You bend down and gently masturbate|her while she closes her eyes and moans.)
+MasturbateSub,(You pin her against the wall and masturbate|her pretty fast while she moans with pleasure.)
+ReadyForOrgasm,(She starts to breath and moan pretty|fast.  She seems very close to an orgasm.)
+LeaveBoundAndGagged,(Do you really want to abandon her|bound and gagged?  Click again to do so.)
diff --git a/C008_DramaClass/AmandaIntro/Background.jpg b/C008_DramaClass/AmandaIntro/Background.jpg
new file mode 100644
index 0000000000..05777d18a5
Binary files /dev/null and b/C008_DramaClass/AmandaIntro/Background.jpg differ
diff --git a/C008_DramaClass/AmandaIntro/BackgroundOrgasm.jpg b/C008_DramaClass/AmandaIntro/BackgroundOrgasm.jpg
new file mode 100644
index 0000000000..e70997ba19
Binary files /dev/null and b/C008_DramaClass/AmandaIntro/BackgroundOrgasm.jpg differ
diff --git a/C008_DramaClass/AmandaIntro/CoverEyes.jpg b/C008_DramaClass/AmandaIntro/CoverEyes.jpg
new file mode 100644
index 0000000000..f691d4be0e
Binary files /dev/null and b/C008_DramaClass/AmandaIntro/CoverEyes.jpg differ
diff --git a/C008_DramaClass/AmandaIntro/Intro_EN.csv b/C008_DramaClass/AmandaIntro/Intro_EN.csv
new file mode 100644
index 0000000000..db6b2422c8
--- /dev/null
+++ b/C008_DramaClass/AmandaIntro/Intro_EN.csv
@@ -0,0 +1,25 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,IsHeroine,So you're joining the drama act.|I'm playing the heroic white knight.,Background.jpg
+0,0,0,!IsHeroine,So you're joining the drama act.|I'm playing the villain black knight.,Background.jpg
+0,5,0,IsHeroine,It's so nice to see you join the act.|I'm playing the heroic white knight.,Background.jpg
+0,5,0,!IsHeroine,It's so nice to see you join the act.|I'm playing the villain black knight.,Background.jpg
+0,0,5,IsHeroine,Welcome to drama class Miss.|I'll be playing the heroic white knight.,Background.jpg
+0,0,5,!IsHeroine,Welcome to drama class Miss.|I'll be playing the villain black knight.,Background.jpg
+0,0,0,Common_PlayerGagged,You look cute with that gag.|But it's not needed for the play.,Background.jpg
+10,0,0,,Now cover your eyes so I can change.,Background.jpg
+10,0,5,,"Miss COMMON_PLAYERNAME, can you|please cover your eyes so I can change?",Background.jpg
+10,0,0,Common_PlayerGagged,You look cute with that gag.|But it's not needed for the play.,Background.jpg
+20,0,0,,,CoverEyes.jpg
+30,0,0,,Why didn't you keep your eyes covered?,Background.jpg
+40,0,0,,I guess you can see me change.|Can you help me put this armor?,Background.jpg
+40,0,0,Common_PlayerGagged,You look cute with that gag.|But can you help me put this armor?,Background.jpg
+40,0,0,Common_PlayerRestrained,Your restrains are pretty nice.|But you won't be able to help me.,Background.jpg
+40,0,0,IsChaste,(She tugs on the belt.)  COMMON_PLAYERNAME?|You do have the key for that belt?,Background.jpg
+40,0,0,IsRestrained,It might not be the best time for bondage.|(She struggles.)  Could you release me please?,Background.jpg
+40,0,0,IsGagged,Aaaeemg ngee nnaaagn!|(She struggles with the gag.),Background.jpg
+50,0,0,SarahMissing,Sarah is late for class again.|Should we go without her?,Background.jpg
+50,0,0,!SarahMissing,Is everyone ready for the play?,Background.jpg
+100,0,0,,(Amanda is still recovering|from a wonderful orgasm.),BackgroundOrgasm.jpg
+200,0,0,,"A subbie like you shouldn't have any|keys, I'll take it.  (She takes your cuffs key.)",Background.jpg
+300,0,0,,,Background.jpg
+310,0,0,,,Background.jpg
diff --git a/C008_DramaClass/AmandaIntro/Script.js b/C008_DramaClass/AmandaIntro/Script.js
new file mode 100644
index 0000000000..dd085c53df
--- /dev/null
+++ b/C008_DramaClass/AmandaIntro/Script.js
@@ -0,0 +1,314 @@
+var C008_DramaClass_AmandaIntro_CurrentStage = 0;
+var C008_DramaClass_AmandaIntro_SarahMissing = false;
+var C008_DramaClass_AmandaIntro_IsHeroine = false;
+var C008_DramaClass_AmandaIntro_ChangingCount = 0;
+var C008_DramaClass_AmandaIntro_IsBothFree = true;
+var C008_DramaClass_AmandaIntro_IsRestrained = false;
+var C008_DramaClass_AmandaIntro_IsGagged = false;
+var C008_DramaClass_AmandaIntro_IsChaste = false;
+var C008_DramaClass_AmandaIntro_IsPlayReady = false;
+var C008_DramaClass_AmandaIntro_CanUntie = false;
+var C008_DramaClass_AmandaIntro_CanUngag = false;
+var C008_DramaClass_AmandaIntro_MasturbateCount = 0;
+var C008_DramaClass_AmandaIntro_OrgasmDone = false;
+var C008_DramaClass_AmandaIntro_PlayerIsRoped = false;
+var C008_DramaClass_AmandaIntro_PlayerIsCuffed = false;
+var C008_DramaClass_AmandaIntro_PrettyCommentDone = false;
+var C008_DramaClass_AmandaIntro_TickleDone = false;
+var C008_DramaClass_AmandaIntro_SpankDone = false;
+var C008_DramaClass_AmandaIntro_HugDone = false;
+var C008_DramaClass_AmandaIntro_SlapDone = false;
+var C008_DramaClass_AmandaIntro_PlayerBondageDone = false;
+var C008_DramaClass_AmandaIntro_CropDone = false;
+var C008_DramaClass_AmandaIntro_KeyTaken = false;
+var C008_DramaClass_AmandaIntro_ReadyHug = false;
+var C008_DramaClass_AmandaIntro_SarahReadyHug = false;
+var C008_DramaClass_AmandaIntro_HugImage = "";
+
+// Calculates the scene parameters
+function C008_DramaClass_AmandaIntro_CalcParams() {
+	C008_DramaClass_AmandaIntro_IsRestrained = ActorIsRestrained();
+	C008_DramaClass_AmandaIntro_IsGagged = ActorIsGagged();
+	C008_DramaClass_AmandaIntro_IsChaste = (ActorHasInventory("ChastityBelt"));
+	C008_DramaClass_AmandaIntro_IsBothFree = (!C008_DramaClass_AmandaIntro_IsRestrained && !C008_DramaClass_AmandaIntro_IsGagged && !Common_PlayerRestrained && !Common_PlayerGagged);
+	C008_DramaClass_AmandaIntro_IsPlayReady = (C008_DramaClass_AmandaIntro_IsBothFree && ((Common_PlayerCrime == "SarahStranded") || (C008_DramaClass_SarahIntro_CurrentStage == 30)) && (Common_PlayerCostume != ""));
+	C008_DramaClass_AmandaIntro_CanUntie = (ActorHasInventory("Rope") && !Common_PlayerRestrained);
+	C008_DramaClass_AmandaIntro_CanUngag = (C008_DramaClass_AmandaIntro_IsGagged && !Common_PlayerRestrained);
+	C008_DramaClass_AmandaIntro_PlayerIsRoped = (PlayerHasLockedInventory("Rope"));
+	C008_DramaClass_AmandaIntro_PlayerIsCuffed = (PlayerHasLockedInventory("Cuffs"));
+	C008_DramaClass_AmandaIntro_ReadyHug = (!C008_DramaClass_AmandaIntro_IsRestrained && !C008_DramaClass_AmandaIntro_IsGagged && !C008_DramaClass_AmandaIntro_IsChaste && Common_PlayerUnderwear && !Common_PlayerRestrained && !Common_PlayerGagged && !Common_PlayerChaste);
+	C008_DramaClass_AmandaIntro_SarahReadyHug = ((C008_DramaClass_SarahIntro_CurrentStage == 20) && !ActorSpecificHasInventory("Sarah", "Cuffs") && !ActorSpecificHasInventory("Sarah", "Rope") && !ActorSpecificHasInventory("Sarah", "BallGag") && !ActorSpecificHasInventory("Sarah", "TapeGag") && !ActorSpecificHasInventory("Sarah", "ClothGag") && !ActorSpecificHasInventory("Sarah", "ChastityBelt"));
+}
+
+// Chapter 8 - Amanda Intro Load
+function C008_DramaClass_AmandaIntro_Load() {
+
+	// Load the scene parameters
+	ActorLoad("Amanda", "DressingRoom");
+	LoadInteractions();
+	C008_DramaClass_AmandaIntro_CalcParams();
+	
+	// Check if Sarah is missing for this scene and if Amanda is the Heroine
+	C008_DramaClass_AmandaIntro_SarahMissing = (Common_PlayerCrime == "SarahStranded");
+	C008_DramaClass_AmandaIntro_IsHeroine = (C008_DramaClass_JuliaIntro_AmandaRole == "Heroine");
+	C008_DramaClass_AmandaIntro_TakeKey();
+
+}
+
+// Chapter 8 - Amanda Intro Run
+function C008_DramaClass_AmandaIntro_Run() {
+	BuildInteraction(C008_DramaClass_AmandaIntro_CurrentStage);
+	if ((C008_DramaClass_AmandaIntro_CurrentStage != 20) && (C008_DramaClass_AmandaIntro_CurrentStage != 310)) DrawInteractionActor();
+	if (C008_DramaClass_AmandaIntro_CurrentStage == 310) DrawImage(document.getElementById("MainCanvas").getContext("2d"), C008_DramaClass_AmandaIntro_HugImage, 600, 0);
+}
+
+// Chapter 8 - Amanda Intro Click
+function C008_DramaClass_AmandaIntro_Click() {	
+
+	// Regular and inventory interactions
+	ClickInteraction(C008_DramaClass_AmandaIntro_CurrentStage);
+	var ClickInv = GetClickedInventory();
+	
+	// Amanda can take the keys if the player is too submissive
+	if (ClickInv == "CuffsKey")
+		C008_DramaClass_AmandaIntro_TakeKey();
+
+	// Amanda will not accept any item when she's dressed
+	if (((ClickInv == "Rope") || (ClickInv == "Cuffs") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "ClothGag") || (ClickInv == "ChastityBelt") || (ClickInv == "VibratingEgg")) && (C008_DramaClass_AmandaIntro_CurrentStage < 20))
+		OverridenIntroText = GetText("StripBeforeFun");
+
+	// Amanda will not accept any item when she's costumed
+	if (((ClickInv == "Rope") || (ClickInv == "Cuffs") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "ClothGag") || (ClickInv == "ChastityBelt") || (ClickInv == "VibratingEgg")) && (C008_DramaClass_AmandaIntro_CurrentStage == 50))
+		OverridenIntroText = GetText("CostumeBlocksFun");
+	
+	// Amanda can be restrained on stage 40
+	if ((C008_DramaClass_AmandaIntro_CurrentStage == 40) && (ClickInv != "") && (ClickInv != "Player") && !Common_PlayerRestrained) {
+	
+		// Amande doesn't like the crop but becomes more submissive
+		if ((ClickInv == "Crop") && (!C008_DramaClass_AmandaIntro_CropDone)) {
+			C008_DramaClass_AmandaIntro_CropDone = true;
+			ActorChangeAttitude(-1, 1);
+			return;
+		}
+
+		// Amande cannot be tied up if she's not at least a little submissive
+		if ((ActorGetValue(ActorSubmission) < 2) && (ClickInv != "CuffsKey")) {
+			OverridenIntroText = GetText("RefuseBondage");
+			return;			
+		}
+
+		// Amanda can refuse the belt if she's not submissive enough or not tied up
+		if ((ClickInv == "ChastityBelt") && !C008_DramaClass_AmandaIntro_IsRestrained && (ActorGetValue(ActorSubmission) < 10)) {
+			OverridenIntroText = GetText("RefuseBelt");
+			return;
+		}
+	
+		// Apply the clicked restrain
+		ActorApplyRestrain(ClickInv);
+		C008_DramaClass_AmandaIntro_CalcParams();
+
+	}
+
+}
+
+// Chapter 8 - Amanda can take the keys from the player
+function C008_DramaClass_AmandaIntro_TakeKey() {
+	if ((PlayerHasInventory("CuffsKey")) && (!C008_DramaClass_AmandaIntro_IsRestrained) && (ActorGetValue(ActorSubmission) < -2) && (C008_DramaClass_AmandaIntro_CurrentStage == 40)) {
+		PlayerRemoveInventory("CuffsKey", 99);
+		OverridenIntroText = GetText("TakeKey");
+		LeaveIcon = "";
+		C008_DramaClass_AmandaIntro_CurrentStage = 200;
+		C008_DramaClass_AmandaIntro_KeyTaken = true;
+	}
+}
+
+// Chapter 8 - Amanda Allow Leave
+function C008_DramaClass_AmandaIntro_AllowLeave() {
+	LeaveIcon = "Leave";
+}
+
+// Chapter 8 - Amanda can cuff the player
+function C008_DramaClass_AmandaIntro_CuffPlayer() {
+	PlayerRemoveInventory("Cuffs", 1);
+	PlayerLockInventory("Cuffs");
+	C008_DramaClass_AmandaIntro_CalcParams();
+	LeaveIcon = "Leave";
+}
+
+// Chapter 8 - Amanda Strip
+function C008_DramaClass_AmandaIntro_Strip() {
+	ActorSetCloth("Underwear");
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 8 - Amanda No Leave
+function C008_DramaClass_AmandaIntro_StripNoLeave() {
+	LeaveIcon = "";
+	ActorSetCloth("Underwear");
+}
+
+// Chapter 8 - Amanda Changing - She takes 3 tries to wear her armor
+function C008_DramaClass_AmandaIntro_Changing() {
+	C008_DramaClass_AmandaIntro_ChangingCount++;
+	if (C008_DramaClass_AmandaIntro_ChangingCount >= 3) {
+		OverridenIntroText = GetText("ChangeComplete");
+		ActorChangeAttitude(1, 0);
+		C008_DramaClass_AmandaIntro_CurrentStage = 50;
+		C008_DramaClass_AmandaIntro_Costume();
+		LeaveIcon = "Leave";
+	}
+}
+
+// Chapter 8 - Amanda - If the player cheated and is submissive, she gets tied up
+function C008_DramaClass_AmandaIntro_CheatedCover() {
+	if (ActorGetValue(ActorSubmission) <= 0) {
+		OverridenIntroText = GetText("CheaterPunishment");
+		CurrentTime = CurrentTime + 60000;
+		PlayerClothes("Underwear");
+		if (PlayerHasInventory("Rope")) PlayerRemoveInventory("Rope", 1);
+		PlayerLockInventory("Rope");
+		C008_DramaClass_AmandaIntro_CalcParams();
+	}
+	LeaveIcon = "Leave";
+}
+
+// Chapter 8 - Amanda - She likes the pretty comment
+function C008_DramaClass_AmandaIntro_PrettyComment() {
+	if (!C008_DramaClass_AmandaIntro_PrettyCommentDone) {
+		C008_DramaClass_AmandaIntro_PrettyCommentDone = true;
+		ActorChangeAttitude(1, 0);		
+	}
+}
+
+// Chapter 8 - Amanda - She likes being tickled
+function C008_DramaClass_AmandaIntro_Tickle() {
+	if (!C008_DramaClass_AmandaIntro_TickleDone) {
+		C008_DramaClass_AmandaIntro_TickleDone = true;
+		ActorChangeAttitude(1, 0);
+	}
+}
+
+// Chapter 8 - Amanda - She doesn't like being spanked
+function C008_DramaClass_AmandaIntro_Spank() {
+	if (!C008_DramaClass_AmandaIntro_SpankDone) {
+		C008_DramaClass_AmandaIntro_SpankDone = true;
+		ActorChangeAttitude(-1, 0);
+	}
+}
+
+// Chapter 8 - Amanda - She hates and fear being slapped
+function C008_DramaClass_AmandaIntro_Slap() {
+	if (!C008_DramaClass_AmandaIntro_SlapDone) {
+		C008_DramaClass_AmandaIntro_SlapDone = true;
+		ActorChangeAttitude(-2, 1);
+	}
+}
+
+// Chapter 8 - Amanda Costume
+function C008_DramaClass_AmandaIntro_Costume() {
+	if (C008_DramaClass_AmandaIntro_IsChaste) OverridenIntroText = GetText("DressWithBelt");
+	if (C008_DramaClass_AmandaIntro_IsHeroine) ActorSetCloth("Heroine");
+	else ActorSetCloth("Villain");
+}
+
+// Chapter 8 - Amanda Untie
+function C008_DramaClass_AmandaIntro_Untie() {
+	ActorUntie();
+	C008_DramaClass_AmandaIntro_CalcParams();
+}
+
+// Chapter 8 - Amanda Ungag
+function C008_DramaClass_AmandaIntro_Ungag() {
+	ActorUngag();
+	C008_DramaClass_AmandaIntro_CalcParams();
+}
+
+// Chapter 8 - Amanda Masturbate - Only works if restrained and not chaste
+function C008_DramaClass_AmandaIntro_Masturbate() {
+	if (C008_DramaClass_AmandaIntro_IsRestrained) {
+		if (!ActorIsChaste()) {
+			
+			// She can get an orgasm if she's bound and gagged, and was complimented, tickled or hugged
+			C008_DramaClass_AmandaIntro_MasturbateCount++;
+			if (C008_DramaClass_AmandaIntro_HugDone || C008_DramaClass_AmandaIntro_PrettyCommentDone || C008_DramaClass_AmandaIntro_TickleDone) {
+				if ((C008_DramaClass_AmandaIntro_MasturbateCount >= 3) && !C008_DramaClass_AmandaIntro_OrgasmDone) {
+					OverridenIntroText = GetText("MasturbateOrgasm");
+					ActorAddOrgasm();
+					ActorChangeAttitude(1, 0);
+					C008_DramaClass_AmandaIntro_OrgasmDone = true;
+					C008_DramaClass_AmandaIntro_CurrentStage = 100;
+				} else OverridenIntroText = GetText("MasturbateGood");
+			} else OverridenIntroText = GetText("Masturbate");
+			
+		} else OverridenIntroText = GetText("MasturbateBelt");
+	}
+}
+
+// Chapter 8 - Amanda Random Bondage - Amanda can tie up the player if she's not too submissive
+function C008_DramaClass_AmandaIntro_RandomBondage() {
+	if (ActorGetValue(ActorSubmission) < 5) {
+		if (Common_PlayerUnderwear || Common_PlayerNaked) {
+			if (PlayerHasInventory("Cuffs") || PlayerHasInventory("Rope") || PlayerHasInventory("BallGag") || PlayerHasInventory("TapeGag") || PlayerHasInventory("ClothGag")) {
+				PlayerRandomBondage();
+				C008_DramaClass_AmandaIntro_CalcParams();
+				OverridenIntroText = GetText("PlayerRandomBondage");
+				CurrentTime = CurrentTime + 60000;
+				if (!C008_DramaClass_AmandaIntro_PlayerBondageDone) {
+					C008_DramaClass_AmandaIntro_PlayerBondageDone = true;
+					ActorChangeAttitude(0, -2);
+				}				
+			} else OverridenIntroText = GetText("NoBondageItem");
+		} else OverridenIntroText = GetText("UndressBeforeBondage");
+	}
+}
+
+// Chapter 8 - Amanda Test Untie Player (Amanda will do it if she likes the player or is submissive)
+function C008_DramaClass_AmandaIntro_TestUntiePlayer() {
+	if (!C008_DramaClass_AmandaIntro_IsRestrained) {
+		if ((ActorGetValue(ActorLove)) > 0 || (ActorGetValue(ActorSubmission) >= 5)) {
+			PlayerReleaseBondage();
+			C008_DramaClass_AmandaIntro_CalcParams();
+			if (!C008_DramaClass_AmandaIntro_IsGagged) OverridenIntroText = GetText("UntiePlayer");
+			else OverridenIntroText = GetText("HelpWhileGagged");
+			CurrentTime = CurrentTime + 60000;
+		} else {
+			if (C008_DramaClass_SarahIntro_IsGagged) OverridenIntroText = GetText("CannotFreeGagged");
+		}
+	} else OverridenIntroText = GetText("CannotFree");
+}
+
+// Chapter 8 - Amanda Test Untie Player (Amanda will do it if she likes the player or is submissive)
+function C008_DramaClass_AmandaIntro_TestUncuffPlayer() {
+	if (!C008_DramaClass_AmandaIntro_IsRestrained) {
+		if (C008_DramaClass_AmandaIntro_KeyTaken) {
+			if ((ActorGetValue(ActorLove)) > 0 || (ActorGetValue(ActorSubmission) >= 5)) {
+				PlayerReleaseBondage();
+				C008_DramaClass_AmandaIntro_CalcParams();
+				if (!C008_DramaClass_AmandaIntro_IsGagged) OverridenIntroText = GetText("UncuffAccept");
+				else OverridenIntroText = GetText("HelpWhileGagged");
+				CurrentTime = CurrentTime + 60000;
+			} else OverridenIntroText = GetText("UncuffRefuse");
+		} else {
+			if (C008_DramaClass_SarahIntro_IsGagged) OverridenIntroText = GetText("CannotFreeGagged");
+		}
+	} else OverridenIntroText = GetText("CannotFree");
+}
+
+// Chapter 8 - Amanda Start Hugs
+function C008_DramaClass_AmandaIntro_StartHugs() {
+	LeaveIcon = "";
+}
+
+// Chapter 8 - Amanda Hug
+function C008_DramaClass_AmandaIntro_Hug(HugImage) {
+	C008_DramaClass_AmandaIntro_HugImage = CurrentChapter + "/HugImages/" + HugImage + ".png";
+	if (!C008_DramaClass_AmandaIntro_HugDone) {
+		C008_DramaClass_AmandaIntro_HugDone = true;
+		ActorChangeAttitude(1, 0);
+	}
+}
+
+// Chapter 8 - Amanda Start Drama
+function C008_DramaClass_AmandaIntro_StartDrama() {
+	SetScene("C008_DramaClass", "Transition");
+}
\ No newline at end of file
diff --git a/C008_DramaClass/AmandaIntro/Stage_EN.csv b/C008_DramaClass/AmandaIntro/Stage_EN.csv
new file mode 100644
index 0000000000..f682485899
--- /dev/null
+++ b/C008_DramaClass/AmandaIntro/Stage_EN.csv
@@ -0,0 +1,63 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Is it the place to|get our costume?,"Yes, I'm sure you'll find a costume like I did.|Now please cover your eyes while I change.",10,0,0,
+0,0,0,SarahMissing,Where is the|third actor?,"Sarah is the third one, but she's late as usual.|Let's hope she joins us before we start.",0,0,0,
+0,0,0,IsHeroine,The heroine is a|perfect role for you.,You're so sweet COMMON_PLAYERNAME.|Now cover your eyes while I change.,10,1,0,
+0,0,0,!IsHeroine,"Strange, I don't see|you playing a villain.",I agree!  I think Julia wants to challenge me.|Now please cover your eyes while I change.,10,1,0,
+0,0,0,IsHeroine,You?  The heroine?,"Hey!  I'm a good person, I can do it!|Now cover your eyes while I change.",10,-1,1,
+0,0,0,!IsHeroine,I should be the villain|and kidnap you.,(She nods.)  That could also be fun I guess.|Now please cover your eyes while I change.,10,-1,1,
+0,0,0,,Drama class is stupid.,Don't say that!  It's very cultural.|Now cover your eyes while I change.,10,-1,0,
+10,5,0,,My friend.  I could|help you to change.,I guess you're right.  I'll remove my|clothes then.  (She strips down.),40,0,0,Strip()
+10,0,5,,Common girl.|Drop this skirt.,Yes.  I shouldn't be shy.  (She strips.)|Can you please help me to wear my armor?,40,0,0,Strip()
+10,0,0,,I cannot see|you change?,"No COMMON_PLAYERNAME, you cannot.|Now cover your eyes for a few minutes.",10,0,0,
+10,0,0,!Common_PlayerRestrained,(Cover your eyes.),(You cover your eyes with both|hands while she starts to change.),20,0,0,StripNoLeave()
+20,0,0,,(Keep the cover.)|(1 minute),(You can hear a metal costume clicking.)|Give me another minute please.,20,0,0,Changing()
+20,0,0,,(Take a peek.)|(1 minute),(You keep cover but peek between your fingers.|You partially see Amanda struggling to put her armor.),20,0,0,Changing()
+20,0,0,,(Stop covering|your eyes.),Hey!  Why didn't you|keep your eyes covered?,30,-1,0,
+30,0,0,,It was taking|way too long.,"It's not easy to dress in this armor.|Instead of complaining, can you help me?",40,-1,0,CheatedCover()
+30,0,0,,You can't do it|without help.,"Yeah, maybe I do need some help.|Can you help me to wear this armor?",40,0,1,CheatedCover()
+30,0,0,,I thought you could|use some help.,"That's very sweet of you.  Alright,|can you help me to wear this armor?",40,1,-1,CheatedCover()
+30,0,0,,You're so beautiful.|I wanted to see you.,Alright then.  But since you cheated|can you help me to wear this armor?,40,1,0,CheatedCover()
+30,0,0,,I'm sorry.|I cheated.,At least you're honest.  Since you cheated|can you help me to wear this armor?,40,0,-1,CheatedCover()
+40,0,0,PlayerIsRoped,(Turn and point|to your ropes.),"You're so cute like that, I can't untie you.|Try to struggle some more to reach a knot.",40,0,0,TestUntiePlayer()
+40,0,0,PlayerIsCuffed,(Turn and point|to your cuffs.),"Sorry, I don't have the keys for these cuffs.",40,0,0,TestUncuffPlayer()
+40,0,0,IsBothFree,You know that|you're pretty?,(She giggles and blushes.)|You're also pretty COMMON_PLAYERNAME.,40,0,0,PrettyComment()
+40,0,0,IsBothFree,You would look|great tied up.,(She blushes.)  It might not|be the best time for that.,40,0,0,
+40,0,0,ReadyHug,A few hugs|before the play?,I'm intrigued COMMON_PLAYERNAME.|What do you have in mind?,300,0,0,StartHugs()
+40,0,0,IsBothFree,(Help her dress.)|(1 minute),(You help her dress in her armor.)|Thanks!  Are we ready for the play?,50,0,0,Costume()
+40,0,0,IsBothFree,"Amanda, would you|like to restrain me?","Oh my god, Miss, that wouldn't be proper.|(She bows her head and looks away.)",40,0,0,RandomBondage()
+40,0,0,!Common_PlayerRestrained,(Tickle her.)|(1 minute),"(You tickle her on the ribs and she|laughs out loud, she's enjoying it.)",40,0,0,Tickle()
+40,0,0,!Common_PlayerRestrained,(Spank her.)|(1 minute),"(You give her a quick spank and she|steps back, she didn't seem to like it.)",40,0,0,Spank()
+40,0,5,!Common_PlayerRestrained,(Slap her.)|(1 minute),(You slap her hard on the face and the|breast while she cowers in fear of you.),40,0,0,Slap()
+40,0,0,!Common_PlayerRestrained,(Masturbate her.)|(1 minute),(You bend down to masturbate her|but she pushes your hand away.),40,0,0,Masturbate()
+40,0,0,CanUntie,(Untie her.)|(1 minute),(You undo the knots to free her and|she stretches her arms in appreciation.),40,0,0,Untie()
+40,0,0,CanUngag,(Ungag her.)|(1 minute),(You remove the gag and she takes|a deep breath.)  Aaaah!  Thank you.,40,0,0,Ungag()
+50,0,0,IsPlayReady,Let's do some drama!|(Join the drama class.),,50,0,0,StartDrama()
+50,0,0,!IsPlayReady,Everyone isn't ready.,Let's get dressed quickly then!,50,0,0,
+100,0,0,,Welcome to heaven.,"(She nods silently, slowly|recovering from her orgasm.)",40,1,0,
+100,0,0,,(Pet her head gently.),"(She blushes red, slowly|recovering from her orgasm.)",40,1,1,
+100,0,0,,Now I control|your orgasms.,"(She frowns at you, slowly|recovering from her orgasm.)",40,-1,1,
+100,0,0,,(Slap her face.),(She cowers in fear and slowly|recovers from her orgasm.),40,-2,1,
+100,0,0,,You're such a slut.,"(She shakes her head no, slowly|recovering from her orgasm.)",40,-1,0,
+100,0,0,,Next time you|will beg to cum.,"(She bows her head, slowly|recovering from her orgasm.)",40,0,1,
+200,0,0,,(Nod and bow|your head.),Such a good sub.  (She giggles.)|Now can you help me change?,40,0,-1,AllowLeave()
+200,0,0,,(Frown at her.),I'm glad you don't disagree.|Now can you help me change?,40,0,0,AllowLeave()
+200,0,0,,"Yes Miss, you|can have it.",Good girl.  (She giggles.)|Now can you help me change?,40,0,-1,AllowLeave()
+200,0,0,,That's unfair!,(She pulls her tongue at you.)|Now can you help me change?,40,0,0,AllowLeave()
+200,0,0,!Common_PlayerRestrained,You bitch!,"Such a filthy mouth, I'll teach you a lesson.|(She pins you and cuffs your hands in your back.)",40,1,0,CuffPlayer()
+200,0,0,!Common_PlayerRestrained,Give me my|key right now!,A good submissive shouldn't talk like that.|(She pins you and cuffs your hands in your back.),40,0,1,CuffPlayer()
+200,0,0,Common_PlayerRestrained,You bitch!,Such a filthy mouth.  I'll have|to teach you a lesson someday.,40,1,0,AllowLeave()
+200,0,0,Common_PlayerRestrained,Give me my|key right now!,A good subbie shouldn't talk like that.|(She giggles and pulls her tongue at you.),40,0,1,AllowLeave()
+300,0,0,,Give me a hug!|(1 minute),(You hold each other in the|arms for a long and warm hug.),310,0,0,"Hug(""PlayerAmandaHug"")"
+300,5,0,HugDone,(Kiss her.)|(1 minute),(You kiss her tenderly on the neck|and lips while she moans shyly.),310,0,0,"Hug(""PlayerAmandaKiss"")"
+300,0,0,SarahReadyHug,Go hug Sarah.|(1 minute),(Amanda shyly offers a hug and|Sarah quickly jumps in her arms.),310,0,0,"Hug(""AmandaSarahHug"")"
+300,0,5,SarahReadyHug,Go kiss Sarah.|(1 minute),(She stays silent in front of Sarah for a|few seconds and surprises her with a kiss.),310,0,0,"Hug(""AmandaSarahKiss"")"
+300,0,0,SarahReadyHug,Let's do a group|hug.  (1 minute),(You invite both of them in your arms|and share a warm hug before the play.),310,0,0,"Hug(""GroupHug"")"
+300,10,10,SarahReadyHug,Let's do a group|kiss.  (1 minute),(You order them to kiss and join|the fun for a love trio of kisses.),310,0,0,"Hug(""GroupKiss"")"
+300,0,0,,That's enough.,"Alright, so can you help me to dress?",40,0,0,AllowLeave()
+310,0,0,,Give me a hug!|(1 minute),(You hold each other in the|arms for a long and warm hug.),310,0,0,"Hug(""PlayerAmandaHug"")"
+310,5,0,HugDone,(Kiss her.)|(1 minute),(You kiss her tenderly on the neck|and lips while she moans shyly.),310,0,0,"Hug(""PlayerAmandaKiss"")"
+310,0,0,SarahReadyHug,Go hug Sarah.|(1 minute),(Amanda shyly offers a hug and|Sarah quickly jumps in her arms.),310,0,0,"Hug(""AmandaSarahHug"")"
+310,0,5,SarahReadyHug,Go kiss Sarah.|(1 minute),(She stays silent in front of Sarah for a|few seconds and surprises her with a kiss.),310,0,0,"Hug(""AmandaSarahKiss"")"
+310,0,0,SarahReadyHug,Let's do a group|hug.  (1 minute),(You invite both of them in your arms|and share a warm hug before the play.),310,0,0,"Hug(""GroupHug"")"
+310,10,10,SarahReadyHug,Let's do a group|kiss.  (1 minute),(You order them to kiss and join|the fun for a love trio of kisses.),310,0,0,"Hug(""GroupKiss"")"
+310,0,0,,That's enough.,"Alright, so can you help me to dress?",40,0,0,AllowLeave()
diff --git a/C008_DramaClass/AmandaIntro/Text_EN.csv b/C008_DramaClass/AmandaIntro/Text_EN.csv
new file mode 100644
index 0000000000..6499e2b906
--- /dev/null
+++ b/C008_DramaClass/AmandaIntro/Text_EN.csv
@@ -0,0 +1,33 @@
+Tag,Content
+ChangeComplete,I'm done!  (You uncover your eyes.)|Is everyone ready for the play?
+CheaterPunishment,"No excuses, you need to learn a lesson!|(She strips you to your underwear and tie you up.)"
+DressWithBelt,"(You help her dress but she's angry at you.)|Fine, but you better unlock that belt after the play."
+RefuseBondage,(She sees your item and quickly pushes|it away.  You need +2 submission or better.)
+RefuseBelt,(You show her the belt but she looks|angry and quickly pushes it away.)
+PlayerRandomBondage,Alright.  (Amanda picks some random|items in your bag and restrains you.)
+UndressBeforeBondage,"Mmmh, sure, why not.|But you need to undress."
+NoBondageItem,(She checks your bag.)  Sorry COMMON_PLAYERNAME.|You don't have anything I could use on you.
+UntiePlayer,You're cute tied up but I can help.|(She undoes the knots and releases you.)
+Collar,(You need +20 submission or better|and a special ceremony to collar Amanda.)
+Crop,(You whip her pretty hard while she|struggles and whimpers.  She doesn't like it.)
+Rope,(You wrap the rope around her body|while she tries to hide her excitement.)
+TwoRopes,(You pick a second rope and tie|her legs in a kneeling position.)
+Cuffs,(She doesn't resist much while you grab|her hands and cuff them behind her back.)
+BallGag,(She struggles a little but you're|able to strap the gag on her head.)
+TapeGag,(She struggles a little but you're|able to tape her mouth shut.)
+ClothGag,(She struggles a little but you're able to|push the wad inside her mouth and tie the gag.)
+CuffsKey,(She positions her hands so|you can unlock her easily.)
+VibratingEgg,(She closes her legs when she sees|the egg but you're able to slide it in.)
+ChastityBelt,(She panics when she sees the belt|but you're able to lock it tightly on her.)
+MasturbateBelt,(You try to masturbate her but fail.|You can barely fit a finger under her belt.)
+Masturbate,(You masturbate her at a good pace|but she stays silent and struggles.)
+MasturbateGood,(You masturbate her at a good pace|and she can't hide her pleasure moans.)
+MasturbateOrgasm,(She trembles like a leaf and gets a|nice orgasm right in the dressing room.)
+StripBeforeFun,What are you doing with that?|I'm trying to change if you don't mind.
+CostumeBlocksFun,There's no time for that.|I'm already wearing my armor.
+TakeKey,"A subbie like you shouldn't have any|keys, I'll take it.  (She takes your cuffs key.)"
+UncuffAccept,You're cute in these cuffs but I can help.|(She takes her key and unlocks your cuffs.)
+UncuffRefuse,"Nope!  (She dangles her key in front of you.)|Struggle some more, maybe you'll slip out."
+CannotFree,(She points to her own restrains and sighs.)
+CannotFreeGagged,(She shakes her head from left to right.)
+HelpWhileGagged,(She slowly helps you out of your|restrains while giggling in her gag.)
diff --git a/C008_DramaClass/Dressing/Dressing.jpg b/C008_DramaClass/Dressing/Dressing.jpg
new file mode 100644
index 0000000000..b3d07fafe5
Binary files /dev/null and b/C008_DramaClass/Dressing/Dressing.jpg differ
diff --git a/C008_DramaClass/Dressing/Intro_EN.csv b/C008_DramaClass/Dressing/Intro_EN.csv
new file mode 100644
index 0000000000..e3cf58b6ba
--- /dev/null
+++ b/C008_DramaClass/Dressing/Intro_EN.csv
@@ -0,0 +1,5 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,The dressing room is full|of costumes and accessories.,Dressing.jpg
+10,0,0,,The dressing room is full|of costumes and accessories.,Dressing.jpg
+20,0,0,,The dressing room is full|of costumes and accessories.,Dressing.jpg
+30,0,0,,The dressing room is full|of costumes and accessories.,Dressing.jpg
diff --git a/C008_DramaClass/Dressing/Script.js b/C008_DramaClass/Dressing/Script.js
new file mode 100644
index 0000000000..e19c79f7d2
--- /dev/null
+++ b/C008_DramaClass/Dressing/Script.js
@@ -0,0 +1,55 @@
+var C008_DramaClass_Dressing_CurrentStage = 0;
+var C008_DramaClass_Dressing_SearchCount = 0;
+
+// Chapter 8 - Dressing Load
+function C008_DramaClass_Dressing_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "DressingRoom";
+	LoadInteractions();
+}
+
+// Chapter 8 - Dressing Run
+function C008_DramaClass_Dressing_Run() {
+	BuildInteraction(C008_DramaClass_Dressing_CurrentStage);
+	if (C008_DramaClass_Dressing_CurrentStage >= 20)
+		DrawPlayerImage(0, 0);
+}
+
+// Chapter 8 - Dressing Click
+function C008_DramaClass_Dressing_Click() {
+	ClickInteraction(C008_DramaClass_Dressing_CurrentStage);
+}
+
+// Chapter 8 - Dressing Search
+function C008_DramaClass_Dressing_Search() {
+	
+	// On the first search, we find the costume
+	C008_DramaClass_Dressing_SearchCount++;
+	if (C008_DramaClass_Dressing_SearchCount == 1) {
+		OverridenIntroText = GetText("FindCostume");
+	}
+	
+	// On the third search, we find a chastity belt
+	if (C008_DramaClass_Dressing_SearchCount == 3) {
+		OverridenIntroText = GetText("FindBelt");
+		PlayerAddInventory("ChastityBelt", 1);
+	}
+	
+}
+
+// Chapter 8 - Dressing - Dress back up
+function C008_DramaClass_Dressing_DressBack() {
+	PlayerClothes("Clothed");
+}
+
+// Chapter 8 - Dressing - Strip
+function C008_DramaClass_Dressing_Strip() {
+	PlayerClothes("Underwear");
+}
+
+// Chapter 8 - Dressing - Wear Costume
+function C008_DramaClass_Dressing_Costume() {
+	if (C008_DramaClass_JuliaIntro_PlayerRole == "Damsel") PlayerClothes("Damsel");
+	if (C008_DramaClass_JuliaIntro_PlayerRole == "Villain") PlayerClothes("Villain");
+	if (C008_DramaClass_JuliaIntro_PlayerRole == "Heroine") PlayerClothes("Heroine");
+}
diff --git a/C008_DramaClass/Dressing/Stage_EN.csv b/C008_DramaClass/Dressing/Stage_EN.csv
new file mode 100644
index 0000000000..a363dc9459
--- /dev/null
+++ b/C008_DramaClass/Dressing/Stage_EN.csv
@@ -0,0 +1,9 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,Common_PlayerNotRestrained,(Search the room)|(1 minute),You search the room but|you don't find anything useful.,10,0,0,Search()
+10,0,0,Common_PlayerNotRestrained,(Search the room)|(1 minute),You search the room but|you don't find anything useful.,10,0,0,Search()
+10,0,0,Common_PlayerNotRestrained,(Strip down.)|(1 minute),You strip down from your|school outfit to your underwear.,20,0,0,Strip()
+20,0,0,Common_PlayerNotRestrained,(Search the room)|(1 minute),You search the room but|you don't find anything useful.,20,0,0,Search()
+20,0,0,Common_PlayerNotRestrained,(Dress back up.)|(1 minute),You dress back up in your school outfit.,10,0,0,DressBack()
+20,0,0,Common_PlayerNotRestrained,(Wear your costume.)|(1 minute),You dress in the best costume|you found for your role.,30,0,0,Costume()
+30,0,0,Common_PlayerNotRestrained,(Search the room)|(1 minute),You search the room but|you don't find anything useful.,30,0,0,Search()
+30,0,0,Common_PlayerNotRestrained,(Strip down.)|(1 minute),You strip down from your|school outfit to your underwear.,20,0,0,Strip()
diff --git a/C008_DramaClass/Dressing/Text_EN.csv b/C008_DramaClass/Dressing/Text_EN.csv
new file mode 100644
index 0000000000..5264d86f96
--- /dev/null
+++ b/C008_DramaClass/Dressing/Text_EN.csv
@@ -0,0 +1,3 @@
+Tag,Content
+FindCostume,You search the room and find|a suitable costume for your role.
+FindBelt,You search again and find a|strange belt in an old chest.
diff --git a/C008_DramaClass/DressingHiddenItem/HiddenItem.jpg b/C008_DramaClass/DressingHiddenItem/HiddenItem.jpg
new file mode 100644
index 0000000000..c47abf9fb1
Binary files /dev/null and b/C008_DramaClass/DressingHiddenItem/HiddenItem.jpg differ
diff --git a/C008_DramaClass/DressingHiddenItem/Intro_EN.csv b/C008_DramaClass/DressingHiddenItem/Intro_EN.csv
new file mode 100644
index 0000000000..fdec97ec5b
--- /dev/null
+++ b/C008_DramaClass/DressingHiddenItem/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,There are many unsorted objects piled|up on the floor and on the shelves.,HiddenItem.jpg
+10,0,0,,There are many unsorted objects piled|up on the floor and on the shelves.,HiddenItem.jpg
diff --git a/C008_DramaClass/DressingHiddenItem/Script.js b/C008_DramaClass/DressingHiddenItem/Script.js
new file mode 100644
index 0000000000..4ec8829ca1
--- /dev/null
+++ b/C008_DramaClass/DressingHiddenItem/Script.js
@@ -0,0 +1,34 @@
+var C008_DramaClass_DressingHiddenItem_CurrentStage = 0;
+var C008_DramaClass_DressingHiddenItem_SearchCount = 0;
+
+// Chapter 8 - Hidden Item - Load
+function C008_DramaClass_DressingHiddenItem_Load() {
+	LeaveIcon = "Leave";
+	LeaveScreen = "DressingRoom";
+	LoadInteractions();
+}
+
+// Chapter 8 - Hidden Item - Run
+function C008_DramaClass_DressingHiddenItem_Run() {
+	BuildInteraction(C008_DramaClass_DressingHiddenItem_CurrentStage);
+}
+
+// Chapter 8 - Hidden Item - Click
+function C008_DramaClass_DressingHiddenItem_Click() {
+	ClickInteraction(C008_DramaClass_DressingHiddenItem_CurrentStage);
+}
+
+// Chapter 8 - Hidden Item - Search
+function C008_DramaClass_DressingHiddenItem_Search() {
+	
+	// After 1 search, a cloth gag, after 3 searches, a random item
+	C008_DramaClass_DressingHiddenItem_SearchCount++;
+	if (C008_DramaClass_DressingHiddenItem_SearchCount == 1) {
+		OverridenIntroText = GetText("FindClothGag");
+		PlayerAddInventory("ClothGag", 1);
+	}
+	if (C008_DramaClass_DressingHiddenItem_SearchCount == 3) {
+		OverridenIntroText = GetText("FindItem");
+		PlayerAddRandomItem();
+	}
+}
\ No newline at end of file
diff --git a/C008_DramaClass/DressingHiddenItem/Stage_EN.csv b/C008_DramaClass/DressingHiddenItem/Stage_EN.csv
new file mode 100644
index 0000000000..9452d3ef26
--- /dev/null
+++ b/C008_DramaClass/DressingHiddenItem/Stage_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,Common_PlayerNotRestrained,(Search.)|(1 minute),You search in the objects|but don't find anyting interesting.,0,0,0,Search()
diff --git a/C008_DramaClass/DressingHiddenItem/Text_EN.csv b/C008_DramaClass/DressingHiddenItem/Text_EN.csv
new file mode 100644
index 0000000000..2c2a6d7fef
--- /dev/null
+++ b/C008_DramaClass/DressingHiddenItem/Text_EN.csv
@@ -0,0 +1,3 @@
+Tag,Content
+FindClothGag,You search in the objects and find some|clothes that could be used to gag someone.
+FindItem,You search in the objects and|you find something interesting.
diff --git a/C008_DramaClass/DressingRoom/AmandaSearch.png b/C008_DramaClass/DressingRoom/AmandaSearch.png
new file mode 100644
index 0000000000..6c6bd72029
Binary files /dev/null and b/C008_DramaClass/DressingRoom/AmandaSearch.png differ
diff --git a/C008_DramaClass/DressingRoom/Background.jpg b/C008_DramaClass/DressingRoom/Background.jpg
new file mode 100644
index 0000000000..d499d8fa94
Binary files /dev/null and b/C008_DramaClass/DressingRoom/Background.jpg differ
diff --git a/C008_DramaClass/DressingRoom/SarahSearch.png b/C008_DramaClass/DressingRoom/SarahSearch.png
new file mode 100644
index 0000000000..5f4b51fbfc
Binary files /dev/null and b/C008_DramaClass/DressingRoom/SarahSearch.png differ
diff --git a/C008_DramaClass/DressingRoom/Script.js b/C008_DramaClass/DressingRoom/Script.js
new file mode 100644
index 0000000000..e4e85425fd
--- /dev/null
+++ b/C008_DramaClass/DressingRoom/Script.js
@@ -0,0 +1,39 @@
+// Chapter 8 - Dressing Room Load
+function C008_DramaClass_DressingRoom_Load() {
+	LeaveIcon = "Wait";
+}
+
+// Chapter 8 - Dressing Room Run
+function C008_DramaClass_DressingRoom_Run() {
+
+	// Draw the background image 
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
+	
+	// Draw Sarah
+	if (Common_PlayerCrime != "SarahStranded") {
+		if (C008_DramaClass_SarahIntro_CurrentStage == 0) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/SarahSearch.png", 0, 0);
+		else DrawActor("Sarah", 130, 50, 0.575);
+	}
+	
+	// Draw Amanda
+	if (Common_PlayerCrime != "AmandaStranded") {
+		if (C008_DramaClass_AmandaIntro_CurrentStage == 0) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/AmandaSearch.png", 800, 0);
+		else DrawActor("Amanda", 800, 50, 0.575);
+	} 
+
+}
+
+// Chapter 8 - Dressing Room Click
+function C008_DramaClass_DressingRoom_Click() {
+
+	// When the user clicks on any character (screen is divided in 4, 3rd can be the player)
+	if ((MouseX >= 0) && (MouseX <= 200) && (MouseY >= 400) && (MouseY <= 600)) SetScene(CurrentChapter, "DressingHiddenItem");
+	if ((MouseX >= 200) && (MouseX <= 400) && (MouseY >= 10) && (MouseY <= 590) && (Common_PlayerCrime != "SarahStranded")) SetScene(CurrentChapter, "SarahIntro");
+	if ((MouseX >= 400) && (MouseX <= 800) && (MouseY >= 10) && (MouseY <= 590)) SetScene(CurrentChapter, "Dressing");
+	if ((MouseX >= 880) && (MouseX <= 1100) && (MouseY >= 10) && (MouseY <= 590) && (Common_PlayerCrime != "AmandaStranded")) SetScene(CurrentChapter, "AmandaIntro");
+
+	// Checks if the user clicks on any regular item
+	InventoryClick(GetClickedInventory(), "C008_DramaClass", "DressingRoom");
+
+}
\ No newline at end of file
diff --git a/C008_DramaClass/HugImages/AmandaSarahHug.png b/C008_DramaClass/HugImages/AmandaSarahHug.png
new file mode 100644
index 0000000000..00da41fe18
Binary files /dev/null and b/C008_DramaClass/HugImages/AmandaSarahHug.png differ
diff --git a/C008_DramaClass/HugImages/AmandaSarahKiss.png b/C008_DramaClass/HugImages/AmandaSarahKiss.png
new file mode 100644
index 0000000000..047da3f085
Binary files /dev/null and b/C008_DramaClass/HugImages/AmandaSarahKiss.png differ
diff --git a/C008_DramaClass/HugImages/GroupHug.png b/C008_DramaClass/HugImages/GroupHug.png
new file mode 100644
index 0000000000..3073ce72fa
Binary files /dev/null and b/C008_DramaClass/HugImages/GroupHug.png differ
diff --git a/C008_DramaClass/HugImages/GroupKiss.png b/C008_DramaClass/HugImages/GroupKiss.png
new file mode 100644
index 0000000000..b74a189d50
Binary files /dev/null and b/C008_DramaClass/HugImages/GroupKiss.png differ
diff --git a/C008_DramaClass/HugImages/PlayerAmandaHug.png b/C008_DramaClass/HugImages/PlayerAmandaHug.png
new file mode 100644
index 0000000000..a2e9fb8601
Binary files /dev/null and b/C008_DramaClass/HugImages/PlayerAmandaHug.png differ
diff --git a/C008_DramaClass/HugImages/PlayerAmandaKiss.png b/C008_DramaClass/HugImages/PlayerAmandaKiss.png
new file mode 100644
index 0000000000..abab6c1024
Binary files /dev/null and b/C008_DramaClass/HugImages/PlayerAmandaKiss.png differ
diff --git a/C008_DramaClass/HugImages/PlayerSarahHug.png b/C008_DramaClass/HugImages/PlayerSarahHug.png
new file mode 100644
index 0000000000..53ace2cac3
Binary files /dev/null and b/C008_DramaClass/HugImages/PlayerSarahHug.png differ
diff --git a/C008_DramaClass/HugImages/PlayerSarahKiss.png b/C008_DramaClass/HugImages/PlayerSarahKiss.png
new file mode 100644
index 0000000000..b74a0dbf9b
Binary files /dev/null and b/C008_DramaClass/HugImages/PlayerSarahKiss.png differ
diff --git a/C008_DramaClass/Intro/Background.jpg b/C008_DramaClass/Intro/Background.jpg
new file mode 100644
index 0000000000..fa75f62551
Binary files /dev/null and b/C008_DramaClass/Intro/Background.jpg differ
diff --git a/C008_DramaClass/Intro/Script.js b/C008_DramaClass/Intro/Script.js
new file mode 100644
index 0000000000..fdcf186099
--- /dev/null
+++ b/C008_DramaClass/Intro/Script.js
@@ -0,0 +1,28 @@
+// Chapter 8 - Drama Class Load
+function C008_DramaClass_Intro_Load() {
+
+	// Time is always 13:00 on the intro, no timer
+	StopTimer(13.00 * 60 * 60 * 1000);
+	
+}
+
+// Chapter 8 - Drama Class Run
+function C008_DramaClass_Intro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
+
+	// Write the chapter introduction
+	DrawText(ctx, GetText("Intro1"), 600, 150, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Intro2"), 600, 250, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Intro3"), 600, 350, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText("Intro4"), 600, 450, "White");
+
+}
+
+// Chapter 8 - Drama Class Click
+function C008_DramaClass_Intro_Click() {
+	TextPhase++;
+	if (TextPhase >= 4) SetScene(CurrentChapter, "JuliaIntro");
+}
\ No newline at end of file
diff --git a/C008_DramaClass/Intro/Text_EN.csv b/C008_DramaClass/Intro/Text_EN.csv
new file mode 100644
index 0000000000..73ceda1f3f
--- /dev/null
+++ b/C008_DramaClass/Intro/Text_EN.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Intro1,Chapter 8 - Drama Class (Click to continue)
+Intro2,"After a long lunch break, it's back to classes."
+Intro3,Your first class this afternoon is Dramaturgy.
+Intro4,You enter an old theater where Julia is waiting.
diff --git a/C008_DramaClass/JuliaIntro/Intro_EN.csv b/C008_DramaClass/JuliaIntro/Intro_EN.csv
new file mode 100644
index 0000000000..f31e78c7db
--- /dev/null
+++ b/C008_DramaClass/JuliaIntro/Intro_EN.csv
@@ -0,0 +1,8 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,OooOOOoh!  COMMON_PLAYERNAME!|Can I have a big hug from you?,JuliaWantsHug.jpg
+10,0,0,,,JuliaHug.jpg
+20,0,0,,OooOOOoh!  COMMON_PLAYERNAME!|Welcome to the Drama class!,Julia.jpg
+30,0,0,,,JuliaShow.jpg
+40,0,0,,,Julia.jpg
+50,0,0,,,JuliaShow.jpg
+60,0,0,,,Julia.jpg
diff --git a/C008_DramaClass/JuliaIntro/Julia.jpg b/C008_DramaClass/JuliaIntro/Julia.jpg
new file mode 100644
index 0000000000..bc8e2e7878
Binary files /dev/null and b/C008_DramaClass/JuliaIntro/Julia.jpg differ
diff --git a/C008_DramaClass/JuliaIntro/JuliaHug.jpg b/C008_DramaClass/JuliaIntro/JuliaHug.jpg
new file mode 100644
index 0000000000..5d745dd12a
Binary files /dev/null and b/C008_DramaClass/JuliaIntro/JuliaHug.jpg differ
diff --git a/C008_DramaClass/JuliaIntro/JuliaShow.jpg b/C008_DramaClass/JuliaIntro/JuliaShow.jpg
new file mode 100644
index 0000000000..67affda07c
Binary files /dev/null and b/C008_DramaClass/JuliaIntro/JuliaShow.jpg differ
diff --git a/C008_DramaClass/JuliaIntro/JuliaWantsHug.jpg b/C008_DramaClass/JuliaIntro/JuliaWantsHug.jpg
new file mode 100644
index 0000000000..e737509f1e
Binary files /dev/null and b/C008_DramaClass/JuliaIntro/JuliaWantsHug.jpg differ
diff --git a/C008_DramaClass/JuliaIntro/Script.js b/C008_DramaClass/JuliaIntro/Script.js
new file mode 100644
index 0000000000..99f1270708
--- /dev/null
+++ b/C008_DramaClass/JuliaIntro/Script.js
@@ -0,0 +1,69 @@
+var C008_DramaClass_JuliaIntro_CurrentStage = 0;
+var C008_DramaClass_JuliaIntro_PlayerRole = "";
+var C008_DramaClass_JuliaIntro_AmandaRole = "";
+var C008_DramaClass_JuliaIntro_SarahRole = "";
+
+// Chapter 8 - Julia Intro Load
+function C008_DramaClass_JuliaIntro_Load() {
+
+	// Set the timer limits at 13:30
+	StartTimer(13.5 * 60 * 60 * 1000, "C008_DramaClass", "Transition");
+
+	// Load the scene parameters
+	ActorLoad("Julia", "");
+	LoadInteractions();
+	LeaveIcon = "";
+	
+	// If Julia doesn't like the player, we skip the "hug" intro
+	if (ActorGetValue(ActorLove) < 1) C008_DramaClass_JuliaIntro_CurrentStage = 20;
+
+}
+
+// Chapter 8 - Julia Intro Run
+function C008_DramaClass_JuliaIntro_Run() {
+	BuildInteraction(C008_DramaClass_JuliaIntro_CurrentStage);
+}
+
+// Chapter 8 - Julia Intro Click
+function C008_DramaClass_JuliaIntro_Click() {	
+	ClickInteraction(C008_DramaClass_JuliaIntro_CurrentStage);
+}
+
+// Chapter 8 - Julia Intro - Check if the player should be forced to play a role
+function C008_DramaClass_JuliaIntro_CheckRole() {
+	
+	// If the player is submissive, she will be forced to play the damsel in Distress
+	if (ActorGetValue(ActorSubmission) <= -3) {
+		C008_DramaClass_JuliaIntro_SetRole("Damsel");
+		OverridenIntroText = GetText("ForceDamsel");
+	} else {
+
+		// If the player is loved, she will be forced to play the heroine
+		if (ActorGetValue(ActorLove) >= 3) {
+			C008_DramaClass_JuliaIntro_SetRole("Heroine");
+			OverridenIntroText = GetText("ForceHeroine");
+		}
+
+		// If the player is hated, she will be forced to play the villain
+		if (ActorGetValue(ActorLove) <= -3) {
+			C008_DramaClass_JuliaIntro_SetRole("Villain");
+			OverridenIntroText = GetText("ForceVillain");
+		}
+		
+	}
+}	
+
+// Chapter 8 - Julia Intro - Set all the roles for the play
+function C008_DramaClass_JuliaIntro_SetRole(NewRole) {
+	C008_DramaClass_JuliaIntro_PlayerRole = NewRole;
+	if (NewRole != "Villain") C008_DramaClass_JuliaIntro_AmandaRole = "Villain";
+	else C008_DramaClass_JuliaIntro_AmandaRole = "Heroine";
+	if (NewRole != "Damsel") C008_DramaClass_JuliaIntro_SarahRole = "Damsel";
+	else C008_DramaClass_JuliaIntro_SarahRole = "Heroine";
+	C008_DramaClass_JuliaIntro_CurrentStage = 60;
+}
+
+// Chapter 8 - Julia Intro - Jump to the dressing room scene
+function C008_DramaClass_JuliaIntro_DressingRoom() {
+	SetScene("C008_DramaClass", "DressingRoom");
+}
\ No newline at end of file
diff --git a/C008_DramaClass/JuliaIntro/Stage_EN.csv b/C008_DramaClass/JuliaIntro/Stage_EN.csv
new file mode 100644
index 0000000000..c63f92d99e
--- /dev/null
+++ b/C008_DramaClass/JuliaIntro/Stage_EN.csv
@@ -0,0 +1,22 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Come here Julia!|(Hug Julia) (1 minute),Si!  (She wraps her arms around|you and squeezes you on her chest.),10,1,0,
+0,0,0,,A hug?  Are you sure?|(Hug Julia)  (1 minute),So timid!  (She wraps her arms around|you and squeezes you on her chest.),10,1,-1,
+0,0,0,,"Please, no hug.",Such a shy new pupil.|Welcome to drama class!,20,0,-1,
+0,0,0,,Forget it Julia.,(She frowns at you but quickly smiles again.)|Welcome to drama class COMMON_PLAYERNAME!,20,-1,1,
+10,0,0,,That's a nice hug.,Si!  I love to give big and warm hugs!|Welcome to drama class COMMON_PLAYERNAME.,20,0,0,
+10,0,0,,You give the|best hugs.,Si!  I love to give big and warm hugs!|Welcome to drama class COMMON_PLAYERNAME.,20,0,0,
+10,0,0,,I cannot breath!,So sorry little new pupil.|Welcome to drama class!,20,0,-1,
+10,0,0,,(Kiss her breast.),No COMMON_PLAYERNAME.  (She pushes you back.)|Anyway.  Welcome to drama class.,20,-1,0,
+20,0,0,,Drama class?,Si!  Today you will repeat a role|for a theater act we are preparing.,30,0,0,
+20,0,0,,Are you doing|a theater play?,Si!  Today you will repeat a role|for a theater act we are preparing.,30,0,0,
+30,0,0,,What's the|act about?,It's a medieval play called a Tale of Two Knights.|A drama about two rivals that loves the same damsel.,40,0,0,
+30,0,0,,Are we playing|some Shakespeare?,"No, it's a medieval play called a Tale of Two Knights.|A drama about two rivals that loves the same damsel.",40,0,0,
+40,0,0,,And what role|will I play?,"You can be the heroic white knight, the|evil black knight or the damsel in distress.",50,0,0,CheckRole()
+40,0,0,,Great!  What|role do I get?,"You can be the heroic white knight, the|evil black knight or the damsel in distress.",50,1,0,CheckRole()
+40,0,0,,Drama isn't|my forte.,"Nonsense!  You can be the heroic white knight,|the evil black knight or the damsel in distress.",50,-1,0,CheckRole()
+40,0,0,,I want to play a|strong character.,"You can be the heroic white knight, the|evil black knight or the damsel in distress.",50,0,1,CheckRole()
+40,0,0,,I'm too shy to act|in front of a crowd.,"Don't be shy!  You can be the heroic white knight,|the evil black knight or the damsel in distress.",50,0,-1,CheckRole()
+50,0,0,,I'll play the heroine.,Very well.  Go to the dressing room|and dress in the heroic white knight armor.,60,0,0,"SetRole(""Heroine"")"
+50,0,0,,I'll play the villain.,Very well.  Go to the dressing room|and dress in the infamous black knight armor.,60,0,0,"SetRole(""Villain"")"
+50,0,0,,I'll play the damsel.,Very well.  Go to the dressing room|and dress in the damsel wedding gown.,60,0,0,"SetRole(""Damsel"")"
+60,0,0,,I'll go change.|(Go to dressing room.),,60,0,0,DressingRoom()
diff --git a/C008_DramaClass/JuliaIntro/Text_EN.csv b/C008_DramaClass/JuliaIntro/Text_EN.csv
new file mode 100644
index 0000000000..5568e8e1cd
--- /dev/null
+++ b/C008_DramaClass/JuliaIntro/Text_EN.csv
@@ -0,0 +1,4 @@
+Tag,Content
+ForceDamsel,You will play the adorable damsel in distress.|Now go to the dressing room and wear a wedding gown.
+ForceHeroine,You will play the valiant and heroic white knight.|Now go to the dressing room and wear the white armor.
+ForceVillain,You will play the devious and evil black knight.|Now go to the dressing room and wear the black armor.
diff --git a/C008_DramaClass/Outro/Bell.jpg b/C008_DramaClass/Outro/Bell.jpg
new file mode 100644
index 0000000000..e6a0f10b31
Binary files /dev/null and b/C008_DramaClass/Outro/Bell.jpg differ
diff --git a/C008_DramaClass/Outro/Script.js b/C008_DramaClass/Outro/Script.js
new file mode 100644
index 0000000000..a8e3b5d7b0
--- /dev/null
+++ b/C008_DramaClass/Outro/Script.js
@@ -0,0 +1,36 @@
+// Chapter 8 - Outro Load
+function C008_DramaClass_Outro_Load() {
+	
+	// Time is always 14:00:00 in the outro, unlock if needed
+	StopTimer(14 * 60 * 60 * 1000);
+	PlayerUnlockAllInventory();
+	ActorSpecificClearInventory("Amanda", true);
+	ActorSpecificClearInventory("Sarah", true);
+	ActorSpecificClearInventory("Julia", true);
+	PlayerClothes("Clothed");
+
+}
+
+// Chapter 8 - Outro Run
+function C008_DramaClass_Outro_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
+		
+	// Draw the outro text
+	DrawText(ctx, GetText("Outro1"), 400, 150, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText("Outro2"), 400, 300, "White");
+	if (TextPhase >= 2) DrawText(ctx, GetText("Outro3"), 400, 450, "White");
+
+}
+
+// Chapter 8 - Outro Click
+function C008_DramaClass_Outro_Click() {
+
+	// Jump to the next animation
+	TextPhase++;
+	//if (TextPhase >= 3) SaveMenu("C009", "Intro");
+
+}
\ No newline at end of file
diff --git a/C008_DramaClass/Outro/Text_EN.csv b/C008_DramaClass/Outro/Text_EN.csv
new file mode 100644
index 0000000000..c442730b3f
--- /dev/null
+++ b/C008_DramaClass/Outro/Text_EN.csv
@@ -0,0 +1,4 @@
+Tag,Content
+Outro1,Drama class is over and the bell rings again.
+Outro2,You leave the theater and walk to your next class.
+Outro3,The next class will be available in another version.
diff --git a/C008_DramaClass/SarahIntro/Background.jpg b/C008_DramaClass/SarahIntro/Background.jpg
new file mode 100644
index 0000000000..9474d2af8d
Binary files /dev/null and b/C008_DramaClass/SarahIntro/Background.jpg differ
diff --git a/C008_DramaClass/SarahIntro/BackgroundOrgasm.jpg b/C008_DramaClass/SarahIntro/BackgroundOrgasm.jpg
new file mode 100644
index 0000000000..95f45529e7
Binary files /dev/null and b/C008_DramaClass/SarahIntro/BackgroundOrgasm.jpg differ
diff --git a/C008_DramaClass/SarahIntro/Intro_EN.csv b/C008_DramaClass/SarahIntro/Intro_EN.csv
new file mode 100644
index 0000000000..ed7af6d67d
--- /dev/null
+++ b/C008_DramaClass/SarahIntro/Intro_EN.csv
@@ -0,0 +1,21 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Hello COMMON_PLAYERNAME.|Can you help me find my costume?,Background.jpg
+0,5,0,,Oh nice!  COMMON_PLAYERNAME!|Can you help me find my costume?,Background.jpg
+0,0,5,,Greetings Miss COMMON_PLAYERNAME.|Would you help me find my costume?,Background.jpg
+0,0,0,AmandaMissing,What's going on?  Amanda is late and I|can't find my costume.  Can you help me?,Background.jpg
+10,0,0,,I finally have my costume.|Do you mind if I strip here?,Background.jpg
+20,0,0,IsDamsel,I have my wedding dress.|Can you help me change?,Background.jpg
+20,0,0,!IsDamsel,I have my white armor.|Can you help me change?,Background.jpg
+20,0,0,AmandaMissing,That's strange...  Amanda is never late.|Oh well!  Can you help me change?,Background.jpg
+20,0,0,Common_PlayerGagged,"I love your gag, can I have one?|Or can you help me change?",Background.jpg
+20,0,0,Common_PlayerRestrained,(She giggles and seems jealous.)|Why are you restrained and not me?,Background.jpg
+20,0,0,IsRestrained,You're so kinky!  But we should focus on the play.|Can you help me out so I can put my costume?,Background.jpg
+20,0,0,IsGagged,Uugnmph mhn nungn!|(She seems to enjoy her gag.),Background.jpg
+30,0,0,,Do you like my costume?|Are we ready for the play?,Background.jpg
+30,0,0,AmandaMissing,Should we go without Amanda?|Are we ready for the play?,Background.jpg
+30,0,0,IsChaste,I can't believe you locked that belt on me.|We really need to unlock it after the play.,Background.jpg
+100,0,0,,(She looks at you and giggles.)|Do you need help with that gag?,Background.jpg
+100,0,0,AmandaMissing,This is crazy!  Amanda is late and|you're gagged.  Do you need help?,Background.jpg
+200,0,0,,(Sarah is still slowly recovering from an orgasm.),BackgroundOrgasm.jpg
+300,0,0,,,Background.jpg
+310,0,0,,,Background.jpg
diff --git a/C008_DramaClass/SarahIntro/Script.js b/C008_DramaClass/SarahIntro/Script.js
new file mode 100644
index 0000000000..97e1c30fe8
--- /dev/null
+++ b/C008_DramaClass/SarahIntro/Script.js
@@ -0,0 +1,249 @@
+var C008_DramaClass_SarahIntro_CurrentStage = 0;
+var C008_DramaClass_SarahIntro_AmandaMissing = false;
+var C008_DramaClass_SarahIntro_IsDamsel = false;
+var C008_DramaClass_SarahIntro_IsBothFree = true;
+var C008_DramaClass_SarahIntro_IsRestrained = false;
+var C008_DramaClass_SarahIntro_IsGagged = false;
+var C008_DramaClass_SarahIntro_IsChaste = false;
+var C008_DramaClass_SarahIntro_IsPlayReady = false;
+var C008_DramaClass_SarahIntro_CanUntie = false;
+var C008_DramaClass_SarahIntro_CanUngag = false;
+var C008_DramaClass_SarahIntro_SlapDone = false;
+var C008_DramaClass_SarahIntro_MasturbateCount = 0;
+var C008_DramaClass_SarahIntro_ViolenceDone = false;
+var C008_DramaClass_SarahIntro_OrgasmDone = false;
+var C008_DramaClass_SarahIntro_TiedUpCommentDone = false;
+var C008_DramaClass_SarahIntro_PlayerBondageDone = false;
+var C008_DramaClass_SarahIntro_PlayerIsRoped = false;
+var C008_DramaClass_SarahIntro_PlayerIsCuffed = false;
+var C008_DramaClass_SarahIntro_ReadyHug = false;
+var C008_DramaClass_SarahIntro_AmandaReadyHug = false;
+var C008_DramaClass_SarahIntro_HugDone = false;
+var C008_DramaClass_SarahIntro_HugImage = "";
+
+// Calculates the scene parameters
+function C008_DramaClass_SarahIntro_CalcParams() {
+	C008_DramaClass_SarahIntro_IsRestrained = ActorIsRestrained();
+	C008_DramaClass_SarahIntro_IsGagged = ActorIsGagged();
+	C008_DramaClass_SarahIntro_IsChaste = (ActorHasInventory("ChastityBelt"));
+	C008_DramaClass_SarahIntro_IsBothFree = (!C008_DramaClass_SarahIntro_IsRestrained && !C008_DramaClass_SarahIntro_IsGagged && !Common_PlayerRestrained && !Common_PlayerGagged);
+	C008_DramaClass_SarahIntro_IsPlayReady = (C008_DramaClass_SarahIntro_IsBothFree && ((Common_PlayerCrime == "AmandaStranded") || (C008_DramaClass_AmandaIntro_CurrentStage == 50)) && (Common_PlayerCostume != ""));
+	C008_DramaClass_SarahIntro_CanUntie = (ActorHasInventory("Rope") && !Common_PlayerRestrained);
+	C008_DramaClass_SarahIntro_CanUngag = (C008_DramaClass_SarahIntro_IsGagged && !Common_PlayerRestrained);
+	C008_DramaClass_SarahIntro_PlayerIsRoped = (PlayerHasLockedInventory("Rope"));
+	C008_DramaClass_SarahIntro_PlayerIsCuffed = (PlayerHasLockedInventory("Cuffs"));
+	C008_DramaClass_SarahIntro_ReadyHug = (!C008_DramaClass_SarahIntro_IsRestrained && !C008_DramaClass_SarahIntro_IsGagged && !C008_DramaClass_SarahIntro_IsChaste && Common_PlayerUnderwear && !Common_PlayerRestrained && !Common_PlayerGagged && !Common_PlayerChaste);
+	C008_DramaClass_SarahIntro_AmandaReadyHug = ((C008_DramaClass_AmandaIntro_CurrentStage == 40) && !ActorSpecificHasInventory("Amanda", "Cuffs") && !ActorSpecificHasInventory("Amanda", "Rope") && !ActorSpecificHasInventory("Amanda", "BallGag") && !ActorSpecificHasInventory("Amanda", "TapeGag") && !ActorSpecificHasInventory("Amanda", "ClothGag") && !ActorSpecificHasInventory("Amanda", "ChastityBelt"));
+}
+
+// Chapter 8 - Sarah Intro Load
+function C008_DramaClass_SarahIntro_Load() {
+
+	// Load the scene parameters
+	ActorLoad("Sarah", "DressingRoom");
+	LoadInteractions();
+	C008_DramaClass_SarahIntro_CalcParams();
+	
+	// Check if Amanda is missing for this scene and if Sarah is the damsel
+	C008_DramaClass_SarahIntro_AmandaMissing = (Common_PlayerCrime == "AmandaStranded");
+	C008_DramaClass_SarahIntro_IsDamsel = (C008_DramaClass_JuliaIntro_SarahRole == "Damsel");
+	
+	// Sarah can ungag the player if needed at first
+	if ((C008_DramaClass_SarahIntro_CurrentStage == 0) && (Common_PlayerGagged))
+		C008_DramaClass_SarahIntro_CurrentStage = 100;
+
+}
+
+// Chapter 8 - Sarah Intro Run
+function C008_DramaClass_SarahIntro_Run() {
+	BuildInteraction(C008_DramaClass_SarahIntro_CurrentStage);
+	if (C008_DramaClass_SarahIntro_CurrentStage != 310) DrawInteractionActor();
+	else DrawImage(document.getElementById("MainCanvas").getContext("2d"), C008_DramaClass_SarahIntro_HugImage, 600, 0);
+}
+
+// Chapter 8 - Sarah Intro Click
+function C008_DramaClass_SarahIntro_Click() {	
+
+	// Regular and inventory interactions
+	ClickInteraction(C008_DramaClass_SarahIntro_CurrentStage);
+	var ClickInv = GetClickedInventory();
+	
+	// The player can whip her to help her strip
+	if ((ClickInv == "Crop") && (C008_DramaClass_SarahIntro_CurrentStage == 10) && !Common_PlayerRestrained) {
+		OverridenIntroText = GetText("CropToStrip");
+		C008_DramaClass_SarahIntro_CurrentStage = 20;
+		ActorChangeAttitude(0, 1);
+		C008_DramaClass_SarahIntro_Strip();
+	}
+
+	// The player can whip her to help her find her costume
+	if ((ClickInv == "Crop") && (C008_DramaClass_SarahIntro_CurrentStage == 0) && !Common_PlayerRestrained) {
+		OverridenIntroText = GetText("CropToSearch");
+		C008_DramaClass_SarahIntro_CurrentStage = 10;
+		ActorChangeAttitude(0, 1);
+		CurrentTime = CurrentTime + 60000;
+	}
+	
+	// Sarah can tease the player if she wants to use a toy on stage 0 or 10
+	if (((ClickInv == "Rope") || (ClickInv == "Cuffs") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "ClothGag") || (ClickInv == "ChastityBelt") || (ClickInv == "VibratingEgg")) && (C008_DramaClass_SarahIntro_CurrentStage < 20))
+		OverridenIntroText = GetText("CostumeBeforeFun");
+
+	// Sarah refuses but tease the player on stage 30
+	if (((ClickInv == "Rope") || (ClickInv == "Cuffs") || (ClickInv == "TapeGag") || (ClickInv == "BallGag") || (ClickInv == "ClothGag") || (ClickInv == "ChastityBelt") || (ClickInv == "VibratingEgg")) && (C008_DramaClass_SarahIntro_CurrentStage == 30))
+		OverridenIntroText = GetText("CostumeBlocksFun");
+	
+	// Sarah can be restrained on stage 20
+	if ((C008_DramaClass_SarahIntro_CurrentStage == 20) && (ClickInv != "")) {
+		
+		// Sarah can refuse the belt if she's not submissive enough or not tied up
+		if ((ClickInv == "ChastityBelt") && !C008_DramaClass_SarahIntro_IsRestrained && (ActorGetValue(ActorSubmission) < 10)) {
+			OverridenIntroText = GetText("RefuseBelt");
+			CurrentTime = CurrentTime + 60000;
+			return;
+		}
+		
+		// Apply the clicked restrain
+		ActorApplyRestrain(ClickInv);
+		C008_DramaClass_SarahIntro_CalcParams();
+		if (ClickInv == "Crop") C008_DramaClass_SarahIntro_ViolenceDone = true;
+
+	}
+
+}
+
+// Chapter 8 - Sarah Check Ungag - Sarah will ungag the player if she's submissive or loves her
+function C008_DramaClass_SarahIntro_CheckUngag() {	
+	if ((ActorGetValue(ActorLove)) > 0 || (ActorGetValue(ActorSubmission) > 0)) {
+		PlayerUngag();
+		OverridenIntroText = GetText("UngagPlayer");
+	}
+}
+
+// Chapter 8 - Sarah Random Bondage - Sarah can tie up the player if she's not too submissive
+function C008_DramaClass_SarahIntro_RandomBondage() {
+	if (ActorGetValue(ActorSubmission) < 5) {
+		if (Common_PlayerUnderwear || Common_PlayerNaked) {
+			if (PlayerHasInventory("Cuffs") || PlayerHasInventory("Rope") || PlayerHasInventory("BallGag") || PlayerHasInventory("TapeGag") || PlayerHasInventory("ClothGag")) {
+				PlayerRandomBondage();
+				C008_DramaClass_SarahIntro_CalcParams();
+				OverridenIntroText = GetText("PlayerRandomBondage");
+				CurrentTime = CurrentTime + 60000;
+				if (!C008_DramaClass_SarahIntro_PlayerBondageDone) {
+					C008_DramaClass_SarahIntro_PlayerBondageDone = true;
+					ActorChangeAttitude(0, -2);
+				}
+			} else OverridenIntroText = GetText("NoBondageItem");				
+		} else OverridenIntroText = GetText("UndressBeforeBondage");
+	}
+}
+
+// Chapter 8 - Sarah Strip
+function C008_DramaClass_SarahIntro_Strip() {
+	ActorSetCloth("Underwear");
+	CurrentTime = CurrentTime + 60000;
+}
+
+// Chapter 8 - Sarah Costume
+function C008_DramaClass_SarahIntro_Costume() {
+	if (C008_DramaClass_SarahIntro_IsChaste) OverridenIntroText = GetText("DressWithBelt");
+	if (C008_DramaClass_SarahIntro_IsDamsel) ActorSetCloth("Damsel");
+	else ActorSetCloth("Heroine");
+}
+
+// Chapter 8 - Sarah likes being slapped
+function C008_DramaClass_SarahIntro_Slap() {
+	if (!C008_DramaClass_SarahIntro_SlapDone) {
+		ActorChangeAttitude(1, 0);
+		C008_DramaClass_SarahIntro_SlapDone = true;
+		C008_DramaClass_SarahIntro_ViolenceDone = true;
+	}
+}
+
+// Chapter 8 - Sarah becomes more submissive if she's offered to be tied up
+function C008_DramaClass_SarahIntro_TiedUpComment() {
+	if (!C008_DramaClass_SarahIntro_TiedUpCommentDone) {
+		C008_DramaClass_SarahIntro_TiedUpCommentDone = true;
+		ActorChangeAttitude(0, 1);
+	}
+}
+
+// Chapter 8 - Sarah spank
+function C008_DramaClass_SarahIntro_Spank() {
+	C008_DramaClass_SarahIntro_ViolenceDone = true;
+}
+
+// Chapter 8 - Sarah Untie
+function C008_DramaClass_SarahIntro_Untie() {
+	ActorUntie();
+	C008_DramaClass_SarahIntro_CalcParams();
+}
+
+// Chapter 8 - Sarah Ungag
+function C008_DramaClass_SarahIntro_Ungag() {
+	ActorUngag();
+	C008_DramaClass_SarahIntro_CalcParams();
+}
+
+// Chapter 8 - Sarah Test Untie Player (Sarah will do it if she likes the player or is submissive)
+function C008_DramaClass_SarahIntro_TestUntiePlayer() {
+	if (!C008_DramaClass_SarahIntro_IsRestrained) {
+		if ((ActorGetValue(ActorLove)) > 0 || (ActorGetValue(ActorSubmission) >= 5)) {
+			PlayerReleaseBondage();
+			C008_DramaClass_SarahIntro_CalcParams();			
+			if (!C008_DramaClass_SarahIntro_IsGagged) OverridenIntroText = GetText("UntiePlayer");
+			else OverridenIntroText = GetText("HelpWhileGagged");
+			CurrentTime = CurrentTime + 60000;
+		} else {
+			if (C008_DramaClass_SarahIntro_IsGagged) OverridenIntroText = GetText("CannotFreeGagged");
+		}
+	} else OverridenIntroText = GetText("CannotFree");
+}
+
+// Chapter 8 - Sarah Test Uncuff Player (Sarah never has cuff keys but can interact)
+function C008_DramaClass_SarahIntro_TestUncuffPlayer() {
+	if (!C008_DramaClass_SarahIntro_IsRestrained) {
+		if (C008_DramaClass_SarahIntro_IsGagged) OverridenIntroText = GetText("CannotFreeGagged");
+	} else OverridenIntroText = GetText("CannotFree");
+}
+
+// Chapter 8 - Sarah Masturbate - Only works if restrained and not chaste
+function C008_DramaClass_SarahIntro_Masturbate() {
+	if (C008_DramaClass_SarahIntro_IsRestrained) {
+		if (!ActorIsChaste()) {
+			
+			// She can get an orgasm with the vibrating egg or if she was hit
+			C008_DramaClass_SarahIntro_MasturbateCount++;
+			if (C008_DramaClass_SarahIntro_ViolenceDone || ActorHasInventory("VibratingEgg")) {				
+				if ((C008_DramaClass_SarahIntro_MasturbateCount >= 3) && !C008_DramaClass_SarahIntro_OrgasmDone) {
+					OverridenIntroText = GetText("MasturbateOrgasm");
+					ActorAddOrgasm();
+					ActorChangeAttitude(1, 0);
+					C008_DramaClass_SarahIntro_OrgasmDone = true;
+					C008_DramaClass_SarahIntro_CurrentStage = 200;
+				} else OverridenIntroText = GetText("MasturbateGood");
+			} else OverridenIntroText = GetText("Masturbate");
+			
+		} else OverridenIntroText = GetText("MasturbateBelt");
+	}
+}
+
+// Chapter 8 - Sarah Start Hugs
+function C008_DramaClass_SarahIntro_StartHugs() {
+	LeaveIcon = "";
+}
+
+// Chapter 8 - Sarah Hug
+function C008_DramaClass_SarahIntro_Hug(HugImage) {
+	C008_DramaClass_SarahIntro_HugImage = CurrentChapter + "/HugImages/" + HugImage + ".png";
+	C008_DramaClass_SarahIntro_HugDone = true;
+}
+
+// Chapter 8 - Sarah Allow Leave
+function C008_DramaClass_SarahIntro_AllowLeave() {
+	LeaveIcon = "Leave";
+}
+
+// Chapter 8 - Sarah Start Drama
+function C008_DramaClass_SarahIntro_StartDrama() {
+	SetScene("C008_DramaClass", "Transition");
+}
\ No newline at end of file
diff --git a/C008_DramaClass/SarahIntro/Stage_EN.csv b/C008_DramaClass/SarahIntro/Stage_EN.csv
new file mode 100644
index 0000000000..46c2e2c1b8
--- /dev/null
+++ b/C008_DramaClass/SarahIntro/Stage_EN.csv
@@ -0,0 +1,49 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,IsDamsel,What kind of costume?,I'm supposed to play the damsel in distress.|I need to find a white wedding dress.,0,0,0,
+0,0,0,!IsDamsel,What kind of costume?,I'm supposed to play the heroic knight.|I need a white set of medieval armor.,0,0,0,
+0,0,0,,Drama class|is stupid.,Fine!  I'll search alone.  (She finds a|costume.)  Do you mind if I strip here?,10,-1,0,
+0,0,0,!Common_PlayerRestrained,(Search for her costume.)|(1 minute),(You find her costume and she jumps of joy.)|Perfect!  You don't mind if I strip right here?,10,0,-1,
+0,0,0,IsDamsel,(Point at the costume|rack.)  (1 minute),I found it!  (She picks a wedding dress.)|You don't mind if I strip right here?,10,0,0,
+0,0,0,!IsDamsel,(Point at the costume|rack.)  (1 minute),I found it!  (She picks a white armor.)|You don't mind if I strip right here?,10,0,0,
+10,0,0,IsDamsel,You can strip here.|I'll help with the gown.,That's very kind of you.  (She strips down.)|So what should I put on first?  The dress?,20,1,0,Strip()
+10,0,0,!IsDamsel,You can strip here.|I'll help with the armor.,That's very kind of you.  (She strips down.)|So what should I put on first?  The chainmail?,20,1,0,Strip()
+10,0,0,IsDamsel,(Nod.),(She happily strips down to her underwear.)|So what should I put on first?  The dress?,20,0,0,Strip()
+10,0,0,!IsDamsel,(Nod.),(She happily strips down to her underwear.)|So what should I put on first?  The chainmail?,20,0,0,Strip()
+20,0,0,PlayerIsRoped,(Turn and point|to your ropes.),Nope!  I like you better when you're tied up.|Struggle some more and you might get out.,20,0,0,TestUntiePlayer()
+20,0,0,PlayerIsCuffed,(Turn and point|to your cuffs.),"Nope, I don't have any cuff keys.",20,0,0,TestUncuffPlayer()
+20,0,0,IsBothFree,You know that|you're pretty?,"Aaaaw, you're so kind.|Thanks COMMON_PLAYERNAME.",20,0,0,
+20,0,0,IsBothFree,You would look|great tied up.,(She giggles and nods.)|Would you like restrain me?,20,0,0,TiedUpComment()
+20,0,0,ReadyHug,A few hugs|before the play?,Sure!  I love hugs.|What kind of hugs?,300,0,0,StartHugs()
+20,0,0,IsBothFree,(Help her dress.)|(1 minute),(You help her dress in her costume.)|Perfect!  Are we ready for the play?,30,0,0,Costume()
+20,0,0,IsBothFree,"Sarah, would you|like to restrain me?","Oh no, I cannot do that Miss.|(She blushes and bows her head.)",20,0,0,RandomBondage()
+20,0,0,!Common_PlayerRestrained,(Tickle her.)|(1 minute),"(You tickle her on the ribs and she|giggles lightly, she's not very ticklish.)",20,0,0,
+20,0,0,!Common_PlayerRestrained,(Spank her.)|(1 minute),(She bends down so you can spank her butt|easily.  She moans and seems to enjoy it.),20,0,0,Spank()
+20,0,5,!Common_PlayerRestrained,(Slap her.)|(1 minute),(You slap her hard on the face and the|breast while she screams of pleasure.),20,0,0,Slap()
+20,0,0,!Common_PlayerRestrained,(Masturbate her.)|(1 minute),(You bend down to masturbate her|but she pushes your hand away.),20,0,0,Masturbate()
+20,0,0,CanUntie,(Untie her.)|(1 minute),(She fights you playfully|but you're able to untie her.),20,0,0,Untie()
+20,0,0,CanUngag,(Ungag her.)|(1 minute),(She moves her head in circle|but you're able to remove the gag.),20,0,0,Ungag()
+30,0,0,IsPlayReady,Let's do some drama.|(Join the drama class.),,30,0,0,StartDrama()
+30,0,0,!IsPlayReady,Everyone isn't ready.,Maybe we need to speed things up then.,30,0,0,
+100,0,0,Common_PlayerGagged,@Ungn!,Nod for yes or shake for no.|Do you need help with that gag?,100,0,0,
+100,0,0,,(Nod slowly.),Nope!  I like you better like that.|Can you help me find my costume?,0,0,0,CheckUngag()
+100,0,0,,(Shake your head.),"Fine, you look cute with that gag.|Can you help me find my costume?",0,0,0,
+200,0,0,,Welcome to heaven.,"(She nods and moans, slowly|recovering from her orgasm.)",20,1,0,
+200,0,0,,(Pet her head gently.),"(She purrs and moans, slowly|recovering from her orgasm.)",20,1,0,
+200,0,0,,Now I control|your orgasms.,"(She bows her head, slowly|recovering from her orgasm.)",20,0,1,
+200,0,0,,(Slap her face.),"(She bows her head, slowly|recovering from her orgasm.)",20,0,1,
+200,0,0,,You're such a slut.,"(She shakes her head no, slowly|recovering from her orgasm.)",20,-1,1,
+200,0,0,,Next time you|will beg to cum.,"(She bows her head, slowly|recovering from her orgasm.)",20,0,1,
+300,0,0,,Give me a hug!|(1 minute),(You hold each other in the|arms for a long and friendly hug.),310,0,0,"Hug(""PlayerSarahHug"")"
+300,5,0,HugDone,(Kiss her.)|(1 minute),(You kiss her tenderly on the neck|and lips while she giggles and blushes.),310,0,0,"Hug(""PlayerSarahKiss"")"
+300,0,0,AmandaReadyHug,Go hug Amanda.|(1 minute),(Sarah rushes to Amanda and|jumps in her arms while giggling.),310,0,0,"Hug(""AmandaSarahHug"")"
+300,0,5,AmandaReadyHug,Go kiss Amanda.|(1 minute),(Sarah blushes and offers a kiss to Amanda.|They quickly embrace each other for a lovely kiss.),310,0,0,"Hug(""AmandaSarahKiss"")"
+300,0,0,AmandaReadyHug,Let's do a group|hug.  (1 minute),(You invite both of them in your arms|and share a warm hug before the play.),310,0,0,"Hug(""GroupHug"")"
+300,10,10,AmandaReadyHug,Let's do a group|kiss.  (1 minute),(You order them to kiss and join|the fun for a love trio of kisses.),310,0,0,"Hug(""GroupKiss"")"
+300,0,0,,That's enough.,"Sure, so will you help me to dress?",20,0,0,AllowLeave()
+310,0,0,,Give me a hug!|(1 minute),(You hold each other in the|arms for a long and friendly hug.),310,0,0,"Hug(""PlayerSarahHug"")"
+310,5,0,HugDone,(Kiss her.)|(1 minute),(You kiss her tenderly on the neck|and lips while she giggles and blushes.),310,0,0,"Hug(""PlayerSarahKiss"")"
+310,0,0,AmandaReadyHug,Go hug Amanda.|(1 minute),(Sarah rushes to Amanda and|jumps in her arms while giggling.),310,0,0,"Hug(""AmandaSarahHug"")"
+310,0,5,AmandaReadyHug,Go kiss Amanda.|(1 minute),(Sarah blushes and offers a kiss to Amanda.|They quickly embrace each other for a lovely kiss.),310,0,0,"Hug(""AmandaSarahKiss"")"
+310,0,0,AmandaReadyHug,Let's do a group|hug.  (1 minute),(You invite both of them in your arms|and share a warm hug before the play.),310,0,0,"Hug(""GroupHug"")"
+310,10,10,AmandaReadyHug,Let's do a group|kiss.  (1 minute),(You order them to kiss and join|the fun for a love trio of kisses.),310,0,0,"Hug(""GroupKiss"")"
+310,0,0,,That's enough.,"Sure, so will you help me to dress?",20,0,0,AllowLeave()
diff --git a/C008_DramaClass/SarahIntro/Text_EN.csv b/C008_DramaClass/SarahIntro/Text_EN.csv
new file mode 100644
index 0000000000..e604ca51bc
--- /dev/null
+++ b/C008_DramaClass/SarahIntro/Text_EN.csv
@@ -0,0 +1,30 @@
+Tag,Content
+UngagPlayer,(She giggles and removes your gag.)|Can you help me find my costume?
+CropToSearch,(You whip her and she quickly starts to search.)|I got it!  You don't mind if I strip right here?
+CropToStrip,(You whip her and she strips right away.)|So which costume piece should I put on first?
+CostumeBeforeFun,Oh sweet!  You have some toys.  But I|need my costume first.  Can you help?
+CostumeBlocksFun,"I would love to try your toys but it's|too late now, I'm already costumed."
+PlayerRandomBondage,Sure!  (Sarah picks some random|items in your bag and restrains you.)
+NoBondageItem,(She checks your bag.)  Sorry COMMON_PLAYERNAME.|You don't have anything I could use on you.
+Collar,(You need +20 submission or better|and a special ceremony to collar Sarah.)
+Crop,(You whip her pretty hard while she|moans.  She really seems to enjoy it.)
+Rope,(You circle the rope around her body|while she tests your rope skills playfully.)
+TwoRopes,(You pick a second rope and tie|her legs in a kneeling position.)
+Cuffs,(She nods happily while you drag|her hands behind her and cuff them.)
+BallGag,(She moves her head closer to|make it easier for you to gag her.)
+TapeGag,(She moves her head closer to|make it easier for you to gag her.)
+ClothGag,(She moves her head closer to|make it easier for you to gag her.)
+CuffsKey,(She moves playfully to make it harder for|you to unlock her but you manage to do it.)
+VibratingEgg,(She nods as she sees the egg and|open her legs so you can slide it in.)
+ChastityBelt,(She panics when she sees the belt|but you're able to lock it tightly on her.)
+MasturbateBelt,(You try to masturbate her but fail.|You can barely fit a finger under her belt.)
+Masturbate,(You masturbate her at a good pace|and she moans silently and giggles.)
+MasturbateGood,(You masturbate her at a good pace|while she moans and trembles of pleasure.)
+MasturbateOrgasm,(She loses control of her body and|climaxes right in the dressing room.)
+DressWithBelt,"(You help her dress but she seems stressed.)|Ok, let's do the play and unlock the belt after."
+RefuseBelt,(You try to lock the belt on her but she|promptly refuses and pushes it away.)
+UndressBeforeBondage,(She giggles and nods.)|Only if you undress first.
+UntiePlayer,Alright.  Let me help with these ropes.|(She releases you from your bondage.)
+CannotFree,(She points to her own restrains and giggles.)
+CannotFreeGagged,(She shakes her head from left to right.)
+HelpWhileGagged,(She unties the knots while|humming a song in her gag.)
diff --git a/C008_DramaClass/Transition/Julia.jpg b/C008_DramaClass/Transition/Julia.jpg
new file mode 100644
index 0000000000..3636b4c180
Binary files /dev/null and b/C008_DramaClass/Transition/Julia.jpg differ
diff --git a/C008_DramaClass/Transition/Script.js b/C008_DramaClass/Transition/Script.js
new file mode 100644
index 0000000000..beb29958a2
--- /dev/null
+++ b/C008_DramaClass/Transition/Script.js
@@ -0,0 +1,42 @@
+// Chapter 8 - Transition Load
+function C008_DramaClass_Transition_Load() {
+	
+	// Time is 13:30:00 at max in the transition, unlock if needed
+	if (CurrentTime >= 13.5 * 60 * 60 * 1000) CurrentTime = 13.5 * 60 * 60 * 1000;
+	StopTimer(CurrentTime);
+	PlayerReleaseBondage();
+	ActorSpecificClearInventory("Amanda", true);
+	ActorSpecificClearInventory("Sarah", true);
+	PlayerClothes(C008_DramaClass_JuliaIntro_PlayerRole);
+}
+
+// Chapter 8 - Transition Run
+function C008_DramaClass_Transition_Run() {
+	
+	// Paints the background
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 0, 0, 800, 600, "black");
+	DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Julia.jpg", 800, 0);
+	
+	// Sets if the transition is late or not
+	var LateForDrama = "Transition";
+	if (CurrentTime == 13.5 * 60 * 60 * 1000) LateForDrama = "Late";
+		
+	// Draw the outro text
+	DrawText(ctx, GetText(LateForDrama + "1"), 400, 150, "White");
+	if (TextPhase >= 1) DrawText(ctx, GetText(LateForDrama + "2"), 400, 250, "White");
+	if ((TextPhase >= 2) && (Common_PlayerCrime != "AmandaStranded") && (Common_PlayerCrime != "SarahStranded")) DrawText(ctx, GetText(LateForDrama + "3"), 400, 350, "White");
+	if ((TextPhase >= 2) && (Common_PlayerCrime == "AmandaStranded")) DrawText(ctx, GetText("Amanda"), 400, 350, "White");
+	if ((TextPhase >= 2) && (Common_PlayerCrime == "SarahStranded")) DrawText(ctx, GetText("Sarah"), 400, 350, "White");
+	if (TextPhase >= 3) DrawText(ctx, GetText(LateForDrama + "4"), 400, 450, "White");
+
+}
+
+// Chapter 8 - Transition Click
+function C008_DramaClass_Transition_Click() {
+
+	// Jump to the next animation
+	TextPhase++;
+	//if (TextPhase >= 3) SaveMenu("C009", "Intro");
+
+}
\ No newline at end of file
diff --git a/C008_DramaClass/Transition/Text_EN.csv b/C008_DramaClass/Transition/Text_EN.csv
new file mode 100644
index 0000000000..989922bef0
--- /dev/null
+++ b/C008_DramaClass/Transition/Text_EN.csv
@@ -0,0 +1,11 @@
+Tag,Content
+Transition1,Julia smiles when she sees everyone.
+Transition2,She looks at the costumes and applaud.
+Transition3,She escorts all of you to the theater scene.
+Transition4,The play will be available in another version.
+Late1,Julia enters the dressing room singing.
+Late2,She makes sure everyone is costumed.
+Late3,She escorts all of you to the theater scene.
+Late4,The play will be available in another version.
+Amanda,Amanda arrives late and stares at you.
+Sarah,Sarah arrives late and avoids your look.
diff --git a/C999_Common/BallGag/BallGag.jpg b/C999_Common/BallGag/BallGag.jpg
new file mode 100644
index 0000000000..582ad4709e
Binary files /dev/null and b/C999_Common/BallGag/BallGag.jpg differ
diff --git a/C999_Common/BallGag/Intro_CN.csv b/C999_Common/BallGag/Intro_CN.csv
new file mode 100644
index 0000000000..a18dc526a6
--- /dev/null
+++ b/C999_Common/BallGag/Intro_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这个口球有条皮带,|中间的红色塑料球非常大。,BallGag.jpg
+10,0,0,,这个口球令你的下巴特别疼。|你戴着它的时候无法说话。,BallGag.jpg
diff --git a/C999_Common/BallGag/Intro_EN.csv b/C999_Common/BallGag/Intro_EN.csv
new file mode 100644
index 0000000000..984137204b
--- /dev/null
+++ b/C999_Common/BallGag/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This ball gag comes with a leather harness.|The plastic red ball is pretty big.,BallGag.jpg
+10,0,0,,The ball gag hurts your jaw pretty bad.|There's no way to be understood while wearing it.,BallGag.jpg
diff --git a/C999_Common/BallGag/Intro_FR.csv b/C999_Common/BallGag/Intro_FR.csv
new file mode 100644
index 0000000000..338ecf6196
--- /dev/null
+++ b/C999_Common/BallGag/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Un bâillon-boule et son harnais en cuir.|La boule en plastique rouge est assez grosse.,BallGag.jpg
+10,0,0,,Le bâillon-boule vous fait très mal à la mâchoire.|Il n'y a aucun moyen d'être compris en le portant.,BallGag.jpg
diff --git a/C999_Common/BallGag/Script.js b/C999_Common/BallGag/Script.js
new file mode 100644
index 0000000000..962cac54ab
--- /dev/null
+++ b/C999_Common/BallGag/Script.js
@@ -0,0 +1,55 @@
+var C999_Common_BallGag_CurrentStage = 0;
+var C999_Common_BallGag_HasLooseBallGag = false;
+
+// Chapter Common - BallGag Load
+function C999_Common_BallGag_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LoadInteractions();
+
+	// Set the correct stage
+	if (PlayerHasLockedInventory("BallGag")) C999_Common_BallGag_CurrentStage = 10;
+	else C999_Common_BallGag_CurrentStage = 0;
+
+	// If the player has a loose BallGag
+	C999_Common_BallGag_HasLooseBallGag = PlayerHasInventory("BallGag");
+
+}
+
+// Chapter Common - BallGag Run, we draw the regular player image if the item is on
+function C999_Common_BallGag_Run() {
+	BuildInteraction(C999_Common_BallGag_CurrentStage);
+	if (PlayerHasLockedInventory("BallGag") && (OverridenIntroImage == "")) DrawPlayerImage(150, 0);
+}
+
+// Chapter Common - BallGag Click, allow regular interactions and clicking on another item
+function C999_Common_BallGag_Click() {
+	OverridenIntroImage = "";
+	ClickInteraction(C999_Common_BallGag_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Self BallGag
+function C999_Common_BallGag_SelfGag() {
+	if ((Common_BondageAllowed) && (Common_SelfBondageAllowed)) {
+		PlayerUngag();
+		PlayerRemoveInventory("BallGag", 1);
+		PlayerLockInventory("BallGag");
+		C999_Common_BallGag_HasLooseBallGag = PlayerHasInventory("BallGag");
+	} else {
+		OverridenIntroText = GetText("BadTiming");
+		C999_Common_BallGag_CurrentStage = 0;
+	}
+}
+
+// Chapter Common - Self Ungag
+function C999_Common_BallGag_SelfUngag() {
+	PlayerUnlockInventory("BallGag");
+	PlayerAddInventory("BallGag", 1);
+}
+
+// Chapter Common - Show the item image
+function C999_Common_BallGag_ShowImage() {
+	OverridenIntroImage = "BallGag.jpg";
+}
\ No newline at end of file
diff --git a/C999_Common/BallGag/Stage_CN.csv b/C999_Common/BallGag/Stage_CN.csv
new file mode 100644
index 0000000000..a189a9af26
--- /dev/null
+++ b/C999_Common/BallGag/Stage_CN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(调查口球)|(1 分钟),这个大口球有多条皮带,|你戴着它的时候无法清楚说话。,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(塞自己的嘴)|(1 分钟),"你把皮带拉到头后面,|把口球塞进嘴巴,然后扣上扣子。",10,0,0,SelfGag()
+10,0,0,HasLooseBallGag,(Inspect the loose gag.)|(1 minute),This big ball gag has a full head harness.|It will be hard to be understood while wearing it.,10,0,0,ShowImage()
+10,0,0,,(咬口球)|(1 分钟),你咬了咬口球。  尽管你的下巴轻松了一点,|但完全无法咬碎口球。,10,0,0,
+10,0,0,,(尝试吐出口球)|(1 分钟),你尝试用舌头把口球顶出去,|但是毫无效果。 你要用手才能摘下。,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(摘下口球)|(1 分钟),你解开了所有皮带,|吐出了口球。 现在你可以说话了。,0,0,0,SelfUngag()
diff --git a/C999_Common/BallGag/Stage_EN.csv b/C999_Common/BallGag/Stage_EN.csv
new file mode 100644
index 0000000000..76177c2930
--- /dev/null
+++ b/C999_Common/BallGag/Stage_EN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the gag.)|(1 minute),This big ball gag has a full head harness.|It will be hard to be understood while wearing it.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Gag yourself.)|(1 minute),"You pull the harness over your head,|push the ball in and strap the buckles.",10,0,0,SelfGag()
+10,0,0,HasLooseBallGag,(Inspect the loose gag.)|(1 minute),This big ball gag has a full head harness.|It will be hard to be understood while wearing it.,10,0,0,ShowImage()
+10,0,0,,(Chew on the ball.)|(1 minute),You chew on the gag.  It helps your jaw|a little but doesn't damage the gag at all.,10,0,0,
+10,0,0,,(Try to spit the ball.)|(1 minute),You try to spit the ball and push it with your tongue|but it doesn't move.  You'll need your hands.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Ungag yourself.)|(1 minute),"You undo all the straps, pull out|the ball and can now talk again.",0,0,0,SelfUngag()
diff --git a/C999_Common/BallGag/Stage_FR.csv b/C999_Common/BallGag/Stage_FR.csv
new file mode 100644
index 0000000000..8a41a26cca
--- /dev/null
+++ b/C999_Common/BallGag/Stage_FR.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu examines le bâillon.)|(1 minute),Ce gros bâillon a un harnais qui recouvre toute la tête.|Il sera difficile d'être compris tout en le portant.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Tu te bâillonnes.)|(1 minute),"Tu enfiles le harnais sur ta tête,|enfonce la boule dans ta bouche et serre les sangles.",10,0,0,SelfGag()
+10,0,0,HasLooseBallGag,(Tu examines un autre|bâillon.) (1 minute),Ce gros bâillon a un harnais qui recouvre toute la tête.|Il sera difficile d'être compris tout en le portant.,10,0,0,ShowImage()
+10,0,0,,(Tu mâches la boule.)|(1 minute),Tu mâches la boule. Ça soulage un petit peu|ta mâchoire mais n'endommage pas le bâillon.,10,0,0,
+10,0,0,,(Tu essayes de sécréter|de la salive.) (1 minute),Tu sécrètes de la salive et repousses la boule|avec ta langue en vain. Tu auras besoin de tes mains.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Tu te débâillonnes.)|(1 minute),"Tu détaches les sangles et retires|la boule. Tu peux parler à nouveau.",0,0,0,SelfUngag()
diff --git a/C999_Common/BallGag/Text_CN.csv b/C999_Common/BallGag/Text_CN.csv
new file mode 100644
index 0000000000..c20a075da3
--- /dev/null
+++ b/C999_Common/BallGag/Text_CN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,你幻想了一下自己戴上口球的样子,|但你意识到现在不该戴上口球。
diff --git a/C999_Common/BallGag/Text_EN.csv b/C999_Common/BallGag/Text_EN.csv
new file mode 100644
index 0000000000..63bb551e2b
--- /dev/null
+++ b/C999_Common/BallGag/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being gagged but realize that|it might not be the best time to gag yourself.
diff --git a/C999_Common/BallGag/Text_FR.csv b/C999_Common/BallGag/Text_FR.csv
new file mode 100644
index 0000000000..bf5de9e10c
--- /dev/null
+++ b/C999_Common/BallGag/Text_FR.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,Tu fantasmes sur le bâillon mais tu réalises que ce|n'est peut être pas le meilleur moment pour le mettre.
diff --git a/C999_Common/Blindfold/Blindfold.jpg b/C999_Common/Blindfold/Blindfold.jpg
new file mode 100644
index 0000000000..6ff68b1294
Binary files /dev/null and b/C999_Common/Blindfold/Blindfold.jpg differ
diff --git a/C999_Common/Blindfold/Intro_CN.csv b/C999_Common/Blindfold/Intro_CN.csv
new file mode 100644
index 0000000000..471609004d
--- /dev/null
+++ b/C999_Common/Blindfold/Intro_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This blindfols has a leather pad to go over|the eyes and straps that buckles behind.,Blindfold.jpg
+10,0,0,,The blindfold covers your eyes.|You can't see anything while wearing it.,Blindfold.jpg
diff --git a/C999_Common/Blindfold/Intro_EN.csv b/C999_Common/Blindfold/Intro_EN.csv
new file mode 100644
index 0000000000..471609004d
--- /dev/null
+++ b/C999_Common/Blindfold/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This blindfols has a leather pad to go over|the eyes and straps that buckles behind.,Blindfold.jpg
+10,0,0,,The blindfold covers your eyes.|You can't see anything while wearing it.,Blindfold.jpg
diff --git a/C999_Common/Blindfold/Intro_FR.csv b/C999_Common/Blindfold/Intro_FR.csv
new file mode 100644
index 0000000000..471609004d
--- /dev/null
+++ b/C999_Common/Blindfold/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This blindfols has a leather pad to go over|the eyes and straps that buckles behind.,Blindfold.jpg
+10,0,0,,The blindfold covers your eyes.|You can't see anything while wearing it.,Blindfold.jpg
diff --git a/C999_Common/Blindfold/Script.js b/C999_Common/Blindfold/Script.js
new file mode 100644
index 0000000000..01f944e603
--- /dev/null
+++ b/C999_Common/Blindfold/Script.js
@@ -0,0 +1,43 @@
+var C999_Common_Blindfold_CurrentStage = 0;
+
+// Chapter Common - Blindfold Load
+function C999_Common_Blindfold_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LoadInteractions();
+
+	// Set the correct stage
+    if (PlayerHasLockedInventory("Blindfold") == true) C999_Common_Blindfold_CurrentStage = 10;
+    else C999_Common_Blindfold_CurrentStage = 0;
+
+}
+
+// Chapter Common - Blindfold Run, we draw the regular player image if the item is on
+function C999_Common_Blindfold_Run() {
+    BuildInteraction(C999_Common_Blindfold_CurrentStage);
+    if (PlayerHasLockedInventory("Blindfold")) DrawPlayerImage(150, 0);
+}
+
+// Chapter Common - Blindfold Click, allow regular interactions and clicking on another item
+function C999_Common_Blindfold_Click() {
+    ClickInteraction(C999_Common_Blindfold_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Self Blindfold
+function C999_Common_Blindfold_SelfBlind() {
+	if ((Common_BondageAllowed) && (Common_SelfBondageAllowed)) {
+        PlayerRemoveInventory("Blindfold", 1);
+        PlayerLockInventory("Blindfold");
+	} else {
+		OverridenIntroText = GetText("BadTiming");
+		C999_Common_Blindfold_CurrentStage = 0;
+	}
+}
+
+// Chapter Common - Self UnBlindfold
+function C999_Common_Blindfold_SelfUnBlind() {
+    PlayerUnlockInventory("Blindfold");
+    PlayerAddInventory("Blindfold", 1);
+}
\ No newline at end of file
diff --git a/C999_Common/Blindfold/Stage_CN.csv b/C999_Common/Blindfold/Stage_CN.csv
new file mode 100644
index 0000000000..546f8d3728
--- /dev/null
+++ b/C999_Common/Blindfold/Stage_CN.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the blindfold.)|(1 minute),This blindfold is completely opaque.|It will be impossible to see while wearing it.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Blindfold yourself.)|(1 minute),You pull the blindfold over your eyes|and buckle the straps behind your head.,10,0,0,SelfBlind()
+10,0,0,Common_PlayerNotRestrained,(Wave your hand in front|of you.) (1 minute),"Your sure its there, but you can't see your hand to know it.",10,0,0,
+10,0,0,,(Try rub the blindfold off.)|(1 minute),You try rubbing against an object but the straps|holds it firmly inplace.  You'll need your hands.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Remove the blindfold|yourself.) (1 minute),"You undo the straps, pull the blindfold|off and can now see again.",0,0,0,SelfUnBlind()
diff --git a/C999_Common/Blindfold/Stage_EN.csv b/C999_Common/Blindfold/Stage_EN.csv
new file mode 100644
index 0000000000..546f8d3728
--- /dev/null
+++ b/C999_Common/Blindfold/Stage_EN.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the blindfold.)|(1 minute),This blindfold is completely opaque.|It will be impossible to see while wearing it.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Blindfold yourself.)|(1 minute),You pull the blindfold over your eyes|and buckle the straps behind your head.,10,0,0,SelfBlind()
+10,0,0,Common_PlayerNotRestrained,(Wave your hand in front|of you.) (1 minute),"Your sure its there, but you can't see your hand to know it.",10,0,0,
+10,0,0,,(Try rub the blindfold off.)|(1 minute),You try rubbing against an object but the straps|holds it firmly inplace.  You'll need your hands.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Remove the blindfold|yourself.) (1 minute),"You undo the straps, pull the blindfold|off and can now see again.",0,0,0,SelfUnBlind()
diff --git a/C999_Common/Blindfold/Stage_FR.csv b/C999_Common/Blindfold/Stage_FR.csv
new file mode 100644
index 0000000000..546f8d3728
--- /dev/null
+++ b/C999_Common/Blindfold/Stage_FR.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the blindfold.)|(1 minute),This blindfold is completely opaque.|It will be impossible to see while wearing it.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Blindfold yourself.)|(1 minute),You pull the blindfold over your eyes|and buckle the straps behind your head.,10,0,0,SelfBlind()
+10,0,0,Common_PlayerNotRestrained,(Wave your hand in front|of you.) (1 minute),"Your sure its there, but you can't see your hand to know it.",10,0,0,
+10,0,0,,(Try rub the blindfold off.)|(1 minute),You try rubbing against an object but the straps|holds it firmly inplace.  You'll need your hands.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Remove the blindfold|yourself.) (1 minute),"You undo the straps, pull the blindfold|off and can now see again.",0,0,0,SelfUnBlind()
diff --git a/C999_Common/Blindfold/Text_CN.csv b/C999_Common/Blindfold/Text_CN.csv
new file mode 100644
index 0000000000..543aca5b1e
--- /dev/null
+++ b/C999_Common/Blindfold/Text_CN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being blinded but realize that|it might not be the best time to wear it.
diff --git a/C999_Common/Blindfold/Text_EN.csv b/C999_Common/Blindfold/Text_EN.csv
new file mode 100644
index 0000000000..543aca5b1e
--- /dev/null
+++ b/C999_Common/Blindfold/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being blinded but realize that|it might not be the best time to wear it.
diff --git a/C999_Common/Blindfold/Text_FR.csv b/C999_Common/Blindfold/Text_FR.csv
new file mode 100644
index 0000000000..543aca5b1e
--- /dev/null
+++ b/C999_Common/Blindfold/Text_FR.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being blinded but realize that|it might not be the best time to wear it.
diff --git a/C999_Common/ChastityBelt/Belt.jpg b/C999_Common/ChastityBelt/Belt.jpg
new file mode 100644
index 0000000000..9781f5fb39
Binary files /dev/null and b/C999_Common/ChastityBelt/Belt.jpg differ
diff --git a/C999_Common/ChastityBelt/Intro_CN.csv b/C999_Common/ChastityBelt/Intro_CN.csv
new file mode 100644
index 0000000000..e7d8e0ee0a
--- /dev/null
+++ b/C999_Common/ChastityBelt/Intro_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This chastity belt looks pretty strong.|It locks around the waist and the crotch.,Belt.jpg
+10,0,0,,The belt is locked around your waist.|You will need a key to remove it.,Belt.jpg
diff --git a/C999_Common/ChastityBelt/Intro_EN.csv b/C999_Common/ChastityBelt/Intro_EN.csv
new file mode 100644
index 0000000000..e7d8e0ee0a
--- /dev/null
+++ b/C999_Common/ChastityBelt/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This chastity belt looks pretty strong.|It locks around the waist and the crotch.,Belt.jpg
+10,0,0,,The belt is locked around your waist.|You will need a key to remove it.,Belt.jpg
diff --git a/C999_Common/ChastityBelt/Intro_FR.csv b/C999_Common/ChastityBelt/Intro_FR.csv
new file mode 100644
index 0000000000..e13f6dd0be
--- /dev/null
+++ b/C999_Common/ChastityBelt/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Cette ceinture de chasteté à l'air assez solide.|Elle se verrouille autour de la taille et de l'entrejambe.,Belt.jpg
+10,0,0,,La ceinture est verrouillée autour de ta taille.|Tu auras besoin d'une clé pour l'enlever.,Belt.jpg
diff --git a/C999_Common/ChastityBelt/Script.js b/C999_Common/ChastityBelt/Script.js
new file mode 100644
index 0000000000..2cac5786b5
--- /dev/null
+++ b/C999_Common/ChastityBelt/Script.js
@@ -0,0 +1,50 @@
+var C999_Common_ChastityBelt_CurrentStage = 0;
+var C999_Common_ChastityBelt_HasLooseBelt = false;
+var C999_Common_ChastityBelt_ConfirmLock = false;
+
+// Chapter Common - Chastity Belt Load
+function C999_Common_ChastityBelt_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LoadInteractions();
+	
+	// Set the correct stage
+	C999_Common_ChastityBelt_ConfirmLock = false;
+	C999_Common_ChastityBelt_CurrentStage = 0;
+	if (PlayerHasLockedInventory("ChastityBelt")) C999_Common_ChastityBelt_CurrentStage = 10;
+
+	// If the player has a loose belt
+	C999_Common_ChastityBelt_HasLooseBelt = PlayerHasInventory("ChastityBelt");
+	
+}
+
+// Chapter Common - Chastity Belt Run, we draw the regular player image if the item is on
+function C999_Common_ChastityBelt_Run() {
+	BuildInteraction(C999_Common_ChastityBelt_CurrentStage);
+	if (PlayerHasLockedInventory("ChastityBelt") && (OverridenIntroImage == "")) DrawPlayerImage(0, 0);
+}
+
+// Chapter Common - Chastity Belt Click, allow regular interactions and clicking on another item
+function C999_Common_ChastityBelt_Click() {
+	OverridenIntroImage = "";
+	ClickInteraction(C999_Common_ChastityBelt_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Chastity Belt Lock (the user needs to confirm he wants to lock)
+function C999_Common_ChastityBelt_LockSelf() {
+	if (!C999_Common_ChastityBelt_ConfirmLock) {
+		C999_Common_ChastityBelt_ConfirmLock = true;
+		OverridenIntroText = GetText("ConfirmLock");
+	} else {
+		PlayerRemoveInventory("ChastityBelt", 1);
+		PlayerLockInventory("ChastityBelt");
+		C999_Common_ChastityBelt_CurrentStage = 10;
+	}
+}
+
+// Chapter Common - Show the item image
+function C999_Common_ChastityBelt_ShowImage() {
+	OverridenIntroImage = "Belt.jpg";
+}
\ No newline at end of file
diff --git a/C999_Common/ChastityBelt/Stage_CN.csv b/C999_Common/ChastityBelt/Stage_CN.csv
new file mode 100644
index 0000000000..17774b3631
--- /dev/null
+++ b/C999_Common/ChastityBelt/Stage_CN.csv
@@ -0,0 +1,9 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),This chastity belt looks in good condition.|Once locked you'll need a key to unlock it.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Lock yourself.)|(1 minute),"You take a deep breath and close the belt|on yourself.  It locks with a loud ""click"".",0,0,0,LockSelf()
+10,0,0,,(Inspect your belt.)|(1 minute),This chastity belt is in good condition.|You'll need the proper key to unlock it.,10,0,0,
+10,0,0,HasLooseBelt,(Inspect the loose belt.)|(1 minute),This chastity belt looks in good condition.|Once locked you'll need a key to unlock it.,10,0,0,ShowImage()
+10,0,0,Common_PlayerNotRestrained,(Remove the belt.)|(1 minute),You try to slide the belt off your hips|but it's locked too tight and doesn't move.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Force it open.)|(1 minute),You try to force and pry the belt|open but it remains firmly locked.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Try to masturbate.)|(1 minute),You barely slip a finger below the belt.|It's impossible to masturbate like that.,10,0,0,
+10,0,0,,(Rub your clitoris.)|(1 minute),You clumsily rub your clitoris against the belt.|It's somewhat pleasurable but not enough to climax.,10,0,0,
diff --git a/C999_Common/ChastityBelt/Stage_EN.csv b/C999_Common/ChastityBelt/Stage_EN.csv
new file mode 100644
index 0000000000..17774b3631
--- /dev/null
+++ b/C999_Common/ChastityBelt/Stage_EN.csv
@@ -0,0 +1,9 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),This chastity belt looks in good condition.|Once locked you'll need a key to unlock it.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Lock yourself.)|(1 minute),"You take a deep breath and close the belt|on yourself.  It locks with a loud ""click"".",0,0,0,LockSelf()
+10,0,0,,(Inspect your belt.)|(1 minute),This chastity belt is in good condition.|You'll need the proper key to unlock it.,10,0,0,
+10,0,0,HasLooseBelt,(Inspect the loose belt.)|(1 minute),This chastity belt looks in good condition.|Once locked you'll need a key to unlock it.,10,0,0,ShowImage()
+10,0,0,Common_PlayerNotRestrained,(Remove the belt.)|(1 minute),You try to slide the belt off your hips|but it's locked too tight and doesn't move.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Force it open.)|(1 minute),You try to force and pry the belt|open but it remains firmly locked.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Try to masturbate.)|(1 minute),You barely slip a finger below the belt.|It's impossible to masturbate like that.,10,0,0,
+10,0,0,,(Rub your clitoris.)|(1 minute),You clumsily rub your clitoris against the belt.|It's somewhat pleasurable but not enough to climax.,10,0,0,
diff --git a/C999_Common/ChastityBelt/Stage_FR.csv b/C999_Common/ChastityBelt/Stage_FR.csv
new file mode 100644
index 0000000000..d91c1b0a77
--- /dev/null
+++ b/C999_Common/ChastityBelt/Stage_FR.csv
@@ -0,0 +1,9 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu l'examines.)|(1 minute),Cette ceinture de chasteté à l'air en bon état. Une fois|verrouillée tu auras besoin d'une clé pour l'enlever.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Tu la portes.)|(1 minute),"Tu inspires profondément et fermes la ceinture sur|toi même. Elle se verrouille avec un ""clic"" assez fort.",0,0,0,LockSelf()
+10,0,0,,(Tu examines la ceinture.)|(1 minute),Cette ceinture de chasteté à l'air en bon état.|Tu auras besoin d'une clé pour l'enlever.,10,0,0,
+10,0,0,HasLooseBelt,(Tu examines une autre|ceinture.) (1 minute),Cette ceinture de chasteté à l'air en bon état. Une fois|verrouillée tu auras besoin d'une clé pour l'enlever.,10,0,0,ShowImage()
+10,0,0,Common_PlayerNotRestrained,(Tu enlèves la ceinture.)|(1 minute),Tu essayes de faire glisser la ceinture sous tes|hanches mais elle est très serrée et elle ne bouge pas.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Tu forces l'ouverture.)|(1 minute),Tu essayes de forcer l'ouverture de la ceinture|mais elle reste fermement verrouillée.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Tu essayes de te toucher.)|(1 minute),Tu glisses à peine un doigt sous la ceinture.|Il est impossible de se masturber comme ça.,10,0,0,
+10,0,0,,(Tu frottes ton clitoris.)|(1 minute),Tu frottes délicatement ton clitoris contre la ceinture.|C'est agréable mais insuffisant pour atteindre l'orgasme.,10,0,0,
diff --git a/C999_Common/ChastityBelt/Text_CN.csv b/C999_Common/ChastityBelt/Text_CN.csv
new file mode 100644
index 0000000000..b2a4f7f86a
--- /dev/null
+++ b/C999_Common/ChastityBelt/Text_CN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+ConfirmLock,Are you sure you want to lock the|belt on yourself?  Click again to do so.
diff --git a/C999_Common/ChastityBelt/Text_EN.csv b/C999_Common/ChastityBelt/Text_EN.csv
new file mode 100644
index 0000000000..b2a4f7f86a
--- /dev/null
+++ b/C999_Common/ChastityBelt/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+ConfirmLock,Are you sure you want to lock the|belt on yourself?  Click again to do so.
diff --git a/C999_Common/ChastityBelt/Text_FR.csv b/C999_Common/ChastityBelt/Text_FR.csv
new file mode 100644
index 0000000000..b0dfcfd34f
--- /dev/null
+++ b/C999_Common/ChastityBelt/Text_FR.csv
@@ -0,0 +1,2 @@
+Tag,Content
+ConfirmLock,Es-tu sûre de vouloir verrouiller la ceinture ?| Clique de nouveau pour le faire.
diff --git a/C999_Common/ClothGag/ClothGag.jpg b/C999_Common/ClothGag/ClothGag.jpg
new file mode 100644
index 0000000000..dae60bdcc1
Binary files /dev/null and b/C999_Common/ClothGag/ClothGag.jpg differ
diff --git a/C999_Common/ClothGag/Intro_CN.csv b/C999_Common/ClothGag/Intro_CN.csv
new file mode 100644
index 0000000000..cec3a6db49
--- /dev/null
+++ b/C999_Common/ClothGag/Intro_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This gag has cloth wadding to go in the mouth.|More cloths tie the wadding in place.,ClothGag.jpg
+10,0,0,,The wadding completely fills your mouth.|There's no way to be understood while wearing it.,ClothGag.jpg
diff --git a/C999_Common/ClothGag/Intro_EN.csv b/C999_Common/ClothGag/Intro_EN.csv
new file mode 100644
index 0000000000..cec3a6db49
--- /dev/null
+++ b/C999_Common/ClothGag/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This gag has cloth wadding to go in the mouth.|More cloths tie the wadding in place.,ClothGag.jpg
+10,0,0,,The wadding completely fills your mouth.|There's no way to be understood while wearing it.,ClothGag.jpg
diff --git a/C999_Common/ClothGag/Intro_FR.csv b/C999_Common/ClothGag/Intro_FR.csv
new file mode 100644
index 0000000000..cec3a6db49
--- /dev/null
+++ b/C999_Common/ClothGag/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This gag has cloth wadding to go in the mouth.|More cloths tie the wadding in place.,ClothGag.jpg
+10,0,0,,The wadding completely fills your mouth.|There's no way to be understood while wearing it.,ClothGag.jpg
diff --git a/C999_Common/ClothGag/Script.js b/C999_Common/ClothGag/Script.js
new file mode 100644
index 0000000000..07eebb8a09
--- /dev/null
+++ b/C999_Common/ClothGag/Script.js
@@ -0,0 +1,44 @@
+var C999_Common_ClothGag_CurrentStage = 0;
+
+// Chapter Common - ClothGag Load
+function C999_Common_ClothGag_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LoadInteractions();
+
+	// Set the correct stage
+    if (PlayerHasLockedInventory("ClothGag") == true) C999_Common_ClothGag_CurrentStage = 10;
+    else C999_Common_ClothGag_CurrentStage = 0;
+
+}
+
+// Chapter Common - ClothGag Run, we draw the regular player image if the item is on
+function C999_Common_ClothGag_Run() {
+    BuildInteraction(C999_Common_ClothGag_CurrentStage);
+    if (PlayerHasLockedInventory("ClothGag")) DrawPlayerImage(150, 0);
+}
+
+// Chapter Common - ClothGag Click, allow regular interactions and clicking on another item
+function C999_Common_ClothGag_Click() {
+    ClickInteraction(C999_Common_ClothGag_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Self ClothGag
+function C999_Common_ClothGag_SelfGag() {
+	if ((Common_BondageAllowed) && (Common_SelfBondageAllowed)) {
+		PlayerUngag();
+        PlayerRemoveInventory("ClothGag", 1);
+        PlayerLockInventory("ClothGag");
+	} else {
+		OverridenIntroText = GetText("BadTiming");
+		C999_Common_ClothGag_CurrentStage = 0;
+	}
+}
+
+// Chapter Common - Self Ung«g
+function C999_Common_ClothGag_SelfUngag() {
+    PlayerUnlockInventory("ClothGag");
+    PlayerAddInventory("ClothGag", 1);
+}
\ No newline at end of file
diff --git a/C999_Common/ClothGag/Stage_CN.csv b/C999_Common/ClothGag/Stage_CN.csv
new file mode 100644
index 0000000000..043b1885e0
--- /dev/null
+++ b/C999_Common/ClothGag/Stage_CN.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the gag.)|(1 minute),This gag has cloth lots of wadding to fill the mouth.|More cloths tie around the head to hold the wadding in.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Gag yourself.)|(1 minute),"You stuff the wadding in your mouth, then tie|more cloths over your mouth and around your head.",10,0,0,SelfGag()
+10,0,0,,(Chew on the wad.)|(1 minute),You chew on the wadding.  It helps your jaw|a little but doesn't damage the wadding at all.,10,0,0,
+10,0,0,,(Try to spit the wad out.)|(1 minute),You try to spit out the wad but it is held in by the cleave|and 'over the mouth' gags.  You'll need your hands.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Ungag yourself.)|(1 minute),"You undo all the cloths, pull out|the wadding and can now talk again.",0,0,0,SelfUngag()
diff --git a/C999_Common/ClothGag/Stage_EN.csv b/C999_Common/ClothGag/Stage_EN.csv
new file mode 100644
index 0000000000..043b1885e0
--- /dev/null
+++ b/C999_Common/ClothGag/Stage_EN.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the gag.)|(1 minute),This gag has cloth lots of wadding to fill the mouth.|More cloths tie around the head to hold the wadding in.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Gag yourself.)|(1 minute),"You stuff the wadding in your mouth, then tie|more cloths over your mouth and around your head.",10,0,0,SelfGag()
+10,0,0,,(Chew on the wad.)|(1 minute),You chew on the wadding.  It helps your jaw|a little but doesn't damage the wadding at all.,10,0,0,
+10,0,0,,(Try to spit the wad out.)|(1 minute),You try to spit out the wad but it is held in by the cleave|and 'over the mouth' gags.  You'll need your hands.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Ungag yourself.)|(1 minute),"You undo all the cloths, pull out|the wadding and can now talk again.",0,0,0,SelfUngag()
diff --git a/C999_Common/ClothGag/Stage_FR.csv b/C999_Common/ClothGag/Stage_FR.csv
new file mode 100644
index 0000000000..043b1885e0
--- /dev/null
+++ b/C999_Common/ClothGag/Stage_FR.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the gag.)|(1 minute),This gag has cloth lots of wadding to fill the mouth.|More cloths tie around the head to hold the wadding in.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Gag yourself.)|(1 minute),"You stuff the wadding in your mouth, then tie|more cloths over your mouth and around your head.",10,0,0,SelfGag()
+10,0,0,,(Chew on the wad.)|(1 minute),You chew on the wadding.  It helps your jaw|a little but doesn't damage the wadding at all.,10,0,0,
+10,0,0,,(Try to spit the wad out.)|(1 minute),You try to spit out the wad but it is held in by the cleave|and 'over the mouth' gags.  You'll need your hands.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Ungag yourself.)|(1 minute),"You undo all the cloths, pull out|the wadding and can now talk again.",0,0,0,SelfUngag()
diff --git a/C999_Common/ClothGag/Text_CN.csv b/C999_Common/ClothGag/Text_CN.csv
new file mode 100644
index 0000000000..63bb551e2b
--- /dev/null
+++ b/C999_Common/ClothGag/Text_CN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being gagged but realize that|it might not be the best time to gag yourself.
diff --git a/C999_Common/ClothGag/Text_EN.csv b/C999_Common/ClothGag/Text_EN.csv
new file mode 100644
index 0000000000..63bb551e2b
--- /dev/null
+++ b/C999_Common/ClothGag/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being gagged but realize that|it might not be the best time to gag yourself.
diff --git a/C999_Common/ClothGag/Text_FR.csv b/C999_Common/ClothGag/Text_FR.csv
new file mode 100644
index 0000000000..63bb551e2b
--- /dev/null
+++ b/C999_Common/ClothGag/Text_FR.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being gagged but realize that|it might not be the best time to gag yourself.
diff --git a/C999_Common/Collar/Collar.jpg b/C999_Common/Collar/Collar.jpg
new file mode 100644
index 0000000000..430da8c838
Binary files /dev/null and b/C999_Common/Collar/Collar.jpg differ
diff --git a/C999_Common/Collar/Intro_CN.csv b/C999_Common/Collar/Intro_CN.csv
new file mode 100644
index 0000000000..e51a38e621
--- /dev/null
+++ b/C999_Common/Collar/Intro_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这是条牢固的皮项圈。,Collar.jpg
+10,0,0,,这条皮项圈戴在了你的脖子。,Collar.jpg
diff --git a/C999_Common/Collar/Intro_EN.csv b/C999_Common/Collar/Intro_EN.csv
new file mode 100644
index 0000000000..93b7262fe3
--- /dev/null
+++ b/C999_Common/Collar/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,A sturdy leather collar.,Collar.jpg
+10,0,0,,This leather collar is|buckled around your neck.,Collar.jpg
diff --git a/C999_Common/Collar/Intro_FR.csv b/C999_Common/Collar/Intro_FR.csv
new file mode 100644
index 0000000000..edfc177ec2
--- /dev/null
+++ b/C999_Common/Collar/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Un collier en cuir robuste.,Collar.jpg
+10,0,0,,Le collier en cuir est|attaché autour de ton cou.,Collar.jpg
diff --git a/C999_Common/Collar/Script.js b/C999_Common/Collar/Script.js
new file mode 100644
index 0000000000..13c50e4f90
--- /dev/null
+++ b/C999_Common/Collar/Script.js
@@ -0,0 +1,54 @@
+var C999_Common_Collar_CurrentStage = 0;
+var C999_Common_Collar_HasLooseCollar = false;
+
+// Chapter Common - Collar Load
+function C999_Common_Collar_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LoadInteractions();
+
+	// Set the correct stage
+	if (PlayerHasLockedInventory("Collar") == true) C999_Common_Collar_CurrentStage = 10;
+	else C999_Common_Collar_CurrentStage = 0;
+
+	// If the player has a loose collar
+	C999_Common_Collar_HasLooseCollar = PlayerHasInventory("Collar");
+
+}
+
+// Chapter Common - Collar Run, we draw the regular player image if the item is on
+function C999_Common_Collar_Run() {
+	BuildInteraction(C999_Common_Collar_CurrentStage);
+	if (PlayerHasLockedInventory("Collar") && (OverridenIntroImage == "")) DrawPlayerImage(150, 50);
+}
+
+// Chapter Common - Collar Click, allow regular interactions and clicking on another item
+function C999_Common_Collar_Click() {
+	OverridenIntroImage = "";
+	ClickInteraction(C999_Common_Collar_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Self Collar
+function C999_Common_Collar_SelfCollar() {
+	if ((Common_BondageAllowed) && (Common_SelfBondageAllowed)) {
+		PlayerRemoveInventory("Collar", 1);
+		PlayerLockInventory("Collar");
+		C999_Common_Collar_HasLooseCollar = PlayerHasInventory("Collar");
+	} else {
+		OverridenIntroText = GetText("BadTiming");
+		C999_Common_Collar_CurrentStage = 0;
+	}
+}
+
+// Chapter Common - Self Uncollar
+function C999_Common_Collar_SelfUncollar() {
+	PlayerUnlockInventory("Collar");
+	PlayerAddInventory("Collar", 1);
+}
+
+// Chapter Common - Show the item image
+function C999_Common_Collar_ShowImage() {
+	OverridenIntroImage = "Collar.jpg";
+}
\ No newline at end of file
diff --git a/C999_Common/Collar/Stage_CN.csv b/C999_Common/Collar/Stage_CN.csv
new file mode 100644
index 0000000000..16063b260f
--- /dev/null
+++ b/C999_Common/Collar/Stage_CN.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(调查项圈)|(1 分钟),"这条项圈可以用挂锁锁起来。|它的大小适合人用,上面绣有""S""字。",0,0,0,
+0,0,0,Common_PlayerNotRestrained,(戴上项圈)|(1 分钟),你把项圈挂在脖子上,|之后扣上扣子。,10,0,0,Self项圈()
+10,0,0,HasLooseCollar,(Inspect the loose|collar.)  (1 minute),"This leather collar could be locked with a padlock.|It's made for humans and has an ""S"" stitched on it.",10,0,0,ShowImage()
+10,0,0,,(伸脖子)|(1 分钟),你伸了伸脖子,让脖子松一松,|但你总能感觉到脖子上的项圈。,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(解开项圈)|(1 分钟),你解开了扣子,脱下项圈.,0,0,0,SelfUn项圈()
diff --git a/C999_Common/Collar/Stage_EN.csv b/C999_Common/Collar/Stage_EN.csv
new file mode 100644
index 0000000000..9e928ed5d2
--- /dev/null
+++ b/C999_Common/Collar/Stage_EN.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the collar.)|(1 minute),"This leather collar could be locked with a padlock.|It's made for humans and has an ""S"" stitched on it.",0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Collar yourself.)|(1 minute),You pull the collar around|your neck and buckle it.,10,0,0,SelfCollar()
+10,0,0,HasLooseCollar,(Inspect the loose|collar.)  (1 minute),"This leather collar could be locked with a padlock.|It's made for humans and has an ""S"" stitched on it.",10,0,0,ShowImage()
+10,0,0,,(Stretch your neck.)|(1 minute),You stretch your neck to make yourself more|comfortable but can always feel the collar.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Uncollar yourself.)|(1 minute),You undo the strap and remove to collar.,0,0,0,SelfUncollar()
diff --git a/C999_Common/Collar/Stage_FR.csv b/C999_Common/Collar/Stage_FR.csv
new file mode 100644
index 0000000000..da6640d56b
--- /dev/null
+++ b/C999_Common/Collar/Stage_FR.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu examines le collier.)|(1 minute),"Le collier pourrait être verrouillé avec un cadenas.|Il est fait pour les humains et a un "" S "" cousu dessus.",0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Tu mets le collier.)|(1 minute),Tu accroches le collier autour |de ton cou et fermes la sangle.,10,0,0,SelfCollar()
+10,0,0,HasLooseCollar,(Tu examines un autre|collier.) (1 minute),"Le collier pourrait être verrouillé avec un cadenas.|Il est fait pour les humains et a un "" S "" cousu dessus.",10,0,0,ShowImage()
+10,0,0,,(Tu étires ton cou.)|(1 minute),Tu étires ton cou pour être plus à l'aise mais|la sensation qu'il te procure reste bien présente.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Tu enlèves le collier.)|(1 minute),Tu retires la sangle et enlèves le collier.,0,0,0,SelfUncollar()
diff --git a/C999_Common/Collar/Text_CN.csv b/C999_Common/Collar/Text_CN.csv
new file mode 100644
index 0000000000..4e999276b2
--- /dev/null
+++ b/C999_Common/Collar/Text_CN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,你幻想了一下自己戴上项圈的样子,|但你意识到现在不该戴上项圈。
diff --git a/C999_Common/Collar/Text_EN.csv b/C999_Common/Collar/Text_EN.csv
new file mode 100644
index 0000000000..38b2fdef63
--- /dev/null
+++ b/C999_Common/Collar/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being collared but realize that|it might not be the best time to collar yourself.
diff --git a/C999_Common/Collar/Text_FR.csv b/C999_Common/Collar/Text_FR.csv
new file mode 100644
index 0000000000..fc85ebc584
--- /dev/null
+++ b/C999_Common/Collar/Text_FR.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,Tu fantasmes sur le collier mais tu réalises que ce|n'est peut être pas le meilleur moment pour le porter.
diff --git a/C999_Common/Crop/Crop.jpg b/C999_Common/Crop/Crop.jpg
new file mode 100644
index 0000000000..bd2738bfb0
Binary files /dev/null and b/C999_Common/Crop/Crop.jpg differ
diff --git a/C999_Common/Crop/Intro_CN.csv b/C999_Common/Crop/Intro_CN.csv
new file mode 100644
index 0000000000..e8cdb64819
--- /dev/null
+++ b/C999_Common/Crop/Intro_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这根皮教鞭特别轻,便于挥动。,Crop.jpg
diff --git a/C999_Common/Crop/Intro_EN.csv b/C999_Common/Crop/Intro_EN.csv
new file mode 100644
index 0000000000..0423b3ef20
--- /dev/null
+++ b/C999_Common/Crop/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This leather crop is pretty light and easy to swing.,Crop.jpg
diff --git a/C999_Common/Crop/Intro_FR.csv b/C999_Common/Crop/Intro_FR.csv
new file mode 100644
index 0000000000..3eee24facb
--- /dev/null
+++ b/C999_Common/Crop/Intro_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Une cravache en cuir assez légère et facile à manier.,Crop.jpg
diff --git a/C999_Common/Crop/Script.js b/C999_Common/Crop/Script.js
new file mode 100644
index 0000000000..b8fec81134
--- /dev/null
+++ b/C999_Common/Crop/Script.js
@@ -0,0 +1,18 @@
+var C999_Common_Crop_CurrentStage = 0;
+
+// Chapter Common - Crop Load
+function C999_Common_Crop_Load() {
+	LeaveIcon = "Leave";
+	LoadInteractions();
+}
+
+// Chapter Common - Crop Run
+function C999_Common_Crop_Run() {
+	BuildInteraction(C999_Common_Crop_CurrentStage);
+}
+
+// Chapter Common - Crop Click, allow regular interactions and clicking on another item
+function C999_Common_Crop_Click() {
+	ClickInteraction(C999_Common_Crop_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
\ No newline at end of file
diff --git a/C999_Common/Crop/Stage_CN.csv b/C999_Common/Crop/Stage_CN.csv
new file mode 100644
index 0000000000..ea736edc74
--- /dev/null
+++ b/C999_Common/Crop/Stage_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(调查)|(1 分钟),这根教鞭用了上好的皮革,被它打到肯定十分疼。|它不会在身体留下永久的伤痕。,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(鞭打自己)|(1 分钟),你打了一下自己的手掌,并感觉到刺痛。|鞭子留下的红印应该很快就会消退。,0,0,0,
diff --git a/C999_Common/Crop/Stage_EN.csv b/C999_Common/Crop/Stage_EN.csv
new file mode 100644
index 0000000000..d2e54b24a7
--- /dev/null
+++ b/C999_Common/Crop/Stage_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),It's made of good leather and must sting pretty|bad on impact.  It will not leave permanent scars.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Whip yourself.)|(1 minute),You whip yourself in your palm and can feel|the string.  The red mark should disappear soon.,0,0,0,
diff --git a/C999_Common/Crop/Stage_FR.csv b/C999_Common/Crop/Stage_FR.csv
new file mode 100644
index 0000000000..36a128752c
--- /dev/null
+++ b/C999_Common/Crop/Stage_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu l'examines.)|(1 minute),Le cuir est de bonne qualité et doit faire très mal lors|de l'impact. Ça ne laissera pas de marque permanente.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Tu te fouettes.)|(1 minute),Tu te donnes un coup sur la main et tu ressens la|claquette. La marque rouge devrait disparaître bientôt.,0,0,0,
diff --git a/C999_Common/Crop/Text_CN.csv b/C999_Common/Crop/Text_CN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/Crop/Text_CN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/Crop/Text_EN.csv b/C999_Common/Crop/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/Crop/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/Crop/Text_FR.csv b/C999_Common/Crop/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/Crop/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/Cuffs/Cuffs.jpg b/C999_Common/Cuffs/Cuffs.jpg
new file mode 100644
index 0000000000..42a9fbad0a
Binary files /dev/null and b/C999_Common/Cuffs/Cuffs.jpg differ
diff --git a/C999_Common/Cuffs/Intro_CN.csv b/C999_Common/Cuffs/Intro_CN.csv
new file mode 100644
index 0000000000..45e67bf6eb
--- /dev/null
+++ b/C999_Common/Cuffs/Intro_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这副手铐看上去挺坚硬的。|你要用钥匙才能解锁。,Cuffs.jpg
+10,0,0,,手铐把你的手锁在背后了。|要是没有钥匙,你做不了什么。,Cuffs.jpg
diff --git a/C999_Common/Cuffs/Intro_EN.csv b/C999_Common/Cuffs/Intro_EN.csv
new file mode 100644
index 0000000000..ce6e8cf59b
--- /dev/null
+++ b/C999_Common/Cuffs/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,These cuffs look pretty strong.|You will need a key to unlock them.,Cuffs.jpg
+10,0,0,,The cuffs are locked behind your back.|There's not much you can do without a key.,Cuffs.jpg
diff --git a/C999_Common/Cuffs/Intro_FR.csv b/C999_Common/Cuffs/Intro_FR.csv
new file mode 100644
index 0000000000..b1692bb8e1
--- /dev/null
+++ b/C999_Common/Cuffs/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Ces menottes ont l'air assez solide.|Tu auras besoin d'une clé pour les ouvrir.,Cuffs.jpg
+10,0,0,,Tu es menottée les mains derrière le dos.|Il n'y a rien que tu puisses faire sans une clé.,Cuffs.jpg
diff --git a/C999_Common/Cuffs/Script.js b/C999_Common/Cuffs/Script.js
new file mode 100644
index 0000000000..509c4596b8
--- /dev/null
+++ b/C999_Common/Cuffs/Script.js
@@ -0,0 +1,56 @@
+var C999_Common_Cuffs_CurrentStage = 0;
+var C999_Common_Cuffs_HasLooseCuffs = false;
+var C999_Common_Cuffs_HasKey = false;
+
+// Chapter Common - Cuffs Load
+function C999_Common_Cuffs_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	C999_Common_Cuffs_HasKey = (PlayerHasInventory("CuffsKey"))
+	LoadInteractions();
+	
+	// Set the correct starting stage
+	if (PlayerHasLockedInventory("Cuffs") == true) C999_Common_Cuffs_CurrentStage = 10;
+	else C999_Common_Cuffs_CurrentStage = 0;
+
+	// If the player has a loose set of cuffs
+	C999_Common_Cuffs_HasLooseCuffs = PlayerHasInventory("Cuffs");
+
+}
+
+// Chapter Common - Cuffs Run, we draw the regular player image if the item is on
+function C999_Common_Cuffs_Run() {
+	BuildInteraction(C999_Common_Cuffs_CurrentStage);
+	if (PlayerHasLockedInventory("Cuffs") && (OverridenIntroImage == "")) DrawPlayerImage(150, 240);
+}
+
+// Chapter Common - Cuffs Click, allow regular interactions and clicking on another item
+function C999_Common_Cuffs_Click() {
+	OverridenIntroImage = "";
+	ClickInteraction(C999_Common_Cuffs_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Self cuffs
+function C999_Common_Cuffs_SelfCuff() {
+	if ((Common_BondageAllowed) && (Common_SelfBondageAllowed)) {
+		PlayerRemoveInventory("Cuffs", 1);
+		PlayerLockInventory("Cuffs");
+		C999_Common_Cuffs_HasLooseCuffs = PlayerHasInventory("Cuffs");
+	} else {
+		OverridenIntroText = GetText("BadTiming");
+		C999_Common_Cuffs_CurrentStage = 0;
+	}
+}
+
+// Chapter Common - Unlock
+function C999_Common_Cuffs_Unlock() {
+	PlayerAddInventory("Cuffs", 1);
+	PlayerUnlockInventory("Cuffs");
+}
+
+// Chapter Common - Show the item image
+function C999_Common_Cuffs_ShowImage() {
+	OverridenIntroImage = "Cuffs.jpg";
+}
\ No newline at end of file
diff --git a/C999_Common/Cuffs/Stage_CN.csv b/C999_Common/Cuffs/Stage_CN.csv
new file mode 100644
index 0000000000..dc55f480fc
--- /dev/null
+++ b/C999_Common/Cuffs/Stage_CN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(调查)|(1 分钟),手铐十分坚固,|要是没有钥匙,任谁也不能逃脱。,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(戴上手铐)|(1 分钟),你把手铐放到身后。当手铐咔嗒一声锁上,|你感觉到一股电流走遍全身。,10,0,0,SelfCuff()
+10,0,0,HasLooseCuffs,(Inspect the loose cuffs.)|(1 minute),"You clumsily inspect the cuffs in your restrains.|They seem strong, nobody could espace without the key.",10,0,0,ShowImage()
+10,0,0,,(尝试脱下手铐)|(1 分钟),你尝试脱下手铐,|然而你失败了。,10,0,0,
+10,0,0,,(尝试砸开手铐)|(1 分钟),你尝试砸开手铐,|然而手铐毫发无损。,10,0,0,
+10,0,0,HasKey,(解开手铐)|(1 分钟),你笨拙地试了一会,|终于解开了锁。,0,0,0,Unlock()
diff --git a/C999_Common/Cuffs/Stage_EN.csv b/C999_Common/Cuffs/Stage_EN.csv
new file mode 100644
index 0000000000..f7f0eba6d5
--- /dev/null
+++ b/C999_Common/Cuffs/Stage_EN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect them.)|(1 minute),"They are pretty strong, there's no|way anyone could escape without a key.",0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Cuff yourself.)|(1 minute),You snap the cuffs behind your back.  Shivers|run down your spine when you hear the last click.,10,0,0,SelfCuff()
+10,0,0,HasLooseCuffs,(Inspect the loose cuffs.)|(1 minute),"You clumsily inspect the cuffs in your restrains.|They seem strong, nobody could escape without the key.",10,0,0,ShowImage()
+10,0,0,,(Try to slip out.)|(1 minute),You try to slip your hands out of|the cuffs but you fail miserably.,10,0,0,
+10,0,0,,(Try to break them.)|(1 minute),You try to break the cuffs|but you can't make a scratch.,10,0,0,
+10,0,0,HasKey,(Unlock them.)|(1 minute),You fumble with the key for a little|while but finally unlock yourself.,0,0,0,Unlock()
diff --git a/C999_Common/Cuffs/Stage_FR.csv b/C999_Common/Cuffs/Stage_FR.csv
new file mode 100644
index 0000000000..b479628aa7
--- /dev/null
+++ b/C999_Common/Cuffs/Stage_FR.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu les examines.)|(1 minute),"Elles ont l'air assez solide, Il n'y a aucun|moyen de se libérer sans une clé.",0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Tu te menottes.)|(1 minute),Tu te menottes les mains derrière ton dos. Tu ressens|des frémissements quand tu entends le dernier clic.,10,0,0,SelfCuff()
+10,0,0,HasLooseCuffs,(Tu examines une autre|paire) (1 minute),"Difficilement, tu examines les menottes de métal.|Elles sont solide, on ne peut pas se libérer sans la clé.",10,0,0,ShowImage()
+10,0,0,,(Tu essayes de les|enlever.) (1 minute),Tu essayes de faire glisser tes mains en dehors|des menottes mais tu échoues lamentablement.,10,0,0,
+10,0,0,,(Tu essayes de les|casser.) (1 minute),Tu essayes de casser les menottes|mais elles n'ont pas une égratignure.,10,0,0,
+10,0,0,HasKey,(Tu te libères)|(1 minute),Tu farfouilles un moment pour trouver|la clé et tu te libères.,0,0,0,Unlock()
diff --git a/C999_Common/Cuffs/Text_CN.csv b/C999_Common/Cuffs/Text_CN.csv
new file mode 100644
index 0000000000..0c830c85bd
--- /dev/null
+++ b/C999_Common/Cuffs/Text_CN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,你幻想了一下自己戴上手铐的样子,|但你意识到现在不该戴上手铐。
diff --git a/C999_Common/Cuffs/Text_EN.csv b/C999_Common/Cuffs/Text_EN.csv
new file mode 100644
index 0000000000..dac28c3650
--- /dev/null
+++ b/C999_Common/Cuffs/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being cuffed but realize that|it might not be the best time to cuff yourself.
diff --git a/C999_Common/Cuffs/Text_FR.csv b/C999_Common/Cuffs/Text_FR.csv
new file mode 100644
index 0000000000..1f57c0ff7f
--- /dev/null
+++ b/C999_Common/Cuffs/Text_FR.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,Tu fantasmes sur les menottes mais tu réalises que ce|n'est peut être pas le meilleur moment pour les mettre.
diff --git a/C999_Common/CuffsKey/CuffsKey.jpg b/C999_Common/CuffsKey/CuffsKey.jpg
new file mode 100644
index 0000000000..4529a8706f
Binary files /dev/null and b/C999_Common/CuffsKey/CuffsKey.jpg differ
diff --git a/C999_Common/CuffsKey/Intro_CN.csv b/C999_Common/CuffsKey/Intro_CN.csv
new file mode 100644
index 0000000000..55979210dd
--- /dev/null
+++ b/C999_Common/CuffsKey/Intro_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这把钥匙应该能解开大部分的手铐。,CuffsKey.jpg
diff --git a/C999_Common/CuffsKey/Intro_EN.csv b/C999_Common/CuffsKey/Intro_EN.csv
new file mode 100644
index 0000000000..bab5adff6c
--- /dev/null
+++ b/C999_Common/CuffsKey/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This key should work on most cuffs.,CuffsKey.jpg
diff --git a/C999_Common/CuffsKey/Intro_FR.csv b/C999_Common/CuffsKey/Intro_FR.csv
new file mode 100644
index 0000000000..b0676acbf9
--- /dev/null
+++ b/C999_Common/CuffsKey/Intro_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Cette clé devrait fonctionner|sur la plupart des menottes.,CuffsKey.jpg
diff --git a/C999_Common/CuffsKey/Script.js b/C999_Common/CuffsKey/Script.js
new file mode 100644
index 0000000000..e540c6260e
--- /dev/null
+++ b/C999_Common/CuffsKey/Script.js
@@ -0,0 +1,27 @@
+var C999_Common_CuffsKey_CurrentStage = 0;
+var C999_Common_CuffsKey_IsCuffed = false;
+
+// Chapter Common - CuffsKey Load
+function C999_Common_CuffsKey_Load() {
+	LeaveIcon = "Leave";
+	C999_Common_CuffsKey_IsCuffed = (PlayerHasLockedInventory("Cuffs"))
+	LoadInteractions();
+}
+
+// Chapter Common - CuffsKey Run
+function C999_Common_CuffsKey_Run() {
+	BuildInteraction(C999_Common_CuffsKey_CurrentStage);
+}
+
+// Chapter Common - CuffsKey Click, allow regular interactions and clicking on another item
+function C999_Common_CuffsKey_Click() {
+	ClickInteraction(C999_Common_CuffsKey_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - CuffsKey Unlock
+function C999_Common_CuffsKey_Unlock() {
+	PlayerAddInventory("Cuffs", 1);
+	PlayerUnlockInventory("Cuffs");
+	C999_Common_CuffsKey_IsCuffed = false;
+}
\ No newline at end of file
diff --git a/C999_Common/CuffsKey/Stage_CN.csv b/C999_Common/CuffsKey/Stage_CN.csv
new file mode 100644
index 0000000000..3145abec6d
--- /dev/null
+++ b/C999_Common/CuffsKey/Stage_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(调查)|(1 分钟),钥匙是用不锈钢造的,|应该能解开大部分的手铐。,0,0,0,
+0,0,0,IsCuffed,(解开手铐)|(1 分钟),你笨拙地试了一会,|终于解开了锁。,0,0,0,Unlock()
diff --git a/C999_Common/CuffsKey/Stage_EN.csv b/C999_Common/CuffsKey/Stage_EN.csv
new file mode 100644
index 0000000000..87876ac307
--- /dev/null
+++ b/C999_Common/CuffsKey/Stage_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),It's made of stainless steel and|should work on most handcuffs.,0,0,0,
+0,0,0,IsCuffed,(Unlock your cuffs.)|(1 minute),You fumble with the key for a little|while but finally unlock yourself.,0,0,0,Unlock()
diff --git a/C999_Common/CuffsKey/Stage_FR.csv b/C999_Common/CuffsKey/Stage_FR.csv
new file mode 100644
index 0000000000..7583893552
--- /dev/null
+++ b/C999_Common/CuffsKey/Stage_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu l'examines.)|(1 minute), Elle est en acier inoxydable et|devrait fonctionner sur la plupart des menottes.,0,0,0,
+0,0,0,IsCuffed,(Tu te libères.)|(1 minute),Tu farfouilles un moment pour trouver|la clé et tu te libères.,0,0,0,Unlock()
diff --git a/C999_Common/CuffsKey/Text_CN.csv b/C999_Common/CuffsKey/Text_CN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/CuffsKey/Text_CN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/CuffsKey/Text_EN.csv b/C999_Common/CuffsKey/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/CuffsKey/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/CuffsKey/Text_FR.csv b/C999_Common/CuffsKey/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/CuffsKey/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/DoubleOpenGag/DoubleOpenGag.jpg b/C999_Common/DoubleOpenGag/DoubleOpenGag.jpg
new file mode 100644
index 0000000000..582ad4709e
Binary files /dev/null and b/C999_Common/DoubleOpenGag/DoubleOpenGag.jpg differ
diff --git a/C999_Common/DoubleOpenGag/Intro_CN.csv b/C999_Common/DoubleOpenGag/Intro_CN.csv
new file mode 100644
index 0000000000..807545ca6d
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Intro_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This gag has a double sided metal mouth piece|with two sets of leather straps.,DoubleOpenGag.jpg
+10,0,0,,"The gag holds your mouth open. Its hard to talk,|but you can stick your tongue through it.",DoubleOpenGag.jpg
diff --git a/C999_Common/DoubleOpenGag/Intro_EN.csv b/C999_Common/DoubleOpenGag/Intro_EN.csv
new file mode 100644
index 0000000000..807545ca6d
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This gag has a double sided metal mouth piece|with two sets of leather straps.,DoubleOpenGag.jpg
+10,0,0,,"The gag holds your mouth open. Its hard to talk,|but you can stick your tongue through it.",DoubleOpenGag.jpg
diff --git a/C999_Common/DoubleOpenGag/Intro_FR.csv b/C999_Common/DoubleOpenGag/Intro_FR.csv
new file mode 100644
index 0000000000..807545ca6d
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This gag has a double sided metal mouth piece|with two sets of leather straps.,DoubleOpenGag.jpg
+10,0,0,,"The gag holds your mouth open. Its hard to talk,|but you can stick your tongue through it.",DoubleOpenGag.jpg
diff --git a/C999_Common/DoubleOpenGag/Script.js b/C999_Common/DoubleOpenGag/Script.js
new file mode 100644
index 0000000000..b80a89c3ca
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Script.js
@@ -0,0 +1,45 @@
+var C999_Common_DoubleOpenGag_CurrentStage = 0;
+
+// Chapter Common - DoubleOpenGag Load
+function C999_Common_DoubleOpenGag_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LoadInteractions();
+
+	// Set the correct stage
+    if (PlayerHasLockedInventory("DoubleOpenGag") == true) C999_Common_DoubleOpenGag_CurrentStage = 10;
+    else C999_Common_DoubleOpenGag_CurrentStage = 0;
+
+}
+
+// Chapter Common - DoubleOpenGag Run, we draw the regular player image if the item is on
+function C999_Common_DoubleOpenGag_Run() {
+    BuildInteraction(C999_Common_DoubleOpenGag_CurrentStage);
+    if (PlayerHasLockedInventory("DoubleOpenGag")) DrawPlayerImage(150, 0);
+}
+
+// Chapter Common - DoubleOpenGag Click, allow regular interactions and clicking on another item
+function C999_Common_DoubleOpenGag_Click() {
+    ClickInteraction(C999_Common_DoubleOpenGag_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Self DoubleOpenGag
+function C999_Common_DoubleOpenGag_SelfGag() {
+	if ((Common_BondageAllowed) && (Common_SelfBondageAllowed)) {
+        PlayerUnlockInventory("TapeGag");
+        PlayerUnlockInventory("BallGag");
+        PlayerRemoveInventory("DoubleOpenGag", 1);
+        PlayerLockInventory("DoubleOpenGag");
+	} else {
+		OverridenIntroText = GetText("BadTiming");
+		C999_Common_DoubleOpenGag_CurrentStage = 0;
+	}
+}
+
+// Chapter Common - Self Ung«g
+function C999_Common_DoubleOpenGag_SelfUngag() {
+    PlayerUnlockInventory("DoubleOpenGag");
+    PlayerAddInventory("DoubleOpenGag", 1);
+}
\ No newline at end of file
diff --git a/C999_Common/DoubleOpenGag/Stage_CN.csv b/C999_Common/DoubleOpenGag/Stage_CN.csv
new file mode 100644
index 0000000000..e4a9c79f68
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Stage_CN.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the gag.)|(1 minute),This gag holds two peoples open mouths together.|They will have to do non-verbal communication.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Gag yourself.)|(1 minute),You push the mouth piece in and buckles the straps. You need someone else to share it though.,10,0,0,SelfGag()
+10,0,0,,(Chew on the mouth piece.)|(1 minute),"You try chewing on the gag,|but the metal just hurts your teeth.",10,0,0,
+10,0,0,,(Try to spit the mouth piece.)|(1 minute),"You try to spit the mouth piece, but the straps|hold it firmly in place.  You'll need your hands.",10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Ungag yourself.)|(1 minute),"You undo all the straps, pull out|the mouth piece and can now talk properly again.",0,0,0,SelfUngag()
diff --git a/C999_Common/DoubleOpenGag/Stage_EN.csv b/C999_Common/DoubleOpenGag/Stage_EN.csv
new file mode 100644
index 0000000000..e4a9c79f68
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Stage_EN.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the gag.)|(1 minute),This gag holds two peoples open mouths together.|They will have to do non-verbal communication.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Gag yourself.)|(1 minute),You push the mouth piece in and buckles the straps. You need someone else to share it though.,10,0,0,SelfGag()
+10,0,0,,(Chew on the mouth piece.)|(1 minute),"You try chewing on the gag,|but the metal just hurts your teeth.",10,0,0,
+10,0,0,,(Try to spit the mouth piece.)|(1 minute),"You try to spit the mouth piece, but the straps|hold it firmly in place.  You'll need your hands.",10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Ungag yourself.)|(1 minute),"You undo all the straps, pull out|the mouth piece and can now talk properly again.",0,0,0,SelfUngag()
diff --git a/C999_Common/DoubleOpenGag/Stage_FR.csv b/C999_Common/DoubleOpenGag/Stage_FR.csv
new file mode 100644
index 0000000000..e4a9c79f68
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Stage_FR.csv
@@ -0,0 +1,6 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the gag.)|(1 minute),This gag holds two peoples open mouths together.|They will have to do non-verbal communication.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Gag yourself.)|(1 minute),You push the mouth piece in and buckles the straps. You need someone else to share it though.,10,0,0,SelfGag()
+10,0,0,,(Chew on the mouth piece.)|(1 minute),"You try chewing on the gag,|but the metal just hurts your teeth.",10,0,0,
+10,0,0,,(Try to spit the mouth piece.)|(1 minute),"You try to spit the mouth piece, but the straps|hold it firmly in place.  You'll need your hands.",10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Ungag yourself.)|(1 minute),"You undo all the straps, pull out|the mouth piece and can now talk properly again.",0,0,0,SelfUngag()
diff --git a/C999_Common/DoubleOpenGag/Text_CN.csv b/C999_Common/DoubleOpenGag/Text_CN.csv
new file mode 100644
index 0000000000..63bb551e2b
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Text_CN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being gagged but realize that|it might not be the best time to gag yourself.
diff --git a/C999_Common/DoubleOpenGag/Text_EN.csv b/C999_Common/DoubleOpenGag/Text_EN.csv
new file mode 100644
index 0000000000..63bb551e2b
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being gagged but realize that|it might not be the best time to gag yourself.
diff --git a/C999_Common/DoubleOpenGag/Text_FR.csv b/C999_Common/DoubleOpenGag/Text_FR.csv
new file mode 100644
index 0000000000..63bb551e2b
--- /dev/null
+++ b/C999_Common/DoubleOpenGag/Text_FR.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being gagged but realize that|it might not be the best time to gag yourself.
diff --git a/C999_Common/GameLoad/Intro_CN.csv b/C999_Common/GameLoad/Intro_CN.csv
new file mode 100644
index 0000000000..44a0e2b248
--- /dev/null
+++ b/C999_Common/GameLoad/Intro_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,你要加載哪個存檔?,Load.jpg
diff --git a/C999_Common/GameLoad/Intro_EN.csv b/C999_Common/GameLoad/Intro_EN.csv
new file mode 100644
index 0000000000..3aeaed95bd
--- /dev/null
+++ b/C999_Common/GameLoad/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Select a slot to load a game.,Load.jpg
diff --git a/C999_Common/GameLoad/Intro_FR.csv b/C999_Common/GameLoad/Intro_FR.csv
new file mode 100644
index 0000000000..1ca2cdd650
--- /dev/null
+++ b/C999_Common/GameLoad/Intro_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Sélectionnez un emplacement|pour charger une partie.,Load.jpg
diff --git a/C999_Common/GameLoad/Load.jpg b/C999_Common/GameLoad/Load.jpg
new file mode 100644
index 0000000000..de2c75e4a3
Binary files /dev/null and b/C999_Common/GameLoad/Load.jpg differ
diff --git a/C999_Common/GameLoad/Script.js b/C999_Common/GameLoad/Script.js
new file mode 100644
index 0000000000..a3fbf7446b
--- /dev/null
+++ b/C999_Common/GameLoad/Script.js
@@ -0,0 +1,34 @@
+var C999_Common_GameLoad_CurrentStage = 0;
+
+// Chapter Common - GameLoad Load
+function C999_Common_GameLoad_Load() {
+	LeaveIcon = "";
+	LoadInteractions();
+	StopTimer(7.6666667 * 60 * 60 * 1000);
+}
+
+// Chapter Common - GameLoad Run
+function C999_Common_GameLoad_Run() {
+	
+	// Build the game loading screen
+	SaveStateSlotSummary();
+	BuildInteraction(C999_Common_GameLoad_CurrentStage);
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawText(ctx, GetText("LoadGame"), 900, 420, "black");
+	
+}
+
+// Chapter Common - GameLoad Click
+function C999_Common_GameLoad_Click() {
+	ClickInteraction(C999_Common_GameLoad_CurrentStage);
+}
+
+// Chapter Common - GameLoad, load the game on a specific slot
+function C999_Common_GameLoad_LoadGame(SlotNumber) {
+	LoadState(SlotNumber);
+}
+
+// Chapter Common - GameLoad, go back to the main menu
+function C999_Common_GameLoad_MainMenu() {
+	SetScene("C000_Intro", "ChapterSelect");
+}
diff --git a/C999_Common/GameLoad/Stage_CN.csv b/C999_Common/GameLoad/Stage_CN.csv
new file mode 100644
index 0000000000..f3084cebba
--- /dev/null
+++ b/C999_Common/GameLoad/Stage_CN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,主菜單,,0,0,0,MainMenu()
+0,0,0,,存檔1,無法加載存檔1。,0,0,0,LoadGame(1)
+0,0,0,,存檔2,無法加載存檔2。,0,0,0,LoadGame(2)
+0,0,0,,存檔3,無法加載存檔3。,0,0,0,LoadGame(3)
+0,0,0,,存檔4,無法加載存檔4。,0,0,0,LoadGame(4)
+0,0,0,,存檔5,無法加載存檔5。,0,0,0,LoadGame(5)
diff --git a/C999_Common/GameLoad/Stage_EN.csv b/C999_Common/GameLoad/Stage_EN.csv
new file mode 100644
index 0000000000..75b6ec5921
--- /dev/null
+++ b/C999_Common/GameLoad/Stage_EN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Slot 1,Slot 1 cannot be loaded.,0,0,0,LoadGame(1)
+0,0,0,,Slot 2,Slot 2 cannot be loaded.,0,0,0,LoadGame(2)
+0,0,0,,Slot 3,Slot 3 cannot be loaded.,0,0,0,LoadGame(3)
+0,0,0,,Slot 4,Slot 4 cannot be loaded.,0,0,0,LoadGame(4)
+0,0,0,,Slot 5,Slot 5 cannot be loaded.,0,0,0,LoadGame(5)
+0,0,0,,Main Menu,,0,0,0,MainMenu()
diff --git a/C999_Common/GameLoad/Stage_FR.csv b/C999_Common/GameLoad/Stage_FR.csv
new file mode 100644
index 0000000000..70a126402f
--- /dev/null
+++ b/C999_Common/GameLoad/Stage_FR.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Slot 1,L'emplacement 1 ne peut être chargé.,0,0,0,LoadGame(1)
+0,0,0,,Slot 2,L'emplacement 2 ne peut être chargé.,0,0,0,LoadGame(2)
+0,0,0,,Slot 3,L'emplacement 3 ne peut être chargé.,0,0,0,LoadGame(3)
+0,0,0,,Slot 4,L'emplacement 4 ne peut être chargé.,0,0,0,LoadGame(4)
+0,0,0,,Slot 5,L'emplacement 5 ne peut être chargé.,0,0,0,LoadGame(5)
+0,0,0,,Menu principal,,0,0,0,MainMenu()
diff --git a/C999_Common/GameLoad/Text_CN.csv b/C999_Common/GameLoad/Text_CN.csv
new file mode 100644
index 0000000000..6da516213d
--- /dev/null
+++ b/C999_Common/GameLoad/Text_CN.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Slot,Slot
+Chapter,Ch.
+LoadGame,Load a game
+NoSaveOnSlot,No save on slot
diff --git a/C999_Common/GameLoad/Text_EN.csv b/C999_Common/GameLoad/Text_EN.csv
new file mode 100644
index 0000000000..6da516213d
--- /dev/null
+++ b/C999_Common/GameLoad/Text_EN.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Slot,Slot
+Chapter,Ch.
+LoadGame,Load a game
+NoSaveOnSlot,No save on slot
diff --git a/C999_Common/GameLoad/Text_FR.csv b/C999_Common/GameLoad/Text_FR.csv
new file mode 100644
index 0000000000..4115f99a03
--- /dev/null
+++ b/C999_Common/GameLoad/Text_FR.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Slot,Partie
+Chapter,Ch.
+LoadGame,Charger une partie
+NoSaveOnSlot,Aucun partie sur
diff --git a/C999_Common/GameSave/Intro_CN.csv b/C999_Common/GameSave/Intro_CN.csv
new file mode 100644
index 0000000000..1e0801c0dd
--- /dev/null
+++ b/C999_Common/GameSave/Intro_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,你要存檔嗎?|選擇存檔位置或者繼續遊戲。,Save.jpg
diff --git a/C999_Common/GameSave/Intro_EN.csv b/C999_Common/GameSave/Intro_EN.csv
new file mode 100644
index 0000000000..54d4eb7abe
--- /dev/null
+++ b/C999_Common/GameSave/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Would you like to save your game?|Select a slot to save or click on continue.,Save.jpg
diff --git a/C999_Common/GameSave/Intro_FR.csv b/C999_Common/GameSave/Intro_FR.csv
new file mode 100644
index 0000000000..1a87cca7b4
--- /dev/null
+++ b/C999_Common/GameSave/Intro_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Voulez-vous sauvegarder votre progression ?|Sélectionnez un emplacement ou continuer.,Save.jpg
diff --git a/C999_Common/GameSave/Save.jpg b/C999_Common/GameSave/Save.jpg
new file mode 100644
index 0000000000..de2c75e4a3
Binary files /dev/null and b/C999_Common/GameSave/Save.jpg differ
diff --git a/C999_Common/GameSave/Script.js b/C999_Common/GameSave/Script.js
new file mode 100644
index 0000000000..9bdb31320c
--- /dev/null
+++ b/C999_Common/GameSave/Script.js
@@ -0,0 +1,36 @@
+var C999_Common_GameSave_CurrentStage = 0;
+
+// Chapter Common - GameSave Load
+function C999_Common_GameSave_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "";
+	LoadInteractions();
+
+}
+
+// Chapter Common - GameSave Run
+function C999_Common_GameSave_Run() {
+	
+	// Build the game saving screen	
+	SaveStateSlotSummary();
+	BuildInteraction(C999_Common_GameSave_CurrentStage);
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawText(ctx, GetText("SaveGame"), 900, 420, "black");
+	
+}
+
+// Chapter Common - GameSave Click
+function C999_Common_GameSave_Click() {
+	ClickInteraction(C999_Common_GameSave_CurrentStage);
+}
+
+// Chapter Common - GameSave, save the game on a specific slot
+function C999_Common_GameSave_SaveGame(SlotNumber) {
+	SaveState(SlotNumber);
+}
+
+// Chapter Common - GameSave, save the game on a specific slot
+function C999_Common_GameSave_Continue() {
+	SetScene(SaveChapter, SaveScreen);
+}
diff --git a/C999_Common/GameSave/Stage_CN.csv b/C999_Common/GameSave/Stage_CN.csv
new file mode 100644
index 0000000000..c49e5b83a8
--- /dev/null
+++ b/C999_Common/GameSave/Stage_CN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,存檔1,已存檔至存檔1。,0,0,0,SaveGame(1)
+0,0,0,,存檔2,已存檔至存檔2。,0,0,0,SaveGame(2)
+0,0,0,,存檔3,已存檔至存檔3。,0,0,0,SaveGame(3)
+0,0,0,,存檔4,已存檔至存檔4。,0,0,0,SaveGame(4)
+0,0,0,,存檔5,已存檔至存檔5。,0,0,0,SaveGame(5)
+0,0,0,,繼續遊戲,,0,0,0,Continue()
diff --git a/C999_Common/GameSave/Stage_EN.csv b/C999_Common/GameSave/Stage_EN.csv
new file mode 100644
index 0000000000..d8a058cd4a
--- /dev/null
+++ b/C999_Common/GameSave/Stage_EN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Slot 1,Slot 1 was saved.,0,0,0,SaveGame(1)
+0,0,0,,Slot 2,Slot 2 was saved.,0,0,0,SaveGame(2)
+0,0,0,,Slot 3,Slot 3 was saved.,0,0,0,SaveGame(3)
+0,0,0,,Slot 4,Slot 4 was saved.,0,0,0,SaveGame(4)
+0,0,0,,Slot 5,Slot 5 was saved.,0,0,0,SaveGame(5)
+0,0,0,,Continue,,0,0,0,Continue()
diff --git a/C999_Common/GameSave/Stage_FR.csv b/C999_Common/GameSave/Stage_FR.csv
new file mode 100644
index 0000000000..c1d133d501
--- /dev/null
+++ b/C999_Common/GameSave/Stage_FR.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Slot 1,Sauvegarde effectuée sur l'emplacement 1.,0,0,0,SaveGame(1)
+0,0,0,,Slot 2,Sauvegarde effectuée sur l'emplacement 2.,0,0,0,SaveGame(2)
+0,0,0,,Slot 3,Sauvegarde effectuée sur l'emplacement 3.,0,0,0,SaveGame(3)
+0,0,0,,Slot 4,Sauvegarde effectuée sur l'emplacement 4.,0,0,0,SaveGame(4)
+0,0,0,,Slot 5,Sauvegarde effectuée sur l'emplacement 5.,0,0,0,SaveGame(5)
+0,0,0,,Continuer,,0,0,0,Continue()
diff --git a/C999_Common/GameSave/Text_CN.csv b/C999_Common/GameSave/Text_CN.csv
new file mode 100644
index 0000000000..74ffcd939f
--- /dev/null
+++ b/C999_Common/GameSave/Text_CN.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Slot,Slot
+Chapter,Ch.
+SaveGame,Save your game
+NoSaveOnSlot,No save on slot
diff --git a/C999_Common/GameSave/Text_EN.csv b/C999_Common/GameSave/Text_EN.csv
new file mode 100644
index 0000000000..74ffcd939f
--- /dev/null
+++ b/C999_Common/GameSave/Text_EN.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Slot,Slot
+Chapter,Ch.
+SaveGame,Save your game
+NoSaveOnSlot,No save on slot
diff --git a/C999_Common/GameSave/Text_FR.csv b/C999_Common/GameSave/Text_FR.csv
new file mode 100644
index 0000000000..40bd2712cb
--- /dev/null
+++ b/C999_Common/GameSave/Text_FR.csv
@@ -0,0 +1,5 @@
+Tag,Content
+Slot,Partie
+Chapter,Ch.
+SaveGame,Sauvegarder votre partie
+NoSaveOnSlot,Aucune partie sur
diff --git a/C999_Common/MetalSheet/Intro_CN.csv b/C999_Common/MetalSheet/Intro_CN.csv
new file mode 100644
index 0000000000..e0218a011a
--- /dev/null
+++ b/C999_Common/MetalSheet/Intro_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这是你拧开松动的螺钉,|从刑具取下的铁片。,MetalSheet.jpg
diff --git a/C999_Common/MetalSheet/Intro_EN.csv b/C999_Common/MetalSheet/Intro_EN.csv
new file mode 100644
index 0000000000..6c7b56a241
--- /dev/null
+++ b/C999_Common/MetalSheet/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,A metal sheet that was loosely|bolted to a torture device.,MetalSheet.jpg
diff --git a/C999_Common/MetalSheet/Intro_FR.csv b/C999_Common/MetalSheet/Intro_FR.csv
new file mode 100644
index 0000000000..1bf32fa1fd
--- /dev/null
+++ b/C999_Common/MetalSheet/Intro_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Une feuille de métal qui était boulonnée|à un dispositif de torture.,MetalSheet.jpg
diff --git a/C999_Common/MetalSheet/MetalSheet.jpg b/C999_Common/MetalSheet/MetalSheet.jpg
new file mode 100644
index 0000000000..eddd32eb3b
Binary files /dev/null and b/C999_Common/MetalSheet/MetalSheet.jpg differ
diff --git a/C999_Common/MetalSheet/Script.js b/C999_Common/MetalSheet/Script.js
new file mode 100644
index 0000000000..cb88f6b1d7
--- /dev/null
+++ b/C999_Common/MetalSheet/Script.js
@@ -0,0 +1,18 @@
+var C999_Common_MetalSheet_CurrentStage = 0;
+
+// Chapter Common - MetalSheet Load
+function C999_Common_MetalSheet_Load() {
+	LeaveIcon = "Leave";
+	LoadInteractions();
+}
+
+// Chapter Common - MetalSheet Run
+function C999_Common_MetalSheet_Run() {
+	BuildInteraction(C999_Common_MetalSheet_CurrentStage);
+}
+
+// Chapter Common - MetalSheet Click, allow regular interactions and clicking on another item
+function C999_Common_MetalSheet_Click() {
+	ClickInteraction(C999_Common_MetalSheet_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
\ No newline at end of file
diff --git a/C999_Common/MetalSheet/Stage_CN.csv b/C999_Common/MetalSheet/Stage_CN.csv
new file mode 100644
index 0000000000..0fe79e142c
--- /dev/null
+++ b/C999_Common/MetalSheet/Stage_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(调查)|(1 分钟),这块铁片有些旧,|但边缘依然锋利。,0,0,0,
diff --git a/C999_Common/MetalSheet/Stage_EN.csv b/C999_Common/MetalSheet/Stage_EN.csv
new file mode 100644
index 0000000000..9c2b0e79a3
--- /dev/null
+++ b/C999_Common/MetalSheet/Stage_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),This metal sheet is kind of old|but the sides are still pretty sharp.,0,0,0,
diff --git a/C999_Common/MetalSheet/Stage_FR.csv b/C999_Common/MetalSheet/Stage_FR.csv
new file mode 100644
index 0000000000..f5c8cfb065
--- /dev/null
+++ b/C999_Common/MetalSheet/Stage_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu l'examines.)|(1 minute),Cette feuille de métal est un peu vieille|mais les côtés sont encore très pointu.,0,0,0,
diff --git a/C999_Common/MetalSheet/Text_CN.csv b/C999_Common/MetalSheet/Text_CN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/MetalSheet/Text_CN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/MetalSheet/Text_EN.csv b/C999_Common/MetalSheet/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/MetalSheet/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/MetalSheet/Text_FR.csv b/C999_Common/MetalSheet/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/MetalSheet/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/Player/ChastityBelt_Cuffs_Collar_BallGag.jpg b/C999_Common/Player/ChastityBelt_Cuffs_Collar_BallGag.jpg
new file mode 100644
index 0000000000..3809854383
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Cuffs_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Cuffs_Collar_ClothGag.jpg b/C999_Common/Player/ChastityBelt_Cuffs_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..4e7fdb47e9
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Cuffs_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Cuffs_Collar_NoGag.jpg b/C999_Common/Player/ChastityBelt_Cuffs_Collar_NoGag.jpg
new file mode 100644
index 0000000000..c0542e29c4
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Cuffs_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Cuffs_Collar_TapeGag.jpg b/C999_Common/Player/ChastityBelt_Cuffs_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..9ddc6b193e
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Cuffs_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_BallGag.jpg b/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..c0fa353305
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_ClothGag.jpg b/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..72e270082b
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_NoGag.jpg b/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..54bbe6e2cd
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_TapeGag.jpg b/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..bdb45fcdbb
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Cuffs_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_NoBondage_Collar_BallGag.jpg b/C999_Common/Player/ChastityBelt_NoBondage_Collar_BallGag.jpg
new file mode 100644
index 0000000000..99debd8782
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_NoBondage_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_NoBondage_Collar_ClothGag.jpg b/C999_Common/Player/ChastityBelt_NoBondage_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..5d50ea0f05
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_NoBondage_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_NoBondage_Collar_NoGag.jpg b/C999_Common/Player/ChastityBelt_NoBondage_Collar_NoGag.jpg
new file mode 100644
index 0000000000..ec78d8625d
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_NoBondage_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_NoBondage_Collar_TapeGag.jpg b/C999_Common/Player/ChastityBelt_NoBondage_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..012391ec36
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_NoBondage_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_BallGag.jpg b/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..91fbff0a78
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_ClothGag.jpg b/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..7fd28d7b83
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_NoGag.jpg b/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..d0a3d0f5d6
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_TapeGag.jpg b/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..d5047e3b1b
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_NoBondage_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Rope_Collar_BallGag.jpg b/C999_Common/Player/ChastityBelt_Rope_Collar_BallGag.jpg
new file mode 100644
index 0000000000..8da85c451f
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Rope_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Rope_Collar_ClothGag.jpg b/C999_Common/Player/ChastityBelt_Rope_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..98d13d75ff
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Rope_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Rope_Collar_NoGag.jpg b/C999_Common/Player/ChastityBelt_Rope_Collar_NoGag.jpg
new file mode 100644
index 0000000000..e844478668
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Rope_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Rope_Collar_TapeGag.jpg b/C999_Common/Player/ChastityBelt_Rope_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..f1d4c02e36
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Rope_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Rope_NoCollar_BallGag.jpg b/C999_Common/Player/ChastityBelt_Rope_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..8a627c2816
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Rope_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Rope_NoCollar_ClothGag.jpg b/C999_Common/Player/ChastityBelt_Rope_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..10f5d418c6
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Rope_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Rope_NoCollar_NoGag.jpg b/C999_Common/Player/ChastityBelt_Rope_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..1657af2c51
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Rope_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/ChastityBelt_Rope_NoCollar_TapeGag.jpg b/C999_Common/Player/ChastityBelt_Rope_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..61760d7c78
Binary files /dev/null and b/C999_Common/Player/ChastityBelt_Rope_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Clothed_Cuffs_BallGag.jpg b/C999_Common/Player/Clothed_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..32f24143e9
Binary files /dev/null and b/C999_Common/Player/Clothed_Cuffs_BallGag.jpg differ
diff --git a/C999_Common/Player/Clothed_Cuffs_ClothGag.jpg b/C999_Common/Player/Clothed_Cuffs_ClothGag.jpg
new file mode 100644
index 0000000000..2e323b0837
Binary files /dev/null and b/C999_Common/Player/Clothed_Cuffs_ClothGag.jpg differ
diff --git a/C999_Common/Player/Clothed_Cuffs_DoubleOpenGag.jpg b/C999_Common/Player/Clothed_Cuffs_DoubleOpenGag.jpg
new file mode 100644
index 0000000000..67d901c4ba
Binary files /dev/null and b/C999_Common/Player/Clothed_Cuffs_DoubleOpenGag.jpg differ
diff --git a/C999_Common/Player/Clothed_Cuffs_NoGag.jpg b/C999_Common/Player/Clothed_Cuffs_NoGag.jpg
new file mode 100644
index 0000000000..e660a4c562
Binary files /dev/null and b/C999_Common/Player/Clothed_Cuffs_NoGag.jpg differ
diff --git a/C999_Common/Player/Clothed_Cuffs_TapeGag.jpg b/C999_Common/Player/Clothed_Cuffs_TapeGag.jpg
new file mode 100644
index 0000000000..62b94f2245
Binary files /dev/null and b/C999_Common/Player/Clothed_Cuffs_TapeGag.jpg differ
diff --git a/C999_Common/Player/Clothed_NoBondage_BallGag.jpg b/C999_Common/Player/Clothed_NoBondage_BallGag.jpg
new file mode 100644
index 0000000000..f0bf7e3260
Binary files /dev/null and b/C999_Common/Player/Clothed_NoBondage_BallGag.jpg differ
diff --git a/C999_Common/Player/Clothed_NoBondage_ClothGag.jpg b/C999_Common/Player/Clothed_NoBondage_ClothGag.jpg
new file mode 100644
index 0000000000..0faede4c2c
Binary files /dev/null and b/C999_Common/Player/Clothed_NoBondage_ClothGag.jpg differ
diff --git a/C999_Common/Player/Clothed_NoBondage_NoGag.jpg b/C999_Common/Player/Clothed_NoBondage_NoGag.jpg
new file mode 100644
index 0000000000..aeb12140eb
Binary files /dev/null and b/C999_Common/Player/Clothed_NoBondage_NoGag.jpg differ
diff --git a/C999_Common/Player/Clothed_NoBondage_NoGag_Blindfold.jpg b/C999_Common/Player/Clothed_NoBondage_NoGag_Blindfold.jpg
new file mode 100644
index 0000000000..344eb18add
Binary files /dev/null and b/C999_Common/Player/Clothed_NoBondage_NoGag_Blindfold.jpg differ
diff --git a/C999_Common/Player/Clothed_NoBondage_TapeGag.jpg b/C999_Common/Player/Clothed_NoBondage_TapeGag.jpg
new file mode 100644
index 0000000000..b054c2d725
Binary files /dev/null and b/C999_Common/Player/Clothed_NoBondage_TapeGag.jpg differ
diff --git a/C999_Common/Player/Clothed_Rope_BallGag.jpg b/C999_Common/Player/Clothed_Rope_BallGag.jpg
new file mode 100644
index 0000000000..c139280dd2
Binary files /dev/null and b/C999_Common/Player/Clothed_Rope_BallGag.jpg differ
diff --git a/C999_Common/Player/Clothed_Rope_ClothGag.jpg b/C999_Common/Player/Clothed_Rope_ClothGag.jpg
new file mode 100644
index 0000000000..d655ad9579
Binary files /dev/null and b/C999_Common/Player/Clothed_Rope_ClothGag.jpg differ
diff --git a/C999_Common/Player/Clothed_Rope_NoGag.jpg b/C999_Common/Player/Clothed_Rope_NoGag.jpg
new file mode 100644
index 0000000000..2a64469cb4
Binary files /dev/null and b/C999_Common/Player/Clothed_Rope_NoGag.jpg differ
diff --git a/C999_Common/Player/Clothed_Rope_TapeGag.jpg b/C999_Common/Player/Clothed_Rope_TapeGag.jpg
new file mode 100644
index 0000000000..0e487ec211
Binary files /dev/null and b/C999_Common/Player/Clothed_Rope_TapeGag.jpg differ
diff --git a/C999_Common/Player/Damsel_Cuffs_Collar_BallGag.jpg b/C999_Common/Player/Damsel_Cuffs_Collar_BallGag.jpg
new file mode 100644
index 0000000000..7c036d46e6
Binary files /dev/null and b/C999_Common/Player/Damsel_Cuffs_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/Damsel_Cuffs_Collar_ClothGag.jpg b/C999_Common/Player/Damsel_Cuffs_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..836cf8169d
Binary files /dev/null and b/C999_Common/Player/Damsel_Cuffs_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Damsel_Cuffs_Collar_NoGag.jpg b/C999_Common/Player/Damsel_Cuffs_Collar_NoGag.jpg
new file mode 100644
index 0000000000..d14ebb0a0f
Binary files /dev/null and b/C999_Common/Player/Damsel_Cuffs_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/Damsel_Cuffs_Collar_TapeGag.jpg b/C999_Common/Player/Damsel_Cuffs_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..3c6dfc1cdc
Binary files /dev/null and b/C999_Common/Player/Damsel_Cuffs_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Damsel_Cuffs_NoCollar_BallGag.jpg b/C999_Common/Player/Damsel_Cuffs_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..8c57238e82
Binary files /dev/null and b/C999_Common/Player/Damsel_Cuffs_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/Damsel_Cuffs_NoCollar_ClothGag.jpg b/C999_Common/Player/Damsel_Cuffs_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..806d529d51
Binary files /dev/null and b/C999_Common/Player/Damsel_Cuffs_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Damsel_Cuffs_NoCollar_NoGag.jpg b/C999_Common/Player/Damsel_Cuffs_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..8373dfd62d
Binary files /dev/null and b/C999_Common/Player/Damsel_Cuffs_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/Damsel_Cuffs_NoCollar_TapeGag.jpg b/C999_Common/Player/Damsel_Cuffs_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..bfd6bb1d2c
Binary files /dev/null and b/C999_Common/Player/Damsel_Cuffs_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Damsel_NoBondage_Collar_BallGag.jpg b/C999_Common/Player/Damsel_NoBondage_Collar_BallGag.jpg
new file mode 100644
index 0000000000..8d24eb940d
Binary files /dev/null and b/C999_Common/Player/Damsel_NoBondage_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/Damsel_NoBondage_Collar_ClothGag.jpg b/C999_Common/Player/Damsel_NoBondage_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..06168c2f83
Binary files /dev/null and b/C999_Common/Player/Damsel_NoBondage_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Damsel_NoBondage_Collar_NoGag.jpg b/C999_Common/Player/Damsel_NoBondage_Collar_NoGag.jpg
new file mode 100644
index 0000000000..825eaa7acd
Binary files /dev/null and b/C999_Common/Player/Damsel_NoBondage_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/Damsel_NoBondage_Collar_TapeGag.jpg b/C999_Common/Player/Damsel_NoBondage_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..b98f282440
Binary files /dev/null and b/C999_Common/Player/Damsel_NoBondage_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Damsel_NoBondage_NoCollar_BallGag.jpg b/C999_Common/Player/Damsel_NoBondage_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..b0be8901dd
Binary files /dev/null and b/C999_Common/Player/Damsel_NoBondage_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/Damsel_NoBondage_NoCollar_ClothGag.jpg b/C999_Common/Player/Damsel_NoBondage_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..6302a34bb2
Binary files /dev/null and b/C999_Common/Player/Damsel_NoBondage_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Damsel_NoBondage_NoCollar_NoGag.jpg b/C999_Common/Player/Damsel_NoBondage_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..a7c65b55ff
Binary files /dev/null and b/C999_Common/Player/Damsel_NoBondage_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/Damsel_NoBondage_NoCollar_TapeGag.jpg b/C999_Common/Player/Damsel_NoBondage_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..d0b704aa0e
Binary files /dev/null and b/C999_Common/Player/Damsel_NoBondage_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Heroine_Cuffs_BallGag.jpg b/C999_Common/Player/Heroine_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..ff2ac02747
Binary files /dev/null and b/C999_Common/Player/Heroine_Cuffs_BallGag.jpg differ
diff --git a/C999_Common/Player/Heroine_Cuffs_ClothGag.jpg b/C999_Common/Player/Heroine_Cuffs_ClothGag.jpg
new file mode 100644
index 0000000000..18d7057439
Binary files /dev/null and b/C999_Common/Player/Heroine_Cuffs_ClothGag.jpg differ
diff --git a/C999_Common/Player/Heroine_Cuffs_NoGag.jpg b/C999_Common/Player/Heroine_Cuffs_NoGag.jpg
new file mode 100644
index 0000000000..8b902a95c2
Binary files /dev/null and b/C999_Common/Player/Heroine_Cuffs_NoGag.jpg differ
diff --git a/C999_Common/Player/Heroine_Cuffs_TapeGag.jpg b/C999_Common/Player/Heroine_Cuffs_TapeGag.jpg
new file mode 100644
index 0000000000..7968025d6a
Binary files /dev/null and b/C999_Common/Player/Heroine_Cuffs_TapeGag.jpg differ
diff --git a/C999_Common/Player/Heroine_NoBondage_BallGag.jpg b/C999_Common/Player/Heroine_NoBondage_BallGag.jpg
new file mode 100644
index 0000000000..a35f2231a8
Binary files /dev/null and b/C999_Common/Player/Heroine_NoBondage_BallGag.jpg differ
diff --git a/C999_Common/Player/Heroine_NoBondage_ClothGag.jpg b/C999_Common/Player/Heroine_NoBondage_ClothGag.jpg
new file mode 100644
index 0000000000..c4b669527a
Binary files /dev/null and b/C999_Common/Player/Heroine_NoBondage_ClothGag.jpg differ
diff --git a/C999_Common/Player/Heroine_NoBondage_NoGag.jpg b/C999_Common/Player/Heroine_NoBondage_NoGag.jpg
new file mode 100644
index 0000000000..e2ae1028aa
Binary files /dev/null and b/C999_Common/Player/Heroine_NoBondage_NoGag.jpg differ
diff --git a/C999_Common/Player/Heroine_NoBondage_TapeGag.jpg b/C999_Common/Player/Heroine_NoBondage_TapeGag.jpg
new file mode 100644
index 0000000000..dae30d0c51
Binary files /dev/null and b/C999_Common/Player/Heroine_NoBondage_TapeGag.jpg differ
diff --git a/C999_Common/Player/Judo_NoBondage_NoGag.jpg b/C999_Common/Player/Judo_NoBondage_NoGag.jpg
new file mode 100644
index 0000000000..8fbe902016
Binary files /dev/null and b/C999_Common/Player/Judo_NoBondage_NoGag.jpg differ
diff --git a/C999_Common/Player/Naked_Cuffs_Collar_BallGag.jpg b/C999_Common/Player/Naked_Cuffs_Collar_BallGag.jpg
new file mode 100644
index 0000000000..14ec393c21
Binary files /dev/null and b/C999_Common/Player/Naked_Cuffs_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/Naked_Cuffs_Collar_ClothGag.jpg b/C999_Common/Player/Naked_Cuffs_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..7b544b66a1
Binary files /dev/null and b/C999_Common/Player/Naked_Cuffs_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Naked_Cuffs_Collar_NoGag.jpg b/C999_Common/Player/Naked_Cuffs_Collar_NoGag.jpg
new file mode 100644
index 0000000000..ea38f8f0d6
Binary files /dev/null and b/C999_Common/Player/Naked_Cuffs_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/Naked_Cuffs_Collar_TapeGag.jpg b/C999_Common/Player/Naked_Cuffs_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..c55cc2f8fa
Binary files /dev/null and b/C999_Common/Player/Naked_Cuffs_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Naked_Cuffs_NoCollar_BallGag.jpg b/C999_Common/Player/Naked_Cuffs_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..57ddbb6a68
Binary files /dev/null and b/C999_Common/Player/Naked_Cuffs_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/Naked_Cuffs_NoCollar_ClothGag.jpg b/C999_Common/Player/Naked_Cuffs_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..c713214fbe
Binary files /dev/null and b/C999_Common/Player/Naked_Cuffs_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Naked_Cuffs_NoCollar_NoGag.jpg b/C999_Common/Player/Naked_Cuffs_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..8c66fb5f1e
Binary files /dev/null and b/C999_Common/Player/Naked_Cuffs_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/Naked_Cuffs_NoCollar_TapeGag.jpg b/C999_Common/Player/Naked_Cuffs_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..1f1b97478b
Binary files /dev/null and b/C999_Common/Player/Naked_Cuffs_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Naked_NoBondage_Collar_BallGag.jpg b/C999_Common/Player/Naked_NoBondage_Collar_BallGag.jpg
new file mode 100644
index 0000000000..9fd17722dc
Binary files /dev/null and b/C999_Common/Player/Naked_NoBondage_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/Naked_NoBondage_Collar_ClothGag.jpg b/C999_Common/Player/Naked_NoBondage_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..b8c9e28d29
Binary files /dev/null and b/C999_Common/Player/Naked_NoBondage_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Naked_NoBondage_Collar_NoGag.jpg b/C999_Common/Player/Naked_NoBondage_Collar_NoGag.jpg
new file mode 100644
index 0000000000..7fdcf38e1b
Binary files /dev/null and b/C999_Common/Player/Naked_NoBondage_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/Naked_NoBondage_Collar_TapeGag.jpg b/C999_Common/Player/Naked_NoBondage_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..33d1a930e4
Binary files /dev/null and b/C999_Common/Player/Naked_NoBondage_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Naked_NoBondage_NoCollar_BallGag.jpg b/C999_Common/Player/Naked_NoBondage_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..bba2993b71
Binary files /dev/null and b/C999_Common/Player/Naked_NoBondage_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/Naked_NoBondage_NoCollar_ClothGag.jpg b/C999_Common/Player/Naked_NoBondage_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..22d475a637
Binary files /dev/null and b/C999_Common/Player/Naked_NoBondage_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Naked_NoBondage_NoCollar_NoGag.jpg b/C999_Common/Player/Naked_NoBondage_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..2c1c6b3018
Binary files /dev/null and b/C999_Common/Player/Naked_NoBondage_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/Naked_NoBondage_NoCollar_TapeGag.jpg b/C999_Common/Player/Naked_NoBondage_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..e73357d635
Binary files /dev/null and b/C999_Common/Player/Naked_NoBondage_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Naked_Rope_Collar_BallGag.jpg b/C999_Common/Player/Naked_Rope_Collar_BallGag.jpg
new file mode 100644
index 0000000000..5dbc81b6bd
Binary files /dev/null and b/C999_Common/Player/Naked_Rope_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/Naked_Rope_Collar_ClothGag.jpg b/C999_Common/Player/Naked_Rope_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..5e81b17dff
Binary files /dev/null and b/C999_Common/Player/Naked_Rope_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Naked_Rope_Collar_NoGag.jpg b/C999_Common/Player/Naked_Rope_Collar_NoGag.jpg
new file mode 100644
index 0000000000..fe9c661265
Binary files /dev/null and b/C999_Common/Player/Naked_Rope_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/Naked_Rope_Collar_TapeGag.jpg b/C999_Common/Player/Naked_Rope_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..e3ffa3531c
Binary files /dev/null and b/C999_Common/Player/Naked_Rope_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Naked_Rope_NoCollar_BallGag.jpg b/C999_Common/Player/Naked_Rope_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..a1a8e290a6
Binary files /dev/null and b/C999_Common/Player/Naked_Rope_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/Naked_Rope_NoCollar_ClothGag.jpg b/C999_Common/Player/Naked_Rope_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..b14c5cfaf3
Binary files /dev/null and b/C999_Common/Player/Naked_Rope_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Naked_Rope_NoCollar_NoGag.jpg b/C999_Common/Player/Naked_Rope_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..b03d5246e9
Binary files /dev/null and b/C999_Common/Player/Naked_Rope_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/Naked_Rope_NoCollar_TapeGag.jpg b/C999_Common/Player/Naked_Rope_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..22580fd04a
Binary files /dev/null and b/C999_Common/Player/Naked_Rope_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Script.js b/C999_Common/Player/Script.js
new file mode 100644
index 0000000000..910355f6e5
--- /dev/null
+++ b/C999_Common/Player/Script.js
@@ -0,0 +1,81 @@
+// Chapter Common - Player Load
+function C999_Common_Player_Load() {
+	LeaveIcon = "Leave";
+	LoadText();
+}
+
+// Returns the title for the player based on actor interactions
+function C999_Common_Player_GetTitle() {
+
+	// Get the total love and domme level
+	var Love = 0;
+	var Domme = 0;
+	for (var A = 0; A < Actor.length; A++) {
+		Love = Love + Actor[A][ActorLove];
+		Domme = Domme + Actor[A][ActorSubmission];
+	}
+
+	// Return a fitting title (level 3)
+	if ((Love >= 20) && (Domme >= 20)) return GetText("LoveDomme3");
+	if ((Love >= 20) && (Domme <= -20)) return GetText("LoveSub3");
+	if ((Love <= -20) && (Domme >= 20)) return GetText("HateDomme3");
+	if ((Love <= -20) && (Domme <= -20)) return GetText("HateSub3");
+	if (Love >= 30) return GetText("Love3");
+	if (Domme >= 30) return GetText("Domme3");
+	if (Love <= -30) return GetText("Hate3");
+	if (Domme <= -30) return GetText("Sub3");
+	
+	// Return a fitting title (level 2)
+	if ((Love >= 12) && (Domme >= 12)) return GetText("LoveDomme2");
+	if ((Love >= 12) && (Domme <= -12)) return GetText("LoveSub2");
+	if ((Love <= -12) && (Domme >= 12)) return GetText("HateDomme2");
+	if ((Love <= -12) && (Domme <= -12)) return GetText("HateSub2");
+	if (Love >= 16) return GetText("Love2");
+	if (Domme >= 16) return GetText("Domme2");
+	if (Love <= -16) return GetText("Hate2");
+	if (Domme <= -16) return GetText("Sub2");
+
+	// Return a fitting title (level 1)
+	if ((Love >= 5) && (Domme >= 5)) return GetText("LoveDomme1");
+	if ((Love >= 5) && (Domme <= -5)) return GetText("LoveSub1");
+	if ((Love <= -5) && (Domme >= 5)) return GetText("HateDomme1");
+	if ((Love <= -5) && (Domme <= -5)) return GetText("HateSub1");
+	if (Love >= 7) return GetText("Love1");
+	if (Domme >= 7) return GetText("Domme1");
+	if (Love <= -7) return GetText("Hate1");
+	if (Domme <= -7) return GetText("Sub1");
+
+	// No title
+	return GetText("NoTitle");
+
+}
+
+// Chapter Common - Player Run
+function C999_Common_Player_Run() {
+
+	// Paints the player picture
+	DrawPlayerImage(0, 0);
+
+	// Draw the player records, show every actors encountered
+	var ctx = document.getElementById("MainCanvas").getContext("2d");
+	DrawRect(ctx, 599, 0, 1, 600, "Black");
+	DrawRect(ctx, 0, 0, 599, 600, "White");
+	DrawRect(ctx, 30, 114, 539, 1, "Black");
+	DrawText(ctx, GetText("Name") + " " + Common_PlayerName, 300, 25, "black");
+	DrawText(ctx, GetText("Title") + " " + C999_Common_Player_GetTitle(), 300, 60, "black");
+	DrawText(ctx, GetText("Records"), 300, 95, "black");
+	for (var A = 0; A < Actor.length; A++) {
+		CurrentActor = Actor[A][ActorName];
+		DrawActorStats(ctx, 300, A * 50 + 130);
+	}
+	CurrentActor = "";
+
+}
+
+// Chapter Common - Player Click
+function C999_Common_Player_Click() {
+	
+	// Can allow to click on inventory from the player screen
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+
+}
\ No newline at end of file
diff --git a/C999_Common/Player/Tennis_NoBondage_NoGag.jpg b/C999_Common/Player/Tennis_NoBondage_NoGag.jpg
new file mode 100644
index 0000000000..79fab13275
Binary files /dev/null and b/C999_Common/Player/Tennis_NoBondage_NoGag.jpg differ
diff --git a/C999_Common/Player/Text_CN.csv b/C999_Common/Player/Text_CN.csv
new file mode 100644
index 0000000000..49d1e2775b
--- /dev/null
+++ b/C999_Common/Player/Text_CN.csv
@@ -0,0 +1,29 @@
+Tag,Content
+NoTitle,无
+Love1,友好
+Love2,喜欢
+Love3,爱慕
+Hate1,讨厌
+Hate2,厌恶
+Hate3,痛恨
+Domme1,女强人
+Domme2,支配者
+Domme3,女王
+Sub1,害羞女生
+Sub2,乖巧女孩
+Sub3,顺从奴隶
+LoveDomme1,有名人
+LoveDomme2,万人迷
+LoveDomme3,公主
+LoveSub1,乖乖女
+LoveSub2,优等生
+LoveSub3,老师的走狗
+HateDomme1,霸凌女
+HateDomme2,班级霸王
+HateDomme3,母夜叉
+HateSub1,怪人
+HateSub2,众矢之的
+HateSub3,过街老鼠
+Name,名称:
+Title,标题:
+Records,个人记录
diff --git a/C999_Common/Player/Text_EN.csv b/C999_Common/Player/Text_EN.csv
new file mode 100644
index 0000000000..4edd6ec134
--- /dev/null
+++ b/C999_Common/Player/Text_EN.csv
@@ -0,0 +1,29 @@
+Tag,Content
+NoTitle,None
+Love1,Nice girl
+Love2,Beloved
+Love3,Cherished
+Hate1,Disliked
+Hate2,Detested
+Hate3,Hated
+Domme1,Tough cookie
+Domme2,Dominant
+Domme3,Queen
+Sub1,Shy girl
+Sub2,Submissive
+Sub3,Obedient
+LoveDomme1,Trendy
+LoveDomme2,Miss popular
+LoveDomme3,Princess
+LoveSub1,Geeky
+LoveSub2,Precious
+LoveSub3,Teacher's pet
+HateDomme1,Bully
+HateDomme2,Class boss
+HateDomme3,Dominatrix
+HateSub1,Weirdo
+HateSub2,Black sheep
+HateSub3,Reject
+Name,Name:
+Title,Title:
+Records,Personal records
diff --git a/C999_Common/Player/Text_FR.csv b/C999_Common/Player/Text_FR.csv
new file mode 100644
index 0000000000..bb5d407987
--- /dev/null
+++ b/C999_Common/Player/Text_FR.csv
@@ -0,0 +1,29 @@
+Tag,Content
+NoTitle,Rien
+Love1,Fille sympa
+Love2,Bien aimée
+Love3,Adorée
+Hate1,Pas aimée
+Hate2,Détestée
+Hate3,Haïe
+Domme1,Dure à cuire
+Domme2,Dominante
+Domme3,Reine
+Sub1,Fille timide
+Sub2,Docile
+Sub3,Obéissante
+LoveDomme1,Branchée
+LoveDomme2,Populaire
+LoveDomme3,Princesse
+LoveSub1,Geek
+LoveSub2,Précieuse
+LoveSub3,Chouchoute
+HateDomme1,Brute
+HateDomme2,Chef de classe
+HateDomme3,Dominatrice
+HateSub1,Bizarre
+HateSub2,Mouton noir
+HateSub3,Rejetée
+Name,Nom :
+Title,Titre :
+Records,Scores personnels 
diff --git a/C999_Common/Player/Underwear_Cuffs_Collar_BallGag.jpg b/C999_Common/Player/Underwear_Cuffs_Collar_BallGag.jpg
new file mode 100644
index 0000000000..4190429f48
Binary files /dev/null and b/C999_Common/Player/Underwear_Cuffs_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Cuffs_Collar_ClothGag.jpg b/C999_Common/Player/Underwear_Cuffs_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..ffbc045e58
Binary files /dev/null and b/C999_Common/Player/Underwear_Cuffs_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Cuffs_Collar_NoGag.jpg b/C999_Common/Player/Underwear_Cuffs_Collar_NoGag.jpg
new file mode 100644
index 0000000000..4035b2460f
Binary files /dev/null and b/C999_Common/Player/Underwear_Cuffs_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Cuffs_Collar_TapeGag.jpg b/C999_Common/Player/Underwear_Cuffs_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..020ddf455b
Binary files /dev/null and b/C999_Common/Player/Underwear_Cuffs_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Cuffs_NoCollar_BallGag.jpg b/C999_Common/Player/Underwear_Cuffs_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..7168cd5489
Binary files /dev/null and b/C999_Common/Player/Underwear_Cuffs_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Cuffs_NoCollar_ClothGag.jpg b/C999_Common/Player/Underwear_Cuffs_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..588b4bc42b
Binary files /dev/null and b/C999_Common/Player/Underwear_Cuffs_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Cuffs_NoCollar_NoGag.jpg b/C999_Common/Player/Underwear_Cuffs_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..3a78019028
Binary files /dev/null and b/C999_Common/Player/Underwear_Cuffs_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Cuffs_NoCollar_TapeGag.jpg b/C999_Common/Player/Underwear_Cuffs_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..ee205942bd
Binary files /dev/null and b/C999_Common/Player/Underwear_Cuffs_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Underwear_NoBondage_Collar_BallGag.jpg b/C999_Common/Player/Underwear_NoBondage_Collar_BallGag.jpg
new file mode 100644
index 0000000000..21e6692617
Binary files /dev/null and b/C999_Common/Player/Underwear_NoBondage_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/Underwear_NoBondage_Collar_ClothGag.jpg b/C999_Common/Player/Underwear_NoBondage_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..5157f60e06
Binary files /dev/null and b/C999_Common/Player/Underwear_NoBondage_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Underwear_NoBondage_Collar_NoGag.jpg b/C999_Common/Player/Underwear_NoBondage_Collar_NoGag.jpg
new file mode 100644
index 0000000000..4bad226fe2
Binary files /dev/null and b/C999_Common/Player/Underwear_NoBondage_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/Underwear_NoBondage_Collar_TapeGag.jpg b/C999_Common/Player/Underwear_NoBondage_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..45481d6cbe
Binary files /dev/null and b/C999_Common/Player/Underwear_NoBondage_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Underwear_NoBondage_NoCollar_BallGag.jpg b/C999_Common/Player/Underwear_NoBondage_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..b89e0b9da5
Binary files /dev/null and b/C999_Common/Player/Underwear_NoBondage_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/Underwear_NoBondage_NoCollar_ClothGag.jpg b/C999_Common/Player/Underwear_NoBondage_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..0eaf1fa88a
Binary files /dev/null and b/C999_Common/Player/Underwear_NoBondage_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Underwear_NoBondage_NoCollar_NoGag.jpg b/C999_Common/Player/Underwear_NoBondage_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..a2dc63efdd
Binary files /dev/null and b/C999_Common/Player/Underwear_NoBondage_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/Underwear_NoBondage_NoCollar_TapeGag.jpg b/C999_Common/Player/Underwear_NoBondage_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..2311789d36
Binary files /dev/null and b/C999_Common/Player/Underwear_NoBondage_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_Collar_BallGag.jpg b/C999_Common/Player/Underwear_Rope_Collar_BallGag.jpg
new file mode 100644
index 0000000000..6b71c1ed1e
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_Collar_BallGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_Collar_ClothGag.jpg b/C999_Common/Player/Underwear_Rope_Collar_ClothGag.jpg
new file mode 100644
index 0000000000..644a9b74f6
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_Collar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_Collar_NoGag.jpg b/C999_Common/Player/Underwear_Rope_Collar_NoGag.jpg
new file mode 100644
index 0000000000..153f451dae
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_Collar_NoGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_Collar_TapeGag.jpg b/C999_Common/Player/Underwear_Rope_Collar_TapeGag.jpg
new file mode 100644
index 0000000000..dc54be002e
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_Collar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_NoCollar_BallGag.jpg b/C999_Common/Player/Underwear_Rope_NoCollar_BallGag.jpg
new file mode 100644
index 0000000000..7756734b1f
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_NoCollar_BallGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_NoCollar_BallGag_Blindfold.jpg b/C999_Common/Player/Underwear_Rope_NoCollar_BallGag_Blindfold.jpg
new file mode 100644
index 0000000000..fa4ea5c6bc
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_NoCollar_BallGag_Blindfold.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_NoCollar_ClothGag.jpg b/C999_Common/Player/Underwear_Rope_NoCollar_ClothGag.jpg
new file mode 100644
index 0000000000..a44871bb24
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_NoCollar_ClothGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_NoCollar_ClothGag_Blindfold.jpg b/C999_Common/Player/Underwear_Rope_NoCollar_ClothGag_Blindfold.jpg
new file mode 100644
index 0000000000..71f06af011
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_NoCollar_ClothGag_Blindfold.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_NoCollar_NoGag.jpg b/C999_Common/Player/Underwear_Rope_NoCollar_NoGag.jpg
new file mode 100644
index 0000000000..3e04deb2c2
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_NoCollar_NoGag.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_NoCollar_NoGag_Blindfold.jpg b/C999_Common/Player/Underwear_Rope_NoCollar_NoGag_Blindfold.jpg
new file mode 100644
index 0000000000..cfb992631a
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_NoCollar_NoGag_Blindfold.jpg differ
diff --git a/C999_Common/Player/Underwear_Rope_NoCollar_TapeGag.jpg b/C999_Common/Player/Underwear_Rope_NoCollar_TapeGag.jpg
new file mode 100644
index 0000000000..8236ec5af0
Binary files /dev/null and b/C999_Common/Player/Underwear_Rope_NoCollar_TapeGag.jpg differ
diff --git a/C999_Common/Player/Villain_Cuffs_BallGag.jpg b/C999_Common/Player/Villain_Cuffs_BallGag.jpg
new file mode 100644
index 0000000000..14d9507bd1
Binary files /dev/null and b/C999_Common/Player/Villain_Cuffs_BallGag.jpg differ
diff --git a/C999_Common/Player/Villain_Cuffs_ClothGag.jpg b/C999_Common/Player/Villain_Cuffs_ClothGag.jpg
new file mode 100644
index 0000000000..716482de13
Binary files /dev/null and b/C999_Common/Player/Villain_Cuffs_ClothGag.jpg differ
diff --git a/C999_Common/Player/Villain_Cuffs_NoGag.jpg b/C999_Common/Player/Villain_Cuffs_NoGag.jpg
new file mode 100644
index 0000000000..31a00c4031
Binary files /dev/null and b/C999_Common/Player/Villain_Cuffs_NoGag.jpg differ
diff --git a/C999_Common/Player/Villain_Cuffs_TapeGag.jpg b/C999_Common/Player/Villain_Cuffs_TapeGag.jpg
new file mode 100644
index 0000000000..7f2a2bc56a
Binary files /dev/null and b/C999_Common/Player/Villain_Cuffs_TapeGag.jpg differ
diff --git a/C999_Common/Player/Villain_NoBondage_BallGag.jpg b/C999_Common/Player/Villain_NoBondage_BallGag.jpg
new file mode 100644
index 0000000000..38944aaca2
Binary files /dev/null and b/C999_Common/Player/Villain_NoBondage_BallGag.jpg differ
diff --git a/C999_Common/Player/Villain_NoBondage_ClothGag.jpg b/C999_Common/Player/Villain_NoBondage_ClothGag.jpg
new file mode 100644
index 0000000000..e517c4f2ef
Binary files /dev/null and b/C999_Common/Player/Villain_NoBondage_ClothGag.jpg differ
diff --git a/C999_Common/Player/Villain_NoBondage_NoGag.jpg b/C999_Common/Player/Villain_NoBondage_NoGag.jpg
new file mode 100644
index 0000000000..74ba50c7f1
Binary files /dev/null and b/C999_Common/Player/Villain_NoBondage_NoGag.jpg differ
diff --git a/C999_Common/Player/Villain_NoBondage_TapeGag.jpg b/C999_Common/Player/Villain_NoBondage_TapeGag.jpg
new file mode 100644
index 0000000000..4cf3d2639b
Binary files /dev/null and b/C999_Common/Player/Villain_NoBondage_TapeGag.jpg differ
diff --git a/C999_Common/Rope/Intro_CN.csv b/C999_Common/Rope/Intro_CN.csv
new file mode 100644
index 0000000000..68ee14022e
--- /dev/null
+++ b/C999_Common/Rope/Intro_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这条长麻绳看上去十分强韧。|你可以用它玩绳艺。,Rope.jpg
+10,0,0,,这条长麻绳十分强韧。|你需要别人帮你解绑才能恢复自由。,Rope.jpg
diff --git a/C999_Common/Rope/Intro_EN.csv b/C999_Common/Rope/Intro_EN.csv
new file mode 100644
index 0000000000..170b2e38c6
--- /dev/null
+++ b/C999_Common/Rope/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This long hemp rope looks pretty strong.|You could do some great bondage with it.,Rope.jpg
+10,0,0,,This long hemp rope is really strong.|You will need help if you wish to escape.,Rope.jpg
diff --git a/C999_Common/Rope/Intro_FR.csv b/C999_Common/Rope/Intro_FR.csv
new file mode 100644
index 0000000000..450a91c6b3
--- /dev/null
+++ b/C999_Common/Rope/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Cette longue corde en chanvre à l'air solide.|Tu pourrais faire du bondage remarquable avec.,Rope.jpg
+10,0,0,,Cette longue corde en chanvre est vraiment solide.|Tu auras besoin d'aide si tu souhaites te libérer.,Rope.jpg
diff --git a/C999_Common/Rope/Rope.jpg b/C999_Common/Rope/Rope.jpg
new file mode 100644
index 0000000000..60b29f3aa0
Binary files /dev/null and b/C999_Common/Rope/Rope.jpg differ
diff --git a/C999_Common/Rope/Script.js b/C999_Common/Rope/Script.js
new file mode 100644
index 0000000000..8c2a6b1186
--- /dev/null
+++ b/C999_Common/Rope/Script.js
@@ -0,0 +1,36 @@
+var C999_Common_Rope_CurrentStage = 0;
+var C999_Common_Rope_HasLooseRope = 0;
+
+// Chapter Common - Rope Load
+function C999_Common_Rope_Load() {
+	
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LoadInteractions();
+	
+	// Set the correct starting stage
+	if (PlayerHasLockedInventory("Rope") == true) C999_Common_Rope_CurrentStage = 10;
+	else C999_Common_Rope_CurrentStage = 0;
+	
+	// If the player has a loose rope
+	C999_Common_Rope_HasLooseRope = PlayerHasInventory("Rope");
+	
+}
+
+// Chapter Common - Rope Run, we draw the regular player image if the item is on
+function C999_Common_Rope_Run() {
+	BuildInteraction(C999_Common_Rope_CurrentStage);
+	if (PlayerHasLockedInventory("Rope") && (OverridenIntroImage == "")) DrawPlayerImage(150, 240);
+}
+
+// Chapter Common - Rope Click, allow regular interactions and clicking on another item
+function C999_Common_Rope_Click() {
+	OverridenIntroImage = "";
+	ClickInteraction(C999_Common_Rope_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Show the item image
+function C999_Common_Rope_ShowImage() {
+	OverridenIntroImage = "Rope.jpg";
+}
\ No newline at end of file
diff --git a/C999_Common/Rope/Stage_CN.csv b/C999_Common/Rope/Stage_CN.csv
new file mode 100644
index 0000000000..d68f80f63a
--- /dev/null
+++ b/C999_Common/Rope/Stage_CN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(玩绳子)|(1 分钟),你拿绳子玩了会儿。|你感觉到绳子非常柔滑。,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(自缚)|(1 分钟),你尝试自缚,但你没法好好打结。|你需要别人把你绑起来。,0,0,0,
+10,0,0,HasLooseRope,(Play with the loose|rope.)  (1 minute),You play with the loose rope while restrained.|It feels very soft and smooth on your skin.,10,0,0,ShowImage()
+10,0,0,,(设法解开绳结)|(1 分钟),你拼尽全力试图解开绳结,|但你一个结也解不开。,10,0,0,
+10,0,0,,(挣扎)|(1 分钟),你疯狂挣扎,|但没法逃脱。,10,0,0,
+10,0,0,,(拉股绳)|(1 分钟),你成功拉了拉股绳。|感觉很爽。,10,0,0,
diff --git a/C999_Common/Rope/Stage_EN.csv b/C999_Common/Rope/Stage_EN.csv
new file mode 100644
index 0000000000..ea8de5e897
--- /dev/null
+++ b/C999_Common/Rope/Stage_EN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Play with it.)|(1 minute),You play with the rope.  It feels|very soft and smooth on your skin.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Tie yourself.)|(1 minute),You try to tie yourself but cannot manage to do|good knots.  You'll need someone else to tie you up.,0,0,0,
+10,0,0,HasLooseRope,(Play with the loose|rope.)  (1 minute),You play with the loose rope while restrained.|It feels very soft and smooth on your skin.,10,0,0,ShowImage()
+10,0,0,,(Try to reach a knot.)|(1 minute),You struggle to reach a knot to|undo but none can be reached.,10,0,0,
+10,0,0,,(Struggle to get out.)|(1 minute),You struggle madly in the rope|but can't manage to get out.,10,0,0,
+10,0,0,,(Pull on the crotch rope.)|(1 minute),You manage to pull on the|crotch rope and it's quite pleasurable.,10,0,0,
diff --git a/C999_Common/Rope/Stage_FR.csv b/C999_Common/Rope/Stage_FR.csv
new file mode 100644
index 0000000000..768fe6d735
--- /dev/null
+++ b/C999_Common/Rope/Stage_FR.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu joues avec.)|(1 minute),Tu joues avec la corde. Tu ressens|une sensation très douce et lisse contre ta peau.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Tu te ligotes.)|(1 minute),Tu tentes de te ligoter mais tu n'arrives pas à faire de|bons noeuds. Tu auras besoin de quelqu'un d'autre.,0,0,0,
+10,0,0,HasLooseRope,(Tu joues avec une autre|corde.) (1 minute),Tu joues avec une autre corde. Tu ressens|une sensation très douce et lisse contre ta peau.,10,0,0,ShowImage()
+10,0,0,,(Tu essayes d'atteindre|un noeud.) (1 minute),Tu te démènes pour atteindre un noeud |mais tu n'y arrives pas.,10,0,0,
+10,0,0,,(Tu luttes pour te libérer.)|(1 minute),Tu luttes comme une folle|mais tu n'arrives pas à te libérer.,10,0,0,
+10,0,0,,(Tu tires sur la corde|d'entrejambe.) (1 minute),Tu parviens à tirer sur la|corde d'entrejambe et c'est plutôt agréable.,10,0,0,
diff --git a/C999_Common/Rope/Text_CN.csv b/C999_Common/Rope/Text_CN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/Rope/Text_CN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/Rope/Text_EN.csv b/C999_Common/Rope/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/Rope/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/Rope/Text_FR.csv b/C999_Common/Rope/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/Rope/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/RustyHook/Intro_CN.csv b/C999_Common/RustyHook/Intro_CN.csv
new file mode 100644
index 0000000000..85802ae37d
--- /dev/null
+++ b/C999_Common/RustyHook/Intro_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这是个锈铁钩。,RustyHook.jpg
diff --git a/C999_Common/RustyHook/Intro_EN.csv b/C999_Common/RustyHook/Intro_EN.csv
new file mode 100644
index 0000000000..68e062da2a
--- /dev/null
+++ b/C999_Common/RustyHook/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,An old rusty metal hook.,RustyHook.jpg
diff --git a/C999_Common/RustyHook/Intro_FR.csv b/C999_Common/RustyHook/Intro_FR.csv
new file mode 100644
index 0000000000..17dad43c81
--- /dev/null
+++ b/C999_Common/RustyHook/Intro_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Un vieux crochet en métal rouillé.,RustyHook.jpg
diff --git a/C999_Common/RustyHook/RustyHook.jpg b/C999_Common/RustyHook/RustyHook.jpg
new file mode 100644
index 0000000000..2eac844364
Binary files /dev/null and b/C999_Common/RustyHook/RustyHook.jpg differ
diff --git a/C999_Common/RustyHook/Script.js b/C999_Common/RustyHook/Script.js
new file mode 100644
index 0000000000..c33ba34d31
--- /dev/null
+++ b/C999_Common/RustyHook/Script.js
@@ -0,0 +1,18 @@
+var C999_Common_RustyHook_CurrentStage = 0;
+
+// Chapter Common - RustyHook Load
+function C999_Common_RustyHook_Load() {
+	LeaveIcon = "Leave";
+	LoadInteractions();
+}
+
+// Chapter Common - RustyHook Run
+function C999_Common_RustyHook_Run() {
+	BuildInteraction(C999_Common_RustyHook_CurrentStage);
+}
+
+// Chapter Common - RustyHook Click, allow regular interactions and clicking on another item
+function C999_Common_RustyHook_Click() {
+	ClickInteraction(C999_Common_RustyHook_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
\ No newline at end of file
diff --git a/C999_Common/RustyHook/Stage_CN.csv b/C999_Common/RustyHook/Stage_CN.csv
new file mode 100644
index 0000000000..969325fd9a
--- /dev/null
+++ b/C999_Common/RustyHook/Stage_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(调查)|(1 分钟),这锈铁钩看上去非常易折。|你可以用它折磨人或者钓鱼。,0,0,0,
diff --git a/C999_Common/RustyHook/Stage_EN.csv b/C999_Common/RustyHook/Stage_EN.csv
new file mode 100644
index 0000000000..07a5e25ad3
--- /dev/null
+++ b/C999_Common/RustyHook/Stage_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),This rusty metal hook looks pretty fragile.|Maybe it could be used for torture or fishing.,0,0,0,
diff --git a/C999_Common/RustyHook/Stage_FR.csv b/C999_Common/RustyHook/Stage_FR.csv
new file mode 100644
index 0000000000..0ba2f82872
--- /dev/null
+++ b/C999_Common/RustyHook/Stage_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu l'examines.)|(1 minute),Ce crochet en métal rouillé est assez fragile. Peut-être|pourrait-il être utilisé pour la torture ou la pêche.,0,0,0,
diff --git a/C999_Common/RustyHook/Text_CN.csv b/C999_Common/RustyHook/Text_CN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/RustyHook/Text_CN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/RustyHook/Text_EN.csv b/C999_Common/RustyHook/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/RustyHook/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/RustyHook/Text_FR.csv b/C999_Common/RustyHook/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/RustyHook/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/SleepingPill/Intro_CN.csv b/C999_Common/SleepingPill/Intro_CN.csv
new file mode 100644
index 0000000000..369f0b1b30
--- /dev/null
+++ b/C999_Common/SleepingPill/Intro_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这是片帮人入眠的安眠药。,SleepingPill.jpg
diff --git a/C999_Common/SleepingPill/Intro_EN.csv b/C999_Common/SleepingPill/Intro_EN.csv
new file mode 100644
index 0000000000..d5aa3e5d18
--- /dev/null
+++ b/C999_Common/SleepingPill/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,A little pill to help people sleep.,SleepingPill.jpg
diff --git a/C999_Common/SleepingPill/Intro_FR.csv b/C999_Common/SleepingPill/Intro_FR.csv
new file mode 100644
index 0000000000..a6a2d8aa42
--- /dev/null
+++ b/C999_Common/SleepingPill/Intro_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Une petite pilule pour aider les gens à dormir.,SleepingPill.jpg
diff --git a/C999_Common/SleepingPill/Script.js b/C999_Common/SleepingPill/Script.js
new file mode 100644
index 0000000000..5e7af1941a
--- /dev/null
+++ b/C999_Common/SleepingPill/Script.js
@@ -0,0 +1,18 @@
+var C999_Common_SleepingPill_CurrentStage = 0;
+
+// Chapter Common - SleepingPill Load
+function C999_Common_SleepingPill_Load() {
+	LeaveIcon = "Leave";
+	LoadInteractions();
+}
+
+// Chapter Common - SleepingPill Run
+function C999_Common_SleepingPill_Run() {
+	BuildInteraction(C999_Common_SleepingPill_CurrentStage);
+}
+
+// Chapter Common - SleepingPill Click, allow regular interactions and clicking on another item
+function C999_Common_SleepingPill_Click() {
+	ClickInteraction(C999_Common_SleepingPill_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
\ No newline at end of file
diff --git a/C999_Common/SleepingPill/SleepingPill.jpg b/C999_Common/SleepingPill/SleepingPill.jpg
new file mode 100644
index 0000000000..f0eae52785
Binary files /dev/null and b/C999_Common/SleepingPill/SleepingPill.jpg differ
diff --git a/C999_Common/SleepingPill/Stage_CN.csv b/C999_Common/SleepingPill/Stage_CN.csv
new file mode 100644
index 0000000000..0b51d415e7
--- /dev/null
+++ b/C999_Common/SleepingPill/Stage_CN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(调查)|(1 分钟),这片药的效力似乎挺强的。|你可以把它混在食物或者饮料之中。,0,0,0,
diff --git a/C999_Common/SleepingPill/Stage_EN.csv b/C999_Common/SleepingPill/Stage_EN.csv
new file mode 100644
index 0000000000..98f08e3b06
--- /dev/null
+++ b/C999_Common/SleepingPill/Stage_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),It looks like a potent sleeping pill.|It could be mixed in food or in a drink.,0,0,0,
diff --git a/C999_Common/SleepingPill/Stage_FR.csv b/C999_Common/SleepingPill/Stage_FR.csv
new file mode 100644
index 0000000000..524a141851
--- /dev/null
+++ b/C999_Common/SleepingPill/Stage_FR.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu l'examines.)|(1 minute),On dirait une puissante pilule de sommeil. A prendre|avec des aliments ou dissous dans un verre d'eau.,0,0,0,
diff --git a/C999_Common/SleepingPill/Text_CN.csv b/C999_Common/SleepingPill/Text_CN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/SleepingPill/Text_CN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/SleepingPill/Text_EN.csv b/C999_Common/SleepingPill/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/SleepingPill/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/SleepingPill/Text_FR.csv b/C999_Common/SleepingPill/Text_FR.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C999_Common/SleepingPill/Text_FR.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C999_Common/TapeGag/Intro_CN.csv b/C999_Common/TapeGag/Intro_CN.csv
new file mode 100644
index 0000000000..35c27182e8
--- /dev/null
+++ b/C999_Common/TapeGag/Intro_CN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这卷牛皮胶带可以用来封嘴。,Tape.jpg
+10,0,0,,牛皮胶带紧紧黏在你嘴巴上。|你在嘴巴黏着胶带的时候无法说话。,Tape.jpg
diff --git a/C999_Common/TapeGag/Intro_EN.csv b/C999_Common/TapeGag/Intro_EN.csv
new file mode 100644
index 0000000000..b4133db20e
--- /dev/null
+++ b/C999_Common/TapeGag/Intro_EN.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This duct tape could be used to gag someone.,Tape.jpg
+10,0,0,,This duct tape stands strong on your mouth.|There's no way to be understood while wearing it.,Tape.jpg
diff --git a/C999_Common/TapeGag/Intro_FR.csv b/C999_Common/TapeGag/Intro_FR.csv
new file mode 100644
index 0000000000..a08441a69d
--- /dev/null
+++ b/C999_Common/TapeGag/Intro_FR.csv
@@ -0,0 +1,3 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Ce ruban adhésif pourrait être utilisé|pour bâillonner quelqu'un.,Tape.jpg
+10,0,0,,Ce ruban adhésif tient fermement sur ta bouche.|Il n'y a aucun moyen de se faire comprendre avec.,Tape.jpg
diff --git a/C999_Common/TapeGag/Script.js b/C999_Common/TapeGag/Script.js
new file mode 100644
index 0000000000..7d0637a688
--- /dev/null
+++ b/C999_Common/TapeGag/Script.js
@@ -0,0 +1,55 @@
+var C999_Common_TapeGag_CurrentStage = 0;
+var C999_Common_TapeGag_HasLooseTape = false;
+
+// Chapter Common - TapeGag Load
+function C999_Common_TapeGag_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LoadInteractions();
+	
+	// Set the correct starting stage
+	if (PlayerHasLockedInventory("TapeGag") == true) C999_Common_TapeGag_CurrentStage = 10;
+	else C999_Common_TapeGag_CurrentStage = 0;
+
+	// If the player has some loose tape
+	C999_Common_TapeGag_HasLooseTape = PlayerHasInventory("TapeGag");
+
+}
+
+// Chapter Common - Tapegag Run, we draw the regular player image if the item is on
+function C999_Common_TapeGag_Run() {
+	BuildInteraction(C999_Common_TapeGag_CurrentStage);
+	if (PlayerHasLockedInventory("TapeGag") && (OverridenIntroImage == "")) DrawPlayerImage(150, 0);
+}
+
+// Chapter Common - TapeGag Click, allow regular interactions and clicking on another item
+function C999_Common_TapeGag_Click() {
+	OverridenIntroImage = "";
+	ClickInteraction(C999_Common_TapeGag_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Self TapeGag
+function C999_Common_TapeGag_SelfGag() {
+	if ((Common_BondageAllowed) && (Common_SelfBondageAllowed)) {
+		PlayerUngag();
+		PlayerRemoveInventory("TapeGag", 1);
+		PlayerLockInventory("TapeGag");
+		C999_Common_TapeGag_HasLooseTape = PlayerHasInventory("TapeGag");
+	} else {
+		OverridenIntroText = GetText("BadTiming");
+		C999_Common_TapeGag_CurrentStage = 0;
+	}
+}
+
+// Chapter Common - Self Ungag, leave the screen if no tape is left
+function C999_Common_TapeGag_SelfUngag() {
+	PlayerUnlockInventory("TapeGag");
+	if (!PlayerHasInventory("TapeGag")) SetScene(LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Show the item image
+function C999_Common_TapeGag_ShowImage() {
+	OverridenIntroImage = "Tape.jpg";
+}
\ No newline at end of file
diff --git a/C999_Common/TapeGag/Stage_CN.csv b/C999_Common/TapeGag/Stage_CN.csv
new file mode 100644
index 0000000000..5b3e0ba05c
--- /dev/null
+++ b/C999_Common/TapeGag/Stage_CN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(调查胶带)|(1 分钟),这是卷粘性强的一次性牛皮胶带。|被它封上了嘴巴就无法说话了。,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(塞自己的嘴)|(1 分钟),你撕下了一段胶带,|然后用力黏在自己嘴巴上。,10,0,0,SelfGag()
+10,0,0,HasLooseTape,(Inspect the loose tape.)|(1 minute),"It's a strong, one time use duct tape.  It will|be hard to understand someone gagged with it.",10,0,0,ShowImage()
+10,0,0,,(张开嘴)  (1 分钟),你用全力张开嘴巴,|但是胶带黏得太紧了。,10,0,0,
+10,0,0,,(用舌头顶)|(1 分钟),你用全力顶开胶带,|但是胶带纹风不动。,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(撕下胶带)|(1 分钟),你把胶带撕了下来,感觉特别疼。|现在你可以说话了。,0,0,0,SelfUngag()
diff --git a/C999_Common/TapeGag/Stage_EN.csv b/C999_Common/TapeGag/Stage_EN.csv
new file mode 100644
index 0000000000..12b3797bcc
--- /dev/null
+++ b/C999_Common/TapeGag/Stage_EN.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect the tape.)|(1 minute),"It's a strong, one time use duct tape.  It will|be hard to understand someone gagged with it.",0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Gag yourself.)|(1 minute),You pull a band of duct tape and|apply it firmly over your mouth.,10,0,0,SelfGag()
+10,0,0,HasLooseTape,(Inspect the loose tape.)|(1 minute),"It's a strong, one time use duct tape.  It will|be hard to understand someone gagged with it.",10,0,0,ShowImage()
+10,0,0,,(Force your mouth|open.)  (1 minute),You try to force your mouth|open but the tape is too strong.,10,0,0,
+10,0,0,,(Push with your lips.)|(1 minute),You try to push away the|tape but it doesn't move.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Ungag yourself.)|(1 minute),You rip the tape away from your face.|It hurts pretty bad but you can talk again.,0,0,0,SelfUngag()
diff --git a/C999_Common/TapeGag/Stage_FR.csv b/C999_Common/TapeGag/Stage_FR.csv
new file mode 100644
index 0000000000..2e885f41da
--- /dev/null
+++ b/C999_Common/TapeGag/Stage_FR.csv
@@ -0,0 +1,7 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu examines le ruban.)|(1 minute),"Il est solide, une fois utilisé. Il sera difficile|de comprendre quelqu'un bâillonné avec.",0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Tu te bâillonnes.)|(1 minute),Tu prends un morceau de ruban et|le colles fermement sur ta bouche.,10,0,0,SelfGag()
+10,0,0,HasLooseTape,(Tu examines le reste|du ruban.) (1 minute),"Il est solide, une fois utilisé. Il sera difficile|de comprendre quelqu'un bâillonné avec.",10,0,0,ShowImage()
+10,0,0,,(Tu forces ta bouche|à s'ouvrir.) (1 minute),Tu forces pour ouvrir la bouche|mais le ruban ne cède pas.,10,0,0,
+10,0,0,,(Tu le pousses avec|tes lèvres.) (1 minute),Tu essayes d'enlever le|ruban mais il ne cède pas.,10,0,0,
+10,0,0,Common_PlayerNotRestrained,(Tu te débâillonnes.)|(1 minute),Tu arraches le ruban de ton visage.|Ça fait très mal mais tu peux parler à nouveau.,0,0,0,SelfUngag()
diff --git a/C999_Common/TapeGag/Tape.jpg b/C999_Common/TapeGag/Tape.jpg
new file mode 100644
index 0000000000..176eb0b4fc
Binary files /dev/null and b/C999_Common/TapeGag/Tape.jpg differ
diff --git a/C999_Common/TapeGag/Text_CN.csv b/C999_Common/TapeGag/Text_CN.csv
new file mode 100644
index 0000000000..af353f08c7
--- /dev/null
+++ b/C999_Common/TapeGag/Text_CN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,你幻想了一下自己戴上口球的样子,|但你意识到现在不该用胶带封嘴。
diff --git a/C999_Common/TapeGag/Text_EN.csv b/C999_Common/TapeGag/Text_EN.csv
new file mode 100644
index 0000000000..63bb551e2b
--- /dev/null
+++ b/C999_Common/TapeGag/Text_EN.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,You fantasizes about being gagged but realize that|it might not be the best time to gag yourself.
diff --git a/C999_Common/TapeGag/Text_FR.csv b/C999_Common/TapeGag/Text_FR.csv
new file mode 100644
index 0000000000..02cfad3522
--- /dev/null
+++ b/C999_Common/TapeGag/Text_FR.csv
@@ -0,0 +1,2 @@
+Tag,Content
+BadTiming,Tu fantasmes sur le ruban mais tu réalises que ce|n'est peut être pas le meilleur moment pour le mettre.
diff --git a/C999_Common/VibratingEgg/Egg.jpg b/C999_Common/VibratingEgg/Egg.jpg
new file mode 100644
index 0000000000..56296a5d1f
Binary files /dev/null and b/C999_Common/VibratingEgg/Egg.jpg differ
diff --git a/C999_Common/VibratingEgg/Intro_CN.csv b/C999_Common/VibratingEgg/Intro_CN.csv
new file mode 100644
index 0000000000..4898c5b12c
--- /dev/null
+++ b/C999_Common/VibratingEgg/Intro_CN.csv
@@ -0,0 +1,4 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,这个跳蛋看来会不定时启动或停止。|你没有遥控器。,Egg.jpg
+10,0,0,,这个跳蛋在你身体深处。|你不知道怎么把它拿出来。,Egg.jpg
+20,0,0,,这个跳蛋在你身体深处。你很难拿它出来,|特别是当你被束缚着的时候。,Egg.jpg
diff --git a/C999_Common/VibratingEgg/Intro_EN.csv b/C999_Common/VibratingEgg/Intro_EN.csv
new file mode 100644
index 0000000000..fb1d366152
--- /dev/null
+++ b/C999_Common/VibratingEgg/Intro_EN.csv
@@ -0,0 +1,4 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,This vibrating egg seems to go on and off at random.|You don't have the remote control for it.,Egg.jpg
+10,0,0,,The egg is deep inside of you.|You're not sure how to remove it.,Egg.jpg
+20,0,0,,The egg is deep inside of you.  It will be|even harder to remove it while restrained.,Egg.jpg
diff --git a/C999_Common/VibratingEgg/Intro_FR.csv b/C999_Common/VibratingEgg/Intro_FR.csv
new file mode 100644
index 0000000000..82a802d632
--- /dev/null
+++ b/C999_Common/VibratingEgg/Intro_FR.csv
@@ -0,0 +1,4 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,Cet oeuf vibrant semble s'allumer et s'éteindre| au hasard. Tu n'as pas la télécommande associée.,Egg.jpg
+10,0,0,,L'oeuf est enfoncé profondément.|Tu n'es pas sûre de pouvoir l'enlever.,Egg.jpg
+20,0,0,,L'oeuf est enfoncé profondément. Il|sera encore plus dur à enlever en étant attachée.,Egg.jpg
diff --git a/C999_Common/VibratingEgg/Script.js b/C999_Common/VibratingEgg/Script.js
new file mode 100644
index 0000000000..7e61e7b423
--- /dev/null
+++ b/C999_Common/VibratingEgg/Script.js
@@ -0,0 +1,56 @@
+var C999_Common_VibratingEgg_CurrentStage = 0;
+var C999_Common_VibratingEgg_HasLooseEgg = false;
+var C999_Common_VibratingEgg_ConfirmInsert = false;
+
+// Chapter Common - Egg Load
+function C999_Common_VibratingEgg_Load() {
+
+	// Load the scene parameters
+	LeaveIcon = "Leave";
+	LoadInteractions();
+	
+	// Set the correct stage
+	C999_Common_VibratingEgg_ConfirmInsert = false;
+	C999_Common_VibratingEgg_CurrentStage = 0;
+	if (PlayerHasLockedInventory("VibratingEgg")) C999_Common_VibratingEgg_CurrentStage = 10;
+	if ((PlayerHasLockedInventory("VibratingEgg")) && Common_PlayerRestrained) C999_Common_VibratingEgg_CurrentStage = 20;
+
+	// If the player has a loose egg
+	C999_Common_VibratingEgg_HasLooseEgg = PlayerHasInventory("VibratingEgg");
+
+}
+
+// Chapter Common - Egg Run, we draw the regular player image if the item is on
+function C999_Common_VibratingEgg_Run() {
+	BuildInteraction(C999_Common_VibratingEgg_CurrentStage);
+	if (PlayerHasLockedInventory("VibratingEgg") && (OverridenIntroImage == "")) DrawPlayerImage(0, 0);
+}
+
+// Chapter Common - Egg Click, allow regular interactions and clicking on another item
+function C999_Common_VibratingEgg_Click() {
+	OverridenIntroImage = "";
+	ClickInteraction(C999_Common_VibratingEgg_CurrentStage);
+	InventoryClick(GetClickedInventory(), LeaveChapter, LeaveScreen);
+}
+
+// Chapter Common - Egg Insert, it doesn't work with a chastity belt and the player must confirm
+function C999_Common_VibratingEgg_Insert() {
+	if (!Common_PlayerChaste) {
+		if (!C999_Common_VibratingEgg_ConfirmInsert) {
+			C999_Common_VibratingEgg_ConfirmInsert = true;
+			OverridenIntroText = GetText("ConfirmInsert");
+		} else {
+			PlayerRemoveInventory("VibratingEgg", 1);
+			PlayerLockInventory("VibratingEgg");
+			C999_Common_VibratingEgg_CurrentStage = 10;			
+			C999_Common_VibratingEgg_HasLooseEgg = PlayerHasInventory("VibratingEgg");
+		}		
+	} else {
+		OverridenIntroText = GetText("ChastityBelt");
+	}
+}
+
+// Chapter Common - Show the item image
+function C999_Common_VibratingEgg_ShowImage() {
+	OverridenIntroImage = "Egg.jpg";
+}
\ No newline at end of file
diff --git a/C999_Common/VibratingEgg/Stage_CN.csv b/C999_Common/VibratingEgg/Stage_CN.csv
new file mode 100644
index 0000000000..a4e25031e2
--- /dev/null
+++ b/C999_Common/VibratingEgg/Stage_CN.csv
@@ -0,0 +1,8 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),This vibrating egg is so random and small.|It might be hard to get it back if you insert it.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Insert it.)|(1 minute),"You slip the egg in your vagina.  It vibrates and goes|deeper, you're not sure you'll be able to remove it.",0,0,0,Insert()
+10,0,0,HasLooseEgg,(Inspect the loose egg.)|(1 minute),This vibrating egg is so random and small.|It might be hard to get it back if inserted.,10,0,0,ShowImage()
+10,0,0,,(Remove it with a finger.)|(1 minute),You slide a finger in but cannot grab|the egg to remove it.  You're stuck with it.,10,0,0,
+10,0,0,,(Remove it by contracting.)|(1 minute),You squirm and try to contract your vagina|but the egg doesn't move.  You're stuck with it.,10,0,0,
+20,0,0,HasLooseEgg,(Inspect the loose egg.)|(1 minute),This vibrating egg is so random and small.|It might be hard to get it back if inserted.,20,0,0,ShowImage()
+20,0,0,,(Remove it by contracting.)|(1 minute),You squirm and try to contract your vagina|but the egg doesn't move.  You're stuck with it.,20,0,0,
diff --git a/C999_Common/VibratingEgg/Stage_EN.csv b/C999_Common/VibratingEgg/Stage_EN.csv
new file mode 100644
index 0000000000..a4e25031e2
--- /dev/null
+++ b/C999_Common/VibratingEgg/Stage_EN.csv
@@ -0,0 +1,8 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Inspect it.)|(1 minute),This vibrating egg is so random and small.|It might be hard to get it back if you insert it.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Insert it.)|(1 minute),"You slip the egg in your vagina.  It vibrates and goes|deeper, you're not sure you'll be able to remove it.",0,0,0,Insert()
+10,0,0,HasLooseEgg,(Inspect the loose egg.)|(1 minute),This vibrating egg is so random and small.|It might be hard to get it back if inserted.,10,0,0,ShowImage()
+10,0,0,,(Remove it with a finger.)|(1 minute),You slide a finger in but cannot grab|the egg to remove it.  You're stuck with it.,10,0,0,
+10,0,0,,(Remove it by contracting.)|(1 minute),You squirm and try to contract your vagina|but the egg doesn't move.  You're stuck with it.,10,0,0,
+20,0,0,HasLooseEgg,(Inspect the loose egg.)|(1 minute),This vibrating egg is so random and small.|It might be hard to get it back if inserted.,20,0,0,ShowImage()
+20,0,0,,(Remove it by contracting.)|(1 minute),You squirm and try to contract your vagina|but the egg doesn't move.  You're stuck with it.,20,0,0,
diff --git a/C999_Common/VibratingEgg/Stage_FR.csv b/C999_Common/VibratingEgg/Stage_FR.csv
new file mode 100644
index 0000000000..e301d47ba1
--- /dev/null
+++ b/C999_Common/VibratingEgg/Stage_FR.csv
@@ -0,0 +1,8 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,(Tu l'examines.)|(1 minute),Cet oeuf vibrant est si fortuit et petit.|Ça risque d'être dur de le récupérer si tu l'insères.,0,0,0,
+0,0,0,Common_PlayerNotRestrained,(Tu l'insères.)|(1 minute),"Tu glisses l'oeuf dans ton vagin. Il vibre et s'enfonce|profondément, tu n'es pas sûre de pouvoir l'enlever.",0,0,0,Insert()
+10,0,0,HasLooseEgg,(Tu examines un autre|oeuf.) (1 minute),Cet oeuf vibrant est si fortuit et petit.|Ça risque d'être dur de le récupérer s'il est inséré.,10,0,0,ShowImage()
+10,0,0,,(Tu l'enlèves avec un|doigt.) (1 minute),Tu glisses un doigt à l'intérieur mais|tu n'arrives pas à l'attraper. Tu es coincée avec.,10,0,0,
+10,0,0,,(Tu l'enlèves en poussant.)|(1 minute),Tu te détends et essayes de l'expulser de ton vagin|mais l'oeuf ne bouge pas. Tu es coincée avec.,10,0,0,
+20,0,0,HasLooseEgg,(Tu examines un autre|oeuf.) (1 minute),Cet oeuf vibrant est si fortuit et petit.|Ça risque d'être dur de le récupérer s'il est inséré.,20,0,0,ShowImage()
+20,0,0,,(Tu l'enlèves en poussant.)|(1 minute),Tu te détends et essayes de l'expulser de ton vagin|mais l'oeuf ne bouge pas. Tu es coincée avec.,20,0,0,
diff --git a/C999_Common/VibratingEgg/Text_CN.csv b/C999_Common/VibratingEgg/Text_CN.csv
new file mode 100644
index 0000000000..69c3d34839
--- /dev/null
+++ b/C999_Common/VibratingEgg/Text_CN.csv
@@ -0,0 +1,3 @@
+Tag,Content
+ConfirmInsert,Are you sure you want to insert the egg|in your vagina?  Click again to do so.
+ChastityBelt,You tug and pull on your chastity belt to|insert the egg but there's not enough room.
diff --git a/C999_Common/VibratingEgg/Text_EN.csv b/C999_Common/VibratingEgg/Text_EN.csv
new file mode 100644
index 0000000000..69c3d34839
--- /dev/null
+++ b/C999_Common/VibratingEgg/Text_EN.csv
@@ -0,0 +1,3 @@
+Tag,Content
+ConfirmInsert,Are you sure you want to insert the egg|in your vagina?  Click again to do so.
+ChastityBelt,You tug and pull on your chastity belt to|insert the egg but there's not enough room.
diff --git a/C999_Common/VibratingEgg/Text_FR.csv b/C999_Common/VibratingEgg/Text_FR.csv
new file mode 100644
index 0000000000..751beac6be
--- /dev/null
+++ b/C999_Common/VibratingEgg/Text_FR.csv
@@ -0,0 +1,3 @@
+Tag,Content
+ConfirmInsert,Es-tu certaine de vouloir insérer l'oeuf dans|ton vagin ? Clique de nouveau pour le faire.
+ChastityBelt,Tu te débats avec la ceinture de chasteté mais n'arrives|pas à trouver l'espace requis pour insérer l'oeuf.
\ No newline at end of file
diff --git a/Icons/BallGag_Active.png b/Icons/BallGag_Active.png
new file mode 100644
index 0000000000..df192e2f49
Binary files /dev/null and b/Icons/BallGag_Active.png differ
diff --git a/Icons/BallGag_Inactive.png b/Icons/BallGag_Inactive.png
new file mode 100644
index 0000000000..0120f5b4b1
Binary files /dev/null and b/Icons/BallGag_Inactive.png differ
diff --git a/Icons/Blindfold_Active.png b/Icons/Blindfold_Active.png
new file mode 100644
index 0000000000..9d9bc1be38
Binary files /dev/null and b/Icons/Blindfold_Active.png differ
diff --git a/Icons/Blindfold_Inactive.png b/Icons/Blindfold_Inactive.png
new file mode 100644
index 0000000000..9097893e78
Binary files /dev/null and b/Icons/Blindfold_Inactive.png differ
diff --git a/Icons/Bondage.png b/Icons/Bondage.png
new file mode 100644
index 0000000000..4495c3962f
Binary files /dev/null and b/Icons/Bondage.png differ
diff --git a/Icons/ChastityBelt_Active.png b/Icons/ChastityBelt_Active.png
new file mode 100644
index 0000000000..bea94887c1
Binary files /dev/null and b/Icons/ChastityBelt_Active.png differ
diff --git a/Icons/ChastityBelt_Inactive.png b/Icons/ChastityBelt_Inactive.png
new file mode 100644
index 0000000000..23480a4a39
Binary files /dev/null and b/Icons/ChastityBelt_Inactive.png differ
diff --git a/Icons/Clock.png b/Icons/Clock.png
new file mode 100644
index 0000000000..fdf160360a
Binary files /dev/null and b/Icons/Clock.png differ
diff --git a/Icons/ClothGag_Active.png b/Icons/ClothGag_Active.png
new file mode 100644
index 0000000000..44ed82536b
Binary files /dev/null and b/Icons/ClothGag_Active.png differ
diff --git a/Icons/ClothGag_Inactive.png b/Icons/ClothGag_Inactive.png
new file mode 100644
index 0000000000..bf089f5f2b
Binary files /dev/null and b/Icons/ClothGag_Inactive.png differ
diff --git a/Icons/Collar_Active.png b/Icons/Collar_Active.png
new file mode 100644
index 0000000000..3d3342ebf9
Binary files /dev/null and b/Icons/Collar_Active.png differ
diff --git a/Icons/Collar_Inactive.png b/Icons/Collar_Inactive.png
new file mode 100644
index 0000000000..c1d3616c42
Binary files /dev/null and b/Icons/Collar_Inactive.png differ
diff --git a/Icons/Crop_Active.png b/Icons/Crop_Active.png
new file mode 100644
index 0000000000..ae1d181191
Binary files /dev/null and b/Icons/Crop_Active.png differ
diff --git a/Icons/Crop_Inactive.png b/Icons/Crop_Inactive.png
new file mode 100644
index 0000000000..045ed4d2ff
Binary files /dev/null and b/Icons/Crop_Inactive.png differ
diff --git a/Icons/CuffsKey_Active.png b/Icons/CuffsKey_Active.png
new file mode 100644
index 0000000000..757f9507f7
Binary files /dev/null and b/Icons/CuffsKey_Active.png differ
diff --git a/Icons/CuffsKey_Inactive.png b/Icons/CuffsKey_Inactive.png
new file mode 100644
index 0000000000..c329a69bbf
Binary files /dev/null and b/Icons/CuffsKey_Inactive.png differ
diff --git a/Icons/Cuffs_Active.png b/Icons/Cuffs_Active.png
new file mode 100644
index 0000000000..935f7c9fae
Binary files /dev/null and b/Icons/Cuffs_Active.png differ
diff --git a/Icons/Cuffs_Inactive.png b/Icons/Cuffs_Inactive.png
new file mode 100644
index 0000000000..764bb53cad
Binary files /dev/null and b/Icons/Cuffs_Inactive.png differ
diff --git a/Icons/DoubleOpenGag_Active.png b/Icons/DoubleOpenGag_Active.png
new file mode 100644
index 0000000000..c59f6d382c
Binary files /dev/null and b/Icons/DoubleOpenGag_Active.png differ
diff --git a/Icons/DoubleOpenGag_Inactive.png b/Icons/DoubleOpenGag_Inactive.png
new file mode 100644
index 0000000000..57e9b81700
Binary files /dev/null and b/Icons/DoubleOpenGag_Inactive.png differ
diff --git a/Icons/Heart.png b/Icons/Heart.png
new file mode 100644
index 0000000000..2e274b8a98
Binary files /dev/null and b/Icons/Heart.png differ
diff --git a/Icons/Leave_Active.png b/Icons/Leave_Active.png
new file mode 100644
index 0000000000..bbeec9c4f5
Binary files /dev/null and b/Icons/Leave_Active.png differ
diff --git a/Icons/Leave_Inactive.png b/Icons/Leave_Inactive.png
new file mode 100644
index 0000000000..f6f757c00d
Binary files /dev/null and b/Icons/Leave_Inactive.png differ
diff --git a/Icons/Lock.png b/Icons/Lock.png
new file mode 100644
index 0000000000..7663e2b74c
Binary files /dev/null and b/Icons/Lock.png differ
diff --git a/Icons/Lock_Active.png b/Icons/Lock_Active.png
new file mode 100644
index 0000000000..ed8b69db72
Binary files /dev/null and b/Icons/Lock_Active.png differ
diff --git a/Icons/Lock_Inactive.png b/Icons/Lock_Inactive.png
new file mode 100644
index 0000000000..62c8ad7e69
Binary files /dev/null and b/Icons/Lock_Inactive.png differ
diff --git a/Icons/MetalSheet_Active.png b/Icons/MetalSheet_Active.png
new file mode 100644
index 0000000000..7fd1fb4b48
Binary files /dev/null and b/Icons/MetalSheet_Active.png differ
diff --git a/Icons/MetalSheet_Inactive.png b/Icons/MetalSheet_Inactive.png
new file mode 100644
index 0000000000..4c1511ac0b
Binary files /dev/null and b/Icons/MetalSheet_Inactive.png differ
diff --git a/Icons/Orgasm.png b/Icons/Orgasm.png
new file mode 100644
index 0000000000..6ae6175460
Binary files /dev/null and b/Icons/Orgasm.png differ
diff --git a/Icons/Player_Active.png b/Icons/Player_Active.png
new file mode 100644
index 0000000000..036aec4786
Binary files /dev/null and b/Icons/Player_Active.png differ
diff --git a/Icons/Player_BallGag_Active.png b/Icons/Player_BallGag_Active.png
new file mode 100644
index 0000000000..1dc030bb04
Binary files /dev/null and b/Icons/Player_BallGag_Active.png differ
diff --git a/Icons/Player_BallGag_Blindfold_Active.png b/Icons/Player_BallGag_Blindfold_Active.png
new file mode 100644
index 0000000000..4123cf9969
Binary files /dev/null and b/Icons/Player_BallGag_Blindfold_Active.png differ
diff --git a/Icons/Player_BallGag_Blindfold_Blink_Active.png b/Icons/Player_BallGag_Blindfold_Blink_Active.png
new file mode 100644
index 0000000000..4123cf9969
Binary files /dev/null and b/Icons/Player_BallGag_Blindfold_Blink_Active.png differ
diff --git a/Icons/Player_BallGag_Blindfold_Blink_Inactive.png b/Icons/Player_BallGag_Blindfold_Blink_Inactive.png
new file mode 100644
index 0000000000..66f0e2e059
Binary files /dev/null and b/Icons/Player_BallGag_Blindfold_Blink_Inactive.png differ
diff --git a/Icons/Player_BallGag_Blindfold_Inactive.png b/Icons/Player_BallGag_Blindfold_Inactive.png
new file mode 100644
index 0000000000..66f0e2e059
Binary files /dev/null and b/Icons/Player_BallGag_Blindfold_Inactive.png differ
diff --git a/Icons/Player_BallGag_Blink_Active.png b/Icons/Player_BallGag_Blink_Active.png
new file mode 100644
index 0000000000..0c6a9037ea
Binary files /dev/null and b/Icons/Player_BallGag_Blink_Active.png differ
diff --git a/Icons/Player_BallGag_Blink_Inactive.png b/Icons/Player_BallGag_Blink_Inactive.png
new file mode 100644
index 0000000000..8f7fbfda27
Binary files /dev/null and b/Icons/Player_BallGag_Blink_Inactive.png differ
diff --git a/Icons/Player_BallGag_Inactive.png b/Icons/Player_BallGag_Inactive.png
new file mode 100644
index 0000000000..c68ba5847d
Binary files /dev/null and b/Icons/Player_BallGag_Inactive.png differ
diff --git a/Icons/Player_Blindfold_Active.png b/Icons/Player_Blindfold_Active.png
new file mode 100644
index 0000000000..2f6886178e
Binary files /dev/null and b/Icons/Player_Blindfold_Active.png differ
diff --git a/Icons/Player_Blindfold_Blink_Active.png b/Icons/Player_Blindfold_Blink_Active.png
new file mode 100644
index 0000000000..2f6886178e
Binary files /dev/null and b/Icons/Player_Blindfold_Blink_Active.png differ
diff --git a/Icons/Player_Blindfold_Blink_Inactive.png b/Icons/Player_Blindfold_Blink_Inactive.png
new file mode 100644
index 0000000000..873ecfdf26
Binary files /dev/null and b/Icons/Player_Blindfold_Blink_Inactive.png differ
diff --git a/Icons/Player_Blindfold_Inactive.png b/Icons/Player_Blindfold_Inactive.png
new file mode 100644
index 0000000000..873ecfdf26
Binary files /dev/null and b/Icons/Player_Blindfold_Inactive.png differ
diff --git a/Icons/Player_Blink_Active.png b/Icons/Player_Blink_Active.png
new file mode 100644
index 0000000000..a37a8d8d92
Binary files /dev/null and b/Icons/Player_Blink_Active.png differ
diff --git a/Icons/Player_Blink_Inactive.png b/Icons/Player_Blink_Inactive.png
new file mode 100644
index 0000000000..80b54a364d
Binary files /dev/null and b/Icons/Player_Blink_Inactive.png differ
diff --git a/Icons/Player_ClothGag_Active.png b/Icons/Player_ClothGag_Active.png
new file mode 100644
index 0000000000..ccc5d1ebd2
Binary files /dev/null and b/Icons/Player_ClothGag_Active.png differ
diff --git a/Icons/Player_ClothGag_Blink_Active.png b/Icons/Player_ClothGag_Blink_Active.png
new file mode 100644
index 0000000000..4446f8179e
Binary files /dev/null and b/Icons/Player_ClothGag_Blink_Active.png differ
diff --git a/Icons/Player_ClothGag_Blink_Inactive.png b/Icons/Player_ClothGag_Blink_Inactive.png
new file mode 100644
index 0000000000..cbc2a5dbc1
Binary files /dev/null and b/Icons/Player_ClothGag_Blink_Inactive.png differ
diff --git a/Icons/Player_ClothGag_Inactive.png b/Icons/Player_ClothGag_Inactive.png
new file mode 100644
index 0000000000..d6c72dd09b
Binary files /dev/null and b/Icons/Player_ClothGag_Inactive.png differ
diff --git a/Icons/Player_DoubleOpenGag_Active.png b/Icons/Player_DoubleOpenGag_Active.png
new file mode 100644
index 0000000000..0dc49003b1
Binary files /dev/null and b/Icons/Player_DoubleOpenGag_Active.png differ
diff --git a/Icons/Player_DoubleOpenGag_Blink_Active.png b/Icons/Player_DoubleOpenGag_Blink_Active.png
new file mode 100644
index 0000000000..7183f80578
Binary files /dev/null and b/Icons/Player_DoubleOpenGag_Blink_Active.png differ
diff --git a/Icons/Player_DoubleOpenGag_Blink_Inactive.png b/Icons/Player_DoubleOpenGag_Blink_Inactive.png
new file mode 100644
index 0000000000..dc0d7a0ff0
Binary files /dev/null and b/Icons/Player_DoubleOpenGag_Blink_Inactive.png differ
diff --git a/Icons/Player_DoubleOpenGag_Inactive.png b/Icons/Player_DoubleOpenGag_Inactive.png
new file mode 100644
index 0000000000..994173a9fd
Binary files /dev/null and b/Icons/Player_DoubleOpenGag_Inactive.png differ
diff --git a/Icons/Player_Inactive.png b/Icons/Player_Inactive.png
new file mode 100644
index 0000000000..bb73587c63
Binary files /dev/null and b/Icons/Player_Inactive.png differ
diff --git a/Icons/Player_TapeGag_Active.png b/Icons/Player_TapeGag_Active.png
new file mode 100644
index 0000000000..77c1e80f54
Binary files /dev/null and b/Icons/Player_TapeGag_Active.png differ
diff --git a/Icons/Player_TapeGag_Blink_Active.png b/Icons/Player_TapeGag_Blink_Active.png
new file mode 100644
index 0000000000..0af3394c8e
Binary files /dev/null and b/Icons/Player_TapeGag_Blink_Active.png differ
diff --git a/Icons/Player_TapeGag_Blink_Inactive.png b/Icons/Player_TapeGag_Blink_Inactive.png
new file mode 100644
index 0000000000..2121da65b6
Binary files /dev/null and b/Icons/Player_TapeGag_Blink_Inactive.png differ
diff --git a/Icons/Player_TapeGag_Inactive.png b/Icons/Player_TapeGag_Inactive.png
new file mode 100644
index 0000000000..40f6f4c59b
Binary files /dev/null and b/Icons/Player_TapeGag_Inactive.png differ
diff --git a/Icons/Rope_Active.png b/Icons/Rope_Active.png
new file mode 100644
index 0000000000..e2d79db421
Binary files /dev/null and b/Icons/Rope_Active.png differ
diff --git a/Icons/Rope_Inactive.png b/Icons/Rope_Inactive.png
new file mode 100644
index 0000000000..61eec7e10d
Binary files /dev/null and b/Icons/Rope_Inactive.png differ
diff --git a/Icons/RustyHook_Active.png b/Icons/RustyHook_Active.png
new file mode 100644
index 0000000000..65b79a8bbf
Binary files /dev/null and b/Icons/RustyHook_Active.png differ
diff --git a/Icons/RustyHook_Inactive.png b/Icons/RustyHook_Inactive.png
new file mode 100644
index 0000000000..ba45f40d07
Binary files /dev/null and b/Icons/RustyHook_Inactive.png differ
diff --git a/Icons/SleepingPill_Active.png b/Icons/SleepingPill_Active.png
new file mode 100644
index 0000000000..93244190b1
Binary files /dev/null and b/Icons/SleepingPill_Active.png differ
diff --git a/Icons/SleepingPill_Inactive.png b/Icons/SleepingPill_Inactive.png
new file mode 100644
index 0000000000..1317351a18
Binary files /dev/null and b/Icons/SleepingPill_Inactive.png differ
diff --git a/Icons/Submission.png b/Icons/Submission.png
new file mode 100644
index 0000000000..279e8bc03a
Binary files /dev/null and b/Icons/Submission.png differ
diff --git a/Icons/TapeGag_Active.png b/Icons/TapeGag_Active.png
new file mode 100644
index 0000000000..456cd654dc
Binary files /dev/null and b/Icons/TapeGag_Active.png differ
diff --git a/Icons/TapeGag_Inactive.png b/Icons/TapeGag_Inactive.png
new file mode 100644
index 0000000000..425eaad305
Binary files /dev/null and b/Icons/TapeGag_Inactive.png differ
diff --git a/Icons/VibratingEgg_Active.png b/Icons/VibratingEgg_Active.png
new file mode 100644
index 0000000000..bc3d2b8446
Binary files /dev/null and b/Icons/VibratingEgg_Active.png differ
diff --git a/Icons/VibratingEgg_Inactive.png b/Icons/VibratingEgg_Inactive.png
new file mode 100644
index 0000000000..fb4645ea3e
Binary files /dev/null and b/Icons/VibratingEgg_Inactive.png differ
diff --git a/Icons/Wait_Active.png b/Icons/Wait_Active.png
new file mode 100644
index 0000000000..d7fca93b23
Binary files /dev/null and b/Icons/Wait_Active.png differ
diff --git a/Icons/Wait_Inactive.png b/Icons/Wait_Inactive.png
new file mode 100644
index 0000000000..d5961a3b97
Binary files /dev/null and b/Icons/Wait_Inactive.png differ