Skip to content
Snippets Groups Projects
Commit 24a11647 authored by brickode's avatar brickode
Browse files

Added nondevoted text, reworked functions, bugfix

parent fb386413
No related branches found
No related tags found
1 merge request!7465Farmyard animals DOMification
...@@ -87,7 +87,11 @@ App.Interact.fAnimal = function(slave, type) { ...@@ -87,7 +87,11 @@ App.Interact.fAnimal = function(slave, type) {
const mainDiv = App.UI.DOM.appendNewElement("div", frag); const mainDiv = App.UI.DOM.appendNewElement("div", frag);
r.push(canWalk(slave) ? `You call ${him} over and ` : `You order another slave to bring ${slave.slaveName} over. Once ${he} is situated, you`, `tell ${him} you want to watch ${him} ${act !== oral ? `get fucked by` : `suck off`} ${a} ${animal}.`); r.push(canWalk(slave) ? `You call ${him} over and ` : `You order another slave to bring ${slave.slaveName} over. Once ${he} is situated, you`, `tell ${him} you want to watch ${him} ${act === oral ?
`suck off` :
act === vaginal ?
`get fucked by` :
`get fucked in the ass by`} ${a} ${animal}.`);
if (slave.fetish !== "mindbroken") { if (slave.fetish !== "mindbroken") {
if (slave.devotion > 50) { if (slave.devotion > 50) {
...@@ -201,59 +205,143 @@ App.Interact.fAnimal = function(slave, type) { ...@@ -201,59 +205,143 @@ App.Interact.fAnimal = function(slave, type) {
function consummationDevoted() { function consummationDevoted() {
if (act === oral) { if (act === oral) {
r.push(`You have ${him} kneel on the floor before calling in the ${animal}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal} is hard enough, ${slave.slaveName} takes its cock and begins to give a few tentative licks before finally putting it in ${his} mouth.`); r.push(`You have ${him} kneel on the floor before calling in the ${animal}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal} is hard enough, ${slave.slaveName} takes its cock and begins to give it a few tentative licks before finally putting it in ${his} mouth.`);
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.`);
}
} else { } else {
r.push(`You have ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``} get on the floor, ass in the air, before calling in the ${animal}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed.`); r.push(`You have ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``} get on the floor, ass in the air, before calling in the ${animal}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed.`);
}
switch (animal) { switch (animal) {
case V.activeCanine: case V.activeCanine:
consummationDevotedCanine(); consummationDevotedCanine(act);
break; break;
case V.activeHooved: case V.activeHooved:
consummationDevotedHooved(); consummationDevotedHooved(act);
break; break;
case V.activeFeline: case V.activeFeline:
consummationDevotedFeline(); consummationDevotedFeline(act);
break; break;
default: default:
throw new Error(`Unexpected animal type '${type}' in consummationDevoted()`); throw new Error(`Unexpected animal type '${type}' in consummationDevoted()`);
} }
if (act !== oral) {
virginityCheck(act); virginityCheck(act);
virginityEffects(act);
} }
function consummationDevotedCanine() { function consummationDevotedCanine(type) {
if (canWalk(slave)) { if (type === oral) {
r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh.`); // 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.`);
}
} else { } else {
r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}.`); if (canWalk(slave)) {
} r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh.`);
} else {
r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}.`);
}
r.push(`It takes a few tries, but the ${animal} finally manages to sink its cock into ${his} ${slaveApproves && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can.`); r.push(`It takes a few tries, but the ${animal} finally manages to sink its cock into ${his} ${slaveApproves && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can.`);
}
} }
function consummationDevotedHooved() { function consummationDevotedHooved(type) {
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.`); 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.`);
}
} 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.`);
}
} }
function consummationDevotedFeline() { function consummationDevotedFeline(type) {
r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}.`); 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.`);
}
} else {
r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}.`);
}
} }
} }
function consummationNondevoted() { function consummationNondevoted() {
if (act === oral) { if (act === oral) {
r.push(`You tell ${him} to kneel on the floor before calling in the ${animal}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave hesitantly reaches out and begins masturbating it to begin the process of getting the animal hard.`); r.push(`You tell ${him} to kneel on the floor before calling in the ${animal}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave hesitantly reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal} is hard enough, ${slave.slaveName} takes its cock, and, after taking a moment to steel ${his} resolve, begins to give it a few reluctant licks before putting it in ${his} mouth.`);
// TODO: finish writing this
} else { } else {
r.push(`You tell ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``} get on the floor, ass in the air, before calling in the ${animal}. The beast slowly saunters up to the slave, where it takes only a few seconds for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. Another slave lines its cock up with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `ass`}, then with a thrust, the ${animal} begins to fuck ${him}.`); r.push(`You tell ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``} get on the floor, ass in the air, before calling in the ${animal}. The beast slowly saunters up to the slave, where it takes only a few seconds for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed.`);
// TODO: finish writing this }
switch (animal) {
case V.activeCanine:
consummationNondevotedCanine(act);
break;
case V.activeHooved:
consummationNondevotedHooved(act);
break;
case V.activeFeline:
consummationNondevotedFeline(act);
break;
default:
throw new Error(`Unexpected animal type '${type}' in consummationDevoted()`);
}
if (act !== oral) {
virginityCheck(act);
}
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.`);
} 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.`);
}
} else {
if (canWalk(slave)) {
r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh.`);
} else {
r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}.`);
}
r.push(`It takes a few tries, but the ${animal} finally manages to sink its cock into ${his} ${slaveApproves && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can.`);
}
}
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.`);
} 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.`);
}
} else {
r.push(`${slave.slaveName} gives a long, drawn-out groan as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point.`);
}
}
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.`);
} 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.`);
}
} else {
r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}.`);
}
} }
} }
...@@ -266,13 +354,17 @@ App.Interact.fAnimal = function(slave, type) { ...@@ -266,13 +354,17 @@ App.Interact.fAnimal = function(slave, type) {
case vaginal: case vaginal:
if (act === vaginal && slave.vagina === 0) { if (act === vaginal && slave.vagina === 0) {
r.push(`The slave gives a loud ${slave.devotion > 20 ? `moan` : `groan`} as ${his} virginity is taken from ${him}${slave.devotion < -20 ? ` by force` : ``}.`); r.push(`The slave gives a loud ${slave.devotion > 20 ? `moan` : `groan`} as ${his} virginity is taken from ${him}${slave.devotion < -20 ? ` by force` : ``}.`);
virginityEffects(type);
} }
return; break;
case anal: case anal:
if (act === anal && slave.anus === 0) { if (act === anal && slave.anus === 0) {
r.push(`The slave gives a loud ${slave.devotion > 20 ? `moan` : `groan`} as ${his} anal virginity is taken from ${him}${slave.devotion < -20 ? ` by force` : ``}.`); r.push(`The slave gives a loud ${slave.devotion > 20 ? `moan` : `groan`} as ${his} anal virginity is taken from ${him}${slave.devotion < -20 ? ` by force` : ``}.`);
virginityEffects(type);
} }
return; break;
default: default:
throw new Error(`Unexpected type value '${type}' in virginityCheck()`); throw new Error(`Unexpected type value '${type}' in virginityCheck()`);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment