From 396dede5d5faeb8627f0fd136bef8d24d408bd8e Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Sun, 4 Oct 2020 13:50:32 -0400
Subject: [PATCH] Fixes and changes

---
 devTools/types/FC/facilities.d.ts |  3 +-
 src/facilities/pit/pitAnimals.js  | 67 +++++++++++++------------------
 2 files changed, 30 insertions(+), 40 deletions(-)

diff --git a/devTools/types/FC/facilities.d.ts b/devTools/types/FC/facilities.d.ts
index 96d73b37034..f23ff65ff79 100644
--- a/devTools/types/FC/facilities.d.ts
+++ b/devTools/types/FC/facilities.d.ts
@@ -25,7 +25,8 @@ declare namespace FC {
 		class Animal {
 			name: string;
 			species: string;
-			type: string;
+			type: "canine" | "hooved" | "feline";
+			rarity: "domestic" | "exotic";
 			articleAn: boolean;
 		}
 	}
diff --git a/src/facilities/pit/pitAnimals.js b/src/facilities/pit/pitAnimals.js
index 141cef21f9d..8f364559b04 100644
--- a/src/facilities/pit/pitAnimals.js
+++ b/src/facilities/pit/pitAnimals.js
@@ -1,12 +1,6 @@
 App.Facilities.Pit.animals = function() {
-	const
-		frag = new DocumentFragment(),
-		cat = "cat",
-		isVowel = e => /[aeiou]/.test(e);
-
-	let
-		pitAnimal,
-		a = name => isVowel(name.charAt(0).toLowerCase()) ? `an` : `a`;
+	const frag = new DocumentFragment();
+	const cat = "cat";
 
 	if (V.activeCanine) {
 		frag.append(canineSelect());
@@ -27,17 +21,15 @@ App.Facilities.Pit.animals = function() {
 	// MARK: Canine
 
 	function canineSelect() {
-		const
-			mainDiv = document.createElement("div"),
-			nameSpan = App.UI.DOM.makeElement("span", `${V.activeCanine.name}.`, "bold"),
-			noteSpan = App.UI.DOM.makeElement("span", `${V.activeCanine.name}s are too small for a proper fight`, "note");
+		const mainDiv = document.createElement("div");
+		const nameSpan = App.UI.DOM.makeElement("span", `${V.activeCanine.name}.`, "bold");
+		const noteSpan = App.UI.DOM.makeElement("span", `${V.activeCanine.name}s are too small for a proper fight`, "note");
 
-		let
-			animalEligible,
-			an;
+		let animalEligible;
+		let an;
 
-		if (V.pitAnimal) {
-			an = a(V.pitAnimal.name);
+		if (V.pit.animal) {
+			an = V.pit.animal.articleAn ? 'an' : 'a';
 		}
 
 		switch (V.activeCanine.name) {
@@ -52,9 +44,9 @@ App.Facilities.Pit.animals = function() {
 				break;
 		}
 
-		if (V.pitAnimal.name === V.activeCanine.name) {
+		if (V.pit.animal.name === V.activeCanine.name) {
 			if (animalEligible) {
-				if (V.pitLethal) {
+				if (V.pit.lethal) {
 					mainDiv.append(`Your slave will fight ${an} `, nameSpan);
 				} else {
 					mainDiv.append(`Your slave will try to avoid being used by ${an} `, nameSpan);
@@ -74,11 +66,10 @@ App.Facilities.Pit.animals = function() {
 	// MARK: Hooved
 
 	function hoovedSelect() {
-		const
-			mainDiv = document.createElement("div"),
-			nameSpan = App.UI.DOM.makeElement("span", `${V.activeHooved.name}.`, "bold");
+		const mainDiv = document.createElement("div");
+		const nameSpan = App.UI.DOM.makeElement("span", `${V.activeHooved.name}.`, "bold");
 
-		if (V.pitAnimal.name === V.activeHooved.name) {
+		if (V.pit.animal.name === V.activeHooved.name) {
 			if (V.activeHooved.species) {
 				mainDiv.append(`Your slave will fight a `, nameSpan);
 			}
@@ -92,12 +83,11 @@ App.Facilities.Pit.animals = function() {
 	// MARK: Felines
 
 	function felineSelect() {
-		const
-			mainDiv = document.createElement("div"),
-			nameSpan = App.UI.DOM.makeElement("span", `${V.activeFeline.name}.`, "bold"),
-			noteSpan = App.UI.DOM.makeElement("span", `${V.activeFeline.name}s are too small for a proper fight`, "note");
+		const mainDiv = document.createElement("div");
+		const nameSpan = App.UI.DOM.makeElement("span", `${V.activeFeline.name}.`, "bold");
+		const noteSpan = App.UI.DOM.makeElement("span", `${V.activeFeline.name}s are too small for a proper fight`, "note");
 
-		if (V.pitAnimal.name === V.activeFeline.name) {
+		if (V.pit.animal.name === V.activeFeline.name) {
 			if (V.activeFeline.species === cat) {
 				mainDiv.appendChild(noteSpan);
 			} else {
@@ -115,44 +105,43 @@ App.Facilities.Pit.animals = function() {
 	// MARK: Helper Functions
 
 	function animalSelect() {
-		const
-			mainDiv = document.createElement("div"),
-			noteSpan = App.UI.DOM.makeElement("span", `You must have at least one active animal to host a fight with an animal`, "note"),
+		const mainDiv = document.createElement("div");
+		const noteSpan = App.UI.DOM.makeElement("span", `You must have at least one active animal to host a fight with an animal`, "note");
 
-			animalLinks = [];
+		const animalLinks = [];
 
-		if (pitAnimal) {
+		if (V.pit.animal) {
 			//
 		} else {
 			if (V.activeCanine || V.activeHooved || V.activeFeline) {
 				mainDiv.append(`Select an animal for your slave to fight: `);
 
 				if (V.activeCanine) {
-					if (V.activeCanine.name === V.pitAnimal.name) {
+					if (V.activeCanine.name === V.pit.animal.name) {
 						mainDiv.append(capFirstChar(V.activeCanine.name));
 					} else {
 						animalLinks.push(App.UI.DOM.passageLink(capFirstChar(V.activeCanine.name), "Pit", () => {
-							V.pitAnimal = V.activeCanine;
+							V.pit.animal = V.activeCanine;
 						}));
 					}
 				}
 
 				if (V.activeHooved) {
-					if (V.activeHooved.name === V.pitAnimal.name) {
+					if (V.activeHooved.name === V.pit.animal.name) {
 						mainDiv.append(capFirstChar(V.activeHooved.name));
 					} else {
 						animalLinks.push(App.UI.DOM.passageLink(capFirstChar(V.activeHooved.name), "Pit", () => {
-							V.pitAnimal = V.activeHooved;
+							V.pit.animal = V.activeHooved;
 						}));
 					}
 				}
 
 				if (V.activeFeline) {
-					if (V.activeFeline.name === V.pitAnimal.name) {
+					if (V.activeFeline.name === V.pit.animal.name) {
 						mainDiv.append(capFirstChar(V.activeFeline.name));
 					} else {
 						animalLinks.push(App.UI.DOM.passageLink(capFirstChar(V.activeFeline.name), "Pit", () => {
-							V.pitAnimal = V.activeFeline;
+							V.pit.animal = V.activeFeline;
 						}));
 					}
 				}
-- 
GitLab