diff --git a/src/npc/descriptions/career.js b/src/npc/descriptions/career.js new file mode 100644 index 0000000000000000000000000000000000000000..2224b10e803cfc7909255ea961b0094ea112afd1 --- /dev/null +++ b/src/npc/descriptions/career.js @@ -0,0 +1,209 @@ +/** + * @param {App.Entity.SlaveState} slave + * @returns {string} + */ +App.Desc.career = function(slave) { + const r = []; + const careersArray = []; + const { + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); + const career = convertCareer(slave); + + if (slave.fuckdoll === 0) { + if (slave.career !== 0) { + if (slave.career === "a slave") { + r.push(`${He} was a slave long before you obtained ${him}.`); + } else if (slave.career === "a slave since birth") { + r.push(`${He}'s been your slave ${his} entire life.`); + } else if (slave.career === "a meat toilet" || slave.career === "a cum dump") { + r.push(`${He} sees ${him}self as a cum receptacle.`); + } else if (slave.career === "a dairy cow") { + r.push(`${He}'s been broken into the belief that ${he} is nothing more than a cow to be milked and bred.`); + } else if (slave.career === "a breeding bull") { + r.push(`${He}'s been broken into the belief that ${he} is nothing more than a bull destined to fill fertile wombs with calves.`); + } else if (slave.career === "a breeder") { + r.push(`Before you obtained ${him}, ${he} was a breeding slave.`); + } else if (slave.career === "a bioreactor") { + r.push(`${He} has spent time as a cow in an industrial dairy, an experience that marked ${him} deeply.`); + } else { + r.push(`Before ${he} was a slave, ${he} was`); + if (setup.bodyguardCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Bodyguard.`); + } else if (setup.wardenessCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Wardeness for`); + if (V.cellblock === 0) { + r.push(`a Cellblock.`); + } else { + r.push(`${V.cellblockName}.`); + } + } else if (setup.attendantCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as an Attendant for`); + if (V.spa === 0) { + r.push(`a Spa.`); + } else { + r.push(`${V.spaName}.`); + } + } else if (setup.matronCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Matron for`); + if (V.nursery === 0 && V.nurseryNannies === 0) { + r.push(`a Nursery.`); + } else { + r.push(`${V.nurseryName}.`); + } + } else if (setup.nurseCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Nurse for`); + if (V.clinic === 0) { + r.push(`a Clinic.`); + } else { + r.push(`${V.clinicName}.`); + } + } else if (setup.schoolteacherCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Schoolteacher for`); + if (V.schoolroom === 0) { + r.push(`a Schoolroom.`); + } else { + r.push(`${V.schoolroomName}.`); + } + } else if (setup.stewardessCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Stewardess for`); + if (V.servantsQuarters === 0) { + r.push(`a Servant's Quarters.`); + } else { + r.push(`${V.servantsQuartersName}.`); + } + } else if (setup.milkmaidCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Milkmaid for`); + if (V.dairy === 0) { + r.push(`a Dairy.`); + } else { + r.push(`${V.dairyName}.`); + } + } else if (setup.farmerCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Farmer for`); + if (V.farmyard === 0) { + r.push(`a Farmyard.`); + } else { + r.push(`${V.farmyardName}.`); + } + } else if (setup.madamCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Madam for`); + if (V.brothel === 0) { + r.push(`a Brothel.`); + } else { + r.push(`${V.brothelName}.`); + } + } else if (setup.DJCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a DJ for`); + if (V.club === 0) { + r.push(`a Club.`); + } else { + r.push(`${V.clubName}.`); + } + } else if (setup.HGCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a Head Girl.`); + } else if (setup.recruiterCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} potential as a recruiter.`); + } else if (setup.entertainmentCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} a slight edge at entertainment.`); + } else if (setup.whoreCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} a slight edge at sexual commerce.`); + } else if (setup.gratefulCareers.includes(slave.career)) { + r.push(`${career}, so ${he} can remember what it's like`); + if (slave.career === "prisoner") { + r.push(`no one looking out for you.`); + } else { + r.push(`to have the freedom to starve.`); + } + } else if (setup.menialCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} experience following orders.`); + } else if (setup.servantCareers.includes(slave.career)) { + r.push(`${career}, giving ${him} a slight edge in housekeeping.`); + } else { + r.push(`${career}.`); + } + } + } + if (V.week - slave.weekAcquired >= 20 && slave.skill.entertainment >= 100) { + if (!setup.entertainmentCareers.includes(slave.career)) { + r.push(`${He} has gotten enough experience to be as charismatic as any professional`); + if (slave.counter.oral + slave.counter.anal + slave.counter.vaginal + slave.counter.mammary + slave.counter.penetrative > 1000) { + r.push(`entertainer, and has been fucked so many times that a free sex worker could teach ${him} nothing.`); + } else { + r.push(`entertainer.`); + } + } + } else if ((slave.counter.oral + slave.counter.anal + slave.counter.vaginal + slave.counter.mammary + slave.counter.penetrative > 1000)) { + if (!setup.whoreCareers.includes(slave.career)) { + r.push(`${He} has been fucked so many times that a free sex worker could teach ${him} nothing.`); + } + } + } + + + 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"); + } + 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]}.`); + } + } + return r.join(" "); +}; diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index a6ca37ef333f52cf95cf7631bf651eccab3e6221..75fea3a756d7564cad0d2736d6fb01009f7641d0 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -433,141 +433,7 @@ is <</if>> <</if>> -<<if $activeSlave.fuckdoll == 0>> - <<if $activeSlave.career != 0>> - <<if $activeSlave.career == "a slave">> - $He was a slave long before you obtained $him. - <<elseif $activeSlave.career == "a slave since birth">> - $He's been your slave $his entire life. - <<elseif $activeSlave.career == "a meat toilet" || $activeSlave.career == "a cum dump">> - $He sees $himself as a cum receptacle. - <<elseif $activeSlave.career == "a dairy cow">> - $He's been broken into the belief that $he is nothing more than a cow to be milked and bred. - <<elseif $activeSlave.career == "a breeding bull">> - $He's been broken into the belief that $he is nothing more than a bull destined to fill fertile wombs with calves. - <<elseif $activeSlave.career == "a breeder">> - Before you obtained $him, $he was a breeding slave. - <<elseif $activeSlave.career == "a bioreactor">> - $He has spent time as a cow in an industrial dairy, an experience that marked $him deeply. - <<else>> - Before $he was a slave, $he was - <<if setup.bodyguardCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Bodyguard. - <<elseif setup.wardenessCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Wardeness for <<if $cellblock == 0>>a Cellblock<<else>>$cellblockName<</if>>. - <<elseif setup.attendantCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as an Attendant for <<if $spa == 0>>a Spa<<else>>$spaName<</if>>. - <<elseif setup.matronCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Matron for <<if $nursery == 0 && $nurseryNannies == 0>>a Nursery<<else>>$nurseryName<</if>>. - <<elseif setup.nurseCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Nurse for <<if $clinic == 0>>a Clinic<<else>>$clinicName<</if>>. - <<elseif setup.schoolteacherCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Schoolteacher for <<if $schoolroom == 0>>a Schoolroom<<else>>$schoolroomName<</if>>. - <<elseif setup.stewardessCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Stewardess for <<if $servantsQuarters == 0>>a Servant's Quarters<<else>>$servantsQuartersName<</if>>. - <<elseif setup.milkmaidCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Milkmaid for <<if $dairy == 0>>a Dairy<<else>>$dairyName<</if>>. - <<elseif setup.farmerCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Farmer for <<if $farmyard == 0>>a Farmyard<<else>>$farmyardName<</if>>. - <<elseif setup.madamCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Madam for <<if $brothel == 0>>a Brothel<<else>>$brothelName<</if>>. - <<elseif setup.DJCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a DJ for <<if $club == 0>>a Club<<else>>$clubName<</if>>. - <<elseif setup.HGCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a Head Girl. - <<elseif setup.recruiterCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him potential as a recruiter. - <<elseif setup.entertainmentCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him a slight edge at entertainment. - <<elseif setup.whoreCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him a slight edge at sexual commerce. - <<elseif setup.gratefulCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, so $he can remember what it's like <<if $activeSlave.career == "prisoner">>no one looking out for you<<else>>to have the freedom to starve<</if>>. - <<elseif setup.menialCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him experience following orders. - <<elseif setup.servantCareers.includes($activeSlave.career)>> - <<= convertCareer($activeSlave)>>, giving $him a slight edge in housekeeping. - <<else>> - <<= convertCareer($activeSlave)>>. - <</if>> - <</if>> - <</if>> - <<if ($week-$activeSlave.weekAcquired >= 20) && ($activeSlave.skill.entertainment >= 100)>> - <<if setup.entertainmentCareers.includes($activeSlave.career)>><<else>> - $He has gotten enough experience to be as charismatic as any professional entertainer<<if ($activeSlave.counter.oral + $activeSlave.counter.anal + $activeSlave.counter.vaginal + $activeSlave.counter.mammary + $activeSlave.counter.penetrative > 1000)>>, and has been fucked so many times that a free sex worker could teach $him nothing<</if>>. - <</if>> - <<elseif ($activeSlave.counter.oral + $activeSlave.counter.anal + $activeSlave.counter.vaginal + $activeSlave.counter.mammary + $activeSlave.counter.penetrative > 1000)>> - <<if setup.whoreCareers.includes($activeSlave.career)>><<else>> - $He has been fucked so many times that a free sex worker could teach $him nothing. - <</if>> - <</if>> -<</if>> - -<<set _careers = []>> -<<if ($activeSlave.skill.headGirl >= $masteredXP)>> - <<set _careers.push("Head Girl")>> -<</if>> -<<if ($activeSlave.skill.recruiter >= $masteredXP)>> - <<set _careers.push("Recruiter")>> -<</if>> -<<if ($activeSlave.skill.bodyguard >= $masteredXP)>> - <<set _careers.push("Bodyguard")>> -<</if>> -<<if ($activeSlave.skill.madam >= $masteredXP)>> - <<set _careers.push("Madam")>> -<</if>> -<<if ($activeSlave.skill.DJ >= $masteredXP)>> - <<set _careers.push("DJ")>> -<</if>> -<<if ($activeSlave.skill.nurse >= $masteredXP)>> - <<set _careers.push("Nurse")>> -<</if>> -<<if ($activeSlave.skill.teacher >= $masteredXP)>> - <<set _careers.push("Schoolteacher")>> -<</if>> -<<if ($activeSlave.skill.attendant >= $masteredXP)>> - <<set _careers.push("Attendant")>> -<</if>> -<<if ($activeSlave.skill.matron >= $masteredXP)>> - <<set _careers.push("Matron")>> -<</if>> -<<if ($activeSlave.skill.stewardess >= $masteredXP)>> - <<set _careers.push("Stewardess")>> -<</if>> -<<if ($activeSlave.skill.milkmaid >= $masteredXP)>> - <<set _careers.push("Milkmaid")>> -<</if>> -<<if ($activeSlave.skill.farmer >= $masteredXP)>> - <<set _careers.push("Farmer")>> -<</if>> -<<if ($activeSlave.skill.wardeness >= $masteredXP)>> - <<set _careers.push("Wardeness")>> -<</if>> -<<if ($activeSlave.skill.servant >= $masteredXP)>> - <<set _careers.push("Servant")>> -<</if>> -<<if ($activeSlave.skill.entertainer >= $masteredXP)>> - <<set _careers.push("Entertainer")>> -<</if>> -<<if ($activeSlave.skill.whore >= $masteredXP)>> - <<set _careers.push("Whore")>> -<</if>> -<<if _careers.length > 0>> - $He has working experience as a - <<if _careers.length > 2>> - <<for _j = 0; _j < _careers.length; _j++>> - <<if _j < _careers.length-1>> - <<print _careers[_j]>>, - <<else>> - and <<print _careers[_j]>>. - <</if>> - <</for>> - <<elseif _careers.length > 1>> - _careers[1] and <<print _careers[0]>>. - <<else>> - <<print _careers[0]>>. - <</if>> -<</if>> +<<= App.Desc.career($activeSlave)>> <<if $activeSlave.prestige > 0>> <<if $activeSlave.prestigeDesc>>$activeSlave.prestigeDesc<</if>>