Full game log for all chapters

Full game log for all chapters
This commit is contained in:
Ben987 2018-03-24 16:33:28 -04:00
parent a8e2deff5c
commit c3a38f3472
36 changed files with 186 additions and 88 deletions
C007_LunchBreak
C008_DramaClass
AmandaIntro
Damsel
DressingRoom
Heroine
Julia
JuliaIntro
Outro
SarahIntro
Transition
Villain
C009_Library
Jennifer
Library
Outro
Search
C010_Revenge
AmandaSarah
EarlyEnding
Intro
Outro
SidneyJennifer
C101_KinbakuClub/JennaIntro
Common.jsGameLog.jsInventory.jsSaveState.js

View file

@ -178,7 +178,8 @@ function C007_LunchBreak_Amanda_NoLeave() {
}
// Chapter 7 - Amanda Start Lunch
function C007_LunchBreak_Amanda_StartLunch() {
function C007_LunchBreak_Amanda_StartLunch() {
GameLogAdd("Lunch");
CurrentTime = CurrentTime + 480000;
LeaveIcon = "";
}
@ -213,7 +214,7 @@ function C007_LunchBreak_Amanda_TestMatch() {
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
else { GameLogAdd("LunchBonus"); C007_LunchBreak_ActorSelect_BonusDone = true; } // With a mode, we flag the bonus scene
OverridenIntroImage = "";
}
@ -337,11 +338,16 @@ function C007_LunchBreak_Amanda_EndBonus() {
function C007_LunchBreak_Amanda_EvilEnd() {
if (C007_LunchBreak_Amanda_ConfirmEvil) {
C007_LunchBreak_ActorSelect_EvilEnding = true;
Common_PlayerCrime = "AmandaStranded";
GameLogAdd("Stranded");
ActorChangeAttitude(-5, 1);
SetScene(CurrentChapter, "Outro");
} else {
OverridenIntroText = GetText("LeaveBoundAndGagged");
C007_LunchBreak_Amanda_ConfirmEvil = true;
}
}
// Chapter 7 - Amanda Kiss
function C007_LunchBreak_Amanda_Kiss() {
GameLogAdd("Kiss");
}

View file

@ -78,12 +78,12 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
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,HasSeduction,"Amy, you're the sweetest|thing in this college.",(She blushes red and giggles.)|You're also sweet COMMON_PLAYERNAME.,210,2,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,,Can I kiss you?|(1 minute),(She nods and puts her lips against yours.),220,1,0,Kiss()
200,0,0,,(Stay silent and kiss her.)|(1 minute),,220,0,1,Kiss()
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,,I love you Amanda.|(1 minute),(She blushes and puts her lips against yours.),220,1,0,Kiss()
210,0,0,,Can I kiss you?|(1 minute),(She nods and puts her lips against yours.),220,1,-1,Kiss()
210,0,0,,(Stay silent and kiss her.)|(1 minute),"(Without saying a word, you|kiss each other on the lips.)",220,0,1,Kiss()
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,
@ -92,7 +92,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
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,,(Kiss her.)|(1 minute),(You kiss each other tenderly.|Moaning with each touch.),240,0,0,Kiss()
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()
@ -102,8 +102,8 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
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,,A kiss my love?|(1 minute),(She nods and kisses you tenderly.),280,1,0,Kiss()
260,0,0,,(Stay silent and kiss her.)|(1 minute),(You kiss each other tenderly.),280,0,1,Kiss()
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()
@ -112,9 +112,9 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
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,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,Kiss()
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,Kiss()
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,Kiss()
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,
@ -125,11 +125,11 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
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,5,0,,I want more romance.|(1 minute),(She nods slowly and grabs|your hands for a loving kiss.),220,0,0,Kiss()
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,,(Kiss her.)|(1 minute),(You kiss her slowly while she moans.),330,0,0,Kiss()
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()

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
78 200 0 0 Thanks for showing|me this lovely cafe. My pleasure! We had a good time. 210 1 -1
79 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
80 200 0 0 HasSeduction Amy, you're the sweetest|thing in this college. (She blushes red and giggles.)|You're also sweet COMMON_PLAYERNAME. 210 2 0
81 200 0 0 Can I kiss you?|(1 minute) (She nods and puts her lips against yours.) 220 1 0 Kiss()
82 200 0 0 (Stay silent and kiss her.)|(1 minute) 220 0 1 Kiss()
83 200 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()
84 210 0 0 I love you Amanda.|(1 minute) (She blushes and puts her lips against yours.) 220 1 0 Kiss()
85 210 0 0 Can I kiss you?|(1 minute) (She nods and puts her lips against yours.) 220 1 -1 Kiss()
86 210 0 0 (Stay silent and kiss her.)|(1 minute) (Without saying a word, you|kiss each other on the lips.) 220 0 1 Kiss()
87 210 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()
88 220 0 0 (Kiss her again.)|(1 minute) (You grab her and kiss her|again while she moans quietly.) 220 0 0
89 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
92 230 0 0 Mmmmmhmmmh.|(1 minute) (You both keep up the pace and|play with each other tongues.) 230 0 0
93 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()
94 230 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()
95 240 0 0 (Kiss her.)|(1 minute) (You kiss each other tenderly.|Moaning with each touch.) 240 0 0 Kiss()
96 240 0 0 (Massage her breast.)|(1 minute) (You massage each other breast lovingly.|Gently squeezing without hurting.) 240 0 0
97 240 0 0 (Masturbate her.)|(1 minute) (You both masturbate each other and moan|softly. Making sure nobody is looking.) 240 0 0 LoveMasturbate()
98 240 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()
102 250 0 0 Did you also cum? Don't worry, I had a wonderful time. 260 0 1
103 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
104 250 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()
105 260 0 0 A kiss my love?|(1 minute) (She nods and kisses you tenderly.) 280 1 0 Kiss()
106 260 0 0 (Stay silent and kiss her.)|(1 minute) (You kiss each other tenderly.) 280 0 1 Kiss()
107 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
108 260 0 0 Next time you|will cum like crazy. (She frowns at your words.)|Let's go back to school. 270 -1 1
109 260 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()
112 270 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()
113 280 0 0 (Kiss her again.)|(1 minute) (She giggles and kisses you again.) 280 0 0
114 280 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()
115 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 Kiss()
116 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 Kiss()
117 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 Kiss()
118 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
119 300 0 0 Did you have|fun today? Oh yes! We seem to fit well together. 320 0 0
120 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
125 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
126 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
127 320 0 0 Better not be late.|(Back to college.) 0 0 0 EndBonus()
128 320 5 0 I want more romance.|(1 minute) (She nods slowly and grabs|your hands for a loving kiss.) 220 0 0 Kiss()
129 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
130 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
131 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
132 330 0 0 (Kiss her.)|(1 minute) (You kiss her slowly while she moans.) 330 0 0 Kiss()
133 330 0 0 (Tickle her.)|(1 minute) (She struggles playfully to avoid|your tickling but seems to enjoy it.) 330 0 0 Tickle()
134 330 0 0 (Masturbate her.)|(1 minute) (She moans silently while you masturbate her.|Trembling lightly at your loving touch.) 330 0 0 Masturbate()
135 330 0 0 IsRoped (Untie her.)|(1 minute) (One knot at a time, you|release her from her bondage.) 330 0 0 Untie()

View file

@ -209,6 +209,7 @@ function C007_LunchBreak_Jennifer_EndLunch() {
// Chapter 7 - Jennifer Play Tennis (adds 5 minutes)
function C007_LunchBreak_Jennifer_PlayTennis(Difficulty) {
GameLogAdd("Lunch");
CurrentTime = CurrentTime + 300000;
C007_LunchBreak_Jennifer_IntroText = "";
C007_LunchBreak_Jennifer_LeaveIcon = "";
@ -274,6 +275,7 @@ function C007_LunchBreak_Jennifer_Release() {
// Chapter 7 - Jennifer Enter Tennis Court (Adds 5 minutes)
function C007_LunchBreak_Jennifer_EnterTennis() {
GameLogAdd("LunchBonus");
CurrentTime = CurrentTime + 300000;
}
@ -339,7 +341,7 @@ function C007_LunchBreak_Jennifer_Masturbate() {
function C007_LunchBreak_Jennifer_EvilEnd() {
if (C007_LunchBreak_Jennifer_ConfirmEvil) {
C007_LunchBreak_ActorSelect_EvilEnding = true;
Common_PlayerCrime = "JenniferStranded";
GameLogAdd("Stranded");
ActorChangeAttitude(-5, 1);
SetScene(CurrentChapter, "Outro");
} else {
@ -367,9 +369,11 @@ function C007_LunchBreak_Jennifer_PushUp(Quality) {
if (C007_LunchBreak_Jennifer_PushUpQuality >= 20) {
C007_LunchBreak_Jennifer_CurrentStage = 340;
C007_LunchBreak_ActorSelect_BonusDone = true;
GameLogAdd("PushUpSuccess");
OverridenIntroText = GetText("PushUpSuccess");
} else {
C007_LunchBreak_Jennifer_CurrentStage = 400;
GameLogAdd("PushUpFail");
OverridenIntroText = GetText("PushUpFail");
}
}
@ -409,4 +413,9 @@ function C007_LunchBreak_Jennifer_CheckBag() {
function C007_LunchBreak_Jennifer_EndChapter() {
C007_LunchBreak_Jennifer_Release();
SetScene(CurrentChapter, "Outro");
}
// Chapter 7 - Jennifer Kiss
function C007_LunchBreak_Jennifer_Kiss() {
GameLogAdd("Kiss");
}

View file

@ -113,7 +113,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
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,8,0,,Can I have a kiss?|(1 minute),(She blushes and smiles.) Sure.|(You grab each other kiss lovingly.),210,1,0,Kiss()
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()

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
113 185 0 0 !AllowObey Let's go back.|(Back to college.) 0 0 0 EndChapter()
114 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
115 200 0 0 You have to obey|on everything I say. (She nods.) Alright, but there are limits. 220 0 0
116 200 8 0 Can I have a kiss?|(1 minute) (She blushes and smiles.) Sure.|(You grab each other kiss lovingly.) 210 1 0 Kiss()
117 200 0 8 (Grab and strip her.)|(1 minute) (She remains speechless as you|grab her and force her to strip.) 240 -1 1
118 210 0 0 (Kiss her again.)|(1 minute) (You kiss each other again on the|tennis court while moaning lightly.) 210 0 0
119 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()

View file

@ -25,4 +25,6 @@ function C007_LunchBreak_JenniferTennis_FightEnd(Victory) {
if (Victory) PlayerAddSkill("Sports", 1);
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;
if (Victory) GameLogSpecificAdd("C007_LunchBreak", "Jennifer", "TennisVictory");
else GameLogSpecificAdd("C007_LunchBreak", "Jennifer", "TennisDefeat");
}

View file

@ -249,6 +249,7 @@ function C007_LunchBreak_Natalie_ClubMention() {
// Chapter 7 - Natalie Start Lunch
function C007_LunchBreak_Natalie_StartLunch() {
GameLogAdd("Lunch");
CurrentTime = CurrentTime + 120000;
Common_ClubStatus = "ClubLunchVisited";
LeaveIcon = "";
@ -589,14 +590,10 @@ function C007_LunchBreak_Natalie_PlayerBoundGagged() {
// Chapter 7 - Natalie Evil End Chapter (Leave her bound and gagged)
function C007_LunchBreak_Natalie_EvilEnd() {
C007_LunchBreak_ActorSelect_EvilEnding = true;
Common_PlayerCrime = "NatalieStranded";
GameLogAdd("Stranded");
SetScene(CurrentChapter, "Outro");
}
// Chapter 7 - Natalie - Player Good Sub
// Chapter 7 - Natalie - role reversal
function C007_LunchBreak_Natalie_PlayerReversal() {
CurrentTime = CurrentTime + 240000;
@ -604,7 +601,6 @@ function C007_LunchBreak_Natalie_PlayerReversal() {
ActorAddInventory("Rope")
}
// Chapter 7 - Natalie - Player Strip
function C007_LunchBreak_Natalie_PlayerStrip() {
CurrentTime = CurrentTime + 60000;

View file

@ -121,7 +121,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
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,,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()

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
121 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
122 320 0 0 (Struggle playfully.) You're a little wriggler.|(Natalie binds you legs.) It's gag time. 330 1 0
123 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()
124 330 0 0 Do you really want to gag me? 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()
125 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()
126 330 0 0 That's enough|(Clench your jaw.) So you like to play the hard way.|(Natalie pinches nose shut.) 340 1 0
127 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()

View file

@ -176,6 +176,7 @@ function C007_LunchBreak_Sarah_Click() {
// Chapter 7 - Sarah Start Lunch
function C007_LunchBreak_Sarah_StartLunch() {
GameLogAdd("Lunch");
CurrentTime = CurrentTime + 480000;
LeaveIcon = "";
}
@ -222,6 +223,7 @@ function C007_LunchBreak_Sarah_RestroomTimerRun() {
// 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) {
GameLogAdd("LunchBonus");
OverridenIntroText = GetText("OpenRestroomDoor");
C007_LunchBreak_Sarah_CurrentStage = 200;
C007_LunchBreak_Sarah_CalcParams();
@ -311,11 +313,16 @@ function C007_LunchBreak_Sarah_EndChapter() {
function C007_LunchBreak_Sarah_EvilEnd() {
if (C007_LunchBreak_Sarah_ConfirmEvil) {
C007_LunchBreak_ActorSelect_EvilEnding = true;
Common_PlayerCrime = "SarahStranded";
GameLogAdd("Stranded");
ActorChangeAttitude(-5, 1);
SetScene(CurrentChapter, "Outro");
} else {
OverridenIntroText = GetText("LeaveBoundAndGagged");
C007_LunchBreak_Sarah_ConfirmEvil = true;
}
}
// Chapter 7 - Sarah Kiss
function C007_LunchBreak_Sarah_Kiss() {
GameLogAdd("Kiss");
}

View file

@ -85,13 +85,13 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
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,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,Kiss()
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,0,,(Grab her and|kiss her.),(She doesn't resist while you|hug her and kiss her lovingly.),220,0,1,Kiss()
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,Kiss()
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,Kiss()
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,

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
85 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
86 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
87 200 5 0 I wanted more privacy. More privacy? (She giggles.)|And why do you need that? 210 0 0
88 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 Kiss()
89 200 0 5 (Stay silent and|lock the door.) (She looks a little nervous.)|What is going on Miss? 230 0 1
90 200 0 5 Girl, I will|have you now. What? But Miss, we are in a public place. 230 -1 1
91 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
92 210 0 0 (Grab her and|kiss her.) (She doesn't resist while you|hug her and kiss her lovingly.) 220 0 1 Kiss()
93 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 Kiss()
94 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 Kiss()
95 210 0 5 Girl, I will|have you now. What? But Miss, we are in a public place. 230 -1 1
96 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
97 220 0 0 (Kiss her again)|(1 minute) (You slowly kiss each other|in the restaurant restroom.) 220 0 0

View file

@ -175,6 +175,7 @@ function C007_LunchBreak_Sidney_EndLunch() {
// Chapter 7 - Sidney - The player is stuck in the pillory
function C007_LunchBreak_Sidney_Pillory() {
GameLogAdd("Pillory");
C007_LunchBreak_ActorSelect_NoFood = true;
C007_LunchBreak_ActorSelect_Actor = "Sidney";
PlayerSaveAllInventory();
@ -197,6 +198,7 @@ function C007_LunchBreak_Sidney_PilloryFree() {
// Chapter 7 - Sidney Start Lunch
function C007_LunchBreak_Sidney_StartLunch() {
GameLogAdd("Lunch");
CurrentTime = CurrentTime + 480000;
LeaveIcon = "";
}
@ -228,6 +230,7 @@ function C007_LunchBreak_Sidney_CheckForSmoke() {
// Chapter 7 - Sidney Smoke (1 minute)
function C007_LunchBreak_Sidney_Smoke() {
GameLogAdd("Smoke");
CurrentTime = CurrentTime + 60000;
}
@ -300,7 +303,7 @@ function C007_LunchBreak_Sidney_Masturbate() {
function C007_LunchBreak_Sidney_EvilEnd() {
if (C007_LunchBreak_Sidney_ConfirmEvil) {
C007_LunchBreak_ActorSelect_EvilEnding = true;
Common_PlayerCrime = "SidneyStranded";
GameLogAdd("Stranded");
ActorChangeAttitude(-5, 1);
SetScene(CurrentChapter, "Outro");
} else {
@ -334,12 +337,13 @@ function C007_LunchBreak_Sidney_TieUp(TieUpActor) {
// Chapter 7 - Beat Up Amanda or Sarah
function C007_LunchBreak_Sidney_BeatUp(BeatUpActor) {
GameLogSpecificAdd(CurrentChapter, BeatUpActor, "Beat");
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";
GameLogSpecificAdd(CurrentChapter, CrimeActor, "Stranded");
C007_LunchBreak_ActorSelect_EvilEnding = true;
ActorSpecificChangeAttitude(CrimeActor, -3, 1);
C007_LunchBreak_Sidney_EndChapter();

View file

@ -31,7 +31,7 @@ function C008_DramaClass_AmandaIntro_CalcParams() {
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_IsPlayReady = (C008_DramaClass_AmandaIntro_IsBothFree && (C008_DramaClass_AmandaIntro_SarahMissing || (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"));
@ -49,7 +49,7 @@ function C008_DramaClass_AmandaIntro_Load() {
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_SarahMissing = GameLogQuery("C007_LunchBreak", "Sarah", "Stranded");
C008_DramaClass_AmandaIntro_IsHeroine = (C008_DramaClass_JuliaIntro_AmandaRole == "Heroine");
C008_DramaClass_AmandaIntro_TakeKey();
@ -163,6 +163,7 @@ function C008_DramaClass_AmandaIntro_Changing() {
function C008_DramaClass_AmandaIntro_CheatedCover() {
if (ActorGetValue(ActorSubmission) <= 0) {
OverridenIntroText = GetText("CheaterPunishment");
GameLogAdd("CheaterPunishment");
CurrentTime = CurrentTime + 60000;
PlayerClothes("Underwear");
if (PlayerHasInventory("Rope")) PlayerRemoveInventory("Rope", 1);
@ -302,6 +303,8 @@ function C008_DramaClass_AmandaIntro_StartHugs() {
// Chapter 8 - Amanda Hug
function C008_DramaClass_AmandaIntro_Hug(HugImage) {
if (HugImage.slice(-3) == "Hug") GameLogAdd("Hug");
if (HugImage.slice(-4) == "Kiss") GameLogAdd("Kiss");
C008_DramaClass_AmandaIntro_HugImage = CurrentChapter + "/HugImages/" + HugImage + ".png";
if (!C008_DramaClass_AmandaIntro_HugDone) {
C008_DramaClass_AmandaIntro_HugDone = true;

View file

@ -179,6 +179,7 @@ function C008_DramaClass_Damsel_ReleaseDamsel() {
// Chapter 8 - Damsel - When the damsel kisses the victor, it finishes the play
function C008_DramaClass_Damsel_FinalKiss() {
GameLogSpecificAdd(CurrentChapter, "", "FinalKiss");
if ((C008_DramaClass_Damsel_CurrentStage == 260) && C008_DramaClass_Damsel_PlayerIsVillain && ActorSpecificHasInventory("Sarah", "Rope")) { C008_DramaClass_Damsel_ReleaseDamsel(); OverridenIntroText = GetText("AmandaReleaseForKiss"); }
if ((C008_DramaClass_Damsel_CurrentStage == 290) && C008_DramaClass_Damsel_PlayerIsHeroine && ActorSpecificHasInventory("Sarah", "Rope")) { C008_DramaClass_Damsel_ReleaseDamsel(); OverridenIntroText = GetText("AmandaReleaseForKiss"); }
if ((C008_DramaClass_Damsel_CurrentStage == 260) && C008_DramaClass_Damsel_PlayerIsDamsel) { OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerKiss.jpg"; ActorSpecificChangeAttitude("Sarah", 2, 0); ActorSpecificChangeAttitude("Amanda", -3, 0); }
@ -193,6 +194,7 @@ function C008_DramaClass_Damsel_FinalKiss() {
// Chapter 8 - Damsel - When the damsel hugs the victor, it finishes the play
function C008_DramaClass_Damsel_FinalHug() {
GameLogSpecificAdd(CurrentChapter, "", "FinalHug");
if ((C008_DramaClass_Damsel_CurrentStage == 260) && C008_DramaClass_Damsel_PlayerIsDamsel) { OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerHug.jpg"; ActorSpecificChangeAttitude("Sarah", 1, 0); ActorSpecificChangeAttitude("Amanda", -1, 0); }
if ((C008_DramaClass_Damsel_CurrentStage == 260) && C008_DramaClass_Damsel_PlayerIsHeroine) { OverridenIntroImage = "../HugImages/HeroinePlayerDamselSarahHug.jpg"; ActorSpecificChangeAttitude("Sarah", 1, 0); ActorSpecificChangeAttitude("Amanda", -1, 0); }
if ((C008_DramaClass_Damsel_CurrentStage == 290) && C008_DramaClass_Damsel_PlayerIsDamsel) { OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerHug.jpg"; ActorSpecificChangeAttitude("Amanda", 1, 0); ActorSpecificChangeAttitude("Sarah", -1, 0); }
@ -203,6 +205,7 @@ function C008_DramaClass_Damsel_FinalHug() {
// Chapter 8 - Damsel - When the damsel kneels for the victor, it finishes the play
function C008_DramaClass_Damsel_FinalDomme() {
GameLogSpecificAdd(CurrentChapter, "", "FinalDomme");
if ((C008_DramaClass_Damsel_CurrentStage == 260) && C008_DramaClass_Damsel_PlayerIsDamsel) { OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerDomme.jpg"; ActorSpecificChangeAttitude("Sarah", 1, -2); ActorSpecificChangeAttitude("Amanda", -1, 0); }
if ((C008_DramaClass_Damsel_CurrentStage == 260) && C008_DramaClass_Damsel_PlayerIsHeroine) { OverridenIntroImage = "../HugImages/HeroinePlayerDamselSarahDomme.jpg"; ActorSpecificChangeAttitude("Sarah", 1, 2); ActorSpecificChangeAttitude("Amanda", -1, 0); }
if ((C008_DramaClass_Damsel_CurrentStage == 290) && C008_DramaClass_Damsel_PlayerIsDamsel) { OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerDomme.jpg"; ActorSpecificChangeAttitude("Amanda", 1, -2); ActorSpecificChangeAttitude("Sarah", -1, 0); }
@ -213,6 +216,7 @@ function C008_DramaClass_Damsel_FinalDomme() {
// Chapter 8 - Damsel - The villain can take both girls as prisoners for the final act
function C008_DramaClass_Damsel_FinalTwoPrisoners() {
GameLogSpecificAdd(CurrentChapter, "", "FinalTwoPrisoners");
ActorSpecificChangeAttitude("Sarah", 0, 1);
ActorSpecificChangeAttitude("Amanda", 0, 1);
ActorSpecificChangeAttitude("Julia", 0, 1);
@ -243,6 +247,11 @@ function C008_DramaClass_Damsel_Spank() {
if (!C008_DramaClass_Damsel_ViolenceDone) { C008_DramaClass_Damsel_ViolenceDone = true; ActorChangeAttitude(1, 0); }
}
// Chapter 8 - Damsel Kiss
function C008_DramaClass_Damsel_Kiss() {
GameLogAdd("Kiss");
}
// Chapter 8 - Damsel Masturbate, Sarah can climax if she was hit before (Spank or Crop)
function C008_DramaClass_Damsel_Masturbate() {

View file

@ -50,7 +50,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
410,0,0,IsRestrained,Danceth f'r me sweet|damoiselle. (1 minute),"(She does a very clumsy dance in|her restrains, laughing all the way.)",410,0,0,
410,0,0,CanUntie,(Untie her.)|(1 minute),(She resists to stay tied up but you're|able to undo the knots and release her.),410,0,0,Untie()
410,0,0,CanUngag,(Ungag her.)|(1 minute),(You remove the gag and she looks at you.)|Can this lovely damsel get another gag?,410,0,0,Ungag()
410,0,0,CanKiss,(Kiss her.)|(1 minute),(You get close and give her a long kiss on the lips.)|(She giggles.) That's a very nice kiss.,410,0,0,
410,0,0,CanKiss,(Kiss her.)|(1 minute),(You get close and give her a long kiss on the lips.)|(She giggles.) That's a very nice kiss.,410,0,0,Kiss()
410,0,0,CanAbuse,(Tickle her.)|(1 minute),(She giggles and struggles lightly.|She doesn't seem very ticklish.),410,0,0,
410,0,0,CanAbuse,(Spank her.)|(1 minute),(You spank her pretty hard on the butt.|She moans softly with each hit and enjoys it.),410,0,0,Spank()
410,0,0,CanAbuse,(Masturbate her.)|(1 minute),(You masturbate her slowly while|she moans faster and faster.),410,0,0,Masturbate()

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
50 410 0 0 IsRestrained Danceth f'r me sweet|damoiselle. (1 minute) (She does a very clumsy dance in|her restrains, laughing all the way.) 410 0 0
51 410 0 0 CanUntie (Untie her.)|(1 minute) (She resists to stay tied up but you're|able to undo the knots and release her.) 410 0 0 Untie()
52 410 0 0 CanUngag (Ungag her.)|(1 minute) (You remove the gag and she looks at you.)|Can this lovely damsel get another gag? 410 0 0 Ungag()
53 410 0 0 CanKiss (Kiss her.)|(1 minute) (You get close and give her a long kiss on the lips.)|(She giggles.) That's a very nice kiss. 410 0 0 Kiss()
54 410 0 0 CanAbuse (Tickle her.)|(1 minute) (She giggles and struggles lightly.|She doesn't seem very ticklish.) 410 0 0
55 410 0 0 CanAbuse (Spank her.)|(1 minute) (You spank her pretty hard on the butt.|She moans softly with each hit and enjoys it.) 410 0 0 Spank()
56 410 0 0 CanAbuse (Masturbate her.)|(1 minute) (You masturbate her slowly while|she moans faster and faster.) 410 0 0 Masturbate()

View file

@ -13,13 +13,13 @@ function C008_DramaClass_DressingRoom_Run() {
DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Background.jpg", 0, 0);
// Draw Sarah
if (Common_PlayerCrime != "SarahStranded") {
if (!GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) {
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 (!GameLogQuery("C007_LunchBreak", "Amanda", "Stranded")) {
if (C008_DramaClass_AmandaIntro_CurrentStage == 0) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/AmandaSearch.png", 800, 0);
else DrawActor("Amanda", 800, 50, 0.575);
}
@ -31,9 +31,9 @@ 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 >= 200) && (MouseX <= 400) && (MouseY >= 10) && (MouseY <= 590) && !GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) 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");
if ((MouseX >= 880) && (MouseX <= 1100) && (MouseY >= 10) && (MouseY <= 590) && !GameLogQuery("C007_LunchBreak", "Amanda", "Stranded")) SetScene(CurrentChapter, "AmandaIntro");
// Checks if the user clicks on any regular item
InventoryClick(GetClickedInventory(), "C008_DramaClass", "DressingRoom");

View file

@ -115,6 +115,7 @@ function C008_DramaClass_Heroine_ForgetLine() {
// Chapter 8 - Heroine - When the heroine kisses the damsel, it finishes the play
function C008_DramaClass_Heroine_FinalKiss() {
GameLogSpecificAdd(CurrentChapter, "", "FinalKiss");
OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerKiss.jpg";
ActorSpecificChangeAttitude("Sarah", 2, 0);
ActorSpecificChangeAttitude("Amanda", -3, 0);
@ -124,6 +125,7 @@ function C008_DramaClass_Heroine_FinalKiss() {
// Chapter 8 - Heroine - When the heroine hugs the damsel, it finishes the play
function C008_DramaClass_Heroine_FinalHug() {
GameLogSpecificAdd(CurrentChapter, "", "FinalHug");
OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerHug.jpg";
ActorSpecificChangeAttitude("Sarah", 1, 0);
ActorSpecificChangeAttitude("Amanda", -1, 0);
@ -133,6 +135,7 @@ function C008_DramaClass_Heroine_FinalHug() {
// Chapter 8 - Heroine - When the damsel kneels for the heroine, it finishes the play
function C008_DramaClass_Heroine_FinalDomme() {
GameLogSpecificAdd(CurrentChapter, "", "FinalDomme");
OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerDomme.jpg";
ActorSpecificChangeAttitude("Sarah", 1, -2);
ActorSpecificChangeAttitude("Amanda", -1, 0);
@ -142,6 +145,7 @@ function C008_DramaClass_Heroine_FinalDomme() {
// Chapter 8 - Heroine - When the heroine proposes a menage a trois, it finishes the play
function C008_DramaClass_Heroine_FinalTrio() {
GameLogSpecificAdd(CurrentChapter, "", "FinalTrio");
OverridenIntroImage = "../HugImages/HeroinePlayerVillainAmandaDamselSarahKiss.jpg";
ActorSpecificChangeAttitude("Sarah", 1, 0);
ActorSpecificChangeAttitude("Amanda", 1, 0);
@ -165,6 +169,7 @@ function C008_DramaClass_Heroine_ReleasePlayer() {
// Chapter 8 - Heroine - When the damsel surrenders and the play ends with two prisoners
function C008_DramaClass_Heroine_FinalTwoPrisoners() {
GameLogSpecificAdd(CurrentChapter, "", "FinalTwoPrisoners");
C008_DramaClass_Theater_GlobalStage = 300;
C008_DramaClass_Theater_Ending = "TwoPrisoners";
}
@ -192,6 +197,7 @@ function C008_DramaClass_Heroine_Ungag() {
// Chapter 8 - Heroine Kiss
function C008_DramaClass_Heroine_Kiss() {
GameLogAdd("Kiss");
if ((CurrentActor == "Amanda") && !C008_DramaClass_Heroine_KissDone) { C008_DramaClass_Heroine_KissDone = true; ActorChangeAttitude(1, 0); }
C008_DramaClass_Heroine_CalcParams();
}

View file

@ -47,6 +47,7 @@ function C008_DramaClass_Julia_Load() {
// On a perfect play, the player gains a level in arts
if ((C008_DramaClass_Julia_CurrentStage == 300) && C008_DramaClass_Theater_PerfectPlay) {
C008_DramaClass_Theater_PerfectPlay = false;
GameLogSpecificAdd(CurrentChapter, "", "PerfectPlay");
PlayerAddSkill("Arts", 1);
}
@ -97,7 +98,7 @@ function C008_DramaClass_Julia_Click() {
if (ClickInv == "Collar") { OverridenIntroText = GetText("CannotWearCollar"); return; }
// A few items can change the actor attitude
if ((ClickInv == "Crop") && !C008_DramaClass_Julia_CropDone) { C008_DramaClass_Julia_CropDone = true; ActorChangeAttitude(0, 1); }
if ((ClickInv == "Crop") && !C008_DramaClass_Julia_CropDone) { GameLogAdd("Crop"); C008_DramaClass_Julia_CropDone = true; ActorChangeAttitude(0, 1); }
// Apply the clicked restrain
ActorApplyRestrain(ClickInv);
@ -108,6 +109,7 @@ function C008_DramaClass_Julia_Click() {
// Julia will turn the tables on the player on stage 500
if ((C008_DramaClass_Julia_CurrentStage == 500) && (ClickInv != "") && (ClickInv != "Player") && !Common_PlayerRestrained && (PlayerHasInventory("Rope") || PlayerHasInventory("Cuffs"))) {
OverridenIntroText = GetText("QueenTurnTables");
GameLogAdd("TurnTables");
PlayerRandomBondage();
CurrentTime = CurrentTime + 60000;
}
@ -167,7 +169,7 @@ function C008_DramaClass_Julia_Ungag() {
// Chapter 8 - Julia Kiss
function C008_DramaClass_Julia_Kiss() {
if (!C008_DramaClass_Julia_KissDone) { C008_DramaClass_Julia_KissDone = true; ActorChangeAttitude(1, 0); }
if (!C008_DramaClass_Julia_KissDone) { GameLogAdd("Kiss"); C008_DramaClass_Julia_KissDone = true; ActorChangeAttitude(1, 0); }
C008_DramaClass_Julia_CalcParams();
}
@ -218,6 +220,7 @@ function C008_DramaClass_Julia_WeightComment() {
// Chapter 8 - Julia the queen will not accept a rebellion and put everyone in bondage
function C008_DramaClass_Julia_Rebellion() {
GameLogAdd("Rebellion");
C008_DramaClass_Julia_RebellionAvail = false;
CurrentTime = CurrentTime + 170000;
PlayerRandomBondage();

View file

@ -66,4 +66,9 @@ function C008_DramaClass_JuliaIntro_SetRole(NewRole) {
// Chapter 8 - Julia Intro - Jump to the dressing room scene
function C008_DramaClass_JuliaIntro_DressingRoom() {
SetScene("C008_DramaClass", "DressingRoom");
}
// Chapter 8 - Julia Intro - Hug
function C008_DramaClass_JuliaIntro_Hug() {
GameLogAdd("Hug");
}

View file

@ -1,6 +1,6 @@
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,,Come here Julia!|(Hug Julia) (1 minute),Si! (She wraps her arms around|you and squeezes you on her chest.),10,1,0,Hug()
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,Hug()
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,

1 Stage LoveReq SubReq VarReq Interaction Result NextStage LoveMod SubMod Function
2 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 Hug()
3 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 Hug()
4 0 0 0 Please, no hug. Such a shy new pupil.|Welcome to drama class! 20 0 -1
5 0 0 0 Forget it Julia. (She frowns at you but quickly smiles again.)|Welcome to drama class COMMON_PLAYERNAME! 20 -1 1
6 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

View file

@ -1,3 +1,5 @@
var C008_DramaClass_Outro_Crime = "";
// Chapter 8 - Outro Load
function C008_DramaClass_Outro_Load() {
@ -15,6 +17,12 @@ function C008_DramaClass_Outro_Load() {
ActorSpecificSetPose("Amanda", "");
ActorSpecificSetPose("Sarah", "");
ActorSpecificSetPose("Julia", "");
// Gets the correct crime in chapter 7 for text and next chapter
if (GameLogQuery("C007_LunchBreak", "Amanda", "Stranded")) C008_DramaClass_Outro_Crime = "AmandaStranded";
if (GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) C008_DramaClass_Outro_Crime = "SarahStranded";
if (GameLogQuery("C007_LunchBreak", "Sidney", "Stranded")) C008_DramaClass_Outro_Crime = "SidneyStranded";
if (GameLogQuery("C007_LunchBreak", "Jennifer", "Stranded")) C008_DramaClass_Outro_Crime = "JenniferStranded";
}
@ -26,20 +34,20 @@ function C008_DramaClass_Outro_Run() {
DrawRect(ctx, 0, 0, 800, 600, "black");
// If there was a crime that leads to chapter 10
if ((Common_PlayerCrime == "AmandaStranded") || (Common_PlayerCrime == "SarahStranded") || (Common_PlayerCrime == "SidneyStranded") || (Common_PlayerCrime == "JenniferStranded")) {
if ((C008_DramaClass_Outro_Crime == "AmandaStranded") || (C008_DramaClass_Outro_Crime == "SarahStranded") || (C008_DramaClass_Outro_Crime == "SidneyStranded") || (C008_DramaClass_Outro_Crime == "JenniferStranded")) {
// Draw the outro text to lead to chapter 10
DrawText(ctx, GetText("Outro1"), 400, 150, "White");
if (TextPhase >= 1) DrawText(ctx, GetText("Outro2"), 400, 250, "White");
if ((TextPhase >= 2) && ((Common_PlayerCrime == "AmandaStranded") || (Common_PlayerCrime == "SarahStranded"))) DrawText(ctx, GetText("AmandaSarah3"), 400, 350, "White");
if ((TextPhase >= 3) && ((Common_PlayerCrime == "AmandaStranded") || (Common_PlayerCrime == "SarahStranded"))) DrawText(ctx, GetText("AmandaSarah4"), 400, 450, "White");
if ((TextPhase >= 2) && ((Common_PlayerCrime == "SidneyStranded") || (Common_PlayerCrime == "JenniferStranded"))) DrawText(ctx, GetText("SidneyJennifer3"), 400, 350, "White");
if ((TextPhase >= 3) && ((Common_PlayerCrime == "SidneyStranded") || (Common_PlayerCrime == "JenniferStranded"))) DrawText(ctx, GetText("SidneyJennifer4"), 400, 450, "White");
if ((TextPhase >= 2) && ((C008_DramaClass_Outro_Crime == "AmandaStranded") || (C008_DramaClass_Outro_Crime == "SarahStranded"))) DrawText(ctx, GetText("AmandaSarah3"), 400, 350, "White");
if ((TextPhase >= 3) && ((C008_DramaClass_Outro_Crime == "AmandaStranded") || (C008_DramaClass_Outro_Crime == "SarahStranded"))) DrawText(ctx, GetText("AmandaSarah4"), 400, 450, "White");
if ((TextPhase >= 2) && ((C008_DramaClass_Outro_Crime == "SidneyStranded") || (C008_DramaClass_Outro_Crime == "JenniferStranded"))) DrawText(ctx, GetText("SidneyJennifer3"), 400, 350, "White");
if ((TextPhase >= 3) && ((C008_DramaClass_Outro_Crime == "SidneyStranded") || (C008_DramaClass_Outro_Crime == "JenniferStranded"))) DrawText(ctx, GetText("SidneyJennifer4"), 400, 450, "White");
// The image changes to show the girls
if (TextPhase <= 1) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
if ((TextPhase >= 2) && ((Common_PlayerCrime == "AmandaStranded") || (Common_PlayerCrime == "SarahStranded"))) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/AmandaSarah.jpg", 800, 0);
if ((TextPhase >= 2) && ((Common_PlayerCrime == "SidneyStranded") || (Common_PlayerCrime == "JenniferStranded"))) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/SidneyJennifer.jpg", 800, 0);
if ((TextPhase >= 2) && ((C008_DramaClass_Outro_Crime == "AmandaStranded") || (C008_DramaClass_Outro_Crime == "SarahStranded"))) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/AmandaSarah.jpg", 800, 0);
if ((TextPhase >= 2) && ((C008_DramaClass_Outro_Crime == "SidneyStranded") || (C008_DramaClass_Outro_Crime == "JenniferStranded"))) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/SidneyJennifer.jpg", 800, 0);
} else {
@ -57,7 +65,7 @@ function C008_DramaClass_Outro_Click() {
// Jump to the next animation
TextPhase++;
if ((Common_PlayerCrime == "AmandaStranded") || (Common_PlayerCrime == "SarahStranded") || (Common_PlayerCrime == "SidneyStranded") || (Common_PlayerCrime == "JenniferStranded")) {
if ((C008_DramaClass_Outro_Crime == "AmandaStranded") || (C008_DramaClass_Outro_Crime == "SarahStranded") || (C008_DramaClass_Outro_Crime == "SidneyStranded") || (C008_DramaClass_Outro_Crime == "JenniferStranded")) {
if (TextPhase >= 4) SaveMenu("C010_Revenge", "Intro");
} else {
if (TextPhase >= 2) SaveMenu("C009_Library", "Intro");

View file

@ -27,7 +27,7 @@ function C008_DramaClass_SarahIntro_CalcParams() {
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_IsPlayReady = (C008_DramaClass_SarahIntro_IsBothFree && (C008_DramaClass_SarahIntro_AmandaMissing || (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"));
@ -45,7 +45,7 @@ function C008_DramaClass_SarahIntro_Load() {
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_AmandaMissing = GameLogQuery("C007_LunchBreak", "Amanda", "Stranded");
C008_DramaClass_SarahIntro_IsDamsel = (C008_DramaClass_JuliaIntro_SarahRole == "Damsel");
// Sarah can ungag the player if needed at first
@ -234,6 +234,8 @@ function C008_DramaClass_SarahIntro_StartHugs() {
// Chapter 8 - Sarah Hug
function C008_DramaClass_SarahIntro_Hug(HugImage) {
if (HugImage.slice(-3) == "Hug") GameLogAdd("Hug");
if (HugImage.slice(-4) == "Kiss") GameLogAdd("Kiss");
C008_DramaClass_SarahIntro_HugImage = CurrentChapter + "/HugImages/" + HugImage + ".png";
C008_DramaClass_SarahIntro_HugDone = true;
}

View file

@ -37,9 +37,9 @@ function C008_DramaClass_Transition_Run() {
// Draw the outro text
DrawText(ctx, GetText(LateForDrama + "1"), 400, 150, "White");
if (TextPhase >= 1) DrawText(ctx, GetText(LateForDrama + "2"), 400, 300, "White");
if ((TextPhase >= 2) && (Common_PlayerCrime != "AmandaStranded") && (Common_PlayerCrime != "SarahStranded")) DrawText(ctx, GetText(LateForDrama + "3"), 400, 450, "White");
if ((TextPhase >= 2) && (Common_PlayerCrime == "AmandaStranded")) DrawText(ctx, GetText("Amanda"), 400, 450, "White");
if ((TextPhase >= 2) && (Common_PlayerCrime == "SarahStranded")) DrawText(ctx, GetText("Sarah"), 400, 450, "White");
if ((TextPhase >= 2) && !GameLogQuery("C007_LunchBreak", "Amanda", "Stranded") && !GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) DrawText(ctx, GetText(LateForDrama + "3"), 400, 450, "White");
if ((TextPhase >= 2) && GameLogQuery("C007_LunchBreak", "Amanda", "Stranded")) DrawText(ctx, GetText("Amanda"), 400, 450, "White");
if ((TextPhase >= 2) && GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) DrawText(ctx, GetText("Sarah"), 400, 450, "White");
}

View file

@ -119,6 +119,7 @@ function C008_DramaClass_Villain_Surrender() {
ActorSpecificChangeAttitude("Amanda", 0, -2);
ActorSpecificChangeAttitude("Sarah", 0, -2);
ActorSpecificChangeAttitude("Julia", 0, -2);
GameLogSpecificAdd(CurrentChapter, "", "FightSurrender");
C008_DramaClass_Theater_GlobalStage = C008_DramaClass_Villain_CurrentStage;
C008_DramaClass_Theater_SetPose();
}
@ -156,6 +157,7 @@ function C008_DramaClass_Villain_AmandaSarahFight(CheerFactor) {
// Chapter 8 - Villain - When the villain kisses the damsel, it finishes the play
function C008_DramaClass_Villain_FinalKiss() {
GameLogSpecificAdd(CurrentChapter, "", "FinalKiss");
OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerKiss.jpg";
ActorSpecificChangeAttitude("Amanda", 2, 0);
ActorSpecificChangeAttitude("Sarah", -3, 0);
@ -165,6 +167,7 @@ function C008_DramaClass_Villain_FinalKiss() {
// Chapter 8 - Villain - When the villain hugs the damsel, it finishes the play
function C008_DramaClass_Villain_FinalHug() {
GameLogSpecificAdd(CurrentChapter, "", "FinalHug");
OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerHug.jpg";
ActorSpecificChangeAttitude("Amanda", 1, 0);
ActorSpecificChangeAttitude("Sarah", -1, 0);
@ -174,6 +177,7 @@ function C008_DramaClass_Villain_FinalHug() {
// Chapter 8 - Villain - When the damsel kneels for the villain, it finishes the play
function C008_DramaClass_Villain_FinalDomme() {
GameLogSpecificAdd(CurrentChapter, "", "FinalDomme");
OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerDomme.jpg";
ActorSpecificChangeAttitude("Amanda", 1, -2);
ActorSpecificChangeAttitude("Sarah", -1, 0);
@ -192,6 +196,7 @@ function C008_DramaClass_Villain_ReleasePlayer() {
// Chapter 8 - Villain - When the damsel surrenders and the play ends with two prisoners
function C008_DramaClass_Villain_FinalTwoPrisoners() {
GameLogSpecificAdd(CurrentChapter, "", "FinalTwoPrisoners");
C008_DramaClass_Theater_GlobalStage = 300;
C008_DramaClass_Theater_Ending = "TwoPrisoners";
}
@ -218,8 +223,8 @@ function C008_DramaClass_Villain_Ungag() {
}
// Chapter 8 - Villain Kiss
function C008_DramaClass_Villain_Kiss() {
if (!C008_DramaClass_Villain_KissDone) { C008_DramaClass_Villain_KissDone = true; ActorChangeAttitude(1, 0); }
function C008_DramaClass_Villain_Kiss() {
if (!C008_DramaClass_Villain_KissDone) { GameLogAdd("Kiss"); C008_DramaClass_Villain_KissDone = true; ActorChangeAttitude(1, 0); }
C008_DramaClass_Villain_CalcParams();
}
@ -269,6 +274,7 @@ function C008_DramaClass_Villain_Ravish() {
function C008_DramaClass_Villain_SwordDance() {
if (C008_DramaClass_Villain_PlayerIsHeroine) { C008_DramaClass_Villain_CurrentStage = 240; C008_DramaClass_Theater_GlobalStage = 240; }
if (C008_DramaClass_Villain_PlayerIsVillain) { C008_DramaClass_Villain_CurrentStage = 270; C008_DramaClass_Theater_GlobalStage = 270; }
GameLogSpecificAdd(CurrentChapter, "", "FightSwordDance");
ActorSpecificChangeAttitude("Julia", PlayerGetSkillLevel("Arts"), 0);
ActorSpecificChangeAttitude("Amanda", 0, 1);
ActorSpecificChangeAttitude("Sarah", 0, 1);

View file

@ -193,12 +193,13 @@ function C009_Library_Jennifer_JenniferLeave() {
// Chapter 9 Library - Jennifer - When the player wants to sit with her
function C009_Library_Jennifer_TestSitTogether() {
if ((ActorGetValue(ActorLove) >= 5) || (ActorGetValue(ActorSubmission) >= 5) || (PlayerGetSkillLevel("Seduction") >= 1)) {
if (Common_PlayerRestrained) {
if (Common_PlayerRestrained) {
OverridenIntroText = GetText("CannottSitRestrained");
} else {
OverridenIntroText = GetText("SitTogether");
C009_Library_Jennifer_CurrentStage = 200;
C009_Library_Jennifer_SetPose();
C009_Library_Jennifer_SetPose();
GameLogAdd("SitTogether");
}
}
}
@ -211,6 +212,7 @@ function C009_Library_Jennifer_NewPose() {
// Chapter 9 Library - When Jennifer strips to her underwear
function C009_Library_Jennifer_Strip(NewCloth) {
ActorSetCloth(NewCloth);
if (NewCloth == "Naked") GameLogAdd("Naked");
C009_Library_Jennifer_SetPose();
C009_Library_Jennifer_CalcParams();
CurrentTime = CurrentTime + 50000;
@ -231,6 +233,7 @@ function C009_Library_Jennifer_DrawJennifer(MinutesSpent) {
if ((MinutesSpent == 15) || (MinutesSpent == 30)) PlayerAddSkill("Arts", 1);
C009_Library_Jennifer_SetPose();
C009_Library_Jennifer_ArtDone = true;
GameLogAdd("Draw");
} else OverridenIntroText = GetText("NoTimeToDraw");
}
@ -246,6 +249,7 @@ function C009_Library_Jennifer_TestTurnTables() {
if (ActorGetValue(ActorSubmission) < 0) {
OverridenIntroText = GetText("TurnTablesFromTalk");
C009_Library_Jennifer_RestrainPlayer();
GameLogAdd("TurnTables");
}
}
@ -314,6 +318,7 @@ function C009_Library_Jennifer_Ungag() {
// Chapter 9 Library - Jennifer kiss
function C009_Library_Jennifer_Kiss() {
GameLogAdd("Kiss");
C009_Library_Jennifer_CalcParams();
if (!C009_Library_Jennifer_KissDone && (PlayerGetSkillLevel("Seduction") >= 1)) {
ActorChangeAttitude(1, 0);
@ -359,6 +364,7 @@ function C009_Library_Jennifer_TestMakeLove() {
function C009_Library_Jennifer_StripBoth(NewCloth) {
ActorSetCloth(NewCloth);
PlayerClothes(NewCloth);
if (NewCloth == "Naked") GameLogAdd("NakedWithPlayer");
if (Common_PlayerChaste) {
OverridenIntroText = GetText("StripRevealBelt");
C009_Library_Jennifer_CurrentStage = 235;
@ -377,6 +383,7 @@ function C009_Library_Jennifer_TestPleasurePlayer() {
// Chapter 9 Library - When the player pleasures Jennifer
function C009_Library_Jennifer_PleasureJennifer() {
GameLogAdd("EatenByPlayer");
OverridenIntroImage = "";
C009_Library_Jennifer_MastubateCount++;
CurrentTime = CurrentTime + 50000;
@ -389,6 +396,7 @@ function C009_Library_Jennifer_PleasureJennifer() {
// Chapter 9 Library - When Jennifer pleasures the player (multiple orgasms are possible with an egg)
function C009_Library_Jennifer_PleasurePlayer() {
GameLogAdd("AtePlayer");
OverridenIntroImage = "";
C009_Library_Jennifer_PlayerMastubateCount++;
CurrentTime = CurrentTime + 50000;

View file

@ -15,7 +15,7 @@ function C009_Library_Library_Load() {
if (!Common_PlayerRestrained) PlayerClothes("Clothed");
// Jennifer can be gone from the start if chapter 10 was triggered for her or Sidney
if ((Common_PlayerCrime == "JenniferStranded") || (Common_PlayerCrime == "SidneyStranded")) C009_Library_Library_JenniferGone = true;
if (GameLogQuery("C007_LunchBreak", "Jennifer", "Stranded") || GameLogQuery("C007_LunchBreak", "Sidney", "Stranded")) C009_Library_Library_JenniferGone = true;
}

View file

@ -8,7 +8,6 @@ function C009_Library_Outro_Load() {
PlayerClothes("Clothed");
ActorSpecificClearInventory("Jennifer", false);
ActorSpecificSetPose("Jennifer", "");
Common_PlayerCrime = "";
}

View file

@ -51,7 +51,7 @@ function C009_Library_Search_Masturbate() {
OverridenIntroText = GetText("CannotMasturbate");
} else {
C009_Library_Search_MasturbateCount++;
if (C009_Library_Search_MasturbateCount == 3) OverridenIntroText = GetText("Orgasm");
if (C009_Library_Search_MasturbateCount == 3) { GameLogSpecificAdd("C009_Library", "", "SweetGwendolineOrgasm"); OverridenIntroText = GetText("Orgasm"); }
if ((C009_Library_Search_MasturbateCount >= 4) && !PlayerHasLockedInventory("VibratingEgg")) OverridenIntroText = GetText("OrgasmEnough");
if ((C009_Library_Search_MasturbateCount >= 4) && PlayerHasLockedInventory("VibratingEgg")) {
OverridenIntroText = GetText("OrgasmRepeat");
@ -76,12 +76,14 @@ function C009_Library_Search_SetReadProgress() {
// Chapter 9 - Library Read Time
function C009_Library_Search_ReadTime() {
GameLogSpecificAdd("C009_Library", "", "ReadChapter" + (C009_Library_Search_CurrentStage - 41).toString());
C009_Library_Library_BookProgress = C009_Library_Search_CurrentStage;
CurrentTime = CurrentTime + 170000;
}
// Chapter 9 - Library Read Full Book
function C009_Library_Search_ReadFull() {
GameLogSpecificAdd("C009_Library", "", "ReadTwice");
C009_Library_Library_BookProgress = C009_Library_Search_CurrentStage;
CurrentTime = CurrentTime + 890000;
}

View file

@ -23,7 +23,7 @@ function C010_Revenge_AmandaSarah_Load() {
LoadInteractions();
LeaveIcon = "";
Common_SelfBondageAllowed = false;
C010_Revenge_AmandaSarah_AmandaVictim = (Common_PlayerCrime == "AmandaStranded");
C010_Revenge_AmandaSarah_AmandaVictim = GameLogQuery("C007_LunchBreak", "Amanda", "Stranded");
// If we must put the previous text back
if (C010_Revenge_AmandaSarah_IntroText != "") OverridenIntroText = C010_Revenge_AmandaSarah_IntroText;
@ -111,6 +111,7 @@ function C010_Revenge_AmandaSarah_SwitchFocus(ActorToFocus) {
function C010_Revenge_AmandaSarah_AmandaKneel() {
ActorSpecificSetPose("Amanda", "Kneeling");
ActorSpecificSetPose("Sarah", "Furious");
GameLogSpecificAdd("C010_Revenge", "Amanda", "Kneel");
CurrentTime = CurrentTime + 50000;
}
@ -118,6 +119,7 @@ function C010_Revenge_AmandaSarah_AmandaKneel() {
function C010_Revenge_AmandaSarah_SarahKneel() {
ActorSpecificSetPose("Sarah", "Kneeling");
ActorSpecificSetPose("Amanda", "Furious");
GameLogSpecificAdd("C010_Revenge", "Sarah", "Kneel");
CurrentTime = CurrentTime + 50000;
}
@ -144,11 +146,18 @@ function C010_Revenge_AmandaSarah_CalmDown(ActorToCalm) {
// Chapter 10 - Amanda and Sarah Revenge - When the actor enters the locker
function C010_Revenge_AmandaSarah_EnterLocker(ActorInLocker) {
// Puts the actor(s) in the locker
if ((ActorInLocker == "Amanda") || (ActorInLocker == "Both")) ActorSpecificSetPose("Amanda", "Locker");
if ((ActorInLocker == "Sarah") || (ActorInLocker == "Both")) ActorSpecificSetPose("Sarah", "Locker");
if (ActorInLocker == "Player") Common_PlayerPose = "Locker";
CurrentTime = CurrentTime + 50000;
if ((ActorInLocker != "Amanda") && (ActorInLocker != "Sarah")) CurrentActor = "";
// Saves the log
if (ActorInLocker == "Both") { GameLogSpecificAdd("C010_Revenge", "Amanda", "Locker"); GameLogSpecificAdd("C010_Revenge", "Sarah", "Locker"); }
else GameLogSpecificAdd("C010_Revenge", ActorInLocker, "Locker");
}
// Chapter 10 - Amanda and Sarah Revenge - When the player opens the locker
@ -213,6 +222,8 @@ function C010_Revenge_AmandaSarah_EndFight(Victory) {
// Change the girls attitude depending on the victory or defeat
ActorSpecificChangeAttitude("Amanda", -2, Victory ? 2 : -2);
ActorSpecificChangeAttitude("Sarah", -2, Victory ? 2 : -2);
GameLogSpecificAdd("C010_Revenge", "Amanda", Victory ? "FightVictory" : "FightDefeat");
GameLogSpecificAdd("C010_Revenge", "Sarah", Victory ? "FightVictory" : "FightDefeat");
C010_Revenge_AmandaSarah_AllowFight = false;
// On a victory, we jump to stage 400 right away, on a defeat, we show a custom text
@ -249,6 +260,8 @@ function C010_Revenge_AmandaSarah_TestForBelt() {
// Chapter 10 - Amanda and Sarah Revenge - When the player gets locked in a chastity belt
function C010_Revenge_AmandaSarah_LockBelt() {
PlayerLockInventory("ChastityBelt");
GameLogSpecificAdd("C010_Revenge", "Amanda", "ChastityBeltPlayer");
GameLogSpecificAdd("C010_Revenge", "Sarah", "ChastityBeltPlayer");
C010_Revenge_AmandaSarah_WasBelted = true;
CurrentTime = CurrentTime + 50000;
}
@ -267,6 +280,7 @@ function C010_Revenge_AmandaSarah_ReturnToLocker() {
if (Common_PlayerPose == "LockerMasturbate") {
ActorLoad("Sarah", "");
ActorChangeAttitude(1, 0);
GameLogSpecificAdd("C010_Revenge", "", "CaughtMasturbating");
OverridenIntroText = GetText("CaughtMasturbating");
C010_Revenge_AmandaSarah_CurrentStage = 210;
} else {
@ -298,7 +312,7 @@ function C010_Revenge_AmandaSarah_MasturbateLocker() {
// If the player has the egg, she can climax multiple times, if not, only 1 time
C010_Revenge_AmandaSarah_MasturbateCount++;
Common_PlayerPose = "LockerMasturbate";
if (C010_Revenge_AmandaSarah_MasturbateCount == 3) { OverridenIntroText = GetText("Orgasm"); OverridenIntroImage = "LockerInsideOrgasm.jpg"; }
if (C010_Revenge_AmandaSarah_MasturbateCount == 3) { GameLogSpecificAdd("C010_Revenge", "", "LockerOrgasm"); OverridenIntroText = GetText("Orgasm"); OverridenIntroImage = "LockerInsideOrgasm.jpg"; }
if ((C010_Revenge_AmandaSarah_MasturbateCount >= 4) && !PlayerHasLockedInventory("VibratingEgg")) OverridenIntroText = GetText("OrgasmEnough");
if ((C010_Revenge_AmandaSarah_MasturbateCount >= 4) && PlayerHasLockedInventory("VibratingEgg")) {
OverridenIntroText = GetText("OrgasmRepeat");
@ -333,6 +347,8 @@ function C010_Revenge_AmandaSarah_LockerListen() {
// Chapter 10 - Amanda and Sarah Revenge - End the revenge and flag the end
function C010_Revenge_AmandaSarah_EarlyEnding(EndingType) {
if (EndingType == "DoubleLocker") {
GameLogSpecificAdd("C010_Revenge", "Amanda", "LockerStuck");
GameLogSpecificAdd("C010_Revenge", "Sarah", "LockerStuck");
ActorSpecificChangeAttitude("Amanda", -2, 1);
ActorSpecificChangeAttitude("Sarah", 0, 1);
}

View file

@ -16,7 +16,6 @@ function C010_Revenge_EarlyEnding_Load() {
ActorSpecificSetPose("Sidney", "");
ActorSpecificSetPose("Jennifer", "");
LeaveIcon = "";
Common_PlayerCrime = "";
Common_PlayerPose = "";
}

View file

@ -1,13 +1,13 @@
// Chapter 10 - Revenge Load
function C010_Revenge_Intro_Load() {
// If there's no crime, it means the player started on chapter 6, we pick a teacher at random
if (Common_PlayerCrime == "") {
// If nobody was left stranded, it means the player started on chapter 10, in that case we assign a random girl as being stranded
if (!GameLogQuery("C007_LunchBreak", "Amanda", "Stranded") && !GameLogQuery("C007_LunchBreak", "Sarah", "Stranded") && !GameLogQuery("C007_LunchBreak", "Sidney", "Stranded") && !GameLogQuery("C007_LunchBreak", "Jennifer", "Stranded")) {
var R = Math.floor(Math.random() * 4);
if (R == 0) Common_PlayerCrime = "AmandaStranded";
if (R == 1) Common_PlayerCrime = "SarahStranded";
if (R == 2) Common_PlayerCrime = "SidneyStranded";
if (R == 3) Common_PlayerCrime = "JenniferStranded";
if (R == 0) GameLogSpecificAdd("C007_LunchBreak", "Amanda", "Stranded");
if (R == 1) GameLogSpecificAdd("C007_LunchBreak", "Sarah", "Stranded");
if (R == 2) GameLogSpecificAdd("C007_LunchBreak", "Sidney", "Stranded");
if (R == 3) GameLogSpecificAdd("C007_LunchBreak", "Jennifer", "Stranded");
}
// Time is always 14:15 on the intro, no timer
@ -22,7 +22,7 @@ function C010_Revenge_Intro_Run() {
var ctx = document.getElementById("MainCanvas").getContext("2d");
// Amanda or Sarah intro
if ((Common_PlayerCrime == "AmandaStranded") || (Common_PlayerCrime == "SarahStranded")) {
if (GameLogQuery("C007_LunchBreak", "Amanda", "Stranded") || GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) {
DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/BackgroundAmandaSarah.jpg", 0, 0);
DrawPlayerTransition(ctx);
DrawText(ctx, GetText("AmandaSarah1"), 400, 150, "White");
@ -32,7 +32,7 @@ function C010_Revenge_Intro_Run() {
}
// Sidney or Jennifer intro
if ((Common_PlayerCrime == "SidneyStranded") || (Common_PlayerCrime == "JenniferStranded")) {
if (GameLogQuery("C007_LunchBreak", "Sidney", "Stranded") || GameLogQuery("C007_LunchBreak", "Jennifer", "Stranded")) {
DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/BackgroundSidneyJennifer.jpg", 0, 0);
DrawPlayerTransition(ctx);
DrawText(ctx, GetText("SidneyJennifer1"), 400, 150, "White");
@ -46,6 +46,6 @@ function C010_Revenge_Intro_Run() {
// Chapter 10 - Revenge Click
function C010_Revenge_Intro_Click() {
TextPhase++;
if ((TextPhase >= 4) && ((Common_PlayerCrime == "AmandaStranded") || (Common_PlayerCrime == "SarahStranded"))) SetScene(CurrentChapter, "AmandaSarah");
if ((TextPhase >= 4) && ((Common_PlayerCrime == "SidneyStranded") || (Common_PlayerCrime == "JenniferStranded"))) SetScene(CurrentChapter, "SidneyJennifer");
if ((TextPhase >= 4) && (GameLogQuery("C007_LunchBreak", "Amanda", "Stranded") || GameLogQuery("C007_LunchBreak", "Sarah", "Stranded"))) SetScene(CurrentChapter, "AmandaSarah");
if ((TextPhase >= 4) && (GameLogQuery("C007_LunchBreak", "Sidney", "Stranded") || GameLogQuery("C007_LunchBreak", "Jennifer", "Stranded"))) SetScene(CurrentChapter, "SidneyJennifer");
}

View file

@ -29,8 +29,8 @@ function C010_Revenge_Outro_Run() {
// Sets the correct text to fetch
var OutroText = "";
if ((Common_PlayerCrime == "AmandaStranded") || (Common_PlayerCrime == "SarahStranded")) OutroText = "AmandaSarah";
if ((Common_PlayerCrime == "SidneyStranded") || (Common_PlayerCrime == "JenniferStranded")) OutroText = "SidneyJennifer";
if (GameLogQuery("C007_LunchBreak", "Amanda", "Stranded") || GameLogQuery("C007_LunchBreak", "Sarah", "Stranded")) OutroText = "AmandaSarah";
if (GameLogQuery("C007_LunchBreak", "Sidney", "Stranded") || GameLogQuery("C007_LunchBreak", "Jennifer", "Stranded")) OutroText = "SidneyJennifer";
// Draw the background image
if (TextPhase >= 2) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Bell.jpg", 800, 0);
@ -49,10 +49,6 @@ function C010_Revenge_Outro_Click() {
// Jump to the next animation
TextPhase++;
if (TextPhase >= 3) {
//SaveMenu("C011", "Intro");
Common_PlayerCrime = "";
SaveMenu("C101_KinbakuClub", "Intro");
}
if (TextPhase >= 3) SaveMenu("C101_KinbakuClub", "Intro");
}

View file

@ -28,7 +28,7 @@ function C010_Revenge_SidneyJennifer_Load() {
LoadInteractions();
LeaveIcon = "";
Common_SelfBondageAllowed = false;
C010_Revenge_SidneyJennifer_SidneyVictim = (Common_PlayerCrime == "SidneyStranded");
C010_Revenge_SidneyJennifer_SidneyVictim = GameLogQuery("C007_LunchBreak", "Sidney", "Stranded");
C010_Revenge_SidneyJennifer_CanBribe = (PlayerInventoryTotalQuantity() >= 10);
// If we must put the previous text back
@ -118,6 +118,7 @@ function C010_Revenge_SidneyJennifer_ProvokePose() {
// When the user bribes Sidney, she leaves with half the items
function C010_Revenge_SidneyJennifer_Bribe() {
GameLogSpecificAdd("C010_Revenge", "Sidney", "Leave");
ActorLoad("Jennifer", "");
LeaveIcon = "";
C010_Revenge_SidneyJennifer_SidneyGone = true;
@ -140,6 +141,7 @@ function C010_Revenge_SidneyJennifer_GetTwoRopes() {
// Chapter 10 - Sidney and Jennifer Revenge - Jennifer will strip if she's +5 sub or more
function C010_Revenge_SidneyJennifer_JenniferTestStrip() {
if (ActorGetValue(ActorSubmission) >= 5) {
GameLogAdd("Naked");
OverridenIntroText = GetText("JenniferStrips");
ActorSpecificSetCloth("Jennifer", "Naked");
ActorChangeAttitude(-2, 1);
@ -150,6 +152,7 @@ function C010_Revenge_SidneyJennifer_JenniferTestStrip() {
// Chapter 10 - Sidney and Jennifer Revenge - Jennifer can be tied up like a dog
function C010_Revenge_SidneyJennifer_JenniferDog() {
GameLogAdd("Dog");
ActorAddInventory("Rope");
ActorAddInventory("TwoRopes");
PlayerRemoveInventory("Rope", 2);
@ -228,6 +231,8 @@ function C010_Revenge_SidneyJennifer_EndFight(Victory) {
// Change the girls attitude depending on the victory or defeat
ActorSpecificChangeAttitude("Sidney", 0, Victory ? 2 : -2);
ActorSpecificChangeAttitude("Jennifer", -1, Victory ? 2 : -2);
GameLogSpecificAdd("C010_Revenge", "Sidney", Victory ? "FightVictory" : "FightDefeat");
GameLogSpecificAdd("C010_Revenge", "Jennifer", Victory ? "FightVictory" : "FightDefeat");
ActorSpecificSetPose("Sidney", "Angry");
ActorSpecificSetPose("Jennifer", "Angry");
C010_Revenge_SidneyJennifer_FightVictory = Victory;
@ -314,6 +319,7 @@ function C010_Revenge_SidneyJennifer_MasturbateJennifer() {
// Chapter 10 - Sidney and Jennifer Revenge - When Jennifer is convinced to leave
function C010_Revenge_SidneyJennifer_JenniferLeave() {
GameLogSpecificAdd("C010_Revenge", "Jennifer", "Leave");
ActorLoad("Sidney", "");
LeaveIcon = "";
C010_Revenge_SidneyJennifer_JenniferGone = true;
@ -346,6 +352,7 @@ function C010_Revenge_SidneyJennifer_SearchSidneyBag() {
// Chapter 10 - Sidney and Jennifer Revenge - When the player searches in Sidney's bag
function C010_Revenge_SidneyJennifer_SidneyPig() {
GameLogAdd("Pig");
ActorSpecificSetPose("Sidney", "Pig");
CurrentTime = CurrentTime + 50000;
}
@ -429,6 +436,8 @@ function C010_Revenge_SidneyJennifer_EndRace(Victory) {
// Change the girls attitude depending on the victory or defeat
ActorSpecificChangeAttitude("Sidney", 0, Victory ? 2 : -2);
ActorSpecificChangeAttitude("Jennifer", Victory ? 2 : -2, 0);
GameLogSpecificAdd("C010_Revenge", "Sidney", Victory ? "RaceVictory" : "RaceDefeat");
GameLogSpecificAdd("C010_Revenge", "Jennifer", Victory ? "RaceVictory" : "RaceDefeat");
ActorSpecificSetPose("Sidney", "Camera");
ActorSpecificSetPose("Jennifer", "");
C010_Revenge_SidneyJennifer_RaceVictory = Victory;

View file

@ -29,7 +29,7 @@ function C101_KinbakuClub_JennaIntro_Load() {
C101_KinbakuClub_JennaIntro_Concerned = true;
C101_KinbakuClub_JennaIntro_Chloe = true;
}
if (Common_PlayerCrime == "NatalieStranded") C101_KinbakuClub_JennaIntro_CurrentStage = 100;
if (GameLogQuery("C007_LunchBreak", "Natalie", "Stranded")) C101_KinbakuClub_JennaIntro_CurrentStage = 100;
C101_KinbakuClub_JennaIntro_FirstLoad = false;
}

View file

@ -61,7 +61,6 @@ var Common_PlayerUnderwear = false;
var Common_PlayerNaked = false;
var Common_PlayerCostume = "";
var Common_PlayerPose = "";
var Common_PlayerCrime = "";
var Common_ClubStatus = "";
// Returns the current date and time in a yyyy-mm-dd hh:mm:ss format

View file

@ -6,6 +6,9 @@ var GameLogEvent = 2;
// Log a specific event that happened in the game to be consulted by other scripts afterward
function GameLogSpecificAdd(ChapterToLog, ActorToLog, EventToLog) {
// If no actor is specified, we imply the player
if (ActorToLog == "") ActorToLog = "Player";
// Do not log the same event twice
for (var L = 0; L < GameLog.length; L++)
if ((ChapterToLog == GameLog[L][GameLogChapter]) && (ActorToLog == GameLog[L][GameLogActor]) && (EventToLog == GameLog[L][GameLogEvent]))

View file

@ -43,6 +43,9 @@ function PlayerLockInventory(NewInventory) {
return;
PlayerLockedInventory.push(NewInventory);
LoadRestrainStatus();
// If there's rope and a costume, we strip the player
if ((NewInventory == "Rope") && (Common_PlayerCostume != "")) PlayerClothes("Underwear");
}

View file

@ -67,7 +67,6 @@ function SaveState(SlotNumber) {
localStorage.setItem("Actor" + SN, JSON.stringify(Actor));
localStorage.setItem("GameLog" + SN, JSON.stringify(GameLog));
localStorage.setItem("CurrentTime" + SN, CurrentTime.toString());
localStorage.setItem("Common_PlayerCrime" + SN, Common_PlayerCrime);
localStorage.setItem("Common_ClubStatus" + SN, Common_ClubStatus);
// Reload the summaries
@ -96,7 +95,6 @@ function LoadState(SlotNumber) {
GameLog = JSON.parse(localStorage.getItem("GameLog" + SN));
PlayerSkill = JSON.parse(localStorage.getItem("PlayerSkill" + SN));
CurrentTime = parseFloat(localStorage.getItem("CurrentTime" + SN));
Common_PlayerCrime = localStorage.getItem("Common_PlayerCrime" + SN);
Common_ClubStatus = localStorage.getItem("Common_ClubStatus" + SN);
LoadRestrainStatus();
SetScene(CurrentChapter, CurrentScreen);