code:
/**
 * Created by aimozg on 11.01.14.
 */
package classes.Items.Armors
{
	import classes.GlobalFlags.kFLAGS;
	import classes.Items.Armor;
	import classes.Monster;
	import classes.PerkLib;
	import classes.Player;
	import classes.Scenes.Areas.HighMountains.MinotaurMob;
	import classes.Scenes.Areas.Mountain.Minotaur;
	import classes.lists.BreastCup;
	import classes.GlobalFlags.kGAMECLASS;

	public final class LustyMaidensArmor extends Armor {

		public function LustyMaidensArmor() {
			super("LMArmor", "LMArmor", "lusty maiden's armor", "a bikini-like set of armor that could only belong to a lusty maiden", 6, 400, "This skimpy chain bikini barely qualifies as armor.  Indeed, the chain is made from links much finer and lighter than normal, so fine that it feels almost silken under your fingertips.  A simple seal in the g-string-like undergarment states, \"Virgins only.\" \nRequirements: breast size of at least DD-cups and be a female.", "Light", false, false);
			boostsSeduction(getSeductionLevel);
			boostsSexiness(getSeductionLevel);
		}

		override public function get def():Number {
			if (player.hasVirginVagina()) return 9 + flags[kFLAGS.BIKINI_ARMOR_BONUS];
			return 6 + flags[kFLAGS.BIKINI_ARMOR_BONUS];
		}

        public function getSeductionLevel():Number{
            return (player.hasVirginVagina() ? 10 : 6) + flags[kFLAGS.BIKINI_ARMOR_BONUS];
        }

		override public function canUse():Boolean {
			if (!super.canUse()) {
				return false;
			}
			if (player.biggestTitSize() < BreastCup.A) { //{No titties}
				outputText("You slide the bikini top over your chest and buckle it into place, but the material hangs almost comically across your flat chest.  The cold chain dangles away from you, swaying around ridiculously before smacking, cold and hard into your [nipples].  This simply won't do - it doesn't fit you, and you switch back to your old armor.\n\n");
				return false;
			}
			if (player.biggestTitSize() < BreastCup.D) { //{Too small titties}
				outputText("You slide the bikini top over your chest, shivering when the cold chains catch on your nipples, stiffening them nicely. The material nicely accentuates your chest, but there's a definite problem.  Your [chest] aren't big enough!  Sure, they look nice done up in glittering silver and gold trim.  If only the metal wasn't hanging loosely around your underbust, flopping around whenever you move.  It doesn't even look that sexy on you!  You'll need a bigger chest to truly make use of this armor.  For now, you switch back to your old equipment.\n\n");
				return false;
			}
			outputText("You slide the bikini top over your more than ample chest, shivering at the touch of the cold metal on your sensitive nipples.  It stretches taut around each of your globes, and by the time you're snapping the narrow leather strap behind your back, the exotic metal bra has grown warm enough to make your chest tingle pleasantly.  Your hands find their way to your jiggling, gilded mounds and grab hold, fingers sinking into the shimmering flesh without meaning to.  Your nipples scrape along a diaphanous inner lining so pleasantly that a moan slips out of your mouth as you admire how your cleavage bulges out above the glittery cups.  A narrow band of steel with a shiny black leather thong underneath connects the two halfs of the top, padded for comfort but pulled away from you by the sheer size of your straining bosoms.");
			outputText("\n\nAs you examine the material, you realize that leather band isn't just padding.  It's as slippery as butter on grease and has a subtle indentation, one that would let it perfectly cushion something round, thick... and throbbing.  Your cheeks color when you catch yourself thinking of titfucking some beast while dressed in this outfit, taking a thick load of monster or dick-girl seed right over your cleavage, face, and hair.  You could even line it up with your mouth and drink down a few swallows if you wanted to.");
			outputText("\n\nYou shake your head and smile ruefully - maybe once you finish getting dressed!  There's still a bottom to put on, after all.  Regardless, one of your hands keeps coming to rest on your boob, idly groping and fondling your heavy tit whenever you have a free moment.  This sure is some fun armor!");
			dynStats("lus", 25, "scale", false);
			outputText("\n\nNow, the bottom is a leather thong and skirt combination.  The thong itself is leather dyed radiant white, with intricate gold filigree covering the front triangle.  On the back triangle, there's a similar pattern, though you could swear that from a distance the pattern looks a bit like arrows pointing towards where your [asshole] will be with golden sperm surrounding them. No, that has to be your imagination.  All this time in this strange land must really be getting to you!  Both pieces are molded to accentuate the female form, with a crease in the gusset that will rest over your vagina, ensuring ");
			if ((player.hasCock() && !player.hasSheath()) || player.balls > 0) {
				outputText("that it won't fit you ");
				if (player.hasCock()) outputText("or your " + player.multiCockDescriptLight());
				else outputText("or your [balls]");
				outputText(" at all!  You put your old gear back on with a sigh.");
				return false;
			}
			else if (!player.hasVagina()) {
				outputText("that it will dig uncomfortably into your featureless groin.  You put your old gear back on with a sigh.");
				return false;
			}
			outputText("your [vagina] is prominently displaying your camel-toe for all to see.");
			outputText("\n\nYou don't give it a second thought, sliding the white thong snugly into place.  Snug warmth slides right up against your mound, the perfectly formed crease slipping right into your labia, where it belongs, ");
			if (player.vaginas[0].virgin) {
				outputText("a tight seal over your chastity, displaying your womanly status while guarding your maidenhead at the same time.  A smug, smile tugs at the corners of your mouth - who would take your virginity when they can tit-fuck your tits or fuck your butt?");
				if (player.cor < 33) outputText("  Wait, that isn't right...");
			}
			else {
				outputText("a tight seal over your previously-claimed cunt.  Regret fills you when you realize you could have kept your chastity intact simply by servicing the lusty studs and monsters with your ass and tits.");
			}
			if (player.wetness() >= 3) outputText("  The moisture you normally drip seems to soak right into the gusset instead of running down your [legs] like normal, giving you a much more chaste appearance in spite of the lewd garments that even now seem to shape your femininity and [butt] into perfectly arousing shapes.");

			outputText("\n\nLast is the chain skirt - perhaps the easiest part to put on.  It's barely three inches long, such that it exposes your [butt] almost entirely, and when you bend over, fully.  The bottom of your vaginal crease can be spied as well, and should you desire to show yourself off, a simple stretch or tug would put you completely on display.  You wiggle about, watching the reflective material ripple almost hypnotically, one hand still on your boobs, mauling at your own tits with passion.  THIS is how a chaste champion should dress - perfectly modest but full of erotic energy to overwhelm her enemies with!\n\n");
			return true;
		}

		//"Chaste" Paizuri - works for most foes with penises.
		public function lustyMaidenPaizuri(player:Player = null, monster:Monster = null):void {
			if (player == null) player = player;
			if (monster == null) monster = monster;
			clearOutput();
			outputText("You make sure " + monster.a + monster.short + " is comfortably lying down, " + monster.pronoun3 + " " + monster.cockDescriptShort(0) + " exposed to the air");
			if (monster.lust100 < 50) outputText(", soft and not yet ready.  You purr throatily as you touch the burgeoning boner, tracing your thumb across the sensitive urethral bulge.  It pulses slowly at your touch, and the base begins to fill with blood, thickening against your palm.  You splay your remaining fingers just under the " + monster.cockHead() + ", tickling around the glans until that too is flooding with blood, expanding under your caresses until it slowly lifts away from " + monster.pronoun3 + " abdomen.");
			else if (monster.lust100 < 100) outputText(", nicely turgid but quite ready to feel the sensuous pleasure of your girls' tight squeeze.  You lean over the defeated foe and kiss the rod just under the " + monster.cockHead() + ", smiling when it expands under your slow kisses.  Your fingers move up to play with the sensitive, urethral bulge that runs along the underside, and in no time, " + monster.a + monster.short + " is hard as a rock, so ready that " + monster.pronoun3 + " member is lifting up on its own.");
			else outputText(", bouncing with each beat of " + monster.pronoun3 + " heart, thick beads of pre dribbling from " + monster.pronoun3 + " tip as you bat " + monster.pronoun3 + " hands away before " + monster.pronoun1 + " can waste the load " + monster.pronoun1 + "'s saved up for you.");
			outputText("\n\nYour own moistness has risen to uncomfortable levels, and the sticky seal of your g-string's curvy front panel slips oh-so-slightly across your hot, hard clitty, something that makes your [legs] weak and your arms quake.  The leather fold on the front of your undergarments is so slippery that each movement has it shifting and shuffling across your nethers, a tiny bit at a time.  Already, you have your [butt] up in the air, shaking it back and forth for more of the delicious friction.  The motion only exacerbates the jiggling your [chest] are doing inside their tight containment.  " + monster.capitalA + monster.short + "'s head tilts up to watch, an unashamedly lusty look overtaking " + monster.pronoun3 + " features as " + monster.pronoun1 + " enjoys the inadvertent show you're giving.");

			outputText("\n\n\"Such lascivious behavior!  I'll have to make sure you're thoroughly purified,\" you state matter-of-factly with a feigned serious look on your blushing [face].  To put proof to your taunt, you grab the throbbing shaft by the base and aim it straight up, dropping your [chest] down on either side.  The slippery, self-lubricating leather that joins the cups of your sexy, chainmail bra together loops over the top of the " + monster.cockDescriptShort(0) + " to properly restrain it, pinned in the slick, sweaty valley you call your cleavage.  It thrums happily against your [skin] when you compress the jiggly flesh around it, leaning down to let it feel pleasure that rivals any pussy, no matter how wet or skilled.");

			outputText("\n\nYou smile at your defeated foe as you begin to bob over " + monster.pronoun2 + ", and you find more words coming from your lips without meaning to speak.  \"That's better.  You really shouldn't go around trying to fuck everyone like that!  Pussies are ");
			if (!player.hasVirginVagina()) outputText("a gift too fine for a selfish brute like you");
			else outputText("sacred and to be shared only with a cherished loved one");
			outputText("!  Now, I'm going to squeeze all the impure thoughts out of you through your cock, so you just lie there and focus on letting them out all over my breasts.\"");

			outputText("\n\n" + monster.capitalA + monster.short + " nods solemnly while " + monster.pronoun3 + " eyes half-cross from pleasure.  You bottom out around " + monster.pronoun3 + " base");
			if (monster.balls > 0) outputText(" and fondle " + monster.pronoun3 + " balls one-handed, squeezing the virile orbs to try and coax more of " + monster.pronoun3 + " dirty, perverted thoughts to distill into salty seed");
			else if (monster.short == "anemone") outputText(" and stroke " + monster.pronoun3 + " taint, even brushing over the featureless spot where an asshole would be, if she had one, to try and coax more of " + monster.pronoun3 + " dirty, perverted thoughts to distill into salty seed");
			else outputText(" and stroke " + monster.pronoun3 + " taint, even brushing close to " + monster.pronoun3 + " asshole to try and coax more of " + monster.pronoun3 + " dirty, perverted thoughts to distill into salty seed");
			outputText(".  A startled moan slips out of " + monster.pronoun3 + " lips, but you're just getting warmed up.  You dive down onto " + monster.pronoun3 + " " + monster.cockDescriptShort(0) + ", taking the " + monster.cockHead() + " straight into your mouth with a smooth gulp.");
			if (monster.cockArea(0) >= 80) outputText("  It's so big and strong that it pushes right into your throat, stretching out your neck in the shape of the intruding cock.");
			outputText("  The strong, pulsing cock feels so good inside your mouth, like it belongs there, and you can't help but think that you're doing a good deed by helping " + monster.a + monster.short + " empty every last perverse desire onto your purifying breasts.");

			outputText("\n\nUp and down, up and down, you slide across the expansive member with unhurried, slow strokes, each time making your [chest] bounce beautifully.  Your [nipples] are so hard");
			if (player.hasFuckableNipples() || player.lactationQ() >= 100) outputText(", dripping,");
			outputText(" and sensitive, scraping around the nebulous inner lining of your bikini and occasionally catching on the metal that feels even warmer than normal.  Behind you, your [butt] is bouncing happily to the rhythm your corruption-devouring breasts have set, the thong digging tightly into your [vagina] in the most exquisite way.  You feel so hot and sensual, but still secure in the knowledge that you won't have to worry about such a creature ravaging your ");
			if (player.hasVirginVagina()) outputText("maidenhead");
			else outputText("sloppy gash");
			outputText(".  Still, you're not sure how much hotter you can get before you're cumming all over your g-string, letting your own dark thoughts seep into your magical underwear.");

			outputText("\n\nBelow you, " + monster.a + monster.short + " is moaning out loud and roughly thrusting " + monster.pronoun3 + " hips to meet your every motion, their tip expanding slightly in your mouth as " + monster.pronoun3 + " passion mounts.  You pull back");
			if (monster.cockArea(0) >= 80) outputText(" with a messy cough to clear your throat");
			outputText(" and tease, \"Oh, you're going to cum already, aren't you?  Well, go ahead then.\"  You pump your [chest] faster against the twitching rod and smile when a thick bead of pre sloughs off into your squishy boobs, smearing across your [skin].  You kiss it, licking the dollop that slips out of the dilating cum-slit before commanding, \"Cum for me, " + monster.mf("boy","girl") + ".  Let it allll out.\"");
			outputText("\n\n" + monster.capitalA + monster.short + " groans and shakes");
			if (monster.balls > 0) outputText(", " + monster.pronoun3 + " balls pumping and bouncing in " + monster.pronoun3 + " sack");
			outputText(", " + monster.pronoun3 + " urethra swollen with the heavy load about to explode out of it.  \"Drain out all that nasty jizz,\" you quip as you bottom your breasts down on " + monster.pronoun2 + " and slurp the quivering cock-head into your sperm-hungry lips.  Salty warmth fires in a long rope into your well-prepared mouth and over your tongue.  The blissed out look on your captive foe's face combined with the feel of " + monster.pronoun2 + " giving up all " + monster.pronoun3 + " naughty thoughts thanks to your cleavage gets you so fucking hot that your [hips] begin to shake spastically.");
			outputText("\n\nYou do your best to hold on to the pumping cock while it fires spastic ropes into your mouth, but the way your undies are digging into your [vagina] and grinding across your [clit], you simply lack the control to keep it up.  You throw back your head and cry out ecstatically, taking the next ejaculation in a long line across your cheek, up your nose, and onto your forehead.  Again and again, long ropes of tainted jizz spatter all over your face, dripping messily over the exposed tops of your teats.  You lick your lips while you cream the inside of your [armor] with girlish love-goo, feeling such immense pleasure at letting your own impure desires out into the armor.  More jets, weaker than the early ones, crest from the bouncing cock-tip to fall weakly over your well-slicked mammaries.");
			outputText("\n\nYou seize " + monster.a + monster.short + " by " + monster.pronoun3 + " base and jerk " + monster.pronoun2 + " off with quick, sharp little strokes, commanding, \"All of it!  Give me all of your lusts and cruel desires!\".  " + monster.mf("His","Her") + " back arches as " + monster.pronoun3 + " orgasm redoubles, and fresh ropes begin to spout out again, ensuring your face and breasts are soaked with the sloppy spooge.  It runs in moist, warm rivulets into your concealing top, and what doesn't drip down, you compulsively rub into your skin, feeling a positively healthy glow from the feeling.  You don't free the " + monster.cockDescriptShort(0) + " from your chesty embrace until every single drop is splattered all over you, and when you do, you leave a thoroughly wiped-out " + monster.short + " behind you.");

			outputText("\n\nThe stink of sperm slowly fades as you move, almost seeming to absorb into your skin.  It leaves you with a healthy glow and a surety to your movements, sure that your revealing armor is going to protect you.");
			//Slimefeed, minus slight corruption if PC is a virgin, raise sensitivity
			player.slimeFeed();
			flags[kFLAGS.BIKINI_ARMOR_BONUS] += 2;
			if (flags[kFLAGS.BIKINI_ARMOR_BONUS] > 8) flags[kFLAGS.BIKINI_ARMOR_BONUS] = 8;
			player.orgasm('Vaginal');
			dynStats("sen", 2);
			if (player.hasVirginVagina()) dynStats("cor", -1);
			//If minotaur, increase addiction slightly.
			if (monster is Minotaur || monster is MinotaurMob) player.minoCumAddiction(3);
			if (monster.short == "Ceraph") flags[kFLAGS.CERAPH_BEATEN_AND_RAPED_COUNTER]++;
			//Usable on: Imps, Minotaurs, Satyrs, Incubus Mechanic, Anemones, Spider Guys, Akbal, Drider, Fetish Zealot, Sand Trap, Very Corrupt Jojo (Maybe slight decorruption to him), Ceraph, Red Kitsune if cock out.
			if (game.inCombat)
				combat.cleanupAfterCombat();
			else doNext(camp.returnToCampUseOneHour);
		}
	}
}


code:
package classes.Items.Armors
{
	import classes.FetishManager;
	import classes.GlobalFlags.kFLAGS;
	import classes.ItemType;
	import classes.Items.Armor;
	import classes.Player;
	import classes.BodyParts.*;

	/**
	 * ...
	 * @author Kitteh6660
	 */
	public class MaraeArmor extends Armor
	{
		public function MaraeArmor()
		{
			super("TB.Armr","T.B.Armor","tentacled bark armor","a suit of tentacled bark armor",35,1000,"This suit of armor is finely made from the white bark from corrupted Marae you've defeated. It comes with tentacles though.","Heavy");
		}

		override public function get supportsBulge():Boolean { return true; }

		override public function get def():Number { return 15 + int(player.cor / 5); }

		override public function useText():void
		{
			outputText("You " + player.clothedOrNaked("strip yourself naked before you ") + "proceed to put on the armor. ");
			if (player.cor < 33) outputText("You shudder at the idea of wearing armor that is infested with tentacles but you proceed anyway. ");
			if (player.cor >= 33 && player.cor < 66) outputText("You are not sure about the idea of armor that is infested with tentacles. ");
			if (player.cor >= 66) outputText("You are eager with the idea of wearing tentacle-infested armor. ");

			outputText("\n\nFirst, you clamber into the breastplate. ");
			if (player.isBiped()) //Some variants.
			{
				if (player.lowerBody.type == LowerBody.HUMAN) outputText("Then you put your feet into your boots. With the boots fully equipped, you move on to the next piece. ");
				else outputText("Then you attempt to put your feet into your boots. You realize that the boots are designed for someone with normal feet. You have to modify the boots to fit and when you do put on your boots, your feet are exposed. ");
			}
			outputText("Next, you put on your reinforced bark bracers to protect your arms.\n\n")
			if (!player.isTaur()) {
				outputText("Last but not least, you put your silken loincloth on to cover your groin. You thank Rathazul for that and you know that you easily have access to your ");
				if (player.hasCock()) outputText(player.multiCockDescriptLight());
				if (player.hasCock() && player.hasVagina()) outputText(" and ");
				if (player.hasVagina()) outputText(player.vaginaDescript());
				//Genderless
				if (!player.hasCock() && !player.hasVagina()) outputText("groin");
				outputText(" should you need to. ");
				if (player.hasCock())
				{
					if (player.biggestCockArea() >= 40 && player.biggestCockArea() < 100)
					{
						outputText("Large bulge forms against your silken loincloth. ");
					}
					if (player.biggestCockArea() >= 100)
					{
						outputText("Your manhood is too big to be concealed by your silken loincloth. Part of your " + player.cockDescriptShort(player.biggestCockIndex()) + " is visible. ");
						if (player.cor < 33) outputText("You let out a sigh. ");
						else if (player.cor >= 33 && player.cor < 66) outputText("You blush a bit, not sure how you feel. ");
						else if (player.cor >= 66 || game.fetishManager.compare(FetishManager.FETISH_EXHIBITION)) outputText("You admire how your manhood is visible. ");
					}
				}
				if (player.cor >= 66 || game.fetishManager.compare(FetishManager.FETISH_EXHIBITION))
				{
					outputText("You'd love to lift your loincloth and show off whenever you want to. ");
				}
			}
			else {
				outputText("Last but not least, you take a silken loincloth in your hand but stop short as you examine your tauric body. There is no way you could properly conceal your genitals! ");
				if (player.cor < 33) outputText("You let out a sigh. Being a centaur surely is inconvenient! ");
				else if (player.cor >= 33 && player.cor < 66) outputText("You blush a bit, not sure how you feel. ");
				else if (player.cor >= 66 || game.fetishManager.compare(FetishManager.FETISH_EXHIBITION)) outputText("Regardless, you are happy with what you are right now. ");
				outputText("You leave the silken loincloth in your possessions for the time being.");
			}
			outputText("You are suited up and all good to go. ");
			if (player.lust100< 20)
			{
				outputText("\n\nYou can feel the tentacles inside your breastplate slither their way and tease your [butt]. You " + (player.cor < 60 ? "gasp in surprise" : "moan in pleasure") + ".");
				dynStats("lust", 30);
			}
		}
	}
}

license: unknown


code:
//forest gown that has a slow progression to a dryad

package classes.Items.Armors
{
	import classes.GlobalFlags.kGAMECLASS;
	import classes.BodyParts.*;
	import classes.Items.Armor;
	import classes.Player;
	import classes.TimeAwareInterface;
	import classes.lists.Gender;
	import classes.CoC;
	import classes.PerkLib;
	import classes.Appearance;
	import classes.BodyParts.Hips;
	import classes.BodyParts.Butt;
	import classes.GlobalFlags.kFLAGS;
	import classes.GlobalFlags.kGAMECLASS;
	import classes.Scenes.Areas.Mountain.Minotaur;
	import classes.Scenes.Areas.HighMountains.MinotaurMob;
	import classes.Ass;

	public class NaughtyNunsHabit extends Armor{

		public function NaughtyNunsHabit():void {
			super("NNunHab","Nun's Habit","Naughty Nun's Habit","A scandalous nun's habit",4,1000,"This navy and white nun’s habit is anything but pure and pious. The short hem looks like it will barely reach your thighs, and hidden in its pockets are some equally religious seeming items with naughty purposes. The thick and sturdy cross that terminates in a dildo and the rosary made of oddly large rubbery beads make you question if this really belongs to any religious order.","Light");
			boostsSeduction(8);
			boostsSexiness(8);
		}

		override public function useText():void{ //Produces any text seen when equipping the armor normally
			clearOutput();
			if (flags[kFLAGS.EQUIPPED_NAUGHTY_NUN] == 0){
				outputText("You decide to wear the nun’s habit, pulling the satiny garment from your bag as you undress."
				+"\n\nYou hold the navy garment against your frame, trying to gauge how well it will fit before you put it on. While you enjoy the feel of the cool, smooth fabric against your skin you can’t help but wonder if it isn’t a little short. It seems to reach around your mid thigh, likely to give you enough cover for modesty, but show enough of your [skin] to tantalize. Though you suppose you shouldn't be surprised, especially considering where you got it from. You slip the habit on over your head and smooth it down.")
				if (player.averageBreastSize() <= Appearance.breastCupInverse("A")) outputText("\n\nThe thick, satiny fabric cups your chest, clinging to every curve in a perverse manner. It gives your chest an androgynous charm that is bound to make your foes look you over in curiosity and interest.");
				else if (player.averageBreastSize() > Appearance.breastCupInverse("A") && player.averageBreastSize() > Appearance.breastCupInverse("DD")) outputText("\n\nThe thick, satiny fabric clings to your chest, stretched out by the curve of your breasts. Every curve is highlighted by the way the smooth fabric cups your chest, lifting it slightly as though you were wearing a bra. This slight presentation goes against the pure intentions of the outfit, giving you a slightly perverse thrill.");
				else outputText("\n\nThe thick, satiny fabric is stretched to its limit around your [breasts], the front of the habit  now cupping your breasts like a navy second skin. The way the fabric holds up your breasts causes every curve to be noticeable, while your cleavage is emphasized, forming a dark crevice in the fabric of the habit. It’s positively perverse, hiding nothing while you are completely covered. You know your foes won’t be able to keep their eyes of your assets and how they jiggle under the taut fabric.");
				outputText("\nThe shiny fabric crinkles a little around your stomach and the top of your hips.");
				if (player.hips.rating <= Hips.RATING_AVERAGE) {
					outputText("\n\nThe navy fabric gently hangs on your [hips], hugging them enough to give a faint outline. It gives an innocent air to your figure as the hem of the habit rests at your mid-thigh.");
				}
				else if (player.hips.rating > Hips.RATING_AVERAGE && player.hips.rating < Hips.RATING_CURVY) {
					outputText("\n\nThe navy fabric clings to your [hips], giving a nice outline to them while letting the rest of the habit hang loose at your mid thigh. It crinkles with your movements making the hem flutter a little.");
				}
				else outputText("\n\nThe navy fabric pulls taut around your wide hips, clinging to you like a second skin. The hem reaches your mid thigh, though there's little movement thanks to the way the fabric clings to you more than a slutty secretary's skirt.");
				if (player.butt.rating <= Butt.RATING_AVERAGE) {
					outputText("\n\nWhile the short hem makes you a little concerned, you think the fabric will manage to cover your small behind most of the time, usually resting an inch or so below your buttocks. When you bend over however, you think it might ride up, outlining your behind or possibly flashing those nearby." + (player.cor < 40 ? " You can’t help but blush and try to pull the hem further down at this thought." : ""));
				}
				else if (player.butt.rating > Butt.RATING_AVERAGE && player.butt.rating <= Butt.RATING_JIGGLY) outputText("\n\nThe short hem is a concern but it seems that the fabric clings to your [butt] enough to keep it from riding up any higher than just below your cheeks. The fact it outlines your behind for the world to see makes you " + (player.cor < 40 ? "blush" : "flush with arousal") + ". If you bend over, however, you think the hem might ride up a little, showing the bottom curves of your butt to those around.");
				else outputText("\n\nThe short hem is a possible problem, but you soon find that your [butt] stretches the fabric taut against you, showing every curve and digging into your crevice while resting below your buttocks. It hides nothing but keeps you covered well enough. If you bend over the fabric is pulled too far, making it ride up enough to show a good chunk of your [butt] to those around.");
				if (player.longestCockLength() >= 8) outputText("\n\nYou notice your cock seems a little too long for the hem of this outfit and curse. Putting your hands in your pockets as you get ready to pull off the habit, you feel something made of fabric. Pulling it out you find it’s a tight thong made of pure white cotton. You shrug, assuming it’s meant to be worn with the habit and slip it on, the front cupping your cock into a bulgy but neat package while the back rubs against your taint. The thong definitely seems enchanted somehow, meant to comfortably hold your cock " + (player.balls > 0 ? "and balls " : "") + "tight enough against you to make yourself decent, while the obscene bulge created is noticeable through the fabric of the habit.");
				outputText("\n\nNow that you’re dressed you can’t help but admire yourself in the stream. You look like a member of a religious order, albeit a slightly perverted one, and feel that the mix of your pious outfit and the way it hugs your body will make you all the more sexy to your enemies. As you daydream about possible outcomes, your mind is suddenly filled with perverted fantasies with religious themes that leave you panting.");
				outputText("\nAs weird as that was, you realize you should continue on your journey now, though you might try to spread the word of the holy one across Mareth as you go... in your own special way, that is.");
				flags[kFLAGS.EQUIPPED_NAUGHTY_NUN] = 1
			}else{
				super.useText();
			}

		}

		public function naughtyNunCockWorship(doNext:Function = null):void{
			clearOutput();
			outputText("As [themonster] falls to the ground in defeat, you clasp your hands in prayer.");
			outputText("[say: Thank you for another victory, holy one. Another foe defeated to help purify this land and spread light]" + (player.cor > 40 ? ", you say in a somewhat sarcastic and theatrical way" : "") + ". ");
			outputText("\nA small smirk crosses your lips as you look over your fallen foe, delighting in the perversity of what you plan to do next.");
			outputText("\n\nYou " + (player.isNaga() ? "rest on the ground" : "kneel down") + " by [themonster]’s side, slowly beginning to stroke [monster.pronoun3] cock. [monster.pronoun1caps] looks at you in confusion, though as [monster.pronoun3] dick starts to harden [monster.pronoun1] closes [monster.pronoun3] eyes and leans back, bracing [monster.pronoun2]self with [monster.pronoun3] palms behind [monster.pronoun2].");
			outputText("\nAs [monster.pronoun3] dick begins to bloat in your grasp you tighten your grip, slowly stroking them with long deliberate motions.");
			outputText("\n\n[say: Holy one, allow me to use this wretched creature's body to thank you. May you feel everything your loyal servant does to this monstrous beast who does not know your light. Let me show you just how committed I am to you by serving the flesh of this lost one as though it were your own.]");
			outputText("\nYou increase the speed of your pumps, twisting your hand a little when you reach the tip to stroke over the sensitive head of their cock. As pre starts to flow from the tip of their member you coat your palm with it, slicking their length with lewd squelches. [Themonster] jerks [monster.pronoun3] hips as you squeeze the base of [monster.pronoun3] cock, grunting a little in pleasure.");
			outputText("\n\n[say: See how I dutifully use my mouth to cleanse this lost one. I will polish this pillar of flesh as though it were your own holy body]," + (player.cor > 40 ? " You declare as you gently puff hot air against the slick tip of [monster.pronoun3] cock, your thumb coming up to massage the frenulum teasingly" : "") + ". With one swift movement, you engulf the head of [monster.pronoun3] " + monster.cockAdjective() + " prick, trapping it in the heated cavern of your mouth. [Themonster]’s gasp amuses you as you suck on the tip, hollowing your cheeks as your tongue flicks across [monster.pronoun3] cum slit.");
			outputText("\n\nYou continue to rhythmically squeeze and pump the base of [monster.pronoun3] cock, feeling it flex against your palm with each flick of your tongue. You bob your head, dragging your tongue along the underside of [monster.pronoun3] cock as you teasingly let the tip poke the entrance of your throat but never let it in. Musky pre coats your tongue with each upwards slide, the smell and taste of arousal filling your senses. You can tell they’re getting close now, [monster.pronoun3] cock pulsing in your grip as you begin to jerk them faster, your grip tightening as your palm traverses [monster.pronoun3] length.");
			outputText("\nYou back off from sucking [monster.pronoun3] cock with a small pop, a strand of saliva and pre connecting you.");
			outputText("\n\n[say: Holy one, continue to support my conquest in your name. Show your humble servant how well I have pleased you through this perverted avatar. Shed your divine alabaster essence!]");
			outputText("\nAs you cry out these final words you see [themonster]’s cum slit engorging and feel [monster.pronoun3] release forcing its way past your grip. Thick seed spurts out in ropes, raining down on your kneeling form to decorate your navy blue habit. It clings in strands " + player.smallMedBigBreasts("to your chest", "to your breasts", "to your breasts and between your cleavage") + ", dripping down onto your lap in thick globs. You once again clasp your hands in prayer, though now they are sticky with seed.");
			outputText("\n\n[say: Thank you, holy one, for this opportunity to receive your blessing. May the essence this surrogate flesh produced be a conduit for your purity.] You slowly stand, seed slipping off the satiny fabric of your habit like water off a duck's back." + (player.cor > 40 ? " You slide a finger through the droplets of cum left on [themonster]’s cock, sucking your finger clean afterwards. [say: And this worship as a conduit for my perversion], you chuckle" : "") + ". Once clean of all spooge you straighten your habit out with a couple of small strokes and continue on your way.");
			player.slimeFeed();
			dynStats("sen", 2);
			if (player.hasVirginVagina()) dynStats("cor", -1);
			//If minotaur, increase addiction slightly.
			if (monster is Minotaur || monster is MinotaurMob) player.minoCumAddiction(3);
			if (monster.short == "Ceraph") flags[kFLAGS.CERAPH_BEATEN_AND_RAPED_COUNTER]++;
			if (game.inCombat)
				combat.cleanupAfterCombat(doNext);
			else doNext(camp.returnToCampUseOneHour);
		}

		public function naughtyNunMasturbationMenu():void{
			menu();
			var button:int = 0;
			if (!player.isTaur()){
					if (player.hasCock()){
						addButton(button++, "Rosary(Cock)", naughtyNunRosaryCockMasturbation).hint("Satisfy your own heavenly tool using your rosary beads.");
						addButton(button++, "Baptism", naughtyNunSelfBaptism).hint("Baptize yourself with your cum.");
					}
					if (player.hasVagina()){
						addButton(button++, "Cross(Vagina)", naughtyNunCrossVaginalMasturbation).hint("Pleasure yourself with that holy tool.");
					}
					addButton(button++, "Rosary(Ass)", naughtyNunRosaryAssMasturbation).hint("Plump the depths of your sinful body with your rosary beads.");
					addButton(button++, "Cross(Ass)", naughtyNunCrossAnalMasturbation).hint("Penetrate your sinful body with that holy tool.");
					if (player.cor > 40) {
						addButton(button++, "Punishment", naughtyNunPunishment).hint("Your recent sinful behavior must be corrected. Punish yourself, and try not to enjoy it.");
					}
			}
			addButton(14, "Back", game.masturbation.masturbateMenu);
		}

		public function naughtyNunRosaryCockMasturbation():void{
			clearOutput();
			outputText("Feeling pent up, your thoughts drift to the perverted toys that reside in the pocket of your habit."
			+"\n\nConcealed from view, you notice their weight more and more as your arousal increases. Making yourself comfortable in a secluded spot, you lift the hem of your habit, slipping your slowly hardening [cockplural] out into the open."
			+"\nYou wrap your hand around your shaft, pumping leisurely until your hand is slick with pre and your [cockhas] grown to [cockeir] full size. Your free hand slips into the pocket of your habit and closes around the rosary, its slick rubber beads rolling under your digits. Pulling it from your pocket you marvel at the thick rubbery texture and can’t help but wonder how they would feel against " + (player.cockTotal() > 1 ? "one of your cocks" : "your [cock]") + "."
			+"\n\nAs you idly stroke your cock and roll the lube slickened beads between your fingers, you slowly begin to wrap the rosary around the base of your [cock]. The firm beads slowly form a bumpy, slick sheath, that you then slide up and down your length. Each pump of your hand makes the dark wood cross bounce against your knuckles and each squeezing motion makes the bumpy channel pulse."
			+"\n\nAs you continue to pump your [cock], your pre mixes with the natural lube of the beads, making each movement smoother as you involuntarily thrust your hips into your makeshift nubby bead-pussy. You shiver in pleasure as each ridged ring of beads tries to clench and stroke you to orgasm, your [cock] twitching and pulsing as you bottom out. The cool air drifting over the moist tip of your [cockhead] while the now warm beads stroke closer to the base causes a duo of sensations that drag you closer to ecstasy."
			+"\nAs you feel yourself getting close to orgasm, you pull on the wooden cross, pulling the beads tight around the base of your cock.  You cry out as your [cock] pulses as it tries to cum, but the thick rubber beads form a supernaturally tight seal, your phantom orgasm making you pant and your legs tremble."
			+"\n\nAs you come down from the orgasmic high your [cock] continues to throb and twitch, the head swollen and red as if angry at your denial of release. You begin to stroke your length again, the now hyper sensitive flesh making each movement much more intense than usual. Your hips buck with each stroke, your face flushed as you moan and grunt loudly."
			+"\n\n You soon feel the pressure of your second release building up as you tease the tip of your [cock]. You begin to frantically hump your fist, eager to reach your deserved climax as your cock pulses under your touch. You whine as your cock swells and you pull the rosary free from your base, cum surging up your length " + (player.balls > 0 ? "as your balls tighten" : "") + ". You can literally feel your urethra bulge under the size of your load and as your cum surges out in thick ropes, arcing forward, splattering a few feet away [if (hasVagina) as your pussy puddles beneath you]. [if (cumhighleast) This continues for several more ropes, each falling a little closer and forming a thick white trail leading to your resting form.]"
			+"\n\nThe last few spurts coat your cock and the rosary, the dark wood and black rubber decorated with your pearly white spooge in a somewhat beautiful dichotomy of purity and lust. You lay there panting for a while before cleaning yourself up and pocketing the rosary, enjoying the feeling of your silky habit against your sensitive skin as you curl up for a nap.");
			player.orgasm('Dick');
			game.masturbation.updateMasturbation();
			doNext(camp.returnToCampUseOneHour);
		}

		public function naughtyNunRosaryAssMasturbation():void{
			clearOutput();
			outputText("Feeling pent up, your thoughts drift to the perverted toys that reside in the pocket of your habit. Concealed from view, you notice their weight more and more as your arousal increases."
			+"\n\nMaking yourself comfortable in your secluded spot, you lift the back hem of your habit, exposing your [butt] to the open air. Your hand slips into the pocket of your habit and instinctively closes around the rosary, its slick rubber beads rolling under your digits. Pulling it from your pocket you marvel at the dark, shining beads and can’t help but think how similar they are to anal beads."
			+"\nThe rosary's rubbery beads are easily an inch thick at the smallest, the glossy coating of lube they constantly seem to be coated with perfect for inserting them with ease."
			+"\n\nYou blush a little as you slowly position yourself with your [ass] lifted in the air. You bring the rosary to your pucker, rolling the lubed up rubber over your crack, occasionally using a little more pressure when a bead meets your taint. You can feel it spread your [asshole] around its girth with each press, and soon begin to push a whole bead in with your thumb, unable to resist the temptation any longer." + (player.ass.analLooseness >= Ass.LOOSENESS_LOOSE ? " The beads slips inside easily, your asshole already used to being filled." : " It slips inside with some pain and effort, as you're not used to insertions.")
			+"\nA groan escapes your lips as your insides grip at the firm rubber before the first bead is joined by a second. You soon find yourself pushing more and more of the rosary into yourself, panting as each bead spreads you and fills your insides.You can feel the beads roll deeper as you shift about, your tunnel dragging them in with an almost hungry fervor.[if (hasCock) The beads press and squeeze your prostate, the pressure building as more of the slowly warming rubber slips into you.]"
			+"\n\nYou eventually reach the end of the rosary, the dark wooden cross gently tapping your [if (hasballs) balls|[if (hasVagina) [vagina]| ass]] with each squirm you make. You feel delightfully full, rubbing your stomach lightly as you pant in pleasure. Even the slightest of touches makes your insides clench and shudder in response. You almost don’t want to stop, reveling in your prone form as your roving fingers travel over your belly, lingering in the sensitive spots you discover before starting their journey again."
			+"\n\nYou bring your teasing fingers back to your [ass], slowly closing them around the wooden cross. Once you’re sure you’ve got a firm grip you exhale in preparation, asshole twitching all the while. With a gentle tug you begin to pull the beads free. It feels like multiple knots are withdrawing from you at once, your insides clinging tightly to each bead as the first stretches your entrance open before slipping out with a slight ‘pop’. You groan and rock your hips as you continue to ease each bead from your sensitive tunnel, eagerly pulling each out faster than the last. You soon barely have a break between each gentle tug, leaving just enough time so that you can feel between the removal of each one, sweat dripping from your brow as you moan through clenched teeth."
			+"\nYou can feel your release coming, building rapidly and ready to engulf you. With one last tug the final bead comes out and you cum, your asshole twitching [if (hasCock) , [cocks] spurting thick ropes of cum] [if (hasVagina) and your pussy thoroughly juicing itself]. You remain on the ground for some time, panting and reveling in the post orgasmic haze of your perverted act, before cleaning yourself up. You pocket the rosary and curl up for a nap, the silky fabric of the habit cool against your flushed skin.");
			player.orgasm('Anal');
			player.buttChange(12, true);
			game.masturbation.updateMasturbation();
			doNext(camp.returnToCampUseOneHour);
		}

		public function naughtyNunCrossVaginalMasturbation():void{
			clearOutput();
			outputText("Feeling pent up, your thoughts drift to the perverted toys that reside in the pocket of your habit. Concealed from view, you notice their weight more and more as your arousal increases."
			+"\n\nMaking yourself comfortable in your secluded spot, you lift the hem of your habit, slipping it up to your belly to expose your [pussy]. As you idly toy with yourself, dragging a trail of arousal through your moist lips, you slip your free hand into your pocket. Your fingers close around the firm shaft of the golden cross, your fingertips running along small veins as you grasp it tighter. You lazily circle your clit with one hand as you pull the cross from your habit, the head of the thick shaft pointing towards you as you bring it to your lips.\n"
			+"\nYou dip your fingers into your [pussy] and begin to suck the bulbous head of the cross, lubing it up with a layer of saliva. You rock your head back and forth along the cross’s length, slurping eagerly as your fingers delve deeper inside you. As your fingers graze your g-spot, your palm roughly grinds over your clit, leaving you to moan and drool over the faux phallus as your hips gently buck, reflexively."
			+"\n\nOnce you feel you’ve adequately prepared your perverse dildo, you line it up with your now aroused [vagina]. You push the blunt head into your entrance with a small gasp, the golden member [if (vaginallooseness > 3) barely| [if (vaginallooseness == 2) easily]] stretching you as it delves deeper into your [vagina], your walls clinging to the sculpted veins."
			+"\nYou continue to feed the golden dong into yourself as you buck your hips, moaning as you hold the top of the cross like a handle. This thing sure rubs in all the right places!"
			+"\n\nYou eventually run out of faux-cock to take and spend a few moments enjoying the fullness within your [pussy], clenching and unclenching your tunnel around it. You can't help but marvel at the masterful sculpt of the cross, crafted so that each clench is rewarded by the insistent pressure of the thick veins rubbing and digging into all your most sensitive spots."
			+"\n\nYou grab the top of the cross and pull it out with a teasingly slow pace, the thickness and texture stirring you, before slamming it back in, using the top as a lever to take as much as you can in one thrust.  You delight in the way it rapidly spreads you, the mushroom head bashing into the entrance of your womb with each eager thrust, while also dragging across your g-spot each time you pull out."
			+"\n\nYou can feel your orgasm building as you desperately fuck yourself with the toy, your insides twitching [if (hasballs) as your balls tighten[if (hasCock) and your dick swells]|[if (hasCock) as your dick swells]]. With one last flick of your [clit] and a deep thrust of the toy, you cum, your [pussy] [if (vaginalwetness < 2) leaking | [if (vaginalwetness < 3) dripping | [if (vaginalwetness < 5) squirting]]] girl lust all over the false cock and down your crack."
			+"[if (hasballs) Your balls tighten and tremble [if (hasCock) and your [if (cocks > 1) cocks spurt|cock spurts]] eagerly, thick wads of cum coating your belly as your pussy flutters around the toy|[if (hasCock) Your [if (cocks > 1) cocks spurt|cock spurts] eagerly, thick wads of cum coating your belly as your pussy flutters around the toy]]."
			+"\n\nYou slip the cross from your well fucked [pussy], its golden shaft glittering in the light, thanks to its new coat of fem lust. You clean yourself and the toy up, before pocketing it and curling up for a nap, with your lust sated.");
			player.cuntChange(8 * 1.5, true);
			player.orgasm('Vaginal');
			game.masturbation.updateMasturbation();
			doNext(camp.returnToCampUseOneHour);

		}

		public function naughtyNunCrossAnalMasturbation():void{
			clearOutput();
			outputText("Feeling pent up, your thoughts drift to the perverted toys that reside in the pocket of your habit. Concealed from view, you notice their weight more and more as your arousal increases."
			+"\n\nMaking yourself comfortable in your secluded spot, you lift the hem of your habit, slipping it up to expose your [butt] before finding yourself in a comfortable position, with your [ass] lifted in the air."
			+"\nYou reach into the pocket of your habit, your fingers closing around the veiny shaft of the cross dildo. You pull it from your pocket and bring the mushroom like head of the fake phallus to your lips, licking it slowly. You lube the dildo up with your saliva, sucking on the head with fervor as you go."
			+"\n\nSoon, you're pumping the fake cock in and out your mouth, slurping down its length and swirling your tongue along its veined shaft. Saliva drips from the toy, your lips slick from the sloppy blowjob. You slip the faux-cock from your lips with a  slight ‘pop’ before bringing the now spit shined cock to your pucker."
			+"\n\nYou line the cross up with your [asshole], pushing the slick mushroom shaped head inside yourself with a slow but constant pressure. You feel the head spread you open as you shiver and moan, the veined shaft dragging along your insides as you use the top of the cross as a handle to push more of it inside. Your reflexively clench on this anal intruder, flexing around it as you feel the blunt head poke deeper inside you. [if (hasCock) You feel a gentle pressure on your prostate as the dildo bottoms out in your ass, which makes your body thrum with arousal.]"
			+"\n\nYou pull the dildo back out to the tip, your tunnel trying to hungrily grip the thick shaft and stop its retreat, before thrusting it back in with a panting whine. You quickly build up a rhythm that lets you rock back into the cross cock at re-entry, burying it deep in your ass and forcing the blunt head to mash into your [if (hasCock) prostate |sensitive tunnel walls]. You moan in delight as your arousal builds rapidly, your whole body shaking when your orgasm finally hits. Your tunnel clenches and twitches around the dildo as you are overcome with pleasure [if (hasCock),your pre slick [cock] spurting ropes of cum that hit the ground with considerable force [if (hasballs) and your balls tightening, drawn up against your body and roiling with heat]|[if (hasballs) ,your [balls] tighten and shudder, drawn up against your body and roiling with heat]]. [if (hasVagina) your neglected [pussy] thoroughly juices itself, making your [legs] slick]."
			+"\n\nYou spend a moment slumped on the ground as you recover from your orgasmic high before you remove the cross from your [ass], your lusts now satisfied. [if (hasCock) your muscles tighten around the void left by your holy tool, and you moan as you squirt a final drop of cum from your [cock].] You clean yourself and the dildo up before returning it to your habit’s pockets, curling up a contented, pious nap.");
			player.buttChange(8 * 1.5, true);
			player.orgasm('Anal');
			game.masturbation.updateMasturbation();
			doNext(camp.returnToCampUseOneHour);
		}

		public function naughtyNunSelfBaptism():void{
			clearOutput();
			outputText("Feeling pent up, you find yourself a comfortable spot [if (corruption < 40) hidden from view, hoping you won’t be stumbled upon|in clear view, hoping someone watches you]."
			+"You lift the hem of your habit, slipping it up to your belly so that your [cock] is exposed. You begin to slowly stroke your cock, your grip loose and your pace languid. You run your thumb over the tip, teasing your cumslit as your length bloats with arousal. Once pre cum starts to bead at the tip you grip yourself a little firmer, halting your strokes as you speak."
			+"\n\n[say: O Most Holy One, I have become distracted from your teachings. Please use these filthy lusts of mine as a conduit! Use my body and cleanse me once more, so that I may know your light and be embraced in your forgiveness.]"
			+"\n\nYou begin stroking your [cock] at a much quicker pace, your hand sliding over your slick length and producing soft squelches. You steadily leak pre cum, droplets [if (hasballs) sliding down your balls|dripping to the ground] as you close your eyes."
			+"\n[say: Cleanse me of my sins. Wash away these impure thoughts so that I may continue to serve you with all my heart.] You feel your [cock] pulsing in your grip as your words and actions clash. Arousal surges through your body, making you pant and flush in delightful perversity. You can’t help but moan as you shift your hips, practically humping your fist as your strokes get harder. You thoughtlessly grope and stroke at your [chest], reveling in the cool,smooth fabric that encases your heated flesh as you stroke your meat."
			+"\n\n[say: Please... Forgive me. Wash my filth away...], you weakly moan as you feel heat pooling in your belly[if (hasballs) , your [balls] tightening [if (hasVagina) and your [pussy] clenching] |[if (hasVagina) , your [pussy] clenching ]] as your cock twitches and your cumslit dilates. You cum hard, " + player.lowMedHighCum("a few strings of jizz shooting from your cock","rope after rope of thick jizz shooting from your cock","an absurd fountain of jizz shooting from your cock") + ", only to rain back down on you. You don’t stop until "+ player.lowMedHighCum("your face is covered in your own cum","you're painted white with your own cum","absolutely covered in the thick mass of your own cum") +", your [cock] wilting as you catch your breath in ragged pants."
			+"\n\nYou release your cock and collapse, fatigued. [say: Thank you for baptizing me anew, Holy One...], You swiftly doze off, you body drained from this noble cleansing.");
			player.orgasm('Dick');
			game.masturbation.updateMasturbation();
			doNext(camp.returnToCampUseOneHour);
		}

		public function naughtyNunPunishment():void{
			clearOutput();
			outputText("Feeling pent up, you find yourself a comfortable spot [if (corruption < 40) hidden from view, hoping you won’t be stumbled upon|in clear view, hoping someone watches you]."
			+"\nYou can’t shake the feeling that you need to be punished, that your tainted and libidinous ways need correcting so you can once again be closer to ‘the Holy One’. You know this must be the habit’s doing, but you’re too damned horny to care. You lower yourself to the ground, sighing in an over dramatic manner as you lift the hem of your habit up to your stomach."
			+"\n\n[say: Forgive me... for my lascivious ways.] you say, the last part muttered under your breath.  [say: I have sinned and need to be punished.] You roll your eyes, finding this ridiculous while the need to be punished grows. [say: I shall cleanse myself with pain for you.]"
			+"\nYou smack your [ass], though the blow isn’t particularly strong. A second smack lands after the first, making your flesh tingle with heat. The third is a little harder, this time striking your left cheek hard enough to sting. You’re a little shocked, as you know you didn’t put that much effort into your swing. The fourth mirrors this on your right cheek, the sharp sting making you yelp a little. Now you know; this is the habit’s doing. It’s clouding your mind with a fantasy of punishment, flashes of you bent over with red cheeks, [if (hasCock) a dripping cock [if (hasVagina) and a drooling pussy] | [if (hasVagina) a drooling pussy]] and a tear stained face invading your mind."
			+"\n\n[say: This is ridiculous...], you mutter, a fifth smack to your [butt] startling you into silence, one that you can't seem to break no matter how hard you want to speak. You can feel the cool air drifting over your heated flesh and it makes you shiver, biting your lip. The next strike is much harder, making your [butt] jiggle under the force. You whimper as the strikes continue, your [butt] getting redder and redder as time goes by. Soon you’re teary eyed and your [butt] is stinging, each strike landing in a slightly different location than before. Your [if (hasCock) [cock] is hard and dripping copious amounts of pre-cum " +
					"[if (hasVagina) and pussy juices drip down your thighs from your plump [pussy]]" +
					" | " +
					"[if (hasVagina) pussy juices drip down your thighs from your plump [pussy]]" +
					"] as you pant heavily."
			+"\nFuck, it feels good. You don’t care that you’ve done nothing wrong or that the habit seems to be controlling your actions anymore. The overwhelming pleasure you feel right now is amazing. The perverse delight that fulfils you only grows when you realize you’re going to get off on this so called \"punishment\"."
			+"\n\n[say: F-fuck... You’re more of a pervert than I am, ‘Holy One’... C-come on... punish me more... I don’t repent yet!] You moan, swaying your hips as though enticing someone behind" +
					" you." +
					" Regardless, it seems to work, as your strikes become quicker and closer together, making you sob in delicious agony. You feel heat roiling in your belly as a strike comes down, this time lower than before. It hits your [if (hasballs) balls|[if (hasVagina) pussy|perineum]] and with a primal howl of pain and pleasure you cum. You collapse to the ground, panting hard as your [if (hasCock) cock|[if (hasVagina) pussy|ass]] thrums with pleasure. You lose consciousness a moment after, your sense overwhelmed by the power of your orgasm."
			+"\n\nWhen you come back around, you feel well rested and your [butt] a little tender. With a smirk you rub your behind gently. If repenting feels this good, why not keep sinning?"
			+"\nYou clean yourself up and return to your duties.");
			player.orgasm();
			game.masturbation.updateMasturbation();
			if (rand(2) == 0) player.dynStats("cor", -1);
			doNext(camp.returnToCampUseOneHour);

		}
	}
}


code:
/**
 * Created by A Non on 09.05.18.
 */
package classes.Items.Armors
{
	import classes.FetishManager;
	import classes.GlobalFlags.kFLAGS;
	import classes.ItemType;
	import classes.Items.Armor;
	import classes.Player;
	import classes.GlobalFlags.kGAMECLASS;
	import classes.BodyParts.*;
	import classes.lists.Gender;
	import classes.CoC;
	import classes.*;
	import classes.GlobalFlags.kACHIEVEMENTS;
	public class NephilaQueensGown extends Armor
	{
		public function NephilaQueensGown()
		{
			super("NQ.Gwn","N.Q.Gown","Nephila Queen's Gown","a baroque and unwieldy gown",18,200,"As you look at the seeming miles of dark purple silk that make up the gown, you can't help but imagine your Nephila Queen self wearing it. In your mind's eye, it clings to you obscenely. A pale, oozelike full body corset wraps around it. Shimmering like mother-of-pearl, the corset depicts a trio of women cupping and worshipping your breasts, hips, and one thigh. The corset is interleaved with an external bustle that bulges absurdly, taking the appearance of a hyperpregnant angel--her four wings spilling over the flanks of your prodigious, tentacle packed belly. The angel-bustle's legs are spread, and a train of frilled purple fabric spills out from her wrought mother-of-pearl pussy, trailing behind you for several yards and obscuring the existence of your swarming tentacle palanquin. The ensemble is heavy and encumbering, but sings with power.","Heavy");

				boostsSpellMod(getSpellBonus);
				boostsMinLust(getLustBonus);

		}

		public function getSpellBonus():Number{
            var hasNeed:Boolean = (player.hasStatusEffect(StatusEffects.ParasiteNephilaNeedCum));
            // If player is hungering, spell bonus increases proportional to infestation level.
				if (hasNeed) return 10 + int(player.statusEffectv1(StatusEffects.ParasiteNephila) * 3);
				else return 10;
		}

		public function getLustBonus():Number{
            var hasNeed:Boolean = (player.hasStatusEffect(StatusEffects.ParasiteNephilaNeedCum));
            // If player is hungering, min lust reduction increases proportional to infestation level.
				if (hasNeed) return -10 - int(player.statusEffectv1(StatusEffects.ParasiteNephila));
				else return -10;
		}

		override public function get supportsBulge():Boolean { return true; }

		override public function get def():Number { return 10 + int(player.statusEffectv1(StatusEffects.ParasiteNephila) / 2); }	//defense value increases proportional to infestation level.

		override public function useText():void{ //Produces any text seen when equipping the armor normally
			switch (player.gender) {
				case Gender.FEMALE:
					outputText("You comfortably slide into the Nephila Queen's Gown.  You spin around several times and giggle happily, causing your train to coil up and draw towards you before your tentacle offspring right it, causing the fabric to billow outward, floating on top of the squirming mat."
					          +" The thoughts and emotions of your nephila daughters seeps into you from the gown's embossed mother-of-pearl accessories, filling you with the warm sensation of contact with those you love.");
					break;

				case  Gender.MALE:
					outputText("You slide the Nephila Queen's Gown over your head and down to your toes. It swims around you, looking ridiculous and hindering your movement."
					          +" You feel the thoughts and emotions of your nephila daughters. Where once this would bring you joy, the sensation of being watched by the eldritch parasites now crawls on your skin. "
					          +" You are filled with deep unease.");
			     break;
			  default :  //non-binary
					outputText("You comfortably slide into the Nephila Queen's Gown.  You spin around several times and giggle happily, causing your train to coil up and draw towards you before your tentacle offspring right it, causing the fabric to billow outward, floating on top of the squirming mat."
					          +" The thoughts and emotions of your nephila daughters seeps into you from the gown's embossed mother-of-pearl accessories, filling you with the warm sensation of contact with those you love.");
			}
			if (player.hasCock())
				outputText(" The dress is so roomy that, even if your [cock] would normally be visible, it is hidden now.\n");
		}

	}
}


code:
package classes.Items.Armors
{
	import classes.ItemType;
	import classes.Items.Armor;
	import classes.Player;

	public final class Nothing extends Armor {

		public function Nothing() {
			super("nothing", "nothing", "nothing", "nothing", 0, 0, "nothing", "Light");
		}

		override public function playerRemove():Armor {
			return null; //Player never picks up their underclothes
		}
	}

}


code:
package classes.Items.Armors
{
	import classes.FetishManager;
	import classes.GlobalFlags.kFLAGS;
	import classes.ItemType;
	import classes.Items.Armor;
	import classes.Player;
	import classes.BodyParts.*;

	/**
	 * ...
	 * @author Kitteh6660
	 */
	public class PureMaraeArmor extends Armor
	{
		public function PureMaraeArmor()
		{
			super("DB.Armr","D.B.Armor","divine bark armor","a suit of divine bark armor",40,1100,"This suit of armor is finely made from the white bark you've received from Marae as a reward.","Heavy");
			boostsLustResistance(1.10,true);
		}

		override public function get supportsBulge():Boolean { return true; }

		override public function get def():Number { return 40 - int(player.cor / 5); }

		override public function useText():void
		{
			outputText("You strip yourself naked before you proceed to put on the armor. ");

			outputText("\n\nFirst, you clamber into the breastplate. ");
			if (player.isBiped()) //Some variants.
			{
				if (player.lowerBody.type == LowerBody.HUMAN) outputText("Then you put your feet into your boots. With the boots fully equipped, you move on to the next piece. ");
				else outputText("Then you attempt to put your feet into your boots. You realize that the boots are designed for someone with normal feet. You have to modify the boots to fit and when you do put on your boots, your feet are exposed. ");
			}
			outputText("Next, you put on your reinforced bark bracers to protect your arms.\n\n")
			if (!player.isTaur()) {
				outputText("Last but not least, you put your silken loincloth on to cover your groin. You thank Rathazul for that and you know that you easily have access to your ");
				if (player.hasCock()) outputText(player.multiCockDescriptLight());
				if (player.hasCock() && player.hasVagina()) outputText(" and ");
				if (player.hasVagina()) outputText(player.vaginaDescript());
				//Genderless
				if (!player.hasCock() && !player.hasVagina()) outputText("groin");
				outputText(" should you need to. ");
				if (player.hasCock())
				{
					if (player.biggestCockArea() >= 40 && player.biggestCockArea() < 100)
					{
						outputText("Large bulge forms against your silken loincloth. ");
					}
					if (player.biggestCockArea() >= 100)
					{
						outputText("Your manhood is too big to be concealed by your silken loincloth. Part of your " + player.cockDescriptShort(player.biggestCockIndex()) + " is visible. ");
						if (player.cor < 33) outputText("You let out a sigh. ");
						else if (player.cor >= 33 && player.cor < 66) outputText("You blush a bit, not sure how you feel. ");
						else if (player.cor >= 66 || game.fetishManager.compare(FetishManager.FETISH_EXHIBITION)) outputText("You admire how your manhood is visible. ");
					}
				}
				if (player.cor >= 66 || game.fetishManager.compare(FetishManager.FETISH_EXHIBITION))
				{
					outputText("You'd love to lift your loincloth and show off whenever you want to. ");
				}
			}
			else {
				outputText("Last but not least, you take a silken loincloth in your hand but stop short as you examine your tauric body. There is no way you could properly conceal your genitals! ");
				if (player.cor < 33) outputText("You let out a sigh. Being a centaur surely is inconvenient! ");
				else if (player.cor >= 33 && player.cor < 66) outputText("You blush a bit, not sure how you feel. ");
				else if (player.cor >= 66 || game.fetishManager.compare(FetishManager.FETISH_EXHIBITION)) outputText("Regardless, you are happy with what you are right now. ");
				outputText("You leave the silken loincloth in your possessions for the time being.");
			}
			outputText("You are suited up and all good to go. ");
		}
	}

}


code:
/**
 * Created by aimozg on 15.01.14.
 */
package classes.Items.Armors
{
	import classes.FetishManager;
	import classes.GlobalFlags.kFLAGS;
	import classes.Items.Armor;
	import classes.Items.ArmorLib;
	import classes.Player;

	public final class SeductiveArmor extends Armor {

		public function SeductiveArmor()
		{
			super("SeductA", "SeductA", "scandalously seductive armor", "a set of scandalously seductive armor", 0, 1, "A complete suit of scalemail shaped to hug tightly against every curve, it has a solid steel chest-plate with obscenely large nipples molded into it.  The armor does nothing to cover the backside, exposing the wearer's cheeks to the world.","Heavy");
		}

		override public function useText():void {
			if (!game.ceraphFollowerScene.ceraphIsFollower()) {
				outputText("After struggling to get it on, you feel a sudden shift in your scandalous new armor.  To your horror, it begins folding into itself, revealing more and more of your " + player.skin.desc + " and the comfortable underclothes you had on underneath it.  The transforming armor gradually covers less and less of you until it's little more than a pair of huge nipple-coverings and a silver chain.  A loud KA-CHUNK startles you, and then you're screaming as you feel something stabbing through your nipples.  Goosebumps cover your flesh as you twist in unexpected agony.\n\n");
				outputText("After you've had a chance to recover, you inspect your abused nipples and discover that your armor has totally disappeared.  The only thing left behind is a pair of seamless black nipple-studs, embedded into your vulnerable flesh.  There doesn't appear to be any way to remove them either.  Thankfully, your comfortable underclothes have been unaffected by the sudden disappearance of your armor.  The thought of having to run around naked stays stubbornly locked in your mind, and you mentally curse the demon for what she's done to you.\n\n");
				outputText("As if summoned by your thoughts, you can hear her voice on the wind, taunting you again, \"Enjoy your new bondage fetish, pet!  One more piercing and you'll be ready.  Don't have too much fun being tied down and fucked, ok?\"\n\n");
				if (player.nipplesPierced > 0) outputText("You're left to wonder - where did the old piercings go?\n\n");
				player.nipplesPierced = 1;
				player.nipplesPShort = "seamless black nipple-studs";
				player.nipplesPLong = "Seamless black nipple-studs";
				game.fetishManager.giveFetish(FetishManager.FETISH_EXHIBITION + FetishManager.FETISH_BONDAGE);//Gives both Exhibitionist and Bondage fetish.

			}
			else {
				outputText("As you're trying to put on the armor, Ceraph appears from nowhere, apologizing profusely and stopping you before you can slide the last strap into place.  \"Please don't put that on, " + player.mf("Master","Mistress") + ".  I trapped that armor to pierce new fetishes the unwary so that I could add them to my harem.  I'd hate to garner your anger.\"  She wrings her hands nervously.  \"If you'll hand it here, I'll get rid of it for you. Noone would buy it anyway.\"");
				outputText("\n\nYou shrug and toss her the armor, disappointed that you're down a potentially sexy outfit.");
				outputText("\n\nCeraph bows gratefully and swiftly backpedals, offering, \"And if you ever want me to stuff you full of magic fetishes, just ask, okay?\"");
				outputText("\n\nShe's gone before you can reply.  Sometimes she's more trouble than she's worth.");
			}
		}

		override public function playerEquip():Armor {
			super.playerEquip();
			return ArmorLib.COMFORTABLE_UNDERCLOTHES; //After seductive armor magic the player is left in their underclothes
		}
	}
}


code:
package classes.Items.Armors
{
	import classes.GlobalFlags.kFLAGS;
	import classes.Items.Armor;
	import classes.Player;
	import classes.PerkLib;
	import classes.PerkType;

	public class SeductiveArmorUntrapped extends Armor
	{

		override public function useText():void
		{
			outputText("\n\nYou are relieved to find out that this armor is not trapped.");
		}

		public function SeductiveArmorUntrapped()
		{
			super("SeductU","U.SeductA","untrapped seductive armor","a set of untrapped scandalously seductive armor",10,1,"A complete suit of scalemail shaped to hug tightly against every curve, it has a solid steel chest-plate with obscenely large nipples molded into it.  The armor does nothing to cover the backside, exposing the wearer's cheeks to the world.  This armor is not trapped.", "Heavy");
			boostsSeduction(5);
			boostsSexiness(5);
		}

	}

}


code:
/**
 * Created by aimozg on 18.01.14.
 */
package classes.Items.Armors
{
	import classes.Items.Armor;
	import classes.Items.ArmorLib;
	import classes.PerkLib;
	import classes.Player;

	public class SluttySwimwear extends Armor {

		public function SluttySwimwear() {
			super("S.Swmwr", "S.Swmwr", "slutty swimwear", "a skimpy black bikini", 0, 6, "An impossibly skimpy black bikini. You feel dirty just looking at it... and a little aroused, actually.", "Light");
			boostsSexiness(6);
			boostsSeduction(6);
		}

		override public function useText():void { //Produces any text seen when equipping the armor normally
			dynStats("lus", 5);
			if (player.biggestTitSize() < 1)
				outputText("You feel rather stupid putting the top part on like this, but you're willing to bear with it. It could certainly be good for distracting.  ");
			else {
				outputText("The bikini top clings tightly to your bustline, sending a shiver of pleasure through your body. It serves to turn you on quite nicely.  ");
				dynStats("lus", 5);
			}
			if (player.totalCocks() == 0) {
				outputText("The thong moves over your smooth groin, clinging onto your buttocks nicely.  ");
				if (player.balls > 0) {
					if (player.ballSize > 5) outputText("You do your best to put the thong on, and while the material is very stretchy, it simply can't even begin to cover everything, and your " + player.ballsDescriptLight() + " hang on the sides, exposed.  Maybe if you shrunk your male parts down a little...");
					else outputText("However, your testicles do serve as an area of discomfort, stretching the material and bulging out the sides slightly.  ");
				}
			}
			else {
				if (player.totalCocks() == 1) {
					outputText("You grunt in discomfort, your " + player.cockDescript(0) + " flopping free from the thong's confines. The tight material rubbing against your dick does manage to turn you on slightly.  ");
				}
				else {
					outputText("You grunt in discomfort, your " + player.multiCockDescriptLight() + " flopping free from the thong's confines. The tight material rubbing against your dicks does manage to turn you on slightly.  ");
				}
				dynStats("lus", 5);
				if (player.biggestCockArea() >= 20) outputText("You do your best to put the thong on, and while the material is very stretchy, it simply can't even begin to cover everything, and your " + player.cockDescript(player.biggestCockIndex()) + " has popped out of the top, completely exposed.  Maybe if you shrunk your male parts down a little...");
				//[If dick is 7+ inches OR balls are apple-sized]
				else if (player.ballSize > 5) outputText("You do your best to put the thong on, and while the material is very stretchy, it simply can't even begin to cover everything, and your " + player.ballsDescriptLight() + " hang on the sides, exposed.  Maybe if you shrunk your male parts down a little...");
			}
			outputText("\n\n");
		}
	}
}


code:
package classes.Items.Armors
{
	import classes.BodyParts.*;
	import classes.PerkLib;
	import classes.TimeAwareInterface;
	import classes.saves.SelfSaving;
	import classes.saves.SelfSaver;
	import classes.CoC;

	/**
	 * ...
	 * @author ...
	 */
	public class VineArmor extends ArmorWithPerk implements SelfSaving, TimeAwareInterface {

		public var saveContent:Object = {
			armorChange: 0,
			armorStage: 1,
			flowerColor: "rose-red",
			clothUsed: false
		};

		public function get saveName():String {
			return "vinearmor";
		}

		public function get saveVersion():int {
			return 1;
		}

		public function load(version:int, saveObject:Object):void {
			for (var property:String in saveContent) {
				if (saveObject.hasOwnProperty(property)) saveContent[property] = saveObject[property];
			}
		}

		public function reset():void {
			saveContent.armorChange = 0;
			saveContent.armorStage = 1;
			saveContent.flowerColor = "rose-red";
			saveContent.clothUsed = false;
		}

		public function onAscend(reset:Boolean):void {
			saveContent.armorChange = 0;
			saveContent.armorStage = 1;
			saveContent.flowerColor = "rose-red";
			saveContent.clothUsed = false;
		}

		public function saveToObject():Object {
			return saveContent;
		}

		public function loadFromObject(o:Object, ignoreErrors:Boolean):void {
		}

		public function timeChangeLarge():Boolean { return false;  }
		public function timeChange():Boolean {
			if (player.armor is VineArmor && time.hours == 3 && rand(2) == 0) { //only call function once per day as time change is called every hour
				dryadProgression();
				return true;
			}
			return false; //stop if not wearing
		}

		public function VineArmor():void {
			super("VinArmr", "VinArmr", "obsidian vines", "tight wrappings of onyx-black vines", 0, 0, "Ominously dark vines wrapped tightly against your [skinshort], many of which find the ideal spots to emphasize your assets rather than cover them.", "Light", PerkLib.AlrauneVines, 0, 0, 0, 0);
			boostsSeduction(getSeductionLevel());
			boostsSexiness(getSeductionLevel());
			CoC.timeAwareClassAdd(this);
			SelfSaver.register(this);
		}

		override public function removeText():void {
			outputText("You can't remove the vines.");
		}

		override public function get description():String {
			_description = "Ominously dark vines" + (saveContent.armorStage > 1 ? " covered in an array of beautiful " + saveContent.flowerColor + " blossoms and" : "") + " wrapped tightly against your [skinshort], many of which find the ideal spots to emphasize your assets rather than cover them."
			var desc:String = super.description;
			desc += "\nSpecial: Taking fire damage increases fatigue."
			if (saveContent.armorStage > 2) desc += "\nThorns hurt melee attackers.";
			if (saveContent.armorStage > 3) desc += "\nGrants vine trip attack.";
			if (saveContent.armorStage > 4) desc += "\nGrants vine grab attack.";
			return desc;
		}

		public function getSeductionLevel():Number{
            return saveContent.armorStage * 2;
        }

		public function dryadProgression():void {
			//TF intro
			clearOutput();
			switch(saveContent.armorStage) {
				case 1:
					outputText("The black vines coiled around your body strengthen their grip, digging sharply into your [skin]. The straining tension holds your muscles in place" + (player.sleeping ? " and wakes you from your slumber" : "") + ".");
					break;
				case 2:
					outputText("Cold fluid starts rushing through your veins, paralyzing your muscles" + (player.sleeping ? " and waking you from your slumber" : "") + ". The black vines strangle your limbs painfully as they further adhere to you.");
					break;
				case 3:
					outputText("Terrifying feelings of getting stabbed deeply all over send you into a momentary state of panic, but the firm grip of the tightening vines prevents you from moving.");
					break;
				case 4:
					outputText("As you " + (player.sleeping ? "lay" : "stand") + ", the onyx-black vines shake and jostle with the familiar sound of rustling in bushes. In a state of unrest, you do your best to force your body into a more comfortable position as the changes unfold.");
					break;
				case 5:
					if (player.sleeping) outputText("Infinitely vast fields of lush meadows and illustriously ancient trees surround you in every direction. The landscape brings you joy like no other. You wander throughout the gorgeous valley, smelling the many floral scents that waft so freely. As you inhale deeply, shadows sweep across the ground, choking the life from all the helplessly-rooted plant-life. Power and serenity spreads throughout your body, completely defining your being. With a gasp, you awake.");
					else outputText("The black vines tighten and shift upon your [skin], massaging you deeply. You sigh at the comforting sensation, enjoying the utter lack of tension in your body. Thorns press into you, puncturing your pressure-points and filling you with their empowering energies. In turn, you share your internal fluids as well, entirely at peace with the perfection of floral symbiosis.");
					break;
			}

			//Transformations
			var TFs:Array = [];
			//Tier 0 (can happen at any time)
			if (player.ears.type != Ears.ELFIN) TFs.push(1);
			if (player.skin.type != Skin.WOODEN && player.skin.type != Skin.STALK) TFs.push(2);
			if (player.hair.length > 0 && player.hair.type != Hair.VINE) TFs.push(3);
			if (player.breastRows.length > 1) TFs.push(12);
			//Tier 1
			if (player.hair.length > 0 && player.hair.adj != "leafy") TFs.push(4);
			if (player.hasHorns() && player.horns.type != Horns.WOODEN) TFs.push(5);
			if (player.lowerBody.legCount != 2) TFs.push(6);
			//Tier 2
			if (player.hair.type == Hair.VINE && player.lowerBody.legCount == 2 && !(player.hasHorns() && player.horns.type != Horns.WOODEN)) {
				if (player.rearBody.type != RearBody.BARK) TFs.push(7);
				if (player.hair.adj == "leafy" && player.hair.flowerColor == "") TFs.push(8);
				if (player.canFly() && player.wings.type != Wings.WOODEN) TFs.push(9);
			}
			//Tier 3
			if (player.rearBody.type == RearBody.BARK && !(player.canFly() && player.wings.type != Wings.WOODEN)) {
				if (player.skin.type != Skin.WOODEN) TFs.push(10);
				if (player.lowerBody.type != LowerBody.ROOT_LEGS) TFs.push(11);
			}
			switch(randomChoice(TFs)) {
				//Elf ears
				case 1:
					outputText("\n\nDeafening noise shakes your psyche as your ears twist and bend in place, elongating into elfin ones.");
					player.ears.type = Ears.ELFIN;
					break;
				//Plant skin
				case 2:
					outputText("\n\nYour flesh becomes stiff and tight, causing you to feel heavy and dizzy. When the feeling finally passes, your skin appears green and plant-like, akin to the stalk of a flower.");
					player.skin.type = Skin.STALK;
					player.skin.adj = "plant-like";
					player.skin.desc = "stalk";
					break;
				//Vine hair
				case 3:
					outputText("\n\nAlarmingly, a tingling on your scalp begins to jostle your [hair]. Though you are fearful you're about to go bald, your hair shifts tone and start to resemble thin, green, fibrous vines.");
					player.hair.type = Hair.VINE;
					break;
				//Leaf hair
				case 4:
					if (player.hair.type == Hair.VINE) outputText("\n\nThe vines on your scalp wriggle incessantly, and worryingly, but soon begin to sprout leaves. Leaf after leaf sprouts at an incredible rate, until soon your head is completely coated in healthy, green foliage.");
					else outputText("\n\nAlarmingly, a tingling on your scalp begins to jostle your [hair]. Though you are fearful you're about to go bald, your head starts to become a densely leafy series of thin vines.");
					player.hair.type = Hair.VINE;
					player.hair.adj = "leafy";
					player.hair.color = "green";
					break;
				//Wooden horns
				case 5:
					outputText("\n\nA quake in your cranium strikes a splitting headache through you as your [horns] snap and crack. Wooden texture spreads over them, until they become sharp and branch-like in their entirety.");
					player.horns.value = player.horns.type == Horns.ANTLERS ? 1 : 0;
					player.horns.type = Horns.WOODEN;
					break;
				//Leg restore
				case 6:
					mutations.restoreLegs("alraune vines");
					break;
				//Bark covering
				case 7:
					outputText("\n\nErupting from your flesh, pieces of bark begin to coat your body. The thick and rough patches spread over your hips and back, thankfully leaving the rest of your [skin] exposed.");
					player.rearBody.type = RearBody.BARK;
					dynStats("sens", -2, "tou", 4);
					break;
				//Flower hair
				case 8:
					outputText("\n\nThe leafy [haircolor] foliage on your head seem to demand more and more of your body's nutrients, and the reason becomes clear quite quickly. Numerous flowers begin blossoming throughout your tresses, evolving into a beautiful head-mounted meadow" + (player.hair.length > 16 ? " draping down in serene majesty" : "") + ".");
					player.hair.type = Hair.VINE;
					player.hair.flowerColor = player.sleeping ? "rose-red" : randomChoice("deep purple", "dark red");
					break;
				//Wooden wings
				case 9:
					outputText("\n\nYour spine contracts, arcing your back painfully, before loosening up as your [wings] creak and tear. When finally the pain stops, you realize all that's left is a wooden skeleton of would-be wings.");
					player.wings.type = Wings.WOODEN;
					break;
				//Wooden skin
				case 10:
					outputText("\n\nYour [skin] hardens and fades its former pigment and texture, developing into the color and grain of exposed wood. For a moment, you can't seem to feel any physical sensations, but it thankfully returns, albeit a little muted.");
					player.skin.type = Skin.WOODEN;
					player.skin.adj = "tree-like";
					player.skin.desc = "wood-grain";
					dynStats("sens", -3, "lib", -1, "tou", 5);
					break;
				//Root legs
				case 11:
					outputText("\n\nYour [legs] crunch and bend, splitting into a series of tendril-like roots. Upon finishing their split, the roots curl around each other tightly and harden into a pair of functional plantigrade legs.");
					player.lowerBody.type = LowerBody.ROOT_LEGS;
					break;
				//Remove extra breast rows
				case 12:
					mutations.removeExtraBreastRow("alraune vines");
					break;
				default:
			}

			//If player is awake
			if (!player.sleeping) {
				TFs = [];
				if (player.hair.color != "black" && player.hair.color != "dark purple" && player.hair.color != "indigo") TFs.push(1);
				if (player.skin.type != Skin.WOODEN && player.skin.tone != "pale white") TFs.push(2);
				if (player.rearBody.type == RearBody.BARK && player.rearBody.color != "charcoal-black") TFs.push(3);
				switch(randomChoice(TFs)) {
					//Goth hair
					case 1:
						var color:String = randomChoice("black", "dark purple", "indigo");
						if (player.hair.flowerColor == "") outputText("\n\nYour [hair] sways and shimmers, mystically changing its color to " + color + ".");
						else {
							outputText("\n\nThe many blossoms dotting your meadow shift in shape and hue, becoming an ominous bed of dark roses, violets, and black velvet petunias. Your newly gothic garden puts you in a brooding mood, yet you aren't unhappy about it.");
							player.hair.flowerColor = "gothic";
						}
						player.hair.color = color;
						break;
					//Goth skin
					case 2:
						if (player.isFluffy() || player.hasScales()) outputText("\n\nYour [skin] crawls, sending shivers all throughout your body. On reflex, you urge your body to move and rub the unsettling feeling away, yet when your limbs finally obey, you see that your [skindesc] " + (player.hasScales() || player.hasFeathers() ? "have" : "has") + " been shed completely. What remains is deathly pale skin.");
						else outputText("\n\nYour [skin] begins to feel tender and sensitive, shifting its hue to a disconcertingly pale white.");
						player.skin.tone = "pale white";
						break;
					//Goth bark
					case 3:
						outputText("\n\nThe bark coating covering your [hips] and back heats up to a frightening degree, darkening to a charcoal-black. Upon further inspection, it doesn't seem to have lost its durability at all.");
						player.rearBody.color = "charcoal-black";
						break;
					default:
				}
			}

			//Vine armor growth
			if (++saveContent.armorChange > 1 && saveContent.armorStage < 5) {
				saveContent.armorChange = 0;
				switch(saveContent.armorStage){
					case 1:
						saveContent.flowerColor = player.sleeping ? "rose-red" : randomChoice("deep purple", "dark red");
						outputText("\n\nThe obsidian vines tremble for a moment, feeding on you just as you have fed on them, until suddenly " + saveContent.flowerColor + " blossoms burst from various points. It gives a particular look of majesty to the outfit.");
						break;
					case 2:
						outputText("\n\nBiting in ever-harder, the vines constricting your body grow more, jutting out a great many thorns. After a few moments, the thorns start to recede seamlessly into the black, fleshy tendrils, but remain at the ready whenever you tense up.");
						break;
					case 3:
						outputText("\n\nThe vines constrict your [skin], making you sore. You move your [arms] back and forth in an effort to loosen the vines, suddenly jolting as the vine of one arm whips forward several [if (metric) meters|feet]. It returns to place quickly, and you aren't too sure how you did it.");
						break;
					case 4:
						outputText("\n\nAll around your body, the vines jostle and shake. The thorns press in and out, jabbing you as they move. The whole ordeal is honestly quite a bother. Thankfully, it all passes. There's a very strange lack of tension, you feel. You're much looser, somehow.");
						break;
					default:
				}
				saveContent.armorStage++;
			}
			outputText("\n\n");
		}

	}

}


code:
/**
 * Created by aimozg on 09.01.14.
 */
package classes.Items
{
	import classes.GlobalFlags.*;
	import classes.CoC_Settings;
	import classes.Scenes.Camp;
	import classes.Scenes.Places.Prison;
	import classes.DefaultDict;
	import classes.Output;
	import classes.Player;

/**
	 * An item, that is consumed by player, and disappears after use. Direct subclasses should override "doEffect" method
	 * and NOT "useItem" method.
	 */
	public class Consumable extends Useable
	{
		protected function get changes():int { return mutations.changes; }
		protected function set changes(val:int):void { mutations.changes = val; }
		protected function get changeLimit():int { return mutations.changeLimit; }
		protected function set changeLimit(val:int):void { mutations.changeLimit = val; }

		protected function tfChance(min:int, max:int):Boolean { return mutations.tfChance(min, max); }

		public function Consumable(id:String, shortName:String = null, longName:String = null, value:Number = 0, description:String = null) {
			super(id, shortName, longName, value, description);
		}

		override public function get description():String {
			var desc:String = _description;
			//Type
			desc += "\n\nType: Consumable ";
			if (shortName == "Wingstick") desc += "(Thrown)";
			if (shortName == "S.Hummus") desc += "(Cheat Item)";
			if (shortName == "BroBrew" || shortName == "BimboLq" || shortName == "P.Pearl" || shortName == "Loli.P") desc += "(Rare Item)";
			if (longName.indexOf("dye") >= 0) desc += "(Dye)";
			if (longName.indexOf("egg") >= 0) desc += "(Egg)";
			if (longName.indexOf("book") >= 0) desc += "(Magic Book)";
			//Value
			desc += "\nBase value: " + String(value);
			return desc;
		}

		override public function getMaxStackSize():int {
			return 10;
		}
	}
}