/**
 * @param {App.Entity.SlaveState} slave
 * @returns {string}
 */
App.Desc.ears = function(slave) {
	const r = [];
	const {
		he, him, his, hers, himself, boy, He, His
	} = getPronouns(slave);
	// ear shape description here
	if (slave.earShape === "none") {
		if (slave.earImplant === 1) {
			if (slave.earT !== "none") {
				r.push(`${He} has smooth skin where ${his} ears should be as ${his} hearing has been cybernetically rerouted to ${his} secondary ears.`);
			} else {
				r.push(`${He} has nothing but small, perforated metal disks where ${his} ears should be.`);
			}
		} else if (slave.earwear === "none") {
			r.push(`${He} has small unsightly holes on the sides of ${his} head.`); // That can't be sanitary.
		} else {
			r.push(`The sides of ${his} head are smooth where ${his} ears should be, but upon closer inspection it is revealed that`);
			if (slave.earwear === "hearing aids") {
				r.push(`${his} ear canals are fitted with hearing aids capped with a skin-matching sheet to obscure the hole.`);
			} else {
				r.push(`${his} ear canals are filled with plugs with skin-matching caps.`);
			}
		}
	} else if (slave.earShape === "damaged") {
		r.push(`${His} outer ears have been severely damaged.`);
	} else if (slave.earShape === "normal" && slave.earT !== "none") {
		// Ears are expected, so lets only mention them if we have two sets
		r.push(`${He} has perfectly ordinary ears.`);
	} else if (slave.earShape === "robot") {
		r.push(`${He} has high tech cyber-ears that could be mistaken for headphones.`);// not yet implemented
	} else if (slave.earShape === "pointy") {
		r.push(`${His} small, ${either("elfin", "leaf-shaped", "pointed")} ears are quite cute and give ${him} an exotic appearance.`);
	} else if (slave.earShape === "elven") {
		r.push(`${He} has long, thin elven ears that ${either(`tend to droop when ${he} is relaxed or sad`, `tend to waggle up and down when ${he} is excited`, `twitch at the slightest touch`)}.`);
	} else if (slave.earShape === "ushi") {
		r.push(`${He} has long, floppy cow ears.`); // that ${either(`tend to droop when ${he} is relaxed or sad`, `tend waggle up and down when ${he} is excited`, `twitch at the slightest touch`)}. These don't make sense for the most part.
	}

	if (slave.earT === "neko") {
		r.push(`${He} has cute, ${slave.earTColor} cat ears on ${his} head; they`);
		if (slave.earImplant === 1) {
			r.push(`perk up at`);
			if (slave.devotion > 20) {
				r.push(`the sound of your voice and`);
			} else {
				r.push(`sudden noises and`);
			}
		}
		r.push(`${either(`tend to droop when ${he} is relaxed or sad`, `twitch at the slightest touch`)}.`);
	} else if (slave.earT === "inu") {
		r.push(`${He} has cute, ${slave.earTColor} dog ears on ${his} head; they`);
		if (slave.earImplant === 1) {
			r.push(`perk up at`);
			if (slave.devotion > 50) {
				r.push(`the sound of your voice and`);
			} else {
				r.push(`sudden noises and`);
			}
		}
		r.push(`${either(`tend to droop when ${he} is relaxed or sad`, `twitch at the slightest touch`)}.`);
	} else if (slave.earT === "kit") {
		r.push(`${He} has elegant, ${slave.earTColor} fox ears on ${his} head; they`);
		if (slave.earImplant === 1) {
			r.push(`perk up at`);
			if (slave.devotion > 50) {
				r.push(`the sound of your voice and`);
			} else {
				r.push(`sudden noises and`);
			}
		}
		r.push(`${either(`tend to droop when ${he} is relaxed or sad`, `twitch at the slightest touch`)}.`);
	} else if (slave.earT === "tanuki") {
		r.push(`${He} has adorable, ${slave.earTColor}, round tanuki ears on ${his} head; they`);
		if (slave.earImplant === 1) {
			r.push(`perk up at`);
			if (slave.devotion > 50) {
				r.push(`the sound of your voice and`);
			} else {
				r.push(`sudden noises and`);
			}
		}
		r.push(`${either(`tend to droop when ${he} is relaxed or sad`, `twitch at the slightest touch`)}.`);
	} else if (slave.earT === "usagi") {
		r.push(`${He} has long, ${slave.earTColor}, fluffy rabbit ears on ${his} head; they`);
		if (slave.earImplant === 1) {
			r.push(`perk up at`);
			if (slave.devotion > 50) {
				r.push(`the sound of your voice and`);
			} else {
				r.push(`sudden noises and`);
			}
		}
		r.push(`${either(`tend to droop when ${he} is relaxed or sad`, `twitch at the slightest touch`)}.`);
	} else if (slave.earT === "normal") {
		r.push(`${He} has`);
		if (slave.earShape !== "none") {
			r.push(`a second set`);
		} else {
			r.push(`a pair`);
		}
		r.push(`of non-functioning ears grafted to the top of ${his} head.`);
	}

	if (slave.hears < 0) {
		if (slave.hears === -1) {
			r.push(`${His} hearing is noticeably impaired,`);
		} else if (slave.hears < -1) {
			r.push(`${He} is completely deaf,`);
		}
		if (slave.hears < -1 && slave.earShape === "none") {
			r.push(`which is fitting due to ${his} lack of ears.`);
		} else {
			r.push(`but this isn't obvious just by looking at ${his} ears.`);
		}
	}
	return r.join(" ");
};

src/npc/descriptions/ears.js