diff --git a/Actors/Jennifer/Clothed_Cuffs_BallGag.png b/Actors/Jennifer/Clothed_Cuffs_BallGag.png
new file mode 100644
index 0000000000..4edd375d72
Binary files /dev/null and b/Actors/Jennifer/Clothed_Cuffs_BallGag.png differ
diff --git a/Actors/Jennifer/Clothed_Cuffs_ClothGag.png b/Actors/Jennifer/Clothed_Cuffs_ClothGag.png
new file mode 100644
index 0000000000..6dc253cd2a
Binary files /dev/null and b/Actors/Jennifer/Clothed_Cuffs_ClothGag.png differ
diff --git a/Actors/Jennifer/Clothed_Cuffs_NoGag.png b/Actors/Jennifer/Clothed_Cuffs_NoGag.png
new file mode 100644
index 0000000000..92cfb055f3
Binary files /dev/null and b/Actors/Jennifer/Clothed_Cuffs_NoGag.png differ
diff --git a/Actors/Jennifer/Clothed_Cuffs_TapeGag.png b/Actors/Jennifer/Clothed_Cuffs_TapeGag.png
new file mode 100644
index 0000000000..fc3857757c
Binary files /dev/null and b/Actors/Jennifer/Clothed_Cuffs_TapeGag.png differ
diff --git a/BondageClub/Account.js b/BondageClub/Account.js
index 35c4ad0a16..b5bee7e8ab 100644
--- a/BondageClub/Account.js
+++ b/BondageClub/Account.js
@@ -31,7 +31,7 @@ function AccountProcess() {
 
 // Returns TRUE if the account queue is empty and everything is done
 function AccountQueueIsEmpty() {
-	return ((AccountURL.length == 0) && AccountReady);
+	return (AccountURL.length <= 1);
 }
 
 // Sync the player data with the account server
diff --git a/BondageClub/Assets.js b/BondageClub/Assets.js
index 1fd3930930..02fa95693a 100644
--- a/BondageClub/Assets.js
+++ b/BondageClub/Assets.js
@@ -32,16 +32,18 @@ function AssetGroupAdd(NewAssetFamily, NewAsset) {
 }
 
 // Adds a new asset to the main list
-function AssetAdd(NewAssetName, NewAssetEnable, NewAssetVisible, NewAssetEffect, NewAssetSetPose, NewAssetValue, NewAssetHeightModifier) {
+function AssetAdd(NewAssetName, NewAssetEnable, NewAssetVisible, NewAssetWear, NewAssetEffect, NewAssetSetPose, NewAssetValue, NewAssetDrawingPriority, NewAssetHeightModifier) {
 	var A = {
 		Name: NewAssetName,
 		Description: NewAssetName,
 		Group: AssetCurrentGroup,
 		Enable: (NewAssetEnable == null) ? true : NewAssetEnable,
 		Visible: (NewAssetVisible == null) ? true : NewAssetVisible,
+		Wear: (NewAssetWear == null) ? true : NewAssetWear,
 		Effect: NewAssetEffect,
 		SetPose: NewAssetSetPose,
 		Value: (NewAssetValue == null) ? 0 : NewAssetValue,
+		DrawingPriority: NewAssetDrawingPriority,
 		HeightModifier: (NewAssetHeightModifier == null) ? 0 : NewAssetHeightModifier
 	}
 	Asset.push(A);
@@ -110,9 +112,9 @@ function AssetLoad(A, Family) {
 		var I;
 		for (I = 0; I < A[G].Asset.length; I++)
 			if (A[G].Asset[I].Name == null)
-				AssetAdd(A[G].Asset[I], true, true, null, null, 0, 0)
+				AssetAdd(A[G].Asset[I], true, true, true, null, null, 0, null, 0)
 			else
-				AssetAdd(A[G].Asset[I].Name, A[G].Asset[I].Enable, A[G].Asset[I].Visible, A[G].Asset[I].Effect, A[G].Asset[I].SetPose, A[G].Asset[I].Value, A[G].Asset[I].Height);
+				AssetAdd(A[G].Asset[I].Name, A[G].Asset[I].Enable, A[G].Asset[I].Visible, A[G].Asset[I].Wear, A[G].Asset[I].Effect, A[G].Asset[I].SetPose, A[G].Asset[I].Value, A[G].Asset[I].Priority, A[G].Asset[I].Height);
 
 	}
 	
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Large_Asian.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Large_Asian.png
new file mode 100644
index 0000000000..94e33d845c
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Large_Asian.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Large_Black.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Large_Black.png
new file mode 100644
index 0000000000..917228c398
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Large_Black.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Large_White.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Large_White.png
new file mode 100644
index 0000000000..c4409a6c08
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Large_White.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Normal_Asian.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Normal_Asian.png
new file mode 100644
index 0000000000..ae653a96a2
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Normal_Asian.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Normal_Black.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Normal_Black.png
new file mode 100644
index 0000000000..5e6e25701f
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Normal_Black.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Normal_White.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Normal_White.png
new file mode 100644
index 0000000000..05d00c72d2
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Normal_White.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Small_Asian.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Small_Asian.png
new file mode 100644
index 0000000000..6a44a27fe8
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Small_Asian.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Small_Black.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Small_Black.png
new file mode 100644
index 0000000000..31c972872b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Small_Black.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Small_White.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Small_White.png
new file mode 100644
index 0000000000..0e002934db
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/Small_White.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/XLarge_Asian.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/XLarge_Asian.png
new file mode 100644
index 0000000000..660bb68e0f
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/XLarge_Asian.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/XLarge_Black.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/XLarge_Black.png
new file mode 100644
index 0000000000..af481fe3c3
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/XLarge_Black.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/XLarge_White.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/XLarge_White.png
new file mode 100644
index 0000000000..3361dae4dd
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackCuffs/XLarge_White.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Large_Asian.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Large_Asian.png
new file mode 100644
index 0000000000..4bb7cc2fe1
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Large_Asian.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Large_Black.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Large_Black.png
new file mode 100644
index 0000000000..c4fe1dc228
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Large_Black.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Large_White.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Large_White.png
new file mode 100644
index 0000000000..e71e3a9d17
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Large_White.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Normal_Asian.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Normal_Asian.png
new file mode 100644
index 0000000000..78eed37338
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Normal_Asian.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Normal_Black.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Normal_Black.png
new file mode 100644
index 0000000000..4c7f4030a6
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Normal_Black.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Normal_White.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Normal_White.png
new file mode 100644
index 0000000000..0f48de2268
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Normal_White.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Small_Asian.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Small_Asian.png
new file mode 100644
index 0000000000..67eb695167
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Small_Asian.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Small_Black.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Small_Black.png
new file mode 100644
index 0000000000..0cda20d7aa
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Small_Black.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Small_White.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Small_White.png
new file mode 100644
index 0000000000..d804bb27ab
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/Small_White.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/XLarge_Asian.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/XLarge_Asian.png
new file mode 100644
index 0000000000..ec25bae442
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/XLarge_Asian.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/XLarge_Black.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/XLarge_Black.png
new file mode 100644
index 0000000000..f391d0020a
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/XLarge_Black.png differ
diff --git a/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/XLarge_White.png b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/XLarge_White.png
new file mode 100644
index 0000000000..77508d5d2f
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/BodyUpper/BackElbowTouch/XLarge_White.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_Large.png
new file mode 100644
index 0000000000..40d8bbaf0d
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_Normal.png
new file mode 100644
index 0000000000..9fbc063d00
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_Small.png
new file mode 100644
index 0000000000..6beae7a61a
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_XLarge.png
new file mode 100644
index 0000000000..403e29779a
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/BabydollDress1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_Large.png
new file mode 100644
index 0000000000..1b9513051d
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_Normal.png
new file mode 100644
index 0000000000..169c1b4b32
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_Small.png
new file mode 100644
index 0000000000..66055754ff
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_XLarge.png
new file mode 100644
index 0000000000..2ab9b770f7
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/ChineseDress1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_Large.png
new file mode 100644
index 0000000000..0dd7e189c1
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_Normal.png
new file mode 100644
index 0000000000..24f0b7ac43
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_Small.png
new file mode 100644
index 0000000000..39d8fe2840
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_XLarge.png
new file mode 100644
index 0000000000..3a17b9ecd9
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/CollegeOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_Large.png
new file mode 100644
index 0000000000..1530c783c0
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_Normal.png
new file mode 100644
index 0000000000..7944605fdf
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_Small.png
new file mode 100644
index 0000000000..6b9ebfdd60
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_XLarge.png
new file mode 100644
index 0000000000..baeeee5789
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/MaidOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_Large.png
new file mode 100644
index 0000000000..f4dbaa62e0
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_Normal.png
new file mode 100644
index 0000000000..c0f6edb4b9
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_Small.png
new file mode 100644
index 0000000000..03c68d67d6
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_XLarge.png
new file mode 100644
index 0000000000..1ba765cb67
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_Large.png
new file mode 100644
index 0000000000..49e641285e
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_Normal.png
new file mode 100644
index 0000000000..56ee36490f
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_Small.png
new file mode 100644
index 0000000000..1d5b389059
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_XLarge.png
new file mode 100644
index 0000000000..fa2d72fcbe
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/StudentOutfit2_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_Large.png
new file mode 100644
index 0000000000..be17f727e1
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_Normal.png
new file mode 100644
index 0000000000..eba619ce5e
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_Small.png
new file mode 100644
index 0000000000..28fac20075
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_XLarge.png
new file mode 100644
index 0000000000..fd241bf0a0
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TeacherOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_Large.png
new file mode 100644
index 0000000000..8ba7378641
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_Normal.png
new file mode 100644
index 0000000000..9491075a3f
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_Small.png
new file mode 100644
index 0000000000..795fe4f89a
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_XLarge.png
new file mode 100644
index 0000000000..7f94e33d7e
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TennisOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_Large.png
new file mode 100644
index 0000000000..57f8411175
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_Normal.png
new file mode 100644
index 0000000000..f89a321a21
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_Small.png
new file mode 100644
index 0000000000..2fe5896b23
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_XLarge.png
new file mode 100644
index 0000000000..631a18a8f0
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackCuffs/TopSkirt1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_Large.png
new file mode 100644
index 0000000000..40d8bbaf0d
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_Normal.png
new file mode 100644
index 0000000000..9fbc063d00
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_Small.png
new file mode 100644
index 0000000000..6beae7a61a
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_XLarge.png
new file mode 100644
index 0000000000..403e29779a
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/BabydollDress1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_Large.png
new file mode 100644
index 0000000000..1b9513051d
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_Normal.png
new file mode 100644
index 0000000000..169c1b4b32
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_Small.png
new file mode 100644
index 0000000000..66055754ff
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_XLarge.png
new file mode 100644
index 0000000000..2ab9b770f7
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/ChineseDress1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_Large.png
new file mode 100644
index 0000000000..92e255b6cb
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_Normal.png
new file mode 100644
index 0000000000..d1a10e6043
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_Small.png
new file mode 100644
index 0000000000..3a40f78c36
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_XLarge.png
new file mode 100644
index 0000000000..71ffaaa4d8
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/CollegeOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_Large.png
new file mode 100644
index 0000000000..1530c783c0
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_Normal.png
new file mode 100644
index 0000000000..7944605fdf
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_Small.png
new file mode 100644
index 0000000000..6b9ebfdd60
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_XLarge.png
new file mode 100644
index 0000000000..baeeee5789
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/MaidOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_Large.png
new file mode 100644
index 0000000000..fc5b244f9f
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_Normal.png
new file mode 100644
index 0000000000..53a3bd8b28
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_Small.png
new file mode 100644
index 0000000000..4b08bab425
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_XLarge.png
new file mode 100644
index 0000000000..6011b8e273
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_Large.png
new file mode 100644
index 0000000000..59307ec073
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_Normal.png
new file mode 100644
index 0000000000..9c2896aed5
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_Small.png
new file mode 100644
index 0000000000..6ac8f8ae46
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_XLarge.png
new file mode 100644
index 0000000000..1c5c43fd05
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/StudentOutfit2_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_Large.png
new file mode 100644
index 0000000000..0dda87fdf1
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_Normal.png
new file mode 100644
index 0000000000..7e88a78948
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_Small.png
new file mode 100644
index 0000000000..9363ea6dff
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_XLarge.png
new file mode 100644
index 0000000000..992d58c37c
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TeacherOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_Large.png
new file mode 100644
index 0000000000..c242b3ea7c
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_Normal.png
new file mode 100644
index 0000000000..440f12bfe0
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_Small.png
new file mode 100644
index 0000000000..f30e996303
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_XLarge.png
new file mode 100644
index 0000000000..dc4e2b3bb0
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TennisOutfit1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_Large.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_Large.png
new file mode 100644
index 0000000000..6c5ded6a0a
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_Normal.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_Normal.png
new file mode 100644
index 0000000000..8df3d50c3b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_Small.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_Small.png
new file mode 100644
index 0000000000..60c186c0f8
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_XLarge.png b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_XLarge.png
new file mode 100644
index 0000000000..1fbc37c9c1
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Cloth/BackElbowTouch/TopSkirt1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Female3DCG.js b/BondageClub/Assets/Female3DCG/Female3DCG.js
index 205ba2eea0..a4b60bc7a7 100644
--- a/BondageClub/Assets/Female3DCG/Female3DCG.js
+++ b/BondageClub/Assets/Female3DCG/Female3DCG.js
@@ -6,7 +6,7 @@ var AssetFemale3DCG = [
 		Priority: 2,
 		AllowNone: false,
 		AllowColorize: false,
-		AllowPose: ["BackBoxTie"],
+		AllowPose: ["BackBoxTie", "BackCuffs", "BackElbowTouch"],
 		Color: ["White", "Asian", "Black"],
 		Asset: ["Small", "Normal", "Large", "XLarge"],
 	},
@@ -28,7 +28,7 @@ var AssetFemale3DCG = [
 		Group: "Cloth",
 		Priority: 18,
 		ParentGroup: "BodyUpper",
-		AllowPose: ["BackBoxTie"],
+		AllowPose: ["BackBoxTie", "BackCuffs", "BackElbowTouch"],
 		Color: ["Default", "#202020", "#808080", "#bbbbbb", "#aa8080", "#80aa80", "#8080aa", "#aaaa80", "#80aaaa", "#aa80aa", "#cc3333", "#33cc33", "#3333cc", "#cccc33", "#33cccc", "#cc33cc"],
 		Asset: [ { Name: "CollegeOutfit1", Value: -1 }, { Name: "MaidOutfit1", Value: -1 }, "StudentOutfit1", "StudentOutfit2", "TopSkirt1", "BabydollDress1", "TeacherOutfit1", "TennisOutfit1", "ChineseDress1"]
 	},
@@ -102,9 +102,9 @@ var AssetFemale3DCG = [
 		Priority: 15,
 		ParentGroup: "BodyUpper",
 		Default: false,
-		AllowPose: ["BackBoxTie"],
+		AllowPose: ["BackBoxTie", "BackCuffs", "BackElbowTouch"],
 		Color: ["#bbbbbb", "#808080", "#202020", "#aa8080", "#80aa80", "#8080aa", "#aaaa80", "#80aaaa", "#aa80aa", "#cc3333", "#33cc33", "#3333cc", "#cccc33", "#33cccc", "#cc33cc"],
-		Left: 125,
+		Left: 75,
 		Top: 275,
 		Asset: ["Gloves1", "Gloves2"]
 	},
@@ -195,7 +195,7 @@ var AssetFemale3DCG = [
 		Left: 125,
 		Top: 725,
 		Zone: [[100, 730, 300, 260]],
-		Asset: [ { Name: "NylonRope", Value: 15 }, { Name: "HempRope", Value: 30 } ]
+		Asset: [ { Name: "NylonRope", Value: 15 }, { Name: "HempRope", Value: 30 }, { Name: "LeatherBelt", Value: 25 } ]
 	},
 
 	{
@@ -210,7 +210,7 @@ var AssetFemale3DCG = [
 		Left: 125,
 		Top: 500,
 		Zone: [[100, 550, 300, 180]],
-		Asset: [ { Name: "NylonRope", Value: 15 }, { Name: "HempRope", Value: 30 } ]
+		Asset: [ { Name: "NylonRope", Value: 15 }, { Name: "HempRope", Value: 30 }, { Name: "LeatherBelt", Value: 25 } ]
 	},
 
 	{
@@ -218,7 +218,7 @@ var AssetFemale3DCG = [
 		Category: "Item",
 		Priority: 9,
 		Default: false,
-		AllowPose: ["BackBoxTie"],
+		AllowPose: ["BackBoxTie", "BackCuffs", "BackElbowTouch"],
 		Color: ["Default"],
 		Left: 125,
 		Top: 375,
@@ -244,13 +244,17 @@ var AssetFemale3DCG = [
 		Category: "Item",
 		Priority: 19,
 		Default: false,
-		Effect: ["Block", "Prone"],
 		Color: ["Default"],
-		SetPose: ["BackBoxTie"],
 		Left: 125,		
 		Top: 200,
 		Zone: [[50, 250, 100, 250], [350, 250, 100, 250]],
-		Asset: [ { Name: "NylonRope", Value: 15 }, { Name: "HempRope", Value: 30 }, { Name: "MetalCuffs", Enable: false, Visible: false, Value: 50}, { Name: "MetalCuffsKey", Effect: ["Unlock"], SetPose: [""], Enable: false, Visible: false, Value: 25}, { Name: "LeatherArmbinder", Enable: false, Visible: false, Value: 80} ]
+		Asset: [ 
+			{ Name: "NylonRope", Value: 15, SetPose: ["BackBoxTie"], Effect: ["Block", "Prone", "Struggle"] }, 
+			{ Name: "HempRope", Value: 30, SetPose: ["BackBoxTie"], Effect: ["Block", "Prone", "Struggle"] }, 
+			{ Name: "MetalCuffs", Priority: 17, Value: 50, SetPose: ["BackCuffs"], Effect: ["Block", "Prone", "Lock"] }, 
+			{ Name: "MetalCuffsKey", Wear: false, Value: 25, Effect: ["Unlock-MetalCuffs"] }, 
+			{ Name: "LeatherArmbinder", Priority: 1, Value: 80, SetPose: ["BackElbowTouch"], Effect: ["Block", "Prone"] }
+		]
 	},
 
 	{
@@ -275,7 +279,16 @@ var AssetFemale3DCG = [
 		Left: 150,
 		Top: 50,
 		Zone: [[150, 160, 200, 50]],
-		Asset: [ { Name: "SmallClothGag", Effect: ["GagLight"], Value: 10 }, { Name: "ClothCleaveGag", Effect: ["GagLight"], Value: 15 }, { Name: "ClothOTMGag", Value: 20 }, { Name: "ClothOTNGag", Value: 25 }, { Name: "HarnessBallGag", Effect: ["GagHeavy"], Value: 50 }, { Name: "DuctTapeGag", Value: 20 }, { Name: "RegularSleepingPill", Enable: false, Value: -1 } ]
+		Asset: [ 
+			{ Name: "SmallClothGag", Effect: ["GagLight"], Value: 10 }, 
+			{ Name: "ClothCleaveGag", Effect: ["GagLight"], Value: 15 }, 
+			{ Name: "ClothOTMGag", Value: 20 }, 
+			{ Name: "ClothOTNGag", Value: 25 }, 
+			{ Name: "HarnessBallGag", Effect: ["GagHeavy"], Value: 60 },
+			{ Name: "HarnessPanelGag", Effect: ["GagHeavy"], Value: 80 },
+			{ Name: "DuctTapeGag", Value: 20 }, 
+			{ Name: "RegularSleepingPill", Enable: false, Wear: false, Value: -1 } 
+		]
 	},
 
 	{
diff --git a/BondageClub/Assets/Female3DCG/Female3DCG_EN.csv b/BondageClub/Assets/Female3DCG/Female3DCG_EN.csv
index 6641feab24..95089cc8a7 100644
--- a/BondageClub/Assets/Female3DCG/Female3DCG_EN.csv
+++ b/BondageClub/Assets/Female3DCG/Female3DCG_EN.csv
@@ -117,9 +117,11 @@ Shoes,Boots1,Boots
 ItemFeet,,Feet
 ItemFeet,NylonRope,Nylon Rope
 ItemFeet,HempRope,Hemp Rope
+ItemFeet,LeatherBelt,Leather Belt
 ItemLegs,,Legs
 ItemLegs,NylonRope,Nylon Rope
 ItemLegs,HempRope,Hemp Rope
+ItemLegs,LeatherBelt,Leather Belt
 ItemPelvis,,Pelvis
 ItemPelvis,MetalChastityBelt,Metal Chastity Belt
 ItemPelvis,RegularVibratingEgg,Regular Vibrating Egg
@@ -144,6 +146,7 @@ ItemMouth,ClothCleaveGag,Cloth Cleave Gag
 ItemMouth,ClothOTMGag,Cloth OTM Gag
 ItemMouth,ClothOTNGag,Cloth OTN Gag
 ItemMouth,HarnessBallGag,Harness Ball Gag
+ItemMouth,HarnessPanelGag,Harness Panel Gag
 ItemMouth,DuctTapeGag,Duct Tape Gag
 ItemMouth,RegularSleepingPill,Sleeping Pill
 ItemHead,,Head
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Large.png b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Large.png
index 80fdde37cd..799fb4351b 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Large.png and b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Normal.png b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Normal.png
index 16e41c38de..799fb4351b 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Normal.png and b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Small.png b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Small.png
index ff17655ce9..799fb4351b 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Small.png and b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_XLarge.png b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_XLarge.png
index b30c982a16..799fb4351b 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_XLarge.png and b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Large.png b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Large.png
index feea00ce98..3c0f06afbd 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Large.png and b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Normal.png b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Normal.png
index 3ddec729ab..8784a601a5 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Normal.png and b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Small.png b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Small.png
index 513e2f204a..7f7d1b1af4 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Small.png and b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_XLarge.png b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_XLarge.png
index d3084b5dc9..886d6f4137 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_XLarge.png and b/BondageClub/Assets/Female3DCG/Gloves/BackBoxTie/Gloves2_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_Large.png b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_Large.png
new file mode 100644
index 0000000000..25cd219d49
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_Normal.png b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_Normal.png
new file mode 100644
index 0000000000..1ee457badf
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_Small.png b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_Small.png
new file mode 100644
index 0000000000..1ee457badf
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_XLarge.png b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_XLarge.png
new file mode 100644
index 0000000000..7003fda42f
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_Large.png b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_Large.png
new file mode 100644
index 0000000000..35e3977551
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_Normal.png b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_Normal.png
new file mode 100644
index 0000000000..7d3fde6553
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_Small.png b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_Small.png
new file mode 100644
index 0000000000..6b002dadf4
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_XLarge.png b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_XLarge.png
new file mode 100644
index 0000000000..afaeb86101
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackCuffs/Gloves2_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_Large.png b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_Large.png
new file mode 100644
index 0000000000..799fb4351b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_Normal.png b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_Normal.png
new file mode 100644
index 0000000000..799fb4351b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_Small.png b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_Small.png
new file mode 100644
index 0000000000..799fb4351b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_XLarge.png b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_XLarge.png
new file mode 100644
index 0000000000..799fb4351b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_Large.png b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_Large.png
new file mode 100644
index 0000000000..799fb4351b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_Normal.png b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_Normal.png
new file mode 100644
index 0000000000..799fb4351b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_Small.png b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_Small.png
new file mode 100644
index 0000000000..799fb4351b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_XLarge.png b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_XLarge.png
new file mode 100644
index 0000000000..799fb4351b
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/Gloves/BackElbowTouch/Gloves2_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Large.png b/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Large.png
index c0b42aed90..dbbc1a298c 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Large.png and b/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Normal.png b/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Normal.png
index c0b42aed90..133cfb105b 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Normal.png and b/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Small.png b/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Small.png
index c0b42aed90..222f7c8e93 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Small.png and b/BondageClub/Assets/Female3DCG/Gloves/Gloves1_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/Gloves1_XLarge.png b/BondageClub/Assets/Female3DCG/Gloves/Gloves1_XLarge.png
index c0b42aed90..5c0a19bd36 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/Gloves1_XLarge.png and b/BondageClub/Assets/Female3DCG/Gloves/Gloves1_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Large.png b/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Large.png
index 1a8629ba02..4eb3a42456 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Large.png and b/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Normal.png b/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Normal.png
index d3ff9eb373..84777a57ac 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Normal.png and b/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Small.png b/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Small.png
index 3954faf75e..cdef322530 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Small.png and b/BondageClub/Assets/Female3DCG/Gloves/Gloves2_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/Gloves/Gloves2_XLarge.png b/BondageClub/Assets/Female3DCG/Gloves/Gloves2_XLarge.png
index d21eb38b0a..1d0f59a1ae 100644
Binary files a/BondageClub/Assets/Female3DCG/Gloves/Gloves2_XLarge.png and b/BondageClub/Assets/Female3DCG/Gloves/Gloves2_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/HairBack/HairBack1.png b/BondageClub/Assets/Female3DCG/HairBack/HairBack1.png
index 8f0d7328bf..58e1e2d718 100644
Binary files a/BondageClub/Assets/Female3DCG/HairBack/HairBack1.png and b/BondageClub/Assets/Female3DCG/HairBack/HairBack1.png differ
diff --git a/BondageClub/Assets/Female3DCG/HairBack/HairBack14.png b/BondageClub/Assets/Female3DCG/HairBack/HairBack14.png
index 579e0fa3da..9ee800868d 100644
Binary files a/BondageClub/Assets/Female3DCG/HairBack/HairBack14.png and b/BondageClub/Assets/Female3DCG/HairBack/HairBack14.png differ
diff --git a/BondageClub/Assets/Female3DCG/HairBack/HairBack16.png b/BondageClub/Assets/Female3DCG/HairBack/HairBack16.png
index 7dde44ecce..72cbfd1d9c 100644
Binary files a/BondageClub/Assets/Female3DCG/HairBack/HairBack16.png and b/BondageClub/Assets/Female3DCG/HairBack/HairBack16.png differ
diff --git a/BondageClub/Assets/Female3DCG/HairBack/HairBack17.png b/BondageClub/Assets/Female3DCG/HairBack/HairBack17.png
index 8c2dce42ed..a52c3cd9b7 100644
Binary files a/BondageClub/Assets/Female3DCG/HairBack/HairBack17.png and b/BondageClub/Assets/Female3DCG/HairBack/HairBack17.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder.png b/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder.png
deleted file mode 100644
index 8b9ac569ba..0000000000
Binary files a/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder.png and /dev/null differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_Large.png b/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_Large.png
new file mode 100644
index 0000000000..aa56914f13
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_Normal.png b/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_Normal.png
new file mode 100644
index 0000000000..aa56914f13
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_Small.png b/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_Small.png
new file mode 100644
index 0000000000..aa56914f13
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_XLarge.png b/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_XLarge.png
new file mode 100644
index 0000000000..aa56914f13
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemArms/LeatherArmbinder_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs.png b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs.png
deleted file mode 100644
index 935f7c9fae..0000000000
Binary files a/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs.png and /dev/null differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffsKey.png b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffsKey.png
deleted file mode 100644
index 757f9507f7..0000000000
Binary files a/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffsKey.png and /dev/null differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_Large.png b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_Large.png
new file mode 100644
index 0000000000..46cedf2d71
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_Normal.png b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_Normal.png
new file mode 100644
index 0000000000..46cedf2d71
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_Small.png b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_Small.png
new file mode 100644
index 0000000000..46cedf2d71
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_XLarge.png b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_XLarge.png
new file mode 100644
index 0000000000..46cedf2d71
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemArms/MetalCuffs_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemArms/Orig/LeatherArmbinder.png b/BondageClub/Assets/Female3DCG/ItemArms/Orig/LeatherArmbinder.png
new file mode 100644
index 0000000000..0b3a92073a
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemArms/Orig/LeatherArmbinder.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_Large.png b/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_Large.png
new file mode 100644
index 0000000000..9eb5dce9ee
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_Normal.png b/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_Normal.png
new file mode 100644
index 0000000000..730061bf4c
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_Small.png b/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_Small.png
new file mode 100644
index 0000000000..490b55eb65
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_XLarge.png b/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_XLarge.png
new file mode 100644
index 0000000000..1940a20416
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemFeet/LeatherBelt_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemFeet/Preview/LeatherBelt.png b/BondageClub/Assets/Female3DCG/ItemFeet/Preview/LeatherBelt.png
new file mode 100644
index 0000000000..087de88346
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemFeet/Preview/LeatherBelt.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_Large.png b/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_Large.png
new file mode 100644
index 0000000000..040763e31a
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_Large.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_Normal.png b/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_Normal.png
new file mode 100644
index 0000000000..694fc52abc
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_Normal.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_Small.png b/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_Small.png
new file mode 100644
index 0000000000..bf8f0d8743
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_Small.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_XLarge.png b/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_XLarge.png
new file mode 100644
index 0000000000..ab3c624154
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemLegs/LeatherBelt_XLarge.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemLegs/Preview/LeatherBelt.png b/BondageClub/Assets/Female3DCG/ItemLegs/Preview/LeatherBelt.png
new file mode 100644
index 0000000000..087de88346
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemLegs/Preview/LeatherBelt.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemMouth/HarnessPanelGag.png b/BondageClub/Assets/Female3DCG/ItemMouth/HarnessPanelGag.png
new file mode 100644
index 0000000000..e683a0b7a2
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemMouth/HarnessPanelGag.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemMouth/Preview/HarnessPanelGag.png b/BondageClub/Assets/Female3DCG/ItemMouth/Preview/HarnessPanelGag.png
new file mode 100644
index 0000000000..a5ecf76383
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemMouth/Preview/HarnessPanelGag.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemPelvis/BackCuffs/MetalChastityBelt.png b/BondageClub/Assets/Female3DCG/ItemPelvis/BackCuffs/MetalChastityBelt.png
new file mode 100644
index 0000000000..3670e97304
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemPelvis/BackCuffs/MetalChastityBelt.png differ
diff --git a/BondageClub/Assets/Female3DCG/ItemPelvis/BackElbowTouch/MetalChastityBelt.png b/BondageClub/Assets/Female3DCG/ItemPelvis/BackElbowTouch/MetalChastityBelt.png
new file mode 100644
index 0000000000..3670e97304
Binary files /dev/null and b/BondageClub/Assets/Female3DCG/ItemPelvis/BackElbowTouch/MetalChastityBelt.png differ
diff --git a/BondageClub/Backgrounds/MaidQuarters.jpg b/BondageClub/Backgrounds/MaidQuarters.jpg
new file mode 100644
index 0000000000..d5183ba64a
Binary files /dev/null and b/BondageClub/Backgrounds/MaidQuarters.jpg differ
diff --git a/BondageClub/Backgrounds/MaidQuartersDark.jpg b/BondageClub/Backgrounds/MaidQuartersDark.jpg
new file mode 100644
index 0000000000..950410514d
Binary files /dev/null and b/BondageClub/Backgrounds/MaidQuartersDark.jpg differ
diff --git a/BondageClub/Character.js b/BondageClub/Character.js
index 9971376637..fbe6842528 100644
--- a/BondageClub/Character.js
+++ b/BondageClub/Character.js
@@ -208,4 +208,41 @@ function CharacterSetCurrent(C) {
 	var NewDialog = DialogIntro();
 	if (!Player.CanTalk()) NewDialog = DialogFind(CurrentCharacter, "PlayerGagged", "");
 	if (NewDialog != "") C.CurrentDialog = NewDialog;
-}
\ No newline at end of file
+}
+
+// Refreshes the character parameters
+function CharacterRefresh(C) {	
+	CharacterLoadEffect(C);
+	CharacterLoadPose(C);	
+	CharacterLoadCanvas(C);
+	if (CurrentScreen != "CharacterAppearance") CharacterAppearanceSave(C);
+}
+
+// Removes any binding item from the current character
+function CharacterRelease(C) {
+	for(var E = 0; E < C.Appearance.length; E++)
+		if ((C.Appearance[E].Asset.Group.Name == "ItemMouth") || (C.Appearance[E].Asset.Group.Name == "ItemArms") || (C.Appearance[E].Asset.Group.Name == "ItemFeet") || (C.Appearance[E].Asset.Group.Name == "ItemLegs") || (C.Appearance[E].Asset.Group.Name == "ItemHead")) {
+			C.Appearance.splice(E, 1);
+			E--;
+		}
+	CharacterRefresh(C);
+}
+
+// Makes the character wear an item
+function CharacterWearItem(C, AssetName, AssetGroup) {
+	for (var A = 0; A < Asset.length; A++)
+		if ((Asset[A].Name == AssetName) && (Asset[A].Group.Name == AssetGroup))
+			CharacterAppearanceSetItem(C, AssetGroup, Asset[A]);
+	CharacterRefresh(C);
+}
+
+// Makes the character wear a random item from a group
+function CharacterWearRandomItem(C, AssetGroup) {
+	var List = [];
+	for (var A = 0; A < Asset.length; A++)
+		if ((Asset[A].Group.Name == AssetGroup) && Asset[A].Wear && Asset[A].Enable)
+			List.push(Asset[A]);
+	if (List.length == 0) return;
+	CharacterAppearanceSetItem(C, AssetGroup, List[Math.floor(Math.random() * List.length)]);
+	CharacterRefresh(C);
+}
diff --git a/BondageClub/Common.js b/BondageClub/Common.js
index c2b9244275..051042eaba 100644
--- a/BondageClub/Common.js
+++ b/BondageClub/Common.js
@@ -130,19 +130,4 @@ function CommonSetScreen(NewScreen) {
 	TextLoad();
 	if (eval("typeof " + CurrentScreen + "Load") == "function")
 		CommonDynamicFunction(CurrentScreen + "Load()");
-}
-
-// Sorts a list of objects based on a key property
-function CommonSortObjectList(list, key) {
-    function compare(a, b) {
-        a = a[key];
-        b = b[key];
-        var type = (typeof(a) === 'string' ||
-                    typeof(b) === 'string') ? 'string' : 'number';
-        var result;
-        if (type === 'string') result = a.localeCompare(b);
-        else result = a - b;
-        return result;
-    }
-    return list.sort(compare);
 }
\ No newline at end of file
diff --git a/BondageClub/Dialog.js b/BondageClub/Dialog.js
index 39414323db..459e94b6c7 100644
--- a/BondageClub/Dialog.js
+++ b/BondageClub/Dialog.js
@@ -2,11 +2,14 @@ var DialogStruggleTimerStart = 0;
 var DialogStruggleTimerEnd = 0;
 var DialogInventory = [];
 
-// Equips an item on the character from dialog
+// Change the player reputation through dialog options (a reputation is easier to break than to build)
+function DialogChangeReputation(RepType, Value) {
+	ReputationProgress(RepType, Value);
+}
+
+// Equips an item on the player from dialog
 function DialogEquipItem(AssetName, AssetGroup) {
-	for (var A = 0; A < Asset.length; A++)
-		if ((Asset[A].Name == AssetName) && (Asset[A].Group.Name == AssetGroup))
-			CharacterAppearanceSetItem(Player, AssetGroup, Asset[A]);
+	CharacterWearItem(Player, AssetName, AssetGroup);
 }
 
 // Returns TRUE if the dialog prerequisite condition is met
@@ -26,6 +29,15 @@ function DialogPrerequisite(D) {
 					return !eval(CurrentScreen + CurrentCharacter.Dialog[D].Prerequisite.substr(1, 250));
 }
 
+// Searches for an item in the player inventory to unlock a specific item
+function DialogCanUnlock(C) {
+	var UnlockName = "Unlock-" + CharacterAppearanceGetCurrentValue(C, C.FocusGroup.Name, "Name");	
+	for (var I = 0; I < Player.Inventory.length; I++)
+		if ((Player.Inventory[I].Asset.Effect != null) && (Player.Inventory[I].Asset.Effect.indexOf(UnlockName) >= 0))
+			return true;
+	return false;
+}
+
 // Returns the current character dialog intro
 function DialogIntro() {
 	for(var D = 0; D < CurrentCharacter.Dialog.length; D++)
@@ -139,16 +151,16 @@ function DialogClick() {
 	// In item menu mode VS text dialog mode
 	if (((Player.FocusGroup != null) || ((CurrentCharacter.FocusGroup != null) && CurrentCharacter.AllowItem)) && (DialogIntro() != "")) {
 
-		// If the user removes an item menu
+		// If the user removes wants to remove an item
 		if ((MouseX >= 1500) && (MouseX <= 1725) && (MouseY >= 25) && (MouseY <= 100)) {
 
 			// If the player can interact, we simply remove the item
+			var C = (Player.FocusGroup != null) ? Player : CurrentCharacter;
+			var Effect = CharacterAppearanceGetCurrentValue(C, C.FocusGroup.Name, "Effect");
 			if (Player.CanInteract()) {
-				var C = (Player.FocusGroup != null) ? Player : CurrentCharacter;
 				if ((C.FocusGroup != null) && (CharacterAppearanceGetCurrentValue(C, C.FocusGroup.Name, "Name") != "None")) {
 
 					// Do not allow to remove if it's locked
-					var Effect = CharacterAppearanceGetCurrentValue(C, C.FocusGroup.Name, "Effect");
 					if ((Effect == null) || (Effect.indexOf("Lock") < 0)) {
 						C.CurrentDialog = DialogFind(C, "Remove" + C.FocusGroup.Name, "");
 						CharacterAppearanceSetItem(C, C.FocusGroup.Name, null);
@@ -159,11 +171,18 @@ function DialogClick() {
 			} else {
 				
 				// If the player can struggle out
-				if ((Player.FocusGroup.Effect != null) && (Player.FocusGroup.Effect.indexOf("Block") >= 0) && (DialogStruggleTimerEnd == 0)) {
+				if ((C.ID == 0) && (Effect != null) && (Effect.indexOf("Block") >= 0) && (Effect.indexOf("Struggle") >= 0) && (DialogStruggleTimerEnd == 0)) {
 					DialogStruggleTimerStart = new Date().getTime();
 					DialogStruggleTimerEnd = new Date().getTime() + 15000;
 				}
 				
+				// If the player can unlock herself
+				if ((C.ID == 0) && (Effect != null) && (Effect.indexOf("Block") >= 0) && (Effect.indexOf("Lock") >= 0) && DialogCanUnlock(C)) {
+					C.CurrentDialog = DialogFind(C, "Remove" + C.FocusGroup.Name, "");
+					CharacterAppearanceSetItem(C, C.FocusGroup.Name, null);
+					DialogLeaveItemMenu();
+				}
+
 			}
 						
 		}
@@ -187,11 +206,24 @@ function DialogClick() {
 					// Cannot change item if the previous one is locked
 					var Effect = CharacterAppearanceGetCurrentValue(C, C.FocusGroup.Name, "Effect");
 					if ((Effect == null) || (Effect.indexOf("Lock") < 0)) {
-						CharacterAppearanceSetItem(C, DialogInventory[I].Asset.Group.Name, DialogInventory[I].Asset);
-						C.CurrentDialog = DialogFind(C, DialogInventory[I].Asset.Name, DialogInventory[I].Asset.Group.Name);
-						DialogLeaveItemMenu();
-						break;
+						if (DialogInventory[I].Asset.Wear) {
+							CharacterAppearanceSetItem(C, DialogInventory[I].Asset.Group.Name, DialogInventory[I].Asset);
+							C.CurrentDialog = DialogFind(C, DialogInventory[I].Asset.Name, DialogInventory[I].Asset.Group.Name);
+							DialogLeaveItemMenu();
+						}
+					} else {
+						
+						// Check if we can unlock the item
+						var Name = CharacterAppearanceGetCurrentValue(C, C.FocusGroup.Name, "Name");
+						if ((DialogInventory[I].Asset.Effect != null) && (DialogInventory[I].Asset.Effect.indexOf("Unlock-" + Name) >= 0)) {
+							C.CurrentDialog = DialogFind(C, "Remove" + C.FocusGroup.Name, "");
+							CharacterAppearanceSetItem(C, C.FocusGroup.Name, null);
+							DialogLeaveItemMenu();
+							break;
+						}
+							
 					}
+					break;
 
 				}
 
@@ -224,7 +256,8 @@ function DialogClick() {
 						else CurrentCharacter.CurrentDialog = CurrentCharacter.Dialog[D].Result;
 						
 						// A dialog option can change the conversation stage, show text or launch a custom function						
-						if (Player.CanTalk() && CurrentCharacter.CanTalk()) {
+						if ((Player.CanTalk() && CurrentCharacter.CanTalk()) || (DialogGarble(Player, CurrentCharacter.Dialog[D].Option) == CurrentCharacter.Dialog[D].Option)) {
+							CurrentCharacter.CurrentDialog = CurrentCharacter.Dialog[D].Result;
 							if (CurrentCharacter.Dialog[D].NextStage != null) CurrentCharacter.Stage = CurrentCharacter.Dialog[D].NextStage;
 							if (CurrentCharacter.Dialog[D].Function != null) CommonDynamicFunction(CurrentCharacter.Dialog[D].Function);
 						} else 
@@ -244,7 +277,7 @@ function DialogClick() {
 // Draw the item menu dialog
 function DialogDrawItemMenu(C) {
 
-	// Inventory is only accessible if the player can struggle out
+	// Inventory is only accessible if the player can interact
 	if (Player.CanInteract()) {
 
 		// Builds the item dialog if we need too
@@ -273,28 +306,50 @@ function DialogDrawItemMenu(C) {
 		}
 	
 	} else {
-		
-		// Draws the top menu
+				
+		// If we must draw the struggle/unlock dialog
+		var A = CharacterAppearanceGetCurrentValue(C, C.FocusGroup.Name, "Asset");
 		DrawButton(1750, 25, 225, 75, "Cancel", "White");
-		if ((Player.FocusGroup != null) && (Player.FocusGroup.Effect != null) && (Player.FocusGroup.Effect.indexOf("Block") >= 0)) {			
-			DrawText("Struggle to free yourself", 1250, 62, "White", "Black");
-			DrawButton(1500, 25, 225, 75, "Struggle", "White");			
-		}
+		if ((A != null) && (A != "None")) {
 
+			// Draw it
+			DrawRect(1400, 250, 225, 275, "pink");
+			DrawImageResize("Assets/" + A.Group.Family + "/" + A.Group.Name + "/Preview/" + A.Name + ".png", 1402, 252, 221, 221);
+			DrawTextFit(A.Description, 1512, 500, 221, "black");
+
+			// Draw the struggle option
+			if ((C.ID == 0) && (A.Effect != null) && (A.Effect.indexOf("Block") >= 0) && (A.Effect.indexOf("Struggle") >= 0)) {
+				DrawText("Struggle to free yourself", 1250, 62, "White", "Black");
+				DrawButton(1500, 25, 225, 75, "Struggle", "White");			
+			}
+
+			// Draw the unlock option
+			if ((C.ID == 0) && (A.Effect != null) && (A.Effect.indexOf("Block") >= 0) && (A.Effect.indexOf("Lock") >= 0)) {
+				if (DialogCanUnlock(C)) {
+					DrawText("You can unlock yourself", 1250, 62, "White", "Black");
+					DrawButton(1500, 25, 225, 75, "Unlock", "White");
+				} else DrawText("You don't have the proper key", 1350, 62, "White", "Black");
+			}
+
+			// Draw the no struggle option
+			if ((C.ID == 0) && (A.Effect != null) && (A.Effect.indexOf("Block") >= 0) && (A.Effect.indexOf("Lock") < 0) && (A.Effect.indexOf("Struggle") < 0))
+				DrawText("You'll need help to get out", 1250, 62, "White", "Black");
+		}
+		
 		// If the player is struggling
 		if (DialogStruggleTimerEnd > 0) {
 			var Progress = (new Date().getTime() - DialogStruggleTimerStart) / (DialogStruggleTimerEnd - DialogStruggleTimerStart);
-			DrawText("Struggling...", 1500, 450, "White", "Black");
-			DrawRect(1200, 500, 600, 100, "White");
-			DrawRect(1202, 503, 594, 94, "Red");
-			DrawRect(1202, 503, Progress * 594, 94, "#88FF88");
+			DrawText("Struggling...", 1500, 650, "White", "Black");
+			DrawRect(1200, 700, 600, 100, "White");
+			DrawRect(1202, 703, 594, 94, "Red");
+			DrawRect(1202, 703, Progress * 594, 94, "#88FF88");
 			if (Progress >= 1) {
 				Player.CurrentDialog = DialogFind(Player, "Struggle" + Player.FocusGroup.Name, "");
 				CharacterAppearanceSetItem(Player, Player.FocusGroup.Name, null);
 				DialogInventoryBuild(C);
 			}
 		}
-		else DrawText("You cannot access your items", 1500, 500, "White", "Black");
+		else DrawText("You cannot access your items", 1500, 700, "White", "Black");
 		
 	}
 
@@ -421,4 +476,4 @@ function DialogDraw() {
 
 	}
 
-}
+}
\ No newline at end of file
diff --git a/BondageClub/Reputation.js b/BondageClub/Reputation.js
index 9a4c3cd611..f937ce47f9 100644
--- a/BondageClub/Reputation.js
+++ b/BondageClub/Reputation.js
@@ -7,6 +7,7 @@ function ReputationSave(R) {
 function ReputationChange(RepType, RepValue, Push) {
 
 	// Nothing will be done for a zero change
+	RepValue = parseInt(RepValue) || 0;
 	if (RepValue != 0) {
 		
 		// If the reputation already exists, we update and push it
@@ -46,3 +47,36 @@ function ReputationLoad(NewRep) {
 	}
 	
 }
+
+// Returns a specific reputation value 
+function ReputationGet(RepType) {
+	for (var R = 0; R < Player.Reputation.length; R++)
+		if (Player.Reputation[R].Type == RepType)
+			return Player.Reputation[R].Value;
+	return 0;
+}
+
+// Returns a timer length based on a reputation value
+function ReputationTimer(RepType, Reverse) {
+	var V = ReputationGet(RepType) * (((Reverse != null) && Reverse) ? -1 : 1);
+	if (V <= 0) return new Date().getTime() + (15000 * (1 + Math.random()));
+	else return new Date().getTime() + ((15 + V) * 1000 * (1 + Math.random()));
+}
+
+// Alter the reputation progress by a factor (The higher the rep, the slower it gets, a reputation is easier to break than to build)
+function ReputationProgress(RepType, Value) {
+	var V = ReputationGet(RepType);
+	if (Value > 0) {
+		if ((V >= 70) && (V <= 100)) ReputationChange(RepType, Math.floor(Value / 3));
+		if ((V >= 30) && (V < 70)) ReputationChange(RepType, Math.floor(Value / 2));
+		if ((V > -30) && (V < 30)) ReputationChange(RepType, Value);
+		if ((V > -70) && (V <= -30)) ReputationChange(RepType, Value * 2);
+		if ((V >= -100) && (V <= -70)) ReputationChange(RepType, Value * 4);
+	} else {
+		if ((V >= -100) && (V <= -70)) ReputationChange(RepType, Math.floor(Value / 3));
+		if ((V > -70) && (V <= -30)) ReputationChange(RepType, Math.floor(Value / 2));
+		if ((V > -30) && (V < 30)) ReputationChange(RepType, Value);
+		if ((V >= 30) && (V < 70)) ReputationChange(RepType, Value * 2);
+		if ((V >= 70) && (V <= 100)) ReputationChange(RepType, Value * 4);
+	}
+}
\ No newline at end of file
diff --git a/BondageClub/Screens/CharacterAppearance/CharacterAppearance.js b/BondageClub/Screens/CharacterAppearance/CharacterAppearance.js
index 8a68ab437d..3673a99ac5 100644
--- a/BondageClub/Screens/CharacterAppearance/CharacterAppearance.js
+++ b/BondageClub/Screens/CharacterAppearance/CharacterAppearance.js
@@ -114,6 +114,20 @@ function CharacterAppearanceNaked(C) {
 
 }
 
+// Returns the character appearance sorted by drawing priority
+function CharacterAppearanceSort(AP) {
+	var Arr = [];
+	for(var P = 0; P < 50; P++)
+		for(var A = 0; A < AP.length; A++)
+			if (AP[A].Asset.DrawingPriority != null) {
+				if (AP[A].Asset.DrawingPriority == P)
+					Arr.push(AP[A]);				
+			} else 
+				if (AP[A].Asset.Group.DrawingPriority == P)
+					Arr.push(AP[A]);
+	return Arr;
+}
+
 // Gets the character 
 function CharacterAppearanceBuildCanvas(C) {
 
@@ -130,7 +144,7 @@ function CharacterAppearanceBuildCanvas(C) {
 	} else C.CanvasBlink.getContext("2d").clearRect(0, 0, 500, 1000);
 	
 	// Sorts the list
-	C.Appearance = CommonSortObjectList(C.Appearance, "Priority");
+	C.Appearance = CharacterAppearanceSort(C.Appearance, "Priority");
 	
 	// Loops in all items worn by the character
 	for (var A = 0; A < C.Appearance.length; A++) {
@@ -184,6 +198,7 @@ function CharacterAppearanceGetCurrentValue(C, Group, Type) {
 			if (Type == "Color") return C.Appearance[A].Color;
 			if (Type == "ID") return A;
 			if (Type == "Effect") return C.Appearance[A].Asset.Effect;
+			if (Type == "Asset") return C.Appearance[A].Asset;
 		}
 	return "None";
 
@@ -191,7 +206,6 @@ function CharacterAppearanceGetCurrentValue(C, Group, Type) {
 
 // Loads the character appearance screen and keeps a backup of the previous appearance
 function CharacterAppearanceLoad() {
-	CharacterAppearanceHeaderText = TextGet("SelectAppearance");
 	CharacterAppearanceBuildAssets(Player);
 	CharacterAppearanceBackup = JSON.parse(JSON.stringify(Player.Appearance));
 }
@@ -200,6 +214,7 @@ function CharacterAppearanceLoad() {
 function CharacterAppearanceRun() {
 	
 	// Draw the background and the character twice
+	if (CharacterAppearanceHeaderText == "") CharacterAppearanceHeaderText = TextGet("SelectAppearance");
 	DrawCharacter(Player, -550, -100, 4);
 	DrawCharacter(Player, 800, 0, 1);
 	DrawText(CharacterAppearanceHeaderText, 450, 40, "White", "Black");
@@ -257,10 +272,7 @@ function CharacterAppearanceSetItem(C, Group, ItemAsset) {
 	}
 
 	// Draw the character canvas and calculate the effects on the character
-	CharacterLoadEffect(C);
-	CharacterLoadPose(C);	
-	CharacterLoadCanvas(C);
-	if (CurrentScreen != "CharacterAppearance") CharacterAppearanceSave(C);
+	CharacterRefresh(C);
 
 }
 
@@ -469,9 +481,7 @@ function CharacterAppearanceLoadFromAccount(C, Appearance) {
 		}
 
 		// Draw the character canvas
-		CharacterLoadEffect(C);
-		CharacterLoadPose(C);
-		CharacterLoadCanvas(C);
+		CharacterRefresh(C);
 
 	}
 
diff --git a/BondageClub/Screens/Introduction/Dialog_NPC_Introduction_Maid_EN.csv b/BondageClub/Screens/Introduction/Dialog_NPC_Introduction_Maid_EN.csv
index cab71c2935..261537e410 100644
--- a/BondageClub/Screens/Introduction/Dialog_NPC_Introduction_Maid_EN.csv
+++ b/BondageClub/Screens/Introduction/Dialog_NPC_Introduction_Maid_EN.csv
@@ -68,6 +68,7 @@ PlayerGagged,,,Communicating with a gag is quite hard.  You'll need to remove it
 270,,,Your introduction is done.  I hope you will have fun in the club.,,
 270,,You were a great teacher.,Well thanks a lot.  You're a good student.,DialogRemove(),
 270,,Thanks!  Have a great time.  (Leave her.),,DialogLeave(),
+270,,Tell me about the other types of restraints.,"Some items are impossible to struggle out from so you'll need to find help.  Also, items like cuffs can be locked, you'll need a key to unlock them.",,
 270,300,I want to practice freeing myself.,Of course!  If you're ready for the challenge I will tie you up.,,
 300,,,Are you ready to struggle against the ropes?,,Player.CanInteract()
 300,,,Get your arms free first if you want to practice struggling against my ropes.  Let me know when you're ready.,,!Player.CanInteract()
@@ -96,4 +97,6 @@ PlayerGagged,,,Communicating with a gag is quite hard.  You'll need to remove it
 370,,You were a great teacher.,Well thanks a lot.  You're a good student.,DialogRemove(),
 370,,Thanks!  Take care.  (Leave her.),,DialogLeave(),
 370,,Can I strap her up?,"Sure, my assistant here will be happy to help you practice.",,
+370,,Can I get better at struggling out?,"Yes, you might learn skills to escape faster if you stick around.  Others might also learn skills to make your struggling harder though.",,
+370,,Tell me about the other types of restraints.,"Some items are impossible to struggle out from so you'll need to find help.  Also, items like cuffs can be locked, you'll need a key to unlock them.",,
 370,300,I want to practice freeing myself.,Again?  Well of course.  Are you ready to struggle now?,,
diff --git a/BondageClub/Screens/MaidQuarters/Dialog_NPC_MaidQuarters_Maid_EN.csv b/BondageClub/Screens/MaidQuarters/Dialog_NPC_MaidQuarters_Maid_EN.csv
new file mode 100644
index 0000000000..cab71c2935
--- /dev/null
+++ b/BondageClub/Screens/MaidQuarters/Dialog_NPC_MaidQuarters_Maid_EN.csv
@@ -0,0 +1,99 @@
+PlayerGagged,,,Communicating with a gag is quite hard.  You'll need to remove it to chat.,,
+0,,,"Hello there, welcome to the Bondage Club introduction class.",,
+0,,"Hi, my name is DialogPlayerName.","Pleased to meet you.  I'm DialogCharacterName, I work here as a maid.",DialogRemove(),
+0,10,"Thanks, little maid.  What's going on here?","In here, you will learn how to restrain someone and escape by yourself.",ChangeMaidOpinion(1),
+0,10,Introduction class?,"In this class, you will learn how to restrain someone and free yourself.",,
+0,100,I don't need any introduction.,"Very well, would you like to practice with us then?",,
+0,,I can't stay to chat.  (Leave her.),,DialogLeave(),
+10,,Can I strap up anyone at any time?,Yes and no.  You need their consent and you cannot do it in the middle of a conversation.,DialogRemove(),
+10,20,This is great!,I'm glad you like it.  I will teach you first about the body parts your can restrain.,,
+10,20,It sounds kinky. (Blush a little.),It's kinky and fun.  I will teach you first about the body parts your can restrain.,ChangeMaidOpinion(-1),
+10,15,Tell me about the club first.,The Bondage Club is a place for open minded adults to share their BDSM kinks.,,
+10,,You're both a maid and a teacher?,We maids do a lot of work here.  You'll see with time.,DialogRemove(),
+10,100,I already know that.,"Very well, would you like to practice with us then?",,
+15,20,Fair enough.,Very well.  I will teach you first about the body parts your can restrain.,,
+15,20,Awesome!,I'm glad you like it.  I will teach you first about the body parts your can restrain.,,
+20,30,I'm listening.,"There are eight body parts to interact with.  To access them, select the body region I will show you.",,
+20,30,Please tell me Miss.,"There are eight body parts to interact with.  To access them, select the body region I will show you.",ChangeMaidOpinion(-1),
+20,30,"Alright, but make it quick.","There are eight body parts to interact with.  To access them, select the body region I will show you.",ChangeMaidOpinion(1),
+20,100,I already know that.,"Very well, would you like to practice with us then?",,
+30,31,Show me the body regions I can select.,Restraining the feet will prevent your victim from moving away.,"SetZone(""ItemFeet"")",
+31,32,(Listen.),Restraining the upper legs will still allow your victim to move but make kidnappings much easier.,"SetZone(""ItemLegs"")",
+32,33,(Listen.),"On the pelvis region, you can use kinky toys, chastity devices or crotch ropes to tease your victim.","SetZone(""ItemPelvis"")",
+33,34,(Listen.),"On the torso, you can do breast bondage or use harnesses, mostly for esthetics.","SetZone(""ItemTorso"")",
+34,35,(Listen.),The arms can be restrained using many devices.  This will prevent your victim from using her hands.,"SetZone(""ItemArms"")",
+35,36,(Listen.),You can use collars on your victim neck to leash them and walk them around.,"SetZone(""ItemNeck"")",
+36,37,(Listen.),"Collars are also used to enslave, but you will learn about it in another class.",,
+37,38,(Listen.),"You can use gags to silence your victim, making her unable to speak.","SetZone(""ItemMouth"")",
+38,39,(Listen.),"Blindfolds, ear muffs or hoods can also be used to restrict view and hearing.","SetZone(""ItemHead"")",
+39,40,(Listen.),"This is it, remember that your arms need to be free to restrain someone.",ClearZone(),
+40,100,Thanks for the info.,"My pleasure, now we can practice.  Would you prefer to restrain someone or be tied up yourself?",,
+40,100,That makes sense.,"Of course, and now we can practice.  Would you prefer to restrain someone or be tied up yourself?",,
+40,200,Can I strap you up now?,"Not me, but we have someone here who would certainly enjoy being your victim.",ChangeMaidOpinion(1),
+40,100,Can we practice?,Absolutely.  Would you prefer to restrain someone or be tied up yourself?,,
+40,300,Can you tie me up now?,I can certainly tie you up.  It's a good time to practice.,ChangeMaidOpinion(-1),
+100,,,You can practice your bondage skills here.  Would you prefer to restrain someone or be tied up yourself?,,
+100,200,I want to practice tying you up.,"You won't tie me up, but we have someone here who would certainly enjoy being your victim.",ChangeMaidOpinion(1),
+100,200,Can I tie her up?,"Absolutely, you have the perfect candidate here to practice on.",ChangeMaidOpinion(1),
+100,300,I want to practice freeing myself.,Awesome!  If you're ready for the challenge I will tie you up.,ChangeMaidOpinion(-1),
+100,,Who runs this club?,The Head Mistress is in charge.  You should go present yourself if you haven't done it.,DialogRemove(),
+100,,Let's practice later.  (Leave her.),,DialogLeave(),
+200,220,I can use my favorite restraints on her?,"Of course, use anything you want on her.  She's very submissive, she will enjoy it.",,HasBasicItems
+200,210,Can I have some items to practice with?,"Use these basic items, they are easy to use but also easy to struggle out from.",,!HasBasicItems
+210,220,Thanks!  (Take the items.),(She gives you ropes for her arms and legs plus a basic cloth gag.),GetBasicItems(),
+210,220,This is sweet.  (Take the items.),(She gives you ropes for her arms and legs plus a basic cloth gag.),GetBasicItems(),
+220,230,I'll make it extra tight.,"Impressive.  Make sure to restrain her arms, her feet and to gag her.",ChangeMaidOpinion(1),
+220,230,I'm ready!,"Wonderful.  Make sure to restrain her arms, her feet and to gag her.",,
+220,230,I can do it now?,"Absolutely.  Make sure to restrain her arms, her feet and to gag her.",ChangeMaidOpinion(-1),
+230,,,"Make sure to restrain her arms, her feet and to gag her.",,
+230,250,She's restrained pretty good now.,(She looks at your victim and smiles.)  Excellent!  So how does it feel to restrain someone?,,SubRestrained
+230,,Very good.  (Leave her.),,DialogLeave(),
+230,,I can tie her up at any time?,Yes and no.  You cannot strap her up in the middle of a conversation.,,
+230,240,Tell me about the body parts I can restrain.,"There are eight body parts to interact with.  To access them, select the body region I will show you.",,
+240,241,Show me the body regions I can select.,Restraining the feet will prevent your victim from moving away.,"SetZone(""ItemFeet"")",
+241,242,(Listen.),Restraining the upper legs will still allow your victim to move but make kidnappings much easier.,"SetZone(""ItemLegs"")",
+242,243,(Listen.),"On the pelvis region, you can use kinky toys, chastity devices or crotch ropes to tease your victim.","SetZone(""ItemPelvis"")",
+243,244,(Listen.),"On the torso, you can do breast bondage or use harnesses, mostly for esthetics.","SetZone(""ItemTorso"")",
+244,245,(Listen.),The arms can be restrained using many devices.  This will prevent your victim from using her hands.,"SetZone(""ItemArms"")",
+245,246,(Listen.),You can use collars on your victim neck to leash them and walk them around.,"SetZone(""ItemNeck"")",
+246,247,(Listen.),"Collars are also used to enslave, but you will learn about it in another class.",,
+247,248,(Listen.),"You can use gags to silence your victim, making her unable to speak.","SetZone(""ItemMouth"")",
+248,249,(Listen.),"Blindfolds, ear muffs or hoods can also be used to restrict view and hearing.","SetZone(""ItemHead"")",
+249,230,(Listen.),"This is it, remember that your arms need to be free to restrain someone.",ClearZone(),
+250,260,It was fun to strap her up.,I'm glad you feel that way.  You're ready to explore the club now.,,
+250,260,I would ratter be restrained myself.,"Don't worry, I'm sure it will happen often.  You're ready to explore the club now.",ChangeMaidOpinion(-1),
+250,260,It's empowering!  I need to find a whip now.,A monster is born!  (She giggles.)  You're ready to explore the club now.,ChangeMaidOpinion(1),
+260,270,I can tie up on anyone?,"Anyone that's into bondage, yes.  Have fun causing trouble.",SaveMaidOpinion(),
+260,270,Can I tie you up now?,"(She giggles.)  Not now, I have work to do here.  But I'm sure you'll find victims if you wander around.",SaveMaidOpinion(),
+270,,,Your introduction is done.  I hope you will have fun in the club.,,
+270,,You were a great teacher.,Well thanks a lot.  You're a good student.,DialogRemove(),
+270,,Thanks!  Have a great time.  (Leave her.),,DialogLeave(),
+270,300,I want to practice freeing myself.,Of course!  If you're ready for the challenge I will tie you up.,,
+300,,,Are you ready to struggle against the ropes?,,Player.CanInteract()
+300,,,Get your arms free first if you want to practice struggling against my ropes.  Let me know when you're ready.,,!Player.CanInteract()
+300,310,"I'm ready, you can tie me up.",(She wraps a white nylon rope around your feet and does two knots.),"DialogEquipItem(""NylonRope"", ""ItemFeet"")",Player.CanInteract()
+300,,Not yet.  Give me some time.  (Leave her.),,DialogLeave(),
+310,320,I won't be running away now.,That's for sure.  (She wraps a second rope around your legs.),"DialogEquipItem(""NylonRope"", ""ItemLegs"")",
+310,320,That's all?,Of course not.  (She wraps a second rope around your legs.),"DialogEquipItem(""NylonRope"", ""ItemLegs"")",
+320,330,It feels good.,"(She nods and wraps a third rope around your body and arms, forcing them stuck in your back.)","DialogEquipItem(""NylonRope"", ""ItemArms"")",
+320,330,You sure know the ropes.,"(She nods and wraps a third rope around your body and arms, forcing them stuck in your back.)","DialogEquipItem(""NylonRope"", ""ItemArms"")",
+330,340,It's too tight!,You'll get used to it.  Now do you think you can escape?,ChangeMaidOpinion(-1),
+330,340,That's the best you can do?,"You're very bold, I like it.  Now do you think you can escape?",ChangeMaidOpinion(1),
+330,340,This is pretty kinky.,Absolutely!  Now do you think you can escape?,,
+340,,,You're still struggling to get out?  Don't give up.,,!Player.CanInteract()
+340,,How do I escape?,Grab the rope on your arms and try to free yourself.  Good luck!,,!Player.CanInteract()
+340,,Get me out now!,You're not in control girl.  (She grabs your mouth and straps a cloth gag on you.),"DialogEquipItem(""SmallClothGag"", ""ItemMouth"")",!Player.CanInteract()
+340,,"Don't look, I will escape by myself.  (Leave her.)",,DialogLeave(),!Player.CanInteract()
+340,,,Well done!  You were able to struggle out.,,Player.CanInteract()
+340,350,That was easy.,I'll make it tighter next time.  Did you enjoy being tied up?,,Player.CanInteract()
+340,350,"It took a while, but I've did it.",That's great.  Did you enjoy being tied up?,,Player.CanInteract()
+350,360,"Sure, it was fun.",That's the spirit!  You're ready to explore the club then.,,
+350,360,"I loved it, I hope it will happen often.",That's the spirit!  You're ready to explore the club then.,ChangeMaidOpinion(-1),
+350,360,I would ratter strap you up.,"Not now, but you're ready to explore the club and do some bondage.",ChangeMaidOpinion(1),
+360,370,I'm sure it will be fun to explore the club.,"Oh yes, remember to be courteous and respect others.",SaveMaidOpinion(),HasBasicItems
+360,360,Can I have some items to start with?,"Sure, have these ropes and this gag.  (She gives you some ropes and a cloth gag.)",GetBasicItems(),!HasBasicItems
+370,,,You're ready to explore.  Remember to be courteous and respect others.,,
+370,,You were a great teacher.,Well thanks a lot.  You're a good student.,DialogRemove(),
+370,,Thanks!  Take care.  (Leave her.),,DialogLeave(),
+370,,Can I strap her up?,"Sure, my assistant here will be happy to help you practice.",,
+370,300,I want to practice freeing myself.,Again?  Well of course.  Are you ready to struggle now?,,
diff --git a/BondageClub/Screens/MaidQuarters/MaidQuarters.js b/BondageClub/Screens/MaidQuarters/MaidQuarters.js
new file mode 100644
index 0000000000..312c3248cf
--- /dev/null
+++ b/BondageClub/Screens/MaidQuarters/MaidQuarters.js
@@ -0,0 +1,25 @@
+var MaidQuartersBackground = "MaidQuarters";
+var MaidQuartersMaid = null;
+
+// Loads the maid quarters room
+function MaidQuartersLoad() {
+
+	// Creates two characters to begin with
+	MaidQuartersMaid = CharacterLoadNPC("NPC_MaidQuarters_Maid");
+	MaidQuartersMaid.AllowItem = false;
+
+}
+
+// Run the maid quarters, draw both characters
+function MaidQuartersRun() {
+	DrawCharacter(Player, 500, 0, 1);
+	DrawCharacter(MaidQuartersMaid, 1000, 0, 1);
+	if (Player.CanWalk()) DrawButton(1885, 25, 90, 90, "", "White", "Icons/Exit.png");
+}
+
+// When the user clicks in the maid quarters
+function MaidQuartersClick() {
+	if ((MouseX >= 500) && (MouseX < 1000) && (MouseY >= 0) && (MouseY < 1000)) CharacterSetCurrent(Player);
+	if ((MouseX >= 1000) && (MouseX < 1500) && (MouseY >= 0) && (MouseY < 1000)) CharacterSetCurrent(MaidQuartersMaid);
+	if ((MouseX >= 1885) && (MouseX < 1975) && (MouseY >= 25) && (MouseY < 115) && Player.CanWalk()) CommonSetScreen("MainHall");
+}
\ No newline at end of file
diff --git a/BondageClub/Screens/MaidQuarters/Text_MaidQuarters_EN.csv b/BondageClub/Screens/MaidQuarters/Text_MaidQuarters_EN.csv
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/BondageClub/Screens/MaidQuarters/Text_MaidQuarters_EN.csv
@@ -0,0 +1 @@
+
diff --git a/BondageClub/Screens/MainHall/Dialog_NPC_MainHall_Maid_EN.csv b/BondageClub/Screens/MainHall/Dialog_NPC_MainHall_Maid_EN.csv
new file mode 100644
index 0000000000..ec1796b022
--- /dev/null
+++ b/BondageClub/Screens/MainHall/Dialog_NPC_MainHall_Maid_EN.csv
@@ -0,0 +1,15 @@
+PlayerGagged,,,Do you need help?  Nod if you do.,
+AlreadyReleased,,,(DialogCharacterName comes to check on you again.)  You're in trouble again?  Do you need help?,
+LearnedLesson,,,Still in trouble are we?  Have you learned your lesson?  Nod if you did.,
+TeachLesson,,,It seems that you need to learn a lesson. (She grabs your arms and forces them in a armbinder.  She then gets a gag and silences you.),
+0,,,(A maid walks by and greets you.)  Are you trouble?  Do you need help?,
+0,,Who are you?,"I'm DialogCharacterName, I work here as a maid to help submissives in trouble.  Do you need help?",DialogRemove()
+0,10,(Nod yes.),(She releases you and smiles.)  Here you go!  Everything is ok now?,MaidReleasePlayer()
+0,10,"Yes, can you release me?",(She releases you and smiles.)  Here you go!  Everything is ok now?,MaidReleasePlayer()
+0,100,Get lost girl!,It seems that you need something to shut your foul mouth.  (She produces a gag and silences you.),MaidAngry()
+0,,"I'm fine, thanks. (Leave her.)","Pleased to meet you.  I'm DialogCharacterName, I work here as a maid.",DialogLeave()
+0,,(Shake your head no and leave her.),,DialogLeave()
+10,20,Thank you Miss.  I really appreciate.,"My pleasure, I'll be around if you need help again.","DialogChangeReputation(""Dominant"", -2)"
+10,20,"I owe you one, scream if you get in trouble.","(She giggles.)  Very well, I'll be around if you need help again.","DialogChangeReputation(""Dominant"", -1)"
+20,,Take care!  (Leave her.),,DialogLeave()
+100,,(Frown and leave her.),,DialogLeave()
diff --git a/BondageClub/Screens/MainHall/MainHall.js b/BondageClub/Screens/MainHall/MainHall.js
index 44af3b7430..932af98951 100644
--- a/BondageClub/Screens/MainHall/MainHall.js
+++ b/BondageClub/Screens/MainHall/MainHall.js
@@ -1,4 +1,13 @@
 var MainHallBackground = "MainHall";
+var MainHallNextEventTimer = null;
+var MainHallMaid = null;
+
+// Main hall loading
+function MainHallLoad() {
+	MainHallNextEventTimer = null;
+	MainHallMaid = CharacterLoadNPC("NPC_MainHall_Maid");
+	MainHallMaid.AllowItem = false;
+}
 
 // Run the main hall screen
 function MainHallRun() {
@@ -13,6 +22,17 @@ function MainHallRun() {
 		if (Player.CanWalk()) DrawButton(1765, 25, 90, 90, "", "White", "Icons/Shop.png");
 		DrawButton(1885, 25, 90, 90, "", "White", "Icons/Exit.png");
 		if (Player.CanWalk()) DrawButton(1525, 145, 450, 65, TextGet("IntroductionClass"), "White");
+		if (Player.CanWalk()) DrawButton(1525, 240, 450, 65, TextGet("MaidQuarters"), "White");
+		
+		// Check if there's a new maid rescue event to trigger
+		if ((!Player.CanInteract() || !Player.CanWalk() || !Player.CanTalk()) && (MainHallNextEventTimer == null)) MainHallNextEventTimer = ReputationTimer("Dominant", true);
+		if ((MainHallNextEventTimer != null) && (new Date().getTime() > MainHallNextEventTimer)) {
+			MainHallNextEventTimer = null;
+			if (!Player.CanInteract() || !Player.CanWalk() || !Player.CanTalk()) {
+				MainHallMaid.Stage = "0";
+				CharacterSetCurrent(MainHallMaid);
+			}
+		}
 
 	} else DrawText(TextGet("SyncWithServer"), 1000, 500, "White", "Black");
 
@@ -24,11 +44,33 @@ function MainHallClick() {
 	// We only allow clicks if the account queue is empty
 	if (AccountQueueIsEmpty()) {
 		if ((MouseX >= 750) && (MouseX < 1250) && (MouseY >= 0) && (MouseY < 1000)) CharacterSetCurrent(Player);
-		if ((MouseX >= 1575) && (MouseX < 1975) && (MouseY >= 145) && (MouseY < 210) && Player.CanWalk()) CommonSetScreen("Introduction");
 		if ((MouseX >= 1525) && (MouseX < 1615) && (MouseY >= 25) && (MouseY < 115)) { CharacterInformationSelection = Player; CommonSetScreen("CharacterInformation"); }
 		if ((MouseX >= 1645) && (MouseX < 1735) && (MouseY >= 25) && (MouseY < 115)) CommonSetScreen("CharacterAppearance");
 		if ((MouseX >= 1765) && (MouseX < 1855) && (MouseY >= 25) && (MouseY < 115) && Player.CanWalk()) CommonSetScreen("Shop");		  
 		if ((MouseX >= 1885) && (MouseX < 1975) && (MouseY >= 25) && (MouseY < 115)) CommonSetScreen("CharacterLogin");
+		if ((MouseX >= 1575) && (MouseX < 1975) && (MouseY >= 145) && (MouseY < 210) && Player.CanWalk()) CommonSetScreen("Introduction");
+		if ((MouseX >= 1575) && (MouseX < 1975) && (MouseY >= 240) && (MouseY < 315) && Player.CanWalk()) CommonSetScreen("MaidQuarters");
 	}
 
 }
+
+// The maid can release the player
+function MainHallMaidReleasePlayer() {
+	for(var D = 0; D < MainHallMaid.Dialog.length; D++)
+		if ((MainHallMaid.Dialog[D].Stage == "0") && (MainHallMaid.Dialog[D].Option == null))
+			MainHallMaid.Dialog[D].Result = DialogFind(MainHallMaid, "AlreadyReleased");
+	CharacterRelease(Player);
+}
+
+// If the maid is angry, she will gag the player
+function MainHallMaidAngry() {
+	for(var D = 0; D < MainHallMaid.Dialog.length; D++)
+		if ((MainHallMaid.Dialog[D].Stage == "PlayerGagged") && (MainHallMaid.Dialog[D].Option == null))
+			MainHallMaid.Dialog[D].Result = DialogFind(MainHallMaid, "LearnedLesson");
+	ReputationProgress("Dominant", 1);
+	CharacterWearRandomItem(Player, "ItemMouth");
+	if (Player.CanInteract()) {
+		CharacterWearItem(Player, "LeatherArmbinder", "ItemArms");
+		MainHallMaid.CurrentDialog = DialogFind(MainHallMaid, "TeachLesson");
+	}
+}
\ No newline at end of file
diff --git a/BondageClub/Screens/MainHall/Text_MainHall_EN.csv b/BondageClub/Screens/MainHall/Text_MainHall_EN.csv
index f9d1b6c85a..0f562e3b84 100644
--- a/BondageClub/Screens/MainHall/Text_MainHall_EN.csv
+++ b/BondageClub/Screens/MainHall/Text_MainHall_EN.csv
@@ -1,2 +1,3 @@
 IntroductionClass,Introduction Class
 SyncWithServer,"Synchronizing with server, please wait..."
+MaidQuarters,Maid Quarters
diff --git a/BondageClub/index.html b/BondageClub/index.html
index 179fe14964..d6ba1fa525 100644
--- a/BondageClub/index.html
+++ b/BondageClub/index.html
@@ -48,6 +48,7 @@
 <script src="Screens/Shop/Shop.js"></script>
 <script src="Screens/MainHall/MainHall.js"></script>
 <script src="Screens/Introduction/Introduction.js"></script>
+<script src="Screens/MaidQuarters/MaidQuarters.js"></script>
 <script>
 
 /*window.onerror = function (message, url, lineNo){
diff --git a/C000_Intro/ChapterSelect/Stage_CN.csv b/C000_Intro/ChapterSelect/Stage_CN.csv
index 9254a3a123..3ed0c41855 100644
--- a/C000_Intro/ChapterSelect/Stage_CN.csv
+++ b/C000_Intro/ChapterSelect/Stage_CN.csv
@@ -24,5 +24,5 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 30,0,0,,English,,0,0,0,"SetLanguage(""EN"")"
 30,0,0,,French (Chapter 1 to 9)|Made by gottspende,,0,0,0,"SetLanguage(""FR"")"
 30,0,0,,Chinese (Chapter 1 & 5)|By Dwscdv3 & asdcvbgf,,0,0,0,"SetLanguage(""CN"")"
-30,0,0,,Spanish (Chapter 1)|Made by Rafael R,,0,0,0,"SetLanguage(""ES"")"
+30,0,0,,Spanish (Chapter 1 & 2)|By Rafael R & tree13003,,0,0,0,"SetLanguage(""ES"")"
 30,0,0,,"German (Chapter 1 to 11)|adokilume, Knife, fleisch11",,0,0,0,"SetLanguage(""DE"")"
diff --git a/C000_Intro/ChapterSelect/Stage_DE.csv b/C000_Intro/ChapterSelect/Stage_DE.csv
index 34897efef0..f6fd332ed2 100644
--- a/C000_Intro/ChapterSelect/Stage_DE.csv
+++ b/C000_Intro/ChapterSelect/Stage_DE.csv
@@ -24,5 +24,5 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 30,0,0,,Englisch,,0,0,0,"SetLanguage(""EN"")"
 30,0,0,,Französich (Kapitel 1 bis 9)|Geschrieben von gottspende,,0,0,0,"SetLanguage(""FR"")"
 30,0,0,,Chinesisch (Kapitel 1 & 5)|Dwscdv3 & asdcvbgf,,0,0,0,"SetLanguage(""CN"")"
-30,0,0,,Spanisch (Kapitel 1)|Geschrieben von Rafael R,,0,0,0,"SetLanguage(""ES"")"
+30,0,0,,Spanisch (Kapitel 1 & 2)|Rafael R & tree13003,,0,0,0,"SetLanguage(""ES"")"
 30,0,0,,"Deutsch (Kapitel 1 bis 11)|adokilume, Knife, fleisch11",,0,0,0,"SetLanguage(""DE"")"
diff --git a/C000_Intro/ChapterSelect/Stage_EN.csv b/C000_Intro/ChapterSelect/Stage_EN.csv
index 104ddb2381..4e8cc406e4 100644
--- a/C000_Intro/ChapterSelect/Stage_EN.csv
+++ b/C000_Intro/ChapterSelect/Stage_EN.csv
@@ -24,5 +24,5 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 30,0,0,,English,,0,0,0,"SetLanguage(""EN"")"
 30,0,0,,French (Chapter 1 to 9)|Made by gottspende,,0,0,0,"SetLanguage(""FR"")"
 30,0,0,,Chinese (Chapter 1 & 5)|By Dwscdv3 & asdcvbgf,,0,0,0,"SetLanguage(""CN"")"
-30,0,0,,Spanish (Chapter 1)|Made by Rafael R,,0,0,0,"SetLanguage(""ES"")"
+30,0,0,,Spanish (Chapter 1 & 2)|Rafael R & tree13003,,0,0,0,"SetLanguage(""ES"")"
 30,0,0,,"German (Chapter 1 to 11)|adokilume, Knife, fleisch11",,0,0,0,"SetLanguage(""DE"")"
diff --git a/C000_Intro/ChapterSelect/Stage_ES.csv b/C000_Intro/ChapterSelect/Stage_ES.csv
index 62e3bc1a52..b17d3fc509 100644
--- a/C000_Intro/ChapterSelect/Stage_ES.csv
+++ b/C000_Intro/ChapterSelect/Stage_ES.csv
@@ -24,5 +24,5 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 30,0,0,,Inglés,,0,0,0,"SetLanguage(""EN"")"
 30,0,0,,Francés (Capítulos 1 a 9)|Autor gottspende,,0,0,0,"SetLanguage(""FR"")"
 30,0,0,,Chino (Capítulo 1 & 5)|Autor Dwscdv3 & asdcvbgf,,0,0,0,"SetLanguage(""CN"")"
-30,0,0,,Español (Capítulo 1)|Autor Rafael R.,,0,0,0,"SetLanguage(""ES"")"
+30,0,0,,Español (Capítulo 1 & 2)|Rafael R. & tree13003,,0,0,0,"SetLanguage(""ES"")"
 30,0,0,,"Alemán (Capítulo 1 a 11)|adokilume, Knife, fleisch11",,0,0,0,"SetLanguage(""DE"")"
diff --git a/C000_Intro/ChapterSelect/Stage_FR.csv b/C000_Intro/ChapterSelect/Stage_FR.csv
index 9cda5da9d0..65f1d32e49 100644
--- a/C000_Intro/ChapterSelect/Stage_FR.csv
+++ b/C000_Intro/ChapterSelect/Stage_FR.csv
@@ -24,5 +24,5 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 30,0,0,,Anglais,,0,0,0,"SetLanguage(""EN"")"
 30,0,0,,"Français (Chapitre 1 à 9)|Traduit par gottspende",,0,0,0,"SetLanguage(""FR"")"
 30,0,0,,Chinois (Chapitre 1 & 5)|Par Dwscdv3 et asdcvbgf,,0,0,0,"SetLanguage(""CN"")"
-30,0,0,,Espagnol (Chapitre 1)|Traduit par Rafael R,,0,0,0,"SetLanguage(""ES"")"
+30,0,0,,Espagnol (Chapitre 1 & 2)|Par Rafael et tree13003,,0,0,0,"SetLanguage(""ES"")"
 30,0,0,,"Allemand (Ch. 1 à 11)|adokilume, Knife, fleisch11",,0,0,0,"SetLanguage(""DE"")"
diff --git a/C000_Intro/ChapterSelect/Stage_PL.csv b/C000_Intro/ChapterSelect/Stage_PL.csv
index 4c88d88292..4a47324d5c 100644
--- a/C000_Intro/ChapterSelect/Stage_PL.csv
+++ b/C000_Intro/ChapterSelect/Stage_PL.csv
@@ -16,5 +16,5 @@ Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
 20,0,0,,Angielski,,0,0,0,"SetLanguage(""EN"")"
 20,0,0,,Francuski|Made by gottspende,,0,0,0,"SetLanguage(""FR"")"
 20,0,0,,Chi�ski|Dwscdv3 & asdcvbgf,,0,0,0,"SetLanguage(""CN"")"
-20,0,0,,Spanish (Chapter 1)|Made by Rafael R,,0,0,0,"SetLanguage(""ES"")"
+20,0,0,,Spanish (Chapter 1 & 2)|Rafael R & tree13003,,0,0,0,"SetLanguage(""ES"")"
 20,0,0,,"German (Chapter 1 to 11)|adokilume, Knife, fleisch11",,0,0,0,"SetLanguage(""DE"")"
diff --git a/C002_FirstClass/Mildred/Intro_ES.csv b/C002_FirstClass/Mildred/Intro_ES.csv
index 372de2b226..d36cb7d2f8 100644
--- a/C002_FirstClass/Mildred/Intro_ES.csv
+++ b/C002_FirstClass/Mildred/Intro_ES.csv
@@ -1,5 +1,5 @@
 Stage,LoveReq,SubReq,VarReq,IntroText,Image
-0,0,0,,Bienvenida a mi clase, jovencita.|Deberás dirijirte a mi como señora Mildred.,MildredIntro.jpg
+0,0,0,,"Bienvenida a mi clase, jovencita.|Deberás dirijirte a mi como señora Mildred.",MildredIntro.jpg
 10,0,0,,,MildredIntro.jpg
 20,0,0,,,MildredIntro.jpg
 30,0,0,,,MildredIntro.jpg
diff --git a/C002_FirstClass/Mildred/Stage_ESP.csv b/C002_FirstClass/Mildred/Stage_ES.csv
similarity index 99%
rename from C002_FirstClass/Mildred/Stage_ESP.csv
rename to C002_FirstClass/Mildred/Stage_ES.csv
index e3092d7226..c5a7a0c5e6 100644
--- a/C002_FirstClass/Mildred/Stage_ESP.csv
+++ b/C002_FirstClass/Mildred/Stage_ES.csv
@@ -1,71 +1,71 @@
-Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
-0,0,0,,Vale.,Esta bien.  Bienvenida a nuestra clase especial.  Te|aseguro que aprenderás un montón entre estas paredes.,10,0,0,
-0,0,0,,Si señora Mildred.,Muy bien.  Bienvenida a nuestra clase especial.  Te|aseguro que aprenderás un montón entre estas paredes.,10,1,-1,
-0,0,0,,(Mantenerse en silencio.),"Una calladita, bien.  Bienvenida a nuestra clase especial.  Te|aseguro que aprenderás un montón entre estas paredes.",10,0,0,
-0,0,0,,Esto es incómodo.,Me temo que voy a tener que enseñarte disciplina antes que matemáticas. Te|aseguro que aprenderás un montón entre estas paredes.,10,-1,1,
-10,0,0,,Espero aprender|un montón señora Mildred.,"Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,0,-1,
-10,0,0,,Entonces enséñame, por favor.,"Lo haré. Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,0,0,
-10,0,0,,Creo que me va a |gustar estar aquí.,"Te aseguro que lo harás.   ,Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,1,0,
-10,0,0,,Creo que tu clase|será muy informativa.,"Lo será.  Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,0,1,
-10,0,0,,(Bosteza.),"Estudiante, Si deseas ser toda una señorita,|debes concentrarte y seguir las reglas.",20,-1,0,
-10,0,0,,(Cabezea lentamente.),"Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,0,-1,
-20,0,0,,¿Una señorita?|¿Es una broma?,No estoy bromeando señorita.  Hoy estudiaremos|ecuaciones derivadas.  Espero que tengáis los libros.,30,-1,1,
-20,0,0,,¿Una señorita?|Está bien.,(Te sonríe.)   Hoy estudiaremos|ecuaciones derivadas.  Espero que tengáis los libros.,30,1,0,
-20,0,0,,(Inclina tu cabeza|y asiente lentamente.),(Te sonríe.)  Hoy estudiaremos|ecuaciones derivadas.  Espero que tengáis los libros.,30,0,-1,
-30,0,0,,Si señora Mildred.|He venido para aprender.,Muy bien.  Ahora abrid vuestros libros en la|página 147 y revisad las fórmulas.,40,1,-1,
-30,0,0,,¿Derivadas?|¿Qué coño?,(Golpea tu escritorio con la vara.) Vigila tu lenguaje|y abre tu libro en la página 147.,40,-1,0,
-30,0,0,,¿Derivadas?|Odio las mates.,(Golpea tu escritorio con la vara.) Vigila tu lenguaje|y abre tu libro en la página 147.,40,1,0,
-30,0,0,,¿Derivadas?|Parece complicado.,Empezemos entonces.  Ahora abrid vuestros libros en la|página 147 y revisad las fórmulas.,40,0,0,
-40,0,0,,(Mantenerse callada y|abrir el libro.),Bien. Ahora estate callada mientras enseño.|(Vuelve a su pupitre y empieza a enseñar.),50,0,0,
-40,0,0,,(Mira al reloj|de la pared.),(Te mira fijamente y|vuelve a su escritorio para empezar la explicación.),50,-1,0,
-40,0,0,,si señora Mildred.|(Abre el libro.),Muy bien.   Ahora estate callada mientras enseño.|(vuelve a su escritorio y empieza la explicación.),50,0,-1,
-40,0,0,,"Si, suficiente cháchara.|(Abre el libro.)",Good! Ahora estate callada mientras enseño.|(vuelve a su escritorio y empieza la explicación.),50,0,1,
-100,0,0,,Señora Mildred! ¿Qué estas|haciendo?,Enseñarte una lección jovencita.|(Te acomete con su vara.),110,0,0,
-100,0,0,,¿Qué coño?,Yo no tolero esa clase de lenguaje.|(Te golpea fuerte con su vara.),110,-1,0,
-100,0,0,,!Hey!  No puedes|hacer eso.,"Por supuesto que puedo, no tienes ni idea de donde estás.|(Te acomete con su vara.)",110,0,0,
-100,0,0,,(Intentar darle una patada.),"Así que eres una jovencita agresiva, esto te enseñará.|(Te golpea fuerte con su vara.)",110,-1,1,
-110,0,0,,!Mierda!  !Eso duele!,!Idiota!|(She hits you really hard.),120,-1,0,
-110,0,0,,!Ah!  señora Mildred.|Por favor para.,Pararé cuando hayas aprendido la lección.|(Te acomete otra vez y sonríe.),120,1,0,
-110,0,0,,"(Te Mantienes callada, fingiendo que|no te importa.)","Eres fuerte, pero eso no te servirá de nada.|(Te golpea fuerte otra vez.)",
-120,0,1,,0,0,,!Ja!  ¿Eso es lo|mejor que puedes hacer?,"Que mala educación, Pero eso va a cambiar.|(Te golpea fuerte otra vez.)",120,-1,1,
-110,0,0,,(Te mantienes callada |y tratando de no gritar.),Ya vas aprendiendo señorita .|(Te golpea otra vez, pero no tan fuerte.),120,0,0,
-120,0,0,,!Por favor señora!|Me portaré bien.,(Te golpea ligeramente una vez más.)|¿Así que vas a ser buena y a seguir las reglas?,130,1,-1,
-120,0,0,,Señora Mildred.|He aprendido la lección.,(Te golpea ligeramente una vez más.)|¿Así que vas a ser buena y a seguir las reglas?,130,1,0,
-120,0,0,,¿Crees que puedes|hacerme daño?,"(Te golpea fuertemente una vez más.)|Última advertencia, ¿vas a ser buena y a seguir las reglas?",130,0,0,
-120,0,0,,!Que te jodan,Puta!,"(Te golpea muy fuertemente una vez más.)|Última advertencia, ¿vas a ser buena y a seguir las reglas?",130,-1,1,
-130,0,0,,Sí señora Mildren.|Por favor perdóneme.,Te perdono.  Ahora podemos seguir con la clase.,50,2,-1,
-130,0,0,,"Si seré buena,.",Bien.   Ahora podemos seguir con la clase.,50,1,0,
-130,0,0,,!Jamás!  Sigo mis |propias reglas.,"(Encadena tu muñeca y te amordaza con una ballgag.)|Si no sabes comportarte, te pasarás la clase así.",50,0,0,RestrainPlayer()
-130,0,0,,(Negarse a responder.),"(Encadena tu muñeca y te amordaza con una ballgag.)|Ya que no quieres hablar, me aseguraré de que no lo hagas.",50,0,-1,RestrainPlayer()
-200,0,0,Common_PlayerNotRestrained,(Hablar para llamar |Su atención.),,200,-1,0,Disturb()
-200,0,0,Common_PlayerNotRestrained,(Intentar dominar a|la señora Mildred.),¿Quieres tratar de dominar a la señora Mildred?|(Cada estudiante que ayude mejora las posibilidades.),210,0,0,
-200,0,0,Common_PlayerRestrained,Uummph!,(Ignora tus gemidos|algunos estudiantes se ríen.),200,0,0,
-200,0,0,Common_PlayerRestrained,(Forcejear en tus esposas.)ADD_MINUTES:1,(Forcejeas sin resultados.  Confía|en que no vas a escapar y te ignora.),200,0,0,
-210,0,0,Common_PlayerNotRestrained,"(Sí, intentar|dominarla.)",,210,-2,0,Subdue()
-210,0,0,,"(No, Quizás mas tarde.)",Te rindes en tu plan de dominarla.|(La señora Mildred continua dando su clase.),200,0,0,
-220,0,0,,¿Una lección,|tu?  ¡jamás!,"(Te golpea fuertemente 6 veces, para despues esposarte y amordazarte.)|Si no sabes comportarte, te quedaras un rato así.",220,0,1,RestrainPlayer()
-220,0,0,,!Que te jodan,Puta!,"(Te golpea fuertemente 10 veces, para despues esposarte y amordazarte.)|Si no sabes comportarte, te quedaras un rato así.",220,-1,0,RestrainPlayer()
-220,0,0,,¡No!  ¡Por favor!|Lo siento mucho.,"(Te golpea fuertemente 2 veces, para despues esposarte y amordazarte.)|Demasiado tarde para excusas, te quedaras un rato así.",220,0,-1,RestrainPlayer()
-220,0,0,,(Mantenerse callada.),"(Te golpea fuertemente 4 veces, para despues esposarte y amordazarte.)|Si no sabes comportarte, te quedaras un rato así",220,0,0,RestrainPlayer()
-300,0,0,,"Mildred, Yo|estoy al cargo ahota.",¿Al cargo?  Pero yo enseño la clase.|Estás en un buen lío Señorita.,310,0,1,
-300,0,0,,"Señora, Esta clase al fin|va a ser interesante.",¡No tiene sentido!  Estoy al cargo de esta clase.|Estás en un buen lío Señorita.,310,0,0,
-300,0,0,,"Si cooperas, se|acabará mas rápido.",(Asiente y se mantiene callada.),310,0,1,
-300,0,0,,No esperaba que fueras|tan guapa.,"(Se sonroja.) Jovencita,|¿Qué estás tramando?",310,1,0,
-310,0,0,Common_PlayerNotRestrained,(Intenta esquivar tus cosquillas y se ríe fuertementer.)ADD_MINUTES:1,(Intenta esquivar tus cosquillas y se ríe fuertemente.)|¡Solo te estas metiendo cada vez mas en problemas!,310,0,0,
-310,0,0,SearchAvail,(Buscar en sus cosas.)ADD_MINUTES:1,(Buscas en sus cosas y |encuentras objetos interesantes.) ¡Pequeña ladrona!,310,-1,0,Search()
-320,0,0,Common_PlayerNotRestrained,(Intenta esquivar tus cosquillas y se ríe fuertemente.)ADD_MINUTES:1,(Intenta esquivar tus cosquillas y se ríe fuertemente.),320,0,0,
-320,0,0,Common_PlayerNotRestrained,(Quitar su mordaza.)ADD_MINUTES:1,(Quitas su mordaza lentamente.)|¡Jovencita!  Esto es muy inapropiado.,310,0,0,Ungag()
-330,0,0,Common_PlayerNotRestrained,(Hacerla cosquillas.)ADD_MINUTES:1,(Intenta esquivar tus cosquillas y se ríe suavemente.)|¡Solo te estas metiendo cada vez mas en problemas!,330,0,0,
-330,0,0,SearchAvail,(Buscar en sus cosas.)ADD_MINUTES:1,(Buscas en sus cosas y |encuentras objetos interesantes.)  ¡Pequeña ladrona!,330,-1,0,Search()
-340,0,0,Common_PlayerNotRestrained,(Hacerla cosquillas.)ADD_MINUTES:1,(Intenta esquivar tus cosquillas y se ríe suavemente.),340,0,0,
-340,0,0,Common_PlayerNotRestrained,(Quitar su mordaza.)ADD_MINUTES:1,(Quitas su mordaza lentamente.)|¡Jovencita!  Esto es muy inapropiado.,330,0,0,Ungag()
-410,0,0,Common_PlayerNotRestrained,(Azotarla.)ADD_MINUTES:1,(La azotas con fuerza con la vara.)|¡señorita! ¡Te arrepentirás de lo que estas haciendo!,410,0,0,Whip()
-410,0,0,Common_PlayerNotRestrained,(Alejar la vara.)ADD_MINUTES:1,(Alejas la vara y|la colocas a sus pies.),310,0,0,
-420,0,0,Common_PlayerNotRestrained,(Azotarla.)ADD_MINUTES:1,(La azotas con fuerza con la vara.)|(Grita enfadada a través de su mordaza.),420,0,0,Whip()
-420,0,0,Common_PlayerNotRestrained,(Alejar la vara.)ADD_MINUTES:1,(Alejas la vara y|la colocas a sus pies.),320,0,0,
-420,0,0,Common_PlayerNotRestrained,(Quitar su mordaza.)ADD_MINUTES:1,(Quitas su mordaza lentamente.)|¡Jovencita!  Esto es muy inapropiado.,410,0,0,Ungag()
-430,0,0,Common_PlayerNotRestrained,(Azotarla.)ADD_MINUTES:1,(La azotas con fuerza con la vara.)|¡Señorita!  ¡Te arrepentirás de lo que estas haciendo!,430,0,0,Whip()
-430,0,0,Common_PlayerNotRestrained,(Alejar la vara.)ADD_MINUTES:1,(Alejas la vara y|la colocas a sus pies.),330,0,0,
-440,0,0,Common_PlayerNotRestrained,(Azotarla.)ADD_MINUTES:1,(La azotas con fuerza con la vara.)|(Grita enfadada a través de su mordaza),440,0,0,Whip()
-440,0,0,Common_PlayerNotRestrained,(Alejar la vara.)ADD_MINUTES:1,(Alejas la vara y|la colocas a sus pies.),340,0,0,
-440,0,0,Common_PlayerNotRestrained,(Quitar su mordaza.)ADD_MINUTES:1,(Quitas su mordaza lentamente.)|¡Jovencita!  Esto es muy inapropiado.,430,0,0,Ungag()
+Stage,LoveReq,SubReq,VarReq,Interaction,Result,NextStage,LoveMod,SubMod,Function
+0,0,0,,Vale.,Esta bien.  Bienvenida a nuestra clase especial.  Te|aseguro que aprenderás un montón entre estas paredes.,10,0,0,
+0,0,0,,Si señora Mildred.,Muy bien.  Bienvenida a nuestra clase especial.  Te|aseguro que aprenderás un montón entre estas paredes.,10,1,-1,
+0,0,0,,(Mantenerse en silencio.),"Una calladita, bien.  Bienvenida a nuestra clase especial.  Te|aseguro que aprenderás un montón entre estas paredes.",10,0,0,
+0,0,0,,Esto es incómodo.,Me temo que voy a tener que enseñarte disciplina antes que matemáticas. Te|aseguro que aprenderás un montón entre estas paredes.,10,-1,1,
+10,0,0,,Espero aprender|un montón señora Mildred.,"Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,0,-1,
+10,0,0,,Entonces enséñame, por favor.,"Lo haré. Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,0,0,
+10,0,0,,Creo que me va a |gustar estar aquí.,"Te aseguro que lo harás.   ,Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,1,0,
+10,0,0,,Creo que tu clase|será muy informativa.,"Lo será.  Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,0,1,
+10,0,0,,(Bosteza.),"Estudiante, Si deseas ser toda una señorita,|debes concentrarte y seguir las reglas.",20,-1,0,
+10,0,0,,(Cabezea lentamente.),"Si sigues las reglas de la academia,|te convertirás en toda una señorita.",20,0,-1,
+20,0,0,,¿Una señorita?|¿Es una broma?,No estoy bromeando señorita.  Hoy estudiaremos|ecuaciones derivadas.  Espero que tengáis los libros.,30,-1,1,
+20,0,0,,¿Una señorita?|Está bien.,(Te sonríe.)   Hoy estudiaremos|ecuaciones derivadas.  Espero que tengáis los libros.,30,1,0,
+20,0,0,,(Inclina tu cabeza|y asiente lentamente.),(Te sonríe.)  Hoy estudiaremos|ecuaciones derivadas.  Espero que tengáis los libros.,30,0,-1,
+30,0,0,,Si señora Mildred.|He venido para aprender.,Muy bien.  Ahora abrid vuestros libros en la|página 147 y revisad las fórmulas.,40,1,-1,
+30,0,0,,¿Derivadas?|¿Qué coño?,(Golpea tu escritorio con la vara.) Vigila tu lenguaje|y abre tu libro en la página 147.,40,-1,0,
+30,0,0,,¿Derivadas?|Odio las mates.,(Golpea tu escritorio con la vara.) Vigila tu lenguaje|y abre tu libro en la página 147.,40,1,0,
+30,0,0,,¿Derivadas?|Parece complicado.,Empezemos entonces.  Ahora abrid vuestros libros en la|página 147 y revisad las fórmulas.,40,0,0,
+40,0,0,,(Mantenerse callada y|abrir el libro.),Bien. Ahora estate callada mientras enseño.|(Vuelve a su pupitre y empieza a enseñar.),50,0,0,
+40,0,0,,(Mira al reloj|de la pared.),(Te mira fijamente y|vuelve a su escritorio para empezar la explicación.),50,-1,0,
+40,0,0,,si señora Mildred.|(Abre el libro.),Muy bien.   Ahora estate callada mientras enseño.|(vuelve a su escritorio y empieza la explicación.),50,0,-1,
+40,0,0,,"Si, suficiente cháchara.|(Abre el libro.)",Good! Ahora estate callada mientras enseño.|(vuelve a su escritorio y empieza la explicación.),50,0,1,
+100,0,0,,Señora Mildred! ¿Qué estas|haciendo?,Enseñarte una lección jovencita.|(Te acomete con su vara.),110,0,0,
+100,0,0,,¿Qué coño?,Yo no tolero esa clase de lenguaje.|(Te golpea fuerte con su vara.),110,-1,0,
+100,0,0,,!Hey!  No puedes|hacer eso.,"Por supuesto que puedo, no tienes ni idea de donde estás.|(Te acomete con su vara.)",110,0,0,
+100,0,0,,(Intentar darle una patada.),"Así que eres una jovencita agresiva, esto te enseñará.|(Te golpea fuerte con su vara.)",110,-1,1,
+110,0,0,,!Mierda!  !Eso duele!,!Idiota!|(She hits you really hard.),120,-1,0,
+110,0,0,,!Ah!  señora Mildred.|Por favor para.,Pararé cuando hayas aprendido la lección.|(Te acomete otra vez y sonríe.),120,1,0,
+110,0,0,,"(Te Mantienes callada, fingiendo que|no te importa.)","Eres fuerte, pero eso no te servirá de nada.|(Te golpea fuerte otra vez.)",
+120,0,1,,0,0,,!Ja!  ¿Eso es lo|mejor que puedes hacer?,"Que mala educación, Pero eso va a cambiar.|(Te golpea fuerte otra vez.)",120,-1,1,
+110,0,0,,(Te mantienes callada |y tratando de no gritar.),Ya vas aprendiendo señorita .|(Te golpea otra vez, pero no tan fuerte.),120,0,0,
+120,0,0,,!Por favor señora!|Me portaré bien.,(Te golpea ligeramente una vez más.)|¿Así que vas a ser buena y a seguir las reglas?,130,1,-1,
+120,0,0,,Señora Mildred.|He aprendido la lección.,(Te golpea ligeramente una vez más.)|¿Así que vas a ser buena y a seguir las reglas?,130,1,0,
+120,0,0,,¿Crees que puedes|hacerme daño?,"(Te golpea fuertemente una vez más.)|Última advertencia, ¿vas a ser buena y a seguir las reglas?",130,0,0,
+120,0,0,,!Que te jodan,Puta!,"(Te golpea muy fuertemente una vez más.)|Última advertencia, ¿vas a ser buena y a seguir las reglas?",130,-1,1,
+130,0,0,,Sí señora Mildren.|Por favor perdóneme.,Te perdono.  Ahora podemos seguir con la clase.,50,2,-1,
+130,0,0,,"Si seré buena,.",Bien.   Ahora podemos seguir con la clase.,50,1,0,
+130,0,0,,!Jamás!  Sigo mis |propias reglas.,"(Encadena tu muñeca y te amordaza con una ballgag.)|Si no sabes comportarte, te pasarás la clase así.",50,0,0,RestrainPlayer()
+130,0,0,,(Negarse a responder.),"(Encadena tu muñeca y te amordaza con una ballgag.)|Ya que no quieres hablar, me aseguraré de que no lo hagas.",50,0,-1,RestrainPlayer()
+200,0,0,Common_PlayerNotRestrained,(Hablar para llamar |Su atención.),,200,-1,0,Disturb()
+200,0,0,Common_PlayerNotRestrained,(Intentar dominar a|la señora Mildred.),¿Quieres tratar de dominar a la señora Mildred?|(Cada estudiante que ayude mejora las posibilidades.),210,0,0,
+200,0,0,Common_PlayerRestrained,Uummph!,(Ignora tus gemidos|algunos estudiantes se ríen.),200,0,0,
+200,0,0,Common_PlayerRestrained,(Forcejear en tus esposas.)ADD_MINUTES:1,(Forcejeas sin resultados.  Confía|en que no vas a escapar y te ignora.),200,0,0,
+210,0,0,Common_PlayerNotRestrained,"(Sí, intentar|dominarla.)",,210,-2,0,Subdue()
+210,0,0,,"(No, Quizás mas tarde.)",Te rindes en tu plan de dominarla.|(La señora Mildred continua dando su clase.),200,0,0,
+220,0,0,,¿Una lección,|tu?  ¡jamás!,"(Te golpea fuertemente 6 veces, para despues esposarte y amordazarte.)|Si no sabes comportarte, te quedaras un rato así.",220,0,1,RestrainPlayer()
+220,0,0,,!Que te jodan,Puta!,"(Te golpea fuertemente 10 veces, para despues esposarte y amordazarte.)|Si no sabes comportarte, te quedaras un rato así.",220,-1,0,RestrainPlayer()
+220,0,0,,¡No!  ¡Por favor!|Lo siento mucho.,"(Te golpea fuertemente 2 veces, para despues esposarte y amordazarte.)|Demasiado tarde para excusas, te quedaras un rato así.",220,0,-1,RestrainPlayer()
+220,0,0,,(Mantenerse callada.),"(Te golpea fuertemente 4 veces, para despues esposarte y amordazarte.)|Si no sabes comportarte, te quedaras un rato así",220,0,0,RestrainPlayer()
+300,0,0,,"Mildred, Yo|estoy al cargo ahota.",¿Al cargo?  Pero yo enseño la clase.|Estás en un buen lío Señorita.,310,0,1,
+300,0,0,,"Señora, Esta clase al fin|va a ser interesante.",¡No tiene sentido!  Estoy al cargo de esta clase.|Estás en un buen lío Señorita.,310,0,0,
+300,0,0,,"Si cooperas, se|acabará mas rápido.",(Asiente y se mantiene callada.),310,0,1,
+300,0,0,,No esperaba que fueras|tan guapa.,"(Se sonroja.) Jovencita,|¿Qué estás tramando?",310,1,0,
+310,0,0,Common_PlayerNotRestrained,(Intenta esquivar tus cosquillas y se ríe fuertementer.)ADD_MINUTES:1,(Intenta esquivar tus cosquillas y se ríe fuertemente.)|¡Solo te estas metiendo cada vez mas en problemas!,310,0,0,
+310,0,0,SearchAvail,(Buscar en sus cosas.)ADD_MINUTES:1,(Buscas en sus cosas y |encuentras objetos interesantes.) ¡Pequeña ladrona!,310,-1,0,Search()
+320,0,0,Common_PlayerNotRestrained,(Intenta esquivar tus cosquillas y se ríe fuertemente.)ADD_MINUTES:1,(Intenta esquivar tus cosquillas y se ríe fuertemente.),320,0,0,
+320,0,0,Common_PlayerNotRestrained,(Quitar su mordaza.)ADD_MINUTES:1,(Quitas su mordaza lentamente.)|¡Jovencita!  Esto es muy inapropiado.,310,0,0,Ungag()
+330,0,0,Common_PlayerNotRestrained,(Hacerla cosquillas.)ADD_MINUTES:1,(Intenta esquivar tus cosquillas y se ríe suavemente.)|¡Solo te estas metiendo cada vez mas en problemas!,330,0,0,
+330,0,0,SearchAvail,(Buscar en sus cosas.)ADD_MINUTES:1,(Buscas en sus cosas y |encuentras objetos interesantes.)  ¡Pequeña ladrona!,330,-1,0,Search()
+340,0,0,Common_PlayerNotRestrained,(Hacerla cosquillas.)ADD_MINUTES:1,(Intenta esquivar tus cosquillas y se ríe suavemente.),340,0,0,
+340,0,0,Common_PlayerNotRestrained,(Quitar su mordaza.)ADD_MINUTES:1,(Quitas su mordaza lentamente.)|¡Jovencita!  Esto es muy inapropiado.,330,0,0,Ungag()
+410,0,0,Common_PlayerNotRestrained,(Azotarla.)ADD_MINUTES:1,(La azotas con fuerza con la vara.)|¡señorita! ¡Te arrepentirás de lo que estas haciendo!,410,0,0,Whip()
+410,0,0,Common_PlayerNotRestrained,(Alejar la vara.)ADD_MINUTES:1,(Alejas la vara y|la colocas a sus pies.),310,0,0,
+420,0,0,Common_PlayerNotRestrained,(Azotarla.)ADD_MINUTES:1,(La azotas con fuerza con la vara.)|(Grita enfadada a través de su mordaza.),420,0,0,Whip()
+420,0,0,Common_PlayerNotRestrained,(Alejar la vara.)ADD_MINUTES:1,(Alejas la vara y|la colocas a sus pies.),320,0,0,
+420,0,0,Common_PlayerNotRestrained,(Quitar su mordaza.)ADD_MINUTES:1,(Quitas su mordaza lentamente.)|¡Jovencita!  Esto es muy inapropiado.,410,0,0,Ungag()
+430,0,0,Common_PlayerNotRestrained,(Azotarla.)ADD_MINUTES:1,(La azotas con fuerza con la vara.)|¡Señorita!  ¡Te arrepentirás de lo que estas haciendo!,430,0,0,Whip()
+430,0,0,Common_PlayerNotRestrained,(Alejar la vara.)ADD_MINUTES:1,(Alejas la vara y|la colocas a sus pies.),330,0,0,
+440,0,0,Common_PlayerNotRestrained,(Azotarla.)ADD_MINUTES:1,(La azotas con fuerza con la vara.)|(Grita enfadada a través de su mordaza),440,0,0,Whip()
+440,0,0,Common_PlayerNotRestrained,(Alejar la vara.)ADD_MINUTES:1,(Alejas la vara y|la colocas a sus pies.),340,0,0,
+440,0,0,Common_PlayerNotRestrained,(Quitar su mordaza.)ADD_MINUTES:1,(Quitas su mordaza lentamente.)|¡Jovencita!  Esto es muy inapropiado.,430,0,0,Ungag()
diff --git a/Common.js b/Common.js
index 66d2007f7a..bed4e7f377 100644
--- a/Common.js
+++ b/Common.js
@@ -182,7 +182,7 @@ function GetWorkingLanguage() {
 	if ((CurrentLanguageTag == "FR") && ((CurrentChapter == "C000_Intro") || (CurrentChapter == "C001_BeforeClass") || (CurrentChapter == "C002_FirstClass") || (CurrentChapter == "C003_MorningDetention") || (CurrentChapter == "C004_ArtClass") || (CurrentChapter == "C005_GymClass") || (CurrentChapter == "C006_Isolation") || (CurrentChapter == "C007_LunchBreak") || (CurrentChapter == "C008_DramaClass") || (CurrentChapter == "C009_Library") || (CurrentChapter == "C999_Common"))) return "FR";
 	if ((CurrentLanguageTag == "DE") && ((CurrentChapter == "C000_Intro") || (CurrentChapter == "C001_BeforeClass") || (CurrentChapter == "C002_FirstClass") || (CurrentChapter == "C003_MorningDetention") || (CurrentChapter == "C004_ArtClass") || (CurrentChapter == "C005_GymClass") || (CurrentChapter == "C006_Isolation") || (CurrentChapter == "C007_LunchBreak") || (CurrentChapter == "C008_DramaClass") || (CurrentChapter == "C009_Library") || (CurrentChapter == "C010_Revenge") || (CurrentChapter == "C011_LiteratureClass") || (CurrentChapter == "C999_Common"))) return "DE";
 	if ((CurrentLanguageTag == "PL") && ((CurrentChapter == "C000_Intro"))) return "PL";
-	if ((CurrentLanguageTag == "ES") && ((CurrentChapter == "C000_Intro") || (CurrentChapter == "C001_BeforeClass"))) return "ES";
+	if ((CurrentLanguageTag == "ES") && ((CurrentChapter == "C000_Intro") || (CurrentChapter == "C001_BeforeClass") || (CurrentChapter == "C002_FirstClass"))) return "ES";
 	if ((CurrentLanguageTag == "CN") && ((CurrentChapter == "C000_Intro") || (CurrentChapter == "C001_BeforeClass") || (CurrentChapter == "C005_GymClass") || (CurrentChapter == "C999_Common"))) return "CN";
 	return "EN";
     //return CurrentLanguageTag;