From b8971d0e0bbdaaabbeaee48541549ae32009e2e5 Mon Sep 17 00:00:00 2001 From: DCoded <dcoded@live.com> Date: Tue, 1 Sep 2020 11:53:56 -0400 Subject: [PATCH] Bugfixes and text changes --- src/npc/interaction/fAnimal.js | 57 +++++++++++++++++----------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/src/npc/interaction/fAnimal.js b/src/npc/interaction/fAnimal.js index e60f7b6cd76..da6c79ca5b9 100644 --- a/src/npc/interaction/fAnimal.js +++ b/src/npc/interaction/fAnimal.js @@ -16,7 +16,9 @@ App.Interact.fAnimal = function(slave, type) { vaginal = acts.VAGINAL, anal = acts.ANAL, - oral = acts.ORAL; + oral = acts.ORAL, + + approvingFetishes = ["masochist", "humiliation", "perverted", "sinful"]; let animal, @@ -62,12 +64,15 @@ App.Interact.fAnimal = function(slave, type) { const isVowel = e => /[aeiou]/.test(e), a = isVowel(animal.charAt(0).toLowerCase()) ? `an` : `a`, - slaveApproves = () => slave.fetish.includes("masochist" || "humiliation") || + slaveApproves = () => approvingFetishes.some( + e => { + e.includes(slave.fetish) || + e.includes(slave.sexualQuirk) || + e.includes(slave.behavioralQuirk); + }) || slave.fetish === "buttslut" && act === anal || slave.fetish === "cumslut" && act === oral || - slave.sexualQuirk.includes("perverted") || - slave.sexualQuirk === "gagfuck queen" && act === oral || - slave.behavioralQuirk.includes("sinful"); + slave.sexualQuirk === "gagfuck queen" && act === oral; if (slave.fetish === "cumslut" && act === oral) { fetishDesc = `getting to drink more cum`; @@ -123,20 +128,20 @@ App.Interact.fAnimal = function(slave, type) { function introDevoted() { if (act === oral) { - if (slaveApproves()) { + if (slaveApproves) { r.push(`${slave.slaveName}'s face visibly brightens at the prospect of ${fetishDesc}, even if it's ${a} ${animal}'s cum.`); } else { r.push(`${slave.slaveName} visibly blanches at the thought of having to suck down ${a} ${animal}'s cum, but ${he} is so devoted to you that ${he} reluctantly agrees.`); } } else { if ((act === vaginal && slave.vagina > 0) || (act === anal && slave.anus > 0)) { - if (slaveApproves()) { + if (slaveApproves) { r.push(`${slave.slaveName}'s face visibly brightens at the thought of ${fetishDesc}, even if the dick is ${a} ${animal}'s.`); } else { r.push(`${slave.slaveName} looks visibly disturbed, but is so attentive to your will that ${he} agrees.`); } } else { - if (slaveApproves()) { + if (slaveApproves) { r.push(`${slave.slaveName}'s face visibly brightens at the thought of ${fetishDesc}, although ${he} seems a bit hesitant at the thought of giving ${his} virginity to an animal.`); } else { r.push(`${slave.slaveName} looks visibly shaken at the thought of having ${his} precious ${!canDoVaginal(slave) ? `anal ` : ``}virginity taken by an animal, but is so attentive to your will that ${he} ultimately agrees.`); @@ -147,20 +152,20 @@ App.Interact.fAnimal = function(slave, type) { function introNondevoted() { if (act === oral) { - if (slaveApproves()) { + if (slaveApproves) { r.push(`${slave.slaveName} isn't too keen on the idea of sucking off ${a} ${animal}, but the idea of ${fetishDesc} is enough to get ${him} to comply.`); } else { r.push(`${slave.slaveName} tries in vain to conceal ${his} horror at the thought of blowing ${a} ${animal}, but quickly regains ${his} composure.`); } } else { if ((act === vaginal && slave.vagina > 0) || (act === anal && slave.anus > 0)) { - if (slaveApproves()) { + if (slaveApproves) { r.push(`${slave.slaveName} doesn't seem terribly keen on the idea of fucking ${a} ${animal}, but the thought of ${fetishDesc} seems to be enough to win ${him} over.`); } else { r.push(`${slave.slaveName} tries in vain to coneal ${his} horror at the thought of fucking ${a} ${animal}, but quickly regains ${his} composure.`); } } else { - if (slaveApproves()) { + if (slaveApproves) { r.push(`${slave.slaveName} clearly has some reservations about having ${his} ${act === anal ? `anal ` : ``}virginity taken by ${a} ${fetishDesc}, but the thought of ${fetishDesc} is enough to make agree to comply.`); } else { r.push(`${slave.slaveName} tries in vain to conceal ${his} horror at the thought of having ${his} precious ${act === anal ? `rosebud` : `pearl`} taken by a beast, but quickly regains ${his} composure.`); @@ -171,20 +176,20 @@ App.Interact.fAnimal = function(slave, type) { function introNonresistant() { if (act === oral) { - if (slaveApproves()) { + if (slaveApproves) { r.push(`${slave.slaveName} looks disgusted at the thought of sucking off ${a} ${animal} at first, but the thought of the ${fetishDesc} that comes with it seems to spark a small flame of lust in ${him}.`); } else { r.push(`${slave.slaveName} tries in vain to conceal ${his} horror at the thought of blowing ${a} ${animal}${canWalk(slave) ? `, and only the threat of worse punishment keeps ${him} from running away as fast as ${he} can` : ``}.`); } } else { if ((act === vaginal && slave.vagina > 0) || (act === anal && slave.anus > 0)) { - if (slaveApproves()) { + if (slaveApproves) { r.push(`${slave.slaveName} looks disgusted at the thought of fucking ${a} ${animal} at first, but the thought of the ${fetishDesc} that comes with it seems to spark a small flame of lust in ${him}.`); } else { r.push(`${slave.slaveName} tries in vain to coneal ${his} horror at the thought of fucking ${a} ${animal}${canWalk(slave) ? `, and only the threat of worse punishment keeps ${him} from running away as fast as ${he} can` : ``}.`); } } else { - if (slaveApproves()) { + if (slaveApproves) { r.push(`${slave.slaveName} clearly has some reservations about having ${his} ${act === anal ? `anal ` : ``}virginity taken by ${a} ${fetishDesc}, but the thought of ${fetishDesc} is enough to make agree to comply.`); } else { r.push(`${slave.slaveName} tries in vain to conceal ${his} horror at the thought of having ${his} precious ${act === anal ? `rosebud` : `pearl`} taken by a beast${canWalk(slave) ? `, and only the threat of worse punishment keeps ${him} from running away as fast as ${he} can` : ``}.`); @@ -230,11 +235,10 @@ App.Interact.fAnimal = function(slave, type) { function consummationDevotedCanine(type) { if (type === oral) { - // TODO: write more if (slaveApproves) { - r.push(`The slave seems to quickly get over the fact that dick currently in ${his} mouth is not a human one as ${his} more carnal desires kick in.`); + r.push(`The slave seems to quickly get over the fact that the dick currently in ${his} mouth belongs to a canine as ${his} more carnal desires kick in.`); } else { - r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it, then gives a groan as the beast thrusts, stretching ${his} throat to the limit.`); + r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it, then gives a groan as the beast thrusts, filling ${his} throat.`); } } else { if (canWalk(slave)) { @@ -249,11 +253,10 @@ App.Interact.fAnimal = function(slave, type) { function consummationDevotedHooved(type) { if (type === oral) { - // TODO: write more if (slaveApproves) { r.push(`The slave seems to quickly get over the fact that dick currently in ${his} mouth is not a human one as ${his} more carnal desires kick in.`); } else { - r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it, then gives a groan as the beast thrusts, stretching ${his} throat to the limit.`); + r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it, then gives a groan as the beast thrusts, stretching ${his} poor throat to the limit.`); } } else { r.push(`${slave.slaveName} gives a long, drawn-out moan as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point.`); @@ -262,11 +265,10 @@ App.Interact.fAnimal = function(slave, type) { function consummationDevotedFeline(type) { if (type === oral) { - // TODO: write more if (slaveApproves) { - r.push(`The slave seems to quickly get over the fact that dick currently in ${his} mouth is not a human one as ${his} more carnal desires kick in.`); + r.push(`The slave seems to quickly get over the fact that dick currently in ${his} mouth belongs to ${a} ${animal} as ${his} more carnal desires kick in.`); } else { - r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it, then gives a groan as the beast thrusts, stretching ${his} throat to the limit.`); + r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it, then gives a groan as the beast thrusts, the barbs on its cock rubbing the inside of ${his} mouth raw.`); } } else { r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}.`); @@ -301,9 +303,8 @@ App.Interact.fAnimal = function(slave, type) { function consummationNondevotedCanine(type) { if (type === oral) { - // TODO: write more if (slaveApproves) { - r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth isn't human soon enough, once ${his} carnal desires kick in.`); + r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to ${a} ${animal} soon enough, once ${his} carnal desires kick in.`); } else { r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment.`); } @@ -320,9 +321,8 @@ App.Interact.fAnimal = function(slave, type) { function consummationNondevotedHooved(type) { if (type === oral) { - // TODO: write more if (slaveApproves) { - r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth isn't human soon enough, once ${his} carnal desires kick in.`); + r.push(`Though the slave still seems to have some reservations about sucking off ${a} ${animal}, ${he} seems to forget that the cock in ${his} mouth isn't human soon enough, once ${his} carnal desires kick in.`); } else { r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment.`); } @@ -333,11 +333,10 @@ App.Interact.fAnimal = function(slave, type) { function consummationNondevotedFeline(type) { if (type === oral) { - // TODO: write more if (slaveApproves) { - r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth isn't human soon enough, once ${his} carnal desires kick in.`); + r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to a feline soon enough, once ${his} carnal desires kick in.`); } else { - r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment.`); + r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s barbed dick fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment.`); } } else { r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}.`); -- GitLab