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