diff --git a/Actor.js b/Actor.js
index 2615ec3374..5c5c7a9991 100644
--- a/Actor.js
+++ b/Actor.js
@@ -137,12 +137,11 @@ function ActorRemoveInventory(RemInventory) {
 function ActorHasInventory(QueryInventory) {
 
 	// Cycles to find the correct actor and checks if the inventory is in the list
-	var HasInv = false;
 	for (var A = 0; A < Actor.length; A++)
 		if (Actor[A][ActorName] == CurrentActor)
 			if (Actor[A][ActorInventory].indexOf(QueryInventory) >= 0)
-				HasInv = true;
-	return HasInv;
+				return true;
+	return false;
 
 }
 
@@ -160,19 +159,50 @@ function ActorSpecificSetCloth(SpecificActor, NewCloth) {
 			Actor[A][ActorCloth] = NewCloth;
 }
 
-// Returns true if the actor is restrained
+// Sets the pose for a specified actor (also works for the player if needed)
+function ActorSpecificSetPose(SpecificActor, NewPose) {
+	if (SpecificActor == "Player") {
+		Common_PlayerPose = NewPose;
+	} else {
+		for (var A = 0; A < Actor.length; A++)
+			if (Actor[A][ActorName] == SpecificActor)
+				Actor[A][ActorPose] = NewPose;
+	}
+}
+
+// Returns TRUE if the actor (or player) is in visible bondage
+function ActorSpecificInBondage(SpecificActor) {
+	if (SpecificActor == "Player") {
+		return (Common_PlayerRestrained || Common_PlayerGagged);
+	} else {
+		for (var A = 0; A < Actor.length; A++)
+			if (Actor[A][ActorName] == SpecificActor)
+				return (ActorSpecificHasInventory(SpecificActor, "Rope") || ActorSpecificHasInventory(SpecificActor, "TwoRopes") || ActorSpecificHasInventory(SpecificActor, "Cuffs") || ActorSpecificHasInventory(SpecificActor, "BallGag") || ActorSpecificHasInventory(SpecificActor, "TapeGag") || ActorSpecificHasInventory(SpecificActor, "ClothGag"));
+	}
+}
+
+// Returns true if the actor is restrained (if there's no actor, we return the player status)
 function ActorIsRestrained() {
-	return (ActorHasInventory("Rope") || ActorHasInventory("TwoRopes") || ActorHasInventory("Cuffs"));
+	if (CurrentActor == "")
+		return Common_PlayerRestrained;
+	else
+		return (ActorHasInventory("Rope") || ActorHasInventory("TwoRopes") || ActorHasInventory("Cuffs"));
 }
 
-// Returns true if the actor is gagged
+// Returns true if the actor is gagged (if there's no actor, we return the player status)
 function ActorIsGagged() {
-	return (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag") || ActorHasInventory("ClothGag"));
+	if (CurrentActor == "")
+		return Common_PlayerGagged;
+	else
+		return (ActorHasInventory("BallGag") || ActorHasInventory("TapeGag") || ActorHasInventory("ClothGag"));
 }
 
-// Returns true if the actor is chaste
+// Returns true if the actor is chaste (if there's no actor, we return the player status)
 function ActorIsChaste() {
-	return (ActorHasInventory("ChastityBelt"));
+	if (CurrentActor == "")
+		return Common_PlayerChaste;
+	else
+		return (ActorHasInventory("ChastityBelt"));
 }
 
 // Unties the actor and returns the rope to the player
@@ -251,12 +281,11 @@ function ActorApplyRestrain(RestrainName) {
 function ActorSpecificHasInventory(QueryActor, QueryInventory) {
 
 	// Cycles to find the correct actor and checks if the inventory is in the list
-	var HasInv = false;
 	for (var A = 0; A < Actor.length; A++)
 		if (Actor[A][ActorName] == QueryActor)
 			if (Actor[A][ActorInventory].indexOf(QueryInventory) >= 0)
-				HasInv = true;
-	return HasInv;
+				return true;
+	return false;
 
 }
 
diff --git a/Actors/Amanda/Heroine_NoBondage_NoGag_Acting.png b/Actors/Amanda/Heroine_NoBondage_NoGag_Acting.png
new file mode 100644
index 0000000000..dd4558814b
Binary files /dev/null and b/Actors/Amanda/Heroine_NoBondage_NoGag_Acting.png differ
diff --git a/Actors/Amanda/Heroine_NoBondage_NoGag_Swordplay.png b/Actors/Amanda/Heroine_NoBondage_NoGag_Swordplay.png
new file mode 100644
index 0000000000..d16499a1a0
Binary files /dev/null and b/Actors/Amanda/Heroine_NoBondage_NoGag_Swordplay.png differ
diff --git a/Actors/Amanda/Villain_NoBondage_NoGag_Acting.png b/Actors/Amanda/Villain_NoBondage_NoGag_Acting.png
new file mode 100644
index 0000000000..6d7eb4b688
Binary files /dev/null and b/Actors/Amanda/Villain_NoBondage_NoGag_Acting.png differ
diff --git a/Actors/Amanda/Villain_NoBondage_NoGag_Swordplay.png b/Actors/Amanda/Villain_NoBondage_NoGag_Swordplay.png
new file mode 100644
index 0000000000..790fb4bbb7
Binary files /dev/null and b/Actors/Amanda/Villain_NoBondage_NoGag_Swordplay.png differ
diff --git a/Actors/Julia/Clothed_NoBondage_NoGag.png b/Actors/Julia/Clothed_NoBondage_NoGag.png
new file mode 100644
index 0000000000..5202c2639d
Binary files /dev/null and b/Actors/Julia/Clothed_NoBondage_NoGag.png differ
diff --git a/Actors/Player/ChastityBelt_NoBondage_BallGag.png b/Actors/Player/ChastityBelt_NoBondage_NoCollar_BallGag.png
similarity index 100%
rename from Actors/Player/ChastityBelt_NoBondage_BallGag.png
rename to Actors/Player/ChastityBelt_NoBondage_NoCollar_BallGag.png
diff --git a/Actors/Player/ChastityBelt_NoBondage_ClothGag.png b/Actors/Player/ChastityBelt_NoBondage_NoCollar_ClothGag.png
similarity index 100%
rename from Actors/Player/ChastityBelt_NoBondage_ClothGag.png
rename to Actors/Player/ChastityBelt_NoBondage_NoCollar_ClothGag.png
diff --git a/Actors/Player/ChastityBelt_NoBondage_NoGag.png b/Actors/Player/ChastityBelt_NoBondage_NoCollar_NoGag.png
similarity index 100%
rename from Actors/Player/ChastityBelt_NoBondage_NoGag.png
rename to Actors/Player/ChastityBelt_NoBondage_NoCollar_NoGag.png
diff --git a/Actors/Player/ChastityBelt_NoBondage_TapeGag.png b/Actors/Player/ChastityBelt_NoBondage_NoCollar_TapeGag.png
similarity index 100%
rename from Actors/Player/ChastityBelt_NoBondage_TapeGag.png
rename to Actors/Player/ChastityBelt_NoBondage_NoCollar_TapeGag.png
diff --git a/Actors/Player/ChastityBelt_Rope_Collar_BallGag.png b/Actors/Player/ChastityBelt_Rope_Collar_BallGag.png
new file mode 100644
index 0000000000..526d2e4de1
Binary files /dev/null and b/Actors/Player/ChastityBelt_Rope_Collar_BallGag.png differ
diff --git a/Actors/Player/ChastityBelt_Rope_Collar_ClothGag.png b/Actors/Player/ChastityBelt_Rope_Collar_ClothGag.png
new file mode 100644
index 0000000000..a9529453ce
Binary files /dev/null and b/Actors/Player/ChastityBelt_Rope_Collar_ClothGag.png differ
diff --git a/Actors/Player/ChastityBelt_Rope_Collar_NoGag.png b/Actors/Player/ChastityBelt_Rope_Collar_NoGag.png
new file mode 100644
index 0000000000..caff605cb7
Binary files /dev/null and b/Actors/Player/ChastityBelt_Rope_Collar_NoGag.png differ
diff --git a/Actors/Player/ChastityBelt_Rope_Collar_TapeGag.png b/Actors/Player/ChastityBelt_Rope_Collar_TapeGag.png
new file mode 100644
index 0000000000..cec46cc7d8
Binary files /dev/null and b/Actors/Player/ChastityBelt_Rope_Collar_TapeGag.png differ
diff --git a/Actors/Player/ChastityBelt_Rope_NoCollar_BallGag.png b/Actors/Player/ChastityBelt_Rope_NoCollar_BallGag.png
new file mode 100644
index 0000000000..8e9a349196
Binary files /dev/null and b/Actors/Player/ChastityBelt_Rope_NoCollar_BallGag.png differ
diff --git a/Actors/Player/ChastityBelt_Rope_NoCollar_ClothGag.png b/Actors/Player/ChastityBelt_Rope_NoCollar_ClothGag.png
new file mode 100644
index 0000000000..27f32096b8
Binary files /dev/null and b/Actors/Player/ChastityBelt_Rope_NoCollar_ClothGag.png differ
diff --git a/Actors/Player/ChastityBelt_Rope_NoCollar_NoGag.png b/Actors/Player/ChastityBelt_Rope_NoCollar_NoGag.png
new file mode 100644
index 0000000000..be3fb2efa1
Binary files /dev/null and b/Actors/Player/ChastityBelt_Rope_NoCollar_NoGag.png differ
diff --git a/Actors/Player/ChastityBelt_Rope_NoCollar_TapeGag.png b/Actors/Player/ChastityBelt_Rope_NoCollar_TapeGag.png
new file mode 100644
index 0000000000..9c7e220ede
Binary files /dev/null and b/Actors/Player/ChastityBelt_Rope_NoCollar_TapeGag.png differ
diff --git a/Actors/Player/Damsel_NoBondage_Collar_NoGag_Acting.png b/Actors/Player/Damsel_NoBondage_Collar_NoGag_Acting.png
new file mode 100644
index 0000000000..cf7f1958cb
Binary files /dev/null and b/Actors/Player/Damsel_NoBondage_Collar_NoGag_Acting.png differ
diff --git a/Actors/Player/Damsel_NoBondage_NoCollar_NoGag_Acting.png b/Actors/Player/Damsel_NoBondage_NoCollar_NoGag_Acting.png
new file mode 100644
index 0000000000..5b50a8d3b7
Binary files /dev/null and b/Actors/Player/Damsel_NoBondage_NoCollar_NoGag_Acting.png differ
diff --git a/Actors/Player/Heroine_NoBondage_NoGag_Acting.png b/Actors/Player/Heroine_NoBondage_NoGag_Acting.png
new file mode 100644
index 0000000000..bbca39d92a
Binary files /dev/null and b/Actors/Player/Heroine_NoBondage_NoGag_Acting.png differ
diff --git a/Actors/Player/Heroine_NoBondage_NoGag_Swordplay.png b/Actors/Player/Heroine_NoBondage_NoGag_Swordplay.png
new file mode 100644
index 0000000000..a250c2fb6e
Binary files /dev/null and b/Actors/Player/Heroine_NoBondage_NoGag_Swordplay.png differ
diff --git a/Actors/Player/Naked_NoBondage_BallGag.png b/Actors/Player/Naked_NoBondage_NoCollar_BallGag.png
similarity index 100%
rename from Actors/Player/Naked_NoBondage_BallGag.png
rename to Actors/Player/Naked_NoBondage_NoCollar_BallGag.png
diff --git a/Actors/Player/Naked_NoBondage_ClothGag.png b/Actors/Player/Naked_NoBondage_NoCollar_ClothGag.png
similarity index 100%
rename from Actors/Player/Naked_NoBondage_ClothGag.png
rename to Actors/Player/Naked_NoBondage_NoCollar_ClothGag.png
diff --git a/Actors/Player/Naked_NoBondage_NoGag.png b/Actors/Player/Naked_NoBondage_NoCollar_NoGag.png
similarity index 100%
rename from Actors/Player/Naked_NoBondage_NoGag.png
rename to Actors/Player/Naked_NoBondage_NoCollar_NoGag.png
diff --git a/Actors/Player/Naked_NoBondage_TapeGag.png b/Actors/Player/Naked_NoBondage_NoCollar_TapeGag.png
similarity index 100%
rename from Actors/Player/Naked_NoBondage_TapeGag.png
rename to Actors/Player/Naked_NoBondage_NoCollar_TapeGag.png
diff --git a/Actors/Player/Naked_Rope_Collar_BallGag.png b/Actors/Player/Naked_Rope_Collar_BallGag.png
new file mode 100644
index 0000000000..d1a5b6da02
Binary files /dev/null and b/Actors/Player/Naked_Rope_Collar_BallGag.png differ
diff --git a/Actors/Player/Naked_Rope_Collar_ClothGag.png b/Actors/Player/Naked_Rope_Collar_ClothGag.png
new file mode 100644
index 0000000000..15e5ace2b8
Binary files /dev/null and b/Actors/Player/Naked_Rope_Collar_ClothGag.png differ
diff --git a/Actors/Player/Naked_Rope_Collar_NoGag.png b/Actors/Player/Naked_Rope_Collar_NoGag.png
new file mode 100644
index 0000000000..2d9c662304
Binary files /dev/null and b/Actors/Player/Naked_Rope_Collar_NoGag.png differ
diff --git a/Actors/Player/Naked_Rope_Collar_TapeGag.png b/Actors/Player/Naked_Rope_Collar_TapeGag.png
new file mode 100644
index 0000000000..7db0fac553
Binary files /dev/null and b/Actors/Player/Naked_Rope_Collar_TapeGag.png differ
diff --git a/Actors/Player/Naked_Rope_NoCollar_BallGag.png b/Actors/Player/Naked_Rope_NoCollar_BallGag.png
new file mode 100644
index 0000000000..448ac6f25c
Binary files /dev/null and b/Actors/Player/Naked_Rope_NoCollar_BallGag.png differ
diff --git a/Actors/Player/Naked_Rope_NoCollar_ClothGag.png b/Actors/Player/Naked_Rope_NoCollar_ClothGag.png
new file mode 100644
index 0000000000..d359744d94
Binary files /dev/null and b/Actors/Player/Naked_Rope_NoCollar_ClothGag.png differ
diff --git a/Actors/Player/Naked_Rope_NoCollar_NoGag.png b/Actors/Player/Naked_Rope_NoCollar_NoGag.png
new file mode 100644
index 0000000000..d00505c25a
Binary files /dev/null and b/Actors/Player/Naked_Rope_NoCollar_NoGag.png differ
diff --git a/Actors/Player/Naked_Rope_NoCollar_TapeGag.png b/Actors/Player/Naked_Rope_NoCollar_TapeGag.png
new file mode 100644
index 0000000000..d440dfe3f9
Binary files /dev/null and b/Actors/Player/Naked_Rope_NoCollar_TapeGag.png differ
diff --git a/Actors/Player/Underwear_NoBondage_BallGag.png b/Actors/Player/Underwear_NoBondage_NoCollar_BallGag.png
similarity index 100%
rename from Actors/Player/Underwear_NoBondage_BallGag.png
rename to Actors/Player/Underwear_NoBondage_NoCollar_BallGag.png
diff --git a/Actors/Player/Underwear_NoBondage_ClothGag.png b/Actors/Player/Underwear_NoBondage_NoCollar_ClothGag.png
similarity index 100%
rename from Actors/Player/Underwear_NoBondage_ClothGag.png
rename to Actors/Player/Underwear_NoBondage_NoCollar_ClothGag.png
diff --git a/Actors/Player/Underwear_NoBondage_NoGag.png b/Actors/Player/Underwear_NoBondage_NoCollar_NoGag.png
similarity index 100%
rename from Actors/Player/Underwear_NoBondage_NoGag.png
rename to Actors/Player/Underwear_NoBondage_NoCollar_NoGag.png
diff --git a/Actors/Player/Underwear_NoBondage_TapeGag.png b/Actors/Player/Underwear_NoBondage_NoCollar_TapeGag.png
similarity index 100%
rename from Actors/Player/Underwear_NoBondage_TapeGag.png
rename to Actors/Player/Underwear_NoBondage_NoCollar_TapeGag.png
diff --git a/Actors/Player/Underwear_Rope_Collar_BallGag.png b/Actors/Player/Underwear_Rope_Collar_BallGag.png
new file mode 100644
index 0000000000..a1ad3d6313
Binary files /dev/null and b/Actors/Player/Underwear_Rope_Collar_BallGag.png differ
diff --git a/Actors/Player/Underwear_Rope_Collar_ClothGag.png b/Actors/Player/Underwear_Rope_Collar_ClothGag.png
new file mode 100644
index 0000000000..9f89642870
Binary files /dev/null and b/Actors/Player/Underwear_Rope_Collar_ClothGag.png differ
diff --git a/Actors/Player/Underwear_Rope_Collar_NoGag.png b/Actors/Player/Underwear_Rope_Collar_NoGag.png
new file mode 100644
index 0000000000..659e85b759
Binary files /dev/null and b/Actors/Player/Underwear_Rope_Collar_NoGag.png differ
diff --git a/Actors/Player/Underwear_Rope_Collar_TapeGag.png b/Actors/Player/Underwear_Rope_Collar_TapeGag.png
new file mode 100644
index 0000000000..1cf547c3ae
Binary files /dev/null and b/Actors/Player/Underwear_Rope_Collar_TapeGag.png differ
diff --git a/Actors/Player/Underwear_Rope_NoCollar_BallGag.png b/Actors/Player/Underwear_Rope_NoCollar_BallGag.png
new file mode 100644
index 0000000000..eb68e7d055
Binary files /dev/null and b/Actors/Player/Underwear_Rope_NoCollar_BallGag.png differ
diff --git a/Actors/Player/Underwear_Rope_NoCollar_ClothGag.png b/Actors/Player/Underwear_Rope_NoCollar_ClothGag.png
new file mode 100644
index 0000000000..e5295bfd36
Binary files /dev/null and b/Actors/Player/Underwear_Rope_NoCollar_ClothGag.png differ
diff --git a/Actors/Player/Underwear_Rope_NoCollar_NoGag.png b/Actors/Player/Underwear_Rope_NoCollar_NoGag.png
new file mode 100644
index 0000000000..41b621e990
Binary files /dev/null and b/Actors/Player/Underwear_Rope_NoCollar_NoGag.png differ
diff --git a/Actors/Player/Underwear_Rope_NoCollar_TapeGag.png b/Actors/Player/Underwear_Rope_NoCollar_TapeGag.png
new file mode 100644
index 0000000000..c004a1f5dd
Binary files /dev/null and b/Actors/Player/Underwear_Rope_NoCollar_TapeGag.png differ
diff --git a/Actors/Player/Villain_NoBondage_NoGag_Acting.png b/Actors/Player/Villain_NoBondage_NoGag_Acting.png
new file mode 100644
index 0000000000..9e4911ffd2
Binary files /dev/null and b/Actors/Player/Villain_NoBondage_NoGag_Acting.png differ
diff --git a/Actors/Player/Villain_NoBondage_NoGag_Swordplay.png b/Actors/Player/Villain_NoBondage_NoGag_Swordplay.png
new file mode 100644
index 0000000000..755fed27af
Binary files /dev/null and b/Actors/Player/Villain_NoBondage_NoGag_Swordplay.png differ
diff --git a/Actors/Sarah/Damsel_NoBondage_NoGag_Acting.png b/Actors/Sarah/Damsel_NoBondage_NoGag_Acting.png
new file mode 100644
index 0000000000..17a28010c2
Binary files /dev/null and b/Actors/Sarah/Damsel_NoBondage_NoGag_Acting.png differ
diff --git a/Actors/Sarah/Heroine_NoBondage_NoGag_Acting.png b/Actors/Sarah/Heroine_NoBondage_NoGag_Acting.png
new file mode 100644
index 0000000000..d34df03257
Binary files /dev/null and b/Actors/Sarah/Heroine_NoBondage_NoGag_Acting.png differ
diff --git a/Actors/Sarah/Heroine_NoBondage_NoGag_Swordplay.png b/Actors/Sarah/Heroine_NoBondage_NoGag_Swordplay.png
new file mode 100644
index 0000000000..6b323a10d1
Binary files /dev/null and b/Actors/Sarah/Heroine_NoBondage_NoGag_Swordplay.png differ
diff --git a/Backgrounds/Dressing.jpg b/Backgrounds/Dressing.jpg
new file mode 100644
index 0000000000..b41fb7a4d1
Binary files /dev/null and b/Backgrounds/Dressing.jpg differ
diff --git a/Backgrounds/Stage.jpg b/Backgrounds/Stage.jpg
new file mode 100644
index 0000000000..e514cb4756
Binary files /dev/null and b/Backgrounds/Stage.jpg differ
diff --git a/C008_DramaClass/Damsel/Intro_EN.csv b/C008_DramaClass/Damsel/Intro_EN.csv
index 10f37f6eaa..bf57f20018 100644
--- a/C008_DramaClass/Damsel/Intro_EN.csv
+++ b/C008_DramaClass/Damsel/Intro_EN.csv
@@ -24,10 +24,15 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
 240,0,0,PlayerIsDamsel,(The white knight is next.),Background.jpg
 240,0,0,!PlayerIsDamsel,(She's watching the white knight.),Background.jpg
 250,0,0,PlayerIsDamsel,"(As the damsel, this is your line.)",Background.jpg
-250,0,0,!PlayerIsDamsel,(She's about to say her line.),Background.jpg
+250,0,0,!PlayerIsDamsel,(She's ready for the final act.),Background.jpg
+255,0,0,,(She's ready for the final act.),Background.jpg
+260,0,0,,,Background.jpg
 270,0,0,PlayerIsDamsel,(The black knight is next.),Background.jpg
 270,0,0,!PlayerIsDamsel,(She's watching the black knight.),Background.jpg
 280,0,0,PlayerIsDamsel,"(As the damsel, this is your line.)",Background.jpg
-280,0,0,!PlayerIsDamsel,(She's about to say her line.),Background.jpg
+280,0,0,!PlayerIsDamsel,(She's ready for the final act.),Background.jpg
+285,0,0,,(She's ready for the final act.),Background.jpg
+290,0,0,,,Background.jpg
+300,0,0,!PlayerIsDamsel,It was a fun play.  I really|enjoyed being the damsel.,Background.jpg
+300,0,0,IsGagged,(She hums a happy song in her gag.),Background.jpg
 300,0,0,PlayerIsDamsel,(The play is over.),Background.jpg
-300,0,0,!PlayerIsDamsel,It was a fun play.,Background.jpg
diff --git a/C008_DramaClass/Damsel/Script.js b/C008_DramaClass/Damsel/Script.js
index f5e5d37c31..d2c438f57b 100644
--- a/C008_DramaClass/Damsel/Script.js
+++ b/C008_DramaClass/Damsel/Script.js
@@ -1,27 +1,46 @@
 var C008_DramaClass_Damsel_CurrentStage = 0;
 var C008_DramaClass_Damsel_PlayerIsDamsel = false;
+var C008_DramaClass_Damsel_PlayerIsHeroine = false;
+var C008_DramaClass_Damsel_PlayerIsVillain = false;
 var C008_DramaClass_Damsel_ForgetLineDone = false;
 var C008_DramaClass_Damsel_SnapFingersDone = false;
+var C008_DramaClass_Damsel_KnightSelection = "";
+var C008_DramaClass_Damsel_CanKissHeroine = false;
+var C008_DramaClass_Damsel_CanKissVillain = false;
+var C008_DramaClass_Damsel_CanKneelHeroine = false;
+var C008_DramaClass_Damsel_CanKneelVillain = false;
+var C008_DramaClass_Damsel_IsGagged = false;
 
 // Chapter 8 - Damsel Load
 function C008_DramaClass_Damsel_Load() {
 
 	// Checks if the player is the damsel & set the stage to the current global stage
 	C008_DramaClass_Damsel_PlayerIsDamsel = (C008_DramaClass_JuliaIntro_PlayerRole == "Damsel");
+	C008_DramaClass_Damsel_PlayerIsHeroine = (C008_DramaClass_JuliaIntro_PlayerRole == "Heroine");
+	C008_DramaClass_Damsel_PlayerIsVillain = (C008_DramaClass_JuliaIntro_PlayerRole == "Villain");
 	C008_DramaClass_Damsel_CurrentStage = C008_DramaClass_Theater_GlobalStage;
+	C008_DramaClass_Damsel_CanKissHeroine = (C008_DramaClass_Damsel_PlayerIsDamsel && (ActorSpecificGetValue("Sarah", ActorLove) >= 10));
+	C008_DramaClass_Damsel_CanKissVillain = (C008_DramaClass_Damsel_PlayerIsDamsel && (ActorSpecificGetValue("Amanda", ActorLove) >= 10));
+	C008_DramaClass_Damsel_CanKneelHeroine = (C008_DramaClass_Damsel_PlayerIsDamsel && (ActorSpecificGetValue("Sarah", ActorLove) <= -5));
+	C008_DramaClass_Damsel_CanKneelVillain = (C008_DramaClass_Damsel_PlayerIsDamsel && (ActorSpecificGetValue("Amanda", ActorLove) <= -5));
 
 	// Load the scene parameters
 	if (!C008_DramaClass_Damsel_PlayerIsDamsel) ActorLoad(C008_DramaClass_Theater_Damsel, "Theater");
 	LoadInteractions();
 	LeaveIcon = "Leave";
 	LeaveScreen = "Theater";
+	C008_DramaClass_Damsel_IsGagged = ActorIsGagged();
+
+	// Other options for the villains & heroine when Sarah is in bondage
+	if (C008_DramaClass_Damsel_PlayerIsHeroine && (C008_DramaClass_Damsel_CurrentStage == 250) && ActorSpecificInBondage("Sarah")) C008_DramaClass_Damsel_CurrentStage = 255;
+	if (C008_DramaClass_Damsel_PlayerIsVillain && (C008_DramaClass_Damsel_CurrentStage == 280) && ActorSpecificInBondage("Sarah")) C008_DramaClass_Damsel_CurrentStage = 285;
 
 }
 
 // Chapter 8 - Damsel Run
 function C008_DramaClass_Damsel_Run() {
 	BuildInteraction(C008_DramaClass_Damsel_CurrentStage);
-	DrawInteractionActor();
+	if ((C008_DramaClass_Damsel_CurrentStage != 260) && (C008_DramaClass_Damsel_CurrentStage != 290)) DrawInteractionActor();
 }
 
 // Chapter 8 - Damsel Click
@@ -31,14 +50,19 @@ function C008_DramaClass_Damsel_Click() {
 	ClickInteraction(C008_DramaClass_Damsel_CurrentStage);
 	var ClickInv = GetClickedInventory();
 	
-	// If the player is the villain, she can restrain Sarah once stage 140 is reached.  Stage 220 becomes the minimum stage.
-	if ((C008_DramaClass_Theater_Villain == "Player") && (C008_DramaClass_Damsel_CurrentStage >= 140) && (C008_DramaClass_Damsel_CurrentStage < 300) && ((ClickInv == "Cuffs") || (ClickInv == "Rope") || (ClickInv == "ClothGag") || (ClickInv == "BallGag") || (ClickInv == "TapeGag"))) {
+	// If the player is the villain, she can restrain Sarah once stage 140 is reached.  Stage 220 becomes the minimum stage if she's gagged.
+	if (((ClickInv == "Rope") || (ClickInv == "BallGag") || (ClickInv == "TapeGag") || (ClickInv == "ClothGag")) && C008_DramaClass_Damsel_PlayerIsVillain && (C008_DramaClass_Damsel_CurrentStage >= 140) && (C008_DramaClass_Damsel_CurrentStage < 300) && !Common_PlayerRestrained) {
+		var HadRope = ActorHasInventory("Rope");
 		ActorSetCloth("Underwear");
 		ActorApplyRestrain(ClickInv);
-		if (C008_DramaClass_Damsel_CurrentStage < 220) {
+		if ((ClickInv == "Rope") && !HadRope) OverridenIntroText = GetText("VillainRope");
+		if ((ActorHasInventory("BallGag") || ActorHasInventory("TapeGag") || ActorHasInventory("ClothGag")) && (C008_DramaClass_Damsel_CurrentStage < 220)) {
 			C008_DramaClass_Damsel_CurrentStage = 220;
 			C008_DramaClass_Theater_GlobalStage = 220;
 		}
+		if (C008_DramaClass_Damsel_CurrentStage == 250) C008_DramaClass_Damsel_CurrentStage = 255;
+		if (C008_DramaClass_Damsel_CurrentStage == 280) C008_DramaClass_Damsel_CurrentStage = 285;
+		C008_DramaClass_Theater_SetPose();
 	}
 
 }
@@ -51,6 +75,11 @@ function C008_DramaClass_Damsel_GlobalStage(GlobalStage, LoveMod, SubMod) {
 	if (!C008_DramaClass_Damsel_SnapFingersDone || (SubMod <= 0)) ActorSpecificChangeAttitude("Julia", LoveMod, SubMod);
 	if (SubMod > 0) C008_DramaClass_Damsel_SnapFingersDone = true;
 	if (LoveMod < 0) C008_DramaClass_Theater_PerfectPlay = false;
+	C008_DramaClass_Theater_SetPose();
+	
+	// Remember who was picked for later
+	if (GlobalStage == 200) C008_DramaClass_Damsel_KnightSelection = "Heroine";
+	if (GlobalStage == 210) C008_DramaClass_Damsel_KnightSelection = "Villain";
 	
 	// If the player is the Damsel, Amanda can restrain her if she's in a Domme mood and wasn't selected
 	if ((GlobalStage == 200) && (C008_DramaClass_Theater_Damsel == "Player") && (C008_DramaClass_Theater_Villain == "Amanda") && (ActorSpecificGetValue("Amanda", ActorSubmission) < 0)) {
@@ -80,10 +109,12 @@ function C008_DramaClass_Damsel_SarahChooseKnight() {
 		// Stage 200 means the hero was selected
 		C008_DramaClass_Damsel_CurrentStage = 200;
 		C008_DramaClass_Theater_GlobalStage = 200;
+		C008_DramaClass_Damsel_KnightSelection = "Heroine";
 		
 		// If Amanda is the villain, she will restrain Sarah
 		if (C008_DramaClass_Theater_Villain == "Amanda") {
 			ActorSetCloth("Underwear");
+			ActorSpecificSetPose("Sarah", "");
 			ActorAddInventory("Rope");
 			ActorAddInventory("ClothGag");
 			OverridenIntroText = GetText("SarahChooseWhiteKnightRestrained");
@@ -94,8 +125,60 @@ function C008_DramaClass_Damsel_SarahChooseKnight() {
 		// Stage 210 means the villain was selected
 		C008_DramaClass_Damsel_CurrentStage = 210;
 		C008_DramaClass_Theater_GlobalStage = 210;
+		C008_DramaClass_Damsel_KnightSelection = "Villain";
 		OverridenIntroText = GetText("SarahChooseBlackKnight");
 
 	}
 
+}
+
+// Chapter 8 - Damsel - The player can release the Damsel for the final act
+function C008_DramaClass_Damsel_ReleaseDamsel() {
+	ActorUntie();
+	ActorUngag();
+	ActorSetCloth("Damsel");
+	C008_DramaClass_Theater_SetPose();	
+}
+
+// Chapter 8 - Damsel - When the damsel kisses the victor, it finishes the play
+function C008_DramaClass_Damsel_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); }
+	if ((C008_DramaClass_Damsel_CurrentStage == 260) && C008_DramaClass_Damsel_PlayerIsHeroine) { OverridenIntroImage = "../HugImages/HeroinePlayerDamselSarahKiss.jpg"; ActorSpecificChangeAttitude("Sarah", 2, 0); ActorSpecificChangeAttitude("Amanda", -3, 0); }
+	if ((C008_DramaClass_Damsel_CurrentStage == 260) && C008_DramaClass_Damsel_PlayerIsVillain) { OverridenIntroImage = "../HugImages/HeroineAmandaDamselSarahKiss.jpg"; }
+	if ((C008_DramaClass_Damsel_CurrentStage == 290) && C008_DramaClass_Damsel_PlayerIsDamsel) { OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerKiss.jpg"; ActorSpecificChangeAttitude("Amanda", 2, 0); ActorSpecificChangeAttitude("Sarah", -3, 0); }
+	if ((C008_DramaClass_Damsel_CurrentStage == 290) && C008_DramaClass_Damsel_PlayerIsHeroine) { OverridenIntroImage = "../HugImages/VillainAmandaDamselSarahKiss.jpg"; }
+	if ((C008_DramaClass_Damsel_CurrentStage == 290) && C008_DramaClass_Damsel_PlayerIsVillain) { OverridenIntroImage = "../HugImages/VillainPlayerDamselSarahKiss.jpg"; ActorSpecificChangeAttitude("Sarah", 2, 0); ActorSpecificChangeAttitude("Amanda", -3, 0); }
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "Kiss";
+}
+
+// Chapter 8 - Damsel - When the damsel hugs the victor, it finishes the play
+function C008_DramaClass_Damsel_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); }
+	if ((C008_DramaClass_Damsel_CurrentStage == 290) && C008_DramaClass_Damsel_PlayerIsVillain) { OverridenIntroImage = "../HugImages/VillainPlayerDamselSarahHug.jpg"; ActorSpecificChangeAttitude("Sarah", 1, 0); ActorSpecificChangeAttitude("Amanda", -1, 0); }
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "Hug";
+}
+
+// Chapter 8 - Damsel - When the damsel kneels for the victor, it finishes the play
+function C008_DramaClass_Damsel_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); }
+	if ((C008_DramaClass_Damsel_CurrentStage == 290) && C008_DramaClass_Damsel_PlayerIsVillain) { OverridenIntroImage = "../HugImages/VillainPlayerDamselSarahDomme.jpg"; ActorSpecificChangeAttitude("Sarah", 1, 2); ActorSpecificChangeAttitude("Amanda", -1, 0); }
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "Domme";
+}
+
+// Chapter 8 - Damsel - The villain can take both girls as prisoners for the final act
+function C008_DramaClass_Damsel_FinalTwoPrisoners() {
+	ActorSpecificChangeAttitude("Sarah", 0, 1);
+	ActorSpecificChangeAttitude("Amanda", 0, 1);
+	ActorSpecificChangeAttitude("Julia", 0, 1);
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "TwoPrisoners";
 }
\ No newline at end of file
diff --git a/C008_DramaClass/Damsel/Stage_EN.csv b/C008_DramaClass/Damsel/Stage_EN.csv
index c9b40fea2b..5341faee0b 100644
--- a/C008_DramaClass/Damsel/Stage_EN.csv
+++ b/C008_DramaClass/Damsel/Stage_EN.csv
@@ -18,3 +18,25 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 160,0,0,PlayerIsDamsel,Sorry Julia.|I forgot my line.,"Julia sighs and whispers to you:|""I profess love unto thy white hero.""",150,0,0,ForgetLine()
 160,0,0,!PlayerIsDamsel,(Listen quietly.),,160,0,0,SarahChooseKnight()
 160,0,0,!PlayerIsDamsel,(Snap your fingers|with impatience.),,160,0,0,SarahChooseKnight()
+250,0,0,CanKissHeroine,(Rush to kiss the|heroine.) (1 minute),You rush into the white knight|arms for a wonderful final kiss.,260,0,0,FinalKiss()
+250,0,0,CanKneelHeroine,(Kneel next to the|heroine.) (1 minute),You respectfully kneel down next to|Sarah and hug her legs for the final act.,260,0,0,FinalDomme()
+250,0,0,PlayerIsDamsel,(Go hug the heroine.)|(1 minute),You open your arms and hug|the white knight for the final act.,260,0,0,FinalHug()
+250,10,0,PlayerIsHeroine,(Rush to kiss her.)|(1 minute),You rush to Sarah and share a lovely|kiss with her for the final act.,260,0,0,FinalKiss()
+250,0,10,PlayerIsHeroine,(Point at the floor.)|(1 minute),Sarah respectfully kneels down next to|you and hugs your legs for the final act.,260,0,0,FinalDomme()
+250,0,0,PlayerIsHeroine,(Go hug her.)|(1 minute),You go to Sarah and give her|a warm hug for the final act.,260,0,0,FinalHug()
+250,0,0,PlayerIsVillain,(Watch the scene.)|(1 minute),Amanda rushes to Sarah and they|share a lovely kiss for the final act.,260,0,0,FinalKiss()
+255,0,0,,(Release her.)|(1 minute),You release her from her predicament|while she looks at you with a smile.,250,0,0,ReleaseDamsel()
+255,0,0,,Thou shalt be thine|bound wife.  (1 minute),The damsel shakes her head yes and smiles.|The play concludes with both of them as prisoners.,300,0,0,FinalTwoPrisoners()
+255,0,0,,You'll be my bound|wife.  (1 minute),The damsel shakes her head yes and smiles.|The play concludes with both of them as prisoners.,300,0,0,FinalTwoPrisoners()
+255,0,0,,Sorry Julia.|I forgot my line.,"Julia laughs out loud and says:|""Don't worry and improvise, we are off script.""",255,0,0,
+280,0,0,CanKissVillain,(Rush to kiss the|villain.) (1 minute),You rush into the black knight|arms for a wonderful final kiss.,290,0,0,FinalKiss()
+280,0,0,CanKneelVillain,(Kneel next to the|villain.) (1 minute),You respectfully kneel down next to|Amanda and hug her legs for the final act.,290,0,0,FinalDomme()
+280,0,0,PlayerIsDamsel,(Go hug the villain.)|(1 minute),You open your arms and hug|the black knight for the final act.,290,0,0,FinalHug()
+280,10,0,PlayerIsVillain,(Grab and kiss her.)|(1 minute),You pull her close to you and give|her a tender kiss for the final act.,290,0,0,FinalKiss()
+280,0,10,PlayerIsVillain,(Point at the floor.)|(1 minute),Sarah respectfully kneels down next to|you and hugs your legs for the final act.,290,0,0,FinalDomme()
+280,0,0,PlayerIsVillain,(Hug her.)|(1 minute),You pull her close to you and give|her a long and warm hug for the final act.,290,0,0,FinalHug()
+280,0,0,PlayerIsHeroine,(Watch the scene.)|(1 minute),Amanda grab Sarah and they give each|other a tender kiss for the final act.,290,0,0,FinalKiss()
+285,0,0,,(Release her.)|(1 minute),You release her from her predicament|while she looks at you curiously.,280,0,0,ReleaseDamsel()
+285,0,0,,Thou shalt be thine|prisoner.  (1 minute),The damsel shakes her head no and giggles.|The play concludes with both of them as prisoners.,300,0,0,FinalTwoPrisoners()
+285,0,0,,You're my prisoner.|(1 minute),The damsel shakes her head no and giggles.|The play concludes with both of them as prisoners.,300,0,0,FinalTwoPrisoners()
+285,0,0,,Sorry Julia.|I forgot my line.,"Julia laughs out loud and says:|""Don't worry and improvise, we are off script.""",285,0,0,
diff --git a/C008_DramaClass/Damsel/Text_EN.csv b/C008_DramaClass/Damsel/Text_EN.csv
index 612fad3561..298b5b58b1 100644
--- a/C008_DramaClass/Damsel/Text_EN.csv
+++ b/C008_DramaClass/Damsel/Text_EN.csv
@@ -3,3 +3,10 @@ SarahChooseWhiteKnight,"Sarah: ""I profess love unto thy white hero.""|Amanda st
 SarahChooseWhiteKnightRestrained,"Sarah: ""I profess love unto thy white hero.""|Amanda quickly restrains her and looks at you."
 SarahChooseBlackKnight,"Sarah: ""I profess love unto thy black champion.""|The black knight smiles and takes the lead."
 AmandaRestrainPlayer,Amanda jumps on you and restrains you.|She then turns to the hero with a menacing look.
+AmandaReleaseForKiss,Amanda rushes to release Sarah and she|dresses back.  They conclude with a lovely kiss.
+VillainRope,"You surprise her and strip her of her gown.|Before she can react, you tie her up."
+Rope,You wrap the rope around her|body while she shivers of pleasure.
+TwoRopes,You force her to kneel and tie|a second rope around her legs.
+BallGag,She sees the gag and quickly opens|wide so you can push it and buckle it.
+TapeGag,She closes her mouth so you|can tape it shut more easily.
+ClothGag,You slowly push the wad in her mouth|and wrap the gag around her head.
diff --git a/C008_DramaClass/Heroine/Intro_EN.csv b/C008_DramaClass/Heroine/Intro_EN.csv
index ea30039306..f0b415138d 100644
--- a/C008_DramaClass/Heroine/Intro_EN.csv
+++ b/C008_DramaClass/Heroine/Intro_EN.csv
@@ -25,9 +25,11 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
 240,0,0,!PlayerIsHeroine,(The white knight is about to talk.),Background.jpg
 250,0,0,PlayerIsHeroine,(The damsel is next.),Background.jpg
 250,0,0,!PlayerIsHeroine,(She's watching the damsel.),Background.jpg
+260,0,0,,,Background.jpg
 270,0,0,PlayerIsHeroine,(The black knight is next.),Background.jpg
 270,0,0,!PlayerIsHeroine,(She's watching the black knight.),Background.jpg
 280,0,0,PlayerIsHeroine,(The damsel is next.),Background.jpg
 280,0,0,!PlayerIsHeroine,(She's watching the damsel.),Background.jpg
+300,0,0,!PlayerIsHeroine,It was a really nice.  I hope|I was a good white knight.,Background.jpg
+300,0,0,IsGagged,Mnuh gnunmn n muh!,Background.jpg
 300,0,0,PlayerIsHeroine,(The play is over),Background.jpg
-300,0,0,!PlayerIsHeroine,It was a fun play.,Background.jpg
diff --git a/C008_DramaClass/Heroine/Script.js b/C008_DramaClass/Heroine/Script.js
index e4cd3400ab..d374423909 100644
--- a/C008_DramaClass/Heroine/Script.js
+++ b/C008_DramaClass/Heroine/Script.js
@@ -1,27 +1,35 @@
 var C008_DramaClass_Heroine_CurrentStage = 100;
 var C008_DramaClass_Heroine_PlayerIsHeroine = false;
+var C008_DramaClass_Heroine_PlayerIsDamsel = false;
+var C008_DramaClass_Heroine_PlayerIsVillain = false;
 var C008_DramaClass_Heroine_ForgetLineDone = false;
 var C008_DramaClass_Heroine_SnapFingersDone = false;
+var C008_DramaClass_Heroine_VillainCanTaunt = false;
+var C008_DramaClass_Heroine_IsGagged = false;
 
 // Chapter 8 - Heroine Load
 function C008_DramaClass_Heroine_Load() {
 
 	// Checks if the player is the heroine & set the stage to the current global stage
 	C008_DramaClass_Heroine_PlayerIsHeroine = (C008_DramaClass_JuliaIntro_PlayerRole == "Heroine");
+	C008_DramaClass_Heroine_PlayerIsDamsel = (C008_DramaClass_JuliaIntro_PlayerRole == "Damsel");
+	C008_DramaClass_Heroine_PlayerIsVillain = (C008_DramaClass_JuliaIntro_PlayerRole == "Villain");
 	C008_DramaClass_Heroine_CurrentStage = C008_DramaClass_Theater_GlobalStage;
+	C008_DramaClass_Heroine_VillainCanTaunt = (C008_DramaClass_Heroine_PlayerIsVillain && ActorSpecificInBondage("Sarah"));
 
 	// Load the scene parameters
 	if (!C008_DramaClass_Heroine_PlayerIsHeroine) ActorLoad(C008_DramaClass_Theater_Heroine, "Theater");
 	LoadInteractions();
 	LeaveIcon = "Leave";
 	LeaveScreen = "Theater";
+	C008_DramaClass_Heroine_IsGagged = ActorIsGagged();
 
 }
 
 // Chapter 8 - Heroine Run
 function C008_DramaClass_Heroine_Run() {
 	BuildInteraction(C008_DramaClass_Heroine_CurrentStage);
-	DrawInteractionActor();
+	if ((C008_DramaClass_Heroine_CurrentStage != 260) && (C008_DramaClass_Heroine_CurrentStage != 290)) DrawInteractionActor();
 }
 
 // Chapter 8 - Heroine Click
@@ -31,6 +39,10 @@ function C008_DramaClass_Heroine_Click() {
 	ClickInteraction(C008_DramaClass_Heroine_CurrentStage);
 	var ClickInv = GetClickedInventory();
 
+	// A second rope can be applied on the fight loser before the play is over
+	if ((ClickInv == "Rope") && (C008_DramaClass_Heroine_CurrentStage == 280) && C008_DramaClass_Heroine_PlayerIsVillain)
+		ActorApplyRestrain(ClickInv);
+
 }
 
 // Chapter 8 - Heroine - Sets the global stage and can alter Julia's mood
@@ -39,6 +51,7 @@ function C008_DramaClass_Heroine_GlobalStage(GlobalStage, LoveMod, SubMod) {
 	if (!C008_DramaClass_Heroine_SnapFingersDone || (SubMod <= 0)) ActorSpecificChangeAttitude("Julia", LoveMod, SubMod);
 	if (SubMod > 0) C008_DramaClass_Heroine_SnapFingersDone = true;
 	if (LoveMod < 0) C008_DramaClass_Theater_PerfectPlay = false;
+	C008_DramaClass_Theater_SetPose();
 }
 
 // Chapter 8 - Heroine - When the player forgets her line
@@ -48,4 +61,31 @@ function C008_DramaClass_Heroine_ForgetLine() {
 		C008_DramaClass_Theater_PerfectPlay = false;
 		ActorSpecificChangeAttitude("Julia", 0, -1);
 	}
+}
+
+// Chapter 8 - Heroine - When the heroine kisses the damsel, it finishes the play
+function C008_DramaClass_Heroine_FinalKiss() {
+	OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerKiss.jpg"; 
+	ActorSpecificChangeAttitude("Sarah", 2, 0); 
+	ActorSpecificChangeAttitude("Amanda", -3, 0);
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "Kiss";
+}
+
+// Chapter 8 - Heroine - When the heroine hugs the damsel, it finishes the play
+function C008_DramaClass_Heroine_FinalHug() {
+	OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerHug.jpg"; 
+	ActorSpecificChangeAttitude("Sarah", 1, 0); 
+	ActorSpecificChangeAttitude("Amanda", -1, 0);
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "Hug";
+}
+
+// Chapter 8 - Heroine - When the damsel kneels for the heroine, it finishes the play
+function C008_DramaClass_Heroine_FinalDomme() {
+	OverridenIntroImage = "../HugImages/HeroineSarahDamselPlayerDomme.jpg"; 
+	ActorSpecificChangeAttitude("Sarah", 1, -2); 
+	ActorSpecificChangeAttitude("Amanda", -1, 0);
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "Domme";
 }
\ No newline at end of file
diff --git a/C008_DramaClass/Heroine/Stage_EN.csv b/C008_DramaClass/Heroine/Stage_EN.csv
index 1f38d474f2..76351bcfae 100644
--- a/C008_DramaClass/Heroine/Stage_EN.csv
+++ b/C008_DramaClass/Heroine/Stage_EN.csv
@@ -10,9 +10,22 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 120,0,0,!PlayerIsHeroine,(Listen quietly.),"The white knight takes a stand and says:|""Foul tongue, liberate with haste.""",130,0,0,"GlobalStage(130, 0, 0)"
 120,0,0,!PlayerIsHeroine,(Snap your fingers|with impatience.),"The white knight quickly says:|""Foul tongue, liberate with haste.""",130,0,0,"GlobalStage(130, 0, 1)"
 120,0,0,!PlayerIsHeroine,(Make some silly|faces to distract her.),"The white knight laughs and says:|""Foul mouth, liberate her now.""",130,0,0,"GlobalStage(130, -1, 0)"
-220,0,0,PlayerIsHeroine,"So fate chosen|metal, en garde!",Amanda unsheathes her|sword and steps forward.,230,0,0,"GlobalStage(230, -1, 0)"
-220,0,0,PlayerIsHeroine,"So fate chooseth|steel, en garde!",Amanda unsheathes her|sword and steps forward.,230,0,0,"GlobalStage(230, 1, 0)"
+220,0,0,PlayerIsHeroine,"So fate chosen|metal, en garde!",You simultaneously unsheathe your|swords and take a step forward.,230,0,0,"GlobalStage(230, -1, 0)"
+220,0,0,PlayerIsHeroine,"So fate chooseth|steel, en garde!",You simultaneously unsheathe your|swords and take a step forward.,230,0,0,"GlobalStage(230, 1, 0)"
 220,0,0,PlayerIsHeroine,Sorry Julia.|I forgot my line.,"Julia whispers to you:|""So fate chooseth steel, en garde!""",220,0,0,ForgetLine()
+220,0,0,VillainCanTaunt,The bound damsel|is anon mineth.,"Amanda angrily grabs her sword and says:|""So fate chooseth steel, en garde!""",230,0,1,"GlobalStage(230, 0, 1)"
 220,0,0,!PlayerIsHeroine,(Listen quietly.),"The white knight grabs her sword and says:|""So fate chooseth steel, en garde!""",230,0,0,"GlobalStage(230, 0, 0)"
 220,0,0,!PlayerIsHeroine,(Yawn in boredom.),"The white knight grabs her sword and says:|""So fate chooseth steel, en garde!""",230,0,0,"GlobalStage(230, -1, 0)"
 220,0,0,!PlayerIsHeroine,(Applaud lightly.),"The white knight grabs her sword and says:|""So fate chooseth steel, en garde!""",230,0,0,"GlobalStage(230, 1, 0)"
+240,0,0,PlayerIsHeroine,Law shalt judgeth thee.|(Restrain her) (1 minute),You pick a few items from the theater|and restrain Amanda the black knight.,250,0,0,"GlobalStage(250, 1, 0)"
+240,0,0,PlayerIsHeroine,You will be judged.|(Restrain her) (1 minute),You pick a few items from the theater|and restrain Amanda the black knight.,250,0,0,"GlobalStage(250, -1, 0)"
+240,0,0,PlayerIsHeroine,Sorry Julia.|I forgot my line.,"Julia whispers to you:|""Law shalt judgeth thee.""",240,0,0,ForgetLine()
+240,0,0,PlayerIsVillain,(Listen quietly.)|(1 minute),"The white knight strips and restrains you|while saying: ""Law shalt judgeth thee.""",250,0,0,"GlobalStage(250, 0, 0)"
+240,0,0,PlayerIsVillain,(Bow to the white|knight.) (1 minute),"The white knight strips and restrains you|while saying: ""Law shalt judgeth thee.""",250,0,-1,"GlobalStage(250, 0, -1)"
+240,0,0,PlayerIsVillain,That sucks!|(1 minute),"The white knight strips and restrains you|while saying: ""Law shalt judgeth thee.""",250,-1,0,"GlobalStage(250, -1, 0)"
+240,0,0,PlayerIsDamsel,(Watch the scene.)|(1 minute),"The heroine strips and restrains the villain|while saying: ""Law shalt judgeth thee.""",250,0,0,"GlobalStage(250, 0, 0)"
+240,0,0,PlayerIsDamsel,(Cheer for the heroine.)|(1 minute),"The heroine strips and restrains the villain|while saying: ""Law shalt judgeth thee.""",250,1,0,"GlobalStage(250, 1, 0)"
+250,0,0,Common_PlayerGagged,@Mng nuuum!,Amanda giggles a little at your gagged|mumblings but stays focused on her role.,250,0,0,
+250,10,0,PlayerIsDamsel,(Rush to kiss her.)|(1 minute),You rush into her arms and you|both kiss tenderly for the final act.,260,0,0,FinalKiss()
+250,0,-5,PlayerIsDamsel,(Kneel for her.)|(1 minute),You bow and kneel for the white knight.|Hugging her legs lovingly for the final act.,260,0,0,FinalDomme()
+250,0,0,PlayerIsDamsel,(Go hug her.)|(1 minute),You go in her arms and|you hug for the final act.,260,0,0,FinalHug()
diff --git a/C008_DramaClass/Heroine/Text_EN.csv b/C008_DramaClass/Heroine/Text_EN.csv
index b773c14f51..bc64c01993 100644
--- a/C008_DramaClass/Heroine/Text_EN.csv
+++ b/C008_DramaClass/Heroine/Text_EN.csv
@@ -1 +1,2 @@
 Tag,Content
+TwoRopes,"You grab her legs and tie a second rope|around them, forcing her to kneel down."
diff --git a/C008_DramaClass/HugImages/HeroineAmandaDamselSarahKiss.jpg b/C008_DramaClass/HugImages/HeroineAmandaDamselSarahKiss.jpg
new file mode 100644
index 0000000000..37d4f4e896
Binary files /dev/null and b/C008_DramaClass/HugImages/HeroineAmandaDamselSarahKiss.jpg differ
diff --git a/C008_DramaClass/HugImages/HeroinePlayerDamselSarahDomme.jpg b/C008_DramaClass/HugImages/HeroinePlayerDamselSarahDomme.jpg
new file mode 100644
index 0000000000..f09637a32d
Binary files /dev/null and b/C008_DramaClass/HugImages/HeroinePlayerDamselSarahDomme.jpg differ
diff --git a/C008_DramaClass/HugImages/HeroinePlayerDamselSarahHug.jpg b/C008_DramaClass/HugImages/HeroinePlayerDamselSarahHug.jpg
new file mode 100644
index 0000000000..57140377c9
Binary files /dev/null and b/C008_DramaClass/HugImages/HeroinePlayerDamselSarahHug.jpg differ
diff --git a/C008_DramaClass/HugImages/HeroinePlayerDamselSarahKiss.jpg b/C008_DramaClass/HugImages/HeroinePlayerDamselSarahKiss.jpg
new file mode 100644
index 0000000000..fc46ec9562
Binary files /dev/null and b/C008_DramaClass/HugImages/HeroinePlayerDamselSarahKiss.jpg differ
diff --git a/C008_DramaClass/HugImages/HeroineSarahDamselPlayerDomme.jpg b/C008_DramaClass/HugImages/HeroineSarahDamselPlayerDomme.jpg
new file mode 100644
index 0000000000..354722264c
Binary files /dev/null and b/C008_DramaClass/HugImages/HeroineSarahDamselPlayerDomme.jpg differ
diff --git a/C008_DramaClass/HugImages/HeroineSarahDamselPlayerHug.jpg b/C008_DramaClass/HugImages/HeroineSarahDamselPlayerHug.jpg
new file mode 100644
index 0000000000..0ba0ecd063
Binary files /dev/null and b/C008_DramaClass/HugImages/HeroineSarahDamselPlayerHug.jpg differ
diff --git a/C008_DramaClass/HugImages/HeroineSarahDamselPlayerKiss.jpg b/C008_DramaClass/HugImages/HeroineSarahDamselPlayerKiss.jpg
new file mode 100644
index 0000000000..4993ba3794
Binary files /dev/null and b/C008_DramaClass/HugImages/HeroineSarahDamselPlayerKiss.jpg differ
diff --git a/C008_DramaClass/HugImages/VillainAmandaDamselPlayerDomme.jpg b/C008_DramaClass/HugImages/VillainAmandaDamselPlayerDomme.jpg
new file mode 100644
index 0000000000..8b00b8b974
Binary files /dev/null and b/C008_DramaClass/HugImages/VillainAmandaDamselPlayerDomme.jpg differ
diff --git a/C008_DramaClass/HugImages/VillainAmandaDamselPlayerHug.jpg b/C008_DramaClass/HugImages/VillainAmandaDamselPlayerHug.jpg
new file mode 100644
index 0000000000..c7ce6a0bfa
Binary files /dev/null and b/C008_DramaClass/HugImages/VillainAmandaDamselPlayerHug.jpg differ
diff --git a/C008_DramaClass/HugImages/VillainAmandaDamselPlayerKiss.jpg b/C008_DramaClass/HugImages/VillainAmandaDamselPlayerKiss.jpg
new file mode 100644
index 0000000000..f5f0b70e25
Binary files /dev/null and b/C008_DramaClass/HugImages/VillainAmandaDamselPlayerKiss.jpg differ
diff --git a/C008_DramaClass/HugImages/VillainAmandaDamselSarahKiss.jpg b/C008_DramaClass/HugImages/VillainAmandaDamselSarahKiss.jpg
new file mode 100644
index 0000000000..6950a4a84d
Binary files /dev/null and b/C008_DramaClass/HugImages/VillainAmandaDamselSarahKiss.jpg differ
diff --git a/C008_DramaClass/HugImages/VillainPlayerDamselSarahDomme.jpg b/C008_DramaClass/HugImages/VillainPlayerDamselSarahDomme.jpg
new file mode 100644
index 0000000000..9882d31f7a
Binary files /dev/null and b/C008_DramaClass/HugImages/VillainPlayerDamselSarahDomme.jpg differ
diff --git a/C008_DramaClass/HugImages/VillainPlayerDamselSarahHug.jpg b/C008_DramaClass/HugImages/VillainPlayerDamselSarahHug.jpg
new file mode 100644
index 0000000000..508f3b6162
Binary files /dev/null and b/C008_DramaClass/HugImages/VillainPlayerDamselSarahHug.jpg differ
diff --git a/C008_DramaClass/HugImages/VillainPlayerDamselSarahKiss.jpg b/C008_DramaClass/HugImages/VillainPlayerDamselSarahKiss.jpg
new file mode 100644
index 0000000000..de39a3a5e5
Binary files /dev/null and b/C008_DramaClass/HugImages/VillainPlayerDamselSarahKiss.jpg differ
diff --git a/C008_DramaClass/Julia/Background.jpg b/C008_DramaClass/Julia/Background.jpg
new file mode 100644
index 0000000000..757bf72a8d
Binary files /dev/null and b/C008_DramaClass/Julia/Background.jpg differ
diff --git a/C008_DramaClass/Julia/Intro_EN.csv b/C008_DramaClass/Julia/Intro_EN.csv
index a5c9807cad..bd0eeac4bb 100644
--- a/C008_DramaClass/Julia/Intro_EN.csv
+++ b/C008_DramaClass/Julia/Intro_EN.csv
@@ -34,6 +34,7 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
 270,0,0,!IsVillain,(She looks at the black knight.),JuliaLookAway.jpg
 280,0,0,IsDamsel,(She whispers to you.)  Don't look at me.|This is your time to shine like a star.,JuliaLookPlayer.jpg
 280,0,0,!IsDamsel,(She looks at the damsel.),JuliaLookAway.jpg
-300,0,0,IsDamsel,Bravo!  Bravo!  Bravisimo!|You were a great damsel.,Background.jpg
-300,0,0,IsHeroine,Bravo!  Bravo!  Bravisimo!|You were a great white knight.,Background.jpg
-300,0,0,IsVillain,Bravo!  Bravo!  Bravisimo!|You were a great black knight.,Background.jpg
+300,0,0,EndingKiss,Bravo!  Bravo!  Bravisimo!|What a wonderful final kiss!,Background.jpg
+300,0,0,EndingHug,Bravo!  Mille Bravo!|And what a nice hug at the end.,Background.jpg
+300,0,0,EndingDomme,Bravo!  The dominant ending was|unexpected but theater can be chaotic.,Background.jpg
+300,0,0,EndingTwoPrisoners,Bravo!  The ending with the two prisoners|was unexpected but theater can be chaotic.,Background.jpg
diff --git a/C008_DramaClass/Julia/Script.js b/C008_DramaClass/Julia/Script.js
index 796fe08536..a91a51a0cf 100644
--- a/C008_DramaClass/Julia/Script.js
+++ b/C008_DramaClass/Julia/Script.js
@@ -3,6 +3,10 @@ var C008_DramaClass_Julia_IsDamsel = false;
 var C008_DramaClass_Julia_IsHeroine = false;
 var C008_DramaClass_Julia_IsVillain = false;
 var C008_DramaClass_Julia_ScriptRefused = false;
+var C008_DramaClass_Julia_EndingKiss = false;
+var C008_DramaClass_Julia_EndingHug = false;
+var C008_DramaClass_Julia_EndingDomme = false;
+var C008_DramaClass_Julia_EndingTwoPrisoners = false;
 
 // Chapter 8 - Julia Load
 function C008_DramaClass_Julia_Load() {
@@ -22,6 +26,12 @@ function C008_DramaClass_Julia_Load() {
 	C008_DramaClass_Julia_IsDamsel = (C008_DramaClass_JuliaIntro_PlayerRole == "Damsel");
 	C008_DramaClass_Julia_IsHeroine = (C008_DramaClass_JuliaIntro_PlayerRole == "Heroine");
 	C008_DramaClass_Julia_IsVillain = (C008_DramaClass_JuliaIntro_PlayerRole == "Villain");
+	
+	// Keep the ending type
+	C008_DramaClass_Julia_EndingKiss = (C008_DramaClass_Theater_Ending == "Kiss");
+	C008_DramaClass_Julia_EndingHug = (C008_DramaClass_Theater_Ending == "Hug");
+	C008_DramaClass_Julia_EndingDomme = (C008_DramaClass_Theater_Ending == "Domme");
+	C008_DramaClass_Julia_EndingTwoPrisoners = (C008_DramaClass_Theater_Ending == "TwoPrisoners");
 
 }
 
diff --git a/C008_DramaClass/Theater/Script.js b/C008_DramaClass/Theater/Script.js
index bb4fe0df5e..499854278d 100644
--- a/C008_DramaClass/Theater/Script.js
+++ b/C008_DramaClass/Theater/Script.js
@@ -11,10 +11,13 @@ Full play by stages:
 210 - Villain: Hero!  Concede thine defeat, she's mine.
 220 - Heroine: So fate chooseth steel, en garde! * From here, the villain or hero can try to restrain each other 
 230 - Villain: Indeed, en garde! * Here there's a sword fight (240 if the Heroine wins, 270 if the Villain wins)
+235 - The sword fight, acted from the villain
 240 - Heroine: The law shalt judgeth. * Villain gets tied up
-250 - The damsel can be kissed for the final act.
+250 - The damsel can be kissed for the final act, it can be triggered by the damsel or the heroine
+260 - Final kiss between the white knight and damsel
 270 - Villain: Thou art mine prisoner. * Heroine gets tied up
-280 - The damsel can be kissed or restrained for the final act.
+280 - The damsel can be kissed or restrained for the final act, it can be triggered by the damsel or the villain
+290 - Final kiss between the black knight and damsel
 300 - Julia climbs on the stage and applauds.  She can be convinced to do some impro 300+.
 */
 
@@ -23,9 +26,71 @@ var C008_DramaClass_Theater_PerfectPlay = true;
 var C008_DramaClass_Theater_Damsel = "";
 var C008_DramaClass_Theater_Heroine = "";
 var C008_DramaClass_Theater_Villain = "";
+var C008_DramaClass_Theater_Ending = "";
+
+// Set the poses based on the current stage
+function C008_DramaClass_Theater_SetPose() {
+
+	// Saves the current actor if needed
+	var CurActor = CurrentActor;
+
+	// If the villain must be tied up
+	if ((C008_DramaClass_Theater_GlobalStage == 250) && !ActorSpecificInBondage(C008_DramaClass_Theater_Villain)) {		
+		if (C008_DramaClass_Theater_Villain == "Player") {
+			PlayerClothes("Underwear");
+			PlayerLockInventory("Rope");
+			PlayerLockInventory("ClothGag");			
+		} else {
+			CurrentActor = C008_DramaClass_Theater_Villain;
+			ActorSetCloth("Underwear");
+			ActorAddInventory("Rope");
+			ActorAddInventory("ClothGag");
+		}		
+	}
+
+	// If the heroine must be tied up
+	if ((C008_DramaClass_Theater_GlobalStage == 280) && !ActorSpecificInBondage(C008_DramaClass_Theater_Heroine)) {		
+		if (C008_DramaClass_Theater_Heroine == "Player") {
+			PlayerClothes("Underwear");
+			PlayerLockInventory("Rope");
+			PlayerLockInventory("ClothGag");			
+		} else {
+			CurrentActor = C008_DramaClass_Theater_Heroine;
+			ActorSetCloth("Underwear");
+			ActorAddInventory("Rope");
+			ActorAddInventory("ClothGag");
+		}		
+	}
+	
+	// Assign the heroine pose depending on the stage
+	var HeroinePose = "";
+	if (((C008_DramaClass_Theater_GlobalStage >= 110) && (C008_DramaClass_Theater_GlobalStage <= 220)) || (C008_DramaClass_Theater_GlobalStage == 270)) HeroinePose = "Acting";
+	if ((C008_DramaClass_Theater_GlobalStage >= 230) && (C008_DramaClass_Theater_GlobalStage <= 250)) HeroinePose = "Swordplay";
+	if ((HeroinePose != "") && ActorSpecificInBondage(C008_DramaClass_Theater_Heroine)) HeroinePose = "";
+	ActorSpecificSetPose(C008_DramaClass_Theater_Heroine, HeroinePose);
+
+	// Assign the villain pose depending on the stage
+	var VillainPose = "";
+	if (((C008_DramaClass_Theater_GlobalStage >= 110) && (C008_DramaClass_Theater_GlobalStage <= 220)) || (C008_DramaClass_Theater_GlobalStage == 240)) VillainPose = "Acting";
+	if (((C008_DramaClass_Theater_GlobalStage >= 230) && (C008_DramaClass_Theater_GlobalStage <= 235)) || (C008_DramaClass_Theater_GlobalStage == 270) || (C008_DramaClass_Theater_GlobalStage == 280)) VillainPose = "Swordplay";
+	if ((VillainPose != "") && ActorSpecificInBondage(C008_DramaClass_Theater_Villain)) VillainPose = "";
+	ActorSpecificSetPose(C008_DramaClass_Theater_Villain, VillainPose);
+
+	// Assign the damsel pose depending on the stage
+	var DamselPose = "";
+	if ((C008_DramaClass_Theater_GlobalStage >= 150) && (C008_DramaClass_Theater_GlobalStage < 300)) DamselPose = "Acting";
+	if ((DamselPose != "") && ActorSpecificInBondage(C008_DramaClass_Theater_Damsel)) DamselPose = "";
+	ActorSpecificSetPose(C008_DramaClass_Theater_Damsel, DamselPose);
+
+	// Sets the current actor back
+	CurrentActor = CurActor;
+	
+}
 
 // Chapter 8 - Theater Load, sets the role each images
 function C008_DramaClass_Theater_Load() {
+	
+	// Set the theater parameters
 	LeaveIcon = "Wait";
 	if (C008_DramaClass_JuliaIntro_PlayerRole == "Damsel") C008_DramaClass_Theater_Damsel = "Player";
 	if (C008_DramaClass_JuliaIntro_SarahRole == "Damsel") C008_DramaClass_Theater_Damsel = "Sarah";
@@ -35,6 +100,8 @@ function C008_DramaClass_Theater_Load() {
 	if (C008_DramaClass_JuliaIntro_SarahRole == "Heroine") C008_DramaClass_Theater_Heroine = "Sarah";
 	if (C008_DramaClass_JuliaIntro_AmandaRole == "Heroine") C008_DramaClass_Theater_Heroine = "Amanda";
 	Common_SelfBondageAllowed = (C008_DramaClass_Theater_GlobalStage >= 300);
+	C008_DramaClass_Theater_SetPose();
+	
 }
 
 // Chapter 8 - Theater Run
@@ -49,7 +116,7 @@ function C008_DramaClass_Theater_Run() {
 	DrawActor(C008_DramaClass_Theater_Villain, 300, 60, 0.55);
 	DrawActor(C008_DramaClass_Theater_Heroine, 850, 60, 0.55);
 	if (C008_DramaClass_Theater_GlobalStage < 300) DrawImage(ctx, CurrentChapter + "/" + CurrentScreen + "/Julia.png", 550, 250);
-	else DrawActor("Julia", 550, 60, 0.55);
+	else DrawActor("Julia", 575, 60, 0.55);
 
 }
 
@@ -61,7 +128,7 @@ function C008_DramaClass_Theater_Click() {
 	if ((MouseX >= 300) && (MouseX <= 549) && (MouseY >= 60) && (MouseY <= 540)) SetScene(CurrentChapter, "Villain");
 	if ((MouseX >= 850) && (MouseX <= 1099) && (MouseY >= 60) && (MouseY <= 540)) SetScene(CurrentChapter, "Heroine");
 	if ((MouseX >= 550) && (MouseX <= 849) && (MouseY >= 250) && (MouseY <= 600) && (C008_DramaClass_Theater_GlobalStage < 300)) SetScene(CurrentChapter, "Julia");
-	if ((MouseX >= 550) && (MouseX <= 849) && (MouseY >= 60) && (MouseY <= 540) && (C008_DramaClass_Theater_GlobalStage >= 300)) SetScene(CurrentChapter, "Julia");
+	if ((MouseX >= 575) && (MouseX <= 824) && (MouseY >= 60) && (MouseY <= 540) && (C008_DramaClass_Theater_GlobalStage >= 300)) SetScene(CurrentChapter, "Julia");
 
 	// Checks if the user clicks on any regular item
 	InventoryClick(GetClickedInventory(), "C008_DramaClass", "Theater");
diff --git a/C008_DramaClass/Villain/Intro_EN.csv b/C008_DramaClass/Villain/Intro_EN.csv
index 9484c3e691..4abb3cbefc 100644
--- a/C008_DramaClass/Villain/Intro_EN.csv
+++ b/C008_DramaClass/Villain/Intro_EN.csv
@@ -21,6 +21,7 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
 220,0,0,!PlayerIsVillain,(She's watching the white knight.),Background.jpg
 230,0,0,PlayerIsVillain,"(As the black knight,|this is your next line.)",Background.jpg
 230,0,0,!PlayerIsVillain,(She's about to say her line.),Background.jpg
+235,0,0,,,Background.jpg
 240,0,0,PlayerIsVillain,(The white knight is next.),Background.jpg
 240,0,0,!PlayerIsVillain,(She's watching the white knight.),Background.jpg
 250,0,0,PlayerIsVillain,(The damsel is next.),Background.jpg
@@ -29,5 +30,7 @@ Stage,LoveReq,SubReq,VarReq,IntroText,Image
 270,0,0,!PlayerIsVillain,(She's about to say her line.),Background.jpg
 280,0,0,PlayerIsVillain,(The damsel is next.),Background.jpg
 280,0,0,!PlayerIsVillain,(She's watching the damsel.),Background.jpg
+290,0,0,,,Background.jpg
+300,0,0,!PlayerIsVillain,It was a great play.  I never|thought I could be the villain.,Background.jpg
+300,0,0,IsGagged,(She struggles to remove|the gag but quickly gives up.),Background.jpg
 300,0,0,PlayerIsVillain,(The play is over.),Background.jpg
-300,0,0,!PlayerIsVillain,It was a fun play.,Background.jpg
diff --git a/C008_DramaClass/Villain/Script.js b/C008_DramaClass/Villain/Script.js
index 981b256e75..ff8f91e8e2 100644
--- a/C008_DramaClass/Villain/Script.js
+++ b/C008_DramaClass/Villain/Script.js
@@ -4,6 +4,9 @@ var C008_DramaClass_Villain_PlayerIsHeroine = false;
 var C008_DramaClass_Villain_PlayerIsDamsel = false;
 var C008_DramaClass_Villain_ForgetLineDone = false;
 var C008_DramaClass_Villain_SnapFingersDone = false;
+var C008_DramaClass_Villain_CanDisarm = false;
+var C008_DramaClass_Villain_CanIntimidate = false;
+var C008_DramaClass_Villain_IsGagged = false;
 
 // Chapter 8 - Villain Load
 function C008_DramaClass_Villain_Load() {
@@ -19,13 +22,18 @@ function C008_DramaClass_Villain_Load() {
 	LoadInteractions();
 	LeaveIcon = "Leave";
 	LeaveScreen = "Theater";
+	C008_DramaClass_Villain_IsGagged = ActorIsGagged();
+	
+	// The player can disarm if sub +2 vs Amanda and intimidate if sub + 10
+	C008_DramaClass_Villain_CanDisarm = (C008_DramaClass_Villain_PlayerIsVillain && (ActorSpecificGetValue("Amanda", ActorSubmission) >= 2));
+	C008_DramaClass_Villain_CanIntimidate = (C008_DramaClass_Villain_PlayerIsVillain && (ActorSpecificGetValue("Amanda", ActorSubmission) >= 10));
 
 }
 
 // Chapter 8 - Villain Run
 function C008_DramaClass_Villain_Run() {
 	BuildInteraction(C008_DramaClass_Villain_CurrentStage);
-	DrawInteractionActor();
+	if ((C008_DramaClass_Villain_CurrentStage != 260) && (C008_DramaClass_Villain_CurrentStage != 290)) DrawInteractionActor();
 }
 
 // Chapter 8 - Villain Click
@@ -35,14 +43,20 @@ function C008_DramaClass_Villain_Click() {
 	ClickInteraction(C008_DramaClass_Villain_CurrentStage);
 	var ClickInv = GetClickedInventory();
 
+	// A second rope can be applied on the fight loser before the play is over
+	if ((ClickInv == "Rope") && (C008_DramaClass_Villain_CurrentStage == 250) && C008_DramaClass_Villain_PlayerIsHeroine)
+		ActorApplyRestrain(ClickInv);
+
 }
 
 // Chapter 8 - Villain - Sets the global stage and can alter Julia's mood
 function C008_DramaClass_Villain_GlobalStage(GlobalStage, LoveMod, SubMod) {
 	C008_DramaClass_Theater_GlobalStage = GlobalStage;
+	LeaveIcon = "Leave";
 	if (!C008_DramaClass_Villain_SnapFingersDone || (SubMod <= 0)) ActorSpecificChangeAttitude("Julia", LoveMod, SubMod);
 	if (SubMod > 0) C008_DramaClass_Villain_SnapFingersDone = true;
 	if (LoveMod < 0) C008_DramaClass_Theater_PerfectPlay = false;
+	C008_DramaClass_Theater_SetPose();
 }
 
 // Chapter 8 - Villain - When the player forgets her line
@@ -60,6 +74,7 @@ function C008_DramaClass_Villain_Surrender() {
 	ActorSpecificChangeAttitude("Sarah", 0, -2);
 	ActorSpecificChangeAttitude("Julia", 0, -2);
 	C008_DramaClass_Theater_GlobalStage = C008_DramaClass_Villain_CurrentStage;
+	C008_DramaClass_Theater_SetPose();
 }
 
 // Chapter 8 - Villain - Prevent the player from leaving
@@ -77,6 +92,7 @@ function C008_DramaClass_Villain_AmandaSarahFight(CheerFactor) {
 		C008_DramaClass_Villain_CurrentStage = 270;
 		C008_DramaClass_Theater_GlobalStage = 270;
 		OverridenIntroText = GetText("PlayerDamselVillainWin");
+		C008_DramaClass_Theater_SetPose();
 
 	} else {
 
@@ -84,7 +100,35 @@ function C008_DramaClass_Villain_AmandaSarahFight(CheerFactor) {
 		C008_DramaClass_Villain_CurrentStage = 240;
 		C008_DramaClass_Theater_GlobalStage = 240;
 		OverridenIntroText = GetText("PlayerDamselHeroineWin");
+		C008_DramaClass_Theater_SetPose();
 
 	}
 	
+}
+
+// Chapter 8 - Villain - When the villain kisses the damsel, it finishes the play
+function C008_DramaClass_Villain_FinalKiss() {
+	OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerKiss.jpg"; 
+	ActorSpecificChangeAttitude("Amanda", 2, 0); 
+	ActorSpecificChangeAttitude("Sarah", -3, 0);
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "Kiss";
+}
+
+// Chapter 8 - Villain - When the villain hugs the damsel, it finishes the play
+function C008_DramaClass_Villain_FinalHug() {
+	OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerHug.jpg"; 
+	ActorSpecificChangeAttitude("Amanda", 1, 0); 
+	ActorSpecificChangeAttitude("Sarah", -1, 0);
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "Hug";
+}
+
+// Chapter 8 - Villain - When the damsel kneels for the villain, it finishes the play
+function C008_DramaClass_Villain_FinalDomme() {
+	OverridenIntroImage = "../HugImages/VillainAmandaDamselPlayerDomme.jpg"; 
+	ActorSpecificChangeAttitude("Amanda", 1, -2);
+	ActorSpecificChangeAttitude("Sarah", -1, 0);
+	C008_DramaClass_Theater_GlobalStage = 300;
+	C008_DramaClass_Theater_Ending = "Domme";
 }
\ No newline at end of file
diff --git a/C008_DramaClass/Villain/Stage_EN.csv b/C008_DramaClass/Villain/Stage_EN.csv
index ddc2dda93d..844a9b13fe 100644
--- a/C008_DramaClass/Villain/Stage_EN.csv
+++ b/C008_DramaClass/Villain/Stage_EN.csv
@@ -22,13 +22,33 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 210,0,0,!PlayerIsVillain,(Listen quietly.),"The black knight looks at the damsel and says:|""Hero!  Concede thine defeat, she's mine.""",220,0,0,"GlobalStage(220, 0, 0)"
 210,0,0,!PlayerIsVillain,(Applaud lightly.),"The black knight looks at the damsel and says:|""Hero!  Concede thine defeat, she's mine.""",220,1,0,"GlobalStage(220, 1, 0)"
 210,0,0,!PlayerIsVillain,(Yawn in boredom.),"The black knight looks at the damsel and says:|""Hero!  Concede thine defeat, she's mine.""",220,-1,0,"GlobalStage(220, -1, 0)"
-230,0,0,PlayerIsVillain,En garde!|(Do a sword fight.),,230,0,0,StartFight()
+230,0,0,PlayerIsVillain,En garde!|(Do a sword fight.),You charge each other and start|a funny but intense sword fight.,235,0,0,NoLeave()
 230,0,0,PlayerIsVillain,"Don't attack, I yield.|(Surrender without a fight.)",You drop your sword and the white|knight steps forward with a grin.,240,0,0,Surrender()
-230,0,0,PlayerIsHeroine,(Do a sword fight.),,230,0,0,StartFight()
+230,0,0,PlayerIsHeroine,(Do a sword fight.),You charge each other and start|a funny but intense sword fight.,235,0,0,NoLeave()
 230,0,0,PlayerIsHeroine,(Surrender without a fight.),You drop your sword and the black|knight steps forward with a grin.,270,0,0,Surrender()
 230,0,0,PlayerIsDamsel,(Watch the fight.),Both knights charge on each other and|engage in a pretty neat sword fight.,235,0,0,NoLeave()
-235,0,0,,Hurray for thy|white champion!,,235,0,0,AmandaSarahFight(-4)
-235,0,0,,Hurray for thy|black champion!,,235,0,0,AmandaSarahFight(4)
-235,0,0,,Go Amanda!,,235,0,0,AmandaSarahFight(2)
-235,0,0,,Go Sarah!,,235,0,0,AmandaSarahFight(-2)
-235,0,0,,(Stay silent and|watch the fight.),,235,0,0,AmandaSarahFight(0)
+235,0,0,CanIntimidate,(Intimidate her.)|(1 minute),You give a menacing look to Amanda which|barely fights and lets you disarm her.,270,0,0,"GlobalStage(270, 0, 1)"
+235,0,0,CanDisarm,(Disarm her.)|(1 minute),Amanda puts a pretty nice fight but|you're able to win by disarming her.,270,0,0,"GlobalStage(270, 0, 0)"
+235,0,0,PlayerIsVillain,(Play defensive.)|(1 minute),You stick to defensive moves and Amanda|takes advatange of it to disarm you.,240,0,0,"GlobalStage(240, 0, 0)"
+235,0,0,PlayerIsVillain,(Let Amanda win.)|(1 minute),You don't put much of a fight|and Amanda easily disarms you.,240,0,0,"GlobalStage(240, 0, -1)"
+235,0,10,PlayerIsHeroine,(Intimidate her.)|(1 minute),You give a menacing look to Amanda which|barely fights and lets you disarm her.,240,0,0,"GlobalStage(240, 0, 1)"
+235,0,2,PlayerIsHeroine,(Disarm her.)|(1 minute),Amanda puts a pretty nice fight but|you're able to win by disarming her.,240,0,0,"GlobalStage(240, 0, 0)"
+235,0,0,PlayerIsHeroine,(Play defensive.)|(1 minute),You stick to defensive moves and Amanda|takes advatange of it to disarm you.,270,0,0,"GlobalStage(270, 0, 0)"
+235,0,0,PlayerIsHeroine,(Let Amanda win.)|(1 minute),You don't put much of a fight|and Amanda easily disarms you.,270,0,0,"GlobalStage(270, 0, -1)"
+235,0,0,PlayerIsDamsel,Hurray for thy|white champion!,,235,0,0,AmandaSarahFight(-4)
+235,0,0,PlayerIsDamsel,Hurray for thy|black champion!,,235,0,0,AmandaSarahFight(4)
+235,0,0,PlayerIsDamsel,Go Amanda!,,235,0,0,AmandaSarahFight(2)
+235,0,0,PlayerIsDamsel,Go Sarah!,,235,0,0,AmandaSarahFight(-2)
+235,0,0,PlayerIsDamsel,(Stay silent and|watch the fight.),,235,0,0,AmandaSarahFight(0)
+270,0,0,PlayerIsVillain,You're my prisoner.|(Restrain her.) (1 minute),You strip the white knight from her armor and|restrain her with items from the theater.,280,0,0,"GlobalStage(280, -1, 0)"
+270,0,0,PlayerIsVillain,Thou art mine prisoner.|(Restrain her.) (1 minute),You strip the white knight from her armor and|restrain her with items from the theater.,280,0,0,"GlobalStage(280, 1, 0)"
+270,0,0,PlayerIsVillain,Sorry Julia.|I forgot my line.,"Julia whispers to you:|""Thou art mine prisoner.""",270,0,0,ForgetLine()
+270,0,0,PlayerIsHeroine,(Stay silent.)|(1 minute),"The black knight strips and restrains you|while saying: ""Thou art mine prisoner.""",280,0,0,"GlobalStage(280, 0, 0)"
+270,0,0,PlayerIsHeroine,(Bow to the black|knight.) (1 minute),"The black knight strips and restrains you|while saying: ""Thou art mine prisoner.""",280,0,-1,"GlobalStage(280, 0, -1)"
+270,0,0,PlayerIsHeroine,Booooooo!|(1 minute),"The black knight strips and restrains you|while saying: ""Thou art mine prisoner.""",280,-1,0,"GlobalStage(280, -1, 0)"
+270,0,0,PlayerIsDamsel,(Watch the scene.)|(1 minute),"The villain strips and restrains the heroine|while saying: ""Thou art mine prisoner.""",280,0,0,"GlobalStage(280, 0, 0)"
+270,0,0,PlayerIsDamsel,(Cheer for the villain.)|(1 minute),"The villain strips and restrains the heroine|while saying: ""Thou art mine prisoner.""",280,1,0,"GlobalStage(280, 1, 0)"
+280,0,0,Common_PlayerGagged,@Eeengn em!,Amanda smiles and tries not to|laugh at your gagged mumblings.,280,0,0,
+280,10,0,PlayerIsDamsel,(Go kiss her.)|(1 minute),You rush into her arms and|you both kiss for the final act.,290,0,0,FinalKiss()
+280,0,-5,PlayerIsDamsel,(Kneel for her.)|(1 minute),You bow and kneel for the black knight.|Hugging her legs gently for the final act.,290,0,0,FinalDomme()
+280,0,0,PlayerIsDamsel,(Go hug her.)|(1 minute),You go in her arms and|you hug for the final act.,290,0,0,FinalHug()
diff --git a/C008_DramaClass/Villain/Text_EN.csv b/C008_DramaClass/Villain/Text_EN.csv
index b9e21f90e6..32757f700c 100644
--- a/C008_DramaClass/Villain/Text_EN.csv
+++ b/C008_DramaClass/Villain/Text_EN.csv
@@ -1,3 +1,4 @@
 Tag,Content
 PlayerDamselVillainWin,Both knights do a funny swordplay and Amanda|wins by knocking her enemy sword on the ground.
 PlayerDamselHeroineWin,Both knights do a funny swordplay|and Sarah wins by disarming Amanda.
+TwoRopes,"You grab her legs and tie a second rope|around them, forcing her to kneel down."
diff --git a/Drawing.js b/Drawing.js
index 1b3b3b8f44..f515460a63 100644
--- a/Drawing.js
+++ b/Drawing.js
@@ -318,7 +318,7 @@ function DrawGetPlayerImageName() {
 
 	// Sixth part is the pose
 	var ImagePose = "";
-    if (Common_PlayerPose != "") ImagePose = "_" & Common_PlayerPose;
+    if (Common_PlayerPose != "") ImagePose = "_" + Common_PlayerPose;
 
 	// Return the constructed name
 	return ImageCloth + ImageBondage + ImageCollar + ImageGag + ImageBlindfold + ImagePose;