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){
caseV.activeCanine:
consummationDevotedCanine();
break;
caseV.activeHooved:
consummationDevotedHooved();
break;
caseV.activeFeline:
consummationDevotedFeline();
break;
default:
thrownewError(`Unexpected animal type '${type}' in consummationDevoted()`);
}
virginityCheck(act);
virginityEffects(act);
}
functionconsummationDevotedCanine(){
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.`);
}
functionconsummationDevotedHooved(){
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.`);
}
functionconsummationDevotedFeline(){
r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his}${act===vaginal?`pussy`:`asshole`}.`);
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;
caseanal:
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:
thrownewError(`Unexpected type value '${type}' in virginityCheck()`);
}
}
functionvirginityEffects(type){
switch (type){
casevaginal:
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;
}elseif (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;
caseanal:
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;
}elseif (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:
thrownewError(`Unexpected type value '${type}' in virginityEffects()`);