diff --git a/game/03-JavaScript/base.js b/game/03-JavaScript/base.js
index 087ddb5b1f9b402ef859d6dba703f6495c5fa7be..0026517fec3fd8c9b4e403698107d22386a39e59 100644
--- a/game/03-JavaScript/base.js
+++ b/game/03-JavaScript/base.js
@@ -307,6 +307,11 @@ function genitalsintegrity() {
 }
 DefineMacroS("genitalsintegrity", genitalsintegrity);
 
+function faceintegrity() {
+	return integrityWord(V.worn.face,'face');
+}
+DefineMacroS("faceintegrity", faceintegrity);
+
 /**
  * @param worn clothing article, State.variables.worn.XXXX
  * @return {string} printable clothing colour
diff --git a/game/base-clothing/captiontext.twee b/game/base-clothing/captiontext.twee
index c4ad6fc133bc0b4c78944ed6dd545e7513825d3d..afae572f2cc95eba3451d2ff2bc4ef99149a64ba 100644
--- a/game/base-clothing/captiontext.twee
+++ b/game/base-clothing/captiontext.twee
@@ -151,7 +151,7 @@
 <</widget>>
 
 <<widget "clothingCaptionTextMask">>
-	<<if $worn.face.type.includes("mask")>><br>Your identity is concealed by your $worn.face.name.<</if>>
+	<<if $worn.face.type.includes("mask")>><br>Your identity is concealed by your <<faceintegrity>> $worn.face.name.<</if>>
 <</widget>>
 
 <<widget "clothingCaptionTextNothing">><<silently>>
diff --git a/game/base-system/cheats.twee b/game/base-system/cheats.twee
index 8f01c349b27186e059166d397d482d055e61f8d0..196bfc50dbd65cd7b4cffea85794c9a2d7ed930a 100644
--- a/game/base-system/cheats.twee
+++ b/game/base-system/cheats.twee
@@ -721,6 +721,20 @@ Milk volume: <span id="statsmilk_volume"><<print Math.trunc($milk_volume)>></spa
 	<br>
 <</if>>
 
+<<if $worn.face.integrity gte 1>>
+	<<link "<<<">><<set $worn.face.integrity -= 100>><<clamp>><<replace "#statsfaceintegrity">><<print Math.trunc($worn.face.integrity)>><</replace>> <<updatesidebarimg>><</link>> |
+	<<link "<<">><<set $worn.face.integrity -= 10>><<clamp>><<replace "#statsfaceintegrity">><<print Math.trunc($worn.face.integrity)>><</replace>> <<updatesidebarimg>><</link>> |
+	<<link "<">><<set $worn.face.integrity -= 1>><<clamp>><<replace "#statsfaceintegrity">><<print Math.trunc($worn.face.integrity)>><</replace>> <<updatesidebarimg>><</link>> |
+	Mask integrity: <span id="statsfaceintegrity"><<print Math.trunc($worn.face.integrity)>></span>
+	| <<link ">">><<set $worn.face.integrity += 1>><<clamp>><<replace "#statsfaceintegrity">><<print Math.trunc($worn.face.integrity)>><</replace>> <<updatesidebarimg>><</link>>
+	| <<link ">>">><<set $worn.face.integrity += 10>><<clamp>><<replace "#statsfaceintegrity">><<print Math.trunc($worn.face.integrity)>><</replace>> <<updatesidebarimg>><</link>>
+	| <<link ">>>">><<set $worn.face.integrity += 100>><<clamp>><<replace "#statsfaceintegrity">><<print Math.trunc($worn.face.integrity)>><</replace>> <<updatesidebarimg>><</link>> (<<print clothingData('face',$worn.face,'integrity_max')>> is default maximum)
+	<br>
+<<else>>
+	<i>You are not wearing a mask.</i>
+	<br>
+<</if>>
+
 <br>
 
 <u>Skills</u>