diff --git a/js/rulesAssistant/conditionEvaluation.js b/js/rulesAssistant/conditionEvaluation.js
index 197e137736b03a4fd2883fb44adbac622b28545a..66f423c03cc57aa4aaaddae87759c228cdd7688f 100644
--- a/js/rulesAssistant/conditionEvaluation.js
+++ b/js/rulesAssistant/conditionEvaluation.js
@@ -671,6 +671,13 @@ App.RA.Activation.populateGetters = function() {
 			"'pregnancy', 'none' (AKA vanilla)",
 		val: c => c.slave.fetish
 	});
+	gm.addString("title", {
+		name: "Title",
+		description: "Slave title (class) without adjectives (slavegirl, MILF, bimbo, shemale, herm, etc.). ",
+		requirements: "The alternate titles game option is enabled",
+		enabled: () => V.newDescriptions === 1,
+		val: c => SlaveTitle(c.slave, false, false)
+	});
 };
 
 /**
diff --git a/src/js/utilsSlave.js b/src/js/utilsSlave.js
index 38f5ca555e72cc8981200b9afaa5b885ad3463c8..e99c9c32cbdf351467137e6631fae0a86ce00f7b 100644
--- a/src/js/utilsSlave.js
+++ b/src/js/utilsSlave.js
@@ -2169,13 +2169,15 @@ globalThis.PoliteRudeTitle = function(slave) {
 
 /**
  * @param {App.Entity.SlaveState} slave
+ * @param {boolean} [adjective=true] Add adjectives
+ * @param {boolean} [variability=true] Use alternative titles
  * @returns {string}
  */
-globalThis.SlaveTitle = function(slave) {
+globalThis.SlaveTitle = function(slave, adjective = true, variability = true) {
 	let r;
 	if (V.newDescriptions === 1) {
 		if (slave.dick > 0 && slave.balls > 0 && slave.boobs > 300 && slave.vagina > -1 && slave.ovaries === 1) {
-			if (jsRandom(1, 100) > 50) {
+			if (variability && jsRandom(1, 100) > 50) {
 				r = "futanari";
 			} else {
 				r = "herm";
@@ -2236,6 +2238,10 @@ globalThis.SlaveTitle = function(slave) {
 			r = "slave";
 		}
 
+		if (!adjective) {
+			return r;
+		}
+
 		if (slave.visualAge < 13) {
 			if (slave.actualAge < 3) {
 				if (slave.actualAge < 1) {