function defaultMaleSpurt(container, macro, verbose) {
if (isFatal(macro))
return "Your " + macro.describeDick + " cock spurts out $VOLUME of bitter precum, drowning " + container.describe(verbose) + " in a deluge of musk.";
else
return "Your " + macro.describeDick + " shaft spurts out $VOLUME of precum, splooging " + container.describe(verbose) + ".";
}
function defaultMaleOrgasm(container, macro, verbose) {
if (isFatal(macro))
return "You're cumming! Your " + macro.describeDick + " cock spurts out $VOLUME of seed, obliterating " + container.describe(verbose) + " in a torrent of cum.";
return "You're cumming! Your " + macro.describeDick + " cock gushes $VOLUME of seed, obliterating " + container.describe(verbose) + " in a torrent of cum.";
else
return "You're cumming! Your " + macro.describeDick + " shaft gushes $VOLUME of seed, splooging " + container.describe(verbose) + ".";
}
function defaultFemaleSpurt(container, macro, verbose) {
if (isFatal(macro))
return "Your moist slit splatters $VOLUME of slick juices, drowning " + container.describe(verbose) + " in your building lust.";
else
return "You're cumming! Your " + macro.describeDick + " shaft spurts out $VOLUME of seed, splooging " + container.describe(verbose) + ".";
function defaultGrind(container, macro, verbose) {
@@ -352,3 +370,48 @@ rules["stomp"].push({
falling off.";
}
});
// ANAL VORE
rules["anal-vore"].push({
"test": function(container, macro) {
return hasExactly(container, "Person", 1)
&& hasOnly(container, ["Person"]);
}, "desc": function(container, macro, verbose) {
let adjective = ["musky","winding","churning"][Math.floor(Math.random()*3)];
return "Your weighty rump slams against the ground. A shock of pleasure runs up your spine as a " + container.describe(verbose) + " slides up your ass,"
+ (macro.maleParts ? " grinding against your prostate" : "") + ". A powerful clench drags them deeper into your bowels, sealing them away in your " + adjective + " depths.";
}
});
rules["anal-vore"].push({
"test": function(container, macro) {
return hasExactly(container, "Car", 1)
&& hasOnly(container, ["Car"]);
}, "desc": function(container, macro, verbose) {
return "You ram " + container.describe(verbose) + " up your ass, biting your lip as it" + (macro.maleParts ? " rubs along your prostate" : " slides into velvety depths") + ".\
You moan and clench hard, yanking it in with a wet <i>shlrrp</i> and abruplty silencing its blaring horn.";
}
});
rules["anal-vore"].push({
"test": function(container, macro) {
return hasExactly(container, "Bus", 1)
&& hasOnly(container, ["Bus"]);
}, "desc": function(container, macro, verbose) {
return "A speeding bus slams on its brakes as you abruptly sit - but it's too late to stop. A gasp flies from your lips as it penetrates your greedy ass, sinking halfway in and coming to a halt. \
You grunt and squeeze, causing its frame to creak and groan. Two fingers to the back are enough to get it moving again, and it slowly works inside. You shiver and moan, taking it in all the way. \
Your ass claims " + container.describe(verbose) + ".";
}
});
rules["anal-vore"].push({
"test": function(container, macro) {
return hasExactly(container, "Bus", 1)
&& hasOnly(container, ["Bus"]);
}, "desc": function(container, macro, verbose) {
return "A speeding bus slams on its brakes as you abruptly sit - but it's too late to stop. A gasp flies from your lips as it penetrates your greedy ass, sinking halfway in and coming to a halt. \
You grunt and squeeze, causing its frame to creak and groan. Two fingers to the back are enough to get it moving again, and it slowly works inside. You shiver and moan, taking it in all the way. \
Your ass claims " + container.describe(verbose) + ".";