code:
package classes.Scenes.Areas.HighMountains
{
	import classes.*;
	import classes.BodyParts.*;
	import classes.BodyParts.Butt;
	import classes.BodyParts.Hips;
	import classes.GlobalFlags.kFLAGS;
	import classes.internals.*;

	public class Minerva extends Monster
	{

		//Normal Attacks for all Minerva Types
		//Shark-bite:
		private function minervaBite():void
		{
			outputText("The siren paces around you in circles, waiting for the right moment to strike.  Unexpectedly quick thanks to her clawed feet, she propels herself toward you at full speed.  Her maw opens wide to chomp on you, showing off multiple rows of glinting, razor-sharp teeth.");
			var damage:int = player.reduceDamage(str + 85,this);
			if (!combatAvoidDamage({doDodge:true,doParry:false,doBlock:false}).failed) {
				outputText("  You get out of the way just in time, Minerva making a loud chomping sound as she only catches the air.");
			}
			else if (combatBlock(true)) {
				outputText("  You raise your " + player.shieldName + " just in time, deflecting her bite.");
			}
			//[else block]
			else if (damage <= 0) outputText("  Your hands lash out, knocking her head to the side as she tries to bite you.  With the bite deflected, Minerva makes a loud chomping sound as she only bites the air.");
			//[if attack lands]
			else {
				outputText("  Her teeth dig right into your arm!  It's a bit of a struggle, but you're able to free yourself.  The damage doesn't look too serious. ");
				player.takeDamage(damage, true);
			}

		}

//Flying kick:
		private function minervaKnowsKungfu():void
		{
			outputText("The blue beauty flaps her wings and launches herself into the air.  Once she's gained as much altitude as she can, she dive-bombs you, her demon-clawed feet leading the attack.");

			var damage:int = player.reduceDamage(str + weaponAttack + 100,this);
			spe -= 70;
			if (!combatAvoidDamage({doDodge:true,doParry:false,doBlock:false}).failed) {
				outputText("  You jump out of the landing zone just in time, piles of dirt exploding in all directions as Minerva slams into the ground.");
			}
			//[else block]
			else if (damage <= 0) outputText("  Steadying yourself, you reach up, grabbing hold of Minerva as she attempts to land a heavy blow on you.  Grunting hard, you pull against her and toss the siren aside completely, halting her attack.");
			//[if attack lands]
			else {
				outputText("  She hits you square in the chest, knocking you to the ground as her entire weight lands on you.  The bombshell of a woman jumps off your chest, ready to keep fighting. ");
				damage = player.takeDamage(damage, true);
			}
			spe += 70;

		}

//Tail-whip
		private function tailWhip():void
		{
			var damage:int = player.reduceDamage(str + 35,this);

			outputText("She runs at you, holding the weapon like she's about to chop into your side.  You brace yourself, but when she's only a few feet away, she starts to turn her body.");
			//[else block]
			if (damage <= 0) outputText("  Lashing out with a fierce kick you intercept the tail-whip, your [foot] impacting against her strong appendage and totally neutralizing its momentum.");

			//[if attack lands]
			else {
				outputText("  Her shark tail whacks you, knocking you to the ground.  You quickly struggle back into position");
				if (player.armorDef > 0) outputText(", but your defense has been reduced");
				outputText("! ");
				player.takeDamage(damage, true);
				if (hasStatusEffect(StatusEffects.TailWhip)) addStatusValue(StatusEffects.TailWhip, 1, 10);
				else createStatusEffect(StatusEffects.TailWhip, 10, 0, 0, 0);
			}

		}

//Halberd stab:
		private function minervaUsesHalberdStab():void
		{
			outputText("Minerva charges at you, brandishing her halberd's sharp tip toward you.");
			var damage:int = player.reduceDamage(str + weaponAttack,this,20);

			if (!combatAvoidDamage({doDodge:true,doParry:false,doBlock:false}).failed) outputText("  You sidestep the attack just as she thrusts the point past your face.");

			//[else block]
			else if (damage < 0) outputText("  With all your strength, you swing your [weapon], the blow landing on the side of Minerva's halberd and deflecting the goring strike away from you.");

			//[if attack lands]
			else {
				outputText("  She pierces you right in the shoulder!  You wince in pain and step back, out of her reach again.");
				player.takeDamage(damage, true);
			}

		}

//Halberd CHOP:
		private function minervaUsesHalberdCHOP():void
		{
			outputText("She moves in close, practically right in front of you and raises the halberd.");
			var damage:int = player.reduceDamage(str + 100,this);

			if (!combatAvoidDamage({doDodge:true,doParry:false,doBlock:false}).failed) outputText("  You get out of the way quickly, her attack chopping deeply into the earth. ");

			//[else block]
			else if (damage < 0) outputText("  In a mad show of pure skill, you lift your hands, clamping them down on the cheeks of the halberd blade and stop Minerva's attack cold, bewildering the siren in the process.");

			//[if attack lands]
			else {
				outputText("  You don't have time to avoid the downward chop and the axe head lands right in your shoulder blade!  You cry out in pain, but you can still move your arm despite the brutal blow.");
				player.takeDamage(damage, true);
			}

		}

//White Fire
		private function kiteFire():void
		{
			outputText("The siren holds her hand out, flashing you a cunning smirk and snapping her fingers.  Your entire body is engulfed in white-hot flames, searing flesh and burning your [armor].  The sudden flash of heat and fire elicit panic from deep within you, causing you to cry out and roll on the ground to put the fires out.  The burns aren't too severe, but you know you can't keep getting hit like that! ");
			var damage:int = int(10 + (inte / 3 + rand(inte / 2)) * 1.5);
			player.takeDamage(damage, true);

		}

//Lust Attacks for tainted Minerva
//Booty-shorts
		private function bootyShortInYoFaceSon():void
		{
			outputText("The blue beauty turns around and bends over so far that she uses her halberd like a pole to support herself.  She lifts her shark tail up so you can see her short-shorts hugging perfectly against her ample bottom.  Her tail waves to the left and to the right as she does a little booty shake for you.  The siren gives her big ass a nice, hard slap that echoes off the tower walls, and making it jiggle even more.  She quickly turns around to face you, smirking at what she just did. ");
			player.takeLustDamage(20 + player.lib / 10 + rand(5), true);

		}

//Lust Attacks for all Minervas
//Pole licking
		private function lickDatPole():void
		{
			outputText("Minerva stands, holding her halberd straight up next to her as she looks it over with a seductive stare.  Giving you a suggestive look she rolls out a two-foot long tongue from her mouth, licking a good length of the massive weapon, even wrapping her tongue around it a few times.  Suddenly she sucks her tongue back into her mouth and gives you a little smirk, almost to say \"Yeah, I can do that... and more.\" ");
			player.takeLustDamage(20 + player.lib / 10 + rand(5), true);

		}

//Special attack
		private function sirensSong():void
		{
			//The Siren's Song (2-part attack) (Rarely used or when she's desperate aka: Less than 10% hp)
			//[part 1]
			if (!hasStatusEffect(StatusEffects.SirenSong)) {
				outputText("Minerva begins to hum a pleasant tune.  It might be better to stand back to see what she's up to!");
				createStatusEffect(StatusEffects.SirenSong, 0, 0, 0, 0);
			}
			//[part 2]
			else {
				outputText("Her hum becomes a song.  A magnificent song without words, a sound that should be impossible for any human, or creature for that matter, to make naturally.");
				//If wait:
				if (flags[kFLAGS.IN_COMBAT_USE_PLAYER_WAITED_FLAG] == 1) outputText("  You cover your ears before she even opens her lips, wary of its power.  Judging by the dim feeling of pleasure simmering through you with the little sound you're picking up regardless, it probably was for the better.");
				//No wait - insta loss:
				else {
					outputText("  Your mind clouds over as the song flows through your ears and fills your mind with sweet bliss.  You lower your [weapon] and dreamily walk into the siren's sweet embrace.  You absent-mindedly disrobe yourself as you move in closer, the song getting louder with each step you take, until you finally bury yourself into the siren's soft bosom and she wraps her feathery arms around your body.  She stops singing her beautiful song and whispers into your ear, \"You're all mine now.\"");
					game.dynStats("lus", 999);
				}
				removeStatusEffect(StatusEffects.SirenSong);
			}

		}

		override protected function performCombatAction():void
		{
			if (hasStatusEffect(StatusEffects.SirenSong)) sirensSong();
			else if (rand(25) == 0 || (HP < 100 && rand(2) == 0)) sirensSong();
			//Else choose randomly!
			else {
				var actionChoices:MonsterAI = new MonsterAI();
				actionChoices.add(bootyShortInYoFaceSon,1,true,0,FATIGUE_NONE,RANGE_TEASE);
				actionChoices.add(kiteFire, 1, true,10,FATIGUE_MAGICAL,RANGE_RANGED);
				actionChoices.add(minervaUsesHalberdCHOP, 1, true, 10,FATIGUE_PHYSICAL,RANGE_MELEE);
				actionChoices.add(minervaUsesHalberdStab,1,true,0,FATIGUE_NONE,RANGE_MELEE);
				actionChoices.add(tailWhip, 1, true, 5,FATIGUE_NONE,RANGE_MELEE);
				actionChoices.add(minervaKnowsKungfu, 1, true, 10,FATIGUE_PHYSICAL,RANGE_MELEE);
				actionChoices.add(minervaBite,1,true,0,FATIGUE_NONE,RANGE_MELEE);
				actionChoices.add(lickDatPole,1,true,0,FATIGUE_NONE,RANGE_TEASE);
				actionChoices.exec();
			}
		}

		override public function defeated(hpVictory:Boolean):void
		{
			game.highMountains.minervaScene.beatUpDatSharpie();
		}

		override public function won(hpVictory:Boolean,pcCameWorms:Boolean = false):void
		{
			game.highMountains.minervaScene.loseToMinerva();
		}

		public function Minerva()
		{
			this.a = "";
			this.short = "Minerva";
			//Set imageName based on pure/corrupt
			if (flags[kFLAGS.MINERVA_PURIFICATION_PROGRESS] >= 10) this.imageName = "minervapure";
			else if (flags[kFLAGS.MINERVA_CORRUPTION_PROGRESS] >= 10) this.imageName = "minervacorrupt";
			else this.imageName = "minerva";
			//Set description based on pure/corrupt
			if (flags[kFLAGS.MINERVA_PURIFICATION_PROGRESS] >= 10) this.long = "You're fighting the purified siren, Minerva.  Standing around eight feet and wielding a weapon just as tall, she is a force to be reckoned with.  Her skin is a golden yellow, though her belly, neck and inner thighs are as white as the clouds in the sky, and a golden piecing decorates her navel.  White stripes adorn her legs, tail and back.  Two large wings sprout from her back, their feathers an attention-grabbing white.  She wears a tube-top that hold back her G-cups, and short shorts around her wide waist that seem to be holding back a huge bulge.\n\nHer weapon is a halberd, made from a shiny, silvery metal, and seems to have an unnatural glow to it.";
			else if (flags[kFLAGS.MINERVA_CORRUPTION_PROGRESS] >= 10) this.long = "You're fighting the corrupted siren, Minerva.";
			else this.long = "You're fighting the tainted siren, Minerva.  Standing around eight feet and wielding a weapon just as tall, she is a force to be reckoned with.  Her skin is a dark navy blue, though her belly, neck and inner thighs are as white as the clouds in the sky, and a golden piecing decorates her navel.  Orange and white stripes adorn her legs, tail and back.  Two large wings sprout from her back, their feathers an attention-grabbing red and orange mix.  She wears a tube-top that hold back her double d-cups, and short shorts around her wide waist that seem to be holding back a huge bulge.\n\nHer weapon is a halberd, made from a shiny, silvery metal, and seems to have an unnatural glow to it.";
			this.race = "Siren";
			// this.plural = false;
			this.createCock(16, 3);
			if (flags[kFLAGS.MINERVA_CORRUPTION_PROGRESS] >= 10) this.createCock(16, 3); //Second cock for corrupted Minerva.
			this.balls = 2;
			this.ballSize = 3;
			if (flags[kFLAGS.MINERVA_PURIFICATION_PROGRESS] >= 10 || flags[kFLAGS.MINERVA_CORRUPTION_PROGRESS] >= 10) ballSize += 2;
			this.cumMultiplier = 3;
			// this.hoursSinceCum = 0;
			this.createVagina(false, Vagina.WETNESS_SLICK, Vagina.LOOSENESS_NORMAL);
			//Set breast size based on pure/corrupt
			if (flags[kFLAGS.MINERVA_PURIFICATION_PROGRESS] >= 10) createBreastRow(Appearance.breastCupInverse("G"));
			else if (flags[kFLAGS.MINERVA_CORRUPTION_PROGRESS] >= 10) createBreastRow(Appearance.breastCupInverse("E"));
			else createBreastRow(Appearance.breastCupInverse("DD"));
			this.ass.analLooseness = Ass.LOOSENESS_TIGHT;
			this.ass.analWetness = Ass.WETNESS_DRY;
			this.tallness = 8*12+4;
			this.hips.rating = Hips.RATING_CURVY;
			this.butt.rating = Butt.RATING_LARGE+1;
			this.skin.tone = "blue";
			this.hair.color = "red";
			this.hair.length = 25;
			initStrTouSpeInte(50, 65, 95, 75);
			initLibSensCor(30, 25, 45);
			if (flags[kFLAGS.MINERVA_PURIFICATION_PROGRESS] >= 10) cor = 0; //Set to 0 corruption if purified.
			if (flags[kFLAGS.MINERVA_CORRUPTION_PROGRESS] >= 10) cor = 80; //Set to 80 corruption if corrupted.
			this.weaponName = "halberd";
			this.weaponVerb="slash";
			this.weaponAttack = 30;
			this.weaponPerk = [];
			this.weaponValue = 150;
			this.armorName = game.armors.TUBETOP.name;
			this.armorDef = 1;
			this.armorPerk = "";
			this.armorValue = 5;
			this.bonusHP = 470;
			this.lust = 20;
			this.lustVuln = .2;
			this.temperment = TEMPERMENT_LOVE_GRAPPLES;
			this.level = 16;
			this.gems = rand(25) +10;
			this.additionalXP = 50;
			this.drop = new WeightedDrop(consumables.PURPEAC, 1);
			this.wings.type = Wings.FEATHERED_LARGE;
			checkMonster();
		}

	}

}


code:
package classes.Scenes.Areas.HighMountains
{
	import classes.*;
	import classes.BodyParts.*;
	import classes.BodyParts.Butt;
	import classes.BodyParts.Hips;
	import classes.GlobalFlags.kFLAGS;
	import classes.display.SpriteDb;
	import classes.internals.*;

	public class MinotaurMob extends Monster
	{
		private function precumTease():void {
			var teased:Boolean = false;
			var damage:Number = 0;
			var oldLust:Number = player.lust;
			game.spriteSelect(SpriteDb.s_minotaurSons);
			if (rand(2) == 0) {
				//(Big taur pre-cum tease)
				teased = true;
				if (rand(5) > 0) {
					outputText("The biggest lifts his loincloth, giving you a perfect view of his veiny hardness.  Pre-cum visibly bubbles from his flared tip, splattering wetly on the rocks and filling the air with his bestial musk.  He says, \"See how much I need you?\"\n");
					damage = 7 + player.lib/20;
				} else {
					//crit
					outputText("The largest bull in the crowd flaps his cum-soaked loincloth up and wraps a massive, muscled hand around his incredible erection.  Shaking it back and forth, he flicks his bubbling pre-cum in your direction, letting it spatter noisily against the rocks around you.  A few droplets even land on your skin, fogging the air with minotaur pheromones.\n");
					damage = 13 + player.lib/20;
				}
			}
			if (rand(2) == 0) {
				//(Middle Taur pre-cum tease)
				teased = true;
				if (rand(5) > 0) {
					outputText("\"Hey, slut, look at this!\" taunts one of the beast-men.  He shakes his hips lewdly, spinning his thick horse-cock in wide circles and sending his potent pre flying through the air.  Droplets rain down around you, filling the air with even more of that delicious smell.\n");
					damage = 3 + player.lib/30;
				}
				else {
					outputText("\"Mom, you may as well spread your thighs now, I got a treat for ya!\" announces a well-built minotaur.  He shifts his coverings and pumps on his swollen shaft, tugging hard enough over the iron-hard erection to blast out huge blobs of pre-seed in your direction.  ");
					if (player.spe/5 + rand(20) > 20) {
						outputText("You avoid most of them, the blobs splattering against the mountain and still getting a little on you.  Regardless, the air stinks of their heavy spunk.");
						damage = 6 + player.lib/20;
					}
					else {
						outputText("You try to avoid them, but one catches you in the face, a little getting into your mouth.  You swallow it reflexively and salivate some more, your eyes darting to look at the stained rocks around you.  Are you really considering licking it up from the ground?");
						damage = 15 + player.lib/20;
					}
				}
				outputText("\n");
			}
			if (!teased || rand(3) == 0) {
				//(Minitaur pre-cum tease)
				outputText("The smallest of the beastmen, the minitaur, moans and begs, \"Please Mom, can we please fuck you?  I... I need it so bad.\"  He raises the edge of his loincloth to show exactly what he's talking about.  His member is limp but leaking.  What really catches your eyes sits behind that drizzling shaft - a pair of balls looking swollen and pent up beyond belief.  A sticky web of his leavings hangs between his genitals and his loincloth, showing you just how much he's been leaking at the thought of fucking you.  Fanning the sopping garment, he inadvertently blows a wave of his pheromones your way.\n");
				damage = 9 + player.lib/20;
			}
			game.dynStats("lus", damage);
			damage = player.lust - oldLust;
			//UNIVERSAL pre-cum RESULT:
			if (damage <= 8) {
				//(Low damage taken)
				outputText("Though your body is tingling from the show the horny beasts are giving you, it doesn't effect you as much as it could have.");
				if (player.lust >= player.maxLust()) outputText("  Still, you're too horny to fight any longer.");
			} else if (damage <= 14) {
				//(Medium damage taken)
				outputText("The powerful pheromones and scents hanging in the air around you make your body flush hotly.  Your " + player.nippleDescript(0) + "s grow harder");
				if (player.lust100 > 70) outputText(", though you didn't think such a thing was possible");
				else outputText(", feeling like two bullets scraping along the inside of your " + player.armorName);
				outputText(", but it... it could have been worse.  You shudder as a little fantasy of letting them dribble it all over your body works through your mind.");
				if (player.lust >= player.maxLust()) outputText("  Fuck it, they smell so good.  You want, no, NEED more.");
				else outputText("  A growing part of you wants to experience that.");
			} else {
				//(high damage taken)
				outputText("All that potent pre-ejaculate makes your cunny ");
				if (player.wetness() <= 1) outputText("moisten");
				else if (player.wetness() <= 2) outputText("drip");
				else if (player.wetness() <= 3) outputText("drool");
				else outputText("juice itself");
				outputText(" in need.");
				if (player.minotaurNeed()) {
					outputText("  You need a fix so bad!");
					player.takeLustDamage(5, true);
				} else {
					outputText("  You can understand firsthand just how potent and addictive that fluid is...");
				}
				if (player.hasCock()) outputText("  " + player.SMultiCockDesc() + " twitches and dribbles its own pre-seed, but it doesn't smell anywhere near as good!");
				outputText("  Shuddering and moaning, your body is wracked by ever-increasing arousal.  Fantasies of crawling under the beast-men's soaked legs and lapping at their drooling erections inundate your mind, your body shivering and shaking in response.  ");
				if (player.lust100 <= 99) outputText("You pull back from the brink with a start.  It'll take more than a little drugged pre-cum to bring you down!");
				else outputText("You sigh and let your tongue loll out.  It wouldn't so bad, would it?");
			}
		}
		//Grope
		private function minotaurGangGropeAttack():void {
			game.spriteSelect(SpriteDb.s_minotaurSons);
			outputText("Strong hands come from behind and slide under your equipment to squeeze your " + player.chestDesc() + ".  The brutish fingers immediately locate and pinch at your " + player.nippleDescript(0) + "s, the sensitive flesh on your chest lighting up with pain and pleasure.  You arch your back in surprise, utterly stunned by the violation of your body.  After a moment you regain your senses and twist away, but the damage is already done.  You're breathing a bit quicker now");
			if (player.lust100 >= 80) outputText(", and your pussy is absolutely soaking wet");
			outputText(".");
			player.takeLustDamage((5 + player.sens/10), true);

		}
		//Gang Grope
		private function minotaurGangGangGropeAttack():void {
			game.spriteSelect(SpriteDb.s_minotaurSons);
			outputText("Before you can react, hands reach out from multiple angles and latch onto your body.  One pair squeezes at your " + game.player.buttDescript() + ", the strong grip massaging your cheeks with loving touches.  Another set of hands are sliding along your tummy, reaching down for, but not quite touching, the juicy delta below.  Palms encircle your " + player.chestDesc() + " and caress them, gently squeezing in spite of the brutish hands holding you.  You wriggle and squirm in the collective grip of the many minotaurs for a few moments, growing more and more turned on by the treatment.  At last, you shake out of their hold and stand free, panting hard from exertion and desire.");
			player.takeLustDamage((15 + player.sens/10), true);

		}
		//Waste a turn
		private function minotaurGangWaste():void {
			flags[kFLAGS.MINOTAUR_SONS_WASTED_TURN] = 1;
			game.spriteSelect(SpriteDb.s_minotaurSons);
			outputText("\"Oh man I can't wait to go hilt-deep in that pussy... I'm going to wreck " + player.mf("him", "her") + ",\" promises one bull to his brother.  The other laughs and snorts, telling him how he'll have to do the deed during sloppy seconds.  It quickly escalates, and soon, every single one of the beast-men is taunting the others, bickering over how and when they'll get to have you.  While they're wasting their time, it's your chance to act!");
		}

		override protected function performCombatAction():void
		{
			game.spriteSelect(SpriteDb.s_minotaurSons);
			flags[kFLAGS.MINOTAUR_SONS_WASTED_TURN] = 0;
			var actionChoices:MonsterAI = new MonsterAI();
			actionChoices.add(precumTease,2,true,0,FATIGUE_NONE,RANGE_TEASE);
			actionChoices.add(minotaurGangGropeAttack, 2,true,0,FATIGUE_NONE,RANGE_MELEE);
			actionChoices.add(minotaurGangGangGropeAttack,1,true,0,FATIGUE_NONE,RANGE_MELEE);
			actionChoices.add(game.mountain.minotaurScene.minoPheromones,1,true,0,FATIGUE_NONE,RANGE_RANGED);
			actionChoices.add(minotaurGangWaste,1,true,0,FATIGUE_NONE,RANGE_MELEE);
			actionChoices.exec();

		}

		override public function defeated(hpVictory:Boolean):void
		{
			game.highMountains.minotaurMobScene.victoryMinotaurGang();
		}

		override public function won(hpVictory:Boolean, pcCameWorms:Boolean = false):void
		{
			if (pcCameWorms) {
				outputText("\n\nThe minutaurs share a laugh while you cum, but their throbbing erections don't subside in the slightest.");
				doNext(game.combat.endLustLoss);
			} else {
				game.highMountains.minotaurMobScene.minotaurDeFeet();
			}
		}

		public function MinotaurMob()
		{
			this.a = "the ";
			if (game.flags[kFLAGS.ADULT_MINOTAUR_OFFSPRINGS] < 20)
				this.short = "minotaur gang";
			else
				this.short = "minotaur tribe";
			this.imageName = "minomob";
			this.long = Num2Text(game.flags[kFLAGS.ADULT_MINOTAUR_OFFSPRINGS]) + " shaggy beastmen stand around you in a loose circle.  Their postures aren't exactly threatening.  If anything, they seem to be standing protectively around you, as if their presence would somehow shelter you from the rest of the mountain.  All of their features share a brotherly similarity, though there's still a fair bit of differences between your minotaur sons.  One of them is a head above the rest, a massive hulk of muscle so big he seems to dwarf the rest.  In stark contrast, a feminine minitaur keeps his distance in the rear."+(game.flags[kFLAGS.ADULT_MINOTAUR_OFFSPRINGS] >= 20?"  The tribe constantly makes hoots and cat-calls, fully expecting to be fucking you soon.":"");
			this.race = "Minotaurs";
			this.plural = true;
			this.pronoun1 = "they";
			this.pronoun2 = "them";
			this.pronoun3 = "their";
			this.createCock(rand(13) + 24,2 + rand(3),CockTypesEnum.HORSE);
			this.balls = 2;
			this.ballSize = 2 + rand(13);
			this.cumMultiplier = 1.5;
			this.hoursSinceCum = ballSize * 10;
			createBreastRow(0);
			this.ass.analLooseness = Ass.LOOSENESS_STRETCHED;
			this.ass.analWetness = Ass.WETNESS_NORMAL;
			this.createStatusEffect(StatusEffects.BonusACapacity,30,0,0,0);
			this.tallness = rand(37) + 84;
			this.hips.rating = Hips.RATING_AVERAGE;
			this.butt.rating = Butt.RATING_AVERAGE+1;
			this.lowerBody.type= LowerBody.HOOFED;
			this.skin.tone = "red";
			this.skin.type = Skin.FUR;
			this.skin.desc = "shaggy fur";
			this.hair.color = randomChoice("black","brown");
			this.hair.length = 3;
			this.face.type = Face.COW_MINOTAUR;
			initStrTouSpeInte(65, 60, 30, 20);
			initLibSensCor(40, 15, 35);
			this.weaponName = "fists";
			this.weaponVerb="punches";
			this.armorName = "thick fur";
			var bonusHP:Number = 340 + 50 * (game.flags[kFLAGS.ADULT_MINOTAUR_OFFSPRINGS] - 3);
			var lustVuln:Number = 0.45;
			if ((game.flags[kFLAGS.ADULT_MINOTAUR_OFFSPRINGS] - 3) * 2 > 13) lustVuln = .3;
			else lustVuln -= (game.flags[kFLAGS.ADULT_MINOTAUR_OFFSPRINGS] - 3) * 0.02;
			this.bonusHP = bonusHP;
			this.lust = 30;
			this.lustVuln = lustVuln;
			this.temperment = TEMPERMENT_LUSTY_GRAPPLES;
			var level:int = 11 + Math.round((game.flags[kFLAGS.ADULT_MINOTAUR_OFFSPRINGS] - 3)/2);
			if (level > 14) level = 14;
			this.level = level;
			this.gems = rand(15) + 45;
			this.tail.type = Tail.COW;
			//this.special1 = game.mountain.minotaurScene.minoPheromones;
			this.drop = NO_DROP;
			checkMonster();
		}
	}
}

license: unknown


code:
package classes.Scenes.Areas.HighMountains
{
	import classes.BodyParts.Wings;
	/**
	 * ...
	 * @author Stadler76
	 */
	public class WingedCockatrice extends Cockatrice
	{
		public function WingedCockatrice()
		{
			super();
			wings.type = Wings.FEATHERED_LARGE;
			spe += 10;
			this.imageName = "cockatricewithwings";
		}
	}
}


code:
/* Created by aimozg on 06.01.14 */
package classes.Scenes.Areas {
	import classes.*;
	import classes.GlobalFlags.kFLAGS;
	import classes.GlobalFlags.kGAMECLASS;
	import classes.Scenes.API.Encounter;
	import classes.Scenes.API.Encounters;
	import classes.Scenes.API.FnHelpers;
	import classes.Scenes.API.IExplorable;
	import classes.Scenes.Areas.Lake.*;
	import classes.Scenes.PregnancyProgression;
	import classes.internals.GuiOutput;

	use namespace kGAMECLASS;

	public class Lake extends BaseContent implements IExplorable {

		public var fetishCultistScene:FetishCultistScene = new FetishCultistScene();
		public var fetishZealotScene:FetishZealotScene = new FetishZealotScene();
		public var gooGirlScene:GooGirlScene;
		public var greenSlimeScene:GreenSlimeScene = new GreenSlimeScene();
		public var kaiju:Kaiju = new Kaiju();
		public var calluScene:CalluScene = new CalluScene();
		public var swordInStone:SwordInStone = new SwordInStone();
		public var cultistNunScene:CultistNunScene = new CultistNunScene();

		public function Lake(pregnancyProgression:PregnancyProgression, output:GuiOutput) {
			this.gooGirlScene = new GooGirlScene(pregnancyProgression, output);
		}

		public function isDiscovered():Boolean { return flags[kFLAGS.TIMES_EXPLORED_LAKE] > 0; }
		public function discover():void {
			flags[kFLAGS.TIMES_EXPLORED_LAKE] = 1;
			outputText(images.showImage("area-lake"));
			outputText("Your wanderings take you far and wide across the barren wasteland that surrounds the portal, until the smell of humidity and fresh water alerts you to the nearby lake.  With a few quick strides you find a lake so massive the distant shore cannot be seen.  Grass and a few sparse trees grow all around it.\n\n<b>You've discovered the Lake!</b>");
			doNext(camp.returnToCampUseOneHour);
		}

		private var _exploreEncounter:Encounter = null;
		public function get exploreEncounter():Encounter {
			const fn:FnHelpers = Encounters.fn;
			//=================EVENTS GO HERE!=================
			if (_exploreEncounter == null) _exploreEncounter = Encounters.group(
					game.commonEncounters,
					fetishCultistScene,
					gooGirlScene, {
						call: game.commonEncounters.impEncounter,
						when: fn.ifNGplusMin(1)
					}, {
						call: game.commonEncounters.goblinEncounter,
						when: fn.ifNGplusMin(1)
					}, {
						name: "egg",
						call: eggChooserMenu,
						when: fn.ifPregnantWith(PregnancyStore.PREGNANCY_OVIELIXIR_EGGS),
						chance: 2.5
					}, {
						call: calluScene,
						chance: 0.5
					},
					game.latexGirl.lakeDiscovery,
					game.izmaScene,
					game.rathazul,
					kaiju,
					game.aprilFools.poniesEncounter, {
						name: "boat",
						call: game.boat.discoverBoat,
						when: fn.not(game.boat.isDiscovered)
					}, {
						name: "townruins",
						call: game.townRuins.discoverAmilyVillage,
						when: fn.not(game.townRuins.isDiscovered)
					}, {
						name : "cultistNun",
						call: cultistNunScene.execEncounter,
						chance : cultistNunScene.encounterChance
					}, swordInStone, {
						name  : "bigjunk",
						call  : curry(game.commonEncounters.bigJunkForestScene, true),
						chance: game.commonEncounters.bigJunkChance
					}, Encounters.group("loot", {
						name: "equinum",
						call: findEquinum
					}, {
						name: "wfruit",
						call: findWFruit
					}), {
						name: "farm",
						call: game.farm.farmExploreEncounter,
						when: farmEncounterAvailable
					}, {
						name: "walk",
						call: lakeWalk
					});
			return _exploreEncounter;
		}
		//Explore Lake
		public function explore():void {
			clearOutput();
			player.location = "lake";
			flags[kFLAGS.TIMES_EXPLORED_LAKE]++;
			exploreEncounter.execEncounter();
		}

		public function farmEncounterAvailable():Boolean {
			return !player.hasStatusEffect(StatusEffects.MetWhitney) ||
					player.statusEffectv1 (StatusEffects.MetWhitney) <= 1;
		}

		public function lakeWalk():void {
			if (player.level < 2 || player.spe100 < 50) {
				clearOutput();
				outputText(images.showImage("area-lake"));
				outputText("Your quick walk along the lakeshore feels good.");
				if (player.spe100 < 50) {
					outputText("  You bet you could cover the same distance even faster next time.\n");
					dynStats("spe", .75);
				}
			}
			else {
				clearOutput();
				outputText(images.showImage("area-lake"));
				outputText("Your stroll around the lake increasingly bores you, leaving your mind to wander.  ");
				if (player.cor >= 60 || player.lust100 >= 90 || player.lib >= 75) {
					outputText("Your imaginings increasingly seem to turn into daydreams of raunchy perverted sex, flooding your groin with warmth.");
					dynStats("lus", (player.cor / 10 + player.lib / 10));
				}
				else if (player.cor > 30 || player.lust100 > 60 || player.lib > 40) {
					outputText("Your imaginings increasingly seem to turn to thoughts of sex.");
					dynStats("lus", (5 + player.lib / 10));
				}
				else dynStats("int", 1);
			}
			doNext(camp.returnToCampUseOneHour);
		}

		public function eggChooserMenu():void {
			clearOutput();
			outputText(images.showImage("event-lake-lights"));
			outputText("While wandering along the lakeshore, you spy beautiful colored lights swirling under the surface.  You lean over cautiously, and leap back as they flash free of the lake's liquid without making a splash.  The colored lights spin in a circle, surrounding you.  You wonder how you are to fight light, but they stop moving and hover in place around you.  There are numerous colors: Blue, Pink, White, Black, Purple, and Brown.  They appear to be waiting for something; perhaps you could touch one of them?");
			menu();
			addButton(0, "Blue", eggChoose, 2);
			addButton(1, "Pink", eggChoose, 3);
			addButton(2, "White", eggChoose, 4);
			addButton(3, "Black", eggChoose, 5);
			addButton(4, "Purple", eggChoose, 1);
			addButton(5, "Brown", eggChoose, 0);
			addButton(14,"Escape", eggChooseEscape);
		}

		public function findWFruit():void {
			clearOutput();
			outputText(images.showImage("item-wFruit"));
			outputText("You find an odd, fruit-bearing tree growing near the lake shore.  One of the fruits has fallen on the ground in front of you.  You pick it up.\n");
			inventory.takeItem(consumables.W_FRUIT, camp.returnToCampUseOneHour);
		}
		public function findEquinum():void {
			clearOutput();
			outputText(images.showImage("item-equinum"));
			outputText("You find a long and oddly flared vial half-buried in the sand.  Written across the middle band of the vial is a single word: 'Equinum'.\n");
			inventory.takeItem(consumables.EQUINUM, camp.returnToCampUseOneHour);
		}

		private function eggChoose(eggType:int):void {
			clearOutput();
			outputText(images.showImage("event-lake-lights-adoption"));
			outputText("You reach out and touch the ");
			switch (eggType) {
				case  0: outputText("brown"); break;
				case  1: outputText("purple"); break;
				case  2: outputText("blue"); break;
				case  3: outputText("pink"); break;
				case  4: outputText("white"); break;
				default: outputText("black"); break;
			}
			outputText(" light.  Immediately it flows into your skin, glowing through your arm as if it were translucent.  It rushes through your shoulder and torso, down into your pregnant womb.  The other lights vanish.");
			player.statusEffectByType(StatusEffects.Eggs).value1 = eggType; //Value 1 is the egg type. If pregnant with OviElixir then StatusEffects.Eggs must exist
			doNext(camp.returnToCampUseOneHour);
		}

		private function eggChooseEscape():void {
			clearOutput();
			outputText(images.showImage("area-lake"));
			outputText("You throw yourself into a roll and take off, leaving the ring of lights hovering in the distance behind you.");
			doNext(camp.returnToCampUseOneHour);
		}
	}
}


code:
/**
 * Created by aimozg on 06.01.14.
 */
package classes.Scenes.Areas.Lake
{
	import classes.*;
	import classes.GlobalFlags.kGAMECLASS;
	import classes.Scenes.Areas.Lake;

	public class AbstractLakeContent extends BaseContent
	{
		protected function get lake():Lake{
			return game.lake;
		}
		public function AbstractLakeContent()
		{
		}
	}
}


code:
/**
 * Created by aimozg on 04.01.14.
 */
package classes.Scenes.Areas.Lake
{
	import classes.*;
	import classes.GlobalFlags.kFLAGS;
	import classes.Items.Armors.LustyMaidensArmor;
	import classes.display.SpriteDb;
	import classes.internals.*;
	import classes.Scenes.API.Encounters;

	public class CultistNunScene extends AbstractLakeContent
	{
		public function CultistNunScene()
		{
		}

		public function execEncounter():void {
			if (flags[kFLAGS.MET_CULTIST_NUN] == 1){
				meetCultistNunAgain();
			} else meetCultistNun();
		}

		public function encounterChance():Number{
			return 0; //screw this
			if (flags[kFLAGS.TOOK_NAUGHTY_HABIT] == 1) return 0;
			if (time.hours >= 8 && time.hours <= 10) return 3;
			else return 0;
		}

		public function meetCultistNun():void{
			clearOutput();
			flags[kFLAGS.MET_CULTIST_NUN] = 1;
			outputText("Walking along the lake's shore, you spot something over the distance; someone kneeling, clad in blue robes. From where you are standing, it looks harmless enough, and curiosity gets the better of you.");
			outputText("\n\nAs you approach, more details become clear to you. The person kneeling is obviously female, and she seems to repeat some type of prayer to herself. What you thought were robes are actually a nun's habit, a very short one at that, revealing much of her thick thighs.");
			if (player.isReligious()) outputText(" Definitely not what you're used to seeing in the monastery where you grew up.");
			outputText("\n\nAfter a few moments of walking, you get close enough to the woman to grab her attention. Her eyes are closed, her hands locked together in prayer. A small, unambitious shrine sits in front of her, composed of a small wooden cross, a couple of candles, and an assortment of flowers. Without looking at you, she addresses you.");
			outputText("\n[say: This world, it is beautiful, is it not?] She asks. You're a bit puzzled by the sudden question, but answer in an uncompromising way."
			+"\n\n[say: I understand you may be hesitant to praise this land, as it has suffered much. But life, no matter the form, must be praised and celebrated, for it is a gift of our Lord to us, his humble servants].");
			outputText("\n\nYou scratch your head. How do you answer her?");
			menu();
			addButton(0, "Marae", answerNun, 0).hint("You thought Marae was the god of this land, and she definitely doesn't look like a 'Lord'.");
			addButton(1, "False Gods", answerNun, 1).hint("You were taught about one true god in Ingnam, and you hope she's praising it.");
			addButton(2, "Not Religious", answerNun, 2).hint("You're not particularly religious.");
		}

		public function meetCultistNunAgain():void{
			clearOutput();
			outputText("Walking along the lake's shore, you encounter the nun once again, and, once again, she is kneeling, praying for her god.");
			outputText("\n\n[say: Good to see you again, stranger. What brings you here? Do you wish to pray with me?]");
			if (flags[kFLAGS.PRAYED_WITH_NUN] == 1 && flags[kFLAGS.TOOK_NAUGHTY_HABIT] == 0) outputText("\n\nShe nods towards a small chest next to her. [say: If you wish to join my faith, the offer still stands.]");
			menu();
			var button:int = 0;
			if ((flags[kFLAGS.PRAYED_WITH_NUN] == 1 || flags[kFLAGS.DEFILED_NUN] == 1) && flags[kFLAGS.TOOK_NAUGHTY_HABIT] == 0) addButton(button++,"Take Habit",curry(inventory.takeItem,armors.NNUNHAB,joinNunFinish,joinNunMaybeLater)).hint("Take the habit.");
			if (flags[kFLAGS.PRAYED_WITH_NUN] == 0 || flags[kFLAGS.DEFILED_NUN] == 0) addButton(button++, "Pray", joinNun).hint("Join her in her prayers.");
			if (flags[kFLAGS.DEFILED_NUN == 0] && player.cor > 60 && !player.isGenderless()) addButton(button++, "Defile Her", defileHer).hint("Show her how you \"praise creation\".");
			addButton(button++, "No", denyPrayer).hint("You have better things to do.");
		}

		public function defileHer():void{
			clearOutput();
			flags[kFLAGS.DEFILED_NUN] = 1;
			outputText("You scoff at her prayers, and tell her you'll show her exactly what you think of it. Her soft, white body, blonde hair peeking through the habit, bright green eyes and fertile curves just need to be defiled!"
			+"\nBefore she can react, you forcefully push her down to the ground, preparing to ravage her pure body. She yelps softly as she hits the ground, accidentally opening her legs to you."
			+"\nWhat you see between her legs surprises you, however. Under her habit is a cross, the end of which is stuck firmly inside her soaked pussy! The dissonance in your mind stuns you for a moment."
			+"\n\nAnd then you notice you can't move.");
			doNext(player.hasCock() ? getDefiledCock : getDefiledVagene);
		}

		public function getDefiledCock():void{
			clearOutput();
			var x:int = player.longestCock();
			outputText("You try to approach her, but you can't do anything aside from moving your eyes and breathing. What the hell is going on?"
			+"\nThe nun gets up, the dirt from your forceful shove just sliding off of her habit, leaving her completely pristine again. [say: You assault a woman of the cloth! Truly, this land has fell into depraved sin without the guidance of my Lord.]"
			+"\nYour face contorts in anger, but, despite putting all your strength into it, you just can't break whatever spell is binding you. She sees your predicament, and, somehow, understands what it means."
			+"\n[say: It is not in my position to pass judgment to sinners. But it seems He has deemed me worthy to show you the light, to attempt to guide you on the path of righteousness.]"
			+"\n\nShe approaches you, swaying her hips seductively, while keeping an utterly chaste gaze. You can see the cross is still lodged firmly inside her, and thin trails of girl cum slide down her thigh. [if (isnakedlower) She places her hand on your exposed [cock longest]. [say: You expose His glory to the world nonchalantly, while attacking one of His servants. I will show you how to properly spread His word.]|She strips you off your [armor] and places a hand on your exposed [cock longest]. [say: You wish to spread His word, but attack one of His servants. I will show you how to properly serve Him.]]"
			+"\n\nShe carefully grabs your cock with both hands, and sweetly blows on it, making you shiver. As your cock grows on her hand, she analyzes it.");
			if (player.cocks[x].cockLength < 6) outputText("[say: This is a bit of a poor example, isn't it? You could do so much more. His glory is infinite, and I cannot ask you to match it, but you can make a better attempt.]");
			else if (player.cocks[x].cockLength > 15) outputText("[say: Pride is the greatest of sins, stranger. If you try to hard to match his glory, you will attain nothing but ruin. This cock matches your pride, and you must be humbled.]");
			else outputText("[say: Ah, a great example. Not too prideful, not too humble. When you accept your place as His servant, you will truly be a great help to His cause.]");
			outputText("\nShe takes your [cockhead longest] into your mouth, and lightly sucks on it while licking its tip. It throbs, desiring more, but she stops and removes it from her mouth, stroking it a couple of times afterwards.");
			if(player.cocks[x].cockType == CockTypesEnum.ANEMONE) outputText("\n\n[say: My tongue tingles, and I can feel sinful heat spread through my body... A cock like this, truly the work of corruption. Are you not capable of pleasuring a woman without tainting them with unholy venom?]");
			else if(player.cocks[x].cockType == CockTypesEnum.TENTACLE) outputText("\n\n[say: I have seen many corrupted beasts with cocks like this. Why do you corrupt yourself so? Do you desire to be nothing more than a mindless monster?]");
			else if (player.cocks[x].cockType == CockTypesEnum.DEMON){
				outputText("\n\n[say: A sad sight. The weakest part of myself tingles just from having this cock in my mouth. The mere smell... it fills my mind with images of me getting ravaged, spread and corrupted with demonic cum.]"
				+"\n\nA singular drop of girl cum falls from her pussy, still gripping the cross."
				+"\n\n[say: But a true follower does not bow to corruption. That the demons corrupt His tool of glory like this... shameful.]");
			}else if (player.cocks[x].cockType != CockTypesEnum.HUMAN) outputText("\n\n[say: Such a beastial cock. Animals were uplifted to assimilate humans by weak, false gods. Why did you decide to stoop down to their level?]");
			else outputText("\n\n[say: I am glad you did not corrupt yourself. The human cock... it is His tool of glory. The shape, the size, the texture... It makes a woman of faith like me need to praise it.]");
			outputText("\nShe begins pleasuring your cock with long, languid strokes. Whenever her hand reaches your cockhead, she pleasures its tip with her thumb. [if (istaur) Due to your anatomy, you can only feel what she's doing to you, making every new sensation a complete surprise|You regain just enough movement to shift your gaze at her, and you see her E-cup breasts bounce with each stroke, her nipples poking through the satin fabric of her habit.]"
			+"\nShe thumbs the lower part of your cock with each stroke, pushing every drop of precum out and licking it as it drips. Your breath quickens as your desire grows, but her pace is still the same."
			+"\nSuddenly, she stops, leaving your cock to throb desperately, unnatended.");
			outputText("\n\n[say: O Lord, thank you for this opportunity to be baptized in your name, once again.]"
			+"\nYou're stuck wondering what she's talking about as she holds your cock delicately, barely touching it. She takes a deep breath and aligns her mouth with the tip of your cock.");
			doNext(getDefiledCock2);
		}

		public function getDefiledCock2():void{
			clearOutput();
			player.orgasm();
			var x:int = player.longestCock();
			outputText("With one swift movement, she takes " + (player.cocks[x].cockLength <= 16 ? "your entire cock" : "the first sixteen inches of your cock") + " in a flash, eliciting a moan from you."
			+"\nShe remains still for a moment, merely tasting and licking the length of dick she has inside her. Just as smoothly as she took your cock in, she slides it out to the tip, completely covered in thick drool."
			+"\nShe breathes in again and reinserts your cock inside her mouth. She grabs your [legs] as support, and begins facefucking herself, each deepthroat quicker than the previous one."
			+"\nYour [legs] [if (singleleg) shakes|shake] over the unrelenting surge of pleasure, after your long teasing. She has trouble keeping up her form during such a rough blowjob, and bunches of her blonde hair slip from her habit, panting a decisively unchaste image of this serene nun."
			+"\nWet sounds and squelches fill the air as she continues worshipping your cock. You feel cum boiling up from inside you, and tense up, unable to contain your desire any more. As if sensing this, however, the nun quickly pops your cock from her mouth before you can find release."
			+"\n\n[say: Not yet, sinner. I do not know if your seed has been purified enough to properly baptize me.]"
			+"\nUnable to even hump the air to get some type of release, you're left whining and huffing over your intense frustration. The nun pays no mind to your suffering as he takes an item from the pocket of her habit. A rosary, with larger than normal beads."
			+"\n\nShe takes the rosary and ties it around the base of your cock. It doesn't feel particularly tight or uncomfortable, leaving you to wonder why she bothered doing it at all."
			+"\nWith that done, she proceeds to stroke your shaft quickly, her hand sliding smoothly, aided by her drool and your pre. She licks around your [cockhead longest], occasionally delicately rubbing your urethra directly with her tongue. It's enough to drive you over the edge, and you cum, moaning loudly."
			+"\n\nExcept, nothing happens. You do not feel release, and there's no ejaculation. The pleasure just mounts, and your desire isn't sated, the cum stopping just before where the rosary is tied, being completely blocked by some invisible force. She continues to stroke and lick you, and you soon orgasm again and again, finding no actual release."
			+"\n\nYour breaths of pleasure turn into moans of desperation, and your whole body shivers with maddened need. After you lose count of how many orgasms were accumulated inside you, she stops, once again."
			+"\n[say: I believe your semen has been properly purified now. It is a worthy baptism.]"
			+"\nYou do not bother even thinking of a response to that. You're simply out of yourself now, unable to cope with how much you need to cum."
			+"\nThe nun brings her hand down to her pussy, now absolutely soaked with her juices. [say: One final \"push\", so that you are worthy to carry His blessing.] She grabs the cross, still lodged inside her, and pulls it out, her lips clinging tightly to the sinful toy, not willing to let it go. It pops out of her with a wet noise, completely drenched in her natural lubricant. The end of the cross is actually a perverse dildo, textured like a real cock."
			+"\nStill unable to move, you can do nothing as she aligns the toy with your [asshole], her other hand positioned on the rosary, her face staring down at your cumslit. [say: Cum for me! Bless me with your seed, Holy One!]"
			+"\n\nShe shoves the cross inside you just as she removes the rosary, the supernatural seal binding your cock being released exactly as the head of the perverse dildo crushes your prostate. You finally ejaculate, your mind and vision completely blank, unable to process the sheer, unholy pleasure.");
			outputText("You throb powerfully several times, " + player.lowMedHighCum("each contraction launching a small rope of cum onto the nun's face. She dutifully takes it all, unphased.\n[say: I will work hard for you, Lord. From this baptism, I can see I have lacked in my devotion.]",
			"each contraction painting her body with thick ropes of cum. She dutifully takes it all, unphased, cum pooling on her breasts. [say: Thank you, Lord, for this baptism. I shall strive to do even better next time.]", "each contraction covering her body with obscene amounts of cum. Despite the absurd volume of your ejaculation, she remains still, unphased. Cum pools on her torso, sliding down the smooth satin fabric in great globs. She licks her lips, removing just enough of your copious cum for her to speak. [say: Thank you, Lord, for this divine blessing. This baptism is evidence I have been righteous, and will strive to be even more so.]"));
			outputText("\n\nShe removes the cross from your ass, and the spell paralyzing you fades. You collapse, utterly spent."
			+"[say: Baptism can often be draining for the bearer of His light, I understand. I believe you could still stand to learn more about His ways, however. When you wake up, please, take my gift with you, and join my faith. You have great potential.]");
			outputText("\nYou're unsure if you want to hit her for her \"religion\" or thank her for the mind blowing orgasm. It soon stops mattering, as you drift into sleep.");
			doNext(getDefiledEnd);

		}

		public function getDefiledVagene():void{
			clearOutput();

			outputText("You try to approach her, but you can't do anything aside from moving your eyes and breathing. What the hell is going on?"
			+"\nThe nun gets up, the dirt from your forceful shove just sliding off of her habit, leaving her completely pristine again. [say: You assault a woman of the cloth! Truly, this land has fell into depraved sin without the guidance of my Lord.]"
			+"\nYour face contorts in anger, but, despite putting all your strength into it, you just can't break whatever spell is binding you. She sees your predicament, and, somehow, understands what it means."
			+"\n[say: It is not in my position to pass judgment to sinners. But it seems He has deemed me worthy to show you the light, to attempt to guide you on the path of righteousness.]"
			+"\n\nShe approaches you, swaying her hips seductively, while keeping an utterly chaste gaze. You can see the cross is still lodged firmly inside her, and thin trails of girl cum slide down her thigh. She looks directly in your eyes, her face mere inches away from yours."
			+"\n[if (isnakedlower) [say: Why do you carry yourself like this, naked? Do you intend to arouse the tools of my Lord with such a brash display of sexuality? Ignorant. Do not worry, I will show you the path of righteousness.]|[say: Thankfully, you do not seem to be entirely lost. I will guide you, show you how you must portray yourself to serve my Lord. Prepare yourself.]]"
			+"\n\nShe brings one hand between her legs, and grabs the cross. She slowly pulls it out, the walls of her pussy clinging tightly to the toy. She moans softly when it pops out, a cascade of lubricant following afterwards. She brings it up to your frozen gaze, and you notice it is much more perverse than you originally thought; The end of the cross is rather thick, shaped and textured like a real, veiny human cock. She places it under your nose and through your lips, the feminine scent making your head hazy."
			+"\n[say: I was lost like you, once. A prey to corruption, prey to my rampant desires. After being blessed his His light, I understood that there is no greater pleasure than to serve. And when He deems me worthy, I am cleansed of lust in the most delightful manner. I will show you an example.]"
			+"\n\n[if (istaur) She moves behind you, dildo in hand. [say: I do not know if my Lord cares for beings with such a beastial form, but I hope he is merciful enough to show you His light.]] Whispering a soothing, unintelligible prayer, she aligns the head of the dildo to your [vagina], teasing your lips and softly rubbing your [clit]. You breathe faster, unable to contain your lust or stop the teasing due to the magical bondage."
			+"\n[say: Bless this one as you have blessed me, Lord.] She shoves the dildo inside you, and your vision blanks.");
			doNext(getDefiledVagene2);

		}

		public function getDefiledVagene2():void{
			clearOutput();
			outputText("You awake in a dark void, confused. To your surprise, you can move, but you have no sense of direction."
			+"\nYou spend a few moments walking before you realize you're not going anywhere. The dark, foggy and barren atmosphere stretches as far as you can see, and perhaps even beyond."
			+"\nYou look around, panicking, unsure of what to do. Desperation almost overwhelms you, until you notice a flash of light behind you. You turn around to see a clearing in the dark fog, and what appears to be a human figure."
			+"\n\nYou move towards the figure. None of the figure's features become clearer as you approach, with the exception of one thing; his cock."
			+"\nLost and desperate as you may be, you still cannot turn your gaze away from that dick. It absolutely shines with exuberance, its every proportion, from the shape of the head down to the thickness of the veins, the ten inches of length to the two inches of width apparently crafted by a god. It throbs, dripping a single drop of pre onto the hazy ground, and a pang of guilt hits you, as if you shouldn't have let that single drop be wasted."
			+"\nYou head towards the cock like a moth to a flame. Before you know it, you're [if (isnaga) coiled|kneeling] in front of it, your eyes following each bob and throb of the phallus hypnotically."
			+"\nYou're unsure what to do, however. Should you stroke it? Suck it? Are you even sure you deserve to witness such a cock? The doubt fills your mind, until something whispers inside you that you are allowed to praise it. Joy fills your mind, and, hands trembling, you touch the divine cock."
			+"\n\nYour hand tingles upon touching it. You sigh, and, particularly daring, you place both of them on it. You slide your hand up and down, feeling the exquisite texture of the glans and the shaft. You stroke it once, twice, with a languid, timid pace. The cumslit dilates, revealing another drop of precum. Your reward for submitting yourself this far, you think. You extend your tongue and meekly lap it up. "
			+player.textByWetnessVagina("You feel your pussy moistening, challenging its usual dryness due to the sheer magnificence of the cock you're servicing.",
										"Your pussy tingles, lubricating itself and dripping with expectation, unable to contain its desire to be filled by this perfect cock.",
										"Your pussy twitches, several strings of lube sliding and dripping out, begging to be filled by this perfect cock.",
										"Your pussy twitches, a small gush of girl cum showing just how much it needs to be filled by this perfect cock.",
										"Your pussy twitches, a small gush of girl cum showing just how much it needs to be filled by this perfect cock.",
										"Your already soaked pussy gushes a torrent of girl cum, drenching your [legs] with your liquid desire, betraying your unbearable need to be filled by this perfect cock.")
			+"\n\nYou open your mouth, tongue trembling. You absolutely need this cock to be inside your mouth, but you wouldn't dare take it without permission. You leave it open, welcoming it, hoping it accepts its invitation. In a sudden move, the humanoid figure hilts itself inside you, all ten inches going deep inside your throat. This cock is the most delicious thing you've ever tasted, you think. You fidget in place, your body unable to contain just how good it is to be used by this dick. Part of you wants to tease your needy [pussy] and erect nipples, but you know that your only job right now is to pleasure this cock. Your own needs come later."
			+"\n\nYou close your lips around the cock, and the humanoid figure begins using your mouth to please itself. It starts of slowly, dragging the dick back deliberately. Your tongue slides around the cock as it exits, feeling the veiny, smooth texture of the shaft, the spongy texture of the glans, and tasting the salty pre that flows copiously out of it. Your eyes are closed, just appreciating the taste."
			+"\nWith every thrust, the pace picks up. You offer no resistance; your body wouldn't dare gag on such a wonderful dick. Your tight seal gives way to a dumb, drooling open mouth smile as the facefuck picks up pace, your mind unable to cope with the happiness of being used to please the perfect phallus."
			+"\n\nThe pace eventually becomes so rough that your entire loose body is being thrown around, shaken by the sheer force of the figure's crotch. With a particularly strong thrust, you fail to remain upright and collapse on the ground. You remain there, satisfied with your current predicament, unable to think of anything else but the cock that just ravaged your mouth."
			+"\nYou're brought out of your haze by the figure forcefully [if (singleleg) pulling your [leg] towards him|pushing your [legs] apart] to reveal your absolutely drenched pussy. He approaches you, his cock throbbing and pointing upwards, and your stomach sinks; Could it be? Will he really skewer your [pussy] with that dick? Part of you can barely contain your expectation, and part of you wonders if you'll be able to maintain your sanity after being thoroughly fucked by <b>that</b>."
			+"\nThe figure aligns his dick with your pussy. You breathe rapidly, shaking with anticipation.");
		}

		public function getDefiledVagene3():void{
			clearOutput();
			outputText("Suddenly, you find yourself back at the lake, the nun holding your sweating body while staring straight at you. You open your mouth, your gaze dashing between each of her eyes, but say nothing, unable to describe the sheer terror you're feeling over being this close to being skewered by the perfect cock, and then suddenly denied."
			+"\n[say: Oh, did I remove it too quickly? Forgive me, I can't imagine how it must feel.] She smiles again, keeping her utterly chaste facade. [say: You see His glory now, don't you? As I have told you, this is what awaits a follower of His light. Please, consider it.]"
			+"\nYou just nod, staring deep into the distance. She lets out a small, angelic laugh. [say: Thank you. Now, you still haven't been baptized, right? I'll fix that.] She aligns the cross dildo with your pussy and plunges it inside you again. You moan loudly, your mind being taken back to that hazy, ethereal void."
			+"\n\nYou blink, and find yourself back where you were a moment ago. Your [pussy] overflows with girl cum, every other contraction gushing a few strings a considerable distance. The figure merely slides his cockhead on your lips, each touch causing sparks of pleasure that make your body convulse, each touch on your [clit] causing you to scream in delight."
			+"\nAfter an unbearable tease, he begins pushing inside, spreading the walls of your begging pussy. You stand breathless as he slowly inserts it, every inch an orgasmic explosion inside your mind and your pussy. This is what you were born for, you think. There is nothing more to life than this."
			+"\nThe figure hilts itself on you, and remains still for a moment. With every heartbeat, you can feel the magnificent texture of his cock inside you, filling you completely and perfectly. He slowly removes his cock, down to the tip, then slams it back in. You can't contain your laughter, the sheer joy of your current predicament."
			+"\n\nA moment later, the pace has picked up to a rough, beastial fuck. You desperately want to be more active, to thrust against his dick with your hips in a pace matching his, to perhaps even draw the formless figure in for a kiss. You cannot, however. Every thrust dominates your body so completely that you're left completely paralyzed, utterly incapable of doing anything but taking it, and occasionally moaning, when your mind can function enough for that."
			+"\n\nAfter several minutes of brutal fucking, the figure pushes you off of his cock and points it at you. Despite being in a daze for the entire fuck, you instinctively know what to you. You stare down at the dick's cumslit, open your mouth, and prepare yourself for your baptism."
			+"\nRope after rope of divine cum covers your body, every place it touches glowing with pleasure, eliciting powerful orgasms of your own. You babble incomprehensibly while swallowing the jizz that lands on your mouth, thanking your god for blessing you with his light. He throbs powerfully multiple times, every contraction releasing an absurd amount of cum, thick globs covering your entire body. You remain dutiful, however, and take all of it without even blinking."
			+"\nYour god offers you his now flaccid cock, still dripping with the last few remnants of his orgasm. You accept it implicitly, idly sucking and licking whatever drops of cum you can lap up with your tongue. As the cock deflates, you feel your mind leaving the void, and returning back to Mareth. A deep feeling of longing and dread fills your mind as you realize just what you're leaving behind."
			+"\n\nYou vanish.");

		}

		public function getDefiledEnd():void{
			clearOutput();
			outputText("When you wake up, the nun is no longer there. You scratch your head, unsure of why you're sleeping on the grass, before everything comes back to you."
			+"\nYou look around for the nun, but find nothing but a small chest. You open it, and find a navy blue satin habit, much like the one she was wearing. Is this her way of converting you to her religion?"
			+"\n\nWell, regardless of your faith, you're sure that the habit could be fun to use for a roleplay session.\n\n");
			dynStats("cor", -5);
			inventory.takeItem(armors.NNUNHAB, getDefiledTake, camp.returnToCampUseTwoHours);
		}

		public function getDefiledTake():void{
			flags[kFLAGS.TOOK_NAUGHTY_HABIT] = 1;
			doNext(camp.returnToCampUseTwoHours);
		}

		public function answerNun(answer:int = 0):void{
			clearOutput();
			outputText("She takes a long, soothing sigh.\n");
			switch(answer){
				case 0:
					outputText("[say: Oh, the Lord may take many forms and be many different beings, but there is only One. Marae represents fertility, the bountiful growth of beautiful life, and is but one facet of Him, blessed may He be.]");
					break;
				case 1:
					outputText("[say: Of course, child. I do not intend to offend your religion. What is important is that we all practice our faith and praise creation, no matter who we believe is responsible for it.]");
					break;
				case 2:
					outputText("[say: It is difficult to maintain faith in the face of so much corruption, I understand. Hopefully some day the Lord will show you His light, and you too will praise Him.]");
					break;

			}
			outputText("\n\nShe breathes in, and sighs again.");
			outputText("\n[say: Join me in prayer. Let us praise creation together. Just for a moment?]");
			menu();
			addButton(0, "Sure", joinNun).hint("A moment of peace and meditation might not be that bad.");
			addButton(1, "No", denyPrayer).hint("You have better things to do.");
			if (player.cor > 60) addButton(2, "Defile Her", defileHer).hint("Show her how you \"praise creation\".");
		}

		public function denyPrayer():void{
			clearOutput();
			outputText("You don't really care for her religion. You tell her you're not interested.");
			outputText("\nShe seems unaffected by your rejection. [say: Very well. One cannot force another to see the light. I hope that, eventually, you will return here and pray with me.]");
			outputText("\nShe continues her prayer in silence. You shrug and make your way back to camp.");
			doNext(camp.returnToCampUseOneHour);
		}

		public function joinNun():void{
			clearOutput();
			flags[kFLAGS.PRAYED_WITH_NUN] = 1;
			outputText("Yeah, that sounds like a good idea. This is a nice place to just relax, after all. You nod and lie next to her, and she smiles serenely. Her eyes are a vibrant green, and the few strands of hair that escape her habit are blonde. It's like staring into purity itself, you think.");
			outputText("\n\n[say: Thank you for joining me. Let us continue our prayer.]");
			outputText("\nYou wait in silence for her to continue. She breathes deeply, and proceeds.");
			outputText("\n[say: O lord, thank you for blessing us with your creation.]");
			outputText("\nYou nod.");
			outputText("\n[say: Your creation, that reaches all creatures in the universe. That allows life to grow, to reproduce, in all their glory.]");
			outputText("\nYou nod.");
			outputText("\n[say: Your creation, that itself grows, majestic, enduring...]");
			outputText("\nYou're not sure what she's talking about.");
			doNext(joinNun2);
		}

		public function joinNun2():void{
			clearOutput();
			outputText("She fidgets in her spot.");
			outputText("\n\n[say: And large does it grow, powerful, hard and virile, filled with vitality, ready to burst!]");
			outputText("\nWhat?");
			outputText("\n\nShe rubs her thighs and presses her bountiful breasts together. Her nipples poke through the satin habit, evidently hard. Her voice stops being serene, and she instead screams to the sky in euphoria.");
			outputText("\n[say: It throbs, demanding attention! Demanding total reverence! And we must praise it, service it until it releases its holy seed, to permeate the world with glory!]");
			outputText("\nWhat the hell is wrong with her?");
			outputText("\n[say: And when it bursts, we will feel His blessing touch us directly! And when it does... when it does...]");
			outputText("\n\nShe screams, and throws her entire body back. As she lies on the ground, she opens her legs to you, and it becomes impossible to not notice what he has between her legs: a cross, the end of which is deeply inserted inside her soaked pussy, still reflexively sucking it in orgasmic contractions.");
			outputText("\nYou get up immediately, distancing yourself a few steps from the obviously insane woman. She continues moaning and riding her orgasm, keeping the cross inside her while she rubs her nipples through the satin fabric of her habit.");
			doNext(joinNunStay);
		}

		public function joinNunStay():void{
			clearOutput();
			outputText("You decide to be patient, and wait for her orgasm to subside.");
			outputText("\n[say: Lord, I feel your touch! It ravages me, spreads me! Please, let me serve you further! Give me a sign!]");
			outputText("\nAs she finishes speaking, a new surge of pleasure hits her, and she squirts again. She spasms in place, unable to contain herself.");
			outputText("\n[say: Yes! Yes! I see it! I will follow your guidance! Yes!]");
			outputText("\n\nShe moans loudly, and eventually it trails down into a sigh again. She breathes deeply, and in a moment, she has returned to her old, calming self.");
			outputText("\nShe kneels again. She brings a hand down her thighs and thrusts the cross inside herself a few times. She sighs, and looks directly at you.");
			outputText("\n\n[say: Thank you for remaining with me. As I prayed, I had a vision. My Lord has talked to me, and He sees your potential. He believes you would be a great servant for him. He sees your potential!]");
			outputText("\nServe \"Him\"?");
			outputText("\n\n[say: It is not difficult, and it brings great pleasure. Just praise his instrument of procreation, place it atop everything else in your life, and you will be blessed with His glory.]");
			outputText("\nShe rubs her thighs again.");
			outputText("\n[say: Spread the word of His magnificence, praise Him wherever he appears. What do you say?]");
			menu();
			addButton(0, "Yes...?", joinNunJoinReligion).hint("Her religion seems to just entail praising cocks. You can do that.");
			addButton(1, "...No.", joinNunFuckOffMormons).hint("You'll skip this bit of Good News for now.");
		}

		public function joinNunFuckOffMormons():void{
			clearOutput();
			outputText("You raise your hands and tell her to stop. You're not interested in joining a church of dicks.");
			outputText("\nShe looks a bit disappointed, but soon returns to her serene look. [say: Very well, stranger. I was too forward to ask this of you. Hopefully, in time, my Lord will show you His light and you will return here. No one can be forced to accept truth.]");
			outputText("\n\nWhatever. After shrugging her words off, she breathes deeply and returns to her libidinous prayer. You're not sure why you expected any purity in religion in this land.");
			doNext(camp.returnToCampUseOneHour);
		}

		public function joinNunJoinReligion():void{
			clearOutput();
			dynStats("lus", 15);
			outputText("Despite your rude introduction to her \"religion\", you have to admit, you're quite the fan of dicks as well. [if (hascock) Especially yours.] With libidinous anticipation boiling inside you, you tell her you accept, but you're unsure of what it would entail.");
			outputText("\n\nShe smiles serenely again, having completely reverted to her peaceful facade. [say: If you truly love Him, then all you need to do is continue with your worship. But inferior beings that we are, we might need some type of motivation, a physical crutch for our devotion. I understand.]");
			outputText("\nShe takes a small chest from the ground next to her and opens it, revealing a navy blue, satin habit much like her own. [say: Here. A gift from His magnificence. May He bless you as he has blessed me.]");
			outputText("\nYou take the satin habit. Feeling the texture on your fingers already brings your imagination alight with images of dicks of all shapes and sizes, and something compels you to wear it immediately. There's definitely some type of magic imbued in this.");
			inventory.takeItem(armors.NNUNHAB, joinNunFinish, joinNunMaybeLater);
		}

		public function joinNunFinish():void{
			clearOutput();
			outputText("You take the habit, and the nun beams with pious happiness. [say: Thank you, stranger, faith is difficult to come by in such harsh times. Yours is an important task. Spread His word wherever you go. Do not demean His power and your capacity for change; one person can make all the difference in the world.]");
			outputText("\nPart of you wonders how much of her is just a character she's playing, and how much of her has genuine faith in a god of phalluses. It doesn't really matter in the end, you think. You'll have fun with the habit every once in a while.");
			outputText("\n[say: Thank you, again. Leave me now, please. I must commute with the Lord once again.]");
			outputText("\n\nFine by you. You leave her to her \"prayers\" and make your way back to camp.\n\n");
			flags[kFLAGS.TOOK_NAUGHTY_HABIT] = 1;
			doNext(camp.returnToCampUseOneHour);
		}

		public function joinNunMaybeLater():void{
			clearOutput();
			outputText("You can't really take the habit right now.");
			outputText("\n\n[say: I understand. Do not worry; the habit is merely an aid in your quest to spread His word. It is not necessary. If you ever need it, however, just come back to me.]");
			outputText("\nYou nod.");
			outputText("\n\n[say: Finding another member of the faith is exhilarating, but I must enter communion with my Lord alone. Please, come back later.]");
			outputText("\n\nFine by you. You leave her to her \"prayers\" and make your way back to camp.");
			doNext(camp.returnToCampUseOneHour);
		}

	}
}


code:
package classes.Scenes.Areas.Lake
{
	import classes.*;
	import classes.BodyParts.*;
	import classes.GlobalFlags.*;
	import classes.internals.*;

	public class FetishCultist extends Monster
	{

		private static const NAUGHTY_NURSES_UNIFORM:String = "naughty nurse's uniform";
		private static const TEACHERS_OUTFIT:String = "teacher's outfit";
		private static const SWIMSUIT:String = "swimsuit";
		private static const NOBLES_CLOTHING:String = "noble's clothing";
		private static const PERVY_NUNS_CLOTHING:String = "pervy nun's clothing";

		override public function combatRoundUpdate():void
		{
			super.combatRoundUpdate();
			var changed:Boolean = false;
			//Fetish Cultist Update
			switch (rand(5)) {
				case 0:
					if (armorName != PERVY_NUNS_CLOTHING) {
						//Religious outfit!
						long = "The woman across from you has her eyes closed, her hands joined, and seems to be chanting under her breath.  She is wearing a religious robe that closely hugs her curvacious shape. There is a specially-placed opening over her pussy lips.";
						this.armorName = PERVY_NUNS_CLOTHING;
						changed = true;
					}
					break;
				case 1:
					if (armorName != NOBLES_CLOTHING) {
						//Noble outfit
						this.armorName = NOBLES_CLOTHING;
						long = "She's wearing a skimpy noble's dress, which lets you get a good look at her well-filled bra through an over-generous cleavage. Her skirt is so short that you clearly see her pussy lips.  She smiles at you in a rather cute way.  She looks like she's coming out of a painting, executed by a rather depraved and lust-filled artist.";
						changed = true;
					}
					break;
				case 2:
					if (armorName != SWIMSUIT) {
						//Swim outfit
						long = "She's currently wearing a swimsuit that's apparently much too small for her, because it stretches across every curve and clearly outlines them for you to see.  Her sizable breasts look like they could burst through the fabric at any moment.  You can even see her erect nipples and her puffy lower lips.";
						this.armorName = SWIMSUIT;
						changed = true;
					}
					break;
				case 3:
					if (armorName != TEACHERS_OUTFIT) {
						//Pervy Teacher
						long = "She's now wearing a teacher's outfit, complete with glasses, make-up, her black hair in a tight bun, and a serious-looking outfit... with no back side at all.  She turns to the side to give you a good look at her rear, smiling mischievously.";
						this.armorName = TEACHERS_OUTFIT;
						changed = true;
					}
					break;
				case 4:
					if (armorName != NAUGHTY_NURSES_UNIFORM) {
						//Naughty Nurse
						long = "The woman is wearing heavy make-up and a whorish nurse's suit, seemingly in white latex with two openings at her breasts and a large one on her crotch and inner thighs. It lets her blood-gorged pussy lips hang freely, which she displays proudly.";
						this.armorName = NAUGHTY_NURSES_UNIFORM;
						changed = true;
					}
					break;
				default:
					//Move along.
			}
			//Talk abouts it mang!
			if (changed) outputText("The fetish cultist's clothing shifts and twists, taking on the appearance of a " + armorName + ".\n\n");
			lust += lustVuln * 3;
		}

		private static const FETISHY_OUTFIT:String = "fetishy outfit";

		private function cultistRaisePlayerLust():void {
			//Two text variants!
			if (rand(2) == 0) {
				if (armorName == PERVY_NUNS_CLOTHING) outputText("She suddenly stops chanting and spreads her legs, opening her loose pussy wide with one hand while moaning like a whore.  She toys with her breasts and fondles one of her nipples with her other hand.\n\nDespite yourself,  you can't help but be aroused by the scene.");
				if (armorName == NOBLES_CLOTHING) outputText("She suddenly blushes and start giggling, saying: 'Really my lord!' in a suave, submitting voice while pulling down her skirt.  The movement lets you get an even better look down her cleavage, and her breasts appear even fuller than before.\n\nDespite yourself, you can't help but be aroused by the scene.");
				if (armorName == SWIMSUIT) outputText("She does a series of lewd stretches, showing off her tightly-clad, sexy body in every possible detail.  In particular, her excited, blood-gorged pussy lips, clearly outlined, seem to be begging for you to come and grope them... and that's just for a start.  Despite yourself, you can't help but be aroused by the scene.");
				if (armorName == TEACHERS_OUTFIT) outputText("Obviously very flexible, she arches her back with one hand on her hip, displaying her firm round ass while looking at you with a lascivious expression.  She says in a sexy voice, \"Maybe we should have a... private talk after class...\"  Despite yourself, you can't help but be aroused by the scene.");
				if (armorName == NAUGHTY_NURSES_UNIFORM) outputText("Still displaying her figure in her tight suit, she asks with a lewd smile, \"Is there one of your needs I could satisfy, my dear?\"  She grabs one of her firm, full breasts, \"Are you thirsty, maybe?\"  Despite yourself, you can't help but be aroused by the scene.");
				if (armorName == FETISHY_OUTFIT) outputText("She suddenly starts posing in sexy outfits.  Despite yourself, you can't help but be aroused by it.");
			}
			else {
				outputText("She suddenly starts mauling her shapely breasts, her fingers nearly disappearing briefly in the soft, full flesh, while fingering herself eagerly, emitting a variety of lewd noises.  You are entranced by the scene, the sexual excitement she's experiencing penetrating your body in warm waves coming from your groin.");
			}
			player.takeLustDamage((player.lib/10 + player.cor/20) +4, true);
			if (player.lust >= player.maxLust())
				doNext(game.combat.endLustLoss);
			else doNext(game.combat.combatMenu);
		}
		private function cultistLustTransfer():void {
			if (lust <= 30 || rand(2) == 0) {
				outputText("Her eyes glaze over, ");
				if (player.cor < 40) outputText("and you're almost afraid to know ");
				else outputText("and you wish you knew ");
				outputText("what she is thinking of since you can almost feel her own lust building.");
				lust += 10;
			}
			else {
				outputText("Her eyes glaze over and you feel your mind suddenly becoming filled with a blur of every sexual perversion you could possibly think of, and then some.");
				if (player.vaginas.length > 0) {
					outputText("  You feel your " + player.vaginaDescript(0) + " soaking itself in a sudden burst");
					if (player.cockTotal() > 0)  outputText(", while a sudden influx of pre-cum blurts out and streams down your " + player.multiCockDescriptLight() + ", painfully hardened by a vast amount of blood rushing to your groin");
					outputText(".");
				}
				else if (player.cockTotal() > 0) outputText("  A sudden influx of pre-cum blurts out and streams down your " + player.multiCockDescriptLight() + ", painfully hardened by a vast amount of blood rushing to your groin.");
				if (player.gender == 0) outputText("  Your genderless body is suddenly filled by a perverted warmth.");
				outputText("\n\nYou notice that the young woman seems to have calmed down some.");
				player.takeLustDamage((lust/3 * (1 + player.cor/300)), true);
				lust -= 50;
				if (lust < 0) lust = 10;
			}
			if (player.lust >= player.maxLust())
				doNext(game.combat.endLustLoss);
			else doNext(game.combat.combatMenu);
		}

		override public function defeated(hpVictory:Boolean):void
		{
			clearOutput();
			if (hpVictory) {
				outputText("Hurt too much to continue controlling her powers, the cultist collapses helplessly.");
			} else {
				outputText("Overwhelmed by her lusts, the cultist loses the ability to control herself and collapses.");
			}

			if (flags[kFLAGS.SFW_MODE] > 0) {
				game.combat.cleanupAfterCombat();
				return;
			}

			game.output.menu();

			game.output.addButtonDisabled(0, "Sex", "This scene requires you to have genitals and sufficient arousal.");
			game.output.addButtonDisabled(1, "B. Feed", "This scene requires you to have enough milk.");

			if (player.lust >= 33 && !player.isGenderless()) {
				outputText("  You realize she'd make a perfect receptacle for your lusts.  Do you have your way with her?");
				game.output.addButton(0, "Sex", game.lake.fetishCultistScene.playerRapesCultist);
			}

			if (player.hasStatusEffect(StatusEffects.Feeder) || player.lactationQ() >= 500) {
				game.output.addButton(1, "B. Feed", game.lake.fetishCultistScene.fetishCultistHasAMilkFetish);
			}

            game.setSexLeaveButton();
		}

		override public function won(hpVictory:Boolean, pcCameWorms:Boolean = false):void
		{
			if (hpVictory){
				super.won(hpVictory,pcCameWorms);
			} else {
				if (pcCameWorms){
					outputText("\n\nThe cultist giggles as she watches you struggling.\n\n");
				}
				game.lake.fetishCultistScene.cultistRapesYou();
			}
		}

		override protected function performCombatAction():void
		{
			var actionChoices:MonsterAI = new MonsterAI();
			actionChoices.add(eAttack,1,true,0,FATIGUE_NONE,RANGE_MELEE);
			actionChoices.add(cultistRaisePlayerLust, 1,true,5,FATIGUE_MAGICAL,RANGE_RANGED);
			actionChoices.add(cultistLustTransfer, 1, true, 5,FATIGUE_MAGICAL,RANGE_RANGED);
			actionChoices.exec();

		}
		public function FetishCultist()
		{
			//trace("FetishCultist Constructor!");
			this.a = "the ";
			this.short = "fetish cultist";
			this.imageName = "fetishcultist";
			this.long = "The woman across from you has her eyes closed, her hands joined, and seems to be chanting under her breath. She is wearing a religious outfit that closely hugs her curvacious shape, with a skirt so short that you can clearly see her pussy's lips.\n\nShe has clearly lost her grasp on sanity, and filled the void with pure perversion.";
			this.race = "Human?";
			// this.plural = false;
			this.createVagina(false, Vagina.LOOSENESS_GAPING, Vagina.WETNESS_WET);
			createBreastRow(Appearance.breastCupInverse("DD"));
			this.ass.analLooseness = Ass.LOOSENESS_NORMAL;
			this.ass.analWetness = Ass.WETNESS_NORMAL;
			this.tallness = 5*12+7;
			this.hips.rating = Hips.RATING_AMPLE;
			this.butt.rating = Butt.RATING_LARGE;
			this.skin.tone = "pale";
			this.hair.color = "black";
			this.hair.length = 15;
			initStrTouSpeInte(35, 25, 30, 1);
			initLibSensCor(75, 80, 90);
			this.weaponName = "whip";
			this.weaponVerb="whip-crack";
			this.armorName = FETISHY_OUTFIT;
			this.lust = 25;
			this.temperment = TEMPERMENT_LOVE_GRAPPLES;
			this.level = 2;
			this.gems = 5+rand(10);
			this.drop = new WeightedDrop().add(consumables.LABOVA_,1)
					.add(weapons.RIDINGC,1)
					.add(consumables.OVIELIX,2)
					.add(consumables.L_DRAFT,6);
			this.special1 = cultistRaisePlayerLust;
			this.special2 = cultistLustTransfer;
			checkMonster();
		}

	}

}


code:
package classes.Scenes.Areas.Lake
{
	import classes.*;
	import classes.BodyParts.*;
	import classes.GlobalFlags.*;
	import classes.internals.*;

	public class FetishZealot extends Monster
	{

		private static const RELIGIOUS_CLOTHES:String = "religious clothes";
		private static const PIRATE_CLOTHES:String = "pirate clothes";
		private static const MILITARY_CLOTHES:String = "military clothes";
		private static const LEATHER_CLOTHES:String = "leather clothes";
		private static const STUDENTS_CLOTHES:String = "student's clothes";

		override public function combatRoundUpdate():void
		{
			super.combatRoundUpdate();
			var changed:Boolean = false;
			//Fetish Zealot Update!
			switch (rand(5)) {
				case 0:
					//Religious outfit!
					if (armorName != RELIGIOUS_CLOTHES) {
						long = "The zealot is clad in a bizarre set of religious robes.  They are similar to what you've seen on other religious leaders from home, but none of them included the large slit at the front that lets his above average sized human dick stick out of the front.";
						this.armorName = RELIGIOUS_CLOTHES;
						changed = true;
					}
					break;
				case 1:
					//Pirate Outfit
					if (armorName != PIRATE_CLOTHES) {
						this.armorName = PIRATE_CLOTHES;
						long = "You are faced with one of the strangest things you have ever seen in your life.  A stereotypical pirate, who has not replaced his hand with a hook, but rather a collection of sex toys.  You can see at least two dildos, a fleshlight, and numerous other toys that you're incapable of recognizing.";
						changed = true;
					}
					break;
				case 2:
					//Military Uniform
					if (armorName != MILITARY_CLOTHES) {
						long = "In front of you is someone wearing a green military uniform.  They obviously aren't in any military you've ever heard of, as on his shoulder he has emblazoned FF Army Sex Instructor.  It seems you are his latest recruit...";
						this.armorName = MILITARY_CLOTHES;
						changed = true;
					}
					break;
				case 3:
					//Leather fetish shiiiiite
					if (armorName != LEATHER_CLOTHES) {
						long = "The Zealot has taken on an appearance that seems more suitable for the level of perversion he exudes.  He is wearing a full-body suit of leather, with a cock case over his crotch; you can clearly see a large zipper on it.  The zipper handle is far bigger than you think is absolutely necessary.";
						this.armorName = LEATHER_CLOTHES;
						changed = true;
					}
					break;
				case 4:
					//Student
					if (armorName != STUDENTS_CLOTHES) {
						long = "The Zealot seems to have taken on the appearance of a young adult wearing a student uniform of sorts; of course, this isn't any less perverted than any of the other costumes this man wears.  This one includes a number of loose straps that you're certain would cause large sections of his clothes to fall off if somebody pulled on them.";
						this.armorName = STUDENTS_CLOTHES;
						changed = true;
					}
					break;
				default:
					//Move along.
			}
			//Talk abouts it mang!
			if (changed) outputText("The fetish zealot's clothing shifts and twists, until he is wearing " + armorName + ".\n\n");
			lust += lustVuln * 5;
		}

//Special1: Tease
	//See Costumes section for text
	private function zealotSpecial1():void {
		//Costumes
		//This foe periodically switches between outfits; this determines what text is displayed when they use tease.

		//Perverted religious costume;
		if (armorName == RELIGIOUS_CLOTHES) {
			//The zealot is clad in a bizarre set of religious robes.  They are similar to what you've seen on other religious leaders from home, but none that included the large slit at the front that lets his above average sized human dick stick out the front.
			outputText("The zealot cries out \"Child, are you ready to present your offering to the holy rod?\" while indicating his cock sliding between his robes.  The whole scene leaves you distracted for a few moments and significantly aroused.");
		}
		//A pirate costume;
		if (armorName == PIRATE_CLOTHES) {
			//You are faced with one of the strangest things you have ever seen in your life.  A stereotypical pirate, who has not replaced his hand with a hook, but rather a collection of sex toys.  You can see at least two dildos, a fleshlight, and numerous other toys that you're incapable of recognizing.
			outputText("The zealot turns to the side holding his prosthetic towards you and doing something that sends the devices spinning and clicking.  So that's how that would work... you find yourself thinking for a few moments before realizing that he had both distracted and aroused you.");
		}
		//Military attire;
		if (armorName == MILITARY_CLOTHES) {
			//In front of you is someone wearing a green military uniform.  They obviously aren't in any military you've ever heard of, as on his shoulder he has emblazoned FF Army Sex Instructor.  It seems you are his latest Recruit...
			outputText("He suddenly barks, \"Let's see those genitals, soldier!\" ");
			//[player is corrupt]
			if (player.cor > 50) outputText("You eagerly cry out \"Yes, sir!\" and show yourself off to the best of your ability.  The whole act is extremely arousing.");
			//[player is not corrupt]
			else outputText("You have no idea why, but you promptly display yourself in the most provocative way possible.  After a moment you realize what you're doing and quickly stop, flushed with embarrassment and arousal.");
		}
		//Gimp gear;
		if (armorName == LEATHER_CLOTHES) {
			//The Zealot has taken on an appearance that seems more suitable for the level of perversion he exudes.  He is wearing a full-body suit of leather, with a cock case over his crotch; you can clearly see a large zipper on it.  The zipper handle is far bigger than you think is absolutely necessary.
			outputText("The Zealot turns around and gives you a full view of his tight leather clad body.  He smacks his ass and says \"You like what you see, don't you " + player.mf("stud","slut") + "?\"  You can't help but be incredibly aroused by the scene.");
		}
		//Well dressed and well groomed student in uniform;
		if (armorName == STUDENTS_CLOTHES) {
			//The Zealot seems to have taken on the appearance of a young adult wearing a student uniform of sorts; of course, this isn't any less perverted than any of the other costumes this man wears.  This one includes a number of loose straps that you're certain would cause large sections of his clothes to fall off if somebody pulled on them.
			outputText("The Zealot student looks at you a little shyly and sticks a pencil in his mouth while pushing a hand in front of his groin, trying to hide a rather obvious bulge.  The whole scene is rather cute, and you feel incredibly aroused afterwards.");
		}
		player.takeLustDamage((7+rand(player.lib/20+player.cor/20)), true);

	}
	//Special2: Lust transfer spell, it becomes more and
	//more likely that he will use this power as his lust gets
	//higher, but he can use it at any time (like the cultist).
	private function zealotSpecial2():void {
		outputText("The zealot suddenly cries out and extends his arms towards you; your mind is suddenly overwhelmed with a massive wave of arousal as images of every kind of fetish you can imagine wash over you, all blended together.  After a moment you are able to recover, but you notice that the Zealot doesn't seem to be as aroused as before.");
		player.takeLustDamage(lust/2, true);
		lust /= 2;

	}

		override protected function postAttack(damage:int):void
		{
			if (damage > 0){
				outputText("\nYou notice that some kind of unnatural heat is flowing into your body from the wound");
				if (player.inte > 50) outputText(", was there some kind of aphrodisiac on the knife?");
				else outputText(".");
				player.takeLustDamage((player.lib / 20 + 5), true);
			}
			super.postAttack(damage);
		}

		override public function defeated(hpVictory:Boolean):void
		{
			game.lake.fetishZealotScene.zealotDefeated();
		}

		override public function won(hpVictory:Boolean, pcCameWorms:Boolean = false):void
		{
			if (pcCameWorms){
				outputText("\n\nThe fetish cultist ignores the perverse display and continues on as if nothing had happened...");
				player.orgasm('Generic');
				doNext(game.lake.fetishZealotScene.zealotLossRape);
			} else {
				game.lake.fetishZealotScene.zealotLossRape();
			}
		}

		override protected function performCombatAction():void
		{
			var actionChoices:MonsterAI = new MonsterAI();
			actionChoices.add(eAttack,1,true,0,FATIGUE_NONE,RANGE_MELEE);
			actionChoices.add(zealotSpecial1, 1,true,5,FATIGUE_MAGICAL,RANGE_RANGED);
			actionChoices.add(zealotSpecial2, 1, true, 5,FATIGUE_MAGICAL,RANGE_RANGED);
			actionChoices.exec();

		}

		public function FetishZealot()
		{
			//trace("FetishZealot Constructor!");
			this.a = "the ";
			this.short = "fetish zealot";
			this.imageName = "fetishzealot";
			this.long = "The zealot is clad in a bizarre set of religious robes.  They are similar to what you've seen on other religious leaders from home, but none that included the large slit at the front that lets his above average sized human dick stick out the front.";
			this.race = "Human?";
			// this.plural = false;
			this.createCock(7,1.5);
			createBreastRow(0);
			this.ass.analLooseness = Ass.LOOSENESS_LOOSE;
			this.ass.analWetness = Ass.WETNESS_DRY;
			this.createStatusEffect(StatusEffects.BonusACapacity,40,0,0,0);
			this.tallness = 6*12;
			this.hips.rating = Hips.RATING_BOYISH+1;
			this.butt.rating = Butt.RATING_TIGHT;
			this.skin.tone = "tan";
			this.hair.color = "black";
			this.hair.length = 4;
			initStrTouSpeInte(35, 35, 30, 1);
			initLibSensCor(75, 80, 90);
			this.weaponName = "wavy dagger";
			this.weaponVerb="stab";
			this.weaponAttack = 3;
			this.armorName = RELIGIOUS_CLOTHES;
			this.armorDef = 5;
			this.lust = 25;
			this.lustVuln = 0.75;
			this.temperment = TEMPERMENT_RANDOM_GRAPPLES;
			this.level = 5;
			this.gems = 5+rand(10);
			this.drop = new WeightedDrop().add(armors.C_CLOTH,1)
					.add(consumables.L_DRAFT,4)
					.add(weapons.L_DAGGR,1)
					.add(null,4);
			/*this.special1 = zealotSpecial1;
			this.special2 = zealotSpecial2;*/
			checkMonster();
		}

	}

}