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

Added text for consummationDevoted(), added virginityCheck() and virginityEffects()

parent 5cbd99ae
No related branches found
No related tags found
1 merge request!7465Farmyard animals DOMification
......@@ -6,7 +6,7 @@ App.Interact.fAnimal = function(slave, type) {
frag = new DocumentFragment(),
r = [],
{he, him, his} = getPronouns(slave),
{He, he, him, his, girl} = getPronouns(slave),
acts = {
VAGINAL: "vaginal",
......@@ -205,11 +205,45 @@ App.Interact.fAnimal = function(slave, type) {
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 visbly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it.`);
r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal}'s cock fills it.`);
}
} 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 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}.`);
// TODO: finish writing this
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) {
case V.activeCanine:
consummationDevotedCanine();
break;
case V.activeHooved:
consummationDevotedHooved();
break;
case V.activeFeline:
consummationDevotedFeline();
break;
default:
throw new Error(`Unexpected animal type '${type}' in consummationDevoted()`);
}
virginityCheck(act);
virginityEffects(act);
}
function consummationDevotedCanine() {
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 consummationDevotedHooved() {
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() {
r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}.`);
}
}
......@@ -222,4 +256,102 @@ App.Interact.fAnimal = function(slave, type) {
// TODO: finish writing this
}
}
// MARK: Virginity Check Functions
function virginityCheck(type) {
switch (type) {
case vaginal:
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` : ``}.`);
}
return;
case anal:
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` : ``}.`);
}
return;
default:
throw new Error(`Unexpected type value '${type}' in virginityCheck()`);
}
}
function virginityEffects(type) {
switch (type) {
case vaginal:
if (slave.devotion >= -20) {
if (slaveApproves) {
r.push(`Losing ${his} virginity in such a painful manner has increased ${his} devotion to you.`);
slave.devotion += 10;
} else {
if (slave.devotion > 50) {
r.push(`Since ${he} is well broken, losing ${his} virginity in such a manner has increased ${his} submission to you.`);
slave.devotion += 5;
} else if (slave.devotion >= -20) {
r.push(`Losing ${his} virginity in such a manner has increased ${his} submission to you, though ${he} is fearful that you'll decide to only use ${him} to sate your animals' lust.`);
slave.devotion += 5;
slave.trust -= 5;
} else {
r.push(`${He} is clearly unhappy in the manner in which ${his} virginity has been taken, and ${he} fears you'll decide to only use ${him} to sate your animals' lust.`);
slave.devotion -= 10;
slave.trust -= 10;
}
}
} else {
r.push(`Having ${his} pearl of great price taken by a mere beast has reinforced the hatred ${he} holds towards you, and ${he} is terrified you'll only use ${him} as a plaything for your animals.`);
slave.devotion -= 10;
slave.trust -= 10;
}
r.push(`Having ${his} cherry popped in such a manner was extremely painful and slightly damaged ${his} health.`);
healthDamage(slave, 5);
return;
case anal:
if (slave.devotion >= -20) {
if (slaveApproves) {
r.push(`Losing ${his} anal virginity in such a painful manner has increased ${his} devotion to you.`);
slave.devotion += 10;
} else {
if (slave.devotion > 50) {
r.push(`Since ${he} is well broken, losing ${his} anal virginity in such a manner has increased ${his} submission to you.`);
slave.devotion += 5;
} else if (slave.devotion >= -20) {
r.push(`Losing ${his} anal virginity in such a manner has increased ${his} submission to you, though ${he} is fearful that you'll decide to only use ${him} to sate your animals' lust.`);
slave.devotion += 5;
slave.trust -= 5;
} else {
r.push(`${He} is clearly unhappy in the manner in which ${his} anal virginity has been taken, and ${he} fears you'll decide to only use ${him} to sate your animals' lust.`);
slave.devotion -= 10;
slave.trust -= 10;
}
}
} else {
r.push(`Having ${his} pearl of great price taken by a mere beast has reinforced the hatred ${he} holds towards you, and ${he} is terrified you'll only use ${him} as a plaything for your animals.`);
slave.devotion -= 10;
slave.trust -= 10;
}
r.push(`Having ${his} rosebud broken in in such a manner was extremely painful and slightly damaged ${his} health.`);
healthDamage(slave, 5);
return;
default:
throw new Error(`Unexpected type value '${type}' in virginityEffects()`);
}
}
};
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