diff --git a/Actors/Player/BlackDress_NoBondage_NoGag_BackWatchShow.png b/Actors/Player/BlackDress_NoBondage_NoGag_BackWatchShow.png
new file mode 100644
index 0000000000..49abc73443
Binary files /dev/null and b/Actors/Player/BlackDress_NoBondage_NoGag_BackWatchShow.png differ
diff --git a/Actors/Sidney/Shorts_NoBondage_Collar_NoGag_BackWatchShow.png b/Actors/Sidney/Shorts_NoBondage_Collar_NoGag_BackWatchShow.png
new file mode 100644
index 0000000000..ed825c0eaf
Binary files /dev/null and b/Actors/Sidney/Shorts_NoBondage_Collar_NoGag_BackWatchShow.png differ
diff --git a/Actors/Sidney/Shorts_NoBondage_NoGag_BackWatchShow.png b/Actors/Sidney/Shorts_NoBondage_NoGag_BackWatchShow.png
new file mode 100644
index 0000000000..04f81593cb
Binary files /dev/null and b/Actors/Sidney/Shorts_NoBondage_NoGag_BackWatchShow.png differ
diff --git a/C000_Intro/ChapterSelect/GameCredits.csv b/C000_Intro/ChapterSelect/GameCredits.csv
index b8a2c6409e..98aec4b2d7 100644
--- a/C000_Intro/ChapterSelect/GameCredits.csv
+++ b/C000_Intro/ChapterSelect/GameCredits.csv
@@ -29,47 +29,48 @@ Designated|Ilsyra
 Jyeoh|Winterisbest
 Michal P.|David
 Lasse T.|Sanae X.
-Leon|Grzegorz J.
-Yon|Amagiri Y.
-Alan J.|miao w.
-john w.|thor
-Erik L.|TheAndiPlays
-Connor B.|Kyle
-JDMSOULS22|Hemtai
-Michael L.|giuseppe s.
-Hunter M.|Jared s.
-Dessed|ajwad
-天河|Mats J.
-Jinx|bla_rg
-Fafa39|Michael I.
-hiddenlotus555|Julio E.
-Lukas B.|Alan R.
-Yoshoki|Peter
-Troqu|Sid111
-Ricky R.|Strangerhood
-1073522|Simon W.
-Bob D.|flydeath
-KBgamer2010|CuvyanTaylor
-JohnCenaDidNoth|BinaryNerd
-Gopanka|bxfire
-Hazel K.|James B.
-EugeneTooms|Andrew C.
-Koluc|Zack
-Keso|Ryner L.
-Noah J.|The_Blarg
-Ff7sfm|John M.
-thomas|nubbs99
-Lukas Z.|John D.
-ExpertPlasma|Bumurmum
-Ediger|Steve J.
-Nathaniel W.|Denis S.
-Blackfur|Side E.
-Ray B.|Dan S.
-Mike W.|Gust R.
-Adriano8727|brunayla
-Nam H.|Ryan K.
-Bobby A.|Vkad 6.
-Richard M.|Alfredo A.
+Leon|tetris245
+Destroyer-x|Garreth W.
+Grzegorz J.|Yon
+Amagiri Y.|Alan J.
+miao w.|john w.
+thor|Erik L.
+TheAndiPlays|Connor B.
+Kyle|JDMSOULS22
+Hemtai|Michael L.
+giuseppe s.|Hunter M.
+Jared s.|Dessed
+ajwad|天河
+Mats J.|Jinx
+bla_rg|Fafa39
+Michael I.|hiddenlotus555
+Julio E.|Lukas B.
+Alan R.|Yoshoki
+Peter|Troqu
+Sid111|Ricky R.
+Strangerhood|1073522
+Simon W.|Bob D.
+flydeath|KBgamer2010
+CuvyanTaylor|JohnCenaDidNoth
+BinaryNerd|Gopanka
+bxfire|Hazel K.
+James B.|EugeneTooms
+Andrew C.|Koluc
+Zack|Keso
+Ryner L.|Noah J.
+The_Blarg|Ff7sfm
+John M.|thomas
+nubbs99|Lukas Z.
+John D.|ExpertPlasma
+Bumurmum|Ediger
+Steve J.|Nathaniel W.
+Denis S.|Blackfur
+Side E.|Ray B.
+Dan S.|Mike W.
+Gust R.|Adriano8727
+brunayla|Nam H.
+Ryan K.|Bobby A.
+Vkad 6.|Alfredo A.
 Kevin K.|Kurami-
 Winnie|Michael F.
 Edward N.|itsrave
@@ -103,24 +104,24 @@ Robert|Daniel W.
 Lilian B.|Stanley F.
 Jesse Y.|Barbehenn
 Stargat53|Lovebdg1
-Jörn P.|AleX
-Johnny g.|target
-Andrei S.|Flying V.
-plicoc|gottspende
-What E.|Stefano
-Rafael R.|David R.
-AJ22|ClockALock
-韩旭东|Fin H.
-Nathan D.|Bryce R.
+Jörn P.|DJZ
+AleX|Johnny g.
+target|Andrei S.
+Flying V.|plicoc
+gottspende|What E.
+Stefano|Rafael R.
+David R.|AJ22
+ClockALock|韩旭东
+Fin H.|Bryce R.
 roulio12|ElCorro
 Lukas G.|egadonb
 Meyer|Alpha
 Oren B.|Afituz I.
 Raven-rj|Zongus763
 Jack S.|Joshua H.
-Triassik|Leonardo P.
-jukehero461|lemonda
-DJZ|Littleshiro-kun
+高辰昊|Triassik
+Leonardo P.|jukehero461
+lemonda|Littleshiro-kun
 Christopher W.|
 
 CreditTypeFans
diff --git a/C012_AfterClass/Bed/Dorm.jpg b/C012_AfterClass/Bed/Dorm.jpg
new file mode 100644
index 0000000000..b4b6af4ba4
Binary files /dev/null and b/C012_AfterClass/Bed/Dorm.jpg differ
diff --git a/C012_AfterClass/Bed/Intro_EN.csv b/C012_AfterClass/Bed/Intro_EN.csv
index bb5ef87bdf..d4adfc0687 100644
--- a/C012_AfterClass/Bed/Intro_EN.csv
+++ b/C012_AfterClass/Bed/Intro_EN.csv
@@ -4,3 +4,5 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
 100,0,0,,,BedOverview.jpg
 110,0,0,,,BedOverview.jpg
 120,0,0,,,BedOverviewOrgasm.jpg
+200,0,0,,(You and Sidney get in bed together.),Bed.jpg
+900,0,0,,,Dorm.jpg
diff --git a/C012_AfterClass/Bed/Script.js b/C012_AfterClass/Bed/Script.js
index 9e2f65e8e6..7db7215f3a 100644
--- a/C012_AfterClass/Bed/Script.js
+++ b/C012_AfterClass/Bed/Script.js
@@ -3,18 +3,28 @@ var C012_AfterClass_Bed_PleasureUp = 0;
 var C012_AfterClass_Bed_PleasureDown = 0;
 var C012_AfterClass_Bed_MasturbationRequired = 0;
 var C012_AfterClass_Bed_MistressApproveMasturbate = "";
+var C012_AfterClass_Bed_Partner = "";
 
 // Chapter 12 After Class - Bed Load
 function C012_AfterClass_Bed_Load() {
-	LeaveIcon = "Leave";
-	LeaveScreen = "Dorm";
+
+	// Alone, the player can masturbate.  With a partner, they can make love.
 	LoadInteractions();
-	C012_AfterClass_Bed_CurrentStage = 0;
-	C012_AfterClass_Bed_PleasureUp = 0;
-	C012_AfterClass_Bed_PleasureDown = 0;
-	C012_AfterClass_Bed_MistressApproveMasturbate = "";
-	if (PlayerHasLockedInventory("VibratingEgg")) C012_AfterClass_Bed_MasturbationRequired = 2;
-	else C012_AfterClass_Bed_MasturbationRequired = 3;
+	if (C012_AfterClass_Bed_Partner == "") {
+		LeaveIcon = "Leave";
+		LeaveScreen = "Dorm";
+		C012_AfterClass_Bed_CurrentStage = 0;
+		C012_AfterClass_Bed_PleasureUp = 0;
+		C012_AfterClass_Bed_PleasureDown = 0;
+		C012_AfterClass_Bed_MistressApproveMasturbate = "";
+		if (PlayerHasLockedInventory("VibratingEgg")) C012_AfterClass_Bed_MasturbationRequired = 2;
+		else C012_AfterClass_Bed_MasturbationRequired = 3;		
+	} else {
+		ActorLoad(C012_AfterClass_Bed_Partner, "Dorm");
+		if (C012_AfterClass_Bed_Partner == "Sidney") C012_AfterClass_Bed_CurrentStage = 200;
+		LeaveIcon = "";
+	}
+	
 }
 
 // Chapter 12 After Class - Bed Run
@@ -23,6 +33,7 @@ function C012_AfterClass_Bed_Run() {
 	if (C012_AfterClass_Bed_CurrentStage == 100) { Common_PlayerPose = "LieMasturbate"; DrawTransparentPlayerImage(600, 0, 1); Common_PlayerPose = ""; }
 	if (C012_AfterClass_Bed_CurrentStage == 110) { Common_PlayerPose = "LieMasturbateOrgasm"; DrawTransparentPlayerImage(600, 0, 1); Common_PlayerPose = ""; }
 	if (C012_AfterClass_Bed_CurrentStage == 120) { Common_PlayerPose = "LieMasturbateOrgasm"; DrawTransparentPlayerImage(600, 0, 1); Common_PlayerPose = ""; }
+	if (C012_AfterClass_Bed_CurrentStage == 900) DrawActor(CurrentActor, 600, 0, 1);
 }
 
 // Chapter 12 After Class - Bed Click
@@ -146,3 +157,14 @@ function C012_AfterClass_Bed_Climax() {
 	C012_AfterClass_Bed_PleasureDown = 0;
 	GameLogSpecificAddTimer(CurrentChapter, "Player", "NextPossibleOrgasm", PlayerHasLockedInventory("VibratingEgg") ? CurrentTime + 1800000 : CurrentTime + 3600000);
 }
+
+// Chapter 12 After Class - When the leaves the bed with a lover
+function C012_AfterClass_Bed_LeaveBedFromSex() {
+	LeaveIcon = "Leave";
+	OverridenIntroImage = "";
+}
+
+// Chapter 12 After Class - Go back to the dorm scene
+function C012_AfterClass_Bed_BackToDorm() {
+	SetScene(CurrentChapter, "Dorm");
+}
\ No newline at end of file
diff --git a/C012_AfterClass/Bed/SexSidneyCollarPlayerCollar.jpg b/C012_AfterClass/Bed/SexSidneyCollarPlayerCollar.jpg
new file mode 100644
index 0000000000..762ad99366
Binary files /dev/null and b/C012_AfterClass/Bed/SexSidneyCollarPlayerCollar.jpg differ
diff --git a/C012_AfterClass/Bed/SexSidneyCollarPlayerNoCollar.jpg b/C012_AfterClass/Bed/SexSidneyCollarPlayerNoCollar.jpg
new file mode 100644
index 0000000000..03c84b01d7
Binary files /dev/null and b/C012_AfterClass/Bed/SexSidneyCollarPlayerNoCollar.jpg differ
diff --git a/C012_AfterClass/Bed/SexSidneyNoCollarPlayerCollar.jpg b/C012_AfterClass/Bed/SexSidneyNoCollarPlayerCollar.jpg
new file mode 100644
index 0000000000..1e56957aab
Binary files /dev/null and b/C012_AfterClass/Bed/SexSidneyNoCollarPlayerCollar.jpg differ
diff --git a/C012_AfterClass/Bed/SexSidneyNoCollarPlayerNoCollar.jpg b/C012_AfterClass/Bed/SexSidneyNoCollarPlayerNoCollar.jpg
new file mode 100644
index 0000000000..ef3f185122
Binary files /dev/null and b/C012_AfterClass/Bed/SexSidneyNoCollarPlayerNoCollar.jpg differ
diff --git a/C012_AfterClass/Bed/Stage_EN.csv b/C012_AfterClass/Bed/Stage_EN.csv
index 93897cd389..3da1884e5c 100644
--- a/C012_AfterClass/Bed/Stage_EN.csv
+++ b/C012_AfterClass/Bed/Stage_EN.csv
@@ -15,3 +15,5 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 110,0,0,,@Stop masturbating.,"You calm down, take deep breathes|and stop everything before your climax.",100,0,0,StopMasturbate()
 120,0,0,,@Continue to|masturbate.,"Just to make sure you're satisfied,|you start touching yourself again.",100,0,0,
 120,0,0,,@Stop and get up.,You get up from your bed|feeling relaxed and satisfied.,0,0,0,StopMasturbate()
+200,0,0,,That's enough.|(Get up from bed.),We stop now?  That was quick.,900,0,0,LeaveBedFromSex()
+900,0,0,,(Back to the dorm.),,900,0,0,BackToDorm()
diff --git a/C012_AfterClass/Dorm/Script.js b/C012_AfterClass/Dorm/Script.js
index 820293ed07..0f0aed4383 100644
--- a/C012_AfterClass/Dorm/Script.js
+++ b/C012_AfterClass/Dorm/Script.js
@@ -8,7 +8,7 @@ var C012_AfterClass_Dorm_SidneyReturnTime = 0;
 function C012_AfterClass_Dorm_LeavingGuest() {
 
 	// Sidney will leave at 20:00, it ends any grounding event
-	if ((C012_AfterClass_Dorm_Guest.indexOf("Sidney") >= 0) && (CurrentTime >= C012_AfterClass_Dorm_SidneyExitTime) && (CurrentTime <= C012_AfterClass_Dorm_SidneyReturnTime) && !ActorSpecificIsRestrained("Sidney")) {
+	if ((C012_AfterClass_Dorm_Guest.indexOf("Sidney") >= 0) && (CurrentTime >= C012_AfterClass_Dorm_SidneyExitTime) && (CurrentTime <= C012_AfterClass_Dorm_SidneyReturnTime) && !GameLogQuery(CurrentChapter, "Sidney", "BackFromRockShow") && !ActorSpecificIsRestrained("Sidney")) {
 		C012_AfterClass_Dorm_Guest.splice("Sidney");
 		if (CurrentScreen == "Dorm") {
 			C012_AfterClass_Sidney_CurrentStage = 400;
@@ -25,7 +25,9 @@ function C012_AfterClass_Dorm_LeavingGuest() {
 function C012_AfterClass_Dorm_CalGuest() {	
 	C012_AfterClass_Dorm_LeavingGuest();
 	C012_AfterClass_Dorm_Guest = [];
-	if (GameLogQuery(CurrentChapter, "Sidney", "EnterDormFromPub") && ((CurrentTime <= C012_AfterClass_Dorm_SidneyExitTime) || (CurrentTime >= C012_AfterClass_Dorm_SidneyReturnTime) || ActorSpecificIsRestrained("Sidney"))) C012_AfterClass_Dorm_Guest.push("Sidney");
+	if (GameLogQuery(CurrentChapter, "Sidney", "EnterDormFromPub") && ((CurrentTime <= C012_AfterClass_Dorm_SidneyExitTime) || (CurrentTime >= C012_AfterClass_Dorm_SidneyReturnTime) || GameLogQuery(CurrentChapter, "Sidney", "BackFromRockShow") || ActorSpecificIsRestrained("Sidney"))) 
+		if (!GameLogQuery(CurrentChapter, "Sidney", "LoverBreakUp") || ActorSpecificGetValue("Sidney", ActorOwner) == "Player")
+			C012_AfterClass_Dorm_Guest.push("Sidney");
 	C012_AfterClass_Dorm_PlayerPos = 600 - C012_AfterClass_Dorm_Guest.length * 100;
 }
 
@@ -40,6 +42,7 @@ function C012_AfterClass_Dorm_Load() {
 	ActorSpecificSetPose("Jennifer", "");
 	Common_BondageAllowed = true;
 	Common_SelfBondageAllowed = true;
+	C012_AfterClass_Bed_Partner = "";
 	
 	// Calculates the time when Sidney will leave and return
 	C012_AfterClass_Dorm_SidneyExitTime = 20 * 60 * 60 * 1000;
diff --git a/C012_AfterClass/RockShow/Intro_EN.csv b/C012_AfterClass/RockShow/Intro_EN.csv
new file mode 100644
index 0000000000..df9583b91d
--- /dev/null
+++ b/C012_AfterClass/RockShow/Intro_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,IntroText,Image
+0,0,0,,You arrive at the rock show.|The band is already playing.,RockShow.jpg
diff --git a/C012_AfterClass/RockShow/RockShow.jpg b/C012_AfterClass/RockShow/RockShow.jpg
new file mode 100644
index 0000000000..ae00f72003
Binary files /dev/null and b/C012_AfterClass/RockShow/RockShow.jpg differ
diff --git a/C012_AfterClass/RockShow/Script.js b/C012_AfterClass/RockShow/Script.js
new file mode 100644
index 0000000000..dde8a51ec4
--- /dev/null
+++ b/C012_AfterClass/RockShow/Script.js
@@ -0,0 +1,52 @@
+var C012_AfterClass_RockShow_CurrentStage = 0;
+var C012_AfterClass_RockShow_IntroText = "";
+
+// Chapter 12 After Class - Rock Show Load
+function C012_AfterClass_RockShow_Load() {
+	
+	// Loads the scene to search in the wardrobe
+	LoadInteractions();
+	ActorLoad("Sidney", "");
+	Common_BondageAllowed = false;
+	Common_SelfBondageAllowed = false;
+	Common_PlayerPose = "BackWatchShow";
+	ActorSetPose("BackWatchShow");
+
+	// If we must put the previous text back
+	if (C012_AfterClass_RockShow_IntroText != "") { OverridenIntroText = C012_AfterClass_RockShow_IntroText; C012_AfterClass_RockShow_IntroText = ""; }
+
+	// No leaving from the rock show
+	LeaveIcon = "";
+	LeaveScreen = "";
+
+}
+
+// Chapter 12 After Class - Rock Show Run
+function C012_AfterClass_RockShow_Run() {
+	BuildInteraction(C012_AfterClass_RockShow_CurrentStage);
+	DrawActor("Player", 480, 0, 1);
+	DrawActor(CurrentActor, 700, 0, 1);
+}
+
+// Chapter 12 After Class - Rock Show Click
+function C012_AfterClass_RockShow_Click() {	
+
+	// Regular interactions
+	ClickInteraction(C012_AfterClass_RockShow_CurrentStage);
+
+	// The player can click on herself in most stages
+	var ClickInv = GetClickedInventory();
+	if (ClickInv == "Player") {
+		C012_AfterClass_RockShow_IntroText = OverridenIntroText;
+		InventoryClick(ClickInv, CurrentChapter, CurrentScreen);
+	}
+
+}
+
+// Chapter 12 After Class - When the player leaves the rock show
+function C012_AfterClass_RockShow_Leave() {
+	CurrentTime = CurrentTime + 290000;
+	C012_AfterClass_Dorm_LeavingGuest();
+	GameLogAdd("BackFromRockShow");
+	SetScene(CurrentChapter, "Dorm");
+}
\ No newline at end of file
diff --git a/C012_AfterClass/RockShow/Stage_EN.csv b/C012_AfterClass/RockShow/Stage_EN.csv
new file mode 100644
index 0000000000..82a85ec723
--- /dev/null
+++ b/C012_AfterClass/RockShow/Stage_EN.csv
@@ -0,0 +1,2 @@
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Leave the show.,,0,0,0,Leave()
diff --git a/C012_AfterClass/RockShow/Text_EN.csv b/C012_AfterClass/RockShow/Text_EN.csv
new file mode 100644
index 0000000000..b773c14f51
--- /dev/null
+++ b/C012_AfterClass/RockShow/Text_EN.csv
@@ -0,0 +1 @@
+Tag,Content
diff --git a/C012_AfterClass/Sidney/Intro_EN.csv b/C012_AfterClass/Sidney/Intro_EN.csv
index 2ff024db53..788bc6844c 100644
--- a/C012_AfterClass/Sidney/Intro_EN.csv
+++ b/C012_AfterClass/Sidney/Intro_EN.csv
@@ -7,6 +7,7 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
 0,10,0,Common_PlayerNaked,You're pretty without clothes.,Dorm.jpg
 0,0,-10,Common_PlayerNaked,"Girl, you're fucking kinky.",Dorm.jpg
 0,0,10,Common_PlayerNaked,"Miss, you have a fabulous body.",Dorm.jpg
+0,0,0,Common_ActorIsLover,What would you like to do sweetie?,Dorm.jpg
 0,0,0,Common_ActorIsOwner,Hey there my little bitch.|What would you like to do?,Dorm.jpg
 0,0,0,Common_ActorIsOwned,"Mistress, what would you like to do?",Dorm.jpg
 0,0,0,IsRoped,(She struggles.)  This is way too tight.|Can you help me with these ropes?,Dorm.jpg
@@ -16,6 +17,21 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
 100,0,0,,(She blushes)  Thanks.|You also look wonderful.,Dorm.jpg
 100,0,0,Common_ActorIsOwned,(She blushes.)  Thanks Mistress.|You also look fabulous tonight.,Dorm.jpg
 100,0,0,Common_ActorIsOwner,Thanks my little bitch.|You also look wonderful.,Dorm.jpg
+105,0,0,,,Dorm.jpg
+106,0,0,,,Dorm.jpg
+110,0,0,,,Dorm.jpg
+115,0,0,,,Dorm.jpg
+120,0,0,,,Dorm.jpg
+130,0,0,,,Dorm.jpg
+140,0,0,,,Dorm.jpg
+150,0,0,,,Dorm.jpg
+160,0,0,,,StartDating.jpg
+170,0,0,,,Dorm.jpg
+190,0,0,,,Dorm.jpg
+191,0,0,,,Dorm.jpg
+192,0,0,,,StopDating.jpg
+193,0,0,,,StopDating.jpg
+194,0,0,,,Dorm.jpg
 200,0,0,,Protection?  What do you mean Miss?,Dorm.jpg
 200,0,0,Common_ActorIsLover,I already have your loving arms.|Do you think I need protection?,Dorm.jpg
 210,0,0,,,Dorm.jpg
@@ -55,6 +71,7 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
 400,0,0,,I need to go.|I'll see ya later.,Door.jpg
 400,0,0,Common_ActorIsOwner,Bitch!  I need to go.|I'll spank ya later.,Door.jpg
 400,0,0,Common_ActorIsOwned,I need to go Mistress.|I hope to see you later.,Door.jpg
+400,0,0,Common_ActorIsLover,There's a rock show I really want to see.|Do you want to come with me sweetie?,Door.jpg
 401,0,0,,,Door.jpg
 402,0,0,,,Door.jpg
 410,0,0,,,Door.jpg
diff --git a/C012_AfterClass/Sidney/Script.js b/C012_AfterClass/Sidney/Script.js
index 8f57c22029..b7cfb5b0c0 100644
--- a/C012_AfterClass/Sidney/Script.js
+++ b/C012_AfterClass/Sidney/Script.js
@@ -15,6 +15,7 @@ var C012_AfterClass_Sidney_SexAvail = false;
 var C012_AfterClass_Sidney_PleasurePlayerCount = 0;
 var C012_AfterClass_Sidney_PleasurePlayerSpeed = 0;
 var C012_AfterClass_Sidney_MasturbateCount = 0;
+var C012_AfterClass_Sidney_CanSetCurfew22 = false;
 
 // In her shorts, Sidney can have many poses when she talks
 function C012_AfterClass_Sidney_SetPose() {
@@ -50,8 +51,7 @@ function C012_AfterClass_Sidney_Load() {
 	
 	// Loads the scene to search in the wardrobe
 	LoadInteractions();
-	ActorLoad("Sidney", "Leave");
-	LeaveScreen = "Dorm";
+	ActorLoad("Sidney", "Dorm");
 	Common_PlayerPose = "";
 	
 	// At stage 400, Sidney is leaving
@@ -96,7 +96,12 @@ function C012_AfterClass_Sidney_Load() {
 
 // Chapter 12 After Class - Sidney Run
 function C012_AfterClass_Sidney_Run() {
+
+	// The curfew 22 option isn't available after 22
+	C012_AfterClass_Sidney_CanSetCurfew22 = (CurrentTime < 22 * 60 * 60 * 1000);
 	BuildInteraction(C012_AfterClass_Sidney_CurrentStage);
+	
+	// Draw the actor alone or with the player depending on the stage
 	if ((C012_AfterClass_Sidney_CurrentStage != 410) && (C012_AfterClass_Sidney_CurrentStage != 3931) && (C012_AfterClass_Sidney_CurrentStage != 3932) && (C012_AfterClass_Sidney_CurrentStage != 3933) && (C012_AfterClass_Sidney_CurrentStage != 632) && (C012_AfterClass_Sidney_CurrentStage != 633) && (C012_AfterClass_Sidney_CurrentStage != 634)) {
 		if (((C012_AfterClass_Sidney_CurrentStage >= 3090) && (C012_AfterClass_Sidney_CurrentStage <= 3099)) || ((C012_AfterClass_Sidney_CurrentStage >= 3901) && (C012_AfterClass_Sidney_CurrentStage <= 3999))) {
 			DrawActor("Player", 475, 0, 1);
@@ -106,6 +111,7 @@ function C012_AfterClass_Sidney_Run() {
 			if ((C012_AfterClass_Sidney_CurrentStage >= 340) && (C012_AfterClass_Sidney_CurrentStage < 400)) DrawActor("Player", 600, 100, 1);		
 		}		
 	}
+	
 }
 
 // Chapter 12 After Class - Sidney Click
@@ -196,7 +202,7 @@ function C012_AfterClass_Sidney_TestSex() {
 					OverridenIntroText = "";
 				}
 			} else OverridenIntroText = GetText("UnlockBeltBeforeSex");
-		} else OverridenIntroText = GetText("ReleaseBeforeSex");
+		} else OverridenIntroText = GetText("ReleaseBeforeTalk");
 	} else C012_AfterClass_Sidney_GaggedAnswer();
 }
 
@@ -204,10 +210,12 @@ function C012_AfterClass_Sidney_TestSex() {
 function C012_AfterClass_Sidney_TestLove() {
 	if (!ActorIsGagged()) {
 		if (!ActorIsRestrained() && !Common_PlayerRestrained) {
-			if (ActorGetValue(ActorLove) >= 20) {
-				C012_AfterClass_Sidney_CurrentStage = 100;
-				OverridenIntroText = "";
-			}
+			if (!Common_PlayerNaked && (ActorGetValue(ActorCloth) != "Naked")) {
+				if (ActorGetValue(ActorLove) >= 20) {
+					C012_AfterClass_Sidney_CurrentStage = 100;
+					OverridenIntroText = "";
+				}
+			} else OverridenIntroText = GetText("CantDateWhileNaked");
 		} else OverridenIntroText = GetText("CantDateWhileRestrained");
 	} else C012_AfterClass_Sidney_GaggedAnswer();
 }
@@ -820,3 +828,87 @@ function C012_AfterClass_Sidney_SidneyDeniedOrgasm() {
 	}
 	C012_AfterClass_Sidney_EndEnslaveSidney();
 }
+
+// Chapter 12 After Class - Tests if the player is already dating someone else
+function C012_AfterClass_Sidney_TestRelationship() {
+	if (GameLogQuery(CurrentChapter, CurrentActor, "LoverBreakUp")) {
+		OverridenIntroText = GetText("AlreadyBrokeUp");
+		C012_AfterClass_Sidney_CurrentStage = 0;
+	} else {
+		if (Common_PlayerLover != "") {
+			OverridenIntroText = GetText("AlreadyLoved");
+			C012_AfterClass_Sidney_CurrentStage = 105;
+		}
+	}
+}
+
+// Chapter 12 After Class - Start Dating Sidney
+function C012_AfterClass_Sidney_StartDating() {
+	CurrentTime = CurrentTime + 50000;
+	Common_PlayerLover = "Sidney";
+	Common_ActorIsLover = true;
+}
+
+// Chapter 12 After Class - Start Dating Sidney
+function C012_AfterClass_Sidney_BothNaked() {
+	ActorSetCloth("Naked");
+	PlayerClothes("Naked");
+	C012_AfterClass_Sidney_CalcParams();
+	CurrentTime = CurrentTime + 50000;
+}
+
+// Chapter 12 After Class - Get in bed with Sidney to make love
+function C012_AfterClass_Sidney_MakeLove() {
+	CurrentTime = CurrentTime + 50000;
+	ActorSetCloth("Naked");
+	PlayerClothes("Naked");
+	C012_AfterClass_Bed_Partner = "Sidney";
+	SetScene(CurrentChapter, "Bed");
+}
+
+// Chapter 12 After Class - Test Sidney to go on a date with her
+function C012_AfterClass_Sidney_TestGoOnDate() {
+	if (!ActorIsGagged()) {
+		if (!ActorIsRestrained()) {
+			if (!GameLogQuery(CurrentChapter, CurrentActor, "RockShowTogether")) {
+				if (CurrentTime >= 20 * 60 * 60 * 1000) {
+					OverridenIntroText = GetText("RockShowAlreadyStarted");
+					C012_AfterClass_Sidney_CurrentStage = 185;
+				} else C012_AfterClass_Sidney_CurrentStage = 180;
+			} else OverridenIntroText = GetText("AlreadyWentOut");
+		} else OverridenIntroText = GetText("ReleaseBeforeTalk");
+	} else C012_AfterClass_Sidney_GaggedAnswer();	
+}
+
+// Chapter 12 After Class - Test if the player can start the break up dialog
+function C012_AfterClass_Sidney_TestTalkBreakUp() {
+	if (!ActorIsGagged()) {
+		if (!ActorIsRestrained()) C012_AfterClass_Sidney_CurrentStage = 190;
+		else OverridenIntroText = GetText("ReleaseBeforeTalk");
+	} else C012_AfterClass_Sidney_GaggedAnswer();	
+}
+
+// Chapter 12 After Class - When the player breaks up with Sidney
+function C012_AfterClass_Sidney_BreakUp() {
+	GameLogAdd("LoverBreakUp");
+	Common_PlayerLover = "";
+	Common_ActorIsLover = false;
+	ActorSetPose("");
+	LeaveIcon = "";
+}
+
+// Chapter 12 After Class - When Sidney leaves the room after the break up
+function C012_AfterClass_Sidney_SidneyLeave() {
+	CurrentActor = "";
+	LeaveIcon = "Leave";
+	C012_AfterClass_Dorm_Guest.splice("Sidney");
+}
+
+// Chapter 12 After Class - When Sidney and the player leaves for the rock show
+function C012_AfterClass_Sidney_LeaveForRockShow() {
+	CurrentTime = CurrentTime + 290000;
+	ActorSetCloth("Shorts");
+	PlayerClothes("BlackDress");
+	GameLogAdd("RockShowTogether");
+	SetScene(CurrentChapter, "RockShow");
+}
diff --git a/C012_AfterClass/Sidney/Stage_EN.csv b/C012_AfterClass/Sidney/Stage_EN.csv
index 04d16cd618..8ac5161b1d 100644
--- a/C012_AfterClass/Sidney/Stage_EN.csv
+++ b/C012_AfterClass/Sidney/Stage_EN.csv
@@ -3,6 +3,8 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 0,0,0,Common_ActorIsOwner,"Mistress, it's ok if|I change clothes?",Sure bitch.  Wear what you want.,0,0,0,IsChangingBlocked()
 0,0,0,Common_ActorIsOwned,Let's review|your rules.,(She seems to worry.)|Of course Mistress.,610,0,0,TestGagged()
 0,5,0,!Common_ActorIsLover,You look so|pretty Sidney.,"Thanks, you don't look bad either.|(You need +20 love to date Sidney.)",0,0,0,TestLove()
+0,0,0,Common_ActorIsLover,Should we go|out my love?,There's a rock show that starts at twenty.|Will you go with me sweetheart?,0,0,0,TestGoOnDate()
+0,0,0,Common_ActorIsLover,"My love, we|need to talk.",What's on your mind sweetie?,0,0,0,TestTalkBreakUp()
 0,0,5,!Common_ActorIsOwned,"Girl, you need|my protection.",I don't need protection from anyone.|(You need +20 submission to collar Sidney.),0,0,0,TestDomme()
 0,0,-5,!Common_ActorIsOwner,Miss Sidney.|I admire you.,"Don't talk like that, you sound like a loser.|(You need -20 submission to submit to Sidney.)",0,0,0,TestSub()
 0,0,0,Common_PlayerGagged,@Om nnnuoogn mh!,Oh yeah.  I fucking understood|what you said.  (She laughs.),0,0,0,TestUnbind()
@@ -23,7 +25,65 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 10,0,0,IsRoped,(Untie her.),(You undo the knots and remove the|ropes while she stretches slowly.),10,0,0,Untie()
 10,0,0,IsStrapped,(Unstrap her.),(You remove the straps and|unlace the binder from her arms.),10,0,0,Untie()
 10,0,0,,(Stop playing.),(You take a step back.),0,0,0,
-100,0,0,,TO DO,TO DO - NEXT VERSION,100,0,0,
+100,0,0,,Do you have|a loved one?,"I don't, this place is full of losers.",110,0,0,TestRelationship()
+100,0,0,,Do you have|a boyfriend?,"I don't, there's barely|any boys around here.",110,0,0,TestRelationship()
+100,0,0,,Do you have|a girlfriend?,"I don't, this place is full of losers.",110,0,0,TestRelationship()
+105,0,0,,"Yes, I'm lucky.",Fuck yeah you're lucky.|Let's talk about something else.,0,0,0,
+105,0,0,,You'll find someone.,"Yeah, yeah, yeah, I know.|Let's talk about something else.",0,0,0,
+105,0,0,Common_ActorIsOwned,I would rater|date you.,"Mistress, you could break up with her.|We can't date if you're seeing someone.",106,0,0,
+105,0,0,!Common_ActorIsOwned,,Then break up with that fucking loser.|We can't date if you're seeing someone.,106,0,0,
+106,0,0,,"Yes, I'll do that.",Great!  Let me know when it's done.,0,0,0,
+106,0,0,,I'll think about it.,Ok.  Let me know if you did it.,0,0,0,
+106,0,0,,I can't do that.,Fine.  Let's talk about|something else then.,0,0,0,
+110,0,0,,I know someone who|has an eye on you.,Oh yeah?  Who?,115,0,0,
+110,0,0,,Do you like me?,(She pauses for a moment.)|I... I think I do yeah.,120,0,0,
+110,0,0,,I think you'll find|someone very soon.,Oh yeah?  Who?,115,0,0,
+110,0,0,,You'll find someone|one of these days.,"Yeah, yeah, yeah, I know.|Let's talk about something else.",0,0,0,
+115,0,0,,Me of course!|Do you like me?,(She pauses for a moment.)|I... I think I do yeah.,120,0,0,
+115,0,0,,Amanda.,Are you blind or what?|She's wet for that stupid blond.,0,0,0,
+115,0,0,,Sarah.,Fuck you COMMON_PLAYERNAME.|This is not funny.,0,0,0,
+115,0,0,,Jennifer.,"She's a loser, she can be my bitch at best.",0,0,0,
+115,0,0,,It's a surprise.,"Don't tell me then, I'll wait.|Let's talk about something else.",0,0,0,
+120,0,0,,Have you dated|a girl before?,I've fucked with girls but|never dated.  And you?,130,0,0,
+120,0,0,,Do you have|lesbian desires?,I've fucked with girls before but|I've never dated any.  And you?,130,0,0,
+120,0,0,,Do you like woman?,I've fucked with girls before but|I've never dated any.  And you?,130,0,0,
+130,0,0,,I've dated|girls before.,And would you like to date me?,140,0,0,
+130,0,0,,I'm a lesbian.,It's fucking fine with me.|Would you like to date me?,140,0,0,
+130,0,0,,I've dated both|girls and boys.,It's fucking fine with me.|Would you like to date me?,140,0,0,
+130,0,0,,I've never had|a real girlfriend.,We can both start fresh then.|Would you like to date me?,140,0,0,
+140,0,0,!Common_ActorIsOwner,Yes Sidney.|I love you.,I love you COMMON_PLAYERNAME.|You really want to be my girlfriend?,150,0,0,
+140,0,0,Common_ActorIsOwner,Yes Mistress.|I love you.,I love you COMMON_PLAYERNAME.|You really want to be my girlfriend?,150,0,0,
+140,0,0,,That's tempting but I|need to think about it.,"Alright then, let me know|when you make up your mind.",0,0,0,
+140,0,0,,I don't think so.,"Fine, I don't fucking care.|Let's talk about something else.",0,0,0,
+150,0,0,,Yes!!!|(Kiss her.),(You jump into each other arms|for a long and passionate kiss.),160,3,0,StartDating()
+150,0,0,,I need time to|think about it.,"Alright then, let me know|when you make up your mind.",0,0,0,
+160,0,0,,Show me your sexy|body my love.,Of course sweetie.  (You both strip|naked and look at each other body.),170,0,1,BothNaked()
+160,0,0,,(Blush red and|start to strip.),Don't be shy my love.  (You both strip|naked and look at each other body.),170,0,-1,BothNaked()
+160,0,0,,I want to make|love with you.,Fuck yeah!  (You both strip|naked and look at each other.),170,1,0,BothNaked()
+160,0,0,,I'm so happy!,Fuck yeah!  I'm sure we'll have fun.,0,0,0,
+160,0,0,,I can't wait to|tell my friends.,Don't brag to everyone sweetie.,0,-1,0,
+160,0,0,,We should|go out later.,Now you're talking sweetheart!|We should celebrate and get stoned.,0,1,0,
+170,0,0,,(Get in bed.),,0,0,0,MakeLove()
+170,0,0,!Common_ActorIsOwner,(Push her on the bed.),,0,0,1,MakeLove()
+170,0,0,!Common_ActorIsOwned,(Let her carry|you in bed.),,0,0,-1,MakeLove()
+180,0,0,,Great!  We'll leave later.,Perfect!  What should we do now?,0,0,0,
+180,0,0,,I'm not sure I'll go.,"Think about it, it starts at twenty.|We can relax in the meantime.",0,0,0,
+185,0,0,,"Alright, let's go!|(Go to the show.)",,0,0,0,LeaveForRockShow()
+185,0,0,,Not right now.,"Sure sweetie, we can go later.",0,0,0,
+190,0,0,,I... I... I lost my|train of thought.,(She laughs at you.)|Are you stone sweetie?,0,0,0,
+190,0,0,,I don't think it's|working between us.,(She gives you an angry look.)|You want to break up with me?,191,0,0,
+190,0,0,,I want to break up.,(She gives you an angry look.)|Really?  You're breaking up?,191,0,0,
+191,0,0,,"No, let's stay together.",(She stares at you and frowns.)|You had me scared my love.,0,0,0,
+191,0,0,Common_ActorIsOwned,We'll break up but I'll|keep you as my slave.,"(She cries and looks devastated.)|Yes Mistress, I understand.",192,-5,0,BreakUp()
+191,0,0,!Common_ActorIsOwned,"Yes, I want to break up.",Fuck you then!  I hate you!|You think you can toy with me?,193,-5,0,BreakUp()
+192,0,0,,I'm sorry.|Don't cry.,It's fucking fine alright?|Let's talk about something else.,0,0,-1,EndChat()
+192,0,0,,You're not|in my league.,(She grumbles.)  Fine.  I get it.|Let's talk about something else.,0,-1,1,EndChat()
+192,0,0,,It was a mistake|from the start,"Maybe you're right, I don't know.|Let's talk about something else.",0,0,0,EndChat()
+192,0,0,,You'll find someone|perfect for you.,I thought I already did.  Fuck that.|Let's talk about something else.,0,1,0,EndChat()
+193,0,0,,I'm sorry.|Don't cry.,I'm not fucking crying!|(She runs away from the room.),194,0,-1,SidneyLeave()
+193,0,0,,You're not|in my league.,(She grumbles.)  Fine.  I get it.|(She runs away from the room.),194,-1,1,SidneyLeave()
+193,0,0,,It was a mistake|from the start,"Maybe you're right, fuck that!|(She runs away from the room.)",194,0,0,SidneyLeave()
+193,0,0,,You'll find someone|perfect for you.,I thought I already did.  Fuck that.|(She runs away from the room.),194,1,0,SidneyLeave()
 200,0,0,,You've made too|many enemies.,I agree!  But what can I do?,210,1,0,
 200,0,0,,You will fail school.,You think I care about that?|What could I do anyway?,210,0,0,
 200,0,0,,You need protection|from your temper.,I am what I am!|What can I do about that?,210,0,0,
@@ -111,6 +171,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 392,0,0,,What does it mean?,You can't do anything sexual without asking me.|Now stand up and let's do something fun.,0,0,0,PlayerStandUp()
 400,0,0,Common_PlayerGagged,@UNGN MH NUUOGH!,(She laughs and leaves your dorm.),410,0,0,TestReleaseBeforeExit()
 400,0,0,Common_PlayerRestrained,Can you help me|before you go?,"Nope, I like you like that.|(She leaves your dorm.)",410,0,0,TestReleaseBeforeExit()
+400,0,0,Common_ActorIsLover,Let's go together!|(Go to the show.),,0,0,0,LeaveForRockShow()
 400,0,0,!Common_ActorIsOwned,Have fun Sidney!,I will.  (She leaves your dorm.),410,0,0,
 400,0,0,Common_ActorIsOwned,Have fun my slave!,"I will Mistress, thanks!|(She leaves your dorm.)",410,0,1,
 400,0,0,!Common_ActorIsOwned,That sucks!|Don't go.,Fuck that.  (She leaves your dorm.),410,-1,0,
@@ -159,7 +220,7 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 600,0,0,,Forget it.,(She nods.),0,0,0,
 610,0,0,,You're free to|have fun tonight.,Great!  Thanks Mistress.|You're the best.,0,0,0,"SetCurfew(""None"")"
 610,0,0,,You can have fun tonight|but you will sleep here.,"Very well, thanks Mistress.",0,0,0,"SetCurfew(""24"")"
-610,0,0,,You can have fun but|come back at twenty-two.,That's tough but fair Mistress.|I'll be back at twenty-two.,0,0,0,"SetCurfew(""22"")"
+610,0,0,CanSetCurfew22,You can have fun but|come back at twenty-two.,That's tough but fair Mistress.|I'll be back at twenty-two.,0,0,0,"SetCurfew(""22"")"
 610,0,0,,You cannot leave my|dorm room tonight.,Really?  But I had plans tonight.|(She sighs.)  I will stay here I guess.,0,0,0,"SetCurfew(""Stay"")"
 620,0,0,,Until you pay your debt.|You'll wear a chastity belt.,Fuck you!  I'm not wearing a chastity belt.|I don't want to hear about that again.,0,0,0,TestBelt()
 621,0,0,,Get naked then.,I need to find a new pusher.|(She grumbles and strips down.),622,0,0,"ForceChangeActor(""Naked"")"
@@ -213,7 +274,9 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 642,0,0,,I control when|you cum girl.,(She nods and takes her|breath while slowly standing up.),0,0,1,EndEnslaveSidney()
 642,0,0,,(Give her a hug.),(You give her a warm hug|and help her to recover.),0,1,-1,EndEnslaveSidney()
 642,0,0,,(Help her to recover.),(You help her to recover.),0,0,-1,EndEnslaveSidney()
-650,0,0,,TO DO,TO DO - NEXT VERSION,650,0,0,
+650,0,0,,(Get in bed.),,0,0,0,MakeLove()
+650,0,0,!Common_ActorIsOwner,(Push her on the bed.),,0,0,0,MakeLove()
+650,0,0,!Common_ActorIsOwned,(Let her carry|you in bed.),,0,0,0,MakeLove()
 3000,0,0,,Yes Mistress.|(Strip naked.),Good girl.  (You change for Sidney.),3090,0,0,"ForceChangePlayer(""Naked"")"
 3000,0,0,,(Nod slowly.)|(Strip naked.),Good girl.  (You change for Sidney.),3090,0,0,"ForceChangePlayer(""Naked"")"
 3000,0,0,,I don't want|to do that.,"Fine, shut up then.|(She checks her phone.)",3092,0,0,TestPunish()
diff --git a/C012_AfterClass/Sidney/StartDating.jpg b/C012_AfterClass/Sidney/StartDating.jpg
new file mode 100644
index 0000000000..f7565ac777
Binary files /dev/null and b/C012_AfterClass/Sidney/StartDating.jpg differ
diff --git a/C012_AfterClass/Sidney/StopDating.jpg b/C012_AfterClass/Sidney/StopDating.jpg
new file mode 100644
index 0000000000..02477c14fb
Binary files /dev/null and b/C012_AfterClass/Sidney/StopDating.jpg differ
diff --git a/C012_AfterClass/Sidney/Text_EN.csv b/C012_AfterClass/Sidney/Text_EN.csv
index d924972a58..367fc95b39 100644
--- a/C012_AfterClass/Sidney/Text_EN.csv
+++ b/C012_AfterClass/Sidney/Text_EN.csv
@@ -100,5 +100,10 @@ SpankWithStrength,"(Using your strength, you spank her|hard on the butt while sh
 ReleaseBeforeSex,Can you release me first?
 UnlockBeltBeforeSex,Can you unlock the belt first?
 CantDateWhileRestrained,You get turned on by|the restrains don't you?
+CantDateWhileNaked,You get turned on by|the flesh don't you?
 StripForSecondRope,(You could use that second|rope if she had fewer clothes.)
 NoTickling,(You try to tickle her but she|quickly pushes you back.)
+AlreadyLoved,I don't.  Sometimes I wish I had|someone in my life like you do.
+AlreadyBrokeUp,I don't want to talk about that with you.
+AlreadyWentOut,Again?  Maybe tomorrow.|I'm exhausted sweetheart.
+RockShowAlreadyStarted,There's a rock show that's already started.|Should we go right now sweetheart?
diff --git a/Cheat.js b/Cheat.js
index 17f9716309..2afa2d9ab9 100644
--- a/Cheat.js
+++ b/Cheat.js
@@ -12,6 +12,10 @@ function CheatKey() {
 		if (!RaceEnded && (RaceTimer > 0)) { if (KeyPress == 42) { RaceProgress = RaceGoal; RaceEnd(true); } return; }
 		if (!QuizEnded && (QuizTimer > 0) && (QuizBetweenQuestionTimer == 0) && (QuizAnswerText == "")) { if (KeyPress == 42) { QuizAnswerText = QuizQuestion[QuizProgressLeft + QuizProgressRight][QuizQuestionAnswer1]; QuizAnswerBy = "Left"; QuizProgressLeft++; QuizBetweenQuestionTimer = QuizTimer + QuizOtherQuestionTime; } return; }
 		
+		// If we must manipulate time using + and -
+		if (KeyPress == 43) CheatTime(900000);
+		if (KeyPress == 45) CheatTime(-900000);
+		
 		// Actors and inventory cheat
 		if (CurrentActor != "") CheatActor();
 		CheatSkill();
@@ -21,6 +25,28 @@ function CheatKey() {
 
 }
 
+// Cheats the clock by adding or removing time
+function CheatTime(TimeChange) {
+
+	// Time must be running to allow cheating it
+	if (RunTimer) {
+
+		// Change the main clock
+		CurrentTime = CurrentTime + TimeChange;
+		if (CurrentTime <= 0) CurrentTime = 1;
+
+		// Change all the timed events in the game log to fit with that change
+		for (var L = 0; L < GameLog.length; L++)
+			if (GameLog[L][GameLogTimer] > 0) {
+				GameLog[L][GameLogTimer] = GameLog[L][GameLogTimer] + TimeChange;
+				if (GameLog[L][GameLogTimer] <= 0) GameLog[L][GameLogTimer] = 1;
+				if (GameLog[L][GameLogTimer] > 24 * 60 * 60 * 1000) GameLog[L][GameLogTimer] = 24 * 60 * 60 * 1000;
+			}
+
+	}
+
+}
+
 // Cheats to change actor love or submission (from 1 to 4)
 function CheatActor() {
 	if (KeyPress == 49) ActorChangeAttitude(1, 0);
diff --git a/Drawing.js b/Drawing.js
index 158698430a..ca66523a0a 100644
--- a/Drawing.js
+++ b/Drawing.js
@@ -147,7 +147,8 @@ function DrawActorStats(Left, Top) {
 	// Draw the actor name and icon
 	if (ActorGetValue(ActorHideName)) DrawText("Unknown", Left - 200, Top + 17, "black");
 	else DrawText(CurrentActor, Left - 200, Top + 17, "black");
-	DrawImage("Icons/Heart.png", Left - 110, Top);
+	if (CurrentActor == Common_PlayerLover) DrawImage("Icons/Lover.png", Left - 110, Top);
+	else DrawImage("Icons/Heart.png", Left - 110, Top);
 	if (ActorGetValue(ActorOwner) == "Player") DrawImage("Icons/Collared.png", Left - 10, Top);
 	else DrawImage("Icons/Submission.png", Left - 10, Top);
 	DrawImage("Icons/Orgasm.png", Left + 90, Top);
diff --git a/Icons/Lover.png b/Icons/Lover.png
new file mode 100644
index 0000000000..3fed613562
Binary files /dev/null and b/Icons/Lover.png differ
diff --git a/index.html b/index.html
index 0bfea1db7e..52f3762810 100644
--- a/index.html
+++ b/index.html
@@ -123,6 +123,7 @@
 <script src="C012_AfterClass/Pub/Script.js"></script>
 <script src="C012_AfterClass/Pool/Script.js"></script>
 <script src="C012_AfterClass/Sidney/Script.js"></script>
+<script src="C012_AfterClass/RockShow/Script.js"></script>
 <script src="C012_AfterClass/Outro/Script.js"></script>
 <script src="C101_KinbakuClub/Intro/Script.js"></script>
 <script src="C101_KinbakuClub/JennaIntro/Script.js"></script>