From 93e8d86577e9dbaa39845ce29d9c873a85f04a30 Mon Sep 17 00:00:00 2001
From: ezsh <ezsh.junk@gmail.com>
Date: Tue, 31 May 2022 15:44:39 +0200
Subject: [PATCH] RA: add test for slave title

---
 js/rulesAssistant/conditionEvaluation.js |  7 +++++++
 src/js/utilsSlave.js                     | 10 ++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/js/rulesAssistant/conditionEvaluation.js b/js/rulesAssistant/conditionEvaluation.js
index 197e137736b..66f423c03cc 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 38f5ca555e7..e99c9c32cbd 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) {
-- 
GitLab