diff --git a/src/npc/descriptions/career.js b/src/npc/descriptions/career.js index 2224b10e803cfc7909255ea961b0094ea112afd1..9f66f009bfaf2418f39eb2558050eb67b82b5fc1 100644 --- a/src/npc/descriptions/career.js +++ b/src/npc/descriptions/career.js @@ -4,7 +4,6 @@ */ App.Desc.career = function(slave) { const r = []; - const careersArray = []; const { he, him, his, hers, himself, boy, He, His } = getPronouns(slave); @@ -140,70 +139,27 @@ App.Desc.career = function(slave) { } } - - if (slave.skill.headGirl >= V.masteredXP) { - careersArray.push("Head Girl"); - } - if (slave.skill.recruiter >= V.masteredXP) { - careersArray.push("Recruiter"); - } - if (slave.skill.bodyguard >= V.masteredXP) { - careersArray.push("Bodyguard"); - } - if (slave.skill.madam >= V.masteredXP) { - careersArray.push("Madam"); - } - if (slave.skill.DJ >= V.masteredXP) { - careersArray.push("DJ"); - } - if (slave.skill.nurse >= V.masteredXP) { - careersArray.push("Nurse"); - } - if (slave.skill.teacher >= V.masteredXP) { - careersArray.push("Schoolteacher"); - } - if (slave.skill.attendant >= V.masteredXP) { - careersArray.push("Attendant"); - } - if (slave.skill.matron >= V.masteredXP) { - careersArray.push("Matron"); - } - if (slave.skill.stewardess >= V.masteredXP) { - careersArray.push("Stewardess"); - } - if (slave.skill.milkmaid >= V.masteredXP) { - careersArray.push("Milkmaid"); - } - if (slave.skill.farmer >= V.masteredXP) { - careersArray.push("Farmer"); - } - if (slave.skill.wardeness >= V.masteredXP) { - careersArray.push("Wardeness"); - } - if (slave.skill.servant >= V.masteredXP) { - careersArray.push("Servant"); - } - if (slave.skill.entertainer >= V.masteredXP) { - careersArray.push("Entertainer"); - } - if (slave.skill.whore >= V.masteredXP) { - careersArray.push("Whore"); - } + const careerMap = [ + {prop: "headGirl", val: "Head Girl"}, + {prop: "recruiter", val: "Recruiter"}, + {prop: "bodyguard", val: "Bodyguard"}, + {prop: "madam", val: "Madam"}, + {prop: "DJ", val: "DJ"}, + {prop: "nurse", val: "Nurse"}, + {prop: "teacher", val: "Schoolteacher"}, + {prop: "attendant", val: "Attendant"}, + {prop: "matron", val: "Matron"}, + {prop: "stewardess", val: "Stewardess"}, + {prop: "milkmaid", val: "Milkmaid"}, + {prop: "farmer", val: "Farmer"}, + {prop: "wardeness", val: "Wardeness"}, + {prop: "servant", val: "Servant"}, + {prop: "entertainer", val: "Entertainer"}, + {prop: "whore", val: "Whore"} + ]; + const careersArray = careerMap.filter((o) => (slave.skill[o.prop] >= V.masteredXP)).map((o) => o.val); if (careersArray.length > 0) { - r.push(`${He} has working experience as a`); - if (careersArray.length > 2) { - for (let j = 0; j < careersArray.length; j++) { - if (j < careersArray.length - 1) { - r.push(`${careersArray[j]},`); - } else { - r.push(`and ${careersArray[j]}.`); - } - } - } else if (careersArray.length > 1) { - r.push(`${careersArray[1]} and ${careersArray[0]}.`); - } else { - r.push(`${careersArray[0]}.`); - } + r.push(`${He} has working experience as a ${careersArray.reduce((res, ch, i, arr) => res + (i === arr.length-1 ? ' and ' : ', ') + ch)}.`); } return r.join(" "); }; diff --git a/src/npc/descriptions/lawCompliance.js b/src/npc/lawCompliance.js similarity index 100% rename from src/npc/descriptions/lawCompliance.js rename to src/npc/lawCompliance.js